摘要:本文針對目前嵌入式系統(tǒng)中面臨的問題提出了解決方法。探討了嵌入式系統(tǒng)的課程體系設(shè)置、教學(xué)內(nèi)容的安排、教學(xué)方法的運(yùn)用、實(shí)驗(yàn)課程的設(shè)置等。從教與學(xué)兩個方面指出提高教學(xué)質(zhì)量的可行性。
關(guān)鍵詞:嵌入式系統(tǒng);課程體系;實(shí)踐教學(xué)
隨著嵌入式系統(tǒng)在工業(yè)生產(chǎn)和社會生活中的廣泛應(yīng)用,嵌入式系統(tǒng)技術(shù)越來越得到國內(nèi)各大高校的重視。嵌入式系統(tǒng)涉及的知識面廣、技術(shù)新、難度大,相關(guān)的技術(shù)資料少,并且仍然在快速發(fā)展中,這使得教學(xué)面臨較多的困難[1-2]。因此,如何有效地進(jìn)行教學(xué),在相對緊張的學(xué)時內(nèi)使學(xué)生掌握更多的嵌入式系統(tǒng)知識,成為許多高校開設(shè)“嵌入式系統(tǒng)”課程要首先解決的問題[3]。
本文結(jié)合作者幾年來的“嵌入式系統(tǒng)”本科教學(xué)實(shí)踐,提出和總結(jié)了教學(xué)工作中的一些思路和體會,主要有以下一些經(jīng)驗(yàn)。
1主要課程體系的設(shè)置
嵌入式系統(tǒng)作為后PC時代的核心,所涉及的知識非常廣泛,既有計(jì)算機(jī)底層硬件的知識,又包含操作系統(tǒng)、應(yīng)用程序、特定領(lǐng)域的知識等,建立良好的課程體系,對學(xué)習(xí)者非常重要。
從狹義上講,嵌入式系統(tǒng)知識可分為兩大類,一是針對將來只是應(yīng)用嵌入式系統(tǒng)硬件、軟件平臺來進(jìn)行二次開發(fā)的學(xué)生,應(yīng)側(cè)重學(xué)習(xí)特定軟硬件平臺的應(yīng)用系統(tǒng)設(shè)計(jì)和開發(fā);二是針對將來從事嵌入式系統(tǒng)軟硬件平臺設(shè)計(jì)的學(xué)生,需要重點(diǎn)學(xué)習(xí)嵌入式系統(tǒng)體系結(jié)構(gòu)及接口設(shè)計(jì)原理[4]。綜合上述嵌入式系統(tǒng)的知識特點(diǎn)并結(jié)合目前教學(xué)的實(shí)際,把嵌入式系統(tǒng)教學(xué)分為三個層次:
(1) 學(xué)習(xí)嵌入式操作系統(tǒng),主要掌握特定嵌入式操作系統(tǒng)的基本工作原理、特點(diǎn)及應(yīng)用。這是學(xué)習(xí)嵌入式系統(tǒng)的基礎(chǔ),主要為基于操作系統(tǒng)的軟硬件開發(fā)做準(zhǔn)備。
(2) 學(xué)習(xí)嵌入式系統(tǒng)硬件,主要掌握特定嵌入式CPU的體系結(jié)構(gòu)及其相關(guān)的接口電路的工作原理、特點(diǎn),并學(xué)習(xí)無操作系統(tǒng)下的編程技術(shù)。使學(xué)生深入理解底層硬件的工作機(jī)制及控制技術(shù),為頂層開發(fā)作準(zhǔn)備。
(3) 學(xué)習(xí)嵌入式軟件開發(fā),在具備了操作系統(tǒng)及相應(yīng)硬件知識的基礎(chǔ)上,學(xué)習(xí)基于操作系統(tǒng)之上的驅(qū)動程序及應(yīng)用軟件的開發(fā)。
在這三個層次中,前兩個層次是基礎(chǔ),第三層次是目的,只有掌握好嵌入式操作系統(tǒng)及相關(guān)硬件機(jī)制,才能更好地進(jìn)行嵌入式軟件開發(fā)工作。建議開課的具體時間及學(xué)時如表1所示。
在表1中,特別加重了實(shí)驗(yàn)教學(xué)學(xué)時,因?yàn)榍度胧较到y(tǒng)課程體系要求較強(qiáng)的實(shí)踐性,讓學(xué)生多動手實(shí)踐對提高教學(xué)質(zhì)量很有幫助。
2教學(xué)內(nèi)容的選擇
2.1軟硬件平臺選擇
由于嵌入式系統(tǒng)技術(shù)在國內(nèi)出現(xiàn)時間不長,并且處于快速發(fā)展階段,新技術(shù)和應(yīng)用成果不斷涌現(xiàn),這給軟硬件平臺的選擇帶來了一定的困難。而且不同的選擇直接導(dǎo)致嵌入式軟件開發(fā)的技術(shù)差異,對教學(xué)及學(xué)生將來應(yīng)用的影響很大,需要仔細(xì)分析、認(rèn)真選擇。
選擇的基本原則是應(yīng)用廣泛或未來有發(fā)展?jié)摿Φ那度胧郊夹g(shù)。根據(jù)目前嵌入式系統(tǒng)在國內(nèi)外發(fā)展的現(xiàn)狀,ARM微處理器以其體積小、功耗低、成本低、性能高和應(yīng)用廣泛成為目前嵌入式系統(tǒng)硬件的首選。而操作系統(tǒng)的選擇則比較困難,既有出現(xiàn)時間較長,市場占有率很高的系統(tǒng),如VxWorks等,也有出現(xiàn)較晚但很有發(fā)展?jié)摿Φ南到y(tǒng),如Windows CE、嵌入式Linux、μC/OS-II等,各種不同的嵌入式系統(tǒng)均有各自的特點(diǎn),像VxWorks經(jīng)過多年的發(fā)展,市場占有率高,非常穩(wěn)定但價格昂貴;Windows CE由微軟公司開發(fā),技術(shù)力量雄厚且容易為大多數(shù)開發(fā)人員接受;嵌入式Linux開源穩(wěn)定且免費(fèi),受到很多企業(yè)的推崇;而μC/OS-II結(jié)構(gòu)緊湊小巧,適合教學(xué)。
根據(jù)選型原則,嵌入式Linux在很多企業(yè)得到了應(yīng)用,并且它的免費(fèi)特點(diǎn)會有助于未來應(yīng)用的擴(kuò)大,因此選擇學(xué)習(xí)嵌入式Linux有利于增強(qiáng)學(xué)生的競爭力。
2.2課程內(nèi)容選擇
精心選擇授課內(nèi)容,組織好授課知識體系并詳略得當(dāng),略去一些繁雜深奧的細(xì)節(jié),而把授課內(nèi)容集中在需要重點(diǎn)學(xué)習(xí)的知識點(diǎn)上,對本科學(xué)生接受相關(guān)內(nèi)容幫助很大。針對我們的課程體系,各門課程主要講授內(nèi)容如下。
(1)Linux操作系統(tǒng):本門課程主要是以普及Linux操作系統(tǒng)基礎(chǔ)知識為主,使得學(xué)生掌握其工作的基本原理、組織結(jié)構(gòu)、配置方式等,學(xué)會Linux操作系統(tǒng)的基本操作及常用軟件的應(yīng)用。為開發(fā)基于嵌入式Linux操作系統(tǒng)的軟件打好基礎(chǔ)。
(2) 嵌入式系統(tǒng)原理:本門課程主要學(xué)習(xí)嵌入式系統(tǒng)的基礎(chǔ)知識,介紹基于ARM微處理器的軟硬件開發(fā)環(huán)境,并學(xué)習(xí)無操作系統(tǒng)的硬件編程技術(shù)。重點(diǎn)學(xué)習(xí)內(nèi)容包括三個方面:一是ARM處理器的組織結(jié)構(gòu)及特點(diǎn),使學(xué)生對ARM處理器的整體結(jié)構(gòu)有較好的理解,為學(xué)習(xí)其接口技術(shù)做好準(zhǔn)備;二是ADS開發(fā)環(huán)境,掌握ADS的基本操作流程、相關(guān)的配置、理解交叉編譯連接等概念;三是ARM處理器的接口技術(shù),這是學(xué)習(xí)本門課的重點(diǎn),不僅要掌握各種接口的工作原理、工作流程及配置方法,還要求能夠利用C語言對其進(jìn)行編程控制。
(3) 嵌入式軟件開發(fā):本門課程以嵌入式Linux作為軟件開發(fā)平臺,在基于ARM處理器上完成軟件開發(fā)工作。授課重點(diǎn)主要包括:一是Linux操作系統(tǒng)的深入學(xué)習(xí),包括Linux系統(tǒng)的工作機(jī)理、系統(tǒng)裁減移植及其系統(tǒng)的開發(fā)環(huán)境等;二是嵌入式Linux下的驅(qū)動程序開發(fā),包括Linux設(shè)備驅(qū)動的工作原理、開發(fā)流程,常用設(shè)備驅(qū)動程序編寫方法;三是圖形界面的設(shè)計(jì),主要介紹基于QT的圖形界面開發(fā)方法。
3教學(xué)方法的運(yùn)用
教學(xué)方法的有效運(yùn)用對提高教學(xué)效果的作用是不言而喻的,如何在“嵌入式系統(tǒng)”教學(xué)中采用合適的教學(xué)方法,提高教學(xué)的質(zhì)量,使學(xué)生能夠從教學(xué)中得到最大的收獲,對教學(xué)的成敗至關(guān)重要。評判有效的教學(xué)方法的標(biāo)準(zhǔn)是看是否能增加學(xué)生的學(xué)習(xí)熱情,能否變被動學(xué)習(xí)為主動學(xué)習(xí)。
3.1注重基礎(chǔ),重點(diǎn)突出
“嵌入式系統(tǒng)設(shè)計(jì)”是一門綜合性的課程,涉及的知識面比較廣泛,例如既有計(jì)算機(jī)學(xué)科的計(jì)算機(jī)體系結(jié)構(gòu)、操作系統(tǒng)、程序設(shè)計(jì)等知識,也有電子學(xué)科的電子技術(shù)、微機(jī)原理等知識。因此,在課堂內(nèi)容組織上,要分清主次,明確哪些知識僅需了解,那些知識需要重點(diǎn)掌握,并根據(jù)重要程度有計(jì)劃地組織教學(xué)內(nèi)容和學(xué)時,使得整個教學(xué)體系層次清楚,詳略得當(dāng),為學(xué)生順利接受提供保障。
例如在規(guī)劃的教學(xué)體系中,硬件方面重點(diǎn)是接口技術(shù)、要求學(xué)生掌握各種接口的工作原理及其編程方法,軟件方面重點(diǎn)是基于嵌入式操作系統(tǒng)的驅(qū)動程序設(shè)計(jì)及應(yīng)用程序開發(fā),而對于比較復(fù)雜的操作系統(tǒng)的內(nèi)部工作原理分析、操作系統(tǒng)移植、BootLoader等僅作原理性介紹。
3.2以實(shí)踐教學(xué)帶動理論教學(xué)
通常理論教學(xué)比較抽象枯燥,學(xué)生接受大量的理論知識比較困難,為了提高理論教學(xué)的效果,為課程配備了較多的實(shí)驗(yàn)課時,每當(dāng)在課堂上學(xué)習(xí)完成一部分理論知識,即安排相應(yīng)的實(shí)驗(yàn),由學(xué)生親自動手驗(yàn)證理論知識的正確性并加深對理論知識的理解,這樣把較抽象的理論具體化形象化,學(xué)生接受起來相對容易,提高了理論知識的學(xué)習(xí)效果。
3.3興趣創(chuàng)新的培養(yǎng)
興趣及創(chuàng)新能力的培養(yǎng)需要以應(yīng)用為驅(qū)動力。學(xué)生對把所學(xué)理論如何應(yīng)用到實(shí)際應(yīng)用中非常感興趣,以此為切入點(diǎn),在理論教學(xué)時,把實(shí)際產(chǎn)品經(jīng)簡化后引入課堂,介紹所學(xué)理論知識在具體產(chǎn)品中的應(yīng)用方式、方法,并進(jìn)一步指出理論或產(chǎn)品的優(yōu)缺點(diǎn),改進(jìn)方向等,為學(xué)生進(jìn)一步學(xué)習(xí)指明方向,從而激發(fā)學(xué)生求知欲及創(chuàng)新的潛能。如在實(shí)際的教學(xué)中,介紹mp3產(chǎn)品的工作機(jī)理及軟硬件設(shè)計(jì)方法,學(xué)生對此興趣非常高,教學(xué)效果明顯。
4實(shí)驗(yàn)教學(xué)的設(shè)計(jì)
嵌入式系統(tǒng)是面向應(yīng)用的,實(shí)踐是整個嵌入式系統(tǒng)課程體系中非常重要的環(huán)節(jié)。也是加深對嵌入式系統(tǒng)知識理解,培養(yǎng)興趣及創(chuàng)新能力的必經(jīng)途徑。
我院購買了基于ARM9的實(shí)驗(yàn)教學(xué)平臺,該平臺擁有大量的接口設(shè)備并配備了嵌入式Linux操作系統(tǒng),為學(xué)生學(xué)習(xí)ARM底層編程技術(shù)、嵌入式Linux操作系統(tǒng)及其上的軟件開發(fā)提供了保障,
根據(jù)學(xué)生的能力特點(diǎn),我們把實(shí)驗(yàn)課程分為三個層次,便于不同類型的學(xué)生選擇。
(1) 基礎(chǔ)性實(shí)驗(yàn):本類實(shí)驗(yàn)主要是相關(guān)課程中最基本的實(shí)驗(yàn),要求所有學(xué)生必須掌握。如在“嵌入式系統(tǒng)原理”課程中,需掌握ADS開發(fā)環(huán)境、通用端口、中斷、DMA、UART等;在“嵌入式軟件開發(fā)”課程中,需掌握Linux實(shí)驗(yàn)環(huán)境搭建、各種基本驅(qū)動程序設(shè)計(jì)、簡單應(yīng)用程序設(shè)計(jì)等。
(2) 綜合性實(shí)驗(yàn):是在前面基礎(chǔ)性實(shí)驗(yàn)的基礎(chǔ)上,綜合整個課程的知識,盡可能利用實(shí)驗(yàn)系統(tǒng)上的硬件資源,構(gòu)造一個具有實(shí)際意義的嵌入式系統(tǒng),綜合性實(shí)驗(yàn)提供多個題目,要求學(xué)生選做。如在“嵌入式系統(tǒng)原理”課程中,可以實(shí)現(xiàn)無操作系統(tǒng)下的音頻錄放、俄羅斯方塊等程序設(shè)計(jì);在“嵌入式軟件開發(fā)”課程中也可以實(shí)現(xiàn)基于操作系統(tǒng)的類似程序設(shè)計(jì)。
(3) 設(shè)計(jì)性實(shí)驗(yàn):設(shè)計(jì)性實(shí)驗(yàn)主要提供給學(xué)習(xí)能力較強(qiáng)并對嵌入式系統(tǒng)感興趣的學(xué)生,本實(shí)驗(yàn)主要在計(jì)劃外學(xué)時進(jìn)行,由學(xué)生自主提出課題或通過其他方式選擇課題,教師適當(dāng)指導(dǎo)并利用實(shí)驗(yàn)室對外開放時間進(jìn)行。如通過國家大學(xué)生創(chuàng)新性實(shí)驗(yàn)計(jì)劃,設(shè)立了“智能生命救助儀研究”課題供學(xué)生進(jìn)行實(shí)驗(yàn)。通過完成該實(shí)驗(yàn),提高了學(xué)生研究能力和實(shí)際動手能力,使學(xué)生進(jìn)一步理解了不同課程之間知識的有機(jī)聯(lián)系并深入體會了嵌入式系統(tǒng)面向應(yīng)用的含義。
5結(jié)語
嵌入式系統(tǒng)應(yīng)用的廣闊前景和未來發(fā)展的巨大潛力已得到了全社會的共識,作為培養(yǎng)高級人才的大學(xué),要想又快又好地培養(yǎng)出大批嵌入式系統(tǒng)方面的優(yōu)秀人才,就需要從嵌入式系統(tǒng)課程體系的設(shè)置、課程內(nèi)容的選擇、教學(xué)方法的運(yùn)用及實(shí)驗(yàn)課程的設(shè)計(jì)等方面精心研究及組織,其最終目的是提高嵌入式系統(tǒng)的教學(xué)質(zhì)量,培養(yǎng)學(xué)生對嵌入式系統(tǒng)的學(xué)習(xí)興趣,激發(fā)學(xué)生自主創(chuàng)新能力,為我國嵌入式系統(tǒng)領(lǐng)域發(fā)展提供優(yōu)秀的人才保障。
參考文獻(xiàn):
[1] 凌明,劉昊,時龍興. 關(guān)于嵌入式系統(tǒng)課程教學(xué)過程中幾個問題的思考[J]. 電氣電子教學(xué)學(xué)報(bào),2007(增刊1):94-98.
[2] 孫士明,劉新平,鄭秋梅,等. 計(jì)算機(jī)專業(yè)嵌入式系統(tǒng)實(shí)踐教學(xué)體系探索[J]. 實(shí)驗(yàn)室研究與探索,2009(5):122-125.
[3] 江敏,錢平,單片機(jī)教學(xué)向嵌入式教學(xué)轉(zhuǎn)型的幾點(diǎn)研究[J]. 電氣電子教學(xué)學(xué)報(bào),2005(2):33-34.
[4] 符意德. 嵌入式系統(tǒng)設(shè)計(jì)原理及應(yīng)用[M]. 北京:清華大學(xué)出版社,2004.
Exploration of Embedded System Teaching System and Mode
LI Jun,YUAN Man,LIU Yan-jun
(College of Computer and Information Technology, Daqing Petroleum Institute, Daqing 163318, China)
Abstract: The problems facing in teaching of embedded systems are analyzed and the solution is put forward. Course system settings about the embedded system, the arrangements for teaching content, the teaching method applying, settings of the experimental courses and so on are explored. The feasibility of improving the quality of teaching from two aspects of teaching and learning is discussed.
Key words: Embedded System; course system; practical teaching
(編輯:彭遠(yuǎn)紅)