> the size of the microcontroller (RAM, ROM, interrupt or not) > has nothing to > do with it. It is just the fact that you can not stack-switch. I disagree, though not long ago, I would have expressed exactly the same skepticism -- no stack-switch, no RTOS. I downloaded the freeware version and played with it. Now, I had such difficulties getting the freeware version to run correctly that I gave up trying to actually run it. I can only hope that a paid-for version would be easier to get working. I did take a good close look at the examples and the generated code. I was surprised at how efficient and useful it was. I've written ad-hoc "superloop" realtime code, and used different RTOS's. I've even built my own RTOS on more than one occasion so that I could escape the superloop spaghetti. Since I started coding for PIC's, I have been writing code whose designs I hate because I didn't believe that a usable RTOS could exist without stack switching. Right now I'm in the middle of a nightmare of modifying and then debugging some horribly spaghettified code that has grown cold for me. While the lack of a stack imposes very great limitations on the system design, the little RTOS certainly is workable, and achieves what I think is the main goal of an RTOS, which is simplification of the design. It eliminates the "superloop" with all its horrible design and maintenance nightmares, and helps to make different parts of the design be independent of one another. I think that the no-stack-switch limitations have much less impact on a design than the limited code and data space we are so familiar with in all PIC-based designs. > -----Original Message----- > From: wouter van ooijen & floortje hanneman [mailto:wf@XS4ALL.NL] > Sent: Wednesday, August 15, 2001 7:35 AM > To: PICLIST@MITVMA.MIT.EDU > Subject: Re: [EE]:Embedded system ,RTOS > > > > Our RTOS, which is available for all PICmicro devices, is also > > available in a freeware version called Salvo Lite. You may want to > > download it and take it for a spin. The Salvo User manual has a > > chapter dedicated to RTOS fundamentals -- not as in-depth as Jean > > Labrosse's book, but a good starting point, and free for the > > downloading. > > The main problem with any RTOS running on 12 and 14 bit PICs > (including > Salvo) is that a task switch can only occur in the main body > of a task, not > in a called function. Think about the implications for a > HD44780-LCD or I2C > library that has to wait between operations: it must either > use a busy wait > (stalling the other tasks) or be in-lined in the main task (with grave > consequences for the code size). I think I must agree with Olin: no > accessible purpose stack? In that case an RTOS makes no > sense. Note that a > library of usefull routines might still make sense (an Salvo > seems to fall > in that category), but it is misleading to call it an RTOS. > Note also that > the size of the microcontroller (RAM, ROM, interrupt or not) > has nothing to > do with it. It is just the fact that you can not stack-switch. > > Wouter van Ooijen > > van Ooijen Technische Informatica: http://www.xs4all.nl/~wf/ > Jal compiler for PIC microcontrollers: http://www.xs4all.nl/~wf/wouter/jal -- http://www.piclist.com hint: PICList Posts must start with ONE topic: [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads -- http://www.piclist.com hint: PICList Posts must start with ONE topic: [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads