吳強(qiáng) 劉其奇 楊全勝 徐造林 王曉蔚
摘要:針對計(jì)算機(jī)專業(yè)學(xué)生嵌入式系統(tǒng)實(shí)驗(yàn)主要為應(yīng)用型實(shí)驗(yàn),缺乏系統(tǒng)能力鍛煉的情況,提出系統(tǒng)能力培養(yǎng)方法,提出增加嵌入式系統(tǒng)軟件的分析、移植和設(shè)計(jì)等實(shí)驗(yàn)環(huán)節(jié),使學(xué)生能夠全面地學(xué)習(xí)嵌入式系統(tǒng)的軟、硬件知識,為今后進(jìn)行更高層次的設(shè)計(jì)打下基礎(chǔ)。
關(guān)鍵詞:嵌入式系統(tǒng)實(shí)驗(yàn):系統(tǒng)軟件;軟件分析與設(shè)計(jì);軟件移植
引 言
目前,絕大多數(shù)院校和專業(yè)在開設(shè)嵌入式系統(tǒng)課程和實(shí)驗(yàn)的時候都是以嵌入式應(yīng)用系統(tǒng)實(shí)驗(yàn)為主。誠然,大量缺乏嵌入式系統(tǒng)應(yīng)用型開發(fā)人員是現(xiàn)狀,但是實(shí)際上還有一類人才更為缺乏,那就是有系統(tǒng)觀的嵌入式系統(tǒng)開發(fā)人員。高校的計(jì)算機(jī)專業(yè)擔(dān)負(fù)著為國家培養(yǎng)更高端人才的責(zé)任,培養(yǎng)系統(tǒng)級開發(fā)人員也迫在眉睫 。
1 傳統(tǒng)嵌入式系統(tǒng)課程實(shí)驗(yàn)存在的問題
1.1 理論與實(shí)踐脫節(jié)
傳統(tǒng)嵌入式教學(xué)都是以教學(xué)為主、實(shí)驗(yàn)為輔。學(xué)生們能很好地掌握嵌入式系統(tǒng)的系統(tǒng)結(jié)構(gòu)、硬件接口、編程語言,但若進(jìn)行嵌入式系統(tǒng)產(chǎn)品開發(fā),真正能動手的學(xué)生就不多了。
1.2 教學(xué)、實(shí)驗(yàn)內(nèi)容與社會需求脫節(jié)
嵌入式課程作為一門交叉學(xué)科,更新的速度日新月異,而在教學(xué)過程中,教學(xué)大綱往往得不到及時更新,教材得不到及時更換,因此出現(xiàn)了教學(xué)內(nèi)容跟不上社會對嵌入式人才需求的情況。
1.3 以應(yīng)用為主,缺乏系統(tǒng)能力培養(yǎng)
許多高校都增加了實(shí)驗(yàn)課的比重,盡管學(xué)生們可以在實(shí)驗(yàn)設(shè)備上進(jìn)行一些實(shí)驗(yàn),但由于實(shí)驗(yàn)設(shè)備大多是由生產(chǎn)廠家做好的,程序大多數(shù)也是由廠家提供的,許多學(xué)生做實(shí)驗(yàn)只是將現(xiàn)成的程序下載到實(shí)驗(yàn)設(shè)備上,觀察一下結(jié)果,其動手能力得不到真正的提高,而且設(shè)置的實(shí)驗(yàn)基本上都是以實(shí)際應(yīng)用為主,學(xué)生無法培養(yǎng)和鍛煉系統(tǒng)能力,以至于學(xué)生缺乏設(shè)計(jì)系統(tǒng)的能力 。
2 進(jìn)行教學(xué)改革的意義
從上述嵌入式系統(tǒng)課程教學(xué)與實(shí)驗(yàn)的現(xiàn)狀看,目前教學(xué)普遍存在著重應(yīng)用、輕系統(tǒng)的問題,特別是相關(guān)實(shí)驗(yàn)基本上都是嵌入式系統(tǒng)應(yīng)用實(shí)驗(yàn)。我們認(rèn)為高校計(jì)算機(jī)專業(yè)的學(xué)生除了掌握嵌入式系統(tǒng)應(yīng)用,更應(yīng)該具備嵌入式系統(tǒng)軟件的分析和設(shè)計(jì)能力。因此非常有必要在計(jì)算機(jī)專業(yè)開設(shè)嵌入式系統(tǒng)軟件分析與設(shè)計(jì)的實(shí)驗(yàn)。如果計(jì)算機(jī)專業(yè)學(xué)生能夠通過嵌入式實(shí)驗(yàn)對嵌入式系統(tǒng)軟件進(jìn)行分析及設(shè)計(jì),就能夠更好地提升學(xué)生系統(tǒng)軟件設(shè)計(jì)能力,在參加嵌入式系統(tǒng)競賽、教師科研、畢業(yè)設(shè)計(jì)及工作后進(jìn)行嵌入式系統(tǒng)開發(fā)設(shè)汁中也能夠快速上手,高質(zhì)量地完成開發(fā)任務(wù)。
我們知道,計(jì)算機(jī)專業(yè)有著深厚的工程背景,是卓越工程師計(jì)劃實(shí)施的主要專業(yè)之一,如何在我們的人才培養(yǎng)和教學(xué)理念上體現(xiàn)出研究型人才與卓越工程師培養(yǎng)這兩個方面是我們一直研究的重要內(nèi)容。
在長期的實(shí)驗(yàn)教學(xué)過程中,我們逐漸形成了“強(qiáng)化基礎(chǔ)、軟硬結(jié)合、立足系統(tǒng)、面向應(yīng)用、加強(qiáng)實(shí)踐”的教學(xué)與人才培養(yǎng)理念以及培養(yǎng)“具有系統(tǒng)能力和實(shí)踐創(chuàng)新能力的卓越人才”的培養(yǎng)日標(biāo) 。
我們提出的“基于系統(tǒng)軟件分析與設(shè)計(jì)的嵌入式系統(tǒng)實(shí)驗(yàn)的探索與實(shí)踐”教改思路就是基于上述理念。一方面進(jìn)行基于系統(tǒng)軟件分析與設(shè)計(jì)的嵌入式系統(tǒng)實(shí)驗(yàn)的探索與實(shí)踐,可以提高計(jì)算機(jī)專業(yè)學(xué)生系統(tǒng)軟件設(shè)計(jì)能力,培養(yǎng)出高端的嵌入式系統(tǒng)軟件級設(shè)計(jì)人才;另一方面,鼓勵學(xué)生設(shè)計(jì)出具有自主知識產(chǎn)權(quán)的嵌入式系統(tǒng)軟件,改變絕大多數(shù)嵌入式系統(tǒng)軟件來自國外的現(xiàn)狀,為國家發(fā)展基礎(chǔ)系統(tǒng)軟件做出自己的貢獻(xiàn)。
3 具體教學(xué)改革方案
3.1 嵌入式操作系統(tǒng)微核心的分析、研究與設(shè)計(jì)
通過對比性能,我們選擇規(guī)模適合、源碼公開的嵌入式操作系統(tǒng)微核心,從其結(jié)構(gòu)人手,對源碼進(jìn)行分析并移植到實(shí)驗(yàn)室具備的嵌入式實(shí)驗(yàn)平臺;在源碼基礎(chǔ)上,設(shè)計(jì)部分?jǐn)U展的系統(tǒng)軟件功能 。
3.2 文件系統(tǒng)的分析、研究與設(shè)計(jì)
分析嵌入式文件系統(tǒng),以嵌入式實(shí)驗(yàn)平臺的MicroSD卡為存儲媒介,實(shí)現(xiàn)文件管理,完成文件的基本操作,包含有文件的創(chuàng)建、刪除、打開、關(guān)閉、文件讀、文件寫等;實(shí)現(xiàn)存儲介質(zhì)的選擇、邏輯到物理的轉(zhuǎn)換;完成對幾個主要數(shù)據(jù)結(jié)構(gòu)的初始化,設(shè)置文件系統(tǒng)的總體分區(qū)信息以及每個分區(qū)的幾部分——引導(dǎo)區(qū)、FAT區(qū)、文件存儲區(qū)等,完成存儲介質(zhì)的驅(qū)動程序 。
3.3 設(shè)備管理分析、研究與設(shè)計(jì)
分析現(xiàn)有的嵌入式外圍設(shè)備管理方法,實(shí)現(xiàn)嵌入式外圍設(shè)備管理,具體包括:ROM存儲器、RAM存儲器、FLASH存儲器、EPROM存儲器、嵌入式計(jì)算機(jī)與機(jī)電系統(tǒng)接口(如串口、以太網(wǎng)接口、12C接口以及USB接口等)、觸摸屏幕、LCD顯示屏幕等。
3.4 圖形用戶接口(GUI)分析、研究與設(shè)計(jì)
GUI是當(dāng)今計(jì)算機(jī)發(fā)展的重大成就之一,它方便了用戶,避免記-憶大量命令,取而代之的是通過窗口、菜單、按鍵等方式進(jìn)行操作。GUI是一個較為復(fù)雜的嵌入式系統(tǒng)軟件,對現(xiàn)有的GUI系統(tǒng)軟件進(jìn)行分析研究,設(shè)計(jì)出自己的GUI系統(tǒng)是一件極具挑戰(zhàn)的工作 。
3.5 基于嵌入式系統(tǒng)的通訊協(xié)議分析、研究與設(shè)計(jì)
在嵌入式系統(tǒng)實(shí)際應(yīng)用中,通訊功能是非常重要的,各種通訊協(xié)議的特點(diǎn)決定了它們需要操作系統(tǒng)的支持,學(xué)生通過學(xué)習(xí)已有的協(xié)議棧,將其移植到選擇好的嵌入式操作系統(tǒng)中。
3.6 外設(shè)驅(qū)動程序分析、研究與設(shè)計(jì)
外設(shè)驅(qū)動程序可以對系統(tǒng)提供訪問的外圍設(shè)備的接口,我們把嵌入式操作系統(tǒng)(系統(tǒng)軟件)和外圍設(shè)備(硬件)分離開,這樣當(dāng)外圍沒備改變時,只需要更換相應(yīng)的驅(qū)動程序,不必修改操作系統(tǒng)的微內(nèi)核及運(yùn)行在嵌入式操作系統(tǒng)巾的軟件。所以學(xué)習(xí)如何設(shè)計(jì)外圍設(shè)備的驅(qū)動程序是一個非常重要的環(huán)節(jié)。
總之,我們的改革目標(biāo)就是:從各個模塊的分析人手進(jìn)行移植和設(shè)計(jì),在全部模塊設(shè)計(jì)完成之后再進(jìn)行優(yōu)化、整合,最終完成既定的目標(biāo)系統(tǒng)(嵌入式微型操作系統(tǒng)),在實(shí)驗(yàn)平臺上完成若干由嵌入式系統(tǒng)軟件支持的實(shí)際應(yīng)用實(shí)驗(yàn)。學(xué)生通過系統(tǒng)的訓(xùn)練,能輕松地掌握基于嵌入式操作系統(tǒng)的完整開發(fā)過程,同時也積累了工程開發(fā)的經(jīng)驗(yàn),鼓勵學(xué)有余力的同學(xué)編制嵌入式系統(tǒng)軟件。
考慮到實(shí)驗(yàn)難度較高,實(shí)驗(yàn)時數(shù)有限制,實(shí)驗(yàn)采用分組方式,即將實(shí)驗(yàn)學(xué)生分成若干小組,每個小組由4-6人組成,采用組長負(fù)責(zé)制,小組長產(chǎn)生的方式主要通過學(xué)生毛遂自薦產(chǎn)生,該方式在“計(jì)算機(jī)系統(tǒng)綜合課程設(shè)計(jì)”(此課程2009年被評為“教育部一英特爾精品課程”)中已經(jīng)采用,學(xué)生踴躍報名,效果很好。由小組長負(fù)責(zé)指派小組成員完成各個模塊的分析和設(shè)計(jì),在全部模塊設(shè)計(jì)完成之后,再進(jìn)行優(yōu)化、整合,最終完成既定的目標(biāo)系統(tǒng)(嵌入式微型操作系統(tǒng))。教師通過答辯方式完成驗(yàn)收,某組答辯時,歡迎其他小組參加,達(dá)到取長補(bǔ)短,共同提高的目的 。
4 結(jié)語
設(shè)計(jì)采用top-down方式,首先確定實(shí)驗(yàn)?zāi)繕?biāo)是實(shí)現(xiàn)一個基于嵌入式的微型操作系統(tǒng),然后將這一個目標(biāo)系統(tǒng)逐層細(xì)分,形成各個子模塊(如文件子系統(tǒng)、設(shè)備管理子系統(tǒng)及GUI等)。這樣做的好處是整個實(shí)驗(yàn)?zāi)繕?biāo)明確,系統(tǒng)關(guān)聯(lián)性強(qiáng),便于學(xué)生在宏觀上把握各個模塊和整體系統(tǒng)的關(guān)系。
學(xué)生的實(shí)驗(yàn)過程采用bottom-up方式,即先從各個模塊的分析人手,進(jìn)行移植和設(shè)計(jì),在全部模塊設(shè)計(jì)完成之后,再進(jìn)行優(yōu)化、整合,最終完成既定的目標(biāo)系統(tǒng)(嵌入式微型操作系統(tǒng))。學(xué)生通過這樣的訓(xùn)練,能輕松地掌握嵌入式操作系統(tǒng)的完整開發(fā)過程,同時也積累了工程開發(fā)的經(jīng)驗(yàn)。
我們已經(jīng)將基于嵌入式系統(tǒng)軟件分析、研究與設(shè)計(jì)的改革實(shí)驗(yàn)方案應(yīng)用于計(jì)算機(jī)學(xué)院嵌入式系統(tǒng)課程及配套實(shí)驗(yàn)中。學(xué)生在實(shí)驗(yàn)中感覺有不少的難度,但做完后普遍感覺收獲很大。經(jīng)過了解,一些從事嵌入式系統(tǒng)應(yīng)用科研開發(fā)或進(jìn)行課外研學(xué)及畢業(yè)設(shè)計(jì)的學(xué)生普遍覺得上手快、有自信。