Microcontrollers are embedded into larger systems to provide benefits such as better performance, more features, better efficiency, lower costs and better dependability. This textbook introduces students to creating microcontroller-based embedded systems featuring an ARM Cortex-M CPU core.
Chapter 1 introduces students to the concepts of MCU-based embedded systems, and how they differ from general-purpose computers. It then introduces the ARM Cortex-M0+ CPU, the Kinetis KL25Z MCU, and the low cost FRDM-KL25Z MCU development board.
Chapter 2 presents the general purpose I/O peripheral to provide an early, hands-on experience with reading switches and lighting LEDs using C code. It also introduces the CMSIS hardware abstraction layer, which simplifies software access to peripherals.
Chapter 3 introduces multitasking on the CPU, with the goals of improving responsiveness and software modularity while reducing CPU overhead. The interplay of interrupts, peripherals and