徐 亮
摘 要:嵌入式技術(shù)是當今最流行的一門新技術(shù),有著十分廣闊的應(yīng)用前景。目前,國內(nèi)很多高職院校都在開設(shè)或計劃開設(shè)嵌入式課程,很多教師對于嵌入式教學(xué)中采用什么樣的微處理器,哪種嵌入式操作系統(tǒng)更適合高職院校教學(xué)方面還存在很多問題。本文針對兩種ARM芯片和兩種操作系統(tǒng)進行了比較,并給出一個優(yōu)化選擇,以供高職院校的教師們參考。
關(guān)鍵詞:ARM;μC/OS;Linux
中圖分類號:G642 文獻標識碼:B
嵌入式系統(tǒng)教學(xué)是一門新課,涉及電子、計算機、軟件等諸多專業(yè)學(xué)科,對授課老師要求較高,選擇合適的教學(xué)體系和實驗設(shè)備對教學(xué)的順利開展和保證教學(xué)質(zhì)量至關(guān)重要。
從一些資料和高職院校反饋的信息來看,對嵌入式教學(xué)中采用何種微處理器以及哪種操作系統(tǒng),教師們還有疑問。作為一名高職院校教師,我認為在微處理器和操作系統(tǒng)的選擇上,ARM7處理器和μC/OS操作系統(tǒng)更適合教學(xué)使用。
1 微處理器的選擇
ARM(Advanced RISC Machines)即我們通常所說的ARM微處理器,已遍及工業(yè)控制、消費類電子產(chǎn)品、通信系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)、無線系統(tǒng)等各類產(chǎn)品市場,基于ARM技術(shù)的微處理器應(yīng)用約占據(jù)了32位RISC微處理器75%以上的市場份額。常用的ARM有ARM7和ARM9,兩者皆采用基于ARM7TDMI內(nèi)核的三星S3C44B0芯片,該芯片是目前國內(nèi)使用最廣的經(jīng)典ARM芯片,非常適合教學(xué);和ARM7相比,ARM9在性能方面有很大提高,但它更適合作為產(chǎn)品開發(fā)平臺,并不適合作為教學(xué)平臺。下面是筆者在性能、軟件、應(yīng)用和功能四個方面對兩者的比較:
(1) 從硬件設(shè)計方面,ARM7的主頻在30MHz~100MHz左右,學(xué)生完全可以掌握其設(shè)計技術(shù),而ARM9的主頻在100MHz~200MHz左右,屬高速設(shè)計,至少有3年以上經(jīng)驗的硬件工程師才可能進行設(shè)計,一般學(xué)生很難掌握。
(2) 從軟件設(shè)計方面,在教學(xué)中采用源碼開發(fā)的操作系統(tǒng)已成為共識,ARM7資源緊湊,適合運行μC/OS和Linux等源碼開放的操作系統(tǒng),在教學(xué)中能夠充分體現(xiàn)嵌入式系統(tǒng)對資源、成本、可靠性有嚴格需要的特點;而ARM9是系統(tǒng)集成度更高的SOC,適合跑WinCE、Linux等高級操作系統(tǒng),用于教學(xué)是“大馬拉小車”,這樣使學(xué)生在設(shè)計時往往不關(guān)注資源、成本、可靠性的限制,就如同用一臺PC進行教學(xué)一樣,無法體現(xiàn)嵌入式教學(xué)的特點。
(3) 從應(yīng)用方面,ARM7芯片價格比ARM9低得多,而且是目前嵌入式產(chǎn)品市場的主流,占90%以上,很多手機、小靈通等產(chǎn)品都是基于ARM7設(shè)計的。就如同目前單片機的開發(fā)與教學(xué)絕大多數(shù)采用51體系一樣,ARM7就是32位微處理器領(lǐng)域的51,至少有10年左右的生命力,這也如同單片機教學(xué)很少講16位的80186一樣。
(4) 從性能方面,嵌入式教學(xué)設(shè)備和PC不一樣,PC強調(diào)“性能”,而教學(xué)設(shè)備強調(diào)“功能”。設(shè)備是否高級,在于“功能”,而不在于“性能”。ARM9和ARM7的功能都很完備,但是前者的結(jié)構(gòu)卻比后者復(fù)雜,因此ARM7比ARM9的使用更簡單,操作更方便。這就和現(xiàn)代“微機原理”、“計算機組成原理”、“單片機技術(shù)”等課程仍在使用4位、8位機,而不選用P4級CPU作為實驗案例是一個道理——因為4位、8位機作為教學(xué)工具已經(jīng)足夠了,既容易理解,又能講清知識和問題。教學(xué)中著重要講的是知識和概念,而不是CPU的性能。
ARM7和ARM9的功能相似,但性能價格差異較大,無論從軟件設(shè)計還是從應(yīng)用角度來看,我都認為選擇ARM7更適合教學(xué)使用。
2 操作系統(tǒng)的選擇
目前,國內(nèi)嵌入式教學(xué)系統(tǒng)中用得較多的兩類操作系統(tǒng)是Linux和μC/OS。Linux非常熱門,而且是未來幾年的發(fā)展方向;μC/OS是專門為計算機的嵌入式應(yīng)用設(shè)計的,絕大部分代碼是用C語言編寫的。μC/OS操作系統(tǒng)中的CPU硬件相關(guān)部分是用匯編語言編寫的,其總量約為200行,這部分匯編語言被壓縮到了最低限度,為的是便于移植到任何一種其他的CPU上。用戶只要有標準的ANSI的C交叉編譯器,有匯編器、連接器等軟件工具,就可以將μC/OS嵌入到開發(fā)的產(chǎn)品中。
在嵌入式系統(tǒng)的教學(xué)中,我認為μC/OS更適合,主要有以下三個方面的原因:
(1) 從常用的操作系統(tǒng)來看,當今桌面操作系統(tǒng)主流仍為Windows系統(tǒng),絕大多數(shù)老師和學(xué)生沒有或很少使用Linux,而且高職院校的??粕A段也很少開設(shè)Linux相關(guān)課程。倘若開展ARM+Linux教學(xué),教師和學(xué)生至少要有Linux應(yīng)用經(jīng)驗,因此教師就要在前期花很大精力講授Linux操作系統(tǒng)知識、ARM微處理器知識以及Linux下的編程與交叉編譯技術(shù),學(xué)生在實驗中更要熟悉Linux開發(fā)環(huán)境,進行實際編程訓(xùn)練等。把這么多內(nèi)容都放在一門課上講解,很難保證教學(xué)質(zhì)量。
(2) 從大多數(shù)專業(yè)的角度來看,μC/OS源代碼簡單經(jīng)典,容易為學(xué)生學(xué)習(xí)和接受,在Windows環(huán)境下開發(fā),學(xué)生容易理解和學(xué)習(xí)。經(jīng)過30~40學(xué)時的講解和實驗,學(xué)生能夠充分掌握嵌入式開發(fā)的要點,保證了教學(xué)效果。而在一些高職院校的專業(yè)計算機學(xué)院,Linux課程并沒有開設(shè),其他專業(yè)更不會去研究其源代碼。
(3) 從二者的性能角度來看,μC/OS具有執(zhí)行效率高、占用空間小、實時性能優(yōu)良和可擴展性能等特點,最小內(nèi)核可編譯至2KB。μC/OS-II已經(jīng)移植到了幾乎所有知名的CPU上。而Linux在這點上對硬件的要求要高于μC/OS,所以它并不適合嵌入式教學(xué)系統(tǒng)的使用。
3 小結(jié)
綜上所述,我認為高職院校在選擇嵌入式教學(xué)系統(tǒng)的微處理器和操作系統(tǒng)時,ARM7和μC/OS更合適。無論是選擇微處理器,還是操作系統(tǒng),我們都必須從學(xué)生的實際情況出發(fā),制定相應(yīng)的教學(xué)計劃,選擇實驗設(shè)備,不能一味追求“高級”和“流行”,而忽略教學(xué)過程中最關(guān)鍵的要素:學(xué)生接受能力。應(yīng)做到因材施教,因勢利導(dǎo),才能達到最好的教學(xué)效果。
參考文獻:
[1] 三恒星科技. ARM嵌入式系統(tǒng)入門[M]. 北京:中國電力出版社,2008.
[2] Jean J.Labrosse. 嵌入式實時操作系統(tǒng)μC/OS-Ⅱ[M]. 邵貝貝,譯. 2版. 北京:北京航空航天大學(xué)出版社,2007.
[3] 鐘堅文,蔡 旭. 基于μC/OS-II的CAN總線驅(qū)動程序設(shè)計[J]. 微計算機信息,2007.