Error tolerant version of FreeRTOS?

anonymous wrote on Tuesday, January 15, 2013:

Is there a version of RTOS that is more error tolerant?  I love the code, but I find that I will make a mistake with a piece of code, and all I get is a hard fault.   Is it possible to have the code just return an error if I pass in a bad variable, or don’t do something in the right order? 
Thanks

rtel wrote on Tuesday, January 15, 2013:

Yes, it’s called SafeRTOS, but it’s not free.

Small code size is a primary objective of FreeRTOS, hence internal error checking is kept to a minimum.  Adding complete error checking would make the code much larger and slower.

Safety is the primary objective of SafeRTOS, hence there is (among many other things) complete input parameter validity checking.

Regards.

anonymous wrote on Tuesday, January 15, 2013:

Hi Richard,

Thank you for the information!

Sam

anonymous wrote on Tuesday, January 15, 2013:

Hi Richard,

How easy is it to port to SafeRTOS?  Is it the same function calls, or is it a totally different RTOS?

Thanks!
Sam

rtel wrote on Tuesday, January 15, 2013:

It has the same functional model, but a few API differences, most notable in the two following areas:

1) SafeRTOS does not permit any dynamic memory allocation, so API calls that create an object (task, semaphore,etc.) have to pass in a buffer that will hold the object in an additional parameter.  Generally in a safety critical application the buffer will be statically allocated.

2) As function names are prefixed with their return type, functions that are void in FreeRTOS but return error codes in SafeRTOS will have a different a prefix.

SafeRTOS is a fully safety certified product that comes with documentation packs that are qualified to various international safety standards - its price reflects that (really you are paying for the certification rather than the software).

Regards.