Introduction to Microprocessor Based Systems Using the ARM Processor (2nd Edition)
Technology is changing rapidly all the time, and computer science instructors must make sure that they are giving their students the most up-to-the-minute training. For example, while the Motorola 68000 and MIPS processors have long been popular teaching tools in computer engineering courses, the ARM microprocessor is surpassing them in popularity, given its use in both Microsoft’s new Surface tablet and in Apple’s iPod and iPad. Introduction to Microprocessor Based Systems Using the ARM Processor is one of the first textbooks to address this significant change by covering microprocessor and embedded systems concepts using the ARM microprocessor.
Starting with an introduction to microprocessor systems, the text shows how software and hardware interact when instructions are executed. Soon students will be designing their own fully functioning programs, thanks to an introduction to assembly language in chapter 2, followed by data processing instructions in chapter 3, control flow instructions in chapter 4, and load/store instructions in chapter 5. Hardware is addressed in later chapters, and finally the discussion turns to the design of a complete microprocessor based system. Throughout, the author emphasizes fundamental concepts so that students can adapt to future advances in their dynamically changing field. Working their way through this detailed and thoughtful textbook will certainly give students the skills they need to work with the microprocessor based systems of the future.
Why Read This Book
You should read this book if you want a classroom-tested, system-level introduction to microprocessor-based design that centers on the ARM family; you will learn both the architecture and practical firmware techniques used to build real embedded systems. It balances ARM assembly and C programming with hardware-software interfacing, making it a useful bridge from theory to applied embedded design.
Who Will Benefit
Undergraduate students and early-career embedded engineers who know basic programming and electronics and want a structured, ARM-focused grounding in microprocessor systems and firmware development.
Level: Intermediate — Prerequisites: Introductory programming (C recommended), basic digital logic and electronics (gates, simple circuits), and familiarity with number systems; prior microcontroller experience helpful but not required.
Key Takeaways
- Explain the ARM processor architecture, instruction set principles, and execution model.
- Write and debug low-level firmware in ARM assembly and C for microprocessor-based systems.
- Design and implement memory systems, buses, and memory-mapped I/O for embedded hardware.
- Implement interrupt-driven software and manage real-time events in embedded designs.
- Integrate common peripherals (timers, ADC/DAC, UART, GPIO) and interface sensors/actuators.
- Apply system-level design practices to build and test complete microprocessor-based projects.
Topics Covered
- 1. Introduction to Microprocessor-Based Systems
- 2. ARM Architecture Overview and Evolution
- 3. ARM Instruction Set and Assembly Language
- 4. Programming ARM in C and Mixed-Language Development
- 5. Data Representation, Addressing Modes, and Memory Models
- 6. Memory Systems, Caches, and Bus Architectures
- 7. Memory-Mapped I/O and Peripheral Interfaces
- 8. Interrupts, Exceptions, and Real-Time Response
- 9. Timers, ADC, Serial Communication and Common Peripherals
- 10. Hardware-Software Co-Design and Board-Level Considerations
- 11. System Integration, Debugging and Performance Analysis
- 12. Introduction to Embedded OS Concepts and Embedded Linux (overview)
- 13. Case Studies and Example Microprocessor-Based Systems
Languages, Platforms & Tools
How It Compares
Covers similar classroom ground to Andrew Sloss et al.'s "ARM System Developer's Guide" but is more course-oriented and systems-focused; for Cortex-M specifics and low-level optimization, Joseph Yiu's "Definitive Guide to ARM Cortex-M" is a closer complement.













