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: a...@pumpkininc.com