摘要:本文針對(duì)計(jì)算機(jī)專業(yè)“嵌入式系統(tǒng)”教學(xué)存在的一些普遍問題,結(jié)合國內(nèi)市場對(duì)嵌入式人才的需求,討論如何將該課程引入計(jì)算機(jī)專業(yè)本科教育,提出課程教學(xué)建議,總結(jié)一些教學(xué)經(jīng)驗(yàn)。
關(guān)鍵詞:計(jì)算機(jī);嵌入式;教學(xué);ARM
嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適用于應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)[1]。它一般由嵌入式微處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)以及用戶的應(yīng)用程序等四部分組成,用于實(shí)現(xiàn)對(duì)其他設(shè)備的控制、監(jiān)視或管理等功能。嵌入式系統(tǒng)因體積小、可靠性高、功能強(qiáng)、靈活方便,其應(yīng)用已深入到各個(gè)領(lǐng)域[2]。每年全球嵌入式系統(tǒng)帶來的相關(guān)工業(yè)產(chǎn)值已超過1萬億美元。嵌入式系統(tǒng)是當(dāng)前最熱門最有發(fā)展前途的IT應(yīng)用領(lǐng)域之一[3]。針對(duì)市場對(duì)嵌入式人才的巨大需求,許多高校的計(jì)算機(jī),通信、電子、自動(dòng)化等專業(yè)都相繼開設(shè)了嵌入式系統(tǒng)的相關(guān)課程。嵌入式系統(tǒng)作為高校新興的一個(gè)專業(yè)方向,如何開展“嵌入式系統(tǒng)”教學(xué),以達(dá)到學(xué)習(xí)嵌入式技術(shù)知識(shí)、掌握嵌入式系統(tǒng)基本開發(fā)方法和應(yīng)用的目的,是很多高校都在思索的問題。
本文首先分析了目前“嵌入式系統(tǒng)”教學(xué)普遍存在的一些問題,然后對(duì)本科院校計(jì)算機(jī)專業(yè)嵌入式系統(tǒng)方向的教學(xué)和課程設(shè)置應(yīng)解決的主要問題進(jìn)行了探討,最后,結(jié)合教學(xué)實(shí)踐,總結(jié)了一些教學(xué)經(jīng)驗(yàn)。
1“嵌入式系統(tǒng)”教學(xué)中存在的問題
由于各高校開設(shè)“嵌入式系統(tǒng)”課程的時(shí)間并不長。目前,各高校在教學(xué)中都處于探索階段,存在如
下一些亟待解決的問題。
1.1缺少高質(zhì)量的教材
因?yàn)榍度胧郊夹g(shù)往往和行業(yè)背景結(jié)合緊密,所以高校在選用課程教材時(shí),應(yīng)考慮理論和實(shí)踐應(yīng)用相結(jié)合、面向應(yīng)用的教材,只有選用這類教材,教學(xué)才不會(huì)和實(shí)踐應(yīng)用脫節(jié),陷入空洞的理論講解。但通過近幾年的教學(xué)實(shí)踐和市場調(diào)研發(fā)現(xiàn),由于新技術(shù)日新月異,相應(yīng)教材的更新速度很難趕上技術(shù)更新的速度,這也導(dǎo)致了很難找到一套普遍適用的系列教材,給教學(xué)帶來一定不利影響。
1.2內(nèi)容深度不夠
嵌入式系統(tǒng)是一門很新的技術(shù),目前雖然很多高校開設(shè)了這方面的課程,但是師資往往沒有同步跟上,很多教師都是從單片機(jī)教學(xué)轉(zhuǎn)型而來,缺少嵌入式系統(tǒng)相關(guān)技術(shù)的系統(tǒng)培訓(xùn),在短期內(nèi)無法跟上新技術(shù)變革,因此出現(xiàn)教學(xué)內(nèi)容廣度有限,深度不夠的現(xiàn)象。
1.3缺少實(shí)踐性
嵌入式系統(tǒng)技術(shù)是一門實(shí)踐性很強(qiáng)的技術(shù),實(shí)踐是教學(xué)的重要環(huán)節(jié)。如指令編程、驅(qū)動(dòng)程序設(shè)計(jì)、內(nèi)核的移植設(shè)計(jì)和應(yīng)用等知識(shí)的學(xué)習(xí),需要學(xué)生通過大量的實(shí)踐環(huán)節(jié)來加深理解和掌握。但是目前很多高校在開設(shè)“嵌入式系統(tǒng)”課程時(shí),缺少相應(yīng)的實(shí)驗(yàn)設(shè)備,沒有與工程實(shí)際應(yīng)用密切結(jié)合的課程設(shè)計(jì)和畢業(yè)設(shè)計(jì),使得學(xué)生實(shí)踐能力不強(qiáng),學(xué)習(xí)沒有興趣,達(dá)不到應(yīng)有的效果,學(xué)生發(fā)展后勁不足。
2計(jì)算機(jī)專業(yè)“嵌入式系統(tǒng)”教學(xué)的一些思考
嵌入式系統(tǒng)的特點(diǎn)是涉及知識(shí)面廣,綜合性、實(shí)踐性強(qiáng),學(xué)科發(fā)展快,因而學(xué)習(xí)難度大。不同的專業(yè)有不同的特點(diǎn),對(duì)于計(jì)算機(jī)專業(yè)開設(shè)“嵌入式系統(tǒng)”課程而言,不能簡單的照搬其它專業(yè)的“嵌入式系統(tǒng)”教學(xué)模式,必須根據(jù)計(jì)算機(jī)專業(yè)學(xué)生和課程特點(diǎn)量身打造適合本專業(yè)的教學(xué)模式。經(jīng)過近幾年的教學(xué)實(shí)踐發(fā)現(xiàn),對(duì)于計(jì)算機(jī)專業(yè)開設(shè)“嵌入式系統(tǒng)”課程,若想達(dá)到良好的教學(xué)效果,需要先解決以下幾個(gè)方面的問題。
2.1選擇ARM芯片還是其它芯片
構(gòu)成嵌入式系統(tǒng)的核心之一是嵌入式處理器??梢宰鳛榍度胧教幚砥鞯闹髁餍酒蠥RM、微處理器(MPU)、微控制器(MCU)、數(shù)字信號(hào)處理器(DSP)等。目前在嵌入式領(lǐng)域中廣泛應(yīng)用的是ARM系列芯片。ARM處理器具有高性能、低功耗、低成本的特征[4]。作為世界第一大IP知識(shí)產(chǎn)權(quán)廠商,ARM公司本身不直接生產(chǎn)芯片,而是靠轉(zhuǎn)讓設(shè)計(jì)許可,將其設(shè)計(jì)的芯片知識(shí)產(chǎn)權(quán)授權(quán)給其他公司,由合作公司生產(chǎn)各具特色的芯片??梢哉f,ARM公司引發(fā)了嵌入式領(lǐng)域的一場革命,在低功耗、低成本的嵌入式應(yīng)用領(lǐng)域確立了市場領(lǐng)導(dǎo)地位,是目前32位市場中使用最廣泛的微處理器[5]。目前,ARM已經(jīng)成為移動(dòng)通信、手持計(jì)算設(shè)備、多媒體數(shù)字消費(fèi)等嵌入式應(yīng)用的RISC(精簡指令集計(jì)算機(jī))標(biāo)準(zhǔn)。因此,學(xué)習(xí)以ARM為核心芯片架構(gòu)的嵌入式技術(shù)具有非常廣闊的前景?;贏RM芯片的應(yīng)用廣泛性,在教學(xué)實(shí)踐中,應(yīng)選擇ARM作為學(xué)習(xí)嵌入式系統(tǒng)的重點(diǎn)內(nèi)容。
2.2選擇ARM7還是ARM9
眾所周知,ARM7的教學(xué)偏重于硬件,ARM9的教學(xué)偏重于軟件。談到計(jì)算機(jī)專業(yè)開設(shè)“嵌入式系統(tǒng)”課程,大家自然就會(huì)選擇ARM9。于是,現(xiàn)在各高校計(jì)算機(jī)專業(yè)在引進(jìn)“嵌入式系統(tǒng)”教學(xué)實(shí)驗(yàn)箱時(shí),一種流行的趨勢(shì)是普遍采用ARM9核的實(shí)驗(yàn)箱,一方面體現(xiàn)了教師們迫切希望讓學(xué)生能接觸最先進(jìn)的、實(shí)用的、前沿技術(shù)的良好用心,另一方面也暴露了一
些認(rèn)知上不足之處,因?yàn)檫@種追求高端設(shè)備的做法并非適合計(jì)算機(jī)專業(yè)。ARM7作為學(xué)習(xí)ARM9的基礎(chǔ),如果讓學(xué)生跳過ARM7而直接學(xué)習(xí)ARM9是比較困難的,也達(dá)不到良好的學(xué)習(xí)效果。因此,計(jì)算機(jī)專業(yè)的“嵌入式系統(tǒng)”教學(xué)也離不開ARM7這一教學(xué)環(huán)節(jié),因?yàn)橐粋€(gè)從事基于ARM9的嵌入式Linux或Windows CE軟件開發(fā)的程序員,如果沒有扎實(shí)的硬件理論,硬件設(shè)計(jì)和制作基礎(chǔ),是很難勝任的。此外,計(jì)算機(jī)專業(yè)的學(xué)生還有部分人將從事基于實(shí)時(shí)操作系統(tǒng)的軟件設(shè)計(jì),這也是離不開對(duì)ARM7的學(xué)習(xí)的。有鑒于此,我們完全有理由在教學(xué)中著重強(qiáng)調(diào)ARM7的重要性。
基于上述原因,我們認(rèn)為ARM9教學(xué)偏重于軟件,ARM7教學(xué)偏重于硬件,二者是互補(bǔ)的。對(duì)計(jì)算機(jī)專業(yè)而言,最好能在課時(shí)允許的條件下,兩方面的課程都能開設(shè)。我們的做法是:教學(xué)中側(cè)重于ARM7,而科研中側(cè)重于ARM9。這種做法經(jīng)教學(xué)實(shí)踐證明是可行和有效的。
2.3選擇嵌入式Linux操作系統(tǒng)還是其它操作系統(tǒng)
目前,嵌入式操作系統(tǒng)可選范圍很大,成熟的嵌入式操作系統(tǒng)有嵌入式Linux系列、Windows CE系列和眾多的實(shí)時(shí)操作系統(tǒng)。Linux操作系統(tǒng)用于嵌入式系統(tǒng),產(chǎn)生了幾個(gè)不同的版本,重要包括micro;Clinux、嵌入式Linux和RTLinux等,其中micro;Clinux適用于處理器內(nèi)沒有MMU(內(nèi)存管理單元)的ARM處理器,RTLinux則側(cè)重改善Linux的實(shí)時(shí)性,而嵌入式Linux除了在圖形和文件系統(tǒng)上與桌面Linux有所不同外,內(nèi)核本身并無差別,因此作為內(nèi)核一部分的網(wǎng)絡(luò)功能與桌面Linux的一樣強(qiáng)大。Linux作為一種開放源代碼的操作系統(tǒng),在嵌入式領(lǐng)域應(yīng)用越來越廣泛。因此,在實(shí)際教學(xué)中選擇嵌入式Linux操作系統(tǒng)是非常合適的,既不存在版權(quán)問題,可以免費(fèi)使用,同時(shí)其開源性,有利于創(chuàng)新性人才的培養(yǎng)。在嵌入式操作系統(tǒng)教學(xué)中,應(yīng)以嵌入式Linux操作系統(tǒng)作為講授和學(xué)習(xí)的重點(diǎn)。
另外,“嵌入式系統(tǒng)”課程可以說是整個(gè)計(jì)算機(jī)學(xué)科的綜合,它基本上涉及了計(jì)算機(jī)學(xué)科的方方面面,包括硬件方面、軟件方面和網(wǎng)絡(luò)方面等。這就要求學(xué)生在學(xué)習(xí)嵌入式系統(tǒng)之前,首先學(xué)好這些方面的課程,打下了良好的基礎(chǔ),才能把嵌入式系統(tǒng)的相關(guān)內(nèi)容學(xué)好。
3教學(xué)實(shí)踐經(jīng)驗(yàn)
在“嵌入式系統(tǒng)”教學(xué)實(shí)踐中,除了注重課堂教學(xué)效果外,還需要采用多樣化的輔助教學(xué)手段,全面提高課程的教學(xué)效果。
3.1建立開放實(shí)驗(yàn)室
院系購買了20多套基于ARM7和ARM9的“嵌入式系統(tǒng)”教學(xué)實(shí)驗(yàn)設(shè)備,組建了嵌入式系統(tǒng)實(shí)驗(yàn)室,“嵌入式系統(tǒng)”課程開設(shè)的實(shí)驗(yàn)內(nèi)容分為兩個(gè)層次,包括基本實(shí)驗(yàn)和綜合應(yīng)用實(shí)驗(yàn)?;緦?shí)驗(yàn)?zāi)康氖亲寣W(xué)生了解嵌入式軟件和硬件的一般開發(fā)環(huán)境與流程,進(jìn)行基本的嵌入式程序開發(fā)。綜合應(yīng)用實(shí)驗(yàn)?zāi)康氖亲寣W(xué)生綜合運(yùn)用所學(xué)到的知識(shí),按照指定的題目,自行設(shè)計(jì)開發(fā)嵌入式應(yīng)用程序。實(shí)驗(yàn)室全天候開放,學(xué)生可以在課余時(shí)間進(jìn)行相關(guān)課題的設(shè)計(jì)和實(shí)驗(yàn),為課程的實(shí)踐教學(xué)內(nèi)容能夠順利實(shí)施提供了有力的保證。進(jìn)行的實(shí)驗(yàn)內(nèi)容如表1所示。
表1實(shí)驗(yàn)內(nèi)容及學(xué)時(shí)
基本實(shí)驗(yàn)學(xué)時(shí)綜合應(yīng)用實(shí)驗(yàn)學(xué)時(shí)
1.ARM匯編指令實(shí)驗(yàn)21.實(shí)時(shí)時(shí)鐘實(shí)驗(yàn)4
2.Thumb匯編指令實(shí)驗(yàn)22.數(shù)碼管顯示實(shí)驗(yàn)4
3.ARM處理器工作模式實(shí)驗(yàn)23.液晶顯示實(shí)驗(yàn)4
4.C語言程序?qū)嶒?yàn)44.觸摸屏控制實(shí)驗(yàn)4
5.匯編與C語言的相互調(diào)用45.USB接口實(shí)驗(yàn)4
3.2充分利用課程設(shè)計(jì)和畢業(yè)設(shè)計(jì)
課程設(shè)計(jì)和畢業(yè)設(shè)計(jì)是“嵌入式系統(tǒng)”教學(xué)實(shí)踐的兩個(gè)重要環(huán)節(jié),由于其時(shí)間相對(duì)較長,可以就某一個(gè)課題進(jìn)行較深入的討論,讓學(xué)生完整的把課題做
完。在此期間,學(xué)生不僅要進(jìn)行軟件的設(shè)計(jì)和編程,而且還要進(jìn)行一部分硬件電路的設(shè)計(jì)和制作,以及最后軟硬件的聯(lián)合調(diào)試,這樣使學(xué)生建立了不同課程之間知識(shí)的有機(jī)聯(lián)系,培養(yǎng)了學(xué)生邏輯思維能力、理論聯(lián)系實(shí)際能力和綜合運(yùn)用各學(xué)科知識(shí)的能力,最終達(dá)到課程建設(shè)及輔助教學(xué)的目的。
3.3成立興趣小組
學(xué)生根據(jù)自己的興趣愛好,組成嵌入式系統(tǒng)興趣小組,每2~3名同學(xué)一組,利用現(xiàn)有的實(shí)驗(yàn)設(shè)備和條件進(jìn)行課題研究,使學(xué)生能夠更深入地掌握嵌入式系統(tǒng)的理論知識(shí),從而培養(yǎng)學(xué)生初步的科研能力、創(chuàng)新能力、同學(xué)間的協(xié)作能力和工程實(shí)踐能力,并能有效地將所學(xué)知識(shí)應(yīng)用于實(shí)際中。院系安排專門的指導(dǎo)老師,定期進(jìn)行專題的討論,拓展學(xué)生在嵌入式領(lǐng)域的知識(shí)面,進(jìn)而提高課程教學(xué)效果。
此外,注重嵌入式師資培訓(xùn),充分利用寒暑假將專業(yè)教師派到相關(guān)企業(yè)直接參與項(xiàng)目的開發(fā),通過這種方式使得專業(yè)課教師能夠緊跟時(shí)代的步伐,時(shí)刻引領(lǐng)新知識(shí)、新技術(shù),這也從師資方面保證了課程教學(xué)效果。
4結(jié)語
如何在計(jì)算機(jī)專業(yè)開展“嵌入式系統(tǒng)”教學(xué),筆者積累了一些教學(xué)實(shí)踐經(jīng)驗(yàn),與同行交流。同時(shí),還需要以后在教學(xué)實(shí)踐中進(jìn)一步對(duì)其完善與補(bǔ)充。不同學(xué)校計(jì)算機(jī)專業(yè)在開設(shè)“嵌入式系統(tǒng)”課程時(shí),應(yīng)結(jié)合自身特點(diǎn),靈活調(diào)整教學(xué)內(nèi)容,發(fā)揮出各自優(yōu)勢(shì),這樣才有利于嵌入式系統(tǒng)人才的培養(yǎng)。
參考文獻(xiàn):
[1] 馬忠梅,徐英慧. ARM嵌入式處理器結(jié)構(gòu)與應(yīng)用基礎(chǔ)[M]. 北京:北京航空航天大學(xué)出版社,2007.
[2] 王勇. 嵌入式系統(tǒng)原理與設(shè)計(jì)[M]. 杭州:浙江大學(xué)出版社,2007.
[3] 李珍香.《嵌入式系統(tǒng)》課程實(shí)驗(yàn)教學(xué)探討[J]. 福建電腦,2009(1):31-32.
[4] 周金和. 電子信息工程專業(yè)嵌入式教學(xué)改革嘗試[J]. 計(jì)算機(jī)教育,2007(6):43-45.
[5] 文全剛,陳守孔. 嵌入式方向課程設(shè)置與教學(xué)[J]. 計(jì)算機(jī)教育,2007(9):25-27.
The Teaching Exploration of Computer Specialty Embedded System
WANG Ying-jun, GAO Guo-hong, ZHAO Chen-ping
(Henan Institute of Science and Technology, Xinxiang 453003, China )
Abstract: Combining the internal requirements, the general problems in computer specialty embedded system teaching are aimed at, and how to set up the courses is discussed in this article. Finally, some advices are put forward, some experiences of teaching are summarized.
Key words: computer; embedded; teaching; ARM
(編輯:彭遠(yuǎn)紅)