μCOS-II在ARM Cortex-M3处理器上的移植
摘要:Cortex-M3是ARM公司最新推出的基于ARMv7-M架构的低功耗处理器。在深入了解μCOS-II工作原理和Cortex-M3特性的基础上,给出了在STWl32F103ZE处理器上的详细移植过程。将移植后的μC/OS-Ⅱ操作系统应用于移动多媒体直放站CMMB项目中,验证了移植的成功。这对于管理硬件资源,缩短开发周期和提高系统稳定性方面有着重要的意义。
关键词:Cortex-M3;μCOS-Ⅱ;移植;嵌入式系统
0 引言
嵌入式系统已经广泛渗透到了人们工作、生活中的各个领域,嵌入式处理器已占分散处理器市场份额的94%,其中ARM的应用最为广泛。基于ARM内核的处理器以其诸多优异性能而成为各类产品中选用较多的处理器之一。
当系统越来越大,应用越来越多时,就出现了如何管理众多的硬件资源,以及如何满足系统的实时控制要求和如何提高系统软件开发效率等不可回避的问题。这时,使用嵌入式操作系统很有必要。操作系统的主要作用有:统一管理系统资源;为用户提供访问硬件的接口;调度多个应用程序和管理文件系统等。
1 概述
μC/OS-II是著名的、源码公开的实时内核,是专为嵌入式应用设计的,可用于各类8位、16位和32位处理器。μC/OS-II已经在世界范围内得到广泛使用,包括诸多领域,如手机、飞行器、医疗设备及工业控制等。实际上,μC/OS-II已经通过了非常严格的测试,并且得到了美国航空管理局的认证,可以用在飞行器上。这说明μC/OS-II是稳定可靠的。
Cortex-M3是一款低功耗处理器,具有门数目少,中断延迟短,调试成本低的特点,是为要求有快速中断响应能力的深度嵌入式应用而设计的。该处理器采用最新的ARMv7-M架构。还具有如下特性:
(1)采用Thumb-2指令集。在Thumb-2中,16位指令首次与32位指令并存,代码密度得到很大改善。
(2)Cortex-M3处理器可配置为具有SW-DP或JTAG-DP调试端口。
(3)使用可选的MPU对处理器提供存储器保护。
(4)具有嵌套向量中断控制器(NVIC),低延迟的异常处理。
本论文采用的是意法半导体ST公司生产的基于Cortex-M3内核的STM32F103ZE处理器,详细论述了μC/OS-Ⅱ的移植过程。编译环境采用的是RVMDKV3.7。
2 移植工作
所谓移植,就是使一个实时内核能在指定的微处理器上运行。为了方便移植,大部分μC/OS-II的代码都是用C语言编写的,但是仍需要用C语言和汇编语言编写一些与处理器硬件相关的代码。μC/OS-II是第一个支持Cortex的RTOS,图1显示应用程序、μC/OS-II、port和BSP四者之间的关系。具体移植工作主要涉及到头文件OS_CPU.H、C语言文件OS_CPU_C.C以及汇编格式文件OS_CPU_A.ASM。
评论