王志軍 楊延軍 段曉輝 趙建業(yè) 張云峰
“嵌入式系統(tǒng)”課程是“北京大學(xué)電子信息科學(xué)基礎(chǔ)實驗中心”為信息科學(xué)技術(shù)學(xué)院電子類高年級本科生和研究生新開設(shè)的一門以實驗為主的選修課,目的是通過對嵌入式系統(tǒng)組成原理的學(xué)習(xí)和專題實驗、項目實驗的訓(xùn)練,培養(yǎng)學(xué)生的綜合創(chuàng)新能力。
“嵌入式系統(tǒng)”實驗課程的建設(shè)注重對學(xué)生進(jìn)行科研綜合方法的培養(yǎng),包括需求分析、方案論證、資料搜集、系統(tǒng)設(shè)計、電路調(diào)試、系統(tǒng)測試、報告撰寫等。除了培養(yǎng)學(xué)生的分析問題、解決問題的能力外,還要引導(dǎo)學(xué)生發(fā)揮想象力,提出問題或見解,即培養(yǎng)創(chuàng)新能力。對于沒有學(xué)過的或跨學(xué)科的知識,引導(dǎo)學(xué)生學(xué)會主動學(xué)習(xí)、理解,最終應(yīng)用于系統(tǒng)中去。
“嵌入式系統(tǒng)”課程介紹
1.學(xué)時學(xué)分
總課時:60學(xué)時(理論課:16學(xué)時,實驗課:44學(xué)時);學(xué)分:2學(xué)分。
2.課程內(nèi)容
(1)理論課
共授課8次,每次2學(xué)時,共需4周時間。具體內(nèi)容如下:
* 嵌入式系統(tǒng)概述
* ARM體系結(jié)構(gòu)與嵌入式CPU
* 嵌入式系統(tǒng)平臺——SitSang Board
* 嵌入式Linux操作系統(tǒng)原理
* 嵌入式Linux軟件開發(fā)
* 嵌入式Linux圖形程序設(shè)計
* 嵌入式Linux驅(qū)動程序設(shè)計
* 嵌入式應(yīng)用系統(tǒng)設(shè)計開發(fā)
通過上述理論課的學(xué)習(xí),使學(xué)生基本掌握嵌入式系統(tǒng)的基本理論和嵌入式系統(tǒng)的開發(fā)過程,以及Intel SitSang開發(fā)平臺的組成、嵌入式Linux操作系統(tǒng)的開發(fā)原理,為下一步的實驗課程打下基礎(chǔ)。
(2)實驗課
實驗課分為兩個階段,專題實驗和項目實驗。專題實驗共有6次,每次4學(xué)時,共24學(xué)時(6周)。專題實驗具體內(nèi)容如下:
實驗一 SitSang Board組成和原理
實驗二 ARM匯編程序設(shè)計
實驗三 嵌入式Linux內(nèi)核
實驗四 嵌入式Linux程序設(shè)計
實驗五 嵌入式Linux圖形程序設(shè)計
實驗六 嵌入式Linux驅(qū)動程序設(shè)計
在專題實驗中,學(xué)生自由組隊三人一組,每次實驗又分為驗證性實驗、修改性實驗和設(shè)計性實驗三個層次。硬件開發(fā)平臺采用Intel SitSang(PXA255)板。第一個實驗用來熟悉開發(fā)平臺的硬件,第二個實驗用來了解比較底層的ARM匯編程序的開發(fā)方法,其他四個實驗都是圍繞 Linux操作系統(tǒng)來進(jìn)行的。
嵌入式Linux操作系統(tǒng)內(nèi)核——zImage采用的是經(jīng)過Intel公司修改的2.4.19版本;嵌入式文件系統(tǒng)采用的是JFFS2,它是專門為Flash設(shè)備設(shè)計的文件系統(tǒng);為了避免頻繁的Flash讀寫和節(jié)省將文件系統(tǒng)燒錄到Flash中的時間,在實驗中我們主要采用網(wǎng)絡(luò)文件系統(tǒng)(NFS),它使目標(biāo)系統(tǒng)在運行的時候通過網(wǎng)絡(luò)在主機(jī)上得到文件系統(tǒng)的內(nèi)容,而不需要訪問Flash設(shè)備,大大提高了開發(fā)效率;圖形開發(fā)選擇qtopia-1.7.0作為軟件平臺,開發(fā)工具主要使用qt-embedded-2.3.7;驅(qū)動程序的設(shè)計主要涉及了加速度計、測試LED和面板按鈕,希望學(xué)生對驅(qū)動有初步的了解,在專題實驗中并沒有設(shè)計很復(fù)雜的驅(qū)動。
項目實驗仍為三人一組,共20學(xué)時,需5周時間。實際操作上,項目實驗被安排在開放實驗室,學(xué)生可以自由安排其實驗時間,每個學(xué)生實際花費的時間遠(yuǎn)遠(yuǎn)多于20學(xué)時。項目實驗的命題由教師推薦和學(xué)生自選,這樣可以調(diào)動學(xué)生的創(chuàng)造潛能,達(dá)到培養(yǎng)學(xué)生綜合創(chuàng)新能力的目的。推薦的項目實驗題目如下:
* MP3播放器
* 簡單PDA(記事本、通信錄、備忘錄等)
* 簡單E-mail編輯、收發(fā)器
* 簡單游戲(游戲桿控制)
在項目實驗的管理中,每個實驗教師負(fù)責(zé)幾組學(xué)生,每周至少一次對學(xué)生進(jìn)行檢查、督導(dǎo)。同時,設(shè)有兩個檢查時間點:一個是項目實驗開始的一周后,要求學(xué)生提供一份書面的項目方案設(shè)計報告,包括需求分析、方案論證、系統(tǒng)功能、資源分配、任務(wù)分工及任務(wù)時間表等;另一個檢查點為項目實驗結(jié)束時的答辯驗收,每組答辯時間為15分鐘,包括項目系統(tǒng)演示5分鐘,PPT講演5分鐘和提問5分鐘,屆時應(yīng)準(zhǔn)備好:項目實驗報告、PPT講演稿和項目演示系統(tǒng)。
(3)成績評定
專題實驗:40分(實驗表現(xiàn):20,實驗報告:20);
項目實驗:60分(系統(tǒng)演示:30,實驗報告:20,答辯:10)。
(4)參考教材
[1] 嵌入式系統(tǒng)實驗講義.北京大學(xué)信息科學(xué)技術(shù)學(xué)院內(nèi)部教材.
[2] 陳章龍等譯.嵌入式技術(shù)與系統(tǒng)- Intel Xscale 結(jié)構(gòu)與開發(fā)[M].北京航空航天大學(xué)出版社,2004.
[3] 王勇等譯.GNU/Linux 編程指南[M].北京:清華大學(xué)出版社,2000.
[4] 田澤等譯.ARM SoC體系結(jié)構(gòu)[M].北京航空航天大學(xué)出版社,2002.
“嵌入式系統(tǒng)”課程教學(xué)效果
通過理論課的學(xué)習(xí),學(xué)生基本掌握了嵌入式系統(tǒng)的組成和基本原理、ARM體系結(jié)構(gòu)、嵌入式操作系統(tǒng)的基本原理,以及嵌入式系統(tǒng)的開發(fā)過程等。
通過實驗課的訓(xùn)練,學(xué)生不僅提高了實驗技能,更重要的是提高了綜合創(chuàng)新能力。實驗中學(xué)生被分為三人一組,這使得學(xué)生學(xué)到了任務(wù)劃分和相互合作,培養(yǎng)了學(xué)生的團(tuán)隊精神;課程內(nèi)容具有一定的深度,很多知識點學(xué)生都是第一次接觸,這使得學(xué)生學(xué)會了主動學(xué)習(xí)、廣泛搜集資料,綜合能力得到訓(xùn)練;碰到問題,學(xué)生敢于面對,并積極努力去解決,培養(yǎng)了學(xué)生的頑強(qiáng)拼搏精神;項目實驗中,學(xué)生開動腦筋,完成了很多他們感興趣的題目,并力求將項目做得完美,這些培養(yǎng)了學(xué)生的創(chuàng)新能力;項目實驗最后的答辯驗收,則訓(xùn)練了學(xué)生講演、快速反應(yīng)和推銷自己的能力。
以下是學(xué)生完成的、具有代表性的項目實驗題目:
* 便攜式MP3播放器
* 便攜式MPEG4播放器(使用了Intel IPP庫)
* 便攜式E-mail收發(fā)終端
* 便攜式旅游信息終端
* 基于Linux的PDA的設(shè)計與實現(xiàn)
* 基于Linux的可視電話的設(shè)計與實現(xiàn)
課程的進(jìn)一步改進(jìn)
通過“嵌入式系統(tǒng)”課程對兩屆學(xué)生的開設(shè),我們積累了一些經(jīng)驗,同時也存在著一些需要繼續(xù)改進(jìn)的方面。從學(xué)生的反饋上看,該課程對于四年級的本科生來說,涉及的知識面廣、內(nèi)容偏深:既要求學(xué)生有硬件電路知識,又要有計算機(jī)體系結(jié)構(gòu)、操作系統(tǒng)等方面的知識,還要熟悉編程語言及應(yīng)用系統(tǒng)組成。在有限的學(xué)時內(nèi),學(xué)生們很難完全掌握和消化,往往占用了他們很多的課余時間。因此,如何在有限的學(xué)時內(nèi),讓學(xué)生基本掌握嵌入式系統(tǒng)的基本知識,培養(yǎng)他們的綜合創(chuàng)新能力,是課程進(jìn)一步改進(jìn)的重點。
(1)進(jìn)一步系統(tǒng)化理論課程內(nèi)容
目前,理論課由幾位教師分別以講座的形式向?qū)W生授課。在課程內(nèi)容上,雖然大體上有重點劃分,但仍需要進(jìn)一步統(tǒng)籌規(guī)劃、突出重點。重點講授需要學(xué)生掌握的基本知識,而不是面面俱到,進(jìn)一步的提高可由學(xué)生憑個人興趣自學(xué)完成。另外,課程內(nèi)容中多增加一些實例,以幫助學(xué)生理解和消化。
(2)加快理論課教材建設(shè)
嵌入式系統(tǒng)涉及的知識面廣,參考資料也非常多,泛泛地為學(xué)生指定幾本參考書,這使得學(xué)生無時間遍覽,也很難抓住重點。嵌入式系統(tǒng)課程的進(jìn)一步建設(shè),應(yīng)該根據(jù)該課程的目標(biāo)和內(nèi)容的需要,編寫一本理論課教材。這樣既可以幫助學(xué)生掌握嵌入式系統(tǒng)的基本知識,又節(jié)省了學(xué)生的時間。這項工作目前正在進(jìn)行中。
(3)增加演示項目實驗
對于專題實驗,學(xué)生可以按照實驗講義一步步地完成。但到了項目實驗階段,學(xué)生普遍感覺跨度較大,往往無從下手,需要教師多次的引導(dǎo)和幫助。這是因為學(xué)生習(xí)慣于單元實驗,而缺少系統(tǒng)實驗的訓(xùn)練。為了幫助學(xué)生項目實驗?zāi)苎杆偕鲜?,我們的嵌入式系統(tǒng)課程準(zhǔn)備在專題實驗結(jié)束后,增加一個演示項目實驗。在項目的方案設(shè)計、理論推導(dǎo)、系統(tǒng)功能、性能測試等方面為學(xué)生提供一個完整的實例,相信一定會對學(xué)生有所幫助。
“嵌入式系統(tǒng)”課程的建設(shè),適應(yīng)了當(dāng)代電子信息科學(xué)技術(shù)領(lǐng)域?qū)I(yè)技術(shù)人才的要求,為高年級本科生及研究生提供了一個較好的高端選修課。四年的開課實踐證明:本課程較全面地訓(xùn)練了學(xué)生們的綜合創(chuàng)新能力,受到了學(xué)生們的歡迎。