基于Cortex-M3核的μCOS-II移植与应用
本文作者(潘丽蕊,袁保社),请您在阅读本文时尊重作者版权。
摘要:在研究了μCOS-II实时操作系统体系结构、运行环境及运行机制基础上,针对Cortex-M3内核的移植需求, 对μCOS-II实时操作系统在Cortex-M3核上的移植进行了实践。同时分析了μCOS-II在Cortex-M3上的移植条件,编写及修改了移植环境的定制与配置,实现了μCOS-II在Cortex-M3上的移植,最后给出了一个基于μCOS-II嵌入式实时操作系统的简单应用。
关键词:实时操作系统;μCOS-II;Cortex-M3;移植In the Cortex-M3 of the μCOS-II Transplantation and Application
PAN Li-rui, YUAN Bao-she
(College of Information Science Engineering, Xinjiang University, Urumqi 830046, China)
Abstract:Based on the study of μCOS-II real time operating system structure、operating environment and operational mechanism,it against the demand for transplant Cortex-M3 kernel, real time operating system in the Cortex-M3 of the μCOS-II transplantation on the practice.It also analyzed the conditions of μCOS-II in the Cortex-M3 of the transplant, edited and modified the customization and configuration of the transplant environment,and achieved the μCOS-II in the Cortex-M3 of the transplant. Finally, an embedded real time operating system based on μCOS-II simple application was given.
Key words: real time operating system; μCOS-II;Cortex-M3; transplantation
1 概述
基于嵌入式操作系统平台的掌上设备将是未来各种信息设备的主力军。目前在各种电脑学习机、游戏机、复读机、电子词典、手机、网关设备、交换机、机顶盒、MP4等各种智能电子产品中广泛使用嵌入式操作系统。而比较著名的Vxworks、pSOS、Neculeus 和Windows CE操作系统它们源代码的封闭性大,从而限制了部分开发者的积极性。因此嵌入式系统需要的是一套高度简练、界面友善、质量可靠、应用广泛、易开发、多任务,并且价格低廉的操作系统。
μCOS-II实时操作系统结构小巧,适合小型控制系统,具有执行效率高,占用空间小,实时性能优良和可扩展性能强等特点,具有可剥夺实时内核,提供了实时系统所需的基本功能,其中包括任务的调度与管理,时间管理,任务间同步与通信,内存管理和中断服务等功能,而且非常方便开发。本文实现基于Cortex-M3核的μCOS-II移植与应用。
2 软硬件开发环境及处理器简介
2.1 软硬件开发环境简介
IAR Embedded Workbench for ARM(下面简称 IAR EWARM)是一个针对 ARM 处理器的集成开发环境[3],它包含项目管理器、编辑器、C/C 编译器和 ARM 汇编器、连接器 XLINK 和支持 RTOS 的调试工具 C-SPY。在 EWARM 环境下可以使用 C/C 和汇编语言方便地开发嵌入式应用程序。比较其他的 ARM 开发环境,IAR EWARM 具有入门容易、使用方便和代码紧凑等特点。
目前IAR EWARM支持 ARM Cortex-M3内核的最新版本是5.11,该版本支持Luminary全系列的 MCU。
2.2Cortex-M3处理器简介
Cortex-M3是ARM公司最新推出的功能强大的先进微处理器核,主要特点包括:(1)32 位 ARM 内核,哈佛架构。(2)兼容 Thumb 的 Thumb-2 指令集。(3)50MHz 运行频率。(4)单周期乘法指令,2~12周期硬件除法指令。(5)快速可嵌套中断,6~12个时钟周期。(6)具有 MPU 保护设定访问规则。(7)64KB 单周期 Flash, 16KB 单周期 SRAM。(8)内置可编程的 LDO 输出。(9)支持非对齐数据的访问。(10)支持位操作。(11)内置系统节拍定时器(SysTick),方便操作系统移植。
3 μCOS-II操作系统简介
μCOS-II是由美国人Jean J.Labrosse编写的一个公开源代码的微内核嵌入式实时操作系统。μCOS-II已经在世界范围内得到广泛的应用,包括手机、路由器、不间断电源、飞行器、医疗设备及工业控制等诸多领域。而且μCOS-II已经通过了非常严格的测试,得到了美国航空管理局的认证,可用在飞行器上。
μCOS-II有如下特点:(1)源代码公开。(2)可移植性好。(3)可固化。(4)可裁剪。(5)可剥夺性。(6)多任务性。(7)可确定性。(8)任务栈。(9)系统服务。(10)中断管理。(11)稳定性与可靠性好。
4 μCOS-II移植的条件及移植的层次结构
4.1 移植的条件
μCOS-II的大部分代码是使用 ANSI C 语言书写的, 因此μCOS-II具有很好的可移植性。但是要使 μCOS-II 正常运行,处理器必须满足以下要求[1]:
(1)处理器的 C 编译器可以产生可重入型代码;
(2)用C语言可以开/关中断;
(3)处理器支持中断,并且能够产生定时中断;
(4)处理器能支持一定数量的数据存储硬件堆栈;
(5)处理器有将堆栈指针以及其他CPU寄存器的内容读出、并存储到堆栈或内存中去的指令。
4.2 移植的层次结构
本移植的层次结构由用户层、中间件层、μCOS-II 源码层、μCOS-II移植层和驱动库层等五个层次组成,每个层次分别对应相应的目录,目录中又包含对应的文件。掌握了这个层次结构,有助于对移植过程的更好理解。此层次结构如1表所示。