RTOS Comparison
Chris Johns
chrisj at rtems.org
Wed Sep 21 22:02:01 UTC 2016
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.
> 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
> Nested interrupts
Yes
> Task switches from within ISR
Context switching happens after the interrupt context finishes.
> 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.
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
More information about the users
mailing list