1. This forum section is a read-only archive which contains old newsgroup posts. If you wish to post a query, please do so in one of our main forum sections (here). This way you will get a faster, better response from the members on Motherboard Point.

OSS or Free RTOS recommendations?

Discussion in 'Embedded' started by Marco, Oct 15, 2006.

  1. Marco

    Marco Guest

    I would like to see recommendations on existing OSS or free RTOS (with
    32 bit ARM, PowerPC and x86 targets). I think it is important to
    have a free-as-in-beer license for training/trial purposes as well as
    possibly a commercial version to actually ship products and get
    support. Please discuss "performance" and ease of use. Not really
    interested in Linux (too big).

    1) RTEMS http://www.rtems.org/
    2) FreeRTOS http://www.freertos.org/
    3) eCos http://www.ecoscentric.com/

    any others?

    (duplicate of post at comp.realtime)
    Marco, Oct 15, 2006
    1. Advertisements

  2. Marco

    David Ashley Guest

    The linux 2.6 series just got the real-time patch incorporated
    into the standard kernel, so I guess linux can be included
    now as well.

    David Ashley, Oct 15, 2006
    1. Advertisements

  3. Marco

    Don Guest

    There are a number of packages purporting to be RTOS's.
    I won't get into a discussion of which truly fit *my*
    expectations of an RTOS -- your expectations may be
    entirely different.

    Having said that, make sure you know *what* your expectations
    actually are -- what guarantees you expect from the OS -- and
    make sure the offering(s) you evaluate truly *have* those

    Also, make sure you understand what an RTOS *is* (hint: it
    is not "just a fast MTOS") as well as what RT actually is!
    (I won't get drawn into *that* discussion, either :> )

    You also have to decide what level of expertise *you* have
    with these concepts and how much hand-holding you'll need
    from the "vendor"/community. Many of the "full-featured"
    RTOS's have very little outright support -- though a great
    deal of licensing freedom! (if you are willing to "own it")
    Amusingly, the "toy" RTOS/MTOS's seem to have bigger followings
    (perhaps because they require less from their users?)

    You may even opt for a "free for noncommercial use" package
    to cut your teeth on and then buy-in to a regular commercial
    license to get the level of support you desire.

    There are several web sites/pages devoted to cataloging
    OS's of various types. I suggest spending a bit of time
    digging through these before fishing for suggestions. There
    is a LOT of information about a LOT of different offerings
    out there to browse. (been there, done that, T-shirt to prove it)
    It's easier if you can ask specific questions about a particular
    RTOS/MTOS that you have in mind instead of looking for
    broad-brush summaries -- since everyone's experiences,
    expectations, etc. vary widely.

    Don, Oct 15, 2006
  4. I also noticed that, but doesn't Linux have a much larger RAM and storage
    footprint compared to the options listed above ?

    Simon Clubley, Oct 15, 2006
  5. Marco

    Neil Guest

    4) mircoC OS II
    Neil, Oct 16, 2006
  6. Marco

    Bugman Guest

    Bugman, Oct 16, 2006
  7. Marco

    Marco Guest

    looks very interesting BUT:

    "Q. What is required to build Prex?
    GCC, GNU binutils and GNU Make. Since the source codes depend on GCC
    extension, it is difficult to use another compiler to build Prex."

    Why use GCC extensions?
    Marco, Oct 16, 2006
  8. Why not ? GCC is the natural compiler for open source software.

    BTW: difficult != impossible
    42Bastian Schick, Oct 17, 2006
  9. Marco

    David Brown Guest

    Why not use them, if people are going to use gcc as their compiler?
    After all, there is a reason these extensions were added - they make the
    compiler more powerful, more flexible, and let you (in some cases) write
    more elegant code. Sometimes it's important to write your code as
    portable as possible, other times it's fine to decide to use extensions.
    For example, you might want to code to C99 standards, while many
    existing compilers don't support it.

    Note also that many of the gcc extensions are precursors to future C
    standards, or inclusions of C++ features in C (or vice versa), and that
    other compilers often support at least some of the gcc extensions.
    David Brown, Oct 17, 2006
  10. Marco

    Don Guest

    Are, perhaps, those "extensions" things as non-portable as
    ..asm? (likely to use in writing an OS)
    Don, Oct 17, 2006
  11. Marco

    Guy Fawkes Guest

    Not really. The real-time patch merely results in lower latency, it's not
    *hard* real time like the RTOS'es listed above.
    Guy Fawkes, Oct 18, 2006
  12. Marco

    David Brown Guest

    Most gcc extensions are portable to different gcc targets (some are
    target-specific), and some are just mixing rules and features between
    different languages (C and C++) or different C standards - things like
    allowing // comments with old-fashioned C, or mixing statements and
    declarations as you can in C++.

    Some extensions are for supporting things like interrupt functions
    (which are always specific to compiler and target combinations). Some
    are for optimisation hints (like specifying alignments), which again are
    always compiler-specific. Others are neat time and space savers, like
    case ranges, non-constant initialisers, and some array and struct tricks
    - they let you write smaller, faster, more readable code and the cost of
    deviating from C standards. Sometimes it's worth that cost, sometimes
    not - that depends entirely on what you are writing. Other features,
    like nested functions and initialiser code come about because the gcc
    middle and back end support other languages with functionality
    unavailable in normal C, and these features have been "back-ported" as C


    Every embedded compiler I have worked with has its own extensions,
    especially when you consider the library as part of the tool. You can
    make use of these extensions and non-standard library functions to get
    better or faster code, or less development effort, or you can stick to
    tight standards. It all depends on what you are writing.
    David Brown, Oct 18, 2006
  13. Marco

    Don Guest

    Sorry, I guess I was being too *subtle* :>
    My point was, you often need non-ANSI extensions to write
    the interface to the metal -- if you want to do it within
    a 'C' framework (though you *can* write an OS *without*
    them -- except you then need to rely on implementation-specific
    things like calling conventions (to interface to hooks
    written entirely -- and separately -- in ASM))

    [I prefer the latter approach as I find the porting effort
    much more straightforward and less prone to error]

    Don, Oct 18, 2006
  14. Marco

    Buddy Smith Guest

    Buddy Smith, Nov 2, 2006
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.