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