The book describes the architecture of the Cortex-M0 processor and the programmers model, as well as Cortex-M0 programming and instruction set and how these instructions are used to carry out various operations. Furthermore, it considers how the memory architecture of the Cortex-M0 processor affects software development; Nested Vectored Interrupt Controller (NVIC) and the features it supports, including flexible interrupt management, nested interrupt support, vectored exception entry, and interrupt masking; and Cortex-M0 features that target the embedded operating system. It also explains how to develop simple applications on the Cortex-M0, how to program the Cortex-M0 microcontrollers in assembly and mixed-assembly languages, and how the low-power features of the Cortex-M0 processor are used in programming. Finally, it describes a number of ARM Cortex-M0 products, such as microcontrollers, development boards, starter kits, and development suites.
This book will be useful to both new and advanced users of ARM Cortex devices, from students and hobbyists to researchers, professional embedded- software developers, electronic enthusiasts, and even semiconductor product designers.
- The first and definitive book on the new ARM Cortex-M0 architecture targeting the large 8-bit and 16-bit microcontroller market
- Explains the Cortex-M0 architecture and how to program it using practical examples
- Written by an engineer at ARM who was heavily involved in its development
Cortex-M0 Technical overview
Introduction to Cortex-M Programming
Instruction Usage Examples
Exceptions and Interrupts
Interrupt Control and system Control
Operating System Support Features
Low Power Features
Getting Started with Keil MDK-ARM
Assembly Projects and mixed assembly and C Projects
Using Low Power ~Features in the Cortex-M0
Using SVC, PendsSV, and Keil RTX Kernal
Getting Started with ARM RealView Development Suite
Getting Started with GNU C Compiler
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.