您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 实时操作系统μCOS-II在ARM上的移植研究论文
实时操作系统μC/OS-II在ARM上的移植研究摘要本设计采用三星公司生产的一款基于ARM7核的高性能低功耗soc芯片S3C44B0X作为移植的硬件平台。对实时操作系统μC/OS-II的特点、体系结构、移植所需要的条件、移植所需要编写的文件,移植所需要的编译器作了深入的了解,通过编写移植代码,对移植的测试,实现了μC/OS-II在S3C2440的移植。关键词嵌入式系统μC/OS-II移植一、引言随着信息化技术的发展和数字化产品的普及,以计算机技术、芯片技术和软件技术为核心的嵌入式系统再度成为当前研究和应用的热点。对功能、可靠性、成本、体积和功耗严格要求的嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,其中嵌入式微处理器和嵌入式操作系统分别是其硬件和软件的核心。自从嵌入式系统开发以来,很长时间都采用前后台系统软件设计模式:主程序为一个无限循环,单任务顺序执行。通过设置一个或多个中断来处理异步事件。这种系统对于简单的应用是可以的,但对于实时性要求比较高的处理任务较多的应用,就会暴露出实时性差、系统可靠性低、稳定性差等缺点。μC/OS-II是一种给予优先级的抢占式多任务实时操作系统,包含了实时内核、任务管理、时间管理、任务间通信同步(信号量,邮箱,消息队列)和内存管理等功能。它可以使各个任务独立工作,互不干涉,很容易实现准时而且无误执行,使得实时应用程序的设计和扩展变得容易,使得应用程序的设计过程大为减化。而且它内核源代码公开,移植性强,为编程人员提供了很好的一个软件平台。ARM(AdvancedRISCMachines)公司是全球领先的16/32位RISC微处理器知识产权设计供应商。ARM公司通过转让高性能、低成本、低功耗的RISC微处理器、外围和系统芯片设计技术给合作伙伴,是他们能使用这些技术来生产各具特色的芯片。ARM已成为移动通信、手持设备、多媒体数字消费嵌入式解决方案的RISC标准。ARM处理器有三大特点:小体积、低功耗、低成本而高性能;16/32位双指令集;全球有众多的合作伙伴。二、ARM嵌入式系统2.1ARM-AdvancedRISCMachines简介2.1.1什么是ARMARM是AdvancedRISCMachines的缩写,是微处理器行业的一家知名企业,该企业设计了大量廉价、高性能、低功耗的RISCARM技术有很好的性能和功效,其合作伙伴包括世界许多顶级的半导体公司。目前,共有30家半导体公司与ARM签订了硬件技术使用许可协议,其中包括Intel、IBM、LG半导体、NEC、SONY、PHILIPS和国家半导体这样的大公司。可以说,ARM不仅仅代表一个公司,代表了一类微处理器,代表了一种技术,还2.1.2ARMARM公司开发了一系列ARM处理器核。目前最新的系列已经是ARM11了。ARM6及更早的系列已经罕见了,ARM7以后的核也不是都获得广泛应用。目前应用最多的是ARM7系列、ARM9系列、ARM9E系列、ARM10系列、SecurCore系列、Intel的StrongARM、XScaleARM7系列:包括ARM7TDMI、ARM7TDMI-S、带有高速缓存处理器宏单元的ARM720T和扩充了Iazelle的ARM7EJ-S。该系列广泛应用于多媒体和嵌入式设备,包括Internet设备、网络和调制解调器设备以及移动电话、PDA等无线设ARM9系列:包括ARM9TDMI、ARM920T和带有高速缓存处理器宏单元的ARM940T。该系列主要应用于引擎管理、仪器仪表、安全系统、机顶盒、高端打印机、PDA、网络电脑以及带有MP3音频和MPEG4视频多媒体格式的智能电话中。ARM9E系列:为综合处理器,包括ARM926EJ-S、带有高速缓存处理宏单元的ARM966E-S/ARM946E-S。该系列强化了数字信号处理功能,可应用于需要DSP与微控制器结合使用的情况,将Thumb技术和DSP都扩展到ARM指令集中,并具有EmbeddedICE-RTARM10系列:包括ARM1020E和ARM1020E微处理器核。其核心在于使用向量浮点(VFP)单元VFP10提供高性能的浮点解决方案,从而极大地提高了处理器的整型和浮点运算性能,为用户界面的2D和3D图形引擎应用夯实基础,如视频SecurCore系列:包括SC100、SC110、SC200和SC210处理器核。该系列主要针对新兴的安全市场,以一种全新的安全处理器设计为智能卡和其他安全IC开发提供独特的32位系统设计,并具有特定的反伪造方法,从而有助于防止对StrongARM系列:StrongARM处理器将Intel处理器技术和ARM体系结构融Xscale系列:提供全性能、高性价比和低功耗的解决方案,支持16位Thumb指令和DSP2.2ARM微处理器的应用领域及特点2.2.1ARM微处理器的应用领域到目前为止,ARM微处理器及技术的应用几乎已经深入到各个领域:(1)工业控制领域:作为32的RISC架构,基于ARM核的微控制器芯片不但占据了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制器应用领域扩展,ARM微控制器的低功耗、高性价比,向传统的8位/16位微控制器提出了挑战。(2)无线通讯领域:目前已有超过85%的无线通讯设备采用了ARM技术,ARM以其高性能和低成本,在该领域的地位日益巩固。(3)网络应用:随着宽带技术的推广,采用ARM技术的ADSL芯片正逐步获得竞争优势。此外,ARM在语音及视频处理上行了优化,并获得广泛支持,也对DSP的应用领域提出了挑战。(4)消费类电子产品:ARM技术在目前流行的数字音频播放器、数字机顶盒和游戏机中得到广泛采用。(5)成像和安全产品:现在流行的数码相机和打印机中绝大部分采用ARM技术。手机中的32位SIM智能卡也采用了ARM技术。除此以外,ARM微处理器及技术还应用到许多不同的领域,并会在将来取得更加广泛的应用。2.2.2ARM微处理器的特点采用RISC架构的ARM微处理器一般具有如下特点:(1)体积小、低功耗、低成本、高性能;(2)支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;(3)大量使用寄存器,指令执行速度更快;(4)大多数数据操作都在寄存器中完成;(5)寻址方式灵活简单,执行效率高;(6)指令长度固定;2.3ARM7微处理器系列ARM7系列微处理器为低功耗的32位RISC处理器,最适合用于对价位和功耗要求较高的消费类应用。ARM7微处理器系列具有如下特点:-具有嵌入式ICE-RT逻辑,调试开发方便。-极低的功耗,适合对功耗要求较高的应用,如便携式产品。-能够提供0.9MIPS/MHz的三级流水线结构。-代码密度高并兼容16位的Thumb指令集。-对操作系统的支持广泛,包括WindowsCE、Linux、PalmOS等。-指令系统与ARM9系列、ARM9E系列和ARM10E系列兼容,便于用户的产品升级换代。-主频最高可达130MIPS,高速的运算处理能力能胜任绝大多数的复杂应用。ARM7系列微处理器的主要应用领域为:工业控制、Internet设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。2.4ARM微处理器结构2.4.1RISC体系结构传统的CISC(ComplexInstructionSetComputer,复杂指令集计算机)结构有其固有的缺点,即随着计算机技术的发展而不断引入新的复杂的指令集,为支持这些新增的指令,计算机的体系结构会越来越复杂,然而,在CISC指令集的各种指令中,其使用频率却相差悬殊,大约有20%的指令会被反复使用,占整个程序代码的80%。而余下的80%的指令却不经常使用,在程序设计中只占20%,显然,这种结构是不太合理的。基于以上的不合理性,1979年美国加州大学伯克利分校提出了RISC(ReducedInstructionSetComputer,精简指令集计算机)的概念,RISC并非只是简单地去减少指令,而是把着眼点放在了如何使计算机的结构更加简单合理地提高运算速度上。RISC结构优先选取使用频最高的简单指令,避免复杂指令;将指令长度固定,指令格式和寻地方式种类减少;以控制逻辑为主,不用或少用微码控制等措施来达到上述目的。到目前为止,RISC体系结构也还没有严格的定义,一般认为,RISC体系结构应具有如下特点:-采用固定长度的指令格式,指令归整、简单、基本寻址方式有2~3种。-使用单周期指令,便于流水线操作执行。-大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问存储器,以提高指令的执行效率。除此以外,ARM体系结构还采用了一些特别的技术,在保证高性能的前提下尽量缩小芯片的面积,并降低功耗:-所有的指令都可根据前面的执行结果决定是否被执行,从而提高指令的执行效率。-可用加载/存储指令批量传输数据,以提高数据的传输效率。-可在一条数据处理指令中同时完成逻辑处理和移位处理。-在循环处理中使用地址的自动增减来提高运行效率。当然,和CISC架构相比较,尽管RISC架构有上述的优点,但决不能认为RISC架构就可以取代CISC架构,事实上,RISC和CISC各有优势,而且界限并不那么明显。现代的CPU往往采用CISC的外围,内部加入了RISC的特性,如超长指令集CPU就是融合了RISC和CISC的优势,成为未来的CPU发展方向之一。2.4.2ARM微处理器模式ARM体系结构支持7种处理器模式:用户模式,快中断模式,中断模式,管理模式,中止模式,未定义模式和系统模式。具体参见下表。除用户模式外,其他模式均为特权模式。ARM内部寄存器和一些片内外设在硬件设计上只允许特权模式下访问。表4.1ARM处理器的7种运行模式处理器模式可以通过软件控制进行切换,也可以通过外部中断或异常处理过程进行切换。大多数的用户程序运行在用户模式下。2.4.3ARM微处理器的寄存器结构ARM处理器共有37个寄存器,被分为若干个组(BANK),这些寄存器包括:-31个通用寄存器,包括程序计数器(PC指针),均为32位的寄存器。-6个状态寄存器,用以标识CPU的工作状态及程序的运行状态,均为32位,目前只使用了其中的一部分。同时,ARM处理器又有7种不同的处理器模式,在每一种处理器模式下均有一组相应的寄存器与之对应。即在任意一种处理器模式下,可访问的寄存器包括15个通用寄存器(R0~R14)、一至二个状态寄存器和程序计数器。在所有的寄处理器模式描述用户模式(User,usr)正常程序执行的模式快速中断模式(FIQ,fiq)用于高速数据传输和通道处理外部中断模式(IRQ,irq)用于通常的中断处理特权模式(Supervisor,sve)供操作系统使用的一种保护模式数据访问中止模式(Abort,abt)用于虚拟存储及存储保护未定义指令中止模式(Undefined,und)用于支持通过软件仿真硬件的协处理器系统模式(System,sys)用于运行特权级的操作系统任务存器中,有些是在7种处理器模式下共用的同一个物理寄存器,而有些寄存器则是在不同的处理器模式下有不同的物理寄存器。2.4.4ARM微处理器的指令结构ARM微处理器的在较新的体系结构中支持两种指令集:ARM指令集和Thumb指令集。其中,ARM指令为32位的长度,Thumb指令为16位长度。Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省30%~40%以上的存储空间,同时具备32位代码的所有优点。3.基于ARM和µC/OS-II的嵌入式系统在嵌入式系统开发时,开发平台是不可缺少的。开发平台通常有很多基本的功能和丰富的接口,用户只需要在上面进行应用程序的开发就可以了,这样可以避免将大量时间花费在硬件电路和底层上,大大节约项目的开发周期。目前,基于ARM和µC/OS-II的嵌入式系统在国内应用非常多,关于它们的应用的书籍和文章排在了非常靠前的位置。多数小团队开发通常选择ARM和µC/OS-II作为嵌入式系统的软硬件核心进行研究应用,主
本文标题:实时操作系统μCOS-II在ARM上的移植研究论文
链接地址:https://www.777doc.com/doc-3673045 .html