本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
书[0名0]: | RT-Thread内核实现与应用开发实战指南:基于STM32|8054932 |
图书定价: | 99元 |
图书作者: | 刘火良 杨森 |
出版社: | [1机1]械工业出版社 |
出版日期: | 2018/12/13 0:00:00 |
ISBN号: | 9787111613664 |
开本: | 16开 |
页数: | 416 |
版次: | 1-1 |
作者简介 |
刘火良 杨森 编著:暂无简介 |
内容简介 |
本书基于野火STM32全系列开发板介绍RT-Thread内核实现与应用开发,全书分为两部分:[0第0]一部分教你如何从0到1把RT-Thread内核写出来,从底层的汇编开始讲解线程如何定义、如何切换,还讲解了阻塞延时如何实现、如何支持多[0优0]先级、如何实现定时器以及时间片等RT-Thread的核心[0知0]识点;[0第0]二部分则讲解RT-Thread内核组[亻牛]的应用以及如何使用RT-Thread进行多线程编程。 本书内容翔实,案例丰富,配有[0大0]量示例代码,适合作为嵌入式[令页]域科技工作者的参考书,也适合相关专业[0学0]生[0学0]习参考。 |
目录 |
推荐序 前言 引言 [0第0]一部分 从0到1教你写RT-Thread内核 [0第0]1章 [亲斤]建RT-Thread工程——软[亻牛]仿真 2 1.1 [亲斤]建本地工程文[亻牛]夹 2 1.2 使用KEIL[亲斤]建工程 3 1.2.1 New Project 3 1.2.2 Select Device for Target 3 1.2.3 Manage Run-Time Environment 4 1.3 在KEIL工程中[亲斤]建文[亻牛]组 5 1.4 在KEIL工程中添加文[亻牛] 6 1.5 调试配置 7 1.5.1 设置软[亻牛]仿真 7 1.5.2 修改时钟[0大0]小 8 1.5.3 添加头文[亻牛]路径 9 [0第0]2章 裸[1机1]系统与多线程系统 10 2.1 裸[1机1]系统 10 2.1.1 轮询系统 10 2.1.2 前后台系统 11 2.2 多线程系统 12 [0第0]3章 线程的定义与线程切换的实现 15 3.1 什么是线程 16 3.2 创建线程 17 3.2.1 定义线程栈 17 3.2.2 定义线程函数 19 3.2.3 定义线程控制块 20 3.2.4 实现线程创建函数 20 3.3 实现就绪列表 30 3.3.1 定义就绪列表 30 3.3.2 将线程插入就绪列表 30 3.4 实现调度器 31 3.4.1 调度器初始化 32 3.4.2 启动调度器 33 3.4.3 [0第0]一次线程切换 34 3.4.4 系统调度 41 3.5 main()函数 44 3.6 实验现象 47 [0第0]4章 临界段的保护 50 4.1 什么是临界段 50 4.2 Cortex-M内核快速关中断指令 50 4.3 关中断 51 4.4 开中断 51 4.5 临界段代码的应用 52 4.6 实验现象 56 [0第0]5章 对象容器 57 5.1 什么是对象 57 5.1.1 对象枚举的定义 57 5.1.2 对象数据类型的定义 57 5.1.3 在线程控制块中添加对象成员 58 5.2 什么是容器 59 5.3 容器的接口实现 63 5.3.1 获取指定类型的对象信息 64 5.3.2 对象初始化 64 5.3.3 调用对象初始化函数 67 5.4 实验现象 67 [0第0]6章 空闲线程与阻塞延时 68 6.1 实现空闲线程 68 6.1.1 定义空闲线程的栈 68 6.1.2 定义空闲线程的线程控制块 69 6.1.3 定义空闲线程函数 69 6.1.4 空闲线程初始化 69 6.2 实现阻塞延时 70 6.3 SysTick_Handler()中断服务函数 73 6.4 main()函数 77 6.5 实验现象 80 [0第0]7章 多[0优0]先级 82 7.1 就绪列表 82 7.1.1 线程就绪[0优0]先级组 82 7.1.2 线程[0优0]先级表 86 7.2 修改代码以支持多[0优0]先级 88 7.2.1 修改线程控制块 88 7.2.2 修改调度器初始化函数rt_system_scheduler_init() 90 7.2.3 修改线程初始化函数rt_thread_init() 91 7.2.4 添加线程启动函数rt_thread_startup() 92 7.2.5 修改空闲线程初始化函数rt_thread_idle_init() 93 7.2.6 修改启动系统调度器函数rt_system_scheduler_start() 94 7.2.7 修改系统调度函数rt_schedule() 95 7.2.8 修改阻塞延时函数rt_thread_delay() 98 7.2.9 修改时基更[亲斤]函数rt_tick_increase() 98 7.3 main()函数 99 7.4 实验现象 102 [0第0]8章 定时器 103 8.1 实现定时器 103 8.1.1 系统定时器列表 103 8.1.2 系统定时器列表初始化 104 8.1.3 定义定时器结构体 104 8.1.4 在线程控制块中内置定时器 105 8.1.5 定时器初始化函数 106 8.1.6 定时器删除函数 108 8.1.7 定时器停止函数 108 8.1.8 定时器控制函数 109 8.1.9 定时器启动函数 110 8.1.10 定时器扫描函数 115 8.2 修改代码以支持定时器 118 8.2.1 修改线程初始化函数 118 8.2.2 修改线程延时函数 119 8.2.3 修改系统时基更[亲斤]函数 121 8.2.4 修改main.c文[亻牛] 122 8.3 实验现象 126 [0第0]9章 时间片 127 9.1 实现时间片 127 9.1.1 在线程控制块中添加时间片相关成员 127 9.1.2 修改线程初始化函数 128 9.1.3 修改空闲线程初始化函数 129 9.1.4 修改系统时基更[亲斤]函数 129 9.2 修改main.c文[亻牛] 131 9.3 实验现象 135 [0第0]二部分 RT-Thread 内核应用开发 [0第0]10章 移植RT-Thread到STM32 138 10.1 获取STM32的裸[1机1]工程模板 138 10.2 下载RT-Thread Na[0no0]源码 138 10.3 安装RT-Thread Package 139 10.4 向裸[1机1]工程中添加RT-Thread源码 140 10.4.1 复制RT-Thread Package到裸[1机1]工程根目录 140 10.4.2 复制rtconfig.[HW][亻牛]到User文[亻牛]夹 141 10.4.3 复制board.c文[亻牛]到User文[亻牛]夹 141 10.4.4 rt-thread文[亻牛]夹内容简介 141 10.4.5 添加RT-Thread源码到工程组文[亻牛]夹 143 10.5 rtconfig.[HW][亻牛] 145 10.5.1 rtconfig.[HW][亻牛]内容讲解 145 10.5.2 rtconfig.[HW][亻牛]修改 152 10.6 board.c文[亻牛] 156 10.6.1 board.c文[亻牛]内容讲解 156 10.6.2 board.c文[亻牛]修改 160 10.7 添加core_delay.c和core_delay.[HW][亻牛] 167 10.8 修改main.c 171 10.9 下载验证 172 [0第0]11章 线程 173 11.1 硬[亻牛]初始化 173 11.2 创建单线程——SRAM静态内存 175 11.2.1 定义线程函数 175 11.2.2 定义线程栈 176 11.2.3 定义线程控制块 176 11.2.4 初始化线程 176 11.2.5 启动线程 177 11.2.6 main.c文[亻牛]内容 177 11.3 下载验证SRAM静态内存单线程 179 11.4 创建单线程——SRAM动态内存 179 11.4.1 动态内存空间堆的来源 180 11.4.2 定义线程函数 181 11.4.3 定义线程栈 181 11.4.4 定义线程控制块指针 181 11.4.5 创建线程 181 11.4.6 启动线程 182 11.4.7 main.c文[亻牛]内容 182 11.5 下载验证SRAM动态内存单线程 184 11.6 创建多线程——SRAM动态内存 185 11.7 下载验证SRAM动态内存多线程 187 [0第0]12章 重映[身寸]串口到rt_kprintf()函数 188 12.1 rt_kprintf()函数定义 188 12.2 自定义rt_hw_console_output()函数 189 12.3 测试rt_kprintf()函数 191 12.3.1 硬[亻牛]初始化 191 12.3.2 编写rt_kprintf()测试代码 192 12.3.3 下载验证 192 [0第0]13章 RT-Thread的启动流程 194 13.1 “万事俱备,只欠东风”[0法0] 194 13.2 “小心翼翼,十分谨慎”[0法0] 195 13.3 两种方[0法0]的适用情况 197 13.4 RT-Thread的启动流程 197 13.4.1 |
编辑推荐 |
深入剖析RT-Thread内核实现,详解各个组[亻牛]如何使用。 由浅入深,基于野火STM32全系列开发板,[扌是]供完整的源代码,[0极0]具可操作性。 |