μCOS-II在ARM Cortex-M3處理器上的移植
摘要:Cortex-M3是ARM公司最新推出的基于ARMv7-M架構(gòu)的低功耗處理器。在深入了解μCOS-II工作原理和Cortex-M3特性的基礎(chǔ)上,給出了在STWl32F103ZE處理器上的詳細(xì)移植過程。將移植后的μC/OS-Ⅱ操作系統(tǒng)應(yīng)用于移動(dòng)多媒體直放站CMMB項(xiàng)目中,驗(yàn)證了移植的成功。這對于管理硬件資源,縮短開發(fā)周期和提高系統(tǒng)穩(wěn)定性方面有著重要的意義。
關(guān)鍵詞:Cortex-M3;μCOS-Ⅱ;移植;嵌入式系統(tǒng)
0 引言
嵌入式系統(tǒng)已經(jīng)廣泛滲透到了人們工作、生活中的各個(gè)領(lǐng)域,嵌入式處理器已占分散處理器市場份額的94%,其中ARM的應(yīng)用最為廣泛?;贏RM內(nèi)核的處理器以其諸多優(yōu)異性能而成為各類產(chǎn)品中選用較多的處理器之一。
當(dāng)系統(tǒng)越來越大,應(yīng)用越來越多時(shí),就出現(xiàn)了如何管理眾多的硬件資源,以及如何滿足系統(tǒng)的實(shí)時(shí)控制要求和如何提高系統(tǒng)軟件開發(fā)效率等不可回避的問題。這時(shí),使用嵌入式操作系統(tǒng)很有必要。操作系統(tǒng)的主要作用有:統(tǒng)一管理系統(tǒng)資源;為用戶提供訪問硬件的接口;調(diào)度多個(gè)應(yīng)用程序和管理文件系統(tǒng)等。
1 概述
μC/OS-II是著名的、源碼公開的實(shí)時(shí)內(nèi)核,是專為嵌入式應(yīng)用設(shè)計(jì)的,可用于各類8位、16位和32位處理器。μC/OS-II已經(jīng)在世界范圍內(nèi)得到廣泛使用,包括諸多領(lǐng)域,如手機(jī)、飛行器、醫(yī)療設(shè)備及工業(yè)控制等。實(shí)際上,μC/OS-II已經(jīng)通過了非常嚴(yán)格的測試,并且得到了美國航空管理局的認(rèn)證,可以用在飛行器上。這說明μC/OS-II是穩(wěn)定可靠的。
Cortex-M3是一款低功耗處理器,具有門數(shù)目少,中斷延遲短,調(diào)試成本低的特點(diǎn),是為要求有快速中斷響應(yīng)能力的深度嵌入式應(yīng)用而設(shè)計(jì)的。該處理器采用最新的ARMv7-M架構(gòu)。還具有如下特性:
(1)采用Thumb-2指令集。在Thumb-2中,16位指令首次與32位指令并存,代碼密度得到很大改善。
(2)Cortex-M3處理器可配置為具有SW-DP或JTAG-DP調(diào)試端口。
(3)使用可選的MPU對處理器提供存儲器保護(hù)。
(4)具有嵌套向量中斷控制器(NVIC),低延遲的異常處理。
本論文采用的是意法半導(dǎo)體ST公司生產(chǎn)的基于Cortex-M3內(nèi)核的STM32F103ZE處理器,詳細(xì)論述了μC/OS-Ⅱ的移植過程。編譯環(huán)境采用的是RVMDKV3.7。
2 移植工作
所謂移植,就是使一個(gè)實(shí)時(shí)內(nèi)核能在指定的微處理器上運(yùn)行。為了方便移植,大部分μC/OS-II的代碼都是用C語言編寫的,但是仍需要用C語言和匯編語言編寫一些與處理器硬件相關(guān)的代碼。μC/OS-II是第一個(gè)支持Cortex的RTOS,圖1顯示應(yīng)用程序、μC/OS-II、port和BSP四者之間的關(guān)系。具體移植工作主要涉及到頭文件OS_CPU.H、C語言文件OS_CPU_C.C以及匯編格式文件OS_CPU_A.ASM。
評論