趙 成,華紅艷
(鄭州航空工業(yè)管理學(xué)院,鄭州450015)
嵌入式系統(tǒng)是一個(gè)具有廣闊發(fā)展前景的信息技術(shù)新領(lǐng)域,嵌入式系統(tǒng)技術(shù)的推廣和應(yīng)用是目前電子產(chǎn)品設(shè)計(jì)領(lǐng)域最熱門的實(shí)用技術(shù)之一,嵌入式系統(tǒng)技術(shù)已成為繼網(wǎng)絡(luò)之后最熱門的一項(xiàng)技術(shù)。目前,嵌入式系統(tǒng)的應(yīng)用無處不在,大的方面從軍事武器裝備到車載系統(tǒng)、醫(yī)療儀器設(shè)備,小的方面從隨身數(shù)碼產(chǎn)品到可穿戴設(shè)備等,都是嵌入式系統(tǒng)技術(shù)在主導(dǎo)。
隨著全球信息化的發(fā)展,嵌入式系統(tǒng)市場逐步增長。我國信息化與全面小康社會建設(shè)對嵌入式系統(tǒng)市場需求巨大,嵌入式技術(shù)人才的需求也日益高漲。而目前我國真正了解并掌握32位嵌入式系統(tǒng)開發(fā)技術(shù)的人才可謂鳳毛麟角,需求與供給嚴(yán)重失衡。高校是培養(yǎng)高新技術(shù)人才的搖籃,承擔(dān)著推廣先進(jìn)教學(xué)內(nèi)容和教學(xué)模式的重任。在航空院校,要辦出行業(yè)特色,并培養(yǎng)社會急需的能力突出的嵌入式系統(tǒng)開發(fā)技術(shù)人才,在嵌入式系統(tǒng)實(shí)驗(yàn)室的建設(shè)方案上就必須另辟蹊徑。
嵌入式系統(tǒng)實(shí)驗(yàn)室的功能定位于服務(wù)學(xué)院的嵌入式系統(tǒng)課程,為學(xué)生提供良好的理論及實(shí)踐課程環(huán)境,注重培養(yǎng)學(xué)生的操作能力、解決實(shí)際問題的能力,通過實(shí)驗(yàn)掌握嵌入式系統(tǒng)的開發(fā)方法。
2007年,我院于第二學(xué)期在本科生中首先開設(shè)了嵌入式系統(tǒng)課程,并且成立了嵌入式系統(tǒng)實(shí)驗(yàn)室,第一批購入嵌入式系統(tǒng)開發(fā)平臺UP-NE?TARM2410二十余套,基本滿足了本科生上課的教學(xué)需求。2011年又購進(jìn)十余套TE6410實(shí)驗(yàn)平臺,滿足課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)的應(yīng)用需求。嵌入式系統(tǒng)實(shí)驗(yàn)室自成立以來,學(xué)生及教師均在實(shí)驗(yàn)室完成了相關(guān)課題的研究。
在建立及不斷完善的基礎(chǔ)上,嵌入式實(shí)驗(yàn)室目前主要承擔(dān)理論與實(shí)踐教學(xué)、畢業(yè)設(shè)計(jì)、學(xué)科競賽、科研支持、校內(nèi)實(shí)訓(xùn)、就業(yè)培訓(xùn)等教學(xué)科研任務(wù)。
嵌入式系統(tǒng)實(shí)驗(yàn)室的建設(shè)包括嵌入式系統(tǒng)實(shí)驗(yàn)室環(huán)境建設(shè)、嵌入式系統(tǒng)實(shí)驗(yàn)室硬件建設(shè)、軟件環(huán)境的建設(shè)等幾個(gè)方面內(nèi)容。
1.2.1 嵌入式系統(tǒng)實(shí)驗(yàn)室環(huán)境
嵌入式系統(tǒng)實(shí)驗(yàn)室按容納40人的機(jī)位機(jī)房設(shè)計(jì),使用面積80m2以上,實(shí)驗(yàn)桌椅40套,每個(gè)學(xué)生實(shí)驗(yàn)桌面1400×600(mm)以上,方便學(xué)生在桌面上放置實(shí)驗(yàn)箱等設(shè)備。嵌入式系統(tǒng)實(shí)驗(yàn)中有很多題目與網(wǎng)絡(luò)開發(fā)相關(guān),對實(shí)驗(yàn)室而言,采用Windows客戶機(jī)+Linux服務(wù)器的方式,應(yīng)該是最適合的方案了。實(shí)驗(yàn)室的組網(wǎng)結(jié)構(gòu)如圖1所示。通過實(shí)驗(yàn)室局域網(wǎng),教師可以把實(shí)驗(yàn)所需要的各種工具軟件與實(shí)驗(yàn)報(bào)告儲存在服務(wù)器中供學(xué)生下載使用,同時(shí)學(xué)生也可以把實(shí)驗(yàn)報(bào)告上傳到服務(wù)器中供教師評閱。
圖1 嵌入式系統(tǒng)實(shí)驗(yàn)室網(wǎng)絡(luò)結(jié)構(gòu)
1.2.2 嵌入式系統(tǒng)實(shí)驗(yàn)室硬件配置
嵌入式系統(tǒng)實(shí)驗(yàn)室的硬件以ARM嵌入式設(shè)備為基礎(chǔ)。從NXP公司的ARM7核的LPC2140微處理器的應(yīng)用開始,結(jié)合實(shí)際的教學(xué)需求,發(fā)展到三星公司的ARM9核的S3C2410微處理器,后升級到ARM11核的S3C6410微處理器,截止到目前,為了配合3G的應(yīng)用,配置了10余套基于Cortex-A9的四核Exynos 4412微處理器開發(fā)板。
嵌入式系統(tǒng)實(shí)驗(yàn)室提供豐富的可選配件。通信類的包括藍(lán)牙模塊、wifi模塊、GPS模塊、GSM模塊、Zigbee模塊等;控制類的包括直流電機(jī)模塊、步進(jìn)電機(jī)模塊、PWM控制模塊、溫控模塊等;傳感器類的包括溫感模塊、紅外模塊、濕敏模塊等。限于篇幅,這里不能一一列舉,并且隨著教學(xué)科研的需求,還在不斷更新配置,主要型號如表1所示。
表1 嵌入式實(shí)驗(yàn)室的硬件設(shè)備型號
表2 嵌入式實(shí)驗(yàn)室的主要軟件項(xiàng)目
1.2.3 嵌入式系統(tǒng)實(shí)驗(yàn)室軟件配置
嵌入式系統(tǒng)的軟件開發(fā)分為三大類:無操作系統(tǒng)軟件開發(fā)、小型操作系統(tǒng)軟件開發(fā)與真操作系統(tǒng)軟件開發(fā)。無操作系統(tǒng)軟件開發(fā)也稱作裸機(jī)開發(fā)、類單片機(jī)系統(tǒng)開發(fā),ARM微處理器上不運(yùn)行操作系統(tǒng),使用匯編語言或C語言直接編程控制CPU或片內(nèi)、外設(shè)的寄存器,以操作ARM微處理器;小型操作系統(tǒng)軟件開發(fā)不使用MMU單元、不進(jìn)行物理地址與虛擬地址的轉(zhuǎn)換、不運(yùn)行在保護(hù)模式下,只是基于小型操作系統(tǒng)有多任務(wù)并行處理的實(shí)時(shí)運(yùn)算需求,常用的小型操作系統(tǒng)有μC/OS-II、VxWorks、μCLinux等。
真操作系統(tǒng)是指與標(biāo)準(zhǔn)PC機(jī)上操作系統(tǒng)使用相同內(nèi)核的操作系統(tǒng),換言之,真操作系統(tǒng)軟件開發(fā)是使用與PC機(jī)相同的軟件開發(fā)技術(shù),開發(fā)運(yùn)行在ARM平臺上的程序。與前兩者不同,這一類開發(fā)沒有廠商提供集成開發(fā)環(huán)境,需要用戶選擇軟件來配置,是開放式的、非統(tǒng)一的、非標(biāo)準(zhǔn)化的開發(fā)環(huán)境。
為配合硬件設(shè)備工作,筆者所在嵌入式系統(tǒng)實(shí)驗(yàn)室設(shè)計(jì)了一套能滿足實(shí)驗(yàn)開發(fā)需求的、穩(wěn)定的嵌入式系統(tǒng)軟件,多屆本科生的應(yīng)用實(shí)踐表明,配置的軟件系統(tǒng)學(xué)習(xí)起來難度適中,循序漸進(jìn),讓學(xué)生通過階梯式的軟件學(xué)習(xí),對嵌入式系統(tǒng)開發(fā)有一個(gè)相當(dāng)全面而深入的認(rèn)識。選擇配置的軟件分為BootLoader、嵌入式操作系統(tǒng)、根文件系統(tǒng)、中間件、圖形系統(tǒng)、虛擬仿真軟件等,部分主要項(xiàng)目如表2所示。
嵌入式系統(tǒng)課程開設(shè)的實(shí)驗(yàn)項(xiàng)目符合學(xué)生的認(rèn)知規(guī)律和實(shí)際水平,注重基礎(chǔ)與前沿、經(jīng)典與現(xiàn)代的結(jié)合,注重與科研、工程和社會實(shí)踐應(yīng)用緊密聯(lián)系,并及時(shí)融入科技創(chuàng)新和最新教學(xué)成果。依據(jù)大綱的知識點(diǎn),項(xiàng)目的設(shè)置由淺入深、由簡單到綜合,包含基本實(shí)驗(yàn)、提高型實(shí)驗(yàn)(綜合性、設(shè)計(jì)性、應(yīng)用性等)和創(chuàng)新型實(shí)驗(yàn)。
嵌入式系統(tǒng)開發(fā)平臺基礎(chǔ)實(shí)驗(yàn)內(nèi)容包括:
①基于VMWare虛擬機(jī)環(huán)境的Linux系統(tǒng)安裝與配置(VMTools、Linux工具包、Samba服務(wù)器等);
②交叉編譯工具鏈的制作與安裝;
③Skyeye的安裝與測試;
④BootLoader程序的編譯、Skyeye仿真與固化(包括命令、板級支持等擴(kuò)展);
⑤Linux內(nèi)核的配置、編譯、Skyeye仿真與固化;
⑥根文件系統(tǒng)的制作(要求能編寫etc目錄下的文件)、Skyeye仿真與固化;
⑦驅(qū)動程序與應(yīng)用程序設(shè)計(jì);
⑧miniGUI圖形系統(tǒng)的移植與開發(fā)(可選QT/E、Qtopia圖形系統(tǒng));
⑨開源軟件的移植與應(yīng)用。
供學(xué)生選做的課程設(shè)計(jì)的(部分)題目有:
①基于外部中斷的矩陣鍵盤驅(qū)動程序設(shè)計(jì);
②基于SKYEYE的嵌入式Linux系統(tǒng)設(shè)計(jì);
③基于開源Web服務(wù)器Boa的遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì);
④嵌入式Linux系統(tǒng)中無線網(wǎng)絡(luò)的設(shè)計(jì);
⑤嵌入式Linux系統(tǒng)中藍(lán)牙通信系統(tǒng)的設(shè)計(jì);
⑥基于V4L2的USB攝像頭視頻采集系統(tǒng)設(shè)計(jì);
⑦基于webserver的網(wǎng)絡(luò)視頻系統(tǒng)設(shè)計(jì);
⑧基于QT圖形系統(tǒng)的智能家居上位機(jī)系統(tǒng)設(shè)計(jì);
⑨基于嵌入式系統(tǒng)的開源游戲模擬器的設(shè)計(jì)。
嵌入式系統(tǒng)實(shí)驗(yàn)室開設(shè)項(xiàng)目,體現(xiàn)多樣性和立體化,有廣闊的覆蓋面和足夠的實(shí)驗(yàn)項(xiàng)目,自主開發(fā)計(jì)算機(jī)輔助實(shí)驗(yàn)教學(xué)軟件和多媒體實(shí)驗(yàn)教學(xué)課件,既體現(xiàn)基礎(chǔ)性,又反映實(shí)驗(yàn)教學(xué)與研究的最新成果,既體現(xiàn)學(xué)科內(nèi)涵,又反映現(xiàn)代實(shí)驗(yàn)技術(shù)與方法。
筆者所在高校是航空類的二本院校,在教學(xué)與科研方面與航空類課程或課題會有交集,嵌入式系統(tǒng)實(shí)驗(yàn)室也相應(yīng)地承擔(dān)了一些有關(guān)的應(yīng)用研究,逐步積累起來,將有用的軟硬件資源重新排列調(diào)整,形成了可用于學(xué)生實(shí)踐的實(shí)訓(xùn)系統(tǒng),這些系統(tǒng)實(shí)質(zhì)上是在基礎(chǔ)的嵌入式系統(tǒng)設(shè)備上自主開發(fā)的特色嵌入式實(shí)訓(xùn)系統(tǒng),這里選擇比較有特點(diǎn)的3個(gè)實(shí)訓(xùn)系統(tǒng)平臺做基本介紹。
該實(shí)訓(xùn)系統(tǒng)為針對鄭州航空港建設(shè),設(shè)置的嵌入式特色實(shí)訓(xùn)系統(tǒng),包括3個(gè)模塊:RFID貨品追溯系統(tǒng)、倉儲貨品室內(nèi)定位系統(tǒng)及在途物流追蹤系統(tǒng)。典型的嵌入式實(shí)驗(yàn)設(shè)備,如RFID、Zigbee、NFC、GPS、GIS等,通過嵌入式物聯(lián)網(wǎng)網(wǎng)關(guān)接入云計(jì)算平臺,數(shù)據(jù)存儲在云存儲器中,3個(gè)系統(tǒng)的應(yīng)用程序可以共享這些數(shù)據(jù),在IaaS的用戶界面上提供實(shí)現(xiàn)協(xié)同運(yùn)行的客戶端程序。
該實(shí)訓(xùn)系統(tǒng)是嵌入式技術(shù)與云計(jì)算的典型應(yīng)用,給用戶提供虛擬操控飛行器的直觀感受。模擬座艙的客戶端圖形系統(tǒng)在PC機(jī)及智能手持設(shè)備上均能顯示,使用Matlab虛擬現(xiàn)實(shí)模塊與Labview共同開發(fā)實(shí)現(xiàn),在云計(jì)算虛擬系統(tǒng)中運(yùn)行,變化的地空環(huán)境數(shù)據(jù)從云存儲調(diào)用。屏幕儀表顯示的數(shù)據(jù)由嵌入式系統(tǒng)的傳感器獲取,通過網(wǎng)絡(luò)上傳到云存儲器上,經(jīng)云計(jì)算的虛擬化實(shí)例調(diào)用后顯示在虛擬儀表盤上。
用戶的交互操作編碼后通過云網(wǎng)絡(luò)傳遞給嵌入式虛擬儀器,接著虛擬儀器控制下層的實(shí)驗(yàn)設(shè)備做相應(yīng)電路的調(diào)整,虛擬儀表數(shù)據(jù)回顯新的狀態(tài)數(shù)據(jù)給客戶端,表示模擬飛行器的控制效果。這里的軟件提供開源的API接口。
隨著ARM微處理器性能的提升,現(xiàn)在的微處理器已經(jīng)可以支撐硬件音視頻編解碼,用戶可以選擇在非PC平臺下操作音視頻節(jié)目甚至20世紀(jì)90年代需要PC機(jī)才能運(yùn)行的3D游戲節(jié)目,這無疑提升了娛樂系統(tǒng)的硬件平臺移動性。電子娛樂業(yè)將是這一技術(shù)進(jìn)步的最大受益者。目前,在一個(gè)配有LCD圖形界面和32位ARM微處理器的移動平臺上,將開源的MP3、MP4、MP5播放器mplayer,以及游戲模擬器Visual Boy Advance(VBA)的代碼移植到微處理器上,通過網(wǎng)絡(luò)編程,使每一臺娛樂終端互聯(lián)互通,實(shí)現(xiàn)音視頻節(jié)目共享、消息傳遞、聯(lián)網(wǎng)交互游戲的娛樂功能。
該系統(tǒng)需要ZLIB數(shù)據(jù)壓縮庫、libpng圖像庫、SDL多媒體函數(shù)庫的支持,開源軟件mplayer、開源模擬器VBA的代碼幾乎不需要修改,經(jīng)過編譯與安裝得到的應(yīng)用程序,可以直接由圖形系統(tǒng)中的控件關(guān)聯(lián)調(diào)用。特別地,實(shí)驗(yàn)室已安裝了DevKitA?dv程序、kaleid程序、TektronicWave程序,學(xué)生可以設(shè)計(jì)開發(fā)GBA游戲程序,這極大地提高了學(xué)生的學(xué)習(xí)嵌入式系統(tǒng)技術(shù)的興趣,同時(shí)極大地提高了用戶的娛樂體驗(yàn)。
嵌入式系統(tǒng)作為一個(gè)新專業(yè),知識面覆蓋范圍廣,匯集了多學(xué)科應(yīng)用。本文針對嵌入式系統(tǒng)專業(yè)實(shí)驗(yàn)室建設(shè)進(jìn)行了研究與探討,提出了嵌入式系統(tǒng)實(shí)驗(yàn)室設(shè)計(jì)與建設(shè)的思路,電子通信系嵌入式系統(tǒng)實(shí)驗(yàn)室的建設(shè)結(jié)合鄭州航院的實(shí)際,建設(shè)了一個(gè)集教學(xué)、實(shí)踐、創(chuàng)新、競賽和研發(fā)功能于一體的嵌入式系統(tǒng)實(shí)驗(yàn)平臺。
[1]趙成.嵌入式系統(tǒng)應(yīng)用基礎(chǔ)——基于S3C2410A的SKY?EYE仿真與實(shí)踐[M].北京:國防工業(yè)出版社,2012.
[2]David Seal.ARM Architecture Reference Manual(2nd Edi?tion)[M].Addison-Wesley Professional,2000.
[3]ARM and Thumb-2 Instruction Set Quick Reference Card[Z].ARM Limited,2009.
[4]U-Boot Reference Manual[Z].Digi International Inc.,2007.
[5]Frank VahidTony Givargis.Embedded System Design:A Unified Hardware/Software Introduction[M].New York:John Wiley&Sons Inc,2004.
[6]Jonathan Corbet,Alessandro,Rubini,and Greg Kroah-Hartman.Linux Device Drivers(Third Edition)[M].Cambridge:O'Reilly,2005.
[7]陳渝,韓超,李明.嵌入式系統(tǒng)原理及應(yīng)用開發(fā)[M].北京:機(jī)械工業(yè)出版社,2008.