The Designer's Guide to the Cortex-M Processor Family, 3rd Edition

Book description

The Designer’s Guide to the Cortex-M Microcontrollers, Third Edition provides an easy-to-understand introduction to the concepts required to develop programs in C with a Cortex-M based microcontroller. Sections cover architectural descriptions that are supported with practical examples, enabling readers to easily develop basic C programs to run on the Cortex-M0/M0+/M3 and M4 and M7 and examine advanced features of the Cortex architecture, such as memory protection, operating modes and dual stack operation. Final sections examine techniques for software testing and code reuse specific to Cortex-M microcontrollers.

Users will learn the key differences between the Cortex-M0/M0+/M3 and M4 and M7; how to write C programs to run on Cortex-M based processors; how to make the best use of the CoreSight debug system; the Cortex-M operating modes and memory protection; advanced software techniques that can be used on Cortex-M microcontrollers, and much more.

  • Includes an update to the latest version (5) of MDK-ARM, which introduces the concept of using software device packs and software components
  • Includes overviews of new CMSIS specifications
  • Covers developing software with CMSIS-RTOS, showing how to use RTOS in real- world design

Table of contents

  1. Cover image
  2. Title page
  3. Table of Contents
  4. Copyright
  5. About the author
  6. Foreword
  7. Preface
  8. Acknowledgments
  9. Chapter 1. Introduction to the Cortex-M Processor Family
    1. Abstract
    2. Introduction
    3. Book Structure
    4. Cortex-M Processor Family
    5. Armv7-M
    6. Armv6-M
    7. Armv8-M
    8. Armv8.1-M
    9. Conclusion
  10. Chapter 2. Developing Software for the Cortex-M Family
    1. Abstract
    2. Introduction
    3. Keil Microcontroller Development Kit
    4. The Tutorial Exercises
    5. Installation
    6. Exercise 2.1: Building a First Program
    7. Exercise 2.2: Hardware Debug
    8. Third-Party Configuration Tools
    9. Conclusion
  11. Chapter 3. Cortex-M Architecture
    1. Abstract
    2. Introduction
    3. Cortex-M Instruction Set
    4. Programmer’s Model and CPU Registers
    5. Cortex-M Memory Map and Busses
    6. Bit Manipulation
    7. SysTick Timer
    8. Nested Vector Interrupt Controller
    9. Power Management
    10. Moving From the Cortex-M3
    11. Conclusion
  12. Chapter 4. Common Microcontroller Software Interface Standard
    1. Abstract
    2. Introduction
    3. CMSIS Specifications
    4. Overview of CMSIS-Core
    5. Conclusion
  13. Chapter 5. Advanced Architecture Features
    1. Abstract
    2. Introduction
    3. Cortex Processor Operating Modes
    4. Interprocessor Events
    5. Memory Protection Unit
    6. Conclusion
  14. Chapter 6. Cortex-M7 Processor
    1. Abstract
    2. Introduction
    3. Superscaler Architecture
    4. Branch Prediction
    5. Bus Structure
    6. Memory Hierarchy
    7. Open Main.c
    8. Data Cache
    9. Double Precision Floating Point Unit
    10. Functional Safety
    11. Conclusion
  15. Chapter 7. Armv8-M Architecture and Processors
    1. Abstract
    2. Introduction
    3. Armv8-M
    4. Armv8.1-M
    5. CPU Comparison
    6. Conclusion
  16. Chapter 8. Debugging With CoreSight
    1. Abstract
    2. Introduction
    3. CoreSight Hardware
    4. Debugger Hardware
    5. CoreSight Debug Architecture
    6. Customizing the Debugger
    7. System Control Block Debug Support
    8. Power Analysis
    9. Instruction Trace With the Embedded Trace Macro Cell
    10. CMSIS-DAP
    11. Cortex-M0+ Micro Trace Buffer
    12. System Viewer
    13. Conclusion
  17. Chapter 9. Practical DSP for Cortex-M Microcontrollers
    1. Abstract
    2. Introduction
    3. Hardware Floating Point Unit
    4. Cortex-M4/M7 DSP and SIMD Instructions
    5. The CMSIS-DSP Library
    6. DSP Data Processing Techniques
    7. Machine Learning
    8. Conclusion
  18. Chapter 10. Using a Real-Time Operating System
    1. Abstract
    2. Introduction
    3. Accessing the CMSIS-RTOS2 API
    4. Threads
    5. Understanding RTOS API Calls
    6. Time Management
    7. Inter-Thread Communication
    8. Data Exchange
    9. Configuration
    10. RTX5 License
    11. Conclusion
  19. Chapter 11. RTOS Techniques
    1. Abstract
    2. Introduction
    3. RTOS and Interrupts
    4. RTOS Interrupt Handling
    5. User Supervisor Functions
    6. Exercise 11.2: RTOS and User SVC Exceptions
    7. Power Management
    8. Watchdog Management
    9. Designing for Real Time
    10. Functional Safety
    11. Arm Functional Safety Run-Time System
    12. Conclusion
  20. Chapter 12. CMSIS-Driver
    1. Abstract
    2. Introduction
    3. CMSIS-Driver API
    4. Driver Validation
    5. CMSIS Virtual IO
    6. Extending the CMSIS-Driver Specification
    7. Conclusion
  21. Chapter 13. Test-Driven Development
    1. Abstract
    2. Introduction
    3. The TDD Development Cycle
    4. Designing for Testability
    5. Exercise 13.1: Test-Driven Development
    6. Testing RTOS Treads
    7. Exercise 13.2: Testing RTOS Threads
    8. Testing Interrupts
    9. Exercise 13.3: Testing with Interrupts
    10. Conclusion
  22. Chapter 14. Software Components
    1. Abstract
    2. Introduction
    3. Designing a Software Component
    4. Adding Custom IDE Support
    5. Software Component Reuse with CMSIS Pack
    6. Conclusion
  23. Chapter 15. MCU Software Architecture
    1. Abstract
    2. Introduction
    3. Software Architecture for Microcontrollers
    4. Continuous Integration
    5. CMSIS-Toolbox
  24. Chapter 16. The Road Ahead
    1. Abstract
    2. Keil Studio
    3. IoT and Machine Learning
    4. Machine Learning
    5. Conclusion
  25. Appendix A
    1. Chapter 1
    2. Chapter 2
    3. Chapter 3
    4. Chapter 4
    5. Chapter 5
    6. Chapter 6
    7. Chapter 7
    8. Chapter 8
    9. Chapter 9
    10. Chapter 10
    11. Chapter 11
    12. Chapter 12
    13. Chapter 13
    14. Chapter 14
    15. Chapter 15
    16. Chapter 16
  26. Index

Product information

  • Title: The Designer's Guide to the Cortex-M Processor Family, 3rd Edition
  • Author(s): Trevor Martin
  • Release date: December 2022
  • Publisher(s): Newnes
  • ISBN: 9780323854955