The Definitive Guide to the ARM (R) Cortex (R)-M0 and Cortex-M0+ Processors, Second Edition explains the architectures underneath ARM's Cortex-M0 and Cortex-M0+ processors and their programming techniques.
Written by ARM's Senior Embedded Technology Manager, Joseph Yiu, the book is packed with examples on how to use the features in the Cortex-M0 and Cortex-M0+ processors. It provides detailed information on the instruction set architecture, how to use a number of popular development suites, an overview of the software development flow, and information on how to locate problems in the program code and software porting.
This new edition includes the differences between the Cortex-M0 and Cortex-M0+ processors such as architectural features (e.g. unprivileged execution level, vector table relocation), new chapters on low power designs and the Memory Protection Unit (MPU), the benefits of the Cortex-M0+ processor, such as the new single cycle I/O interface, higher energy efficiency, better performance and the Micro Trace Buffer (MTB) feature, updated software development tools, updated Real Time Operating System examples using Keil (TM) RTX with CMSIS-RTOS APIs, examples of using various Cortex-M0 and Cortex-M0+ based microcontrollers, and much more.
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 Technical Overview 3 Introduction to Embedded Software Development 4 Architecture 5 Instruction Set 6 Instruction Usage Examples 7 Memory System 8 Exceptions and Interrupts 9 System Control and Low Power Features 10 Operating System Support Features 11 Fault Handling 12 Memory Protection Unit (MPU) 13 Debug Features 14 Getting Started with the Keil Microcontroller Development Kit 15 Getting Started with IAR Embedded Workbench for ARM 16 Getting Started with gcc (GNU Compiler Collection) 17 Getting Started with mbed 18 Programming examples 19 Ultra-Low Power Designs 20 Programming with Embedded OS 21 Mixed Language Projects (C/C++ with assembly) 22 Software porting 23 Advanced topics Appendices A Instruction set quick reference B Exception types quick reference C CMSIS-Core quick reference D NVIC, SCB and SysTick registers quick reference E Debug registers quick reference F Debug connector arrangements G Trouble shooting H A breadboard project with an ARM Cortex-M0 microcontroller