如何選擇嵌入式操作系統(tǒng)
嵌入式操作系統(tǒng)是ARM CPU的軟件基礎(chǔ),從8位/16位單片機發(fā) 展到以ARM CPU核為代表的32位嵌入式處理器,嵌入式操作系統(tǒng)將替代傳統(tǒng)的由手工編制的監(jiān)控程序或調(diào)度程序,成為重要的基礎(chǔ)組件。更重要的是嵌入式操作系統(tǒng)對應(yīng)用 程序可以起到屏蔽的作用,使應(yīng)用程序員面向操作系統(tǒng)級開發(fā)應(yīng)用軟件,并易于在不同的ARM核的嵌入式處理器上移植。
嵌入式操作系統(tǒng)都具 有一定的實時性,易于裁剪和伸縮,可以適合于從ARM7到Xscale各種ARM CPU和各種檔次的應(yīng)用,嵌入式操作系統(tǒng)可以使用廣泛流行的ARM開發(fā)工具,如ARM公司的SDT/ADS和RealView等,也可以使用開發(fā)軟件,如 GCC/GDB、KDE或Eclipe開發(fā)環(huán)境,市場上還有專用的開發(fā)工具,如Tornado、μC/View、μC/KA、CODE/Lab、 Metroworks等。
本文就目前國內(nèi)在ARM CPU上廣泛采用的三種嵌入式操作系統(tǒng)(μC/OS-II、μCLinux和嵌入式Linux)作分析。
μC/OS-II嵌入式實時內(nèi)核全世界數(shù)百種設(shè)備已經(jīng)在使用μC/OS-II,包括手機、路由器、不間斷電源、飛行器、醫(yī)療設(shè)備和工業(yè)控制設(shè)備。μC /OS-II已經(jīng)有ARM7TDMI、ARM9和Strong ARM等各種ARM CPU的移植,支持包含Atmel、Hynix、Intel、Motorola、Philips、Samsung、Sharp等公司的ARM核的 CPU.μC/OS-II的移植也相當容易,與CPU相關(guān)的代碼包裝在三個文件中,它們是os_cpu.h、os_cpu_a.asm和 os_cpu_c.c.μC/OS-II有60多個系統(tǒng)調(diào)用,覆蓋任務(wù)、定時器、信號量、事件標志、郵箱、隊列和內(nèi)存管理,已經(jīng)包含了傳統(tǒng)嵌入式操作系統(tǒng) 內(nèi)核(如PSOS,VRTX)的功能,還支持互斥型信號量,這是90年代的嵌入式操作系統(tǒng)內(nèi)核,如VxWorks和VRTXsa才有的技術(shù)。
μC/OS-II因為是可搶占的實時內(nèi)核,所以μC/OS-II與商業(yè)嵌入式實時內(nèi)核在性能上沒有什么差異,μC/OS-II沒有用戶態(tài)和內(nèi)核態(tài),任務(wù) (線程)或中斷和任務(wù)切換的響應(yīng)可以很快,主要是和ARM CPU相關(guān)的。最新的2.7x版本還增加了算法以避免在移植中修改堆棧指針,這樣可以保證μC/OS-II在不同的CPU上運行更穩(wěn)定,移植更方便。μC /OS-II目前除了內(nèi)核外還有商業(yè)化文件系統(tǒng)μC/FS,圖形系統(tǒng)μC/GUI以及任務(wù)調(diào)試工具μC/KA和μC/View,但是μC/OS-II自己 目前還沒有TCP/IP協(xié)議系統(tǒng)。
總的來說,μC/OS-II是一個非常容易學(xué)習,結(jié)構(gòu)簡單,功能完備和實時性很強的嵌入式操作系統(tǒng)內(nèi) 核,適合于各種嵌入式應(yīng)用以及大專院校教學(xué)和科研。最后需要說明,μC/OS-II不是免費軟件,任何人學(xué)習使用μC/OS-II需要購買《嵌入式實時操 作系統(tǒng)μC/OS-II》一書,使用μC/OS-II的產(chǎn)品需要購買產(chǎn)品生產(chǎn)授權(quán),購買了此授權(quán)的還可以得到開發(fā)期間的技術(shù)支持和升級服務(wù)。
評論