ARM 嵌入式操作系统移植 论文27927.doc
《ARM 嵌入式操作系统移植 论文27927.doc》由会员分享,可在线阅读,更多相关《ARM 嵌入式操作系统移植 论文27927.doc(33页珍藏版)》请在三一办公上搜索。
1、ARM 嵌入式操作系统移植摘 要随着ARM技术的广泛应用,建立基于ARM构架的嵌入式操作系统已成为当前研究的热点。本课题的研究内容就是利用移植技术将uC/ OS - II 移植到ARM 系统。将uC/ OS - II 移植到ARM 系统之后,可以充分结合两者的优势。uC/OS - II 的文件系统结构包括核心代码部分、设置代码部分、与处理器相关的移植代码部分。核心代码部分包括7 个源代码文件和1 个头文件. 功能分别是内核管理、事件管理、消息队列管理、存储管理、消息管理、信号量处理、任务调度和定时管理. 设置代码部分包括2 个头文件,用来配置事件控制块的数目以及是否包含消息管理相关代码. 而与
2、处理器相关的移植代码部分则是进行移植过程中需要更改的部分,包括1 个头文件OS CPU. H ,1 个汇编文件OS CPU A. S 和1 个C 代码文件.实际上将uC/ OS - II 移植到ARM 处理器上,需要完成的工作主要是以下三个与体系结构相关的文件:OS CPU. H ,OS CPU. C 以及OS CPU A. S。关键词: ARM 嵌入式操作系统 移植 uc/os-II AbstractAlong with the extensive application of ARM technology based on ARM architecture, the embedded op
3、erating system has become a hotspot of current researches. The research content is the use of transplanting uC/ OS - II transplanted into ARM system. UC/ OS - II transplanted into ARM system, can combine the advantages of the two. UC/OS - II file system structure includes part of the core code, set
4、the code portion, a processor associated with transplant code section. Part of the core code includes 7source code files and the1 header files. Function are core management, event management, message queue management, storage management, message management, signal processing, task scheduling and tim
5、e management. Setting code portion includes the first 2 documents, used to configure event control block numbers and whether it contains message management code and a processor associated with transplant code is part of the transplant process need to change parts, including the1 header files OS CPU.
6、 H,1OS CPU A. files S and 1C code files. The actual admiral uC/ OS - II transferred to the ARM processor, work to be finished basically is the following three architecture dependent file: OS CPU. H, OS CPU. C and OS CPU A. S.Keyword: ARM embedded operating system porting uc/os-II目 录引 言11 UC /OS- II简
7、介21.1 uC /OS- II的工作流程21.2 uC /OS- II的体系结构31.3 uC/OS-II工作原理42 UC/OS内核调度52.1 uC/OS-II内核结构52.2任务控制块(OS_TCB)62.3 就绪表(ReadyList)72.4 任务状态82.5 任务转换102.6 任务调度分析102.7 UC/OS-II的初始化123 UC/ OS - II 的移植133.1 OS CPU. H 的移植133.2 OS CPU. C 的移植143.3 OS CPU A. S 的移植143.4 硬件平台154 在嵌入式系统上的实现174.1 开/关中断的实现174.2 OSStart
8、HighRdy 的实现184.3 任务级上下文切换的实现184.4 中断级上下文切换的实现195 多任务应用程序21结 束 语23参 考 文 献24致 谢25附录26引 言在开发嵌入式系统时,一般选择基于ARM 和uC/ OS - II 的嵌入式开发平台,因为ARM 微处理器具有处理速度快、超低功耗、价格低廉、应用前景广泛等优点. 将uC/ OS - II 移植到ARM系统之后,可以充分结合两者的优势. 如果一个程序在一个环境里能工作,我们经常希望能将它移植到另一个编译系统、处理器或者操作系统上,这就是移植技术.移植技术可以使一种特定的技术在更加广泛的范围使用,使软件使用更加灵活,不局限于某一
9、条件.uC/OS - II 是由Jean J. Labrosse 先生编写的完整的可移植、固化、裁剪的占先式实时多任务内核.uC/ OS - II 的源代码完全开放,这是其他商业实时内核无法比拟的. 它是针对嵌入式应用设计的,在设计之初就充分考虑了可移植性,它的大部分源代码都是用高可移植性的ANSIC 编写的.与硬件相关部分用汇编语言编写, 使之 可供不同构架的微处理器使用。只要有标准的 AN SI C 交叉编译器, 有汇编器、链接器等软件工具, 就可以将 C /OS- II嵌入到开发的产品中。uC/ OS - II可以移植到从8 位到64 位的不同类型、不同规模的嵌入式系统,并能在大部分的8
10、 位、16 位、32 位、甚至64 位的微处理器和DSP 上运行. 由于uC/ OS - II是一个实时操作系统,所以如果将它嵌入到ARM处理器上,就能够进一步简化ARM系统的开发。uC /OS- II是面向中小型嵌入式系统, 具有执行效 率高、占用空间小、实时性能优良和可扩展性强等特 点, 包含全部功能模块的内核大约为 10kB。如果经过 裁减只保留核心代码, 则可压缩到 3kB 左右。严格地 说, uC /OS- II只是一个实时操作系统内核, 它仅仅包 含了任务调度、任务管理、时间管理、内存管理和任务 间的通信和同步等基本功能, 没有提供输入输出管理、文件系统、网络等额外的服务。嵌入式技
11、术发展至今已经进入到了嵌入式Internet的阶段,越来越多的嵌入式设备实现了通过以太网技术接入互联网。将嵌入式设备接入以太网的关键是在嵌入式设备上实现嵌入式TCP/IP协议。相比普通的TCP/IP协议,嵌入式TCP/IP协议具有代码精简、很好的可裁减性和很强的移植性等特点。嵌入式系统是先进的计算机技术、半导体技术、电子技术、和各个行业的具体应用相结合的产物,它是以计算机应用为中心、以计算机技术为基础,软硬件可裁减的专用计算机系统。在嵌入式系统中使用操作系统(嵌入式操作系统)已是大势所趋,目前嵌入式操作系统的种类繁多,但uc/os-II以其源代码开放、价格便宜、可移植性强等特点,被广泛使用。1
12、 uC /OS- II简介C/OS-II是一种可移植的,可植入ROM的,可裁剪的,抢占式的,实时多任务操作系统内核。它被广泛应用于微处理器、微控制器和数字信号处理器。 C/OS-II 的前身是C/OS,最早出自于1992 年美国嵌入式系统专家Jean J.Labrosse 在嵌入式系统编程杂志的5 月和6 月刊上刊登的文章连载,并把C/OS 的源码发布在该杂志的B B S 上。 C/OS 和C/OS-II 是专门为计算机的嵌入式应用设计的, 绝大部分代码是用C语言编写的。CPU 硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU
13、上。用户只要有标准的ANSI 的C交叉编译器,有汇编器、连接器等软件工具,就可以将C/OS-II嵌入到开发的产品中。C/OS-II 具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点, 最小内核可编译至 2KB 。C/OS-II 已经移植到了几乎所有知名的CPU 上。 严格地说uC/OS-II只是一个实时操作系统内核,它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。但由于uC/OS-II良好的可扩展性和源码开放,这些非必须的功能完全可以由用户自己根据需要分别实现。 uC/OS-II目标是实现一个基于优先
14、级调度的抢占式的实时内核,并在这个内核之上提供最基本的系统服务,如信号量,邮箱,消息队列,内存管理,中断管理等。1.1 uC /OS- II的工作流程uC /OS- II的工作流程如图1.1所示: 首先进行操作系统初始化, 主要完成任务控制块 ( TCB )初始化; 然后就可以开始创建新任务、初始化任务堆栈区; 最后调用 OSSTART( )函数, 启动多任务调度。在多任务调度开 始后, 启动时钟节拍源开始计时。此节拍源为系统提 供周期性的时钟中断信号、实现延时和超时确认。当 时钟中断来临时, 系统把当前正在执行的任务挂起, 保护现场, 进行中断处理, 判断有无任务延时到期。若 有, 则使该任
15、务进入就绪态, 并对所有进入就绪态的任 务的优先级进行比较, 通过任务切换去执行最高优先 级的任务。若没有别的任务进入就绪态, 则恢复现场 继续执行原任务。另一种调度方式是任务级的调度, 即通过发软中断命令或依靠处理器在任务执行中调 度。如任务要等待信号量或一个正在执行的任务被挂 起时, 就需要在此任务中调度, 找出目前处于就绪态的 优先级最高的任务去执行。当没有任何任务进入就绪 态时, 就去执行空任务。图1.1 uC /OS- II的工作流程图1.2 uC /OS- II的体系结构对 uC /OS - II的移植实际上就是对 与处理器有关的代码进行重写或修改。移植工作包括 以下几部分内容:用
16、# define设置 1个常量的值 ( OS _CPU. H 文件中 );声明 10个数据类型 ( OS_CPU. H 文件中 ); 用# define声明 3个宏 ( OS_CPU. H 文件中 );用 C 语言编写 6个简单的函数 ( OS _CPU. C 文件中 );编写 4个汇编语言函数 ( OS _CPU. A SM 文件中 )。虽然 uC /OS - II的大部分代码是用 C 语言编写但还存在一些与处理器相关的汇编语言代码, 从而实 现对处理器寄存器的访问以及堆栈的操作。 uC/OS-II操作系统的移植主要是对 OS _CPU. H, OS _CPU. ASM, OS_CPU. C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ARM 嵌入式操作系统移植 论文27927 嵌入式 操作系统 移植 论文 27927
链接地址:https://www.31ppt.com/p-2392422.html