μC/OS-Ⅲ内核分析与应用开发 9787302488064,7302488061

配送至
$ $ USD 美元

编辑推荐

本书由大连理工大学软件学院教授吴国伟执笔撰写。本书获得了中国开源软件推进联盟、英特尔公司、ARM公司联袂推荐用书!清华大学、大连理工大学、兰州大学、北京工业大学联合推荐用书!本书涉及的主题
? μC/OS-III整体结构和关键数据结构
? μC/OS-III任务管理机制源码分析与应用
? μC/OS-III内核调度机制源码分析与应用
? μC/OS-III任务同步机制源码分析与应用
? μC/OS-III中断机制源码分析与应用
? μC/OS-III时钟管理机制源码分析与应用
? μC/OS-III定时器管理机制源码分析与应用
? μC/OS-III内存管理机制源码分析与应用技术
? μC/OS-III文件系统机制源码分析与应用
? μC/OS-III应用开发方法
? μC/OS-III移植方法

作者简介

作者:吴国伟

教授,博士生导师,从事嵌入式系统研究和开发多年,在嵌入式操作系统、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文件

习题

参考文献

序言

前言

μC/OS Ⅲ实时操作系统(Micro C/OS Three)是一个可升级、可固化、基于优先级的实时内核。它是源码公开的商用性实时操作系统内核,由μC/OS Ⅱ发展而来。μC/OS Ⅲ是一个第3代系统内核,它对任务的个数无限制,支持现代的实时内核所期待的大部分功能,例如资源管理、同步、任务间的通信等。同时,μC/OS Ⅲ提供的特色功能在其他的实时内核中是找不到的,例如完备的运行时间测量功能,直接发送信号或者消息到任务,任务可以同时等待多个内核对象等。
第一代μC/OS系列产生于1992年。经过了多年的使用和上千人的反馈,已经产生了很多进化版本。μC/OS Ⅲ是这些反馈和经验的总结。在μC/OS Ⅱ中很少使用的功能已经被删除或者被更新,增加了更高效的功能和服务。其中最有用的功能是时间片轮转法(round robin),这是μC/OS Ⅱ中不支持的。μC/OS Ⅲ提供了新的功能以更好地适应新出现的处理器。特别地,μC/OS Ⅲ被设计用于32位处理器,并且它也能在16位或8位处理器中很好地工作。
μC/OS Ⅲ最主要的目标是提供一流的实时内核以适应快速更新的嵌入式产品。使用像μC/OS Ⅲ这样具有雄厚基础和稳定框架的商业实时内核,能够帮助设计师们处理日益复杂的嵌入式设计。μC/OS Ⅲ实时操作系统具有高度的可移植性,能够移植到ARM、Intel等众多CPU上运行。因此,了解和学习μC/OS Ⅲ的运行原理是非常重要的。
本书面向的读者既包括需要使用μC/OS Ⅲ作底层操作系统,在其上进行应用开发的嵌入式应用开发人员,也包括想要了解μC/OS Ⅲ运行机制的学生或者开发人员。本书按照μC/OS Ⅲ的功能模块进行划分,对μC/OS Ⅲ的源码进行了详细介绍,同时在每一章的末尾,给出了具体的应用案例,读者可以选择先查看应用案例,了解μC/OS Ⅲ基本的应用程序调用接口(API),再在源码中查看API的相应实现。也可以先了解应用程序调用接口的实现机制,再去应用案例中借助API进行应用编程。
在本书撰写过程中,林驰和任健康编写第1、3、5、6、8章,李照鑫编写第2、4、7章,同时负责实验的设计和实现,吴国伟编写第9、10章。编写过程中研究生王志远、秦钰根和本科生游文华等做了大量的书稿校对和画图等工作。
希望各位读者在阅读本书时,能够思考μC/OS Ⅲ实时操作系统的机制与思想,这对于自身提高有非常大的帮助。同时也希望各位读者,不要局限于书中内容,可以到μC/OS Ⅲ的官方网站,下载μC/OS Ⅲ源码的官方文档,同步学习。本书参考了很多书籍和网络资源,限于篇幅参考文献未一一列出,在此向作者表示感谢。如果发现书中有任何问题,请及时与我们联系,进行批评指正,我们也会及时地进行改正。
吴国伟
2018年7月
ISBN9787302488064,7302488061
出版社清华大学出版社有限公司
作者吴国伟
尺寸16