资源描述
目录
摘要2
1. 引言4
2. 国内外研究的发展与现状5
3. 单片机相关情况简介7
3.1单片机与单片微计算机系统7
3.2单片机发展概述7
3.3 单片机的特点8
3.4单片机的应用领域9
3.4.1单片机的单机应用X围9
3.4.2单片机的多机应用X围9
3.5 国内外对单片机的开发清况9
4. ARM嵌入式处理器介绍与选型12
4.1 ARM嵌入式处理器简介12
4.2 ARM微处理器的工作模式和异常处理12
4.4 ARM寄存器14
4.4 ARM微处理器的选型15
4.5 ARM微处理器LPC2124介绍16
5. μC/OS-II 操作系统简介17
5.1 μC/OS-II操作系统的特点17
5.2 μC/OS-II 操作系统的结构18
5.2.1μC/OS-II 操作系统文件结构18
5.2.2 μC/OS-II 操作系统内核体系结构图19
5.3 μC/OS-II操作系统任务状态与其转换关系19
5.3.1 μC/OS-II操作系统任务控制块21
5.3.2 μC/OS-II操作系统任务调度器22
5.3.3 μC/OS-II操作系统任务切换22
5.3.4 μC/OS-II操作系统任务就绪表22
5.3.5 μC/OS-II操作系统中断服务23
5.3.6 μC/OS-II操作系统时钟节拍24
5.4 μC/OS-II的初始化和启动24
6. μC/OS-II在 LPC2124 上的移植27
6.1 μC/OS-II的移植简介27
6.3 μC/OS-II移植中应注意的问题28
6.4.1 改写OS_CPU. H 文件29
6.4.2 改写OS_CPU_C.C 文件32
6.4.3 改写 OS_CPU_A.ASM34
6.5测试移植代码43
6.5.1编译环境的调试44
6.5.2测试与处理器相关的代码45
参考文献48
致谢49
摘要
本文文首先从嵌入式系统的基本概念入手,对在嵌入式系统中使用RTOS的必要性,RTOS的发展现状和发展趋势等方面进行了简单综述,然后着重分析了操作系统μC/OS-Π内核结构,如:任务调度、时间管理、通讯机制以与内存管理等。在此基础上,并以带有数据处理能力较强的32位单片机的LPC2124开发机为控制对象,以抢占式内核LPC2124为嵌入式操作系统,以BorlnadC++4.5为编译环境搭建了一套嵌入式操作系统软硬件开发平台,实现了μCOS-Ⅱ在LPC2124上的移植。
关键词:嵌入式系统;LPC2124;μC/OS-Ⅱ;系统移植
Abstract
Beginning 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 RTOS and development trend,etc. This thesis introduces the real time operation systemμC/OS-Πand analyzes kernel particularly, for instance, task-scheduler, time-manage, umunication-principle and member-manage. Based on it, designing the software and hardware platform of embedded operation system, with 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 Transplant
1. 引言
随着国内外工业化、数字化的步伐加快。嵌入式开发在rI'行业中的重要性越来越显著。嵌入式系统也以其体积小、功耗低、性能高的优点得到了人们的广泛关注。嵌入式操作系统作为嵌入式软件运行的平台,负责管理各个进程间的创建、删除以与任务调度,统一管理系统的软硬件资源,因此进行嵌入式开发。首先要实现嵌入式操作系统在相关处理器上的移植,再以次为基础开发相应的应用软件。本文以公开源码的μC/OS II嵌入式实时操作系统为例。描述了该嵌入式实时操作系统在LPC2124上的移植。从而构成了一个软硬件都非常强大的开发
平台,并以此为基础,建立了一个浮子式液位测量系统,来说明μC/OS II在嵌入式系统中的应用。
3. 单片机相关情况简介
3.1单片机与单片微计算机系统
计算机系统已明显地朝巨型化、单片化、网络化三个方向发展。巨型化发展的目的在于不断提高计算机的运算速度和处理能力,以解决复杂系统计算和高速数据处理,比如系统仿真和模拟、实时运算和处理。单片化就是把计算机系统尽可能集成在一块半导体芯片上,其目的在于计算机微型化和提高系统的可靠性,通常把这种单片计算机简称单片机。准确而言,单片机(单片微型计算机)实际上是一种将CPU(中央处理器)、存储器和输入输出接口集成在一个芯片中的微型计算机。单片机的内部硬件结构和指令系统主要是针对自动控制应用而设计的,所以单片机又称微控制器MCU(MicroController Unit),又由于用它可以很容易地将计算机嵌入到各种仪器和现场控制设备中,因此单片机也叫嵌入式微控制器(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操作系统任务切换
任务切换有两种: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的服务之前要先调用系统初始化函数OSInit()。OSInit()初始化u
6. μC/OS-II在 LPC2124 上的移植
6.1 μC/OS-II的移植简介
所谓移植.就是使—个实时内核能在其他的微处理器或微控制器上运行。要使I-LC/OS-II正常运行。处理器必须满足以下要求:
·处理器的C编译器能产生可重入型代码;
·处理器支持中断,并且能够产生定时中断:
·用C语言就可以开、关中断;
·处理器能支持一定数量的输出存储硬件堆栈;
·处理器有将堆栈指
STR SP, [R1] (18)
BL OSTaskSwHook ;调用子函数 (19)
堆栈指针(32)
LDMFD SP!, {R4, R5} ;CPSR,OsEnterSum (33)
这部分代码基本按照μC/OS-Ⅱ提供的函数原型编写的,其中程序清单(1)—(18)部分 与OSCtxSw()和OSIntCtxSw( )的原型是没有对应语句的,寄存器应当保存到任务的堆栈中,但为了节省CPU的时间和RAM的空间,仅在必要的时候才将寄存器保存到任务堆栈。 OSTCBCur->OSTCBStkPtr=SP也是在必要的时候才执行的。
最后通过中断返回指令恢复R0—R12,把SPSR拷贝到CPSR(恢复用户任务的处理器模式和指令集)和执行用户任务(恢复PC指针),这是由程序段(37)实现的。这里需要注意的是程序段(29)和(32)中的SP是不同的处理器寄存器分别为R13和R13_SVC。
(3)μC/OS-Ⅱ最高任务的运行OSStartHighRdy的编写
μC/OS-Ⅱ启动多任务环境的函数叫做OSStart()。用户在调用OSStart() 之
参考文献
[1]任哲等.嵌入式操作系统基础μC/OS-II和Linux.:航空航天大学, 2006.
[2]JeanJLabrosse, 邵贝贝译.嵌入式实时操作系统μC/OSSⅡ[M].:航空航天大学, 2004.
[3] Philips公司.LPC2114/2124 User Manuai.2004.
[4]Arnold Berger,吕骏译.嵌入式系统设计.电子工业, 2002.
[5]Frank Vahid Tony Givargis,骆丽译,嵌入式系统设计.:航空航天大学, 2004
[6]周立功.ARM嵌入式系统基础教程.:航空航天大学,2005.
[7]马文华.嵌入式系统设计与开发[M ]. :科学, 2006.
[8]李广弟.单片机基础[M] . : 航空航天大学, 1994.
[9]王田苗.嵌入式系统设计与实例开发[M] . :清华大学, 2002.
[10]李爽正.嵌入式操作系统uC/OS-II的特点与移植应用研究.XX:多媒体技术与应用,2003,1299.
[11]Jean J.Labrosse,uC/OS-II源码公开的实时嵌入式操作系统(第二版), 邵贝贝, 译. :航空航天大学, 2003.5.
致 谢
转眼间,四年的大学生活就要结束了,十分感谢XX大学XX学院给我提供这样一个环境,让我可以接触到各种各样的人和事,让我不再是一个井底之蛙,让我学会了如何去工作,如何去学习,让我找到了自己的人生方向。在这里,我圆了成为一名大学生的梦。在本文结束之际,此时此刻要感谢的人实在太多。
首先要感谢我的导师×××老师。×老师的治学严谨、宽于待人,四年下来,给我留下了深刻印象,能在×老师的指导下完成本科毕业论文,是我一生的财富。感谢您从本文选题开始一路指导至本论文的完成,从论文题目的选定到论文写作的指导,经由您悉心的点拨,再经思考后的领悟,常常让我有“山重水复疑无路,柳暗花明又一村”的豁然开朗!由衷感谢您在论文上倾注的大量心血,您宽厚待人的学者风X令我无比感动。另外,还要感谢所有授课老师课上对我的教导,你们丰富的授课内容拓宽了我的视野,让我能更顺利的完成这篇文章;感谢我的同学们,你们不仅让我感受到友情的力量,也让我感觉到了生活的愉悦,通过课堂讨论学到的思维方式将使我受益终生。
这些时光会慢慢的沉淀下来,但无论何时,我想到这段岁月,都如同是看到一枚珍藏已久的夹在书里发黄的书签,永远都是那么璀璨、那么绚烂。
9 / 9
展开阅读全文