This new edition has been fully revised and updated to include extensive information on the ARM Cortex-M4 processor, providing a complete up-to-date guide to both Cortex-M3 and Cortex-M4 processors, and which enables migration from various processor architectures to the exciting world of the Cortex-M3 and M4.
This book presents the background of the ARM architecture and outlines the features of the processors such as the instruction set, interrupt-handling and also demonstrates how to program and utilize the advanced features available such as the Memory Protection Unit (MPU).
Chapters on getting started with IAR, Keil, gcc and CooCox CoIDE tools help beginners develop program codes. Coverage also includes the important areas of software development such as using the low power features, handling information input/output, mixed language projects with assembly and C, and other advanced topics.
Joseph Yiu joined ARM in 2001 and has been involved in a wide range of projects including development of ARM Cortex-M processors and various on-chip system level and debug components. In addition to in-depth knowledge of the processors and microcontroller system design, Joseph also has extensive knowledge in related areas including software development for the ARM Cortex-M microcontrollers, FPGA development and System-on-Chip design technologies.
1 Introduction 2 Embedded Software Development 3 Technical Overview 4 Architecture 5 Instruction Set 6 Memory system 7 Exceptions and Interrupts 8 Exception handling in details 9 Low power and System Control Features 10 OS support features 11 Memory Protection Unit 12 Fault Exceptions 13 Floating point 14 Debug features introduction 15 Getting Started with Keil MDK-ARM 16 Getting Started with IAR Embedded Workbench 17 Getting Started with GNU C Compiler 18 Software examples 19 Using embedded OS 20 Assembly programming and mixed language projects 21 Cortex-M4 DSP Instructions (Paul Beckmann, DSPConcepts) 22 CMSIS DSP Library (Paul Beckmann, DSPConcepts) 23 Advanced topics 24 Software porting Appendix A ISA summary B DSP instructions graphical representation C 16-bit Thumb instruction changes since v4T D Exceptions Quick Reference E CMSIS-Core functions Quick Reference F NVIC and SCB registers quick reference G Debug Registers quick reference H Debug and Trace connector I Trouble shooting guide