Efficient Embedded Systems Design and Programming Textbook 

Embedded Systems Fundamentals with ARM Cortex-M based Microcontrollers: A Practical Approach 

by Dr Alexander G. Dean

ISBN 978-1-911531-03-6

This textbook introduces students to creating embedded systems using the ARM Cortex-M0+ CPU-based Kinetis KL25Z MCU. Topics covered include the CPU, interrupt system, peripherals, and programming. C is used as the programming language through the text. The concurrent operation of the CPU and peripherals is highlighted throughout as critical to creating cost-effective embedded systems. This book gives an early introduction to practical multitasking on the CPU, with the goals of improving responsiveness and software modularity while reducing CPU overhead. The interplay of interrupts, peripherals and schedulers is examined. 

For use in ECE, EE, and CS departments. The book targets the low-cost FRDM-KL25Z MCU development board.

Purchase e-textbook  Purchase print textbook

If you are unable to purchase using the options above, please contact us.


About the author

Dr. Alexander G. Dean has been a faculty member of the Department of Electrical and Computer Engineering at North Carolina State University (NCSU) since 2000. He received his BS (1991) from the University of Wisconsin – Madison, and his MS (1994) and PhD (2000) from Carnegie Mellon University. 
Dr. Dean has developed four courses on embedded systems at NCSU, ranging from fundamentals to architecture and design to optimization. He has created course packages targeting five different MCU families for the university programs of three companies, including the Education Kit on Efficient Embedded Systems Design and Programming for ARM. 
Dr. Dean's research involves using compiler, operating system and real-time system techniques to extract more performance from commodity microcontrollers in embedded systems while reducing clock speed, energy and memory requirements. His research also includes applying these methods for low-cost control of switch-mode power converters.
Dr. Dean has worked at United Technologies Research Center developing embedded systems and their communication network architectures. He holds three patents in the area. He has performed over sixty in-depth, on-site embedded software reviews for industry both domestically and internationally since 2001.


Table of contents

1. Introduction
2. General Purpose Input/Output
3. Basics of Software Concurrency
4. ARM Cortex-M0+ Processor Core and Interrupts
5. C in assembly Language
6. Analog Interfacing
7. Timers
8. Serial Communications
9. Direct Memory Access
Appendix. Measuring Current, Power and Energy on the FRDM-KL25Z