EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

Books recomendation for embedded programmer.

Started by Unknown April 30, 2007
We have at work a student doing his internship at this moment
(Undergraduate in programming / ICT with a good knowledge of hardware)

We've got this student working on simple embedded software on
different targets (LPC2106, Rabbit, PIC's), altough the code he is
writting is working,  he does have problems in applying basic
embedded / 'real-time' concepts.

He has dificulties implementing simple assigments as: 'Parse an
incomming string on the RS232, blink a LED every 500mS while polling 2
switches'. It looks like he is implementing these assigments in a very
sequential way.

I'm convinced that this student has got the intelectual capacity and
motivation to become a good programmer , but i feel that he is missing
the basic concepts of 'real time' embedded programing.

Anyone some pointers to books that explain basic concepts as blocking
and  non-blocking code, preemptive and cooperative multitasking,
message queues, state-machines.

I'm looking for some literature  on the basic concepts, preferable
with examples in C but without going to much into detail on how
commercial RTOS works etc...

Thanks

stijn@easynet.be wrote:

> We've got this student working on simple embedded software on > different targets (LPC2106, Rabbit, PIC's), altough the code he is > writting is working, he does have problems in applying basic > embedded / 'real-time' concepts. > > He has dificulties implementing simple assigments as: 'Parse an > incomming string on the RS232, blink a LED every 500mS while polling 2 > switches'. It looks like he is implementing these assigments in a very > sequential way. > > I'm convinced that this student has got the intelectual capacity and > motivation to become a good programmer , but i feel that he is missing > the basic concepts of 'real time' embedded programing. >
This is a basic book here free for the downloading. "First Steps with Embedded Systems" http://www.bytecraft.com/Byte_Craft_Limited_Publishing w.. -- Walter Banks Byte Craft Limited
stijn@easynet.be wrote:

> We have at work a student doing his internship at this moment > (Undergraduate in programming / ICT with a good knowledge of hardware) > > We've got this student working on simple embedded software on > different targets (LPC2106, Rabbit, PIC's), altough the code he is > writting is working, he does have problems in applying basic > embedded / 'real-time' concepts. > > He has dificulties implementing simple assigments as: 'Parse an > incomming string on the RS232, blink a LED every 500mS while polling 2 > switches'. It looks like he is implementing these assigments in a very > sequential way. > > I'm convinced that this student has got the intelectual capacity and > motivation to become a good programmer , but i feel that he is missing > the basic concepts of 'real time' embedded programing. > > Anyone some pointers to books that explain basic concepts as blocking > and non-blocking code, preemptive and cooperative multitasking, > message queues, state-machines. > > I'm looking for some literature on the basic concepts, preferable > with examples in C but without going to much into detail on how > commercial RTOS works etc... > > Thanks
Jack Ganssle's "The Art of Designing Embedded Systems" <http://www.amazon.co.uk/Designing-Embedded-Systems-Design-Engineers/dp/0750698691/ref=sr_1_1/026-7855824-0616466?ie=UTF8&s=books&qid=1177953786&sr=8-1> and/or Jack Ganssle's "The Firmware Handbook: Embedded Technology" <http://www.amazon.co.uk/Firmware-Handbook-Embedded-Technology/dp/075067606X/ref=sr_1_2/026-7855824-0616466?ie=UTF8&s=books&qid=1177953786&sr=8-2> and/or Front Panel: niall Murphy's "Designing Software for Embedded User Interfaces" <http://www.amazon.co.uk/Front-Panel-Designing-Software-Interfaces/dp/0879305282/ref=sr_1_4/026-7855824-0616466?ie=UTF8&s=books&qid=1177954039&sr=8-4> Not one I have read myself but, "Programming Embedded Systems" by Michael Barr and Anthony Massa might also be useful. <http://www.amazon.co.uk/Programming-Embedded-Systems-Michael-Barr/dp/0596009836/ref=sr_1_5/026-7855824-0616466?ie=UTF8&s=books&qid=1177954153&sr=8-5> -- ******************************************************************** Paul E. Bennett ....................<email://peb@amleth.demon.co.uk> Forth based HIDECS Consultancy .....<http://www.amleth.demon.co.uk/> Mob: +44 (0)7811-639972 Tel: +44 (0)1235-811095 Going Forth Safely ..... EBA. www.electric-boat-association.org.uk.. ********************************************************************
stijn@easynet.be wrote:

<snip>

> Anyone some pointers to books that explain basic concepts as blocking > and non-blocking code, preemptive and cooperative multitasking, > message queues, state-machines. > > I'm looking for some literature on the basic concepts, preferable > with examples in C but without going to much into detail on how > commercial RTOS works etc...
Jean LaBrosse's book "MicroC/OS-II: The Real-Time Kernel" includes considerable discussion of these topics and is well written; it includes example code to illustrate topics such as you have specified, with versions to run as tasks under the o/s and independently as monolithic code (no o/s). Regards, Michael
stijn@easynet.be wrote:
> I'm convinced that this student has got the intelectual capacity and > motivation to become a good programmer , but i feel that he is missing > the basic concepts of 'real time' embedded programing. > > Anyone some pointers to books that explain basic concepts as blocking > and non-blocking code, preemptive and cooperative multitasking, > message queues, state-machines.
Burns and Wellings, "Real Time Systems and their Programming Languages". Disclaimer - I've never actually owned the book; I was taught by them from the original notes that became it, 20-ish years ago ;) That gives a lot of the classical RT programming constructs. Sutter's "Embedded Systems Firmware Demystified" might be good, it's got loads of examples in it, although I've never tried it on a novice ;) A *good* computer architecture book - Hennessy & Patterson - is probably a must-read too.
> I'm looking for some literature on the basic concepts, preferable > with examples in C but without going to much into detail on how > commercial RTOS works etc...
The way to learn C is by writing programs, with Harbison & Steele as a fallback ;) pete -- pete@fenelon.com "how many clever men have called the sun a fool?"
stijn@easynet.be wrote:
> We have at work a student doing his internship at this moment > (Undergraduate in programming / ICT with a good knowledge of hardware) >
<snip>
> > Anyone some pointers to books that explain basic concepts as blocking > and non-blocking code, preemptive and cooperative multitasking, > message queues, state-machines. > > I'm looking for some literature on the basic concepts, preferable > with examples in C but without going to much into detail on how > commercial RTOS works etc... > > Thanks >
I recommend "An Embedded Software Primer" by David E. Simon. I give a copy to all new graduate embedded software engineers. Chapter titles are: 1. A First Look at Embedded Systems 2. Hardware Fundamentals for th Softwaer Engineer 3. Advanced hardware Fundamentals 4. Interrupts 5. Survey of Software Architectures 6. Indroduction to Real-Time Operating Systems 7. More Operating System Services 8. Basic Design Using a Real-Time Operating System 9. Embedded Software Development Tools 10. Debugging Techniques 11. An Example System Ed.

The 2024 Embedded Online Conference