书籍详情
μC/OS-Ⅲ内核分析与应用开发
作者:吴国伟,林驰,任健康,李照鑫 著
出版社:清华大学出版社
出版时间:2018-10-01
ISBN:9787302488064
定价:¥59.00
购买这本书可以去
内容简介
μC/OSⅢ是一个基于优先级的可固化实时嵌入式操作系统内核,在各类嵌入式系统中有广泛的应用。本书对μC/OSⅢ内核结构和各种机制进行了详细分析,并设置了应用场景,给出了基于μC/OSⅢ的开发应用实例。全书共分10章,第1章介绍了μC/OSⅢ的架构、组成及内核源码的关键数据结构和相互关系; 第2章到第9章分别分析μC/OSⅢ的任务管理机制、内核调度机制、任务间同步机制、中断管理、定时器管理、时钟管理、内存管理和文件系统,并给出每种机制的应用实例; 第10章介绍了μC/OSⅢ的移植方法。在对μC/OSⅢ的每一部分机制的源码分析过程中,先介绍工作机制,然后提炼关键数据结构和相互关系,再结合关键数据结构和算法分析源码,最后给出应用实例,让读者明白原理及实际应用,达到理论和实战技能同步提升的效果。为方便教学和自学,所有章节配有思考题与习题,以方便慕课、微课、微视频、翻转课堂等现代教学资源的制作。 本书可作为软件工程、电子信息科学与技术、计算机科学与技术、电子信息工程、电气工程及自动化、测控技术与仪器等专业的教材和有关工程技术人员的参考用书。
作者简介
吴国伟教授,博士生导师,从事嵌入式系统研究和开发多年,在嵌入式操作系统、Linux内核分析与应用等领域有丰富经验,在嵌入式开发领域发表了多篇高质量论文,承担多项国家自然科学基金项目、“核高基”子课题,为本科生和研究生开设“嵌入式操作系统”“Linux内核分析”等课程,已出版嵌入式系统相关教材4部。
目录
目录
第1章μC/OSⅢ操作系统概述
1.1μC/OSⅢ概览
1.1.1os.h和os_type.h功能
1.1.2os_core.c概况
1.1.3os_task.c、os_prio.c和os_pend_multi.c概况
1.1.4os_flag.c概况
1.1.5os_sem.c和os_mutex.c概况
1.1.6os_q.c和os_msg.c概况
1.1.7os_tick.c、os_time.c和os_tmr.c概况
1.1.8os_int.c概况
1.1.9os_mem.c概况
1.1.10os_dbg.c、os_cfg_app.c和os_stat.c概况
1.1.11os_cfg.h概况
1.2μC/OSⅢ概览
1.2.1任务管理
1.2.2任务调度
1.2.3任务同步
1.2.4任务间通信
1.2.5中断
1.2.6时间管理
1.2.7内存管理
1.2.8错误检测
1.2.9性能测量
1.3总体数据结构关系及描述
1.3.1就绪任务管理
1.3.2事件标志和请求管理
1.3.3消息队列管理
1.3.4互斥信号量管理
1.3.5内存分区管理
1.4各关键数据结构描述
1.4.1os_mem成员定义
1.4.2os_flag_grp成员定义
1.4.3OSPrioTbl结构
1.4.4os_mutex成员定义
1.4.5os_tcb成员定义
1.5内核函数
1.5.1内核函数介绍
1.5.2关键代码分析
习题
第2章μC/OSⅢ任务管理
2.1μC/OSⅢ任务管理机制
2.2μC/OSⅢ内核任务管理分析
2.3μC/OSⅢ任务管理函数
2.3.1任务创建OSTaskCreate(),OSTaskCreateExt()
2.3.2任务删除OSTaskDel(),OSTaskDelReq()
2.3.3任务挂起OSTaskSuspend()
2.3.4任务恢复OSTaskResume()
2.4μC/OSⅢ任务管理应用开发
2.4.1场景描述
2.4.2设计总体架构和数据结构
2.4.3代码实现
习题
第3章μC/OSⅢ内核调度
3.1μC/OSⅢ内核调度机制
3.2μC/OSⅢ内核抢占优先级调度分析
3.3μC/OSⅢ内核时间片轮转调度分析
3.4μC/OSⅢ内核调度管理函数
习题
第4章μC/OSⅢ任务间同步机制
4.1μC/OSⅢ任务同步机制
4.2μC/OSⅢ信号量机制分析
4.2.1μC/OSⅢ信号量数据结构
4.2.2μC/OSⅢ信号量管理函数
4.2.3μC/OSⅢ信号量应用开发
4.3μC/OSⅢ互斥体机制分析
4.3.1μC/OSⅢ互斥体管理函数
4.3.2μC/OSⅢ互斥体应用开发
4.4μC/OSⅢ事件标志组机制分析
4.4.1μC/OSⅢ事件标志组关键数据结构
4.4.2μC/OSⅢ事件标志组管理函数
4.4.3μC/OSⅢ事件标志组应用开发
4.5μC/OSⅢ消息队列
4.5.1μC/OSⅢ消息队列数据结构
4.5.2μC/OSⅢ消息队列操作函数
4.5.3μC/OSⅢ消息队列应用举例
习题
第5章中断管理
5.1μC/OSⅢ中断机制
5.2CPU中断处理
5.3中断服务程序
5.4直接发布和延迟发布
5.4.1直接发布
5.4.2延迟发布
5.4.3延迟提交信息记录块
5.5中断管理内部函数
5.5.1中断进入函数
5.5.2中断退出函数
5.5.3中断级任务切换函数
5.5.4临界区进入和退出宏
5.5.5中断延迟队列初始化函数
5.5.6中断延迟队列提交函数
5.5.7中断延迟队列真正提交函数
5.5.8中断队列管理任务
习题
第6章时钟管理
6.1总体描述
6.2时钟机制分析
6.2.1结构体os_tick_spoke
6.2.2时钟任务管理
6.2.3延时任务TCB
6.3时钟管理内核函数
6.3.1时钟节拍中断函数
6.3.2时钟节拍任务
6.3.3节拍链表任务插入函数
6.3.4节拍链表任务删除函数
6.4时钟管理函数
6.4.1延迟时钟节拍的延时函数
6.4.2延迟具体时间的延时函数
6.4.3延时取消函数
6.4.4时钟节拍设置函数
6.4.5时钟节拍设置函数
6.5时钟管理应用
6.5.1场景描述
6.5.2运行环境
6.5.3具体实现
6.5.4实验结果
习题
第7章定时器管理
7.1定时器机制
7.2定时器内部机制
7.2.1定时器状态
7.2.2定时器结构体os_tmr
7.2.3定时器分类
7.2.4定时器管理时序
7.2.5软件定时器的实现原理
7.2.6主要的数据结构分析
7.3定时器函数
7.3.1定时器创建函数
7.3.2定时器删除函数
7.3.3获取定时器的剩余时间
7.3.4定时器启动
7.3.5定时器状态获取函数
7.3.6定时器停止函数
7.4应用实例
7.4.1场景描述
7.4.2设计过程
7.4.3具体实现
习题
第8章内存管理
8.1内存管理机制
8.2内存管理机制分析
8.2.1内存控制块os_mem
8.2.2内存分区调试链表指针OSMemDbgListPtr
8.3内存管理函数
8.3.1内存初始化函数
8.3.2添加内存分区到调试列表
8.3.3内存分区创建函数
8.3.4内存块获取函数
8.3.5内存块释放函数
8.4内存管理应用开发
8.4.1场景描述
8.4.2设计环境
8.4.3具体实现
8.4.4实验结果
习题
第9章文件系统μC/FS
9.1文件系统概述
9.2机制方法
9.3关键数据结构
9.3.1文件及文件操作的数据结构
9.3.2文件夹数据结构
9.3.3其他的一些变量及数据结构
9.4内核函数
9.4.1_FS_fat_find_file()
9.4.2_FS_fat_create_file()
9.5应用函数介绍
9.5.1FS_Fopen()文件打开函数
9.5.2FS_FWrite()文件写入函数
9.5.3FS_FClose()文件关闭函数
9.6应用示例
9.6.1场景描述
9.6.2设计过程
9.6.3测试
习题
第10章μC/OSⅢ移植
10.1移植机制
10.2μC/OSⅢ与CPU相关的文件
10.2.1cpu.c文件
10.2.2cpu_a.asm文件
10.2.3cpu_cfg.h文件
10.2.4cpu_def.h文件
10.2.5cpu.h文件
10.2.6cpu_core.h文件
10.2.7cpu_core.c文件
10.3μC/OSⅢ系统与CPU接口文件
10.3.1os_cpu.h文件
10.3.2os_cpu_c.c文件
10.3.3os_cpu_a.asm文件
习题
参考文献
第1章μC/OSⅢ操作系统概述
1.1μC/OSⅢ概览
1.1.1os.h和os_type.h功能
1.1.2os_core.c概况
1.1.3os_task.c、os_prio.c和os_pend_multi.c概况
1.1.4os_flag.c概况
1.1.5os_sem.c和os_mutex.c概况
1.1.6os_q.c和os_msg.c概况
1.1.7os_tick.c、os_time.c和os_tmr.c概况
1.1.8os_int.c概况
1.1.9os_mem.c概况
1.1.10os_dbg.c、os_cfg_app.c和os_stat.c概况
1.1.11os_cfg.h概况
1.2μC/OSⅢ概览
1.2.1任务管理
1.2.2任务调度
1.2.3任务同步
1.2.4任务间通信
1.2.5中断
1.2.6时间管理
1.2.7内存管理
1.2.8错误检测
1.2.9性能测量
1.3总体数据结构关系及描述
1.3.1就绪任务管理
1.3.2事件标志和请求管理
1.3.3消息队列管理
1.3.4互斥信号量管理
1.3.5内存分区管理
1.4各关键数据结构描述
1.4.1os_mem成员定义
1.4.2os_flag_grp成员定义
1.4.3OSPrioTbl结构
1.4.4os_mutex成员定义
1.4.5os_tcb成员定义
1.5内核函数
1.5.1内核函数介绍
1.5.2关键代码分析
习题
第2章μC/OSⅢ任务管理
2.1μC/OSⅢ任务管理机制
2.2μC/OSⅢ内核任务管理分析
2.3μC/OSⅢ任务管理函数
2.3.1任务创建OSTaskCreate(),OSTaskCreateExt()
2.3.2任务删除OSTaskDel(),OSTaskDelReq()
2.3.3任务挂起OSTaskSuspend()
2.3.4任务恢复OSTaskResume()
2.4μC/OSⅢ任务管理应用开发
2.4.1场景描述
2.4.2设计总体架构和数据结构
2.4.3代码实现
习题
第3章μC/OSⅢ内核调度
3.1μC/OSⅢ内核调度机制
3.2μC/OSⅢ内核抢占优先级调度分析
3.3μC/OSⅢ内核时间片轮转调度分析
3.4μC/OSⅢ内核调度管理函数
习题
第4章μC/OSⅢ任务间同步机制
4.1μC/OSⅢ任务同步机制
4.2μC/OSⅢ信号量机制分析
4.2.1μC/OSⅢ信号量数据结构
4.2.2μC/OSⅢ信号量管理函数
4.2.3μC/OSⅢ信号量应用开发
4.3μC/OSⅢ互斥体机制分析
4.3.1μC/OSⅢ互斥体管理函数
4.3.2μC/OSⅢ互斥体应用开发
4.4μC/OSⅢ事件标志组机制分析
4.4.1μC/OSⅢ事件标志组关键数据结构
4.4.2μC/OSⅢ事件标志组管理函数
4.4.3μC/OSⅢ事件标志组应用开发
4.5μC/OSⅢ消息队列
4.5.1μC/OSⅢ消息队列数据结构
4.5.2μC/OSⅢ消息队列操作函数
4.5.3μC/OSⅢ消息队列应用举例
习题
第5章中断管理
5.1μC/OSⅢ中断机制
5.2CPU中断处理
5.3中断服务程序
5.4直接发布和延迟发布
5.4.1直接发布
5.4.2延迟发布
5.4.3延迟提交信息记录块
5.5中断管理内部函数
5.5.1中断进入函数
5.5.2中断退出函数
5.5.3中断级任务切换函数
5.5.4临界区进入和退出宏
5.5.5中断延迟队列初始化函数
5.5.6中断延迟队列提交函数
5.5.7中断延迟队列真正提交函数
5.5.8中断队列管理任务
习题
第6章时钟管理
6.1总体描述
6.2时钟机制分析
6.2.1结构体os_tick_spoke
6.2.2时钟任务管理
6.2.3延时任务TCB
6.3时钟管理内核函数
6.3.1时钟节拍中断函数
6.3.2时钟节拍任务
6.3.3节拍链表任务插入函数
6.3.4节拍链表任务删除函数
6.4时钟管理函数
6.4.1延迟时钟节拍的延时函数
6.4.2延迟具体时间的延时函数
6.4.3延时取消函数
6.4.4时钟节拍设置函数
6.4.5时钟节拍设置函数
6.5时钟管理应用
6.5.1场景描述
6.5.2运行环境
6.5.3具体实现
6.5.4实验结果
习题
第7章定时器管理
7.1定时器机制
7.2定时器内部机制
7.2.1定时器状态
7.2.2定时器结构体os_tmr
7.2.3定时器分类
7.2.4定时器管理时序
7.2.5软件定时器的实现原理
7.2.6主要的数据结构分析
7.3定时器函数
7.3.1定时器创建函数
7.3.2定时器删除函数
7.3.3获取定时器的剩余时间
7.3.4定时器启动
7.3.5定时器状态获取函数
7.3.6定时器停止函数
7.4应用实例
7.4.1场景描述
7.4.2设计过程
7.4.3具体实现
习题
第8章内存管理
8.1内存管理机制
8.2内存管理机制分析
8.2.1内存控制块os_mem
8.2.2内存分区调试链表指针OSMemDbgListPtr
8.3内存管理函数
8.3.1内存初始化函数
8.3.2添加内存分区到调试列表
8.3.3内存分区创建函数
8.3.4内存块获取函数
8.3.5内存块释放函数
8.4内存管理应用开发
8.4.1场景描述
8.4.2设计环境
8.4.3具体实现
8.4.4实验结果
习题
第9章文件系统μC/FS
9.1文件系统概述
9.2机制方法
9.3关键数据结构
9.3.1文件及文件操作的数据结构
9.3.2文件夹数据结构
9.3.3其他的一些变量及数据结构
9.4内核函数
9.4.1_FS_fat_find_file()
9.4.2_FS_fat_create_file()
9.5应用函数介绍
9.5.1FS_Fopen()文件打开函数
9.5.2FS_FWrite()文件写入函数
9.5.3FS_FClose()文件关闭函数
9.6应用示例
9.6.1场景描述
9.6.2设计过程
9.6.3测试
习题
第10章μC/OSⅢ移植
10.1移植机制
10.2μC/OSⅢ与CPU相关的文件
10.2.1cpu.c文件
10.2.2cpu_a.asm文件
10.2.3cpu_cfg.h文件
10.2.4cpu_def.h文件
10.2.5cpu.h文件
10.2.6cpu_core.h文件
10.2.7cpu_core.c文件
10.3μC/OSⅢ系统与CPU接口文件
10.3.1os_cpu.h文件
10.3.2os_cpu_c.c文件
10.3.3os_cpu_a.asm文件
习题
参考文献
猜您喜欢