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