作者:唐浒,郭文波主编
页数:291页
出版社:电子工业出版社
出版日期:2025
ISBN:9787121495502
电子书格式:pdf/epub/txt
网盘下载地址:下载μC/OS-III原理与应用:基于GD32
内容简介
GD32F3苹果派开发板(主控芯片为GD32F303ZET6)的配套教材很多,如介绍微控制器基础外设、微控制器复杂外设、GUI设计开发、微机原理、操作系统等知识的教材。本书为基于μC/OS-III的操作系统教程,主要介绍基准工程、简易操作系统实现,以及μC/OS-III的移植、任务管理、时间管理、消息队列、信号量、互斥量、事件标志组、等待多个项目、内建消息队列、内建信号量、软件定时器、内存管理、中断管理和CPU利用率等内容。全书程序代码的编写遵循统一规范,并且对工程采用模块化设计,以便将各模块应用于实际项目中。本书配有丰富的资料包,包含GD32F3苹果派开发板原理图、例程、软件包、PPT等。这些资料会持续更新,下载链接可通过微信公众号“卓越工程师培养系列”获取。本书既可以作为高等院校电子信息、自动化等专业微控制器相关课程的教材,也可以作为微控制器系统设计及相关行业工程技术人员的入门培训用书。
作者简介
唐浒,深圳大学生物医学工程学院实验师,主要从事医学电子、医学超声实验教学工作,出版教材3部,发表论文10余篇。
目录
第1章 μC/OS-III操作系统简介 1
1.1 裸机系统与操作系统 1
1.2 操作系统的分类 3
1.3 μC/OS-III介绍 4
本章任务 7
本章习题 7
第2章 GD32F3苹果派开发板简介 8
2.1 为什么选择GD32 8
2.2 GD32F3系列微控制器介绍 8
2.3 GD32F3苹果派开发板电路简介 10
2.4 基于μC/OS-III的应用实例 13
2.5 本书配套资料包 13
2.6 GD32微控制器开发工具安装与
配置 14
本章任务 20
本章习题 20
第3章 基准工程 21
3.1 GD32F30x系列微控制器的系统架构
与存储器映射 21
3.2 GD32工程模块名称及说明 25
3.3 Keil编辑、编译和程序下载过程 25
3.4 相关参考资料 26
3.5 代码框架 27
3.6 实例与代码解析 28
本章任务 48
本章习题 48
第4章 简易操作系统实现 49
4.1 裸机系统与操作系统的区别 49
4.2 任务切换基本原理 49
4.3 CPU工作寄存器和栈区 49
4.4 中断与异常 52
4.5 任务的特性 56
4.6 实例与代码解析 59
本章任务 72
本章习题 72
第5章 μC/OS-III移植 73
5.1 μC/OS-III源码获取 73
5.2 μC/OS-III配置 73
5.3 实例与代码解析 80
本章任务 92
本章习题 92
第6章 μC/OS-III任务管理 93
6.1 任务简介 93
6.2 就绪列表 101
6.3 内部任务 106
6.4 任务管理相关API函数 108
6.5 μC/OS-III的栈帧初始化 118
6.6 μC/OS-III启动第一个任务 120
6.7 μC/OS-III的PendSV异常处理 121
6.8 实例与代码解析 122
本章任务 124
本章习题 125
第7章 μC/OS-III时间管理 126
7.1 延时类型 126
7.2 延时列表 126
7.3 时间管理相关API函数 128
7.4 OSTimeDly函数源码分析 132
7.5 实例与代码解析 134
本章任务 136
本章习题 136
第8章 μC/OS-III消息队列 137
8.1 消息与消息队列 137
8.2 消息队列相关API函数 141
8.3 OSQPost函数源码分析 148
8.4 OSQPend函数源码分析 150
8.5 实例与代码解析 152
本章任务 155
本章习题 155
第9章 μC/OS-III信号量 156
9.1 中断延迟 156
9.2 二值信号量简介 157
9.3 计数信号量简介 160
9.4 μC/OS-III信号量简介 161
9.5 信号量相关API函数 161
9.6 OSSemPend函数源码分析 167
9.7 OSSemPost函数源码分析 169
9.8 实例与代码解析 172
本章任务 174
本章习题 174
第10章 μC/OS-III互斥量 175
10.1 共享资源与互斥访问 175
10.2 优先级翻转和优先级继承 180
10.3 死锁 181
10.4 守护任务 181
10.5 互斥量相关API函数 182
10.6 OSMutexPend函数源码分析 188
10.7 OSMutexPost函数源码分析 190
10.8 实例与代码解析 192
本章任务 194
本章习题 194
第11章 μC/OS-III事件标志组 195
11.1 事件标志组简介 195
11.2 事件标志组相关API函数 196
11.3 OSFlagPend函数源码分析 202
11.4 OSFlagPost函数源码分析 204
11.5 实例与代码解析 207
本章任务 210
本章习题 210
第12章 μC/OS-III等待多个项目 211
12.1 等待列表简介 211
12.2 等待多个项目 213
12.3 OSPendMulti函数 217
12.4 实例与代码解析 218
本章任务 221
本章习题 221
第13章 μC/OS-III内建消息队列 222
13.1 内建消息队列简介 222
13.2 内建消息队列相关API函数 222
13.3 OSTaskQPend函数源码分析 226
13.4 OSTaskQPost函数源码分析 228
13.5 实例与代码解析 230
本章任务 233
本章习题 233
第14章 μC/OS-III内建信号量 234
14.1 内建信号量简介 234
14.2 内建信号量相关API函数 234
14.3 OSTaskSemPend函数源码分析 237
14.4 OSTaskSemPost函数源码分析 239
14.5 实例与代码解析 242
本章任务 243
本章习题 244
第15章 μC/OS-III软件定时器 245
15.1 软件定时器及其模式 245
15.2 软件定时状态 247
15.3 软件定时器控制块 248
15.4 定时器任务 249
15.5 软件定时器列表 250
15.6 软件定时器相关API函数 251
15.7 实例与代码解析 256
本章任务 258
本章习题 258
第16章 μC/OS-III内存管理 259
16.1 内存管理简介 259
16.2 内存管理原理 259
16.3 内存管理相关API函数 260
16.4 OSMemCreate函数源码分析 263
16.5 OSMemGet函数源码分析 264
16.6 OSMemPut函数源码分析 265
16.7 实例与代码解析 265
本章任务 268
本章习题 268
第17章 μC/OS-III中断管理 269
17.1 中断简介 269
17.2 中断通知 270
17.3 临界段实现 271
17.4 中断服务管理任务简介 274
17.5 中断服务管理任务原理 274
17.6 中断管理相关API函数 279
17.7 OSIntEnter函数源码分析 279
17.8 OSIntExit函数源码分析 280
17.9 实例与代码解析 281
本章任务 283
本章习题 283
第18章 μC/OS-III CPU利用率 285
18.1 CPU利用率 285
18.2 统计总的CPU利用率 285
18.3 统计各个任务的CPU利用率 287
18.4 OSStatTaskCPUUsageInit函数 288
18.5 实例与代码解析 289
本章任务 291
本章习题 291
参考文献 292
1.1 裸机系统与操作系统 1
1.2 操作系统的分类 3
1.3 μC/OS-III介绍 4
本章任务 7
本章习题 7
第2章 GD32F3苹果派开发板简介 8
2.1 为什么选择GD32 8
2.2 GD32F3系列微控制器介绍 8
2.3 GD32F3苹果派开发板电路简介 10
2.4 基于μC/OS-III的应用实例 13
2.5 本书配套资料包 13
2.6 GD32微控制器开发工具安装与
配置 14
本章任务 20
本章习题 20
第3章 基准工程 21
3.1 GD32F30x系列微控制器的系统架构
与存储器映射 21
3.2 GD32工程模块名称及说明 25
3.3 Keil编辑、编译和程序下载过程 25
3.4 相关参考资料 26
3.5 代码框架 27
3.6 实例与代码解析 28
本章任务 48
本章习题 48
第4章 简易操作系统实现 49
4.1 裸机系统与操作系统的区别 49
4.2 任务切换基本原理 49
4.3 CPU工作寄存器和栈区 49
4.4 中断与异常 52
4.5 任务的特性 56
4.6 实例与代码解析 59
本章任务 72
本章习题 72
第5章 μC/OS-III移植 73
5.1 μC/OS-III源码获取 73
5.2 μC/OS-III配置 73
5.3 实例与代码解析 80
本章任务 92
本章习题 92
第6章 μC/OS-III任务管理 93
6.1 任务简介 93
6.2 就绪列表 101
6.3 内部任务 106
6.4 任务管理相关API函数 108
6.5 μC/OS-III的栈帧初始化 118
6.6 μC/OS-III启动第一个任务 120
6.7 μC/OS-III的PendSV异常处理 121
6.8 实例与代码解析 122
本章任务 124
本章习题 125
第7章 μC/OS-III时间管理 126
7.1 延时类型 126
7.2 延时列表 126
7.3 时间管理相关API函数 128
7.4 OSTimeDly函数源码分析 132
7.5 实例与代码解析 134
本章任务 136
本章习题 136
第8章 μC/OS-III消息队列 137
8.1 消息与消息队列 137
8.2 消息队列相关API函数 141
8.3 OSQPost函数源码分析 148
8.4 OSQPend函数源码分析 150
8.5 实例与代码解析 152
本章任务 155
本章习题 155
第9章 μC/OS-III信号量 156
9.1 中断延迟 156
9.2 二值信号量简介 157
9.3 计数信号量简介 160
9.4 μC/OS-III信号量简介 161
9.5 信号量相关API函数 161
9.6 OSSemPend函数源码分析 167
9.7 OSSemPost函数源码分析 169
9.8 实例与代码解析 172
本章任务 174
本章习题 174
第10章 μC/OS-III互斥量 175
10.1 共享资源与互斥访问 175
10.2 优先级翻转和优先级继承 180
10.3 死锁 181
10.4 守护任务 181
10.5 互斥量相关API函数 182
10.6 OSMutexPend函数源码分析 188
10.7 OSMutexPost函数源码分析 190
10.8 实例与代码解析 192
本章任务 194
本章习题 194
第11章 μC/OS-III事件标志组 195
11.1 事件标志组简介 195
11.2 事件标志组相关API函数 196
11.3 OSFlagPend函数源码分析 202
11.4 OSFlagPost函数源码分析 204
11.5 实例与代码解析 207
本章任务 210
本章习题 210
第12章 μC/OS-III等待多个项目 211
12.1 等待列表简介 211
12.2 等待多个项目 213
12.3 OSPendMulti函数 217
12.4 实例与代码解析 218
本章任务 221
本章习题 221
第13章 μC/OS-III内建消息队列 222
13.1 内建消息队列简介 222
13.2 内建消息队列相关API函数 222
13.3 OSTaskQPend函数源码分析 226
13.4 OSTaskQPost函数源码分析 228
13.5 实例与代码解析 230
本章任务 233
本章习题 233
第14章 μC/OS-III内建信号量 234
14.1 内建信号量简介 234
14.2 内建信号量相关API函数 234
14.3 OSTaskSemPend函数源码分析 237
14.4 OSTaskSemPost函数源码分析 239
14.5 实例与代码解析 242
本章任务 243
本章习题 244
第15章 μC/OS-III软件定时器 245
15.1 软件定时器及其模式 245
15.2 软件定时状态 247
15.3 软件定时器控制块 248
15.4 定时器任务 249
15.5 软件定时器列表 250
15.6 软件定时器相关API函数 251
15.7 实例与代码解析 256
本章任务 258
本章习题 258
第16章 μC/OS-III内存管理 259
16.1 内存管理简介 259
16.2 内存管理原理 259
16.3 内存管理相关API函数 260
16.4 OSMemCreate函数源码分析 263
16.5 OSMemGet函数源码分析 264
16.6 OSMemPut函数源码分析 265
16.7 实例与代码解析 265
本章任务 268
本章习题 268
第17章 μC/OS-III中断管理 269
17.1 中断简介 269
17.2 中断通知 270
17.3 临界段实现 271
17.4 中断服务管理任务简介 274
17.5 中断服务管理任务原理 274
17.6 中断管理相关API函数 279
17.7 OSIntEnter函数源码分析 279
17.8 OSIntExit函数源码分析 280
17.9 实例与代码解析 281
本章任务 283
本章习题 283
第18章 μC/OS-III CPU利用率 285
18.1 CPU利用率 285
18.2 统计总的CPU利用率 285
18.3 统计各个任务的CPU利用率 287
18.4 OSStatTaskCPUUsageInit函数 288
18.5 实例与代码解析 289
本章任务 291
本章习题 291
参考文献 292