Hi there,
I am deciding to choose a realtime kernel for dsPIC family and would like to know the differences between Erika Enterprise and FreeRTOS. What advantages Erika has over FreeRTOS?
Thank you,
Jila
Erika Enterprise versus FreeRTOS
Moderator: paolo.gai
Re:Erika Enterprise versus FreeRTOS
Hi Jila!
Thanks for asking this question on the forum. I do not know all the internals of FreeRTOS, but I can tell you many things about ERIKA:
- ERIKA implements the OSEK/VDX OS API, meaning that the API is an industrial standard recognized in the industry since the 90s
- ERIKA has been designed for a low footprint in mind. the minima version is around 800 bytes flash, and a few bytes RAM
- ERIKA implements a Fixed priority with immediate priority ceiling and with support for preemption thresholds. We also have EDF. FreeRTOS as long as I know has multiple priorities with round robin on the same priority.
- ERIKA supports stack sharing to reduce RAM usage, which is very important for systems with very little RAM. that is, there is no need for a separate stack for all the tasks. Since FreeRTOS has round-robin support, there is a need for a separate stack for each thread, meaning more RAM used and slower context switch
- ERIKA supports dsPIC related features, like the SPLIM register for stack overflow
- ERIKA has a development environment based on eclipse, with an OIL code generator. The advantage here is that everything can be generated statically in flash, meaning less RAM used
- ERIKA has a set of already made examples for the Flex boards, which you can use to start making your application. We also developed a lot of drivers for various devices connected to the FLEX boards.
- ERIKA has support for Scilab/Scicos code generation, and also supports 802.15.4 (zigbee) protocols using openZB
- ERIKA does not have some of the primitives that freeRTOS have, like messagge passing (although some prototypes are there since longtime, but we never integrated them in the main build)
I hope this helps...
PJ
Thanks for asking this question on the forum. I do not know all the internals of FreeRTOS, but I can tell you many things about ERIKA:
- ERIKA implements the OSEK/VDX OS API, meaning that the API is an industrial standard recognized in the industry since the 90s
- ERIKA has been designed for a low footprint in mind. the minima version is around 800 bytes flash, and a few bytes RAM
- ERIKA implements a Fixed priority with immediate priority ceiling and with support for preemption thresholds. We also have EDF. FreeRTOS as long as I know has multiple priorities with round robin on the same priority.
- ERIKA supports stack sharing to reduce RAM usage, which is very important for systems with very little RAM. that is, there is no need for a separate stack for all the tasks. Since FreeRTOS has round-robin support, there is a need for a separate stack for each thread, meaning more RAM used and slower context switch
- ERIKA supports dsPIC related features, like the SPLIM register for stack overflow
- ERIKA has a development environment based on eclipse, with an OIL code generator. The advantage here is that everything can be generated statically in flash, meaning less RAM used
- ERIKA has a set of already made examples for the Flex boards, which you can use to start making your application. We also developed a lot of drivers for various devices connected to the FLEX boards.
- ERIKA has support for Scilab/Scicos code generation, and also supports 802.15.4 (zigbee) protocols using openZB
- ERIKA does not have some of the primitives that freeRTOS have, like messagge passing (although some prototypes are there since longtime, but we never integrated them in the main build)
I hope this helps...
PJ