This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

RTOS/TM4C1294NCPDT: Choosing correct RTOS for an application.

Part Number: TM4C1294NCPDT

Tool/software: TI-RTOS

Hello all ,

I have been developing an application where  I will be providing support for ethernet , RS485,  debug console,  adc plus temperature sensor connected over SPI, I2C interface  and  LED brightness control circuit. As  the application will be multithreaded application I have been thinking to go for RTOS.

Recently I came across FreeRTOS and TI-RTOS,  I am unable to choose here.

Please suggest  best suited RTOS for  my application. 

  

  • Hi Yogesh,

    Both TI-RTOS and FreeRTOS are available for TM4C devices. Here's my summary of the two.

    Basic RTOS functionality: Push. Both have tasking, multiple priorities, numerous thread safety mechanisms, task communication mechanisms, etc. The APIs might be slightly different but both will get the job done.

    Advance RTOS functionality: Advantage TI-RTOS. TI-RTOS has more dials and buttons to push

    Performance: Depends. Generally, FreeRTOS usually has slightly smaller footprint but TI-RTOS has slightly better performance.

    Learning curve: Advantage FreeRTOS. FreeRTOS is easier to learn. TI-RTOS’s .cfg takes a bit to get used to and sometimes all the dials and buttons get in the way of trying to do something simple.

    Support: Slight advantage TI-RTOS. TI stands by TI-RTOS. FreeRTOS support is via them. The flip is that there are lots of information on FreeRTOS on the web. We both have forums we actively support.

    Debugging: Advantage TI-RTOS. I think our debug features are better (ROV, System Analyzer, HeapTrack, etc.).

    Cost and License: Push. Both are free, include full source and have nice licenses.

    OS Aware Drivers*: Advantage TI-RTOS. TI-RTOS for TivaC provides OS aware drivers (I2C, SPI, etc.)

    Networking Stacks*: Depends. TI’s NDK (IPv4 and v6 networking stack) works on with TI-RTOS (but not FreeRTOS). lwIP is supported on FreeRTOS (but not TI-RTOS).

    * for SimpleLink devices, we provide more integrated support of FreeRTOS in the SimpleLink SDK. The OS-aware drivers work with either FreeRTOS or TI-RTOS. The NDK is supported on both FreeRTOS and TI-RTOS also. This is not available on the TI-RTOS for TivaC product though, nor do we have plans to incorporate it in. If you are looking to migrate to a SimpleLink device in the future, I thought you should be aware of it.

    At the end of the day, I would say to use the RTOS that you are familiar with unless it is not meeting your requirements (e.g. performance, functionality, support, etc.).

    Todd