基于ARM Cortex-M微控制器的嵌入式系统
基于ARM Cortex-M微控制器的嵌入式系统
简介:
引言
《Embedded Systems with ARM Cortex-M Microcontrollers》一书(作者:Yifeng Zhu,2018年出版,共608页)是一本关于基于流行的32位ARM Cortex-M微控制器进行嵌入式系统开发的基础性教材。该书语言通俗易懂,将数字电子学理论与C++实践示例相结合,既适合工科专业的学生,也适合希望系统化知识的工程师。本书的突出优势在于,它不仅仅是罗列寄存器,而是解释外设的工作原理以及编写高效代码的原则。
本书内容
本书涵盖了嵌入式系统开发的完整流程:从微控制器选型到多任务应用程序的调试。重点介绍了ARM Cortex-M系列(M0、M3、M4、M7)以及基于STM32的流行开发板。全书共12章,每章专注于一个特定方面:
- 第1-2章:ARM Cortex-M架构、指令集、存储器、时钟和复位。
- 第3-4章:数字输入/输出端口(GPIO)、按键和LED操作。
- 第5章:定时器、PWM、信号捕获与比较。
- 第6章:模数转换器(ADC)和传感器。
- 第7章:串行接口:UART、SPI、I2C。
- 第8章:中断和异常处理程序。
- 第9章:直接存储器访问(DMA)。
- 第10章:低功耗模式。
- 第11章:实时操作系统(RTOS)基础——FreeRTOS。
- 第12章:调试、性能分析和代码优化。
目标读者
本书面向已经熟悉C/C++编程基础并对数字电路有基本了解的读者。它将有助于:
- 学习微控制器和嵌入式系统的工科院校学生;
- 从8位平台(AVR、PIC)转向ARM的实践工程师;
- 希望了解嵌入式设备硬件工作原理的软件开发人员;
- 基于STM32创建自己项目的业余爱好者。
读者将学到什么
学习完本书内容后,读者将能够:
- 独立配置ARM Cortex-M微控制器的时钟和外设;
- 编写高效的C++代码以操作GPIO、定时器、ADC、UART、SPI、I2C;
- 使用中断和DMA创建响应式系统;
- 借助FreeRTOS实现多任务处理;
- 优化功耗并使用调试器和逻辑分析仪调试项目;
- 阅读数据手册和原理图,理解引脚的电气特性。
本书优点
实践导向。每章都包含多个带有详细注释的完整示例。代码使用C++编写,并采用CMSIS和HAL库,使其可在不同的STM32微控制器之间移植。
深入讲解。作者不仅限于罗列寄存器——他解释了为什么某个位必须这样设置,以及这如何影响系统工作。例如,在定时器章节中,详细分析了计数模式、预分频器和信号捕获。
时效性。本书于2018年出版,涵盖了带有浮点单元的现代Cortex-M4和M7微控制器,以及最新版本的FreeRTOS。
高质量插图。超过300张原理图、时序图和示波器截图有助于直观理解外设的工作方式。
附加资料。在作者网站上可以获取所有示例的源代码,