湖北民族學(xué)院科技學(xué)院 李曉艷 向麗萍 徐 建
?
基于項(xiàng)目驅(qū)動的嵌入式系統(tǒng)實(shí)驗(yàn)教學(xué)研究與設(shè)計(jì)
湖北民族學(xué)院科技學(xué)院 李曉艷 向麗萍 徐 建
【摘要】針對目前高校中嵌入式系統(tǒng)實(shí)踐教學(xué)存在的一系列問題,本文探索并提出了以工程項(xiàng)目驅(qū)動的實(shí)驗(yàn)教學(xué)模式。根據(jù)嵌入式實(shí)驗(yàn)教學(xué)目的,設(shè)計(jì)了具體可行的實(shí)驗(yàn)項(xiàng)目。學(xué)生通過完成該系統(tǒng)的設(shè)計(jì)和開發(fā),可以充分掌握嵌入式系統(tǒng)的工作原理以及工程項(xiàng)目的開發(fā)流程,教學(xué)實(shí)踐表明,效果良好。
【關(guān)鍵詞】嵌入式系統(tǒng);項(xiàng)目驅(qū)動;實(shí)踐教學(xué)
近幾年來,隨著嵌入式技術(shù)的廣泛應(yīng)用,對嵌入式技術(shù)人才的需求急劇增長,直接推動了嵌入式技術(shù)成為高校計(jì)算機(jī)課程體系的核心課程。嵌入式系統(tǒng)是一個(gè)多技術(shù)融合的研究領(lǐng)域,包含了嵌入式微處理器、嵌入式軟件設(shè)計(jì)、實(shí)時(shí)操作系統(tǒng)、低功耗計(jì)算、系統(tǒng)可靠性設(shè)計(jì)、設(shè)計(jì)方法學(xué)、嵌入式系統(tǒng)設(shè)計(jì)工具、嵌入式多處理器系統(tǒng)設(shè)計(jì)、網(wǎng)絡(luò)化嵌入式系統(tǒng)、接口和混合信號系統(tǒng)等諸多知識點(diǎn)[1],課程的實(shí)踐性強(qiáng),在教學(xué)中僅僅依靠有限的課堂理論教學(xué)和一些驗(yàn)證性實(shí)驗(yàn)是無法將嵌入式技術(shù)的開發(fā)和工程應(yīng)用結(jié)合起來,不能提高學(xué)生的創(chuàng)新實(shí)踐能力,也無法滿足企業(yè)的用人需求。
為了解決這些問題,我們探索并提出以項(xiàng)目驅(qū)動的嵌入式系統(tǒng)實(shí)踐教學(xué)模式, 通過實(shí)際工程項(xiàng)目來培養(yǎng)學(xué)生對嵌入式系統(tǒng)的硬件基本體系和結(jié)構(gòu)、嵌入式軟件開發(fā)流程、系統(tǒng)調(diào)試等知識的掌握,使學(xué)生具備基本的嵌入式項(xiàng)目開發(fā)知識和能力。
2.1嵌入式系統(tǒng)實(shí)驗(yàn)教學(xué)的目標(biāo)和特點(diǎn)
嵌入式系統(tǒng)是理論與實(shí)踐結(jié)合密切的課程, 理論框架是重要的,但實(shí)踐的重要性更為突出,其主要特點(diǎn)有:(1)實(shí)踐性。嵌入式系統(tǒng)與實(shí)際應(yīng)用緊密相連,其設(shè)計(jì)有很強(qiáng)的實(shí)踐性,教學(xué)中沒有完備的實(shí)踐環(huán)節(jié),嵌入式系統(tǒng)課程學(xué)習(xí)就猶如紙上談兵[2];(2)軟硬件高度結(jié)合。一個(gè)完整的嵌入式系統(tǒng)需要在軟硬件基礎(chǔ)之上工作[3],其中底層硬件是實(shí)驗(yàn)的基礎(chǔ)平臺,嵌入式操作系統(tǒng)是重點(diǎn),嵌入式系統(tǒng)的應(yīng)用程序設(shè)計(jì)是關(guān)鍵;(3)知識和技術(shù)更新速度快。嵌入式系統(tǒng)技術(shù)日新月異,因此在實(shí)驗(yàn)內(nèi)容和實(shí)驗(yàn)設(shè)備上,都必須不斷發(fā)展更新。
2.2嵌入式系統(tǒng)實(shí)踐教學(xué)的現(xiàn)狀
目前多數(shù)院校都延用舊有的嵌入式系統(tǒng)實(shí)驗(yàn)教學(xué),但效果欠佳。首先,實(shí)驗(yàn)安排中,驗(yàn)證性實(shí)驗(yàn)過多,單一性基礎(chǔ)實(shí)驗(yàn)多,綜合性開發(fā)實(shí)驗(yàn)少;其次,實(shí)驗(yàn)缺乏系統(tǒng)性,傳統(tǒng)的實(shí)驗(yàn)教學(xué)總是按相關(guān)課程講授順序來安排實(shí)驗(yàn),這樣能夠很好地為課程理論教學(xué)服務(wù),但各個(gè)實(shí)驗(yàn)相互之間沒有關(guān)聯(lián),使學(xué)生很難通過實(shí)驗(yàn)對嵌入式系統(tǒng)設(shè)計(jì)有一個(gè)直觀、整體的認(rèn)識。以本校嵌入式實(shí)驗(yàn)為例,實(shí)驗(yàn)中雖然安排了操作系統(tǒng)移植,驅(qū)動開發(fā),應(yīng)用開發(fā)等一系列實(shí)驗(yàn),但每個(gè)實(shí)驗(yàn)都是單一的驗(yàn)證性實(shí)驗(yàn),無法將整個(gè)嵌入式系統(tǒng)開發(fā)流程串連起來,造成學(xué)生學(xué)完課程之后任然不懂如何應(yīng)用,拿到一個(gè)實(shí)際的工程項(xiàng)目后茫然不知如何下手;最后,嵌入式實(shí)驗(yàn)設(shè)置與實(shí)驗(yàn)室資源配置不合理。嵌入式技術(shù)跟實(shí)際應(yīng)用緊密結(jié)合,且技術(shù)更新速度快,這就造成部分實(shí)驗(yàn)設(shè)備落后,難以與快速發(fā)展的嵌入式硬件與軟件開發(fā)同步;實(shí)驗(yàn)資源長期閑置,利用率低。
為了使理論教學(xué)和實(shí)踐教學(xué)更好的結(jié)合起來,提高學(xué)生的動手能力,根據(jù)嵌入式系統(tǒng)課程的主要特點(diǎn),我們嘗試著基于項(xiàng)目驅(qū)動的教學(xué)模式。項(xiàng)目驅(qū)動化教學(xué),就是以項(xiàng)目為載體,將課程講授的知識點(diǎn)穿插于其中,注重課程理論體系的完整性,達(dá)到理論實(shí)踐一體化、傳授知識與培養(yǎng)能力一體化、“教、學(xué)、做”一體化的培養(yǎng)工程人才的教學(xué)方法,這種教學(xué)模式比較適合那些實(shí)踐性較強(qiáng)的課程[4~5]。
基于項(xiàng)目驅(qū)動的實(shí)踐教學(xué),將其工程背景設(shè)計(jì)為一種基于嵌入式技術(shù)的智能監(jiān)控系統(tǒng)。智能視頻監(jiān)控系統(tǒng)借助計(jì)算機(jī)圖像處理、模式識別等技術(shù),可以在無人值守的情況下,實(shí)時(shí)檢測監(jiān)控場景下的運(yùn)動目標(biāo),從而觸發(fā)報(bào)警行為,如蜂鳴器報(bào)警、抓拍和錄像等,客戶端也能在瀏覽器中查看到監(jiān)控畫面。運(yùn)動目標(biāo)檢測,就是將監(jiān)控中的運(yùn)動目標(biāo)從背景圖像中識別出來。設(shè)計(jì)運(yùn)動檢測目的是用來實(shí)現(xiàn)智能視頻監(jiān)控功能。
3.1系統(tǒng)總體框架
系統(tǒng)的基本組成主要包括圖像采集模塊、數(shù)據(jù)處理模塊(動態(tài)目標(biāo)檢測)、數(shù)據(jù)顯示模塊(播放器)和報(bào)警模塊,系統(tǒng)總體結(jié)構(gòu)圖如圖1 所示。
圖1 智能視頻監(jiān)控系統(tǒng)
整個(gè)實(shí)驗(yàn)項(xiàng)目包含的主要知識點(diǎn)有:linux嵌入式系統(tǒng)構(gòu)建、linux設(shè)備驅(qū)動、linux應(yīng)用程序開發(fā)。
我們根據(jù)項(xiàng)目所需求的知識點(diǎn)將整個(gè)工程項(xiàng)目分解為4部分實(shí)驗(yàn),在實(shí)驗(yàn)內(nèi)容安排上,拋棄了傳統(tǒng)實(shí)驗(yàn)教學(xué)中的面面俱到的方式,完全以項(xiàng)目為中心,有選擇的將理論知識融入到各個(gè)實(shí)驗(yàn)部分,使得學(xué)生既能通過實(shí)驗(yàn)加深對理論知識的理解,又能掌握嵌入式系統(tǒng)開發(fā)的整個(gè)流程。
3.2硬件設(shè)計(jì)
硬件是實(shí)驗(yàn)基礎(chǔ)平臺,在設(shè)計(jì)中主要涉及到各種芯片(嵌入式微處理器、存儲器、接口部件等)與外設(shè)部件的連接,學(xué)生需要了解嵌入式處理器,存儲器以及各種外部接口的基本知識。但針對計(jì)算機(jī)專業(yè),我們將教學(xué)重點(diǎn)放在軟件部分,因此我們直接選擇已有的嵌入式系統(tǒng)實(shí)驗(yàn)平臺。選擇這個(gè)工程項(xiàng)目作為實(shí)驗(yàn)背景,是因?yàn)樗枰挠布Y源較少,可以充分利用已有的實(shí)驗(yàn)設(shè)備。實(shí)驗(yàn)平臺選擇了英蓓特公司的EMBV210平臺,處理器為ARM Cortex-A8 S5PV210,主頻達(dá)到了1GHz,并搭載512MB Nand Flash,1GB DDR SDRAM,搭配一個(gè)USB攝像頭和一個(gè)音箱。
3.3基礎(chǔ)實(shí)驗(yàn)
搭建開發(fā)環(huán)境是一個(gè)應(yīng)用系統(tǒng)設(shè)計(jì)的基本,尤其是嵌入式系統(tǒng)中涉及到交叉編譯這個(gè)概念,很多學(xué)生無法理解。我們在部分實(shí)驗(yàn)中安排了搭建嵌入式開發(fā)的軟硬件環(huán)境實(shí)驗(yàn),如系統(tǒng)引導(dǎo)程序(Bootloader)移植、Linux操作系統(tǒng)的移植、交叉編譯環(huán)境搭建、開源圖像庫OpenCV的移植等。這些實(shí)驗(yàn)的目的在于能夠培養(yǎng)學(xué)生對于嵌入式系統(tǒng)有關(guān)特性的理解,并且可以深入到嵌入式系統(tǒng)內(nèi)核中進(jìn)行操作系統(tǒng)方面的調(diào)用和測試,使得學(xué)生了解關(guān)于嵌入式系統(tǒng)的基本有關(guān)操作,以及有關(guān)嵌入式操作系統(tǒng)進(jìn)程、線程、內(nèi)核體系結(jié)構(gòu)的編程,并且為之后的高級應(yīng)用設(shè)計(jì)打下基礎(chǔ)。
3.4驅(qū)動程序?qū)嶒?yàn)
嵌入式系統(tǒng)跟普通微型計(jì)算機(jī)不同,它是一種“完全嵌入受控器件內(nèi)部,為特定應(yīng)用而設(shè)計(jì)的專用計(jì)算機(jī)系統(tǒng)”,在實(shí)際應(yīng)用中它需要操作各種各樣的外部設(shè)備,在系統(tǒng)中驅(qū)動程序作為內(nèi)核的一部分提供對設(shè)備操作的支持,主要針對開發(fā)平臺上的多種接口:I2C、SPI、IO、A/D、中斷等,程序主要包括設(shè)備的打開和釋放、設(shè)備的讀寫、設(shè)備的控制管理等。嵌入式系統(tǒng)的驅(qū)動程序?qū)嶒?yàn)主要讓學(xué)生們掌握各種典型外設(shè)的驅(qū)動程序的結(jié)構(gòu)模式和規(guī)則,以及嵌入式驅(qū)動程序開發(fā)的基本流程。本系統(tǒng)要完成視頻監(jiān)控和報(bào)警,需要實(shí)現(xiàn)的驅(qū)動程序包括USB攝像頭驅(qū)動和聲卡驅(qū)動。由于操作系統(tǒng)內(nèi)核中己經(jīng)支持多種類型的攝像頭和聲卡,所以在實(shí)際開發(fā)中只需根據(jù)具體的型號進(jìn)行相關(guān)的修改和擴(kuò)充,就能夠適應(yīng)不同種類的驅(qū)動環(huán)境。
3.5高級應(yīng)用程序設(shè)計(jì)實(shí)驗(yàn)
高級應(yīng)用的實(shí)驗(yàn)內(nèi)容主要包括2個(gè)方面:圖形界面編程和高級應(yīng)用程序的移植。圖形界面采用具有良好發(fā)展前景的Qt/E,學(xué)生能夠在此基礎(chǔ)上使用Linux自帶的工具進(jìn)行C++編程來完成實(shí)驗(yàn)內(nèi)容;另外,Linux有豐富的開源軟件資源,可以把許多成熟的軟件移植到嵌入式平臺上,節(jié)省開發(fā)時(shí)間和精力。在這個(gè)系統(tǒng)中可移植的軟件包含播放器和運(yùn)動檢測程序等。
本文從嵌入式系統(tǒng)實(shí)踐教學(xué)的現(xiàn)狀出發(fā),分析了目前實(shí)踐教學(xué)所存在的問題,并提出以實(shí)際項(xiàng)目為基礎(chǔ),由簡入難,將嵌入式系統(tǒng)理論知識分解到具體的嵌入式系統(tǒng)實(shí)驗(yàn)中,建立起一個(gè)完整開發(fā)流程。學(xué)生通過完成該系統(tǒng)的設(shè)計(jì)和開發(fā),可以充分了解嵌入式系統(tǒng)的工作原理以及在實(shí)際工程項(xiàng)目中的開發(fā)和應(yīng)用方法[6]。提高學(xué)生創(chuàng)新能力是一個(gè)長期的過程,我們將繼續(xù)探索理論教學(xué)和實(shí)驗(yàn)教學(xué)一體化的方法,不斷的豐富實(shí)踐教學(xué)內(nèi)容,獲取更多的實(shí)踐項(xiàng)目。
參考文獻(xiàn)
[1]章民融,徐亞鋒.嵌入式教學(xué)關(guān)鍵點(diǎn)的研究和嵌入式實(shí)驗(yàn)教學(xué)平臺的設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用與軟件,2009,26(3):160-162.
[2]劉雍,馬玉春,汪文彬,等.項(xiàng)目驅(qū)動在嵌入式系統(tǒng)實(shí)驗(yàn)教學(xué)改革中的初探[J].中國科教創(chuàng)新導(dǎo)刊,2014(13):23-24.
[3]鄭寧漢,陶品,宋思超.嵌入式實(shí)驗(yàn)系統(tǒng)設(shè)計(jì)原則的一些探討[J].計(jì)算機(jī)教育,2014(5):118-121.
[4]李妍.項(xiàng)目化教學(xué)在嵌入式系統(tǒng)實(shí)踐課程中的探索[J].實(shí)驗(yàn)室科學(xué),2012,15(5):27-29.
[5]張騰飛,王保云.基于問題設(shè)計(jì)的嵌入式實(shí)踐創(chuàng)新人才境況體系研究[J].人才培養(yǎng)改革,2013,22:56-58.
[6]譚筠梅,王履程,藍(lán)天.基于工程項(xiàng)目引領(lǐng)的嵌入式系統(tǒng)實(shí)驗(yàn)設(shè)計(jì)[J].實(shí)驗(yàn)科學(xué)與技術(shù),2014,12(6):101-103.
基金項(xiàng)目:湖北民族學(xué)院科技學(xué)院教學(xué)研究項(xiàng)目(KY201112,KYJY201507,KY201111)湖北民族學(xué)院教學(xué)研究重點(diǎn)項(xiàng)目(2014JY005)。
通訊作者:徐建。