新書推薦:
《
大学问·明清经济史讲稿
》
售價:NT$
330.0
《
中国国际法年刊(2023)
》
售價:NT$
539.0
《
早点知道会幸福的那些事
》
售價:NT$
295.0
《
迈尔斯普通心理学
》
售價:NT$
760.0
《
古典的回響:溪客舊廬藏明清文人繪畫
》
售價:NT$
1990.0
《
掌故家的心事
》
售價:NT$
390.0
《
孤独传:一种现代情感的历史
》
售價:NT$
390.0
《
家、金钱和孩子
》
售價:NT$
295.0
|
編輯推薦: |
本书由大连理工大学软件学院教授吴国伟执笔撰写。本书获得了中国开源软件推进联盟、英特尔公司、ARM公司联袂推荐用书!清华大学、大连理工大学、兰州大学、北京工业大学联合推荐用书!本书涉及的主题
? COS-III整体结构和关键数据结构
? COS-III任务管理机制源码分析与应用
? COS-III内核调度机制源码分析与应用
? COS-III任务同步机制源码分析与应用
? COS-III中断机制源码分析与应用
? COS-III时钟管理机制源码分析与应用
? COS-III定时器管理机制源码分析与应用
? COS-III内存管理机制源码分析与应用技术
? COS-III文件系统机制源码分析与应用
? COS-III应用开发方法
? COS-III移植方法
|
內容簡介: |
μCOSⅢ是一个基于优先级的可固化实时嵌入式操作系统内核,在各类嵌入式系统中有广泛的应用。本书对μCOSⅢ内核结构和各种机制进行了详细分析,并设置了应用场景,给出了基于μCOSⅢ的开发应用实例。全书共分10章,第1章介绍了μCOSⅢ的架构、组成及内核源码的关键数据结构和相互关系; 第2章到第9章分别分析μCOSⅢ的任务管理机制、内核调度机制、任务间同步机制、中断管理、定时器管理、时钟管理、内存管理和文件系统,并给出每种机制的应用实例; 第10章介绍了μCOSⅢ的移植方法。在对μCOSⅢ的每一部分机制的源码分析过程中,先介绍工作机制,然后提炼关键数据结构和相互关系,再结合关键数据结构和算法分析源码,*后给出应用实例,让读者明白原理及实际应用,达到理论和实战技能同步提升的效果。为方便教学和自学,所有章节配有思考题与习题,以方便慕课、微课、微视频、翻转课堂等现代教学资源的制作。 本书可作为软件工程、电子信息科学与技术、计算机科学与技术、电子信息工程、电气工程及自动化、测控技术与仪器等专业的教材和有关工程技术人员的参考用书。
|
關於作者: |
吴国伟 教授,博士生导师,从事嵌入式系统研究和开发多年,在嵌入式操作系统、Linux内核分析与应用等领域有丰富经验,在嵌入式开发领域发表了多篇高质量论文,承担多项国家自然科学基金项目、核高基子课题,为本科生和研究生开设嵌入式操作系统Linux内核分析等课程,已出版嵌入式系统相关教材4部。
|
目錄:
|
目录
第1章COSⅢ操作系统概述
1.1COSⅢ概览
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.2COSⅢ概览
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章COSⅢ任务管理
2.1COSⅢ任务管理机制
2.2COSⅢ内核任务管理分析
2.3COSⅢ任务管理函数
2.3.1任务创建OSTaskCreate,OSTaskCreateExt
2.3.2任务删除OSTaskDel,OSTaskDelReq
2.3.3任务挂起OSTaskSuspend
2.3.4任务恢复OSTaskResume
2.4COSⅢ任务管理应用开发
2.4.1场景描述
2.4.2设计总体架构和数据结构
2.4.3代码实现
习题
第3章COSⅢ内核调度
3.1COSⅢ内核调度机制
3.2COSⅢ内核抢占优先级调度分析
3.3COSⅢ内核时间片轮转调度分析
3.4COSⅢ内核调度管理函数
习题
第4章COSⅢ任务间同步机制
4.1COSⅢ任务同步机制
4.2COSⅢ信号量机制分析
4.2.1COSⅢ信号量数据结构
4.2.2COSⅢ信号量管理函数
4.2.3COSⅢ信号量应用开发
4.3COSⅢ互斥体机制分析
4.3.1COSⅢ互斥体管理函数
4.3.2COSⅢ互斥体应用开发
4.4COSⅢ事件标志组机制分析
4.4.1COSⅢ事件标志组关键数据结构
4.4.2COSⅢ事件标志组管理函数
4.4.3COSⅢ事件标志组应用开发
4.5COSⅢ消息队列
4.5.1COSⅢ消息队列数据结构
4.5.2COSⅢ消息队列操作函数
4.5.3COSⅢ消息队列应用举例
习题
第5章中断管理
5.1COSⅢ中断机制
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章文件系统CFS
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章COSⅢ移植
10.1移植机制
10.2COSⅢ与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.3COSⅢ系统与CPU接口文件
10.3.1os_cpu.h文件
10.3.2os_cpu_c.c文件
10.3.3os_cpu_a.asm文件
习题
参考文献
|
內容試閱:
|
前言
COSⅢ实时操作系统Micro COS Three是一个可升级、可固化、基于优先级的实时内核。它是源码公开的商用性实时操作系统内核,由COSⅡ发展而来。COSⅢ是一个第3代系统内核,它对任务的个数无限制,支持现代的实时内核所期待的大部分功能,例如资源管理、同步、任务间的通信等。同时,COSⅢ提供的特色功能在其他的实时内核中是找不到的,例如完备的运行时间测量功能,直接发送信号或者消息到任务,任务可以同时等待多个内核对象等。
第一代COS系列产生于1992年。经过了多年的使用和上千人的反馈,已经产生了很多进化版本。COSⅢ是这些反馈和经验的总结。在COSⅡ中很少使用的功能已经被删除或者被更新,增加了更高效的功能和服务。其中最有用的功能是时间片轮转法round robin,这是COSⅡ中不支持的。COSⅢ提供了新的功能以更好地适应新出现的处理器。特别地,COSⅢ被设计用于32位处理器,并且它也能在16位或8位处理器中很好地工作。
COSⅢ最主要的目标是提供一流的实时内核以适应快速更新的嵌入式产品。使用像COSⅢ这样具有雄厚基础和稳定框架的商业实时内核,能够帮助设计师们处理日益复杂的嵌入式设计。COSⅢ实时操作系统具有高度的可移植性,能够移植到ARM、Intel等众多CPU上运行。因此,了解和学习COSⅢ的运行原理是非常重要的。
本书面向的读者既包括需要使用COSⅢ作底层操作系统,在其上进行应用开发的嵌入式应用开发人员,也包括想要了解COSⅢ运行机制的学生或者开发人员。本书按照COSⅢ的功能模块进行划分,对COSⅢ的源码进行了详细介绍,同时在每一章的末尾,给出了具体的应用案例,读者可以选择先查看应用案例,了解COSⅢ基本的应用程序调用接口API,再在源码中查看API的相应实现。也可以先了解应用程序调用接口的实现机制,再去应用案例中借助API进行应用编程。
在本书撰写过程中,林驰和任健康编写第1、3、5、6、8章,李照鑫编写第2、4、7章,同时负责实验的设计和实现,吴国伟编写第9、10章。编写过程中研究生王志远、秦钰根和本科生游文华等做了大量的书稿校对和画图等工作。
希望各位读者在阅读本书时,能够思考COSⅢ实时操作系统的机制与思想,这对于自身提高有非常大的帮助。同时也希望各位读者,不要局限于书中内容,可以到COSⅢ的官方网站,下载COSⅢ源码的官方文档,同步学习。本书参考了很多书籍和网络资源,限于篇幅参考文献未一一列出,在此向作者表示感谢。如果发现书中有任何问题,请及时与我们联系,进行批评指正,我们也会及时地进行改正。
吴国伟
2018年7月
|
|