图书目录

目录

第1章绪论

1.1嵌入式系统

1.1.1嵌入式系统概述

1.1.2嵌入式系统和通用计算机系统比较

1.1.3嵌入式系统的特点

1.2嵌入式系统的组成

1.2.1嵌入式系统的架构

1.2.2嵌入式系统硬件组成

1.2.3嵌入式系统软件组成

1.3典型嵌入式操作系统

1.3.1FreeRTOS

1.3.2RTThread

1.3.3μC/OSⅡ

1.3.4嵌入式Linux

1.4嵌入式系统的分类

1.4.1按应用对象分类

1.4.2按功能和性能分类

1.4.3按结构复杂度分类

1.5嵌入式系统的应用领域

1.6嵌入式系统应用实例 

1.6.1智能机器人

1.6.2智能终端

1.6.3VR/AR产品

1.6.4苹果Vision Pro的功能

1.6.5老年人健康监护系统

1.6.6自动驾驶

1.6.7APAX5580/AMAX5580边缘智能控制器

1.6.8缝纫机器人

1.6.9智能家用呼吸机

1.6.10智能家居控制系统

1.6.11国防工业嵌入式应用实例

1.7嵌入式微处理器

1.7.1嵌入式处理器分类

1.7.2嵌入式处理器内核架构

第2章Arm处理器体系架构

2.1嵌入式处理器概述

2.1.1微处理器的结构

2.1.2微处理器指令执行过程

2.1.3微处理器的体系结构

2.2Arm体系架构与编程模型

2.2.1Arm处理器体系架构概述

2.2.2Arm编程模型

2.3Arm处理器内存管理

2.3.1内存映射

2.3.2集成外设寄存器访问方法

2.4Arm架构异常处理

2.4.1Arm处理器异常类型

2.4.2Arm处理器对异常的响应

2.5CortexM4处理器的内部结构

第3章STM32嵌入式微控制器

3.1STM32 微控制器概述

3.1.1STM32 微控制器产品线

3.1.2STM32微控制器的命名规则

3.2STM32F407ZGT6概述

3.2.1STM32F407的主要特性

3.2.2STM32F407的主要功能

3.3STM32F407ZGT6芯片内部结构

3.4STM32F407VGT6芯片引脚和功能

3.5STM32F407VGT6最小系统设计

第4章STM32CubeMX和HAL库

4.1安装STM32CubeMX

4.2安装MCU固件包

4.2.1软件库文件夹设置

4.2.2管理嵌入式软件包

4.3软件功能与基本使用

4.3.1软件界面

4.3.2新建项目

4.3.3MCU图形化配置界面总览

4.3.4MCU配置

4.3.5时钟配置

4.3.6项目管理

4.3.7生成报告和代码

第5章STM32CubeIDE开发平台

5.1安装STM32CubeIDE

5.2STM32CubeIDE的操作

5.2.1新建和导入工程

5.2.2项目管理

5.2.3打开/关闭/删除/切换/导出工程

5.2.4固件库管理

5.2.5代码编译

5.2.6调试及运行配置

5.2.7启动调试

5.3STM32CubeProgrammer软件

5.4STM32CubeMonitor软件

5.5STM32F407开发板的选择

5.6STM32仿真器的选择

第6章STM32通用输入输出接口

6.1STM32通用输入输出接口概述

6.1.1输入通道

6.1.2输出通道

6.2STM32的GPIO功能

6.2.1普通I/O功能

6.2.2单独的位设置或位清除

6.2.3外部中断/唤醒线

6.2.4复用功能

6.2.5软件重新映射I/O复用功能

6.2.6GPIO锁定机制

6.2.7输入配置

6.2.8输出配置

6.2.9复用功能配置

6.2.10模拟输入配置

6.2.11STM32 的GPIO操作

6.2.12外部中断映射和事件输出

6.2.13GPIO的主要特性

6.3GPIO的HAL驱动程序

6.4STM32的GPIO使用流程

6.4.1普通GPIO配置

6.4.2I/O复用功能AFIO配置

6.5采用STM32Cube和HAL库的GPIO输出应用实例

6.5.1STM32的GPIO输出应用硬件设计

6.5.2STM32的GPIO输出应用软件设计

6.6采用STM32Cube和HAL库的GPIO输入应用实例

6.6.1STM32的GPIO输入应用硬件设计

6.6.2STM32的GPIO输入应用软件设计

第7章STM32中断系统

7.1中断概述

7.1.1中断

7.1.2中断的功能

7.1.3中断源与中断屏蔽

7.1.4中断处理过程

7.1.5中断优先级与中断嵌套

7.2STM32F4中断系统

7.2.1STM32F4的嵌套向量中断控制器NVIC

7.2.2STM32F4中断优先级

7.2.3STM32F4中断向量表

7.2.4STM32F4中断服务程序

7.3STM32F4外部中断/事件控制器EXTI

7.3.1STM32F4的EXTI内部结构

7.3.2STM32F4的EXTI主要特性

7.4STM32F4中断HAL驱动程序

7.4.1中断设置相关HAL驱动程序

7.4.2外部中断相关HAL函数

7.5STM32F4外部中断设计流程

7.6采用STM32Cube和HAL库的外部中断设计实例

7.6.1STM32F4外部中断的硬件设计

7.6.2STM32F4外部中断的软件设计

第8章STM32定时器系统

8.1STM32定时器概述

8.2STM32基本定时器

8.2.1基本定时器介绍

8.2.2基本定时器的功能

8.2.3STM32基本定时器的寄存器

8.3STM32通用定时器

8.3.1通用定时器介绍

8.3.2通用定时器的功能

8.3.3通用定时器的工作模式

8.3.4通用定时器的寄存器

8.4STM32定时器HAL库函数

8.4.1基本定时器 HAL驱动程序

8.4.2外设的中断处理概念小结

8.5采用STM32Cube和HAL库的定时器应用实例

8.5.1STM32的通用定时器配置流程

8.5.2STM32的定时器应用硬件设计

8.5.3STM32的定时器应用软件设计

第9章STM32通用同步/异步收发器

9.1串行通信基础

9.1.1串行异步通信数据格式

9.1.2串行同步通信数据格式

9.2STM32的USART工作原理

9.2.1USART介绍

9.2.2USART的主要特性

9.2.3USART的功能

9.2.4USART的通信时序

9.2.5USART的中断

9.2.6USART相关寄存器

9.3USART的HAL驱动程序

9.3.1常用功能函数

9.3.2常用的宏函数

9.3.3中断事件与回调函数

9.4采用STM32Cube和HAL库的USART串行通信应用实例

9.4.1STM32的USART的基本配置流程

9.4.2USART串行通信应用硬件设计

9.4.3USART串行通信应用软件设计

第10章STM32模数转换器

10.1模拟量输入通道

10.1.1模拟量输入通道的组成

10.1.2ADC的工作原理

10.2模拟量输入信号类型与量程自动转换

10.2.1模拟量输入信号类型

10.2.2量程自动转换

10.3STM32F407微控制器的ADC结构

10.4STM32F407 微控制器的ADC功能

10.4.1ADC使能和启动

10.4.2时钟配置

10.4.3转换模式

10.4.4DMA 控制

10.4.5STM32的ADC应用特征

10.5ADC的HAL驱动程序

10.5.1常规通道

10.5.2注入通道

10.6采用STM32Cube和HAL库的ADC应用实例

10.6.1STM32的ADC配置流程

10.6.2ADC应用的硬件设计

10.6.3ADC应用的软件设计

第11章STM32 DMA控制器

11.1STM32 DMA的基本概念

11.1.1DMA的定义

11.1.2DMA传输的基本要素

11.1.3DMA传输过程

11.2STM32 DMA的结构和主要特征

11.3STM32 DMA的功能描述

11.3.1DMA处理

11.3.2仲裁器

11.3.3DMA通道

11.3.4DMA 中断

11.4DMA的HAL驱动程序

11.4.1DMA的HAL函数概述

11.4.2DMA 传输初始化配置

11.4.3启动DMA数据传输

11.4.4DMA的中断

11.5采用STM32Cube和HAL库的DMA应用实例

11.5.1STM32的DMA配置流程

11.5.2DMA应用的硬件设计

11.5.3DMA应用的软件设计

第12章嵌入式实时操作系统FreeRTOS 

12.1FreeRTOS系统概述

12.1.1FreeRTOS的特点

12.1.2FreeRTOS的商业许可

12.1.3FreeRTOS的发展历史

12.1.4FreeRTOS的功能

12.2FreeRTOS的源码和相应官方手册获取

12.3FreeRTOS 系统移植

12.4FreeRTOS的文件组成

12.5FreeRTOS的编码规则及配置和功能裁剪

12.6FreeRTOS的任务管理

12.6.1任务相关的一些概念

12.6.2FreeRTOS的任务调度

12.6.3任务管理相关函数

12.7进程间通信与消息队列

12.7.1进程间通信

12.7.2队列的特点和基本操作

12.8信号量

12.8.1二值信号量

12.8.2计数信号量

12.8.3互斥量

12.8.4递归互斥量

12.8.5相关函数概述

12.9FreeRTOS任务管理应用实例

参考文献