The book is "An Embedded Software Primer" by David E. Simon. The author covers very basic hardware concepts, interrupts, different RTOS architectures along with their pluses/minuses, tasks & states, services that an RTOS might provide, designing using an RTOS, dev tools, debugging techniques. He also includes some sample code and a CD with the source for an RTOS kernel. I found it to do a good job in terms of covering the basics of each topic and providing clear examples. It gives you enough to provide a good starting point to learn more in depth elsewhere if you need to. On Jan 22, 2008, at 9:53 AM, stereo type wrote: > Ya, throw out the title. I won't mind I promise. > > Philippe Habib <phabib@well.com> wrote: I have a book that > does a great job of explaining this, but its at home. If > there is interest I can dig up the title. I used it as the textbook > for an > embedded programming course I took years ago. > > -----Original Message----- > From: AVR-Chat@yahoogroups.com [mailto:AVR-Chat@yahoogroups.com] On > Behalf > Of subscriptions@aeolusdevelopment.com > Sent: Tuesday, January 22, 2008 9:27 AM > To: avr-chat@yahoogroups.com > Subject: Re: [AVR-Chat] Re: WinAvr or CodeVision, which one is more > public? > > David VanHorn Wrote >>> U talked of RTOS. Never heared of it before, but my MCU needed to >>> control RH, light level and temperature real time and show them on >>> LCD, so I thought and then I made for myself a sort of virtual >>> multi- >>> tasking procedure, for example: >>> >>> Do >>> Gosub v >>> Gosub w >>> Gosub x >>> Gosub y >>> Gosub z >>> Loop >>> End >>> >> >> This is the guts of a cooperative multitasker. > > A simple co-operative multitasker. This particular kind is often > referred > to as a super loop and is simple enough that some object to it being > referred to as a multitasker. They prefer to think of it as a > single task > state machine. There is a grey area here. > > Time for a little RTOS taxonomy I think > > RTOS's can be classified as > > pre-emptive or co-operative > single stack (run to completion) or multiple stack > round-robin or priority > > There are other characteristics but I think these are the most > important > and these characteristics are independent. Independence does not > mean you > can change just one item in any particular implementation just that > you can > implement any combination. > > The above is a co-operative, round-robin, single stack multitasker. > > pre-emptive systems bring in the ability to interrupt the current > task at > any time but also need to be able to protect critical sections from > being > interrupted by other tasks. Co-operative systems generally remove > the need > to implement as many safeguards but their responsiveness and the > granularity of tasks falls completely on the programmers shoulder > showing > up in the task breakdown itself. > > Single stack systems use only a single stack (obviously) and thus have > simpler memory management and task switching. Multiple stacks allow > tasks > to block waiting for resources or data. > > Round-robin provides simple fairness. Priority based allows more > frequent > and/or more important tasks first access improving responsiveness > if done > correctly. > > Other characteristics include types of IPC, memory allocation, device > driver model (if any), task creation .... > > Robert > > ---------------------------------------------------------- > myhosting.com - Premium MicrosoftR WindowsR and Linux web and > application > hosting - http://link.myhosting.com/myhosting > > Yahoo! Groups Links > > -- > No virus found in this incoming message. > Checked by AVG Free Edition. > Version: 7.5.516 / Virus Database: 269.19.9/1237 - Release Date: > 1/22/2008 > 11:04 AM > > > > > > > --------------------------------- > Be a better friend, newshound, and know-it-all with Yahoo! Mobile. > Try it now. > > [Non-text portions of this message have been removed] > > > > > Yahoo! Groups Links > > > >
Message
Re: [AVR-Chat] Re: WinAvr or CodeVision, which one is more public?
2008-01-24 by Philippe Habib
Attachments
- No local attachments were found for this message.