FreeRTOS原理与应用——基于GD32
¥58.00定价
作者: 董磊
出版时间:2024-09
出版社:电子工业出版社
- 电子工业出版社
- 9787121489594
- 1-1
- 540952
- 16开
- 2024-09
- 电子信息与电气
- 本科 高职
内容简介
本书采用GD32F303ZET6芯片的GD32F3苹果派开发板,重点介绍FreeRTOS操作系统的原理与应用开发。全书共19章,前两章简要介绍了嵌入式操作系统和GD32F3苹果派开发板;第3~19章分别介绍基准工程的创建、简易操作系统的实现,以及FreeRTOS的移植、任务管理、时间管理、消息队列、二值信号量与计数信号量、互斥信号量、事件标志组、任务通知、软件定时器、内存管理、中断管理、CPU利用率、流缓冲区、消息缓冲区和协程。全书程序代码的编写均遵循统一规范,且各章的工程均采用模块化设计,以便于将各模块应用在实际项目和产品中。__eol__本书配有丰富的资料包,涵盖GD32F3苹果派开发板原理图、例程、软件包、PPT等。资料包将持续更新,下载链接可通过微信公众号“卓越工程师培养系列”获取。__eol__
目录
第1章 嵌入式操作系统简介 1__eol__1.1 裸机系统与嵌入式操作系统 1__eol__1.1.1 简单裸机系统 1__eol__1.1.2 基于定时器计时的裸机系统 2__eol__1.1.3 嵌入式操作系统 2__eol__1.2 操作系统的分类 3__eol__1.2.1 分时操作系统 3__eol__1.2.2 实时操作系统 3__eol__1.3 FreeRTOS简介 4__eol__1.3.1 为什么选择FreeRTOS 4__eol__1.3.2 FreeRTOS的特点 4__eol__1.3.3 商业许可 5__eol__1.3.4 如何获取相关资料 5__eol__本章任务 5__eol__本章习题 5__eol__第2章 GD32F3苹果派开发板简介 6__eol__2.1 为什么选择GD32 6__eol__2.2 GD32F3系列微控制器简介 6__eol__2.3 GD32F3苹果派开发板电路简介 8__eol__2.4 基于FreeRTOS的应用实例 11__eol__2.5 本书配套资料包 11__eol__2.6 GD32微控制器开发工具安装与__eol__ 配置 12__eol__2.6.1 安装Keil μVision5 12__eol__2.6.2 设置Keil μVision5 14__eol__2.6.3 安装CH340驱动 16__eol__本章任务 16__eol__本章习题 17__eol__第3章 基准工程 18__eol__3.1 GD32F30x系列微控制器的系统架__eol__ 构与存储器映射 18__eol__3.1.1 系统架构 18__eol__3.1.2 存储器映射 19__eol__3.2 GD32工程模块名称及说明 22__eol__3.3 Keil编辑和编译及程序下载过程 22__eol__3.3.1 Keil编辑和编译过程 23__eol__3.3.2 程序下载过程 23__eol__3.4 相关参考资料 23__eol__3.5 代码框架 24__eol__3.6 实例与代码解析 25__eol__3.6.1 新建存放工程的文件夹 25__eol__3.6.2 复制并编译原始工程 25__eol__3.6.3 LED文件对介绍 25__eol__3.6.4 KeyOne文件对介绍 27__eol__3.6.5 Delay文件对介绍 30__eol__3.6.6 RCU文件对介绍 31__eol__3.6.7 Timer文件对介绍 33__eol__3.6.8 Main.c文件介绍 37__eol__3.6.9 程序下载 39__eol__3.6.10 运行结果 44__eol__本章任务 44__eol__本章习题 44__eol__第4章 简易操作系统 45__eol__4.1 裸机系统与操作系统的区别 45__eol__4.2 任务切换基本原理 45__eol__4.3 CPU工作寄存器和栈区 45__eol__4.4 中断与异常 48__eol__4.4.1 Cortex-M3/M4的中断与异常 48__eol__4.4.2 中断/异常返回 50__eol__4.4.3 SCV与PendSV异常 52__eol__4.5 任务的特性 52__eol__4.5.1 任务优先级 52__eol__4.5.2 任务状态 52__eol__4.5.3 不可剥夺内核和可剥夺内核 52__eol__4.5.4 空闲任务 54__eol__4.6 实例与代码解析 54__eol__4.6.1 复制并编译原始工程 54__eol__4.6.2 添加EasyOS文件对 55__eol__4.6.3 完善EasyOS.h文件 55__eol__4.6.4 完善EasyOS.c文件 56__eol__4.6.5 完善Main.c文件 64__eol__4.6.6 编译及下载验证 66__eol__本章任务 67__eol__本章习题 67__eol__第5章 FreeRTOS的移植 68__eol__5.1 FreeRTOS源码的获取 68__eol__5.2 FreeRTOS源码文件简介 68__eol__5.3 FreeRTOS配置宏定义简介 69__eol__5.4 实例与代码解析 70__eol__5.4.1 复制并编译原始工程 70__eol__5.4.2 移植 71__eol__5.4.3 完善Main.c文件 72__eol__5.4.4 下载验证 75__eol__本章任务 76__eol__本章习题 76__eol__第6章 任务管理 77__eol__6.1 任务简介 77__eol__6.1.1 任务函数 77__eol__6.1.2 任务状态 78__eol__6.1.3 任务优先级 78__eol__6.1.4 任务句柄 79__eol__6.1.5 任务栈 79__eol__6.1.6 任务管理相关API函数 79__eol__6.2 任务控制块(TCB) 83__eol__6.3 列表和列表项 83__eol__6.4 栈帧初始化 85__eol__6.5 SVC异常处理 86__eol__6.6 PendSV异常处理 87__eol__6.7 实例与代码解析 89__eol__6.7.1 复制并编译原始工程 89__eol__6.7.2 编写测试程序 89__eol__6.7.3 编译及下载验证 90__eol__本章任务 91__eol__本章习题 91__eol__第7章 时间管理 92__eol__7.1 相对延时 92__eol__7.2 绝对延时 92__eol__7.3 时间管理相关API函数 92__eol__7.4 实例与代码解析 93__eol__7.4.1 复制并编译原始工程 93__eol__7.4.2 编写测试程序 93__eol__7.4.3 编译及下载验证 95__eol__本章任务 95__eol__本章习题 95__eol__第8章 消息队列 96__eol__8.1 队列与循环队列 96__eol__8.2 数据存储 97__eol__8.3 多任务访问 97__eol__8.4 出队阻塞 97__eol__8.5 入队阻塞 97__eol__8.6 消息队列集 98__eol__8.7 消息队列相关API函数 98__eol__8.8 消息队列集相关API函数 103__eol__8.9 实例与代码解析 107__eol__8.9.1 复制并编译原始工程 107__eol__8.9.2 编写测试程序 108__eol__8.9.3 编译及下载验证 110__eol__本章任务 111__eol__本章习题 111__eol__第9章 二值信号量与计数信号量 112__eol__9.1 中断延迟 112__eol__9.2 二值信号量 113__eol__9.3 计数信号量 115__eol__9.4 相关API函数 116__eol__9.5 实例与代码解析 123__eol__9.5.1 复制并编译原始工程 123__eol__9.5.2 编写测试程序 123__eol__9.5.3 编译及下载验证 124__eol__本章任务 125__eol__本章习题 125__eol__第10章 互斥信号量 126__eol__10.1 共享资源与互斥访问 126__eol__10.1.1 共享资源 126__eol__10.1.2 通过临界段实现资源管理 128__eol__10.1.3 通过调度器实现资源管理 130__eol__10.1.4 通过互斥信号量实现资源__eol__ 管理 132__eol__10.2 优先级翻转与继承 133__eol__10.2.1 优先级翻转 133__eol__10.2.2 优先级继承 133__eol__10.3 递归互斥信号量 134__eol__10.4 死锁 134__eol__10.5 互斥信号量与调度器 134__eol__10.6 守护任务 137__eol__10.7 互斥信号量相关API函数 138__eol__10.8 实例与代码解析 140__eol__10.8.1 复制并编译原始工程 140__eol__10.8.2 编写测试程序 140__eol__10.8.3 编译及下载验证 142__eol__本章任务 143__eol__本章习题 143__eol__第11章 事件标志组 144__eol__11.1 事件标志组特性 144__eol__11.2 事件标志组原理 144__eol__11.3 事件标志组相关API函数 145__eol__11.4 实例与代码解析 155__eol__11.4.1 复制并编译原始工程 155__eol__11.4.2 编写测试程序 155__eol__11.4.3 编译及下载验证 157__eol__本章任务 158__eol__本章习题 158__eol__第12章 任务通知 159__eol__12.1 任务通知原理 159__eol__12.2 任务通知相关API函数 160__eol__12