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