嵌入式操作系统 8uC/OS-II简单分析 陈香兰(xlanchenc@ustc.edu.cn) 计算机应用教研室。计算机学院 嵌入式系统实验室●苏州研究院 中国科学技术大学 Fa112014 December 9,2014 1口401是42在刀00 陈香兰(xlanchenoustc,edu,cn)(升界款应 长人式操作系统 Dece0er9.20141/41
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 嵌入式操作系统 8 uC/OS-II简单分析 陈香兰(xlanchen@ustc.edu.cn) 计算机应用教研室@计算机学院 嵌入式系统实验室@苏州研究院 中国科学技术大学 Fall 2014 December 9, 2014 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 9, 2014 1 / 41
Outline 概述 2 目录分析 试运行和编译分析 uC/OS-II的功能解读 应用样例分析 6 调度算法分析 移植分析 4口4四1是4P在刀0C 陈香兰(x1 anchenoustc,edu,cn)(计界轧应 长人式择饰系统 Dece0er9.20142/41
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Outline 1. 概述 .2 目录分析 .3 试运行和编译分析 4. uC/OS-II的功能解读 5. 应用样例分析 .6 调度算法分析 7. 移植分析 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 9, 2014 2 / 41
uC/os -II ·免费的公开源码实时操作系统 ●内核提供任务调度和管理、时钟管理、任务间同步与通信、 内存管理和中断服务等功能 ●最多支持64个任务, 分别对应优先级0~63,其中0为最高优先级 ·可剥夺实时多任务内核 ·调度工作的内容分为两部分:最高优先级任务的寻找和任务切换 ·内核是针对实时系统的要求来设计实现的,相对比较简单, 可以满足较高的实时性要求 。但是没有网络功能和文件系统·对于像媒体播放、需要网络 和图形界面支持的应用就比较差 4口4四1是42刀00 陈香兰(xlanchenoustc,edu,cn)(计界机应 长人式操作香统 Dece0er9.20144/41
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . µC/os − II 免费的公开源码实时操作系统 内核提供任务调度和管理、时钟管理、任务间同步与通信、 内存管理和中断服务等功能 最多支持64个任务, 分别对应优先级0~63,其中0为最高优先级 可剥夺实时多任务内核 ▶ 调度工作的内容分为两部分:最高优先级任务的寻找和任务切换 内核是针对实时系统的要求来设计实现的,相对比较简单, 可以满足较高的实时性要求 但是没有网络功能和文件系统,对于像媒体播放、需要网络 和图形界面支持的应用就比较差 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 9, 2014 4 / 41
目录分析 tree SOFTWARE/uCOS-II/-L 1 SOFTWARE/uCOS-II/ DOC EX1_x86L EX2_x86L EX3_x86L EX4_x86L.FP Ix86L Ix86L-FP SOURCE 序号 目录名 含义 1 DOC 一些文档,可以看看 2 EX1_x86L 第一个基于x86的应用实例 3 EX2_x86L 第二个基于x86的应用实例 4 EX3_x86L 第三个基于x86的应用实例 5 EX4_x86L.FP 第四个基于x86的应用实例 6 Ix86L 嵌入式x86开发板 7 Ix86L-FP 帝浮点的嵌入式x86升发板 SOURCE 核源代码 是42,刀00 陈香兰(xlanchenoustc,edu.cn (计算机应 收人式操作系统 December 9.2014 6/41
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 目录分析 . tree SOFTWARE/uCOS-II/ -L 1 . . SOFTWARE/uCOS-II/ ├── DOC ├── EX1_x86L ├── EX2_x86L ├── EX3_x86L ├── EX4_x86L.FP ├── Ix86L ├── Ix86L-FP └── SOURCE 序号 目录名 含义 1 DOC 一些文档,可以看看 2 EX1_x86L 第一个基于x86的应用实例 3 EX2_x86L 第二个基于x86的应用实例 4 EX3_x86L 第三个基于x86的应用实例 5 EX4_x86L.FP 第四个基于x86的应用实例 6 Ix86L 嵌入式x86开发板 7 Ix86L-FP 带浮点的嵌入式x86开发板 8 SOURCE 核心源代码 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 9, 2014 6 / 41
SOURCE目录 ●在S0URCE目录下一共有10个C文件和1个头文件 其中,文件uC0S_II.C仅仅是对其他.C文件的包含, 因此填正的内核代码仅仅9个C文件和1个头文件 tree SOFTWARE/uCOS-II/SOURCE/-h SOFTWARE/uCOS-II/SOURCE/ 49K]OS_CORE.C 43K]OS_FLAG.C 23K] OS_MBOX.C [14K] OS MEM.C 27K]OS MUTEX.C [34K]0sQ.C 19K]OS_SEM.C [35K]OS TASK.C [9.7K] OS_TIME.C [1.2K]uCOS_II.C 46K]uCOS_II.H 0 directories,11 files 4口40·是42,在月QC 陈香兰(x1 anchenoustc,edu.en)(升计异丸应 长人式择作系统 December 9.2014 7/41
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SOURCE目录 在SOURCE目录下一共有10个C文件和1个头文件 ▶ 其中,文件uCOS_II.C仅仅是对其他.C文件的包含, 因此真正的内核代码仅仅9个C文件和1个头文件 . tree SOFTWARE/uCOS-II/SOURCE/ -h . . SOFTWARE/uCOS-II/SOURCE/ ├── [ 49K] OS_CORE.C ├── [ 43K] OS_FLAG.C ├── [ 23K] OS_MBOX.C ├── [ 14K] OS_MEM.C ├── [ 27K] OS_MUTEX.C ├── [ 34K] OS_Q.C ├── [ 19K] OS_SEM.C ├── [ 35K] OS_TASK.C ├── [9.7K] OS_TIME.C ├── [1.2K] uCOS_II.C └── [ 46K] uCOS_II.H 0 directories, 11 files 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 9, 2014 7 / 41