
The Designer's Guide to the Cortex-M Processor Family
- 3rd Edition - December 2, 2022
- Imprint: Newnes
- Author: Trevor Martin
- Language: English
- Paperback ISBN:9 7 8 - 0 - 3 2 3 - 8 5 4 9 4 - 8
- eBook ISBN:9 7 8 - 0 - 3 2 3 - 8 5 4 9 5 - 5
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… Read more

Purchase options

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