The Definitive Guide to the ARM Cortex-M0 is a guide for users of ARM Cortex-M0 microcontrollers. It presents many examples to make it easy for novice embedded-software developers to use the full 32-bit ARM Cortex-M0 processor. It provides an overview of ARM and ARM processors and discusses the benefits of ARM Cortex-M0 over 8-bit or 16-bit devices in terms of energy efficiency, code density, and ease of use, as well as their features and applications.
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
embedded systems design course where the Arm Cortex- M0 is used, electronics
Foreword Preface Acknowledgments Conventions terms and Abbreviations Chapter 1 Introduction Why Cortex-M0? Energy Efficiency Code Density Ease of Use Application of the Cortex-M0 Processors Background of ARM and ARM processors Cortex-M0 Processor Specification and ARM Architecture ARM Processors and the ARM Ecosystem Getting Started with the Cortex-M0 Processor Organization of This Book and Resources Chapter 2 Cortex-M0 Technical Overview General Information on the Cortex-M0 Processor The ARM Cortex-M0 Processor Features System Features Implementation Features Debug Features Others Advantages of the Cortex-M0 Processor Energy Efficiency Limitations in 8-Bit and 16-Bit Architectures Easy to Use, Software Portability Wide Range of Choices Low-Power Applications Small Gate Count High Efficiency Low-Power Features Logic Cell Enhancement Cortex-M0 Software Portability Chapter 3 Architecture Overview Programmer’s Model Operation Modes and States Registers and Special Registers R0━R12 R13, Stack Pointer (SP) R14, Link Register (LR) R15, Program Counter (PC) xPSR, Combined Program Status Register Behaviors of the Application Program Status Register (APSR) PRIMASK: Interrupt Mask Special Register CONTROL: Special Register Memory System Overview Stack Memory Operations Exceptions and Interrupts Nested Vectored Interrupt Controller (NVIC) Flexible Interrupt Management Nested Interrupt Support Vectored Exception Entry Interrupt Masking System Control Block (SCB) Debug System Program Image and Startup Sequence Chapter 4 Introduction to Cortex-M0 Programming Introduction to
- No. of pages:
- © Newnes 2011
- 25th February 2011
- eBook ISBN:
- Paperback ISBN:
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.
Senior Embedded Technology Specialist, ARM Ltd., Cambridge, UK