文章編號:1672-5913(2008)05-0071-04
摘要:本文以社會對嵌入式人才的需求為基礎(chǔ),對嵌入式系統(tǒng)及應用課程的特點、教學方法和經(jīng)驗進行了總結(jié),主要分析了嵌入式軟件開發(fā)模式。
關(guān)鍵詞:嵌入式系統(tǒng),啟發(fā)式教學,嵌入式軟件開發(fā),實驗系統(tǒng)設(shè)計
中圖分類號:G642
文獻標識碼:A
1 課程特點介紹
目前國內(nèi)高校大多已開設(shè)和嵌入式系統(tǒng)有關(guān)的各種課程,以電子科技大學為例,自20世紀90年代中期開設(shè)嵌入式實時操作系統(tǒng)課程以來,以“科研促教學”為國家培養(yǎng)了一大批嵌入式系統(tǒng)方面的高級人才,并撰寫了多部嵌入式方面的書籍和教材。目前該課程發(fā)展為“嵌入式系統(tǒng)及應用”,本課程堅持理論、實踐相結(jié)合的原則,特別重視對學生實際應用能力的培養(yǎng)。本文首先講述了該課程如何結(jié)合現(xiàn)實生活激發(fā)學生對課程的興趣,以及如何使用啟發(fā)式教學方法提高教學質(zhì)量,接著重點討論本課程在注重實踐、培養(yǎng)應用型人才方面所采用的一些方法和經(jīng)驗。
2 結(jié)合現(xiàn)實生活激發(fā)學生的學習興趣
計算機科學與技術(shù)的發(fā)展日新月異,新技術(shù)、新方法、新產(chǎn)品層出不窮。學生經(jīng)常對所學的課程產(chǎn)生疑問,一方面社會上也流傳今天的計算機教育是“用昨天的知識教今天的學生去做明天的事”。另外,學生對這樣一門較新的學科不是很了解,不明白它的重要性,所以一些學生缺乏學習動力,學習的積極性不高。愛因斯坦曾經(jīng)說過:“興趣是最好的老師”。為了調(diào)動學生學習的興趣,嵌入式系統(tǒng)及應用課程的第一節(jié)課我們安排的教學內(nèi)容是:嵌入式計算機的發(fā)展史和未來發(fā)展趨勢。目的就是要讓學生知道,嵌入式計算機與通用計算機一樣積累了大量的理論、技術(shù)和工程實現(xiàn)的經(jīng)驗。并以圖片方式告訴學生嵌入式計算機跟我們的生活息息相關(guān),它們在不斷地為我們的工作和生活服務,同時讓大家充分發(fā)揮想象力對“后PC時代”進行美好的憧憬和遐想。然后,告訴大家在這樣“無處不在”的計算機時代里嵌入式計算機的作用和重要性,即它們是本學科理論和技術(shù)的精華,是幾代計算機人經(jīng)驗的結(jié)晶,是創(chuàng)新的源泉。當代計算機技術(shù)的進步以及高性能的獲得,與創(chuàng)造性的應用技術(shù)是分不開的。科學技術(shù)的進步,人類的創(chuàng)造發(fā)明,嵌入式計算機的“無處不在”,激起了學生對嵌入式系統(tǒng)的濃厚興趣,使學生有了學習的動力,從而“教”與“學”都成為一種享受。
3 用啟發(fā)式教學方法提高課堂教學質(zhì)量
孔子說過:“不憤不啟,不悱不發(fā)”。意思是學生不到想求明白而不得的時候,不去開導他;不到想說說不出的時候,不去啟發(fā)他。啟發(fā)式教學的真諦就是要充分體現(xiàn)學生在教學過程中的主體地位,活躍課題氣氛,激勵學生主動思考,使課堂達到“師生互動”的完美效果。聽課時,學生感覺到已知中有疑問,這種疑問便成為認知的起點,從而由產(chǎn)生疑問向解決疑問的方向轉(zhuǎn)化。
所以,我們在嵌入式系統(tǒng)及應用課程的教學中大量使用啟發(fā)式教學方法,讓學生帶著疑問聽講,最大限度的吸引學生注意力。比如,在講到嵌入式實時操作系統(tǒng)通常會出現(xiàn)“優(yōu)先級反轉(zhuǎn)”的嚴重問題時,首先分析問題產(chǎn)生的原因,并列舉歷史上曾因為此問題而導致的嚴重事故,然后向大家提問“誰有最好的方法來解決這個問題?”這時發(fā)現(xiàn)同學的興趣非常高昂,個個都在冥思苦想,緊接著就會有同學舉手回答。不管同學回答的是否正確都應該給予最大的鼓勵和掌聲,從而就會有更多的同學搶著回答自己的想法,這樣課堂就“互動”起來了。最后再逐步推出當前比較成熟的經(jīng)典解決算法,同時將大家的想法和現(xiàn)有的算法進行對比分析,找出各自的優(yōu)缺點。另外,不要忘記給想法比較好的學生多一些夸獎,這樣他們學習和思考的興趣就會更加高昂。
這種教學方法學生非常喜歡,一致反映容易理解,記憶深刻,而且有利于培養(yǎng)學生獨立思考和解決問題的能力。
4 注重實踐、培養(yǎng)應用型人才
嵌入式系統(tǒng)是將先進的計算機技術(shù)、半導體技術(shù)和電子技術(shù)與各個行業(yè)的具體應用相結(jié)合的產(chǎn)物。這一點就決定了它必然是一個技術(shù)密集、資金密集、高度分散、不斷創(chuàng)新的知識集成系統(tǒng)。結(jié)合嵌入式系統(tǒng)的特點,在教學過程中,對嵌入式系統(tǒng)涉及的硬件和軟件部分進行詳細闡述,確立以教學實驗板為物理基礎(chǔ),以軟件應用設(shè)計開發(fā)為主的指導思想,結(jié)合市場需要設(shè)計出多個綜合實驗題目;同時還組織學生參加相關(guān)的大學生嵌入式設(shè)計大賽,激發(fā)學生的學習熱情和潛在能力。為了促進學生在校期間工程實踐素質(zhì)的培養(yǎng),提高學生的動手能力和軟硬件設(shè)計的綜合能力,消除大學生就業(yè)過程中理論脫離實際的尷尬場面,在教學過程中我院始終堅持方法、能力和品質(zhì)的培養(yǎng),積極鼓勵、引導有能力的同學結(jié)合課程提出課題,參加有關(guān)競賽甚至提前進入我們的科研團隊,從而使優(yōu)秀的人才脫穎而出。
5 課程實驗設(shè)計
為了讓學生理論聯(lián)系實際,盡快熟悉嵌入式系統(tǒng)的開發(fā)過程,并達到能夠獨立開發(fā)嵌入式軟件的目標。本課程的實驗系統(tǒng)特定針對當今非常流行的嵌入式處理器而開發(fā)了3套實驗系統(tǒng),該實驗系統(tǒng)使用開源的嵌入式實時操作系統(tǒng)micro;C/OS-II。
5.1嵌入式軟件開發(fā)模式
嵌入式軟件的開發(fā)模式為交叉開發(fā)模式。交叉開發(fā)指嵌入式系統(tǒng)軟件的開發(fā)由宿主機和目標機共同完成。如圖1所示。
宿主機(Host):是用于開發(fā)嵌入式系統(tǒng)的計算機。一般為PC機(或工作站),具備豐富的軟硬件資源,為嵌入式軟件的開發(fā)提供全過程支持。
目標機(Target):即所開發(fā)的嵌入式軟件系統(tǒng),是嵌入式軟件的運行環(huán)境,包括嵌入式操作系統(tǒng)、嵌入式應用軟件,其軟件是為特定應用而定制的。
通過交叉開發(fā)工具進行交叉編譯和調(diào)試,做過調(diào)試和測試的最終程序通過工具“固化”到目標機上,從此該程序就永久運行于目標機了。
5.2基于micro;C/OS-II的實驗系統(tǒng)設(shè)計
嵌入式系統(tǒng)及應用課程的教學內(nèi)容與實驗密不可分,由于嵌入式軟件開發(fā)方式的特殊性,實驗的開設(shè)有一定難度,需要特殊的軟硬件環(huán)境。結(jié)合課程內(nèi)容,我們設(shè)計了軟、硬件兩種平臺搭建實驗和7個綜合軟件開發(fā)實驗,覆蓋了課程所講述的主要章節(jié)。實驗系統(tǒng)采用開放源代碼的嵌入式實時操作系統(tǒng)micro;C/OS-II。
5.2.1 實驗內(nèi)容
第一部分:平臺搭建實驗
(1) 軟件平臺的搭建。實驗使用的嵌入式軟件開發(fā)工具是科銀京成公司的LambdaTOOL嵌入式集成開發(fā)工具。本部分實驗要求學生自己動手安裝并熟悉此工具,同時搭建基于此工具的交叉開發(fā)環(huán)境。本實驗使學生對嵌入式開發(fā)工具及交叉開發(fā)模式進行更為深入的認知和學習。
(2) 三個硬件平臺的搭建。為加強學生對當今流行的嵌入式處理器的學習以適應社會需要,本實驗系統(tǒng)采用三種實驗平臺:基于×86系列的PC虛擬實驗平臺,基于ARM7-TDMI處理器的W90P710開發(fā)板實驗平臺,基于SH3-7709S 微處理器的清華YU-SH3-VER2開發(fā)板實驗平臺。通過這部分實驗使學生對嵌入式系統(tǒng)的硬件知識有更深入和直觀的認識。
第二部分:軟件開發(fā)實驗
本部分實驗考查各章節(jié)知識的學習情況,并將各章節(jié)所學知識進行實踐開發(fā);鍛煉學生的綜合應用能力和嵌入式軟件開發(fā)能力。本部分實驗根據(jù)各章節(jié)內(nèi)容共設(shè)計了7個實驗題目。
5.2.2 實驗環(huán)境介紹
(1) 硬件環(huán)境
實驗硬件環(huán)境分為宿主機、目標機兩種硬件平臺。
(1) 宿主機:為X86系列的PC機,主頻2.5G,內(nèi)存512M
(2) 開發(fā)板:
l基于X86系列PC虛擬平臺
l基于ARM7TDMI處理器的W90P710開發(fā)板
l基于SH3-7709S 微處理器的清華YU-SH3-VER2開發(fā)板
(2) 軟件環(huán)境
(1) 宿主機操作系統(tǒng):Windows XP/2000
(2) 目標機操作系統(tǒng):嵌入式實時操作系統(tǒng)micro;C/OS-II
(3) 開發(fā)工具
本實驗系統(tǒng)所采用的嵌入式開發(fā)工具是科銀京成公司自主研發(fā)的LambdaTOOL集成開發(fā)環(huán)境的教學免費版本。LambdaTOOL是一個通用、統(tǒng)一、開放的新一代32位嵌入式軟件集成開發(fā)環(huán)境,支持多種嵌入式操作系統(tǒng)和32位嵌入式處理器,具備先進的新一代交叉開發(fā)環(huán)境和系統(tǒng)配置工具。該教學版本具備支持嵌入式軟件仿真開發(fā)的完整功能,包括:編輯環(huán)境、系統(tǒng)配置、編譯環(huán)境、目標機管理和調(diào)試環(huán)境。
5.3軟件開發(fā)實驗
為培養(yǎng)學生的綜合應用能力和嵌入式軟件開發(fā)能力,同時鍛煉學生的團隊協(xié)作能力和管理能力,本部分實驗提供了7個綜合實驗題目。學生以3個人為一個小團隊,為鍛煉同學們的團隊管理能力,每個小團隊推舉一位負責人,負責安排每個人的分工和進度管理,并及時向老師匯報實驗進展情況和存在的問題。綜合實驗題目的設(shè)計緊扣教材,進一步鞏固所學知識,7個實驗的內(nèi)容為:
1. 任務管理實驗
實驗目的:理解任務管理的基本原理,了解任務的各個基本狀態(tài)及其變遷過程;掌握micro;C/OS-II中任務管理的基本方法(創(chuàng)建、啟動、掛起、解掛任務);熟練使用micro;C/OS-II任務管理的基本系統(tǒng)調(diào)用。
2. 優(yōu)先級反轉(zhuǎn)實驗
實驗目的:掌握在基于優(yōu)先級的可搶占嵌入式實時操作系統(tǒng)的應用中,出現(xiàn)優(yōu)先反轉(zhuǎn)現(xiàn)象的原理。
3. 優(yōu)先級繼承實驗
實驗目的:掌握嵌入式實時操作系統(tǒng)micro;C/OS-II解決優(yōu)先級反轉(zhuǎn)的策略——優(yōu)先級繼承的原理。
4. 哲學家就餐實驗
實驗目的:掌握在基于嵌入式實時操作系統(tǒng)micro;C/OS-II的應用中,如何使用信號量資源。通過經(jīng)典的哲學家就餐實驗,了解如何利用信號量來對共享資源進行互斥訪問。
5. 內(nèi)存管理實驗
實驗目的:掌握嵌入式實時操作系統(tǒng)micro;C/OS-II內(nèi)存管理中內(nèi)存分配和回收的功能。
6. 時鐘中斷實驗
實驗目的:掌握嵌入式實時操作系統(tǒng)micro;C/OS-II。
7. 消息隊列實驗
實驗目的:掌握嵌入式實時操作系統(tǒng)micro;C/OS-II中消息隊列機制的基本原理和使方法。本文僅以實驗2為例講述綜合實驗的設(shè)計內(nèi)容。
5.4優(yōu)先級反轉(zhuǎn)實驗的設(shè)計內(nèi)容
1).優(yōu)先級反轉(zhuǎn)原理
在本實驗中,要體現(xiàn)嵌入式實時內(nèi)核的優(yōu)先級搶占調(diào)度的策略,并顯現(xiàn)由于共享資源的互斥訪問而出現(xiàn)的優(yōu)先級反轉(zhuǎn)現(xiàn)象。
優(yōu)先級反轉(zhuǎn)發(fā)生在有多個任務需要使用共享資源的情況下,可能會出現(xiàn)高優(yōu)先級任務被低優(yōu)先級任務阻塞,并等待低優(yōu)先級任務執(zhí)行的現(xiàn)象。高優(yōu)先級任務需要等待低優(yōu)先級任務釋放資源,而低優(yōu)先級任務又正在等待中等優(yōu)先級任務,這種現(xiàn)象就被稱為優(yōu)先級反轉(zhuǎn)。
2).設(shè)計要點
1) 設(shè)計了3個應用任務TA0~TA2,其優(yōu)先級逐漸降低,任務TA0的優(yōu)先級最高。
2) 除任務TA1外,其他應用任務都要使用同一種資源,該資源必須被互斥使用。為此,創(chuàng)建一個二值信號量mutex來模擬該資源。雖然μC/OS-II在創(chuàng)建信號量時可以選擇采用防止優(yōu)先級反轉(zhuǎn)的策略,但在本實驗中我們不使用這種策略。
3) 應用任務的執(zhí)行情況如圖2所示:
圖2 應用任務執(zhí)行情況
注意:圖中的柵格并不代表嚴格的時間刻度,而僅僅表現(xiàn)各個任務啟動和執(zhí)行的相對先后關(guān)系。
3).本實驗中所涉及的micro;C/OS-II相關(guān)資源和知識
本實驗涉及到micro;C/OS-II的任務和信號量兩種內(nèi)核資源的使用,并充分體現(xiàn)了基于優(yōu)先級可搶占式的調(diào)度方式和資源互斥訪問的重要性。這些知識都是進行嵌入式軟件開發(fā)最常用的基礎(chǔ)知識,通過本實驗的學習,鍛煉了學生的嵌入式軟件開發(fā)能力。
6組織學生積極參與嵌入式設(shè)計大賽
本課程組組織并指導學生積極參加嵌入式相關(guān)的各類比賽。自2003年起,本課題組組織學生分別參加了兩次“全國大學生嵌入式專題競賽”和“全國大學生電子設(shè)計競賽”,并分別獲得了兩次國家二等獎和一次國家一等獎、一次四川賽區(qū)一等獎的優(yōu)異成績。不僅為學校取得了榮譽,還充分鍛煉了學生的大賽能力、學習能力和創(chuàng)新能力。
Research and Practice on Teaching Embedded System and Applications
Abstract: This paper summarized the futures and teaching methods and experiences of the course of Embedded System and Applications. We analyze the mode of embedded software development, and mostly explain the design and development of the experimentation system, which will improve the practice ability of embedded application.
Keywords: embedded system, elicitation teaching, embedded software development, the design of experimentation systems
參考文獻
[1] 羅蕾. 嵌入式實時操作系統(tǒng)及應用開發(fā)[M]. 北京航空航天大學出版社,2005.
[2] 王麗芳.計算機組成原理教學研究與實踐[J]. 計算機教育,2006,(4).
[3] 孫德興,譚羽非.“交流互動式”課堂教學模式的研究與實踐[J]. 黑龍江高教研究,2004,(6).
[4] 羅蕾,陳麗蓉,楊霞. micro;C_OS-II實驗指導書[M]. 2007.