FreeRTOS源码详解与应用开发 基于STM32PDF电子书下载
- 电子书积分:13 积分如何计算积分?
- 作 者:左忠凯,刘军,张洋编著
- 出 版 社:北京:北京航空航天大学出版社
- 出版年份:2017
- ISBN:9787512423954
- 页数:374 页
第1章FreeRTOS简介 1
1.1初识FreeRTOS 1
1.1.1什么是FreeRTOS 1
1.1.2为什么选择FreeRTOS 2
1.1.3 FreeRTOS的特点 3
1.1.4商业许可 3
1.2磨刀不误砍柴工 4
1.2.1资料查找 4
1.2.2 FreeRTOS官方文档 6
1.2.3 Cortex-M架构资料 8
1.3 FreeRTOS源码初探 8
1.3.1 FreeRTOS源码下载 8
1.3.2 FreeRTOS文件预览 10
1.4 FreeRTOS编码标准和风格 14
第2章FreeRTOS移植 19
2.1准备工作 19
2.2 FreeRTOS移植 20
2.2.1向工程中添加相应文件 20
2.2.2修改SYSTEM文件 25
2.3移植验证实验 29
2.3.1程序设计 29
2.3.2程序运行结果 32
第3章FreeRTOS系统配置 34
3.1 “INCLUDE_”开始的宏 34
3.2 “config”开始的宏 36
第4章FreeRTOS任务相关API函数 43
4.1任务创建和删除API函数 43
4.2任务创建和删除实验(动态方法) 46
4.2.1程序设计 46
4.2.2程序运行结果 49
4.3任务创建和删除实验(静态方法) 50
4.3.1程序设计 50
4.3.2程序运行结果 55
4.4任务挂起和恢复API函数 55
4.5任务挂起和恢复实验 56
4.5.1程序设计 56
4.5.2程序运行结果 61
第5章FreeRTOS中断配置和临界段 62
5.1 Cortex-M中断 62
5.1.1中断 62
5.1.2中断管理 62
5.1.3优先级分组定义 64
5.1.4优先级设置 66
5.1.5用于中断屏蔽的特殊寄存器 67
5.2 FreeRTOS中断配置宏 68
5.3 FreeRTOS开关中断 71
5.4临界段代码 72
5.4.1任务级临界段代码保护 72
5.4.2中断级临界段代码保护 74
5.5 FreeRTOS中断测试实验 75
5.5.1程序设计 75
5.5.2程序运行结果 79
第6章FreeRTOS任务基础知识 80
6.1什么是多任务系统 80
6.2 FreeRTOS任务与协程 81
6.2.1任务的特性 82
6.2.2协程的特性 82
6.3任务状态 82
6.4任务优先级 84
6.5任务实现 84
6.6任务控制块 85
6.7任务堆栈 86
第7章FreeRTOS列表和列表项 88
7.1什么是列表和列表项 88
7.1.1列表 88
7.1.2列表项 89
7.1.3迷你列表项 90
7.2列表和列表项初始化 90
7.2.1列表初始化 90
7.2.2列表项初始化 91
7.3列表项插入 92
7.3.1列表项插入函数 92
7.3.2列表项插入过程 93
7.4列表项末尾插入 95
7.4.1列表项末尾插入函数 95
7.4.2列表项末尾插入过程 96
7.5列表项的删除 97
7.6列表的遍历 98
7.7列表项的插入和删除实验 99
7.7.1程序设计 99
7.7.2程序运行结果 103
第8章FreeRTOS调度器开启和任务相关函数 107
8.1本章必备的知识 107
8.2调度器开启过程 108
8.2.1任务调度器开启函数 108
8.2.2内核相关硬件初始化函数 109
8.2.3使能FPU函数 110
8.2.4启动第一个任务 111
8.2.5 SVC中断服务函数 112
8.2.6空闲任务 117
8.3任务创建过程 117
8.3.1任务创建函数 117
8.3.2任务初始化函数 119
8.3.3任务堆栈初始化函数 121
8.3.4添加任务到就绪列表 123
8.4任务删除过程 125
8.5任务挂起过程 127
8.6任务恢复过程 129
第9章FreeRTOS任务切换 132
9.1 PendSV异常 132
9.2 FreeRTOS任务切换场合 132
9.2.1执行系统调用 132
9.2.2系统滴答定时器中断 133
9.3 PendSV中断服务函数 134
9.4查找下一个要运行的任务 136
9.5 FreeRTOS时间片调度 138
9.6时间片调度实验 140
9.6.1程序设计 140
9.6.2程序运行结果 143
第10章FreeRTOS系统内核控制函数 145
10.1内核控制函数预览 145
10.2内核控制函数详解 146
第11章FreeRTOS其他任务API函数 150
11.1任务相关API函数简介 150
11.2任务相关API函数详解 151
11.3任务状态查询API函数实验 159
11.3.1程序设计 159
11.3.2程序运行结果 163
11.4任务运行时间信息统计实验 164
11.4.1相关宏的设置 164
11.4.2程序设计 166
11.4.3程序运行结果 169
第12章FreeRTOS时间管理 171
12.1 FreeRTOS延时函数 171
12.1.1函数vTa skDelay() 171
12.1.2函数prvAddCurrentTaskToDelayedList() 172
12.1.3函数vTaskDelayUntil() 174
12.2 FreeRTOS系统时钟节拍 178
12.2.1滴答定时器 178
12.2.2 FreeRTOS系统时钟节拍函数 180
第13章FreeRTOS队列 185
13.1队列 185
13.2队列结构体 188
13.3队列创建 189
13.3.1函数原型 189
13.3.2队列创建函数 191
13.3.3队列初始化函数 192
13.3.4队列复位函数 193
13.4向队列发送消息 194
13.4.1函数原型 194
13.4.2任务级通用入队函数 199
13.4.3中断级通用入队函数 202
13.5队列上锁和解锁 204
13.6从队列读取消息 207
13.7队列操作实验 210
13.7.1程序设计 210
13.7.2程序运行结果 218
第14章FreeRTOS信号量 219
14.1简介 219
14.2二值信号量 220
14.2.1二值信号量简介 220
14.2.2二值信号量创建函数 222
14.2.3二值信号量创建过程 223
14.2.4释放信号量 224
14.2.5获取信号量 226
14.3二值信号量操作实验 227
14.3.1程序设计 227
14.3.2程序运行结果 232
14.4计数型信号量 234
14.4.1计数型信号量简介 234
14.4.2计数型信号量创建函数 234
14.4.3计数型信号量创建过程 235
14.4.4释放和获取计数信号量 236
14.5计数型信号量操作实验 236
14.5.1程序设计 236
14.5.2程序运行结果 240
14.6优先级翻转简介 241
14.7优先级翻转实验 242
14.7.1程序设计 242
14.7.2程序运行结果 246
14.8互斥信号量 248
14.8.1简介 248
14.8.2互斥信号量创建函数 248
14.8.3互斥信号量创建过程 249
14.8.4释放互斥信号量 250
14.8.5获取互斥信号量 254
14.9互斥信号量操作实验 259
14.9.1程序设计 259
14.9.2程序运行结果 261
14.10递归互斥信号量 262
14.10.1简介 262
14.10.2递归互斥信号量创建函数 263
14.10.3递归信号量创建过程 263
14.10.4释放递归互斥信号量 264
14.10.5获取递归互斥信号量 265
14.10.6递归互斥信号量使用示例 266
第15章FreeRTOS软件定时器 268
15.1软件定时器简介 268
15.2定时器服务/Daemon任务 268
15.2.1定时器服务任务与队列 268
15.2.2定时器相关配置 269
15.3单次定时器和周期定时器 270
15.4复位软件定时器 270
15.5创建软件定时器 272
15.6开启软件定时器 274
15.7停止软件定时器 275
15.8软件定时器实验 276
15.8.1程序设计 276
15.8.2程序运行结果 280
第16章FreeRTOS事件标志组 281
16.1事件标志组 281
16.2创建事件标志组 282
16.3设置事件位 283
16.4获取事件标志组值 285
16.5等待指定的事件位 286
16.6事件标志组实验 286
16.6.1程序设计 286
16.6.2程序运行结果 291
第17章FreeRTOS任务通知 293
17.1任务通知 293
17.2发送任务通知 294
17.3任务通知通用发送函数 297
17.3.1任务级任务通知通用发送函数 297
17.3.2中断级任务通知发送函数 299
17.4获取任务通知 302
17.5任务通知模拟二值信号量实验 306
17.5.1程序设计 306
17.5.2程序运行结果 309
17.6任务通知模拟计数型信号量实验 309
17.6.1程序设计 309
17.6.2程序运行结果 311
17.7任务通知模拟消息邮箱实验 311
17.7.1程序设计 311
17.7.2程序运行结果 315
17.8任务通知模拟事件标志组实验 315
17.8.1程序设计 315
17.8.2程序运行结果 318
第18章FreeRTOS低功耗Tickless模式 319
18.1 STM32F4低功耗模式 319
18.1.1睡眠模式 320
18.1.2停止模式 320
18.1.3待机模式 321
18.2 Tickless模式详解 322
18.2.1如何降低功耗 322
18.2.2 Tickless的具体实现 323
18.3低功耗Tickless模式实验 328
18.3.1程序设计 328
18.3.2程序运行结果 333
第19章FreeRTOS空闲任务 335
19.1空闲任务 335
19.1.1空闲任务简介 335
19.1.2空闲任务的创建 335
19.1.3空闲任务函数 337
19.2空闲任务钩子函数 339
19.2.1钩子函数 339
19.2.2空闲任务钩子函数详解 340
19.3空闲任务钩子函数实验 341
19.3.1程序设计 341
19.3.2程序运行结果 343
第20章FreeRTOS内存管理 344
20.1 FreeRTOS内存管理简介 344
20.2内存碎片 345
20.3 heap_1内存分配方法 346
20.3.1分配方法简介 346
20.3.2内存申请函数 346
20.3.3内存释放函数 349
20.4 heap_2内存分配方法 349
20.4.1分配方法简介 349
20.4.2内存块 350
20.4.3内存堆初始化函数 351
20.4.4内存块插入函数 351
20.4.5内存申请函数 352
20.4.6内存释放函数 355
20.5 heap_3内存分配方法 356
20.6 heap_4内存分配方法 357
20.6.1分配方法 357
20.6.2内存堆初始化函数 358
20.6.3内存块插入函数 360
20.6.4内存申请函数 362
20.6.5内存释放函数 365
20.7 heap_5内存分配方法 366
20.8内存管理实验 368
20.8.1程序设计 368
20.8.2程序运行结果 371
参考文献 374
- 《钒产业技术及应用》高峰,彭清静,华骏主编 2019
- 《现代水泥技术发展与应用论文集》天津水泥工业设计研究院有限公司编 2019
- 《英汉翻译理论的多维阐释及应用剖析》常瑞娟著 2019
- 《数据库技术与应用 Access 2010 微课版 第2版》刘卫国主编 2020
- 《高等数学试题与详解》西安电子科技大学高等数学教学团队 2019
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《虚拟流域环境理论技术研究与应用》冶运涛蒋云钟梁犁丽曹引等编著 2019
- 《当代翻译美学的理论诠释与应用解读》宁建庚著 2019
- 《第一性原理方法及应用》李青坤著 2019
- 《高含硫气藏开发腐蚀控制技术与实践》唐永帆,张强 2018
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019