Yifeng Zhu
Embedded Systems with ARM Cortex-M Microcontrollers
in Assembly Language and C (Fourth Edition)
ISBN-13: 978-0982692677, Publisher: E-Man Press LLC; 4th edition (January 2023)
Available from Amazon, Walmart
Home / Introduction / Adoptions / Instructor Site / Sample Labs / Lab Kit / Tutorials / FAQ

If you are an instructor and wish to receive an examination copy for your course, please contact me directly (yifeng.zhu at maine.edu).

Errata of the Fourth Edition

  • Errata of the first printing (Jan 2023) (pdf)

Errata of the Third Edition

  • Errata of the second printing (June 2018) (pdf)
  • Errata of the first printing (July 2017) (pdf)

Errata of the Second Edition

  • Errata of the second printing (May 2016) (pdf)
  • Errata of the first printing (October 2015) (pdf)

Errata of the First Edition

  • Errata of the third printing (May 2015) (pdf)
  • Errata of the second printing (March 2015) (pdf)
  • Errata of the first printing (August 2014) (pdf)

Table of Contents (pdf)

1. See a Program Running
2. Data Representation
3. ARM Instruction Set Architecture
4. Arithmetic and Logic
5. Load and Store
6. Branch and Conditional Execution
7. Structured Programming
8. Subroutines
9. 64-bit Data Processing
10. Mixing C and Assembly
11. Interrupt
12. Fixed-point Arithmetic
13. Floating-point Arithmetic


14. Instruction Encoding and Decoding
15. General-purpose I/O (GPIO)
16. General-purpose Timers
17. Direct Memory Access (DMA)
18. Analog Input and Output
19. Serial Communication Protocols
20. Multitasking
21. Digital Signal Processing (DSP)
Appendix A: ASCII Table
Appendix B: GNU Compiler
Appendix C: Cortex-M3/M4 Instructions
Appendix D: Floating-point Instructions (Optional on Cortex-M4 and Cortex-M7)
Appendix E: DSP Instructions on Cortex-M4 and Cortex-M7
Appendix F: Cortex-M0/M0+/M1 Instructions
Appendix G: Cortex-M3 16-bit Thumb-2 Instruction Encoding
Appendix H: Cortex-M3 32-bit Thumb-2 Instruction Encoding
Appendix I: GPIO Alternate Functions (STM32L4)

Keyword Index (pdf)