图书目录

目录

第1章绪论

1.1FreeRTOS系统概述

1.1.1FreeRTOS的特点

1.1.2FreeRTOS的商业许可

1.1.3选择FreeRTOS的理由

1.1.4FreeRTOS的发展历史

1.1.5FreeRTOS的功能

1.1.6FreeRTOS的一些概念和术语

1.2FreeRTOS的源码和官方手册获取

1.3FreeRTOS系统移植简介

1.4FreeRTOS的文件组成

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

1.6FreeRTOS的启动流程

第2章STM32嵌入式微控制器

2.1STM32F407ZGT6概述

2.1.1STM32F407的主要特性

2.1.2STM32F407的主要功能

2.2STM32F407ZGT6芯片内部结构

2.3STM32F407VGT6芯片引脚和功能

2.4STM32F407VGT6最小系统设计

2.5STM32通用输入输出GPIO

2.5.1STM32 GPIO接口概述

2.5.2STM32的GPIO功能

2.6STM32外部中断

2.6.1STM32F4中断系统

2.6.2STM32F4外部中断/事件控制器

2.7STM32串口USART

2.8STM32定时器

2.8.1STM32F4定时器概述

2.8.2STM32F4基本定时器

2.9STM32外设例程

第3章FreeRTOS任务管理

3.1任务管理概述

3.1.1多任务运行基本机制

3.1.2任务的状态

3.1.3任务的优先级

3.1.4空闲任务

3.1.5基础时钟与嘀嗒信号

3.2FreeRTOS的任务调度

3.2.1任务调度方法概述

3.2.2使用时间片的抢占式调度方法

3.3任务管理的应用场合

3.4任务管理相关函数

3.5FreeRTOS任务的设计要点

3.6FreeRTOS任务管理应用实例

第4章FreeRTOS软件定时器

4.1软件定时器概述

4.1.1软件定时器的特性

4.1.2软件定时器的相关配置

4.1.3定时器服务任务的优先级

4.2软件定时器应用场景

4.3软件定时器的精度

4.4软件定时器的运作机制

4.5软件定时器控制块

4.6软件定时器的相关函数

4.6.1软件定时器创建函数

4.6.2软件定时器启动函数

4.6.3软件定时器停止函数

4.6.4软件定时器任务

4.6.5软件定时器删除函数

4.7FreeRTOS软件定时器应用实例

第5章FreeRTOS任务间同步

5.1FreeRTOS信号量

5.1.1二值信号量

5.1.2计数信号量

5.1.3互斥信号量

5.1.4递归互斥量

5.1.5信号量应用场景

5.1.6二值信号量运作机制

5.1.7计数信号量运作机制

5.1.8信号量控制块

5.1.9相关函数

5.1.10FreeRTOS信号量应用实例

5.2FreeRTOS互斥量

5.2.1优先级翻转问题

5.2.2互斥量的工作原理

5.2.3互斥量应用场景

5.2.4互斥量的运作机制

5.2.5互斥量控制块

5.2.6互斥量函数接口

5.2.7FreeRTOS互斥量应用实例

5.3FreeRTOS事件组

5.3.1事件组的原理和功能

5.3.2事件组的应用场景

5.3.3事件组运作机制

5.3.4事件组控制块

5.3.5事件组相关函数

5.3.6FreeRTOS事件组应用实例

第6章FreeRTOS进程间通信与消息队列

6.1进程间通信

6.2队列的特点和基本操作

6.2.1队列的特点

6.2.2队列的基本操作

6.3消息队列的运作机制

6.4消息队列的阻塞机制

6.5消息队列的应用场景

6.5.1任务间的消息交换

6.5.2中断与任务间的消息传递

6.5.3日志系统和事件监控

6.6消息队列控制块

6.7消息队列操作相关函数

6.7.1消息队列创建函数

6.7.2消息队列静态创建函数

6.7.3消息队列删除函数

6.7.4向消息队列发送消息函数

6.7.5从消息队列读取消息函数

6.8FreeRTOS消息队列应用实例

第7章FreeRTOS内存管理

7.1内存管理的基本概念

7.2内存管理的应用场景

7.3内存管理方案

7.3.1heap_1.c

7.3.2heap_2.c

7.3.3heap_3.c

7.3.4heap_4.c

7.3.5heap_5.c

7.4FreeRTOS内存管理应用实例

第8章FreeRTOS中断管理

8.1FreeRTOS与中断

8.2中断的基本概念

8.3中断管理的运作机制

8.4中断管理的应用场景

8.5FreeRTOS中断管理机制

8.6任务与中断服务程序

8.6.1任务与中断服务程序的关系

8.6.2中断屏蔽和临界代码段

8.6.3在ISR中使用FreeRTOS API函数

8.6.4ISR设计原则

8.7FreeRTOS中断管理应用实例

第9章FreeRTOS在STM32上的移植实例

9.1STM32的GPIO输入输出应用硬件设计

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

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

9.2STM32Cbue简介

9.3通过STM32CubeMX新建工程

9.4通过Keil MDK实现工程

9.5通过STM32CubeIDE实现工程

9.6通过STM32CubeProgrammer下载工程

9.7使用STM32CubeIDE调试工程

参考文献