Memory and timing become direct programming concerns on a microcontroller. Freescale ARM Cortex-M Embedded Programming Using C Language, by Muhammad Ali Mazidi and his coauthors, connects C fundamentals with that hardware context.
Programming the Device
The book covers embedded C for Freescale ARM Cortex-M devices, including memory maps, memory-mapped registers, interrupts, and timing. A register description becomes part of the interface the program must implement.
The examples make the connection between a C operation and device behavior easier to follow. Correctness includes producing a value at the appropriate time, while limited memory and visibility into the running system reward clear structure.
Prerequisites and Hardware Context
Basic C knowledge provides a useful starting point. Device-specific examples must be checked against the board's manual. The book's broader value is the habit of tracing software behavior down to hardware, which remains useful beyond one microcontroller family.
Get the Book
- Google Books: Freescale ARM Cortex-M Embedded Programming
