本书选用意法半导体公司的STM32F4微控制器为载体,以嵌入式硬件设计和软件设计为主线,结合工程实践,按照“最小系统电路设计 → 开发工具使用 → 片内外设应用 ”的路径,分层次、递进式的讲授嵌入式系统的设计方法。使用STM32CubeMX开发工具以及HAL驱动库完成微控制器的设计。STM32CubeMX软件提供简洁的图形化界面,设计者无需编写任何代码,就可以完成引脚分配、时钟设置和外设设置等初始化工作,并生成基于MDK-ARM等集成开发环境的工程框架,使设计者可以更专注于应用层代码的编写。采用库函数的编程方式可以不必了解硬件寄存器的含义,利用库函数提供的接口函数快速实现功能。基于图形化的配置方式和库函数的编程方式使得初学者可以快速入门嵌入式系统的设计和开发,降低了学习的门槛。本书以产业界主流的微控制器STM32F4为硬件平台,以嵌入式硬件设计和软件设计为主线,按照“最小系统电路设计 → 开发工具使用 → 片内外设应用 → 驱动程序设计 →实时操作系统(FreeRTOS)”的路径,分层次、递进式地介绍嵌入式系统的设计方法。本书选用业界先进的开发工具STM32 CubeMX及硬件抽象库(HAL库)进行嵌入式系统开发。STM32 CubeMX软件利用图形化界面完成芯片的配置,并配合MDK-ARM等集成开发环境,直接生成应用程序的基本框架,使设计者可以专注于应用层代码的编写。采用库函数的程序开发方式,避免了对芯片底层的寄存器作过多了解,用户只需要掌握HAL库提供的接口函数就可以完成应用程序的编写,加快了嵌入式系统的开发效率,降低了学习的门槛。全书共10章,分别是:嵌入式系统概要,STM32微控制器的硬件电路设计,STM32微控制器开发环境的搭建,STM32 CubeMX软件的使用,MDK-ARM开发软件的使用,通用输入输出接口,中断系统,定时器,串口通信,FreeRTOS的应用。本书内容丰富实用,层次清晰,叙述详尽,书中所有例程都是基于意法半导体公司的Nucleo系列开发板,方便教学和自学。本书可作为高等院校电子信息类、自动化类专业的本科生及研究生“嵌入式系统设计”课程的入门教材,也可以供嵌入式爱好者或从事嵌入式系统应用的工程技术人员参考。