
数事共本与变用
应用研究
μ C/OS-II在LPC3131处理器上的移植
张杰1倪永婧2米丽3
(1.中国电子科技集团公司第五十四研究所河北石家庄050081;
2.河北科技大学河北石家庄050000;3.河北师范大学网络中心河北石家庄050000)
摘要:本文首先概要介绍了μC/OS-II操作系统,然后研究和端写了三个与处理器相关的移植文件,最后通过设计多任务应用程序验证了 μC/OS-11在LPC3131处理器上的移植是成功的
关键词:μC/OS-IILPC3131嵌入式系统移植
中图分类号:TN927.2 1、引言
文献标识码:A
文章编号:1007-9416(2012)06-0091-03
固化,可剪裁的基于优先级的抢占式嵌人式实时操作系统。它提供
随着以通信技术,计算机技术为主的信息技术的快速发展,嵌入式操作系统以其小体积,低功耗,高性能的优点得到了越来越广泛的发展。嵌入式操作系统作为嵌人式软件运行的软件平台,负责管理各个进程的创建、删除以及任务调度,负责统一管理系统的软硬件资源,而进行嵌人式应用软件开发首先要完成嵌入式操作系统在相关处理器上的移植。
2、μC/OS-II在LPC3131上的移植
2.1C/OS-II简介
uC/OS-II是一种免费的,源代码公开的,完整的,可移植,可
益,
平包
ARM826EJ-S
B
n 能控制
电器腔M
内服存维器
ROM
E
总统矩阵(多属AHB)
aoro UART
1OBA0C
EOAM MCs
通图和连理
图1LPC3131内部组成框图
应用系统软件与应用相关的代码
INCLUDES.H
OS CPGH
与处理器无关的代码
o6_oonE.c os_Q.c OR_TDE.C
ago
s
O6_MBOX.C
OS_SEM.C ucoe_nc
O6_MEMC OS_TASK.C ucoe_ILH
与处理器相关的代码
os_crU_c.c
OS_cUr_AAOM 时钟
图2μC/OS-II的体系结构
应用软件层操作系块层
硬件层
了嵌人式操作系统所需的基本功能,包含有任务管理、时间管理、任务间同步通信和内存管理等功能,用户可以根据需求对内核中的功能模块进行裁剪。在μC/OS-II多任务系统中,留给用户应用程序最多可有56个任务。HC/OS-Ⅱ赋予每个任务不相同的优先级,设置各自独立的堆栈空间,从而快速的实现任务切换。μC/OS-IL总是先执行优先级最高的就绪任务,在调用系统API函数,完成中断、定时中断后总是执行调度算法。μC/OS-II的主体代码是用ANSI的C语言编写的,只有与微处理器硬件密切相关的那部分代码用汇编语言编写,面且已经压到了最低限度。至今,μC/OS-II可以在绝大多数的 8位、16位、32位以至64位微处理器上运行,已经在诸多领域,如手机路由器、医疗设备与工业控制等领域,得到了广泛应用。μC/OS-II 以其稳定性和可靠性还通过了美国航空管理局的认证。
2.2NXP公司的LPC3131处理器介绍
ARM选用NXP公司生产的LPC3131处理器,是一款高性能,低成本、更低功耗的微控制器,集成了180MHzARM926EJCPU内核、192KBSRAM,NAND闪存控制器、灵活的外部总线接口及各种串行和并行接口该芯片包含1个高速USB2.0OTG(配有片上 PHY),2个I2S接口,1个集成主/从SPI接口,2个I2C接口,1个快速 UART接口.1个集成4/8/16位6800/8080兼容LCD接口[2] LPC3131的内部组成框图见图1所示。
2.3μC/OS-II的移植 2.3.1移提条件
移植就是使一个实时内核能运行在另一种微处理器上。要使山 C/OS-IⅡI能够正常运行,处理器必须满足以下五项要求:
(1)处理器的C编译器能产生可重人代码;(2)用C语言就可以实现开中断和关中断:(3)处理器至少能支持定时中断,中断题率一般在10~~100Hz之间;(4)处理器能够支持一定容量的硬件堆栈:(5)处理器必须有堆栈指针和读写CPU其他寄存器,堆栈内容或内存的操作指令。
LPC3131处理器可以满足以上的全部要求。 2.3.2μC/OS-II体系结势
移植工作开始前首先要熟悉HC/OS-II的文件组成,μC。 OS-II的软硬件体系结构如图2所示,
μC/OS-II的源代码包括3个部分
(1)与应用相关的源代码,包括2个头文件,其中INCLUDES.H 是一个主头文件,包括了系统所有的头文件用户可以根据具体的应用程序定制和裁剪内核,只编译连接实际所需要的功能,如设置应用程序所需要的任务数量,事件控制块的数量、分区数目以及是否包含与消息管理有关的代码等。(2)与处理器无关的源代码,本部分代码是操作系统的核心代码,包括7个源代码文件和1个头文件。头文件中定义了操作系统的数据结构和常量,并且声明了外部可使用的函数。此部分核心代码负责任务切换及调度、内存管理、时间管理、负责任务间通信的信号量、邮箱、消息队列的管理。(3)与处理器相关的源代码,此部分是系统移植必需要修改的部分,包括1个头文件、1个C语言文件和1个汇编语言文件,在uC/OS-I的移植过程中,处理器不同,编写的代码也不同,需要根据所选CPU的具体情况作相应的修改(3)下面主要介绍处理器LPC3131在移植μC/OS-II
94