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.

TI-RTOS in MSP430 Recommended?

I read that TI-RTOS is not suitable for the MSP430 by a so-called expert. He says that the MSP430 lacks speed and size for preemptive operations. However, the MSP430 could process cooperative tasking operations.

forum.43oh.com/.../5521-anyone-using-ti-rtos

Does anyone agree or disagree?

I would appreciate your comments.

- RW

  • Hi RW,

    My personal opinion is that running any RTOS on MSP430 is going to incur some overhead. As an application writer, one has to make a decision whether to develop a bare-metal application (requires more effort but performance is better) or use an RTOS (reduced development effort with slight perf overhead). An RTOS would typically allow the application to be multi-threaded allowing for better throughput. Also, most RTOSes including TI-RTOS are shipped with drivers making it easy to focus on the actual application development.

    Here are some kernel benchmark numbers that you may find useful. It will help you estimate the overhead of using TI-RTOS in your app and whether or not the overhead is acceptable:
    downloads.ti.com/.../MSP430X_small_times.html
    downloads.ti.com/.../MSP430X_times.html
    downloads.ti.com/.../MSP430X_small_IAR_times.html

    One last point I wanted to make in favor of TI-RTOS is that TI-RTOS is a highly configurable RTOS. In a interrupt driven application, you can disable tasking for example. This helps reduce code size and slightly improve performance. Various features like logging, asserts, hook function, etc. can also be easily disabled to improve performance and reduce code size. Another feature that I personally like about TI-RTOS is the ability to create kernel objects like Tasks, Hwis, Semaphores, etc. statically and the ability to use the STATIC memory policy. STATIC memory policy apps do not have a heap and can therefore save space and perform better.

    Hope this helps.

    Best,
    Ashish