From: Andrew E. K. <ae...@pu...> - 2003-11-26 17:27:12
|
Re: >There are a number of little embedded OS's, like uC/OS-II. Has >anyone here used them enough to form an opinion about which are >good, and what are their good and bad qualities Disclaimer: I am the author of the Salvo RTOS that is available for the MSP430 (but has not yet been certified for / ported to mspgcc). This is not meant as a uC/OS-II "bashing", rather simply to illustrate some issues when applying uC/OS-II to single-chip micros like the MSP430. One problem with conventional, preemptive RTOSes like uC/OS-II when applied to single-chip micros with limited (in my parlance, that means <= 4K RAM) is that for applications where an RTOS is desireable, you can rapidly run out of RAM due to the RTOS's need to preserve registers and task stacks, leaving you with little RAM for the rest of your application. There's often little point in doing a multitasking application with 15-20 tasks on a MSP430 when the RTOS eats up more than 50% of the available RAM. Additionally, the issues you mentioned earlier (i.e. the RTOS's "intrusiveness"), esp. w/regard to ISRs can detrimentally affect your application's performance. I think that uC/OS-II is better suited to processors with external memory (and higher clock speeds), where more RAM is available and interrupt latency & response issues are less of an issue due to increased processor speeds. The Salvo RTOS is quite different from uC/OS-II in its memory requirements. It's an event-driven, priority-based cooperative RTOS, with minimal RAM requirements and a very small ROM footprint. In many areas its internals are faster than uC/OS-II, primarily because of the lack of a need to preserve context in the conventional sense, but also due to coding and algorithms used. There are other issues, too, why Salvo is an excellent match for the MSP430, but that's beyond the scope of this posting. We recently did a third-party presentation at TI's MSP430 ATC 2003 in Ft. Worth -- it's MSP430-centric, and has real-world numbers for a '149-based application: http://www.pumpkininc.com/content/doc/press/pumpkin_3p_salvo_ti_msp430atc2003.pdf As for supporting mspgcc, it's still not clear where Salvo (a non-free, but still royalty-free RTOS) and mspgcc fit together from a business perspective. We did recently do an avr-gcc port, which was done by a third party (Colin O'Flynn, who is very active in the AVR community). It's a very nice Salvo port. If the right person(s) in the mspgcc community are interested in doing the port (we have plenty of documentation to help with porting), please contact me directly. Regards, -- ______________________________________ Andrew E. Kalman, Ph.D. Salvo(TM), The RTOS that runs in tiny places(TM) Pumpkin, Inc. 750 Naples Street San Francisco, CA 94112 tel: (415) 584-6360 fax: (415) 585-7948 web: http://www.pumpkininc.com email: ae...@pu... |