书籍详情

FreeRTOS源码详解与应用开发:基于STM32(第2版)

FreeRTOS源码详解与应用开发:基于STM32(第2版)

作者:许颖劲 左忠凯

出版社:北京航空航天大学出版社

出版时间:2023-09-01

ISBN:9787512441002

定价:¥89.00

购买这本书可以去
内容简介
  本书辅以大量的例程,全面讲解了FreeRTOS的原理以及源码,主要内容包括任务管理和任务调度、系统裁减和配置、时间管理、队列、信号量、软件定时器、事件标志组、任务通知、低功耗Tickless模式、空闲任务以及内存管理等。同时,本书配有大量的图例,对于想要深入学习RTOS类系统原理的人来说是一个不错的选择。本书是再版书,相比旧版,使用了更新的FreeRTOS内核版本作为解析对象,并针对FreeRTOS在多种ARM Cortex- M 架构下的运行进行了介绍;同时,本书对知识点的介绍更加详细、讲解的先后顺序更加合理。本书配套资料包括视频教程、文档教程、各个例程的源码及相关参考资料。
作者简介
暂缺《FreeRTOS源码详解与应用开发:基于STM32(第2版)》作者简介
目录
第1章 FreeRTOS简介  1
1.1 初识FreeRTOS  1
1.1.1 什么是FreeRTOS  1
1.1.2 为什么选择FreeRTOS  2
1.1.3 FreeRTOS的特点  2
1.1.4 商业许可  2
1.2 磨刀不误砍柴工  3
1.2.1 查找资料  3
1.2.2 FreeRTOS官方文档  5
1.2.3 Cortex M 架构资料  7
1.3 FreeRTOS源码初探  7
1.3.1 FreeRTOS源码下载  7
1.3.2 FreeRTOS文件预览  9
第2章 FreeRTOS移植  11
2.1 FreeRTOS移植 11
2.1.1 移植前准备 11
2.1.2 添加FreeRTOS文件  12
2.1.3 修改SYSTEM 文件  15
2.1.4 修改中断相关文件 22
2.1.5 可选步骤(建议完成) 24
2.1.6 添加应用程序 25
2.1.7 使用AC6编译工程(扩展) 32
2.2 FreeRTOS移植实验 33
2.2.1 功能设计 33
2.2.2 软件设计 34
2.2.3 下载验证 35
第3章 FreeRTOS系统配置  37
3.1 FreeRTOSConfig.h文件  37
3.2 config配置项 37
3.2.1 基础配置项 矯p扷CRS翪38
3.2.2 内存分配相关定义 40
3.2.3 钩子函数相关定义 41
3.2.4 运行时间和任务状态统计相关定义 42
3.2.5 协程相关定义 43
3.2.6 软件定时器相关定义 43
3.2.7 中断嵌套行为配置 43
3.2.8 断 言 44
3.2.9 FreeRTOS MPU特殊定义  44
3.3 INCLUDE配置项  45
3.4 其他配置项 46
第4章 FreeRTOS中断管理  47
4.1 ARM Cortex M 中断  47
4.1.1 简 介 47
4.1.2 中断优先级管理 47
4.1.3 3个系统中断优先级配置寄存器  49
4.1.4 3个中断屏蔽寄存器  50
4.1.5 中断控制状态寄存器 52
4.2 FreeRTOS中断配置项 52
4.3 FreeRTOS中断管理详解 54
4.3.1 PendSV和SysTick中断优先级  54
4.3.2 FreeRTOS开关中断 55
4.3.3 FreeRTOS进出临界区 56
4.4 FreeRTOS中断测试实验 59
4.4.1 功能设计 59
4.4.2 软件设计 59
4.4.3 下载验证 62
第5章 FreeRTOS任务基础知识  63
5.1 单任务和多任务系统 63
5.1.1 单任务系统 63
5.1.2 多任务系统 64
5.2 FreeRTOS任_____羅_务状态 65
5.3 FreeRTOS任务优先级 66
5.4 FreeRTOS任务调度方式 67
5.5 FreeRTOS任务控制块 68
5.6 FreeRTOS任务栈 69
第6章 FreeRTOS任务相关API函数  71
6.1 FreeRTOS创建和删除任务相关 API函数  71
6.2 FreeRTOS任务创建与删除实验(动态方法) 75
6.2.1 功能设计 75
6.2.2 软件设计 75
6.2.3 下载验证 78
6.3 FreeRTOS任务创建与删除实验(静态方法) 79
6.3.1 功能设计 79
6.3.2 软件设计 79
6.3.3 下载验证 83
6.4 FreeRTOS挂起和恢复任务相关 API函数  84
6.5 FreeRTOS任务挂起与恢复实验 85
6.5.1 功能设计 85
6.5.2 软件设计 86
6.5.3 下载验证 89
第7章 FreeRTOS列表和列表项  90
7.1 FreeRTOS列表和列表项简介 90
7.1.1 列 表 90
7.1.2 列表项 91
7.1.3 迷你列表项 92
7.2 FreeRTOS列表和列表项相关 API函数  92
7.3 FreeRTOS操作列表和列表项的宏 98
7.4 FreeRTOS列表项的插入与删除实验 99
7.4.1 功能设计 99
7.4.2 软件设计 99
7.4.3 下载验证  102
第8章 FreeRTOS系统启动流程及任务相关函数解析  107
8.1 FreeRTOS开启任务调度器  107
8.1.1 函数vTaskStartScheduler() 107
8.1.2 函数xPortStartScheduler() 110
8.2 FreeRTOS启动个任务  112
8.2.1 函数prvStartFirstTask() 112
8.2.2 函数vPortSVCHandler() 113
8.3 FreeRTOS任务状态列表  115
8.4 FreeRTOS创建任务函数解析  116
8.5 FreeRTOS删除任务函数解析  127
FreeRTOS源码详解与应用开发———基于STM32(第2版) 4 · 8.6 FreeRTOS挂起任务函数解析  130
8.7 FreeRTOS恢复任务函数解析  134
8.8 FreeRTOS空闲任务  135
第9章 FreeRTOS任务切换  137
9.1 PendSV异常  137
9.2 PendSV中断服务函数  139
9.3 FreeRTOS确定下一个要运行的任务  143
9.4 PendSV异常何时触发  145
9.5 FreeRTOS时间片调度实验  146
9.5.1 功能设计  146
9.5.2 软件设计  147
9.5.3 下载验证  149
第10章 FreeRTOS内核控制函数  150
10.1 FreeRTOS内核控制函数预览 150
10.2 FreeRTOS内核控制函数详解 151
第11章 FreeRTOS其他任务API函数  156
11.1 FreeRTOS任务相关API函数  156
11.1.1 FreeRTOS任务相关API函数预览  156
11.1.2 FreeRTOS任务相关API函数详解  157
11.2 FreeRTOS任务状态与信息查询实验 166
11.2.1 功能设计 166
11.2.2 软件设计 166
11.2.3 下载验证 170
11.3 FreeRTOS任务运行时间统计实验 172
11.3.1 功能设计 172
11.3.2 软件设计 172
11.3.3 下载验证 176
第12章 FreeRTOS时间管理  178
12.1 FreeRTOS系统时钟节拍 178
12.1.1 FreeRTOS系统时钟节拍简介 178
12.1.2 FreeRTOS系统时钟节拍来源 178
12.1.3 FreeRTOS系统时钟节拍处理 180
12.2 FreeRTOS任务延时函数 185
第13章 FreeRTOS队列  193
13.1 FreeRTOS队列简介 193
13.2 FreeRTOS队列相关API函数  196
13.2.1 队列结构体 196
13.2.2 创建队列 197
13.2.3 队列写入消息 205
13.2.4 队列读取消息 215
13.2.5 队列锁 217
13.3 FreeRTOS队列操作实验 220
13.3.1 功能设计 220
13.3.2 软件设计 220
13.3.3 下载验证 223
13.4 FreeRTOS队列集 223
13.5 FreeRTOS队列集相关API函数  224
13.6 FreeRTOS队列集操作实验 228
13.6.1 功能设计 228
13.6.2 软件设计 229
13.6.3 下载验证 232
13.7 FreeRTOS队列集模拟事件标志位实验 234
13.7.1 功能设计 234
13.7.2 软件设计 234
13.7.3 下载验证 237
第14章 FreeRTOS信号量  239
14.1 FreeRTOS信号量简介 239
14.2 FreeRTOS二值信号量 240
14.2.1 FreeRTOS二值信号量简介 240
14.2.2 FreeRTOS二值信号量相关 API函数  240
14.3 FreeRTOS二值信号量操作实验 249
14.3.1 功能设计 249
14.3.2 软件设计 249
14.3.3 下载验证 252
14.4 FreeRTOS计数型信号量 253
14.4.1 FreeRTOS计数型信号量简介 253
14.4.2 FreeRTOS计数型信号量相关API函数  253
14.5 FreeRTOS计数型信号量操作实验 255
14.5.1 功能设计 255
14.5.2 软件设计 255
14.5.3 下载验证 258
14.6 优先级翻转 258   14.7 优先级翻转实验 260
14.7.1 功能设计 260
14.7.2 软件设计 260
14.7.3 下载验证 263
14.8 FreeRTOS互斥信号量 264
14.8.1 FreeRTOS互斥信号量简介 264
14.8.2 FreeRTOS互斥信号量相关 API函数  264
14.9 FreeRTOS互斥信号量操作实验 266
14.9.1 功能设计 266
14.9.2 软件设计 267
14.9.3 下载验证 269
14.10 FreeRTOS递归互斥信号量  270
14.10.1 FreeRTOS递归互斥信号量简介  270
14.10.2 FreeRTOS递归互斥信号量相关API函数  271
14.10.3 FreeRTOS递归互斥信号量的使用示例  273
第15章 FreeRTOS软件定时器  275
15.1 FreeRTOS软件定时器简介 275
15.1.1 FreeRTOS软件定时器服务任务简介 276
15.1.2 软件定时器命令队列 276
15.1.3 软件定时器的状态 276
15.1.4 单次定时器和周期定时器 277
15.1.5 软件定时器的状态转换图 278
15.1.6 复位软件定时器 278
15.2 FreeRTOS软件定时器相关配置 279
15.3 FreeRTOS软件定时器相关API函数  279
15.4 FreeRTOS软件定时器实验 286
15.4.1 功能设计 286
15.4.2 软件设计 286
15.4.3 下载验证 289
第16章 FreeRTOS事件标志组  291
16.1 FreeRTOS事件标志组简介 291
16.2 FreeRTOS事件标志组相关API函数  292
16.3 FreeRTOS事件标志组实验 298
16.3.1 功能设计 298
16.3.2 软件设计 298
16.3.3 下载验证 301
第17章 FreeRTOS任务通知  303
17.1 FreeRTOS任务通知简介 303
17.1.1 任务通知的优势 304
17.1.2 任务通知的缺点 304
17.2 FreeRTOS任务通知相关API函数  305
17.3 FreeRTOS任务通知模拟二值信号量实验 321
17.3.1 功能设计 321
17.3.2 软件设计 321
17.3.3 下载验证 324
17.4 FreeRTOS任务通知模拟计数型信号量实验 324
17.4.1 功能设计 324
17.4.2 软件设计 324
17.4.3 下载验证 327
17.5 FreeRTOS任务通知模拟消息邮箱实验 328
17.5.1 功能设计 328
17.5.2 软件设计 328
17.5.3 下载验证 331
17.6 FreeRTOS任务通知模拟事件标志组实验 332
17.6.1 功能设计 332
17.6.2 软件设计 332
17.6.3 下载验证 335
第18章 FreeRTOS低功耗Tickless模式  337
18.1 FreeRTOS低功耗Tickless模式简介 337
18.1.1 空闲任务中的低功耗Tickless处理  337
18.1.2 函数portSUPPRESS_TICKS_AND_SLEEP() 339
18.2 FreeRTOS低功耗Tickless模式相关配置项 340
18.3 FreeRTOS低功耗Tickless实验 340
18.3.1 功能设计 340
18.3.2 软件设计 341
18.3.3 下载验证 344
第19章 FreeRTOS空闲任务  345
19.1 FreeRTOS空闲任务详解 345
19.1.1 FreeRTOS空闲任务简介 345
19.1.2 FreeRTOS空闲任务的创建 345
19.1.3 FreeRTOS空闲任务的任务函数 346
19.2 FreeRTOS空闲任务钩子函数 347
19.2.1 FreeRTOS中的钩子函数 347
19.2.2 FreeRTOS空闲任务钩子函数 347
19.3 FreeRTOS空闲任务钩子函数实验 348
19.3.1 功能设计 348
19.3.2 软件设计 348
19.3.3 下载验证 350
第20章 FreeRTOS内存管理  352
20.1 FreeRTOS内存管理简介 352
20.2 FreeRTOS内存管理算法 353
20.2.1 heap_1内存管理算法  353
20.2.2 heap_2内存管理算法  356
20.2.3 heap_3内存管理算法  363
20.2.4 heap_4内存管理算法  364
20.2.5 heap_5内存管理算法  374
20.3 FreeRTOS内存管理实验 378
20.3.1 功能设计 378
20.3.2 软件设计 378
20.3.3 下载验证 381
猜您喜欢

读书导航