| 
 新書推薦:
 
  《 
			识药食药——免“疫”防病
			》
 售價:HK$ 
			250
 
  《 
			钩针编织曼陀罗花样
			》
 售價:HK$ 
			305
 
  《 
			两晋南北朝史 一口气看懂两晋南北朝史
			》
 售價:HK$ 
			347
 
  《 
			这样吃 长得高 临床营养师和新手父母的儿童营养指南 专注解决0到16岁孩子营养问题
			》
 售價:HK$ 
			265
 
  《 
			暗黑历史书系·古代战争史
			》
 售價:HK$ 
			500
 
  《 
			索恩丛书·马克斯·韦伯:跨越时代的人生
			》
 售價:HK$ 
			505
 
  《 
			无路之路
			》
 售價:HK$ 
			305
 
  《 
			棒针编织阿兰花样背心马甲
			》
 售價:HK$ 
			305
 
 
 | 
         
          | 內容簡介: |   
          | ·本书采用GD32F303ZET6芯片的GD32F3苹果派开发板,重点介绍FreeRTOS作系统的原理与应用开发。全书共19章,前两章简要介绍了嵌入式作系统和GD32F3苹果派开发板;第3~19章分别介绍基准工程的创建、简易作系统的实现,以及FreeRTOS的移植、任务管理、时间管理、消息队列、二值信号量与计数信号量、互斥信号量、事件标志组、任务通知、软件定时器、内存管理、中断管理、CPU利用率、流缓冲区、消息缓冲区和协程。全书程序代码的编写均遵循统一规范,且各章的工程均采用模块化设计,以便于将各模块应用在实际项目和产品中。本书配有丰富的资料,涵盖GD32F3苹果派开发板原理图、例程、软件、PPT等。资料将持续更新,下载可通过“越工程师培养系列”获取。本书既可以作为高等院校电子信息、自动化等业微控制器相关课程的教材,也可以作为微控制器系统设计及相关行业工程技术人员的入门培训用书。 |  
         
          | 目錄: |   
          | 第1章 嵌入式作系统简介 1 1.1 裸机系统与嵌入式作系统 1
 1.1.1 简单裸机系统 1
 1.1.2 基于定时器计时的裸机系统 2
 1.1.3 嵌入式作系统 2
 1.2 作系统的分类 3
 1.2.1 分时作系统 3
 1.2.2 实时作系统 3
 1.3 FreeRTOS简介 4
 1.3.1 为什么选择FreeRTOS 4
 1.3.2 FreeRTOS的点 4
 1.3.3 商业许可 5
 1.3.4 如何获取相关资料 5
 本章任务 5
 本章题 5
 第2章 GD32F3苹果派开发板简介 6
 2.1 为什么选择GD32 6
 2.2 GD32F3系列微控制器简介 6
 2.3 GD32F3苹果派开发板电路简介 8
 2.4 基于FreeRTOS的应用实例 11
 2.5 本书配套资料 11
 2.6 GD32微控制器开发工具安装与
 配置 12
 2.6.1 安装Keil μVision5 12
 2.6.2 设置Keil μVision5 14
 2.6.3 安装CH340驱动 16
 本章任务 16
 本章题 17
 第3章 基准工程 18
 3.1 GD32F30x系列微控制器的系统架
 构与存储器映射 18
 3.1.1 系统架构 18
 3.1.2 存储器映射 19
 3.2 GD32工程模块名称及说明 22
 3.3 Keil编辑和编译及程序下载过程 22
 3.3.1 Keil编辑和编译过程 23
 3.3.2 程序下载过程 23
 3.4 相关参考资料 23
 3.5 代码框架 24
 3.6 实例与代码解析 25
 3.6.1 新建存放工程的文件夹 25
 3.6.2 复制并编译原始工程 25
 3.6.3 LED文件对介绍 25
 3.6.4 KeyOne文件对介绍 27
 3.6.5 Delay文件对介绍 30
 3.6.6 RCU文件对介绍 31
 3.6.7 Timer文件对介绍 33
 3.6.8 Main.c文件介绍 37
 3.6.9 程序下载 39
 3.6.10 运行结果 44
 本章任务 44
 本章题 44
 第4章 简易作系统 45
 4.1 裸机系统与作系统的区别 45
 4.2 任务切换基本原理 45
 4.3 CPU工作寄存器和栈区 45
 4.4 中断与异常 48
 4.4.1 Cortex-M3/M4的中断与异常 48
 4.4.2 中断/异常返回 50
 4.4.3 SCV与PendSV异常 52
 4.5 任务的性 52
 4.5.1 任务先级 52
 4.5.2 任务状态 52
 4.5.3 不可剥夺内核和可剥夺内核 52
 4.5.4 空闲任务 54
 4.6 实例与代码解析 54
 4.6.1 复制并编译原始工程 54
 4.6.2 添加EasyOS文件对 55
 4.6.3 完善EasyOS.h文件 55
 4.6.4 完善EasyOS.c文件 56
 4.6.5 完善Main.c文件 64
 4.6.6 编译及下载验证 66
 本章任务 67
 本章题 67
 第5章 FreeRTOS的移植 68
 5.1 FreeRTOS源码的获取 68
 5.2 FreeRTOS源码文件简介 68
 5.3 FreeRTOS配置宏定义简介 69
 5.4 实例与代码解析 70
 5.4.1 复制并编译原始工程 70
 5.4.2 移植 71
 5.4.3 完善Main.c文件 72
 5.4.4 下载验证 75
 本章任务 76
 本章题 76
 第6章 任务管理 77
 6.1 任务简介 77
 6.1.1 任务函数 77
 6.1.2 任务状态 78
 6.1.3 任务先级 78
 6.1.4 任务句柄 79
 6.1.5 任务栈 79
 6.1.6 任务管理相关API函数 79
 6.2 任务控制块(TCB) 83
 6.3 列表和列表项 83
 6.4 栈帧初始化 85
 6.5 SVC异常处理 86
 6.6 PendSV异常处理 87
 6.7 实例与代码解析 89
 6.7.1 复制并编译原始工程 89
 6.7.2 编写测试程序 89
 6.7.3 编译及下载验证 90
 本章任务 91
 本章题 91
 第7章 时间管理 92
 7.1 相对延时 92
 7.2 对延时 92
 7.3 时间管理相关API函数 92
 7.4 实例与代码解析 93
 7.4.1 复制并编译原始工程 93
 7.4.2 编写测试程序 93
 7.4.3 编译及下载验证 95
 本章任务 95
 本章题 95
 第8章 消息队列 96
 8.1 队列与循环队列 96
 8.2 数据存储 97
 8.3 多任务访问 97
 8.4 出队阻塞 97
 8.5 入队阻塞 97
 8.6 消息队列集 98
 8.7 消息队列相关API函数 98
 8.8 消息队列集相关API函数 103
 8.9 实例与代码解析 107
 8.9.1 复制并编译原始工程 107
 8.9.2 编写测试程序 108
 8.9.3 编译及下载验证 110
 本章任务 111
 本章题 111
 第9章 二值信号量与计数信号量 112
 9.1 中断延迟 112
 9.2 二值信号量 113
 9.3 计数信号量 115
 9.4 相关API函数 116
 9.5 实例与代码解析 123
 9.5.1 复制并编译原始工程 123
 9.5.2 编写测试程序 123
 9.5.3 编译及下载验证 124
 本章任务 125
 本章题 125
 第10章 互斥信号量 126
 10.1 共享资源与互斥访问 126
 10.1.1 共享资源 126
 10.1.2 通过临界段实现资源管理 128
 10.1.3 通过调度器实现资源管理 130
 10.1.4 通过互斥信号量实现资源
 管理 132
 10.2 先级翻转与继承 133
 10.2.1 先级翻转 133
 10.2.2 先级继承 133
 10.3 递归互斥信号量 134
 10.4 死锁 134
 10.5 互斥信号量与调度器 134
 10.6 守护任务 137
 10.7 互斥信号量相关API函数 138
 10.8 实例与代码解析 140
 10.8.1 复制并编译原始工程 140
 10.8.2 编写测试程序 140
 10.8.3 编译及下载验证 142
 本章任务 143
 本章题 143
 第11章 事件标志组 144
 11.1 事件标志组性 144
 11.2 事件标志组原理 144
 11.3 事件标志组相关API函数 145
 11.4 实例与代码解析 155
 11.4.1 复制并编译原始工程 155
 11.4.2 编写测试程序 155
 11.4.3 编译及下载验证 157
 本章任务 158
 本章题 158
 第12章 任务通知 159
 12.1 任务通知原理 159
 12.2 任务通知相关API函数 160
 12.3 任务通知的应用 166
 12.4 实例与代码解析 170
 12.4.1 复制并编译原始工程 170
 12.4.2 编写测试程序 170
 12.4.3 编译及下载验证 171
 本章任务 171
 本章题 171
 第13章 软件定时器 172
 13.1 软件定时器简介 172
 13.1.1 软件定时器的回调函数 172
 13.1.2 软件定时器的模式 172
 13.1.3 软件定时器的状态 173
 13.2 软件定时器服务 174
 13.2.1 软件定时器的命令队列 174
 13.2.2 软件定时器服务调度 174
 13.3 软件定时器ID 176
 13.4 复位软件定时器 176
 13.5 软件定时器相关API函数 176
 13.6 实例与代码解析 186
 13.6.1 复制并编译原始工程 186
 13.6.2 编写测试程序 186
 13.6.3 编译及下载验证 188
 本章任务 188
 本章题 188
 第14章 内存管理 189
 14.1 内存管理简介 189
 14.2 内存管理的应用场景 190
 14.3 内存碎片 190
 14.4 FreeRTOS内存管理机制 191
 14.5 内存管理相关API函数 192
 14.6 实例与代码解析 193
 14.6.1 复制并编译原始工程 193
 14.6.2 编写测试程序 194
 14.6.3 编译及下载验证 194
 本章任务 195
 本章题 195
 第15章 中断管理 196
 15.1 中断简介 196
 15.2 中断先级 197
 15.3 用于屏蔽中断的殊寄存器 197
 15.4 FreeRTOS中断宏 199
 15.5 中断开关 200
 15.6 临界段代码 201
 15.7 实例与代码解析 202
 15.7.1 复制并编译原始工程 202
 15.7.2 完善Timer.c文件 202
 15.7.3 编写测试程序 204
 15.7.4 编译及下载验证 205
 本章任务 206
 本章题 206
 第16章 CPU利用率 207
 16.1 CPU利用率简介 207
 16.2 CPU利用率统计 207
 16.3 CPU利用率相关API函数 207
 16.4 实例与代码解析 208
 16.4.1 复制并编译原始工程 208
 16.4.2 完善FreeRTOSConfig.h文件 208
 16.4.3 完善Timer文件对 209
 16.4.4 编写测试程序 210
 16.4.5 编译及下载验证 211
 本章任务 211
 本章题 212
 第17章 流缓冲区 213
 17.1 流缓冲区简介 213
 17.2 流缓冲区相关API函数 213
 17.3 实例与代码解析 219
 17.3.1 复制并编译原始工程 219
 17.3.2 完善UART0.c文件 219
 17.3.3 编写测试程序 220
 17.3.4 编译及下载验证 221
 本章任务 221
 本章题 221
 第18章 消息缓冲区 222
 18.1 消息缓冲区简介 222
 18.2 消息缓冲区相关API函数 222
 18.3 实例与代码解析 227
 18.3.1 复制并编译原始工程 227
 18.3.2 编写测试程序 228
 18.3.3 编译及下载验证 229
 本章任务 229
 本章题 229
 第19章 协程 230
 19.1 协程的基本原理 230
 19.2 FreeRTOS协程 231
 19.2.1 FreeRTOS中协程的状态 231
 19.2.2 FreeRTOS中协程的先级 231
 19.2.3 FreeRTOS中的协程函数 232
 19.2.4 FreeRTOS中协程的调度 233
 19.2.5 FreeRTOS协程的使用限制 234
 19.3 协程相关API函数 235
 19.4 实例与代码解析 242
 19.4.1 复制并编译原始工程 242
 19.4.2 完善FreeRTOSConfig.h文件 242
 19.4.3 编写测试程序 243
 19.4.4 编译及下载验证 244
 本章任务 245
 本章题 245
 参考文献 246
 |    |