Home Code Listings Contact

Embedded Software Development


A comprehensive and practical guide to embedded systems development


Embedded software engineering is different from computer software engineering. A computer programmer cares little about how their program gets executed on the target hardware. How much memory it consumes, how fast it needs to run, what it does when no-one's interacting with it, and certainly not how much power the processor is extracting from the power supply. That's a good thing; software engineers shouldn't have to worry about those sorts of things. They distract from the concentration necessary to implement complex functionality in the program.


Embedded software engineers have to worry about those issues. That's also a good thing, because embedded software engineers like dealing with those problems. It's what makes us enjoy our jobs - a banking database would make us wilt in tedious despair. We're two different professions doing two different jobs.


In this book I have attempted to create a guide for young embedded software engineers. I learnt a lot 'along the way' in my 30 years of embedded development, and felt that if I could relay as much of that as possible, then those that follow me through this profession may have a head start on me.