《【毕业论文】基于ARM单片机LPC2124的μCOS-Ⅱ操作系统移植与实现epk.docx》由会员分享,可在线阅读,更多相关《【毕业论文】基于ARM单片机LPC2124的μCOS-Ⅱ操作系统移植与实现epk.docx(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、全文及程序请联系QQ840468512目录摘要21. 引言42. 国内外研究的发展与现状53. 单片机相关情况简介73.1单片机与单片微计算机系统73.2单片机发展概述73.3 单片机的特点83.4单片机的应用领域93.4.1单片机的单机应用范围93.4.2单片机的多机应用范围93.5 国内外对单片机的开发清况94. ARM嵌入式处理器介绍及选型124.1 ARM嵌入式处理器简介124.2 ARM微处理器的工作模式和异常处理124.4 ARM寄存器144.4 ARM微处理器的选型154.5 ARM微处理器LPC2124介绍165. C/OS-II 操作系统简介175.1 C/OS-II操作系统
2、的特点175.2 C/OS-II 操作系统的结构185.2.1C/OS-II 操作系统文件结构185.2.2 C/OS-II 操作系统内核体系结构图195.3 C/OS-II操作系统任务状态及其转换关系195.3.1 C/OS-II操作系统任务控制块215.3.2 C/OS-II操作系统任务调度器225.3.3 C/OS-II操作系统任务切换225.3.4 C/OS-II操作系统任务就绪表225.3.5 C/OS-II操作系统中断服务235.3.6 C/OS-II操作系统时钟节拍245.4 C/OS-II的初始化和启动246. C/OS-II在 LPC2124 上的移植276.1 C/OS-I
3、I的移植简介276.3 C/OS-II移植中应注意的问题286.4.1 改写OS_CPU. H 文件296.4.2 改写OS_CPU_C.C 文件326.4.3 改写 OS_CPU_A.ASM346.5测试移植代码436.5.1编译环境的调试446.5.2测试与处理器相关的代码45参考文献48致 谢49摘要本文文首先从嵌入式系统的基本概念入手,对在嵌入式系统中使用RTOS的必要性,RTOS的发展现状和发展趋势等方面进行了简单综述,然后着重分析了操作系统C/OS-内核结构,如:任务调度、时间管理、通讯机制以及内存管理等。在此基础上,并以带有数据处理能力较强的32位单片机的LPC2124开发机为控
4、制对象,以抢占式内核LPC2124为嵌入式操作系统,以BorlnadC+4.5为编译环境搭建了一套嵌入式操作系统软硬件开发平台,实现了COS-在LPC2124上的移植。关键词:嵌入式系统;LPC2124;C/OS-;系统移植AbstractBeginning with the basic conception of the emebedded system,the paper introduces the necessity of using RTOS in the embedded system, the current situation of the development of RTO
5、S and development trend,etc. This thesis introduces the real time operation systemC/OS-and analyzes kernel particularly, for instance, task-scheduler, time-manage, comumunication-principle and member-manage. Based on it, designing the software and hardware platform of embedded operation system, with
6、 regards LPC2124 developer as control object, reaving kernel C/OS- as operation system ,Borland C+ 4.5 as code warrior. Implementing the transplantation of C/OS- on the LPC2124.Key Words:Embedded system; LPC2124; C/OS-, Operating System Transplant1. 引言 随着国内外工业化、数字化的步伐加快。嵌入式开发在rI行业中的重要性越来越显著。嵌入式系统也以其
7、体积小、功耗低、性能高的优点得到了人们的广泛关注。嵌入式操作系统作为嵌入式软件运行的平台,负责管理各个进程间的创建、删除以及任务调度,统一管理系统的软硬件资源,因此进行嵌入式开发。首先要实现嵌入式操作系统在相关处理器上的移植,再以次为基础开发相应的应用软件。本文以公开源码的C/OS II嵌入式实时操作系统为例。描述了该嵌入式实时操作系统在LPC2124上的移植。从而构成了一个软硬件都非常强大的开发平台,并以此为基础,建立了一个浮子式液位测量系统,来说明C/OS II在嵌入式系统中的应用。 3. 单片机相关情况简介3.1单片机与单片微计算机系统计算机系统已明显地朝巨型化、单片化、网络化三个方向发
8、展。巨型化发展的目的在于不断提高计算机的运算速度和处理能力,以解决复杂系统计算和高速数据处理,比如系统仿真和模拟、实时运算和处理。单片化就是把计算机系统尽可能集成在一块半导体芯片上,其目的在于计算机微型化和提高系统的可靠性,通常把这种单片计算机简称单片机。准确而言,单片机(单片微型计算机)实际上是一种将CPU(中央处理器)、存储器和输入输出接口集成在一个芯片中的微型计算机。单片机的内部硬件结构和指令系统主要是针对自动控制应用而设计的,所以单片机又称微控制器MCU(MicroController Unit),又由于用它可以很容易地将计算机嵌入到各种仪器和现场控制设备中,因此单片机也叫嵌入式微控制
9、器(Embedded MCU)。4. ARM嵌入式处理器介绍及选型4.1 ARM嵌入式处理器简介ARM微处理器内核是ARM技术的核心,目前市场上能够见到的有ARM7、ARM9、ARM9E、ARM10E、SecurCore、ARM11,还有Intel的Xcale微体系架构及StrongARM等系列。ARM处理器采用RSIC的架构技术,它具备小体积,低功耗,低成本,高性能等特色,支持Thumb(16位)和ARM(32位)双指令集,能很好地兼容8位/16位器件。4.2 ARM微处理器的工作模式和异常处理从而被中断的任务进入等待状态,运行被激活的高优先级的任务。5.3.3 C/OS-II操作系统任务切
10、换任务切换有两种:OS_TASK_SW()和OSIntCtxSw()。任务级的任务切换OS_TASK_SW()是宏调用,通过软中断指令来实现CPU寄存器内容切换。例如:#define OS_TASK_SW() asm(“int #32”),具体实现参见移植文档。任务级的任务切换过程:中实现了函数init_timer_ta0(),此函数用来初始化定时器TA0,并将其打开。C/OS-II中的时钟节拍服务是在ISR中调用OSTimeTick()实现的。OSTimeTick()跟踪所有任务的定时器以及超时时限。5.4 C/OS-II的初始化和启动调用uC/OS-II的服务之前要先调用系统初始化函数OS
11、Init()。OSInit()初始化u6. C/OS-II在 LPC2124 上的移植 6.1 C/OS-II的移植简介所谓移植就是使个实时内核能在其他的微处理器或微控制器上运行。要使I-LCOS-II正常运行。处理器必须满足以下要求:处理器的C编译器能产生可重入型代码;处理器支持中断,并且能够产生定时中断:用C语言就可以开、关中断;处理器能支持一定数量的输出存储硬件堆栈;处理器有将堆栈指 STR SP, R1 (18) BL OSTaskSwHook ;调用子函数 (19) 堆栈指针(32) LDMFD SP!, R4, R5 ;CPSR,OsEnterSum (33) 这部分代码基本按照C
12、/OS-提供的函数原型编写的,其中程序清单(1)(18)部分 与OSCtxSw()和OSIntCtxSw( )的原型是没有对应语句的,寄存器应当保存到任务的堆栈中,但为了节省CPU的时间和RAM的空间,仅在必要的时候才将寄存器保存到任务堆栈。 OSTCBCur-OSTCBStkPtr=SP也是在必要的时候才执行的。最后通过中断返回指令恢复R0R12,把SPSR拷贝到CPSR(恢复用户任务的处理器模式和指令集)和执行用户任务(恢复PC指针),这是由程序段(37)实现的。这里需要注意的是程序段(29)和(32)中的SP是不同的处理器寄存器分别为R13和R13_SVC。(3)C/OS-最高任务的运行
13、OSStartHighRdy的编写C/OS-启动多任务环境的函数叫做OSStart()。用户在调用OSStart() 之参考文献1 任哲等.嵌入式操作系统基础C/OS-II和Linux.北京:北京航空航天大学出版社, 2006.2 JeanJLabrosse, 邵贝贝译.嵌入式实时操作系统C/OSSM.北京:北京航空航天大学出版社, 2004.3 Philips公司.LPC2114/2124 User Manuai.2004.4 Arnold Berger,吕骏译.嵌入式系统设计.电子工业出版社, 2002.5 Frank Vahid Tony Givargis,骆丽译,嵌入式系统设计.北京:
14、北京航空航天大学出版社, 20046 周立功.ARM嵌入式系统基础教程.北京:北京航空航天大学出版社,2005.7 马文华.嵌入式系统设计与开发M . 北京:科学出版社, 2006.8 李广弟.单片机基础M . 北京: 北京航空航天大学出版社, 1994.9 王田苗.嵌入式系统设计与实例开发M . 北京:清华大学出版社, 2002.10 李爽正.嵌入式操作系统uC/OS-II的特点及移植应用研究.河南:多媒体技术及应用,2003,1299.11 Jean J.Labrosse,uC/OS-II源码公开的实时嵌入式操作系统(第二版), 邵贝贝, 译. 北京:北京航空航天大学出版社, 2003.5
15、.致 谢转眼间,四年的大学生活就要结束了,十分感谢海南大学三亚学院给我提供这样一个环境,让我可以接触到各种各样的人和事,让我不再是一个井底之蛙,让我学会了如何去工作,如何去学习,让我找到了自己的人生方向。在这里,我圆了成为一名大学生的梦。在本文结束之际,此时此刻要感谢的人实在太多。首先要感谢我的导师老师。老师的治学严谨、宽于待人,四年下来,给我留下了深刻印象,能在老师的指导下完成本科毕业论文,是我一生的财富。感谢您从本文选题开始一路指导至本论文的完成,从论文题目的选定到论文写作的指导,经由您悉心的点拨,再经思考后的领悟,常常让我有“山重水复疑无路,柳暗花明又一村”的豁然开朗!由衷感谢您在论文上倾注的大量心血,您宽厚待人的学者风范令我无比感动。另外,还要感谢所有授课老师课上对我的教导,你们丰富的授课内容拓宽了我的视野,让我能更顺利的完成这篇文章;感谢我的同学们,你们不仅让我感受到友情的力量,也让我感觉到了生活的愉悦,通过课堂讨论学到的思维方式将使我受益终生。这些时光会慢慢的沉淀下来,但无论何时,我想到这段岁月,都如同是看到一枚珍藏已久的夹在书里发黄的书签,永远都是那么璀璨、那么绚烂。