[Icc-avr] [Fwd: Have you used Salvo or another RTOS for your ATMega projects? I need your opinion!]

Dan Mullin d.mullin at goase.com
Wed Feb 6 04:35:45 PST 2008


Thanks for your input, Jim. Would anyone else want to chime in?

Dan

Jim Patchell wrote:
> I have used Salvo in quite a few projects using ICCAVR.
>
> Salvo is...well, a little different, as real time operating systems go.
>
> It is, however, quite effective.
>
> It is not a preemptive operating system.  You have to keep this in 
> mind while using it.  It uses a single stack, which on a small micro 
> is a good thing.  This is the trade off you make.
>
> It has a few quirks that I found took a while to get used to, since I 
> had used an RTOS on a big 68000 based system before, and kept trying 
> to do things that Salvo just can't do.  For instance...you can only 
> suspend at the very top level of your task.  This quirk does make it a 
> bit messy, and I found the best way to deal with this is by throwing 
> more tasks at the problem...since with Salvo, more tasks are very 
> cheap...(with a preemptive OS, each task has a significant cost in RAM 
> resources).
>
> The last time I used Salvo was on a Motion Control System, however it 
> also had an FPGA (xilinx) in it that did the profile generation for 
> the Stepper motors and well as provided the step and direction pulses 
> to the motor controller.  The profile generator would generate an 
> interrupt when the profile was done, and the interrupt routine would 
> post the appropriate semaphore so that the next motion profile would 
> be started...(and oh yes...this thing was doing about 12 axis)...
>
> The only thing that scare me a bit about your requirements is the 
> "checking every 50uS" bit...that might be possible with Salvo, but I 
> never did anything quite that aggressive with it.
>
> Hope this helps...
>
> -Jim
>
> Richard Man wrote:
>> For some reaqons, Dan cannot post directly tot he list. I will try to 
>> track it down. Any mailman guru out there :-)?
>>
>>
>>> Subject: Have you used Salvo or another RTOS for your ATMega 
>>> projects? I need your opinion!
>>> Date: Tue, 29 Jan 2008 07:51:56 -0700
>>> From: Dan Mullin <d.mullin at goase.com> <mailto:d.mullin at goase.com>
>>> To: icc-avr at imagecraft.com <mailto:icc-avr at imagecraft.com>
>>>
>>>
>>>
>>> Folks,
>>>
>>> I have been writing using ImageCraft C for a number of years and 
>>> love it. Its clean, reliable, and quick. However, my code has simply 
>>> started reaching the point where it is becoming unmanageable. All my 
>>> projects have been written in an "in-line loop" with the typical ISR's
>>> popping off as required but I am finding I simply have a lot of 
>>> stuff that needs to be in the loop but really doesn't need to be 
>>> checked all that often. I am trying to make the decision as to 
>>> whether an RTOS would help things or simply muddy the waters even more.
>>>
>>> Most of these applications are based on the ATMega 128 or 2561. They 
>>> all involve motion control, reading encoders quickly, doing realtime 
>>> PWM accel/decel on stepper and brush motors, reading user input via 
>>> a UART, responding back, retrieving and updating parameters, etc, 
>>> etc. I have a few items that must be checked as quickly as once 
>>> every 50uS and others that only need a peak every 100ms or so. Of 
>>> course, I need to handle the UART I/O on both UART's and, possibly, 
>>> on a third if I step up to the
>>> 2560.
>>>
>>> Have any of you found a distinct advantage from the standpoint of 
>>> simplifying code structure and reusability of code? Does an RTOS 
>>> have the capability to handle things this quickly? How painful was 
>>> the transition from a sequential loop structure to an RTOS? Any 
>>> feedback would be greatly appreciated.
>>>
>>> Thanks,
>>>
>>> Dan Mullin
>>> Automated Systems Engineering, Inc.
>>>
>>
>> // richard < http://www.imagecraft.com/>
>> < http://www.dragonsgate.net/mailman/listinfo> On-line orders, 
>> support, and listservers available on web site.
>> [ For technical support on ImageCraft products, please include all 
>> previous replies in your msgs. ]
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Icc-avr mailing list
>> Icc-avr at imagecraft.com
>> http://dragonsgate.net/mailman/listinfo/icc-avr
>
> _______________________________________________
> Icc-avr mailing list
> Icc-avr at imagecraft.com
> http://dragonsgate.net/mailman/listinfo/icc-avr
>
>
> __________ NOD32 2846 (20080204) Information __________
>
> This message was checked by NOD32 antivirus system.
> http://www.eset.com
>
>
>



More information about the Icc-avr mailing list