Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
12/01/05 14:25
Read: times


 
Msg Score: +1
 +1 Informative
#104494 - sometimes... :)
Responding to: ???'s previous message
Hi everyone,

I'm an engineer working at Raisonance and among other things I work on the 8051/MX RTOS.

Firstly, I quite agree that the name "RTOS" can be confusing. But the same is true of many other things. (my perfered being "AI")
For me a RTOS is just a tool to easily and quickly write complex applications where time is involved.
Meaning that some events have to trigger some other events after a determined time.
NOT meaning that it can do it faster or better than without using a RTOS. It's only easier and faster _to_write_, in some situations.


Use a RTOS if you know how to use it and if your application is suited for it.
You'll learn how to recognize this while you learn how to use the RTOS.
And if working time (your time, not the processor's) is an issue. (when is it not?)



This topic is quite complex and there would be lots of things to say on it (many books have been written), but I'll try to keep it short and for this I'll use a comparison that can be applied to almost any kind of tool.


Like most complex tools, a RTOS is similar to a C compiler, a C++ compiler, or even a snow-plough in these aspects:

1. You can always do without it: you could write anything in assembler, (some people do it) so why use a C compiler? You can clean the road with many people and many shovels, so why use a snow-plough?

2. Using the tool is often _less_ efficient that doing the same job without it: programs written in assembly are most of the time smaller and faster than their C counterpart, programs written in C are most of the time smaller and faster than their C++ counterpart, and I won't speak about ".net"...

3. Using the tool can be quite complex and takes some time to learn. This is why some people still code everything in assembler. And I guess that learning how to drive a snow-plough takes some time too!

4. Using the tool is usually faster to get to the result, provided you know how to use it well: writing a program in assembler is much longer than writing it in C. If you know C, of course.



Like all "complex tools", the RTOS has these characteristics:

1.
You could do everything with interrupts and a big loop like someone suggested in this topic.
Or something more complex and more efficient.
But sometimes after adding things and stuff, you end up rewriting your own personnal RTOS without noticing.
I've seen it several times!
And in this case, you'd better go from the start with a RTOS that already has been validated, optimized, etc.

2.
The RTOS itself needs processor time and code space.
Even though using a RTOS is sometimes better than a badly-written homemade solution.

3.
The first time you use a RTOS, you will probably be lost in the taskns, priorities, semaphores, etc.
Unless you are used to multi-task programming style, maybe.

4.
For _some_ applications, a trained RTOS user can finish a complex design at an impressive speed.
Much faster than without it.
And that's the only reason why so many people use them.


As you see, there are 3 points against the use of a RTOS and one point for it.
But in some situations, the 4th point alone gets more important than the 3 others united!

Now, I'm not saying that a RTOS is a good thing for every application. There are situations where it is really a bad idea.


Finally, I want to remind you that using a RTOS does not prevent you from using interrupts for the "really time-critical" actions.
This is in fact recommended in our RTOS's doc. ;)


Vincent



List of 152 messages in thread
TopicAuthorDate
When to RTOS?            01/01/70 00:00      
   Search            01/01/70 00:00      
   When it make the project easier.            01/01/70 00:00      
      when timing is of no concern and it give            01/01/70 00:00      
         Not joining the debate            01/01/70 00:00      
            Hard and Soft Real Time            01/01/70 00:00      
               Strange terminology            01/01/70 00:00      
                  The Essence            01/01/70 00:00      
                     excellent            01/01/70 00:00      
                        Not only but also            01/01/70 00:00      
                           so have I, but, to the best of my recoll            01/01/70 00:00      
                              Agreed and ...            01/01/70 00:00      
      Yes and no            01/01/70 00:00      
         Why            01/01/70 00:00      
   Background Info            01/01/70 00:00      
      Real time reality            01/01/70 00:00      
         I totally undersatnd what the thingies w            01/01/70 00:00      
            I'm afraid not.            01/01/70 00:00      
               din't be catty            01/01/70 00:00      
                  Eyes and brain connected?            01/01/70 00:00      
                     I totally, absolutely disagree            01/01/70 00:00      
                        I expected nothing less            01/01/70 00:00      
                           you will see that I state "can mean"            01/01/70 00:00      
                              I see that.            01/01/70 00:00      
                                 agreed, you do the same            01/01/70 00:00      
                                    Not so fast            01/01/70 00:00      
                                       I try not to be reprtitious, they have a            01/01/70 00:00      
                                          Head in the sand            01/01/70 00:00      
                                             what is facts, what is words            01/01/70 00:00      
                                                Calm down            01/01/70 00:00      
                                                   I stated 'real time' can mean 'd            01/01/70 00:00      
                                                      Oh dear            01/01/70 00:00      
                                                         The end            01/01/70 00:00      
                                                            Not so fast            01/01/70 00:00      
                                                               real time means            01/01/70 00:00      
                                                                  OK            01/01/70 00:00      
                                                                  Impossible            01/01/70 00:00      
                                                                     as it is a "a poor choice for what it de            01/01/70 00:00      
                                                                        Digging deeper...            01/01/70 00:00      
                                                                           use something that is "a poor choice for            01/01/70 00:00      
                                                                              and deeper...            01/01/70 00:00      
                                                                                 "real enough" as some litterature states            01/01/70 00:00      
                                                                                    Excellent analogy            01/01/70 00:00      
                                                                                       you got that backwards            01/01/70 00:00      
                                                                                          Enough Already            01/01/70 00:00      
                                                                                          Whatever next?            01/01/70 00:00      
                                                                                             I do so, because it is correct al            01/01/70 00:00      
                                                                                                How Many Definitions            01/01/70 00:00      
                                                                                                   RTOS            01/01/70 00:00      
                                                                                                      Hard and Soft            01/01/70 00:00      
                                                                                                         how wonderful            01/01/70 00:00      
                                                                                                            The name of Crap            01/01/70 00:00      
                                                                                                               do not tell me that it is not possible,            01/01/70 00:00      
                                                                                                                  Abuse            01/01/70 00:00      
                                                                                                            Accept it            01/01/70 00:00      
                                                                                                               translation            01/01/70 00:00      
                                                                                                                  Flog that horse            01/01/70 00:00      
                                                                                                                     but you are evidently willing to follow            01/01/70 00:00      
                                                                                                                        But who?            01/01/70 00:00      
                                                                                                                           I do not know the persons name, but I di            01/01/70 00:00      
                                                                                                      Real time systems            01/01/70 00:00      
                                                                                                         Necessary but not Sufficient            01/01/70 00:00      
                                                                                                            Clearly unclear            01/01/70 00:00      
                                                                                                A minority of one            01/01/70 00:00      
                                                                                                   Horses for Courses            01/01/70 00:00      
                                                                                                      It is really about Engineering            01/01/70 00:00      
                                                                           Real Time            01/01/70 00:00      
                                                                              Clarification?            01/01/70 00:00      
                                                                              Exactly            01/01/70 00:00      
                                                                     'now' is not achievable            01/01/70 00:00      
                                                                        "now"            01/01/70 00:00      
                              A definition of RTOS            01/01/70 00:00      
      By the way...            01/01/70 00:00      
         RTOS Usage            01/01/70 00:00      
   Actually,            01/01/70 00:00      
      the ONE reason not to reject using a RTO            01/01/70 00:00      
   Pick the uC first            01/01/70 00:00      
      I doubt any URTOS, amateur or peofession            01/01/70 00:00      
         Final thoughts?            01/01/70 00:00      
            have you considered multiple processors            01/01/70 00:00      
               USB Master            01/01/70 00:00      
                  The software is for the CY7C67300. Basi            01/01/70 00:00      
                     Erik, aabout the dev kit            01/01/70 00:00      
                        I know the Cypress thingy as EZ-HOST DVK            01/01/70 00:00      
                           CY3663            01/01/70 00:00      
                              Oh, it is, but when you include just the            01/01/70 00:00      
                  USB master products            01/01/70 00:00      
                     TUSB are FX2 clones            01/01/70 00:00      
                        TUSB are _not_ EZ-USB clones!            01/01/70 00:00      
               Multiple processors? Hmmmm.            01/01/70 00:00      
                  Exactly            01/01/70 00:00      
               Good Advice            01/01/70 00:00      
            It depends            01/01/70 00:00      
            Thanks, and a tip            01/01/70 00:00      
   Keil RTOS RTX51            01/01/70 00:00      
      That's tight            01/01/70 00:00      
         That's tight            01/01/70 00:00      
         not which but when            01/01/70 00:00      
            >19 on a '51            01/01/70 00:00      
   1 example worth 1E3 words            01/01/70 00:00      
      It is right in front of you            01/01/70 00:00      
         I meant on '51            01/01/70 00:00      
            What is "sucessfully" ?.            01/01/70 00:00      
            Kadak's AMX 68000 RTOS            01/01/70 00:00      
               NO multitasking on current PalmOS            01/01/70 00:00      
                  System, not application multitasking            01/01/70 00:00      
                  Palm's lack of threads            01/01/70 00:00      
                     conclusion?            01/01/70 00:00      
                        Some disagreement            01/01/70 00:00      
                           Lost with RTOS            01/01/70 00:00      
                              Developers coming from a PC environment            01/01/70 00:00      
                        But....            01/01/70 00:00      
                           No rules            01/01/70 00:00      
                              the example            01/01/70 00:00      
            Not So fast            01/01/70 00:00      
      how about this            01/01/70 00:00      
         Multi-processing            01/01/70 00:00      
   sometimes... :)            01/01/70 00:00      
      where's the success story            01/01/70 00:00      
         Enemy of RTOS            01/01/70 00:00      
            stack in internal XRAM            01/01/70 00:00      
            RTOS and 8051 stack            01/01/70 00:00      
               Saack Size            01/01/70 00:00      
         success story            01/01/70 00:00      
            success story            01/01/70 00:00      
            What type of product.            01/01/70 00:00      
               type of product            01/01/70 00:00      
      Interrupts            01/01/70 00:00      
         Interrupts            01/01/70 00:00      
            what else is there?            01/01/70 00:00      
         Interrupts            01/01/70 00:00      
            with one exception            01/01/70 00:00      
               Interrupt            01/01/70 00:00      
                  I have no problem with the above            01/01/70 00:00      
                  Exactly            01/01/70 00:00      
                     could you give the maximum number of cyc            01/01/70 00:00      
                        Number of cycles            01/01/70 00:00      
   Interrupt latencies            01/01/70 00:00      
      Interrupt latencies            01/01/70 00:00      
         Interrupt latencies            01/01/70 00:00      
            who gives a hoot            01/01/70 00:00      
               interrupt/ISR            01/01/70 00:00      
                  What is the diffrence between interrupt            01/01/70 00:00      
                     misunderstanding            01/01/70 00:00      
               who gives a hoot            01/01/70 00:00      
                  One Thing at a Time            01/01/70 00:00      
                     Since this thread is about multiprocessi            01/01/70 00:00      
                        Multi-processing            01/01/70 00:00      
                           how about 51 of them            01/01/70 00:00      
                           No to Market But...            01/01/70 00:00      
                              How long?            01/01/70 00:00      
                                 ??            01/01/70 00:00      

Back to Subject List