Making Embedded Systems cover art

Making Embedded Systems

Design Patterns for Great Software

Preview

Get 30 days of Standard free

£5.99/mo after trial. Cancel monthly.
Try for £0.00
More purchase options

Making Embedded Systems

By: Elecia White
Narrated by: April Doty
Try for £0.00

£5.99 a month after 30 days. Cancel anytime.

Buy Now for £16.37

Buy Now for £16.37

Summary

Interested in developing embedded systems? Since they don't tolerate inefficiency, these systems require a disciplined approach to programming. This accessible guide helps you cultivate good development practices based on classic software design patterns and new patterns unique to embedded programming.

Written by an expert who has created systems ranging from DNA scanners to children's toys, this book is ideal for intermediate and experienced programmers, no matter what platform you use. This expanded second edition includes new chapters on IoT and networked sensors, motors and movement, debugging, data handling strategies, and more.

In this book, you'll learn how to optimize your system to reduce cost and increase performance; develop an architecture that makes your software robust in resource-constrained environments; explore sensors, displays, motors, and other I/O devices; and reduce RAM and power consumption, code space, and processor cycles. The book also covers interpreting schematics, datasheets, and power requirements; implementing complex mathematics and machine learning on small processors; and designing effective embedded systems for IoT and networked sensors.

PLEASE NOTE: When you purchase this title, the accompanying PDF will be available in your Audible Library along with the audio.

©2024 Elecia White (P)2024 Ascent Audio
Programming Programming & Software Development Software Development Software Technology Computer Science
adbl_web_anon_alc_button_suppression_c
All stars
Most relevant
Good coverage of the fundamentals for creating embedded software for smaller, low-powered modules such as sensors and controllers.
(It stays away from discussing more complex embedded software such as radio gateways and set-top boxes. Such systems will normally have higher-spec CPUs and memory, as well as full operating systems, and therefore often require a different approach to system development.)

The light-hearted tone is generally good, and quite confident.
You can tell that the author is experienced in the domain of embedded software for smaller devices.

Just a few gripes:

1) The narrator clearly doesn't read C-style code.
This is evident in how the code snippets are read out:

a) In earlier chapters, hexadecimal numbers are (e.g. 0x0015) - are read out as "zero times zero zero one five" (which is of course very different semantically). This makes it even harder to visualise the code samples.

b) Some of the variables are read out as printed, e.g. "sensorData" is read out as "sensor-upper-case-D-lower-case-ata", where the semantics really are just "sensor data" using an upper-case to delienate the two words, and makes much more sense read as such.

2) The audiobook contains at least a couple of meaning-disrupting errors.

An example of this is at 02m03s into Chapter 14, section "Driving a simple DC motor with PWM", the narration claims that 2 mA + 3 mA == 2.003 A.
I cannot tell if this is an error in the book or in the narration, as I obviously do not have the printed version.
While the consquence is perhaps not massive, it is however quite distracting when trying to extract meaning from listening to technical explanations.

Finally, although there is a discusison about interrupt-driven execution of code, I would have liked to see a perspective on "execution-management libraries" such as FreeRTOS, which are not really OS's, but provides strongs mechanisms for structuring execution of software stacks that are a more advanced than "once-through-the-main-loop".

But all in all, I feel that the author covers at lot of the basics to get you going with software development for embedded systems with constrained resources.

Definitely recommended as a good introduction to the subject.

Good introductory text to embedded software

Something went wrong. Please try again in a few minutes.