文章編號:1672-5913(2008)05-0071-04
摘要:本文以社會對嵌入式人才的需求為基礎,對嵌入式系統及應用課程的特點、教學方法和經驗進行了總結,主要分析了嵌入式軟件開發模式。
關鍵詞:嵌入式系統,啟發式教學,嵌入式軟件開發,實驗系統設計
中圖分類號:G642
文獻標識碼:A
1 課程特點介紹
目前國內高校大多已開設和嵌入式系統有關的各種課程,以電子科技大學為例,自20世紀90年代中期開設嵌入式實時操作系統課程以來,以“科研促教學”為國家培養了一大批嵌入式系統方面的高級人才,并撰寫了多部嵌入式方面的書籍和教材。目前該課程發展為“嵌入式系統及應用”,本課程堅持理論、實踐相結合的原則,特別重視對學生實際應用能力的培養。本文首先講述了該課程如何結合現實生活激發學生對課程的興趣,以及如何使用啟發式教學方法提高教學質量,接著重點討論本課程在注重實踐、培養應用型人才方面所采用的一些方法和經驗。
2 結合現實生活激發學生的學習興趣
計算機科學與技術的發展日新月異,新技術、新方法、新產品層出不窮。學生經常對所學的課程產生疑問,一方面社會上也流傳今天的計算機教育是“用昨天的知識教今天的學生去做明天的事”。另外,學生對這樣一門較新的學科不是很了解,不明白它的重要性,所以一些學生缺乏學習動力,學習的積極性不高。愛因斯坦曾經說過:“興趣是最好的老師”。為了調動學生學習的興趣,嵌入式系統及應用課程的第一節課我們安排的教學內容是:嵌入式計算機的發展史和未來發展趨勢。目的就是要讓學生知道,嵌入式計算機與通用計算機一樣積累了大量的理論、技術和工程實現的經驗。并以圖片方式告訴學生嵌入式計算機跟我們的生活息息相關,它們在不斷地為我們的工作和生活服務,同時讓大家充分發揮想象力對“后PC時代”進行美好的憧憬和遐想。然后,告訴大家在這樣“無處不在”的計算機時代里嵌入式計算機的作用和重要性,即它們是本學科理論和技術的精華,是幾代計算機人經驗的結晶,是創新的源泉。當代計算機技術的進步以及高性能的獲得,與創造性的應用技術是分不開的。科學技術的進步,人類的創造發明,嵌入式計算機的“無處不在”,激起了學生對嵌入式系統的濃厚興趣,使學生有了學習的動力,從而“教”與“學”都成為一種享受。
3 用啟發式教學方法提高課堂教學質量
孔子說過:“不憤不啟,不悱不發”。意思是學生不到想求明白而不得的時候,不去開導他;不到想說說不出的時候,不去啟發他。啟發式教學的真諦就是要充分體現學生在教學過程中的主體地位,活躍課題氣氛,激勵學生主動思考,使課堂達到“師生互動”的完美效果。聽課時,學生感覺到已知中有疑問,這種疑問便成為認知的起點,從而由產生疑問向解決疑問的方向轉化。
所以,我們在嵌入式系統及應用課程的教學中大量使用啟發式教學方法,讓學生帶著疑問聽講,最大限度的吸引學生注意力。比如,在講到嵌入式實時操作系統通常會出現“優先級反轉”的嚴重問題時,首先分析問題產生的原因,并列舉歷史上曾因為此問題而導致的嚴重事故,然后向大家提問“誰有最好的方法來解決這個問題?”這時發現同學的興趣非常高昂,個個都在冥思苦想,緊接著就會有同學舉手回答。不管同學回答的是否正確都應該給予最大的鼓勵和掌聲,從而就會有更多的同學搶著回答自己的想法,這樣課堂就“互動”起來了。最后再逐步推出當前比較成熟的經典解決算法,同時將大家的想法和現有的算法進行對比分析,找出各自的優缺點。另外,不要忘記給想法比較好的學生多一些夸獎,這樣他們學習和思考的興趣就會更加高昂。
這種教學方法學生非常喜歡,一致反映容易理解,記憶深刻,而且有利于培養學生獨立思考和解決問題的能力。
4 注重實踐、培養應用型人才
嵌入式系統是將先進的計算機技術、半導體技術和電子技術與各個行業的具體應用相結合的產物。這一點就決定了它必然是一個技術密集、資金密集、高度分散、不斷創新的知識集成系統。結合嵌入式系統的特點,在教學過程中,對嵌入式系統涉及的硬件和軟件部分進行詳細闡述,確立以教學實驗板為物理基礎,以軟件應用設計開發為主的指導思想,結合市場需要設計出多個綜合實驗題目;同時還組織學生參加相關的大學生嵌入式設計大賽,激發學生的學習熱情和潛在能力。為了促進學生在校期間工程實踐素質的培養,提高學生的動手能力和軟硬件設計的綜合能力,消除大學生就業過程中理論脫離實際的尷尬場面,在教學過程中我院始終堅持方法、能力和品質的培養,積極鼓勵、引導有能力的同學結合課程提出課題,參加有關競賽甚至提前進入我們的科研團隊,從而使優秀的人才脫穎而出。
5 課程實驗設計
為了讓學生理論聯系實際,盡快熟悉嵌入式系統的開發過程,并達到能夠獨立開發嵌入式軟件的目標。本課程的實驗系統特定針對當今非常流行的嵌入式處理器而開發了3套實驗系統,該實驗系統使用開源的嵌入式實時操作系統micro;C/OS-II。
5.1嵌入式軟件開發模式
嵌入式軟件的開發模式為交叉開發模式。交叉開發指嵌入式系統軟件的開發由宿主機和目標機共同完成。如圖1所示。

宿主機(Host):是用于開發嵌入式系統的計算機。一般為PC機(或工作站),具備豐富的軟硬件資源,為嵌入式軟件的開發提供全過程支持。
目標機(Target):即所開發的嵌入式軟件系統,是嵌入式軟件的運行環境,包括嵌入式操作系統、嵌入式應用軟件,其軟件是為特定應用而定制的。
通過交叉開發工具進行交叉編譯和調試,做過調試和測試的最終程序通過工具“固化”到目標機上,從此該程序就永久運行于目標機了。
5.2基于micro;C/OS-II的實驗系統設計
嵌入式系統及應用課程的教學內容與實驗密不可分,由于嵌入式軟件開發方式的特殊性,實驗的開設有一定難度,需要特殊的軟硬件環境。結合課程內容,我們設計了軟、硬件兩種平臺搭建實驗和7個綜合軟件開發實驗,覆蓋了課程所講述的主要章節。實驗系統采用開放源代碼的嵌入式實時操作系統micro;C/OS-II。
5.2.1 實驗內容
第一部分:平臺搭建實驗
(1) 軟件平臺的搭建。實驗使用的嵌入式軟件開發工具是科銀京成公司的LambdaTOOL嵌入式集成開發工具。本部分實驗要求學生自己動手安裝并熟悉此工具,同時搭建基于此工具的交叉開發環境。本實驗使學生對嵌入式開發工具及交叉開發模式進行更為深入的認知和學習。
(2) 三個硬件平臺的搭建。為加強學生對當今流行的嵌入式處理器的學習以適應社會需要,本實驗系統采用三種實驗平臺:基于×86系列的PC虛擬實驗平臺,基于ARM7-TDMI處理器的W90P710開發板實驗平臺,基于SH3-7709S 微處理器的清華YU-SH3-VER2開發板實驗平臺。通過這部分實驗使學生對嵌入式系統的硬件知識有更深入和直觀的認識。
第二部分:軟件開發實驗
本部分實驗考查各章節知識的學習情況,并將各章節所學知識進行實踐開發;鍛煉學生的綜合應用能力和嵌入式軟件開發能力。本部分實驗根據各章節內容共設計了7個實驗題目。
5.2.2 實驗環境介紹
(1) 硬件環境
實驗硬件環境分為宿主機、目標機兩種硬件平臺。
(1) 宿主機:為X86系列的PC機,主頻2.5G,內存512M
(2) 開發板:
l基于X86系列PC虛擬平臺
l基于ARM7TDMI處理器的W90P710開發板
l基于SH3-7709S 微處理器的清華YU-SH3-VER2開發板
(2) 軟件環境
(1) 宿主機操作系統:Windows XP/2000
(2) 目標機操作系統:嵌入式實時操作系統micro;C/OS-II
(3) 開發工具
本實驗系統所采用的嵌入式開發工具是科銀京成公司自主研發的LambdaTOOL集成開發環境的教學免費版本。LambdaTOOL是一個通用、統一、開放的新一代32位嵌入式軟件集成開發環境,支持多種嵌入式操作系統和32位嵌入式處理器,具備先進的新一代交叉開發環境和系統配置工具。該教學版本具備支持嵌入式軟件仿真開發的完整功能,包括:編輯環境、系統配置、編譯環境、目標機管理和調試環境。
5.3軟件開發實驗
為培養學生的綜合應用能力和嵌入式軟件開發能力,同時鍛煉學生的團隊協作能力和管理能力,本部分實驗提供了7個綜合實驗題目。學生以3個人為一個小團隊,為鍛煉同學們的團隊管理能力,每個小團隊推舉一位負責人,負責安排每個人的分工和進度管理,并及時向老師匯報實驗進展情況和存在的問題。綜合實驗題目的設計緊扣教材,進一步鞏固所學知識,7個實驗的內容為:
1. 任務管理實驗
實驗目的:理解任務管理的基本原理,了解任務的各個基本狀態及其變遷過程;掌握micro;C/OS-II中任務管理的基本方法(創建、啟動、掛起、解掛任務);熟練使用micro;C/OS-II任務管理的基本系統調用。
2. 優先級反轉實驗
實驗目的:掌握在基于優先級的可搶占嵌入式實時操作系統的應用中,出現優先反轉現象的原理。
3. 優先級繼承實驗
實驗目的:掌握嵌入式實時操作系統micro;C/OS-II解決優先級反轉的策略——優先級繼承的原理。
4. 哲學家就餐實驗
實驗目的:掌握在基于嵌入式實時操作系統micro;C/OS-II的應用中,如何使用信號量資源。通過經典的哲學家就餐實驗,了解如何利用信號量來對共享資源進行互斥訪問。
5. 內存管理實驗
實驗目的:掌握嵌入式實時操作系統micro;C/OS-II內存管理中內存分配和回收的功能。
6. 時鐘中斷實驗
實驗目的:掌握嵌入式實時操作系統micro;C/OS-II。
7. 消息隊列實驗
實驗目的:掌握嵌入式實時操作系統micro;C/OS-II中消息隊列機制的基本原理和使方法。本文僅以實驗2為例講述綜合實驗的設計內容。
5.4優先級反轉實驗的設計內容
1).優先級反轉原理
在本實驗中,要體現嵌入式實時內核的優先級搶占調度的策略,并顯現由于共享資源的互斥訪問而出現的優先級反轉現象。
優先級反轉發生在有多個任務需要使用共享資源的情況下,可能會出現高優先級任務被低優先級任務阻塞,并等待低優先級任務執行的現象。高優先級任務需要等待低優先級任務釋放資源,而低優先級任務又正在等待中等優先級任務,這種現象就被稱為優先級反轉。
2).設計要點
1) 設計了3個應用任務TA0~TA2,其優先級逐漸降低,任務TA0的優先級最高。
2) 除任務TA1外,其他應用任務都要使用同一種資源,該資源必須被互斥使用。為此,創建一個二值信號量mutex來模擬該資源。雖然μC/OS-II在創建信號量時可以選擇采用防止優先級反轉的策略,但在本實驗中我們不使用這種策略。
3) 應用任務的執行情況如圖2所示:

圖2 應用任務執行情況
注意:圖中的柵格并不代表嚴格的時間刻度,而僅僅表現各個任務啟動和執行的相對先后關系。
3).本實驗中所涉及的micro;C/OS-II相關資源和知識
本實驗涉及到micro;C/OS-II的任務和信號量兩種內核資源的使用,并充分體現了基于優先級可搶占式的調度方式和資源互斥訪問的重要性。這些知識都是進行嵌入式軟件開發最常用的基礎知識,通過本實驗的學習,鍛煉了學生的嵌入式軟件開發能力。
6組織學生積極參與嵌入式設計大賽
本課程組組織并指導學生積極參加嵌入式相關的各類比賽。自2003年起,本課題組組織學生分別參加了兩次“全國大學生嵌入式專題競賽”和“全國大學生電子設計競賽”,并分別獲得了兩次國家二等獎和一次國家一等獎、一次四川賽區一等獎的優異成績。不僅為學校取得了榮譽,還充分鍛煉了學生的大賽能力、學習能力和創新能力。
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] 羅蕾. 嵌入式實時操作系統及應用開發[M]. 北京航空航天大學出版社,2005.
[2] 王麗芳.計算機組成原理教學研究與實踐[J]. 計算機教育,2006,(4).
[3] 孫德興,譚羽非.“交流互動式”課堂教學模式的研究與實踐[J]. 黑龍江高教研究,2004,(6).
[4] 羅蕾,陳麗蓉,楊霞. micro;C_OS-II實驗指導書[M]. 2007.