導覽
近期變更
隨機頁面
新手上路
新頁面
優質條目評選
繁體
不转换
简体
繁體
3.145.85.123
登入
工具
閱讀
檢視原始碼
特殊頁面
頁面資訊
求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。
檢視 FREERTOS内核实现与应用开发实战指南 的原始碼
←
FREERTOS内核实现与应用开发实战指南
前往:
導覽
、
搜尋
由於下列原因,您沒有權限進行 編輯此頁面 的動作:
您請求的操作只有這個群組的使用者能使用:
用戶
您可以檢視並複製此頁面的原始碼。
{| class="wikitable" align="right" |- |<center><img src=https://www0.kfzimg.com/sw/kfzimg/969/acd530b6e6831ec1_s.jpg width="260"></center> <small>[https://book.kongfz.com/155184/7342700242 来自 孔夫子网 的图片]</small> |} 《'''FREERTOS内核实现与应用开发实战指南'''》,副标题:基于STM32,刘火良,杨森 著,出版社: 机械工业出版社。 机械工业出版社成立于1950年,是建国后国家设立的第一家科技[[出版社]],前身为科学技术出版社,1952年更名为机械工业出版社<ref>[https://www.maigoo.com/maigoo/6296cbs_index.html 中国十大出版社-出版社品牌排行榜],买购网</ref>。机械工业出版社(以下简称机工社)由[[机械工业信息研究院]]作为主办单位,目前隶属于国务院国资委<ref>[http://www.cmpbook.com/about 企业简介],机械工业出版社</ref>。 ==内容简介== 本书基于野火STM32全系列开发板介绍FreeRTOS内核实现与应用开发,全书分为两部分:部分教你如何从0到1把FreeRTOS内核写出来,从底层的汇编开始,讲解任务如何定义、如何切换,还讲解了阻塞延时如何实现,如何支持多优先级,如何实现定时器以及时间片等FreeRTOS的核心知识点;第二部分则开始讲解FreeRTOS内核组件的应用以及如何使用FreeRTOS进行多任务编程。 本书内容翔实,案例丰富,配有大量示例[[代码]],适合作为嵌入式领域工程师和爱好者的技术参考书,也适合相关专业的学生学习参考。 ==目录== 前 言 引 言 第一部分 从0到1教你写FreeRTOS内核 第1章 初识FreeRTOS 2 1.1 FreeRTOS版权 2 1.2 FreeRTOS收费问题 2 1.2.1 FreeRTOS 2 1.2.2 OpenRTOS 2 1.2.3 SaveRTOS 3 1.3 FreeRTOS资料获取 3 1.3.1 获取[[源码]] 3 1.3.2 获取书籍 4 1.3.3 快速入门 4 1.4 FreeRTOS的编程风格 5 1.4.1 数据类型 5 1.4.2 变量名 6 1.4.3 函数名 6 1.4.4 宏 7 1.4.5 格式 7 第2章 新建FreeRTOS工程—软件仿真 8 2.1 新建本地工程文件夹 8 2.2 使用KEIL新建工程 8 2.2.1 New Project 9 2.2.2 Select Device for Target 9 2.2.3 Manage Run-Time Environment 10 2.3 在KEIL工程中新建文件组 11 2.4 在KEIL工程中添加文件 11 2.5 调试配置 13 2.5.1 设置软件仿真 13 2.5.2 修改时钟大小 13 2.5.3 添加头文件路径 13 第3章 裸机系统与多任务系统 15 3.1 裸机系统 15 3.1.1 轮询系统 15 3.1.2 前后台系统 16 3.2 多任务系统 17 第4章 数据结构—列表与列表项 20 4.1 C语言链表 20 4.1.1 单向链表 20 4.1.2 双向链表 22 4.1.3 链表与数组的对比 22 4.2 FreeRTOS中链表的实现 23 4.2.1 实现链表节点 23 4.2.2 实现链表根节点 25 4.3 链表节点插入实验 31 4.4 实验现象 34 第5章 任务的定义与任务切换 35 5.1 本章目标 35 5.2 什么是任务 36 5.3 创建任务 37 5.3.1 定义任务栈 37 5.3.2 定义任务函数 38 5.3.3 定义任务控制块 39 5.3.4 实现任务创建函数 40 5.4 实现就绪列表 45 5.4.1 定义就绪列表 45 5.4.2 就绪列表初始化 45 5.4.3 将任务插入就绪列表 46 5.5 实现调度器 49 5.5.1 启动调度器 49 5.5.2 任务切换 54 5.6 main( )函数 58 5.7 实验现象 61 5.8 本章涉及的汇编指令 64 第6章 临界段的保护 65 6.1 什么是临界段 65 6.2 Cortex-M内核快速关中断指令 65 6.3 关中断 66 6.3.1 不带返回值的关中断函数 66 6.3.2 带返回值的关中断函数 67 6.4 开中断 67 6.5 进入/退出临界段的宏 68 6.5.1 进入临界段 68 6.5.2 退出临界段 69 6.6 临界段代码的应用 70 6.7 实验现象 71 第7章 空闲任务与阻塞延时 72 7.1 实现空闲任务 72 7.1.1 定义空闲任务的栈 72 7.1.2 定义空闲任务的任务控制块 73 7.1.3 创建空闲任务 73 7.2 实现阻塞延时 74 7.2.1 vTaskDelay( )函数 74 7.2.2 修改vTaskSwitchContext( )函数 75 7.3 SysTick中断服务函数 77 7.4 SysTick初始化函数 78 7.5 main( )函数 80 7.6 实验现象 83 第8章 多优先级 84 8.1 支持多优先级的方法 84 8.2 查找最高优先级的就绪任务相关代码 85 8.2.1 通用方法 87 8.2.2 优化方法 87 8.3 修改代码以支持多优先级 89 8.3.1 修改任务控制块 89 8.3.2 修改xTaskCreateStatic( )函数 89 8.3.3 修改vTaskStartScheduler( )函数 93 8.3.4 修改vTaskDelay( )函数 94 8.3.5 修改vTaskSwitchContext( )函数 95 8.3.6 修改xTaskIncrementTick( )函数 96 8.4 main( )函数 97 8.5 实验现象 100 第9章 任务延时列表 102 9.1 任务延时列表的工作原理 102 9.2 实现任务延时列表 103 9.2.1 定义任务延时列表 103 9.2.2 任务延时列表初始化 103 9.2.3 定义xNextTaskUnblock-Time 103 9.2.4 初始化xNextTaskUnblock-Time 104 9.3 修改代码以支持任务延时列表 104 9.3.1 修改vTaskDelay( )函数 105 9.3.2 修改xTaskIncrementTick( )函数 107 9.3.3 修改taskRESET_READY_PRIORITY( )函数 109 9.4 main( )函数 110 9.5 实验现象 110 第10章 时间片 111 10.1 时间片测试实验 111 10.2 main.c文件 112 10.3 实验现象 115 10.4 原理分析 116 10.4.1 taskSELECT_HIGHEST_PRIORITY_TASK( )函数 116 10.4.2 taskRESET_READY_PRIORITY( )函数 117 10.5 修改代码以支持优先级 118 10.5.1 修改xPortSysTick-Handler( )函数 118 10.5.2 修改xTaskIncrement-Tick( )函数 119 第二部分 FreeRTOS内核应用开发 第11章 移植FreeRTOS到STM32 124 11.1 获取STM32的裸机工程模板 124 11.2 下载FreeRTOS V9.0.0源码 124 11.3 FreeRTOS文件夹内容 126 11.3.1 FreeRTOS文件夹 126 11.3.2 FreeRTOS-Plus文件夹 128 11.3.3 HTML文件 129 11.4 向裸机工程中添加FreeRTOS源码 129 11.4.1 提取FreeRTOS最简源码 129 11.4.2 复制FreeRTOS到裸机工程根目录 130 11.4.3 复制FreeRTOSConf?ig.h文件到User文件夹 131 11.4.4 添加FreeRTOS源码到工程组文件夹 131 11.5 修改FreeRTOSConf?ig.h文件 133 11.5.1 FreeRTOSConf?ig.h文件内容 133 11.5.2 修改FreeRTOSConfig.h文件 143 11.6 修改stm32f10x_it.c文件 147 11.7 修改main.c文件 151 11.8 下载验证 152 第12章 任务 153 12.1 硬件初始化 ==参考文献== [[Category:040 類書總論;百科全書總論]]
返回「
FREERTOS内核实现与应用开发实战指南
」頁面