[摘要]嵌入式系統(tǒng)作為芯片和軟件的集成體,已經(jīng)成為支撐社會經(jīng)濟發(fā)展的重要資源。將嵌入式新技術(shù)用于教學(xué)與科研實踐,培養(yǎng)高水平的應(yīng)用人才,是高等院校和科研單位始終關(guān)注的話題。因此本文介紹了嵌入式系統(tǒng)的概念、特點和結(jié)構(gòu),對嵌入式系列課程進行設(shè)置和教學(xué)改革。
[關(guān)鍵詞]嵌入式 教學(xué)改革 課程設(shè)置
[中圖分類號]G434 [文獻標(biāo)識碼]A
一、引言
在上個世紀(jì)七十年代前后,出現(xiàn)了嵌入式系統(tǒng)的概念,當(dāng)時,還沒有出現(xiàn)操作系統(tǒng)(OS),僅有監(jiān)控系統(tǒng)及匯編語言,隨著計算機技術(shù)的發(fā)展及應(yīng)用需求,將OS引入了嵌入式系統(tǒng),嵌入式的編程以C語言為主,并有了強大的嵌入式開發(fā)平臺。我國嵌入式軟件應(yīng)用規(guī)模為世界第三,在中國軟件前10家企業(yè)中,嵌入式軟件產(chǎn)品生產(chǎn)企業(yè)占了6家。數(shù)字化、智能化、網(wǎng)絡(luò)化的趨勢將使傳統(tǒng)設(shè)備逐漸轉(zhuǎn)變?yōu)榍度胧皆O(shè)備,因此嵌入式軟件對改造和提升傳統(tǒng)產(chǎn)業(yè)有重大作用。 中國工程院院士倪光南強調(diào),我國IT行業(yè)應(yīng)大力發(fā)展嵌入式軟件,提升我國IT產(chǎn)業(yè)的核心競爭力。
嵌入式系統(tǒng)是以應(yīng)用為中心,以計算機技術(shù)為基礎(chǔ),其軟硬件可配置,對功能、可靠性、成本、體積、功耗有嚴格約束的一種專用系統(tǒng)。所使用的計算機為嵌入式計算機。嵌入式系統(tǒng)一般可由嵌入式微處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)及應(yīng)用程序四部分組成,嵌入式系統(tǒng)一般嵌入到應(yīng)用系統(tǒng)中[1]。
廣義而言,可將計算機技術(shù)作為一種技術(shù),嵌入到應(yīng)用系統(tǒng)中,計算機技術(shù)又經(jīng)常是一種核心技術(shù)。對一般用戶而言,嵌入式系統(tǒng)是透明的。
對于處于高速發(fā)展時期的嵌入式技術(shù)及物聯(lián)網(wǎng)技術(shù)時代,嵌入式系列課程的教學(xué)也在各大院校中開展起來。要設(shè)置適應(yīng)社會需求的嵌入式技術(shù)人才,在設(shè)置嵌入式系列課程時,需要解決以下問題:
1.課程體系設(shè)置
嵌入式課程目前開展最多的還是在研究生階段,但隨著嵌入式市場需求的增加,一些高校在本科階段開始設(shè)置嵌入式方向體系課程。那么怎樣設(shè)置適合本科在校生學(xué)習(xí)的課程是現(xiàn)在亟需解決的問題。
2.實驗教學(xué)環(huán)節(jié)設(shè)置
嵌入式技術(shù)對學(xué)生動手能力要求很高,而且嵌入式系統(tǒng)是軟硬件結(jié)合的產(chǎn)物,對學(xué)生能力要求很高,既要會硬件設(shè)計又要會軟件設(shè)計。
二、嵌入式系統(tǒng)基本結(jié)構(gòu)
1.嵌入式處理器
(1)嵌入式微處理器:對應(yīng)通用計算機CPU。
(2)嵌入式微控制器:對應(yīng)用單片計算機。
(3)嵌入式DSP:應(yīng)用于數(shù)字信號處理,數(shù)字濾波,F(xiàn)FT譜分析,圖象處理等領(lǐng)域。
2.微內(nèi)核結(jié)構(gòu)
微內(nèi)核結(jié)構(gòu)是指僅提供基本的功能,任務(wù)調(diào)度,通信及同步,內(nèi)存管理,對外管理等。嵌入式系統(tǒng)一般配有操作系統(tǒng)。OS分為內(nèi)核層與應(yīng)用層兩個層次。內(nèi)核僅提供基本功能,建立及管理進程,I/O、文件系統(tǒng)由應(yīng)用層完成。其它屬于應(yīng)用組件,如網(wǎng)絡(luò)功能,文件系統(tǒng),GUI等,工作在用戶,系統(tǒng)可裁剪,即用戶可選擇需要的組件。
3.任務(wù)調(diào)度
在嵌入式系統(tǒng)中,任務(wù)即線程,大多數(shù)嵌入式OS支持多任務(wù)。
多任務(wù)運行是指靠CPU在多個任務(wù)之間切換、調(diào)度,每個任務(wù)有優(yōu)先級。不同任務(wù)的優(yōu)先級不同,調(diào)度方式可分為三種方式:
(1)不可搶占式調(diào)度:一旦某個任務(wù)獲得CPU,就獨占CPU,除非某種原因(任務(wù)完成、等待資源),它才放棄CPU。
(2)可搶占式調(diào)度:基于任務(wù)優(yōu)先級,當(dāng)前運行的任務(wù),隨時可讓位于優(yōu)先級更高的處于就緒態(tài)的任務(wù)。
(3)時間片輪轉(zhuǎn)調(diào)度:當(dāng)兩個以上的任務(wù),優(yōu)先級相同,一個進程在用完自已的時間片,就將cpu讓位于同優(yōu)先級的另一個進程。
嵌入式系統(tǒng)大多數(shù)OS采用優(yōu)先級不同時用搶占式和優(yōu)先級相同時間片輪轉(zhuǎn)調(diào)度法。
4.硬實時系統(tǒng)與軟實時系統(tǒng)
一般嵌入式系統(tǒng)對時間要求較高,即要求在較短的時間內(nèi),對提交的任務(wù)作出響應(yīng),稱之為實時系統(tǒng)(μS級)。
硬實時系統(tǒng)對響應(yīng)時間有嚴格要求,軟實時系統(tǒng)可在較寬時間范圍內(nèi)完成。
5.內(nèi)存管理
用MMU,使用虛擬存儲器概念,大多數(shù)嵌入式系統(tǒng)MMU,從而采用實地址管理模式,這樣,存儲保護技術(shù)也相應(yīng)降低。然而,隨著嵌入式技術(shù)的發(fā)展及需求的牽引,近來不少嵌入式系統(tǒng)中也在加強存儲管理,引入虛擬存儲器概念,引入MMU,同時也在加強存儲保護。
6.內(nèi)核加載方式
OS內(nèi)核既可在FLASH中運行,也可在片內(nèi)RAM中運行,一般而言,在片內(nèi)RAM中運行,可獲得更快的速度,但RAM是易失性的,故無論內(nèi)核還是應(yīng)用程序,都應(yīng)放在FLASH中,以免揮發(fā)。故在實際加載時,就存在兩種方式,一是在FLASH中直接運行;另一是運行在@FLASH中的加載程序,將內(nèi)核裝入片內(nèi)RAM,然后再運行裝入RAM的內(nèi)核。
7.嵌入式系統(tǒng)開發(fā)的有關(guān)技術(shù)
嵌入式系統(tǒng)的開發(fā)技術(shù),比一般在Windows下開發(fā)要復(fù)雜一些,它與硬件平臺有關(guān)。
開發(fā)平臺分為宿主機與目標(biāo)機。
(1)宿主機(一般用通用PC機):主要功能是編譯、鏈接、定址,還進行調(diào)試期間的運行控制。
目標(biāo)機(硬件平臺-目標(biāo)板):運行嵌入式軟件。
第一過程:用交叉編譯器。所謂交叉,是在一個計算機平臺,為另一個計算機平臺產(chǎn)生代碼的編譯器。
第二過程:鏈接,將所有目標(biāo)程序鏈接為一個目標(biāo)文件。
第三過程:定址,將目標(biāo)文件分配到物理存儲器的相應(yīng)地址。
這一過程與目標(biāo)機硬件結(jié)構(gòu)有關(guān),即與各存儲器的起始地址有關(guān)。
(2)宿主機的調(diào)試功能
宿主機的第二個功能為支持調(diào)試目標(biāo)機上的應(yīng)用程序。應(yīng)用交叉調(diào)試器,采用宿主機與目標(biāo)機聯(lián)合調(diào)試。首先下載,將宿主機中的內(nèi)核及應(yīng)用程序下載至目標(biāo)板;然后,分別對目標(biāo)板源碼級、匯編級進行調(diào)試。
目標(biāo)監(jiān)控器是對目標(biāo)機上的應(yīng)用程序進行控制的,它事先被固化在FLASH中,宿主機與目標(biāo)監(jiān)控器相聯(lián)接,完成調(diào)試控制過程,其步驟為:下載程序至目標(biāo)板,控制其運行,并隨時檢測返回狀態(tài)[2]。
三、嵌入式系統(tǒng)課程設(shè)計
嵌入式技術(shù)在中國的發(fā)展已經(jīng)有十幾年的歷史,根據(jù)嵌入式系統(tǒng)基本結(jié)構(gòu),其涵蓋的課程非常廣泛,有《嵌入式操作系統(tǒng)》、《嵌入式系統(tǒng)及其應(yīng)用》、《嵌入式組件設(shè)計》,《嵌入式Linux設(shè)計》等,目前這些課程基本是各大院校電子類相關(guān)專業(yè)的必修或選修課程。通過這些課程的學(xué)習(xí),使學(xué)生能夠獨立完成嵌入式系統(tǒng)的硬件系統(tǒng)設(shè)計和軟件設(shè)計。
《嵌入式操作系統(tǒng)》主要介紹實時內(nèi)核原理、多個常用OS(UCOS、UCLinux、WIN CE、VXWorks、Nucleus)的比較、實時時效的分析與提高、實時OS的設(shè)計方案。
《嵌入式軟件設(shè)計》主要結(jié)合匯編、C(C++)、JAVA等語言的嵌入式實現(xiàn)精華,體現(xiàn)實時OS的移植,低、高級語言的集成應(yīng)用。
《嵌入式系統(tǒng)及其應(yīng)用》講解嵌入式系統(tǒng)的定義、發(fā)展、分類、組成、特點、開發(fā)調(diào)試方法、嵌入式處理器等概念性的介紹,幫助建立系統(tǒng)的概念和特征,完成應(yīng)用層編程。
《嵌入式Linux設(shè)計》涉及嵌入式Linux驅(qū)動程序的設(shè)計,包括I/O口、CAN總線、觸摸屏、IIC、PS/2、異步串口、音頻、顯示、USB、以太網(wǎng)及Flash的使用及驅(qū)動程序的編寫。在ARM Linux的中斷處理、BootLoader和內(nèi)核上電啟動過程。
為了更好的體現(xiàn)嵌入式門課的實用性,在課程之后配有一個為期兩周的課程設(shè)計《嵌入式系統(tǒng)及應(yīng)用課程設(shè)計》。在前面實踐能力基礎(chǔ)上,面向某一領(lǐng)域的應(yīng)用,以嵌入式系統(tǒng)基礎(chǔ)設(shè)計實現(xiàn)相應(yīng)功能系統(tǒng)。提高了學(xué)生的實際動手能力與綜合能力。學(xué)生要將嵌入式操作系統(tǒng)移植到智能手機中,并在此基礎(chǔ)上進行二次開發(fā),完善智能手機的功能。包括電話簿、記事本、日程、計算器、日歷和時間顯示、游戲軟件(包括俄羅斯方塊、五子棋、拼圖、高爾夫球、沙壺球等)、音頻功能(包括播放MP3等歌曲)、手機攝像頭以及手機通訊功能(包括GPS通訊、GPRS通訊、紅外通訊、藍牙無線通訊等)。我校電子信息科學(xué)與技術(shù)專業(yè)嵌入式方向自2002年創(chuàng)建至今,已有六屆畢業(yè)生。由于創(chuàng)建之初嵌入式還是個新興的技術(shù),所以無論從課程內(nèi)容設(shè)置、教學(xué)順序設(shè)置以及教學(xué)環(huán)節(jié)的配合都很不成熟,師資和實驗設(shè)備嚴重短缺。但在不斷探索和調(diào)整中我們總結(jié)出一套嵌入式課程體系建設(shè)的方案,科學(xué)合理設(shè)置教學(xué)內(nèi)容、從實際出發(fā)調(diào)整教學(xué)順序、各教學(xué)環(huán)節(jié)相互配合。
由于嵌入式相關(guān)課程涉及的范圍甚廣,尤其隨著現(xiàn)在物聯(lián)網(wǎng)及許多新技術(shù)的興起,針對嵌入式課程體系的建設(shè),包括教學(xué)內(nèi)容的體系化建設(shè)和教學(xué)環(huán)節(jié)的體系化建設(shè),是教學(xué)過程中需要解決的問題,需要提出相應(yīng)的解決方案[3]。
由于嵌入式系統(tǒng)面向應(yīng)用的主要特點,在課程設(shè)置中特別強調(diào)培養(yǎng)學(xué)生動手實踐的能力。以教師科研環(huán)境和專業(yè)實驗室為基地,開展課外學(xué)習(xí)方式培養(yǎng)學(xué)生的綜合實踐能力;知識講解與主流嵌入式系統(tǒng)實例結(jié)合,搞好課程教材體系的配套建設(shè);配有課程設(shè)計,加強學(xué)時在工程設(shè)計方面的能力;多位教師授課,充分發(fā)揮每位教師優(yōu)勢,使新技術(shù)能貫穿在教學(xué)中;與學(xué)生實際相結(jié)合,對學(xué)生畢業(yè)找工作和再學(xué)習(xí)有很大幫助;設(shè)計了多種等級實驗,學(xué)生通過循序漸進設(shè)計能提高綜合設(shè)計實驗?zāi)芰Α?/p>
基于嵌入式系列課程的教學(xué)改革與探索能解決好課程間的聯(lián)系、銜接問題。從理論教學(xué)、實驗教學(xué)到課程設(shè)計、畢業(yè)設(shè)計統(tǒng)籌安排,形成一個整體,使學(xué)生的學(xué)習(xí)層次化、階梯化。建立嵌入式實驗平臺,提高學(xué)生參加相關(guān)競賽的積極性,培養(yǎng)學(xué)生對嵌入式相關(guān)課程的學(xué)習(xí)興趣,促進學(xué)生自學(xué)能力和解決問題能力的提高,突出學(xué)生的能力建設(shè)、知識探究和人格養(yǎng)成。
四、嵌入式系統(tǒng)研究方向
嵌入式系統(tǒng)有著廣泛的市場前景。市場需求方面:中國具有世界最大嵌入式技術(shù)市場。手持儀器設(shè)備、信息家電、城市建設(shè)、工業(yè)控制、軍事應(yīng)用等,嵌入式技術(shù)無處不在。企業(yè)人才需求方面:軟硬件設(shè)計人才,應(yīng)用開發(fā)人才,綜合性人才,培訓(xùn)增加,工資待遇逐漸上升。技術(shù)發(fā)展趨勢要求方面:8位單片機到16位單片機主要用于不需要操作系統(tǒng)的只需要處理簡單任務(wù)的控制系統(tǒng),但現(xiàn)在的手機、智能家居等系統(tǒng)已經(jīng)不能滿足于簡單的控制了,多個任務(wù)并發(fā)出現(xiàn)時,需要具有實時操作系統(tǒng)的32位嵌入式微控制器的解決。圖1概況了現(xiàn)在嵌入式系統(tǒng)的主要研究方向。
圖1 嵌入式系統(tǒng)研究方向
五、總結(jié)
未來幾年,市場對嵌入式人才尤其是嵌入式Linux人才的需求旺盛。而目前熟練的嵌入式Linux應(yīng)用人才只有幾千名。這意味著各大跨國公司及國內(nèi)消費類電子巨頭企業(yè)都面臨著人才嚴重短缺的挑戰(zhàn)。所以設(shè)置好嵌入式系列課程,培養(yǎng)出優(yōu)秀的具有嵌入式技術(shù)人才是迫在眉睫的事情,希望我們的努力能對我國嵌入式市場帶來新的生機與活力。
基金項目:本文系“北京市教委科技發(fā)展計劃面上項目”(項目編號:KM201110772018)的研究成果。
[參考文獻]
[1]李金芳.嵌入式教學(xué)的案例分析與分享[C].圖書館聯(lián)盟建設(shè)與發(fā)展,2012-10-01
[2]梁志遠,鄒曉敏,勞有蘭.面向嵌入式課程群建設(shè)的《微機原理》課程教學(xué)探討[J].高教論壇,2008年04期
[3]王小妮,郝媛.物聯(lián)網(wǎng)技術(shù)在現(xiàn)代遠程教育領(lǐng)域的研究[J].北京:中國電力教育,2012,6:113-114
(作者單位:北京信息科技大學(xué) 理學(xué)院 中國北京)