RTOS Comparison

Gedare Bloom gedare at rtems.org
Thu Sep 22 00:26:13 UTC 2016


On Wed, Sep 21, 2016 at 6:02 PM, Chris Johns <chrisj at rtems.org> wrote:
> On 22/09/2016 05:35, warm38 at juno.com wrote:
>>
>> Round 2:
>>
>> Our company is looking into using an RTOS very soon.  The ones examined
>> (by a company in India who does our protocol stacks) are:
>> FreeRTOS,  Segger Emb-OS,  Micrium,  Threadx.
>>
>> Can anyone (Joel?) fill in the following for RTEMS so I can add in my 2
>> cents in for RTEMS?  We are working with Cortex M4 and M7 (STM32L4 and
>> Atmel SAM4 & SAM7).
>>
>> Kernel size (ROM)
>
>
> Depends on services used.
>
>> Kernel RAM usage
>
>
> Depends on the configuration of services used.
>
>> Kernel Type
>
>
> Real-time
>
>> Scheduling
>
>
> https://docs.rtems.org/doc-current/share/rtems/html/c_user/Scheduling-Concepts-Scheduling-Algorithms.html#Scheduling-Concepts-Scheduling-Algorithms
> https://docs.rtems.org/doxygen/cpukit/html/group__ScoreScheduler.html
>
> Look at under the Modules heading.
>
>> Scalability
>
>
> Yes.
>
>> Min. stack-size per task (RAM)
>
>
> Depends on the task and what is does and what it calls. Usually 4K but this
> is for apps that need to run on a wide range of architectures like tests in
> the test suite.
>
Also, stack sizes are user-configurable.

>> Max. no. of tasks
>
>
> User defined.
>
> Please take a look at
> https://docs.rtems.org/doc-current/share/rtems/html/c_user/Configuring-a-System.html#Configuring-a-System
>
>> Max. no. of mailboxes
>
>
> User defined.
>
>> Max. no. of semaphores
>
>
> User defined.
>
>> Max. no. of software timers
>
>
> User defined.
>
>> Max. no. of priorities
>
>
> 256
>
Priority 0 and 255 are reserved.

>> Nested interrupts
>
>
> Yes
>
>> Task switches from within ISR
>
>
> Context switching happens after the interrupt context finishes.
>
https://docs.rtems.org/doc-current/share/rtems/html/c_user/Interrupt-Manager-Processing-an-Interrupt.html

>> Context switch time
>
>
> Depends on what is happening and how the app is put together. The times
> compare well with the best available. Times are typically fixed and
> invariant under load.
>
>> Interrupt latency time
>
>
> Very good. Again it compares with the best.
>
>> Atmel studio 7/ASF - Tool compatibility
>
>
> No idea. We use a fully open source suite of tools.
>
>> Royalty Fee
>
>
> Yes, and this is for all parts we offer under the project. If you add
> packages like YAFFS you may have a cost there.
>
>> License Cost
>
>
> No cost and a low if any at all compliance cost.
>
>> Networking
>
>
> Yes, there are 3 options depending on your needs from a full recent FreeBSD
> stack to lwIP.
>
>> POSIX compliant
>
>
> Yes.
>
>> any tools to avoid priority inversion
>
>
> Any 3rd party tools that statically analyses code to do this should work. A
> capture engine exists to record context switches you can use to see what
> your code is doing.
>
There are Priority Inheritance and Priority Ceiling protocols available.

> Source Code
>
> Open source and all is available including all the tools, libraries and
> support tools to build.
>
> Development Hosts
>
> A wide range of common host operating systems.
>
> Support
>
> A number of support services are available on top of the open community
> support on public mailing lists. Please ask if you need more information.
>
> Chris
>
> _______________________________________________
> users mailing list
> users at rtems.org
> http://lists.rtems.org/mailman/listinfo/users


More information about the users mailing list