uc/OS v/s freeRTOS

nobody wrote on Wednesday, November 10, 2004:

how do we compare uc/OS with freeRTOS. I am interested only in reliability and performance. ie how good is the existing features of freeRTOS compared to the similar features offered by uc/OS

rtel wrote on Thursday, November 11, 2004:

Which is best depends on your application.  The mechanics of using FreeRTOS and uCOS are very similar.

There are two main differences between the two:

1)    Licensing.  FreeRTOS is completely free for any application.  The uCOS source code comes bundled with a book requiring purchase, and a binary run time license ($$$) is required if you use uCOS in a commercial application.

2)    Scheduling.  uCOS uses a bitmap scheduler, FreeRTOS does not.  A bitmap scheduler has the advantage of allowing a more deterministic context switch time, and in some cases a faster context switch time  it does however severely restrict your design freedom as it only allows a single task at any given priority level.  FreeRTOS on the other hand is more flexible as any number of tasks can share the same priority.

I think FreeRTOS is simpler to use;  initialization is automatic on creation of the first task, and ISR routines dont have to be written in assembler.  But you are probably asking the wrong person if you want a non-biased opinion!


nobody wrote on Thursday, December 02, 2004:

another point is ports: ucos supports tens (hundreds) of MCUs while freertos is still starting up. also code quality has been proven by validation suites for ucos (e.g. FDA).

I wonder how well freertos covers a full range testsuite…?