導覽
近期變更
隨機頁面
新手上路
新頁面
優質條目評選
繁體
不转换
简体
繁體
18.222.106.205
登入
工具
閱讀
檢視原始碼
特殊頁面
頁面資訊
求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。
檢視 FreeRTOS源码详解与应用开发·基于STM32 的原始碼
←
FreeRTOS源码详解与应用开发·基于STM32
前往:
導覽
、
搜尋
由於下列原因,您沒有權限進行 編輯此頁面 的動作:
您請求的操作只有這個群組的使用者能使用:
用戶
您可以檢視並複製此頁面的原始碼。
{| class="wikitable" align="right" |- |<center><img src=https://www0.kfzimg.com/sw/kfz-cos/kfzimg/5126996/d6c671f50e86abd7_s.jpg width="260"></center> <small>[https://book.kongfz.com/177675/7012261065 来自 孔夫子网 的图片]</small> |} 《'''FreeRTOS源码详解与应用开发·基于STM32'''》,许颖劲 左忠凯 著,出版社: 北京航空航天大学出版社。 [[书籍]]对于人类原有很重大的意义,但,书籍不仅对那些不会读书的人是毫无用处,就是对那些机械地读完了书还不会从死的文字中引申活的思想<ref>[https://www.docin.com/p-581834483.html 思想指导人生],豆丁网,2013-01-15</ref>的人也是无用的。 —— [[乌申斯基]]<ref>[http://www.offcn.com/jiaoshi/2021/0919/479055.html 乌申斯基的教育思想],中公教育,2021-09-19</ref> ==内容简介== 本书辅以大量的例程,全面讲解了FreeRTOS的原理以及源码,主要内容包括任务管理和任务调度、系统裁减和配置、时间管理、队列、信号量、软件定时器、事件标志组、任务通知、低功耗Tickless模式、空闲任务以及内存管理等。同时,本书配有大量的图例,对于想要深入学习RTOS类系统原理的人来说是一个不错的选择。本书是再版书,相比旧版,使用了更新的FreeRTOS内核版本作为解析对象,并针对FreeRTOS在多种ARM Cortex- M 架构下的运行进行了介绍;同时,本书对知识点的介绍更加详细、讲解的先后顺序更加合理。 本书配套资料包括[[视频]]教程、文档教程、各个例程的源码及相关参考资料。 ==目录== 第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 ==参考文献== [[Category:040 類書總論;百科全書總論]]
返回「
FreeRTOS源码详解与应用开发·基于STM32
」頁面