前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的嵌入式課程總結主題范文,僅供參考,歡迎閱讀并收藏。
嵌入式方向包括軟硬件協同設計、嵌入式體系結構、實時操作系統、嵌入式產品設計等方面的知識,需要掌握嵌入式系統設計的典型開發工具,培訓學生具備嵌入式系統軟、硬件的開發能力,對于特定行業領域(例如移動終端、數字家庭、信息家電以及對傳統產業信息化改造)已經逐步形成了特定的嵌入式開發方法與手段。
隨著軟硬件技術快速發展,嵌入式系統不再是一門課程就可以介紹清晰,而逐步成為一個課程群,該方向的專業課程可劃分為:嵌入式系統原理、嵌入式操作系統、實時系統、嵌入式軟件設計、軟硬件協同設計、嵌入式系統軟件工程、嵌入式系統中間件、數字信號處理等。一些學校還開設了微機電路應用設計、單片機編程、ARM等課程。
我們收集并分析了國內部分高校在嵌入式課程上的教學大綱,以此為基礎設置了我們的嵌入式系統概論課程。表1是我們收集的大學名稱、課程名稱、學時數與知識點,這些課程基本上是基于Intel的XScale實驗板設計的,對我們設計“嵌入式系統概論”有借鑒作用。
綜合上述高校的嵌入式課程,有些是針對計算機專業開設的,有些是針對其他專業的,有本科期間開設的,也有碩士期間開設的,一些高校開設了多門嵌入式方向大課程。我們設計的“嵌入式系統概論”是針對本科階段開設的嵌入式方向入門課程,主要面向大三的本科生,其課程結構如圖1所示,其前修課程一般是計算機組成、微機原理、接口、匯編、操作系統、程序設計語言、體系結構。部分后續課程開設在研究生階段。
嵌入式系統概論課程的目的,是綜合前修計算機專業課程,以及包括數字電路等更基礎的知識,開拓學生對嵌入式的視野,為后續課程奠定基礎。因此在嵌入式課程中不會介紹匯編語言設計、接口電路的設計等知識。
我們認為,該課程理論部分的知識點分布基本上如圖2所示,主要分為四大模塊,分別是嵌入式概念、嵌入式體系、嵌入式系統軟件、嵌入式軟件開發。實驗部分由于各學校實驗材料的差異,較難對比,我們的使用設備主要是30套Intel XScale與30套Motorola Dragonball。
對于嵌入式體系結構,首先介紹各種嵌入式體系結構、處理器、DSP。
由于ARM體系是目前嵌入式系統工業界事實上的標準,一般都以ARM體系為例介紹嵌入式體系結構,并介紹ARM匯編。由于上課學生已經學習了匯編語言,所以需要簡單介紹ARM匯編與微機匯編的差異與特點,要求學生以自學為主,作業為輔,可以較快地掌握該匯編。浙江大學計算機專業本科生階段在計算機組成課程中還學習了MIPS匯編,所以學生們對ARM匯編掌握起來就更快一些。
在嵌入式體系的具體實例介紹中,我們結合本課程的實驗平臺簡要介紹XScale體系,這部分主要也是自學為主,結合實驗環節讓學生掌握看硬件資料的能力。
在嵌入式體系結構部分,還需要介紹嵌入式系統的硬件系統,包括JTAG接口、外設、中斷、總線等。通過這部分的介紹,學生們可以了解嵌入式硬件系統的構成與軟硬件接口。
嵌入式系統軟件就是嵌入式操作系統。嵌入式操作系統包括非實時嵌入式操作系統與實時嵌入式操作系統(RTOS),在嵌入式課程中主要介紹RTOS。在系統軟件模塊中將介紹實時系統概念、操作系統在嵌入式系統領域的改造,例如處理器調度的實時性改造、中斷處理、文件系統、MMU等。嵌入式系統概論課程主要介紹常見的各種嵌入式操作系統,包括它們的特點、應用領域,并以嵌入式Linux為例子,介紹Linux的改造、裁減與移植。
最后一個模塊是嵌入式軟件開發,是介紹嵌入式軟件開發的過程,使得整門課程最終能夠形成一個完備的嵌入式開發體系。Bootloader的設計,也可放在操作系統移植中進行介紹。嵌入式圖形用戶界面目前沒有統一的標準,作為概論課程需要介紹各個嵌入式GUI的優缺點與適用范圍。同樣,課程介紹包括Tornado、等嵌入式開發環境,以及嵌入式中間件。課程最后將以實例來介紹嵌入式系統的開發流程。
作為后續課程,我們認為一些專題性質的開發工具,例如開發、Symbian開發、BREW開發等,可以利用浙江大學暑假短學期為期兩周的課程實踐來完成。而實時系統可以單獨開設研究生層次的課程,面向領域的嵌入式系統設計可以開設相關的專題班進行討論。部分嵌入式軟件開發的知識點,可以交給其他課程完成,例如人機交互設計課程里面,可以介紹嵌入式GUI的設計,FPGA可以在相關硬件課程中完成。微機原理課程也可以涉獵部分嵌入式課程的內容,例如工業控制、嵌入式系統擴展等,對于微機原理課程的改革,也是嵌入式中心正在進行的工作之一,希望將實驗設備更新到奔騰M處理器,增加FPGA,實現原來微機原理的實驗,并完成嵌入式的實驗。
關鍵詞:雙語授課;項目案例;嵌入式系統;專業培養
引言
嵌入式系統技術的飛速發展使嵌入式行業對人才的需求也是與日俱增的。國內高校已有很多嵌入式課程開設,有嵌入式系統基礎、嵌入式操作系統、嵌入式應用開發等不同層次的課程。但嵌入式系統課程本身的應用性強的特點就對嵌入式人才的實踐動手能力有很高的要求。嵌入式方向的課程具有很強的綜合性,涉及到電子、計算機、機械等學科的知識,作為嵌入式系統的學習者對嵌入式系統知識的整體性及其全部技能的掌握只能是側重點不同。另外嵌入式系統技術及其微處理器技術發展迅速,新的微處理器、接口、總線等不斷出現新的標準和開發方法。因此,嵌入式方向的課程在授課內容和方法上要與新技術、新發展融合。而新的技術和標準出現都是以英文形式出現,嵌入式系統課程采用雙語授課可以與新技術和新標準的數據手冊結合就保持了嵌入式系統授課的開放性。嵌入式系統課程是實踐性很強的課程,現有的嵌入式系統課程實踐課課時占總學時的近一半。另外,嵌入式系統實踐課的實驗內容和實驗方法也各有不同。實踐課教材通常是采用嵌入式實驗箱廠家提供的實驗指導書,所做實驗只能是在各自的嵌入式實驗箱上實現,不能舉一反三。由于實踐教材的限制,對于嵌入式系統雙語授課的實踐課就沒有雙語環節了,偏離了雙語授課的初衷。嵌入式系統課程體系的綜合性和實踐性的特點對傳統的理論+實驗的嵌入式教學方法很難有一個完整的解決方案。理論課教學以課堂講授為主,教學內容單一,各章內容孤立,如果沒有一個完整的案例,學生很難將不同內容間的聯系建立起來;實驗課教學內容大多是與實驗箱相結合的,內容不夠全面、針對性不強,很難與理論課的內容相結合。針對傳統教學模式和方法的不足,在多年來的嵌入式教學過程中,重點培養學生的動手能力和創新能力,利用實踐和項目推動嵌入式系統教學,以項目為主線從中找出需要學習的相關理論知識,以實踐為主導的嵌入式雙語教學方法。
1實踐和項目推動嵌入式教學方法的特點
嵌入式系統雙語課程以實踐和項目推動嵌入式教學的方法中雙語教材的選擇既要注重雙語教學的內容又要符合實踐和項目推動的特點。現有雙語教材比較少,符合這兩個特點的還需要自己編寫教材。在編寫雙語教材時將微處理器、接口、總線等數據手冊中的內容加以修改,添加入符合課程內容的項目。另外根據項目和課程內容編寫相關的實驗指導書,不拘泥一種實驗箱,二是不同的項目采用不同的開發板實驗指導內容,使學生接觸的實踐內容多樣化,嵌入式設計的靈活性。采用實踐與項目推動嵌入式系統教學的第二個特點就是課程掌控比較靈活。授課過程中以學生為主,結合學生動手能力和創新能力,如何利用項目來提升學生的能力、教師如何與學生互動將是實踐該方法的一個關鍵問題。項目的題材選擇要符合嵌入式系統課程大綱要求,授課過程中無論是什么課程,學生都對教師的橫向項目很感興趣,能夠緊密聯系實際、激發學生的聽課興趣。項目題材選擇要難易適度,因材施教。結合以上實踐與項目推動嵌入式系統教學的特點,以我校嵌入式系統基礎教學為例,并結合多年的實踐經驗和所做的橫向項目,構建了嵌入式系統基礎課程的體系框架。
2實踐和項目推動嵌入式教學方法的主要內容
通過對實踐和項目推動嵌入式教學方法的研究和實踐,改進傳統的以學科為基礎的教學法,形成以實踐和項目為驅動的嵌入式教學方法。
2.1項目的選擇
《嵌入式系統基礎》課程的主要內容有:嵌入式系統概述及開發流程、嵌入式微處理器、嵌入式微處理器的可編程輸入輸出接口、存儲系統、系統總線及嵌入式系統的應用程序開發。不同內容設計不同的項目及實踐內容,內容設置及項目選擇如表1所示。在教學過程中要根據學生的掌握情況進行隨時調整,如可編程I/O對網絡專業的學生比較使用,因此在授課過程中添加了循環緩沖區在可編程I/O中的使用方法。
2.2課堂的授課
課堂授課過程中采用以學生為主的方法進行。如講授嵌入式系統開發流程時給出案例GPS的設計后由學生根據每一個開發步驟進行討論,最后每組講解一個相應的步驟。這部分內容學生討論時同一組學生有扮演用戶的角色有扮演設計者的角色對項目進行完整的熟悉。課堂授課另一方面對教師也有嚴格的要求。一方面教師要對英文水平有一定要求;另一方面教師要做過相關的完整的項目。在講解項目案例的過程使學生對項目的設計有一個完整系統的概念,而不是僅僅的紙上談兵。另外學生要想實現自主創新、團隊合作等目標,實驗室實踐是必不可少的,因此要求教師在課外提供一個實驗室實驗時間。
2.3教材的建設
嵌入式系統雙語課程現有教材選擇是機械工業出版社出版英文版的《嵌入式計算系統設計原理》,采用該書時需要的理論基礎比較充分,但是涉及到的項目相關內容比較少。在該需求推動下,教材建設結合嵌入式系統組件的理論基礎、項目涉及的相關內容并將實踐內容進行融合。在教材建設的過程中要充分利用嵌入式系統中的各部件英文數據手冊,并將數據手冊作為學生的輔助教材。
2.4考核方法
嵌入式系統課程的主要目標是增強學生的實踐動手能力,為將來工作奠定基礎。傳統的試卷考核方法不能對學生的實踐能力、團隊合作組織能力進行考察,因此在考核過程中學生團隊合作的項目設計、報告與講解作為主要考核內容。在平時授課過程中完成的每一個小項目都有一個總結,最后每一組要選擇一個題目進行設計并在實驗箱實現結果并寫成報告的形式,并進行答辯。不僅對學生的所學知識進行了總結考核,使學生也熟悉了項目開發的整體流程達到了課程設置的目標。
3教學效果
《嵌入式系統基礎》雙語課程采用項目和實踐驅動教學方法后,激發了學生和教師對課程的熱情。學生由被動上課變為主動進行需求分析、規格說明制定、組件設計、聯合調試,整體的開發流程使學生對嵌入式項目開發有了一定的掌握。項目設計都是針對嵌入式系統的基本組件設計的,每一個項目都有針對性,因此學生設計了完整的小項目后嵌入式系統的基本組件開發方法就可以完全掌握并推廣到今后的項目開發中。
參考文獻:
[1]盧慧,李華,王燕.一種以學生為主體的計算機網絡課程教學方法[J].計算機教育,2014(20):34-37.
[2]趙永林等.項目驅動教學法在“汽車嵌入式系統課程設計”教學改革中的應用[J].江蘇理工學院學報,2015(6):136-138.
[3]呂釗等.計算機應用專業項目驅動嵌入式系統教學的新模式探索與實踐[J].高教論壇,2015(11):52-55.
[4]徐維等.嵌入式系統課程“教”與“學”新模式探索與研究[J].科技創新導報,2015(5):165-167.
關鍵詞: 高職院校 嵌入式技術教學 兩點措施
一、我國高職院校學生的現狀
隨著我國高校規模的擴大,高職院校所錄取的新生出現了一系列的新問題,主要是學生素質普遍下降,學生中大部分是獨生子女,自我約束能力、適應能力和挫折承受力較差,思想容易產生波動,而且大部分學生中學時成績處于下游水平,學習熱情不高,自信心不強。高考后,看到中學的很多同學考上比較好的大學,心理上會產生強烈的失落感[1]。社會和企業盲目追求高學歷更會給高職院校的學生造成更大的心理壓力,致使部分學生自覺不如別人,產生自卑心理,對學習和以后的就業產生較大的負面影響。針對由此產生的問題,高職院校必須對原來的教學模式進行調整[2],還要考慮專業技能培訓與畢業生未來的就業需求。
二、高職院校嵌入式技術教學現狀
嵌入式系統是當今最新的電子應用技術之一,從廣泛應用的手持式設備到通信、航空航天和軍事領域的專用設備,都是以嵌入式系統為基礎的,因此,國內的很多高等院校已將其作為電子類本科高年級的專業選修課或研究生的專業必修課。很多教師對其在本科院校的教學方法進行了研究,但只有少數高職院校才在最近幾年開設該門課程,究其原因,主要有以下幾方面。
1.預修課程多,時間不夠。相對于單片機而言,必須具備一定的專業基礎知識才能進入嵌入式系統課程的學習。在硬件方面必須先學習數字電路、模擬電路(高低頻)和單片機原理與應用等課程,在軟件方面要學習C程序設計、匯編語言、軟件學和操作系統原理等課程。只有掌握了這些課程的內容,才能進入嵌入式系統課程的學習,高職高專院校的學制一般只有2―3年,學生學習這些課程的時間將非常緊張。
2.課程難度大。嵌入式系統本身的知識點很多,主要包括嵌入式芯片的結構與功能、嵌入式硬件體系結構、硬件平臺的設計、嵌入式軟件中的Boot loader引導程序、驅動程序的編制與調試技術、嵌入式實時操作系統平臺的移植與應用軟件的開發等,學習起來內容繁多,難度很大。
3.實訓和實驗設備價格較高。學習嵌入式系統課程,不但要在課堂上進行理論講解,而且要將這些理論內容放到實驗課程中檢驗,只有這樣,學生才能消化吸收相關內容。相對于其他課程的實驗設備,嵌入式開發系統實驗平臺系列的產品價格是比較貴的。裝備一個具有30套開發系統的實驗室,要花費100多萬元,因此,財力相對薄弱的高職高專院校引入該課程會面臨資金不足的問題。
4.學生素質相對較弱。本科院校和高職高專院校的學生都經過了國家高等學校統一招生考試的選拔,但本科院校的學生是第一二批次錄取的,高職高專院校的學生是第三四批次錄取的。因此,相對而言,高職高專院校學生的學習能力與基礎要比前者薄弱,學習嵌入式系統課程,學生遇到的困難會更大。
那么,高職院校面對這么多的困難是否就可以不進行嵌入式系統課程的教學了?答案是否定的。我們所處的時代是一個飛速發展的時代,特別是嵌入式技術,已經是三大信息產業技術之一,已經改變了我們的生活和工作節奏,隨之而來的是社會對電子信息類人才的極大需求。因此,高職高專院校必須面對挑戰,開拓創新,積極引入嵌入式系統課程的教學。
三、新形勢下對職業院校開設嵌入式課程的思考
結合自身從事嵌入式教學的實踐經驗,我認為在高職院校中開設嵌入式課程應采取以下兩點措施。
1.采用項目化教學模式,不以理論課為主。我們引進了深圳市英蓓特信息技術有限公司開發的嵌入式教學項目5個,分別是:GPS車載導航系統、車輛智能終端系統、網絡視頻監控終端系統、智能函數發生器、智能家居。每一個項目從基礎的硬件電路的設計、驅動程序的開發、Boot loader引導程序的制作、Wince/Linux操作系統的裁剪制作到應用程序的開發,讓學生從整體上了解了嵌入式系統的開發流程,熟悉了每一個開發流程所需要的相關知識點。嵌入式系統課程內容繁多,主要包括嵌入式系統硬件、軟件、開發環境和實時操作系統幾方面的內容,以上5個項目其實已經把嵌入式系統的主要內容學習完畢,要把這些知識點分解開來,要在三到四個學期講完,時間非常緊張。于是我們在大一第一學期就讓學生從整體上了解5個項目,每一部分所需的知識點,然后結合項目開發流程設計相關課程,結合項目開始數電/模電,嵌入式C語言的學習。那么在第二學期開始嵌入式匯編語言、驅動程序的開發、Boot loader引導程序的制作的學習,在大二第一學期進行嵌入式系統及開發環境的學習,第二學期進行嵌入式系統綜合實訓,使學生能進行3―4個學期的持續學習,可以保證學生充分的學習時間。
2.嵌入式課程教學應采用實驗和實訓為主,講授為輔的教學方法[3]。嵌入式系統課程的難度大,如果在高職院校中采用傳統的以課堂講授為主的方法教學,學生將會對眾多的軟硬件知識點和概念難以理解,繼而產生厭學情緒,從而使教學效果大受影響。我在教學實踐中采用了先實驗后講授的方法,取得了良好的效果。
以上是我對嵌入式技術在高職院校教學實踐中總結的幾點經驗,經過09級一屆學生的學習,實踐證明學生比較好地掌握了基本的嵌入式開發所需的知識點,比較好地減少了學生普遍感覺在校學無所用的錯覺。學生普遍反映良好,實際的就業情況也如實地反映了教學效果,一個班級有60%左右的學生從事的是與嵌入式技術相關的工作。學生能在高職院校中真正學到一技之長,增強了學生融入競爭激烈的社會的能力。我們正在積極探索更先進的教學手段,力圖使學生在學校求學期間逐漸形成較強的應用能力,在畢業之后成為社會的棟梁之材。
參考文獻:
[1]劉洪.淺論高學生的教育管理[J].遼寧教育學院學報,2003,(1).
關鍵詞:嵌入式系統;課程體系;實驗平臺
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2012)15-3647-04
物聯網、云計算目前已經成為信息產業的主流方向,在這個主流方向中,最核心、最關鍵的部分是嵌入式系統。調查數據【1】顯示,市場對嵌入式人才的需求缺口巨大。就高校而言,培養符合行業要求的人才是高校的職責,而人才的培養又始終離不開切實可行的教學計劃和課程體系,制定符合行業實際的教學計劃和課程體系,是培養人才的關鍵。而開設什么樣的課程來培養符合行業要求人才,又要依據行業特點和對人才的技術要求來確定,否則就會偏離行業要求,滿足不了行業需求。在2008年《普通高等學校高職高專教育指導性專業目錄(試行)》里已經規劃了嵌入式技術與應用專業(專業代碼510121),但還沒有形成一門獨立的本科專業,近幾年高校中的電子專業、計算機專業以及機電與自動化專業、通信專業都相繼開設了嵌入式系統相關課程,大都針對本科高年級學生或者研究生開設了嵌入式系統方向。從國內不同高校不同專業開設的嵌入式系統課程來看,各具特色,有些硬件課程開設的多,有些軟件課程開設的多。這主要是由于嵌入式系統本身包含軟件與硬件兩個層次,在設計與應用方面,又具有軟硬件協同工作的特點,既要依據硬件設計軟件,又要依據軟件確定硬件,不能簡單的說哪個更重要,只能從應用的角度講其側重點不同。因此對于不同專業開設的嵌入式系統課程,不能一概而論。本文主要從嵌入式從業人員進行嵌入式系統開發所具備的知識要求和技術要求為依據,確立計算機專業本科生從事嵌入式系統開發應具備的基礎知識和技能,并著重對計算機專業本科生嵌入式系統的課程體系構建內容及實驗平臺方案進行探討和研究。
1嵌入式系統概述
嵌入式系統是以計算機技術為基礎、以應用為中心、軟件硬件可裁剪并且對系統的功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統。從其概念來看,嵌入式系統是專用計算機系統,應該包含硬件系統和軟件系統,具體地說,一個嵌入式系統硬件以微處理器為核心集成存儲器和系統專用的輸入/輸出設備;嵌入式系統軟件包括初始化代碼及驅動、嵌入式操作系統和應用程序等,這些軟件有機地結合在一起,形成系統特定的一體化軟件。一個典型的嵌入式系統應包含嵌入式硬件、嵌入式操作系統和嵌入式應用軟件三個部分構成。
由于嵌入式系統是將先進的計算機技術、半導體技術和電子技術與各個行業的具體應用相結合后的產物,因此嵌入式系統是應用于特定環境下,針對特定用途來設計的系統,所以不同于通用計算機系統,它的硬件和軟件都必須高效率地設計、“量體裁衣”、去除冗余,力爭在較少的資源上實現更高的性能。嵌入式系統的基本特點就是“嵌入”、“專用性“和“計算機性”。由于系統的這些特性,導致系統的存在形式是多樣的和面向特定應用的,并且對成本、功耗、可靠性和實時性特別關注,因此在嵌入式微處理器和嵌入式操作系統的選擇上都要考慮這些特點。
2嵌入式系統專業人才崗位及核心能力分析
2.1嵌入式系統的技術研發崗位劃分與設置
從事嵌入式技術的崗位主要是企業的研發、生產、銷售部門,當然還有其它輔助部門,在此主要針對研發部門的崗位進行分析。嵌入式系統研發部門崗位的設置,離不開嵌入式系統的結構和開發過程,設置什么樣的崗位、需要何種學歷的人才都與嵌入式系統的開發過程緊密相關。就嵌入式系統而言,總體上可劃分為硬件和軟件兩部分,硬件一般由高性能的微處理器和的接口電路組成,軟件一般由硬件抽象層、嵌入式操作系統、軟件應用平臺和應用程序等組成,如圖1所示。
硬件層是整個嵌入式操作系統和應用程序運行的平臺,包括輸入輸出接口/驅動電路、處理器、存儲器、定時器、串口、中斷控制器、外設器件、圖形控制器及相關系統電路等部分。對于硬件層的設計開發要有較深的硬件開發經驗,這些崗位一般都需要資深的硬件工程師。中間層包括硬件抽象層(HAL)或板級支持包(BSP),負責對各種硬件功能提供軟件接口,包括硬件初始化、時鐘管理、定時器管理、中斷處理、總線管理、內存地址的映射等。它位于底層硬件和操作系統之間,是二者之間的橋梁。這個層次的設計開發不僅要精通底層硬件結構,還要熟悉上層的操作系統,主要工作是開發設備驅動程序。這部分工作需要有豐富的軟硬件件研發經驗才可以勝任。軟件層主要包括操作系統和軟件應用平臺,操作系統主要是實現資源的訪問和管理,完成任務調度,支持應用軟件的運行及開發,軟件應用平臺則是為了提高開發速度與軟件質量,一些應用提供商開發了一些可重用的應用平臺,封裝了一些常用的功能,同時提供API接口,可以在此基礎上進行二次開發。這些崗位要求具有豐富的嵌入式操作系統開發經驗和軟件工程能力。功能層主要指的是應用軟件層,位于嵌入式系統層次結構的最頂層,直接與最終用戶交互。針對各種特定功能來編寫應用程序,實現系統的功能應用。主要是進行大量的C、C++或JAVA語言編程,不需要更多涉及底層硬件,大都是基于操作系統之上的編程。這些崗位要求就有豐富的嵌入式應用軟件開發能力。從嵌入式系統開發流程看,還可以對硬件層、中間層、軟件層、功能層四個層次的研發工作進一步細化。
2.2技術研發崗位從業人員核心能力分析
對于從事嵌入式系統研發的技術人員而言,必須具有與崗位匹配的核心能力才可以勝任工作。文獻[3]就嵌入式整個行業的從業人員在不同崗位應具備的知識和能力進行了描述。由于目前國內就嵌入式人才的評估和認證只有嵌入式工程師認證,因此本文將從硬件設計、軟件設計、系統架構、軟、硬件測試這五類技術研發崗位進行研究,來確定相應人員應具備的知識和能力要求。對于每一類崗位,將從崗位工作任務、崗位知識能力、主要技能和核心能力這四個方面就行研究,其中崗位工作任務是指該崗位應完成日常基本工作的事務范圍,崗位知識能力是指該崗位應具備的基本知識要求,主要技能是指該崗位技術能力的要求范圍,核心能力是指該崗位工作主要能力要求。分析結果如表1所示。
2.3技術研發崗位知識要求
表1就目前嵌入式技術人員的五種崗位要求從四個方面進行了分析,從分析的結果看,對于硬件設計及測試人員而言,應具有的知識點:①熟悉或者掌握模擬電子線路、數字電路,單片機等基本的硬件電子電路設計知識;②熟悉和掌握C語言或者C++語言及接口電路程序設計;嵌入式系統硬件的設計、嵌入式系統的程序設計③至少熟悉l到2種基本的EDA工具,如MODELSIM、Quartus? lI、Protel等;④熟悉各種常用工具和儀器儀表,熟悉電子元器件性能分析。軟件設計軟件測試人員而言,應具有的知識點:①熟悉Linux,WinCE,Vxworks等操作系統的各種軟件開發環境;②熟悉GUI開發過程、熟悉網絡編程、多任務編程等;③精通C語言、匯編語言;④熟悉嵌入式系統硬件的設計、嵌入式系統的程序設計。⑤熟悉嵌入式軟件開發模式及方法,熟悉白盒測試、黑盒測試和回歸測試,熟悉單測試、集成測試、系統測試過程及測試的誤區的分析。系統架構人員應具有的知識點:①熟悉嵌入式軟件工程;②熟悉面向對象和結構化軟件開發方法;③精通常用軟件開發語言;④熟悉軟件架構模式和設計模式,熟悉常用軟件建模技術。
3計算機專業嵌入式系統課程體系及實踐平臺的構建及分析
3.1計算機專業嵌入式系統課程體系及實踐平臺的構建
從嵌入式系統專業人才崗位及核心能力分析來看,對于計算機專業,在構架課程體系時,應該結合計算機專業特點及嵌入式技術研發崗位和應具備的知識能力出發,可從理論與實踐兩個方面,去制定切實可行的專業課程體系。本文將從理論課程體系和實踐課程體系兩個方面闡述課程體系和實踐平臺的構建。其平臺結構如圖2所示。
在圖2中,計算機專業基礎和核心課程體系可依據計算機專業相關培養課程體系及目標確定,本文不再贅述。對于嵌入式系統理論課程體系可分別從硬件課程、語言課程、專業課程三個方面進行構建,其中硬件課程可包含有電路與模擬電子技術、數字邏輯電路、計算機組成與體系結構、微機原理與接口、ARM體系結構與編程、電子線路設計、計算機控制系統、單片機原理與應用、DSP技術及應用、FPGA設計基礎等課程;語言課程可包含有C語言程序設計、VC++程序設計、離散數學、數據結構、VB程序設計、C#程序設計、J2EE中間件技術、C語言深入編程、C++/VC++深入編程等課程;專業課程可包含有嵌入式操作系統、Linux設備管理與應用、ARM體系結構與編程、嵌入式系統設計、WinCe系統設計與應用開發、面向操作系統的程序設計、多核程序設計等。對于嵌入式系統實踐課程體系可從專業實踐與認證培訓兩個方面進行構建,其中專業實踐可從課內實踐、課程實訓、項目團隊、專業競賽、企業實習、畢業實習等方面進行構建。在專業實踐中,課內實踐和課程實訓是對嵌入式專門知識的鞏固與提高,綜合實踐是階段性綜合能力培養的需求,項目實訓與畢業設計是綜合分析設計能力的保障。而對于培訓認證,可參與ARM公司全球認證、中國軟件行業協會嵌入式認證、中國電子學會認證、信息產業部認證等機構和部門的培訓認證活動。
3.2嵌入式系統課程體系分析
從嵌入式系統課程體系的內容來看,具有三個方面的特點。首先是體系完整,專業特色突出,整個課程體系體現四個方面的能力培養:①編程能力培養,體現在C語言程序設計、C語言深入編程、C++/VC++深入編程及面向操作系統的程序設計等課程。②實踐能力培養,體現在嵌入式系統設計與應用開發實踐、Linux和WinCE操作系統與應用開發實踐、嵌入式系統設計與應用綜合實訓及畢業實習和畢業設計等方面。③應用能力培養,體現在嵌入式系統設計與應用、嵌入式圖形界面開發及嵌入式測試技術等方面。④創新能力培養,主要體現在創新團體、嵌入式競賽、企業實習及一些嵌入式協會等。其次,整個課程體系具有側重應用,循序漸進,層層遞進的特點。從軟硬件編程到專業技能培養,再到項目實訓和畢業設計是遞進式的。軟硬件編程是整個能力培養的基礎,專業技能是提高,項目實訓和畢業設計是綜合應用能力培養。最后,整個課程體系涵蓋了微軟、信產部認證課程。微軟認證為微軟WinCE嵌入式系統工程師認證,其課程主要包括WinCE系統設計與應用和嵌入式系統設計。信產部認證為嵌入式系統設計師認證,其主要課程包括嵌入式系統設計、嵌入式測試技術和ARM體系結構與編程。
4計算機專業嵌入式系統實驗教學平臺的構建
根據嵌入式系統實踐課程體系構建的設想,對于教學實踐,要根據計算機專業和嵌入式系統開發的技術要求和崗位職責,可進行合理規劃。既要讓學生掌握堅實的基礎知識,又要讓學生跟得上主流技術潮流。由于嵌入式系統在構成上可由硬件和軟件構成,因此在進行實驗教學時,可從硬件和軟件兩個方面進行構建。根據目前嵌入式系統開發的主流技術來看,在硬件選型上要以X86CPU、單片機和ARM處理器為主,在操作系統的選擇上要以WinCE、Linux、μC/OS-II和Vxworks等操作系統為主,可從驅動程序設計、嵌入式系統界面、應用程序等方面進行實驗。本文提出了一種可行的實驗架構,如圖3所示。
圖3嵌入式系統課內實驗體系
圖3從三個層面對實驗教學進行了規劃,最底層為硬件層,可選擇不同的處理器及各種電路及存儲設備進行實驗,如X86CPU、ARM處理器、單片機、數模轉化電路、I/O接口、通用接口、ROM、RAM等。中間為操作系統層,可選擇主流嵌入式操作系統進行實驗,如WinCE、Linux、μC/OS-II、Vxworks等。最上層為應用層,可從嵌入式驅動層序開發、嵌入式圖形用戶界面以及應用程序的設計等方面進行實驗,其中在程序設計語言的選擇上可重點考慮匯編語言、C/C++語言、JAVA為主要訓練語言。
5總結
進幾年來,市場對嵌入式人才的需求持續走高,但符合企業要求的合格嵌入式從業人員不多,缺口很大。如何緩解人才供需矛盾,是政府和學者們關心的問題。目前就全國高校的普遍情況來看,嵌入式系統還尚未開設本科專業,很多高校只是開設了嵌入式系統方向課程,而且開設的課程五花八門,很難規范。本文從嵌入式系統構成及特點以及嵌入式系統從業人員的職業崗位出發,探討了嵌入式系統課程體系和實踐體系的構建,并針對計算機專業實驗教學提出了一種教學結構。通過本文的探討試圖為解決嵌入式課程規范化做出應有貢獻,從而加快嵌入式系統開發人員培養,解決市場人才短板而有所作為。
摘要:隨著電子技術的發展,嵌入式技術成為當今信息技術發展的主流技術。本文分析目前高職嵌入式專業建設存在的主要問題,結合當地區域經濟的發展,從專業人才培養目標,課程體系建設,教師隊伍建設等主要方面,探索了嵌入式系統應用技術人才培養的新思路。
關鍵詞:嵌入式系統;專業建設;師資建設
中圖分類號:G642
文獻標識碼:B
1引言
隨著后PC時代的來臨,技術的飛速進步及市場對高端智能產品的日益需求,從而使嵌入式系統的應用進一步專業化,走上了獨立的發展道路,經歷了SCM、MCU、SOC三大階段,形成了多種應用模式。特別是隨著消費家電的智能化,以及未來3G網絡全面鋪開,嵌入式更顯重要,將產生巨大的嵌入式技術人才需求。在未來相當長的時間內,嵌入式人才都將是企業爭奪的目標。因此,教育部、各省教育主管部門都高度重視嵌入式系統人才的培養。各高校以及高職院校也相繼開設了嵌入式專業。
蘇州是全國科技產業高度發達的地區之一,東有新加坡工業園區,西有蘇州高新區,南北的吳中工業區及湘城工業區正迅速發展,在蘇州與計算機、電子產品相關的企業有上千家之多。我校為了順應社會對人才的需求,同時考慮了自身教學條件的一些優勢,于2006年開設計算機應用(嵌入式系統應用技術方向)專業,為蘇州培養出更多的嵌入式高級技術應用人才。
2高職院校嵌入式專業人才培養現狀
嵌入式系統是軟硬結合的電子設備,其所涉及的專業知識涵蓋了計算機、電子、通信、控制等多個領域,嵌入式專業課程的知識點多,涉及面廣,課程新穎,難度大。我校在4年的嵌入式系統專業建設發展過程中逐漸呈現出一些不成熟的地方,其中有以下四個方面的主要問題:
(1) 生源問題
嵌入式專業是一門門檻較高的專業,是一個軟硬件結合的綜合性、創新性專業。嵌入式專業課程的知識點多,涉及面廣,課程新穎,難度大,所以需要學生的數理化的基礎較好。然而,我校屬于高職院校為第三批次招生單位,該專業為文理兼收。我校嵌入式系統應用技術專業近三年的生源情況如表1所示。
調查結果表明:大部分學生在入校前根本不知道嵌入式系統的概念,所以很多學根本沒有主動選擇該專業,基本上是被動和調劑到該專業,對該專業沒有興趣,文科學生占有很大的比例。導致學生今后的學習能力差,理科基礎薄弱,主動性不高,其在基礎理論知識的認知能力上有著明顯的差距。同時嵌入式專業招生人數持續下降。因此,建立穩定的、高質量的生源是嵌入式系統專業辦學成功的先決條件。
(2) 師資問題
目前我校嵌入式系統專業教師主要有4名,其中2位是嵌入式專業畢業的研究生,2位為原計算機應用專業的教師。雖然老師的教學認真負責,但他們都缺乏大量工程科研經驗,無法深入理解嵌入式專業,無法把知識講活、講透,無法達到最佳的教學效果。因此,師資力量的不足,必然會引起學科與課程建設的落后,同時也降低了對學生的吸引力和影響力,為嵌入式系統專業教學工作帶來了極大困難。
(3) 專業定位問題
國內高校對嵌入式人才培養主要分三個層次:研究生層次、本科生層次及高職層次。而近兩年,一些高職院校也開始進行了嵌入式技術人才的培養。由于缺乏充分的市場調研和嚴格的科學論證,對高職院校的嵌入式系統應用
專業的定位還在摸索中。我們在借鑒其他高校的培養目標的基礎上制定高職嵌入式系統專業的培養目標,充其只是高校的壓縮版。
(4) 課程設置問題
嵌入式本身就是一門交叉型學科,其課程的設計、為培養目標服務的專業設置、課程開發、教材選用與編寫等各個環節都會處于動態之中。所以,在4年的嵌入式系統專業建設中,我們不斷修訂教學計劃,進行課程改革。確定了嵌入式Java、單片機原理與應用、嵌入式系統結構與應用基礎、嵌入式系統結構與應用基礎、嵌入式系統開發與應用、手持移動設備開發(Java)等課程為專業核心課,同時修訂教學大綱。但是,我校的嵌入式系統人才培養方案有著明顯的普通高等學校教學計劃的印記,很難充分把握專業人才的培養規格,就業崗位的定位,以及課程內容的設計,對職業實踐能力、職業素養等的培養重視不夠,且沒有適合高職院校嵌入式專業教學的相關教材。所以,這樣的培養體系,無論是從質還是量上,都無法滿足社會對于嵌入式人才的需求。
嵌入式專業的蓬勃發展驗證了嵌入式人才不足的市場需求。而我校嵌入式專業學生的就業情況并不樂觀,真正做到專業對口更是鳳毛麟角。為此, 如何培養出與蘇州、江蘇、上海等長三角地區經濟需求相適合的高技能嵌入式系統應用技術人才,探討本地特色的計算機嵌入式系統專業建設顯得尤為必要。
3高職嵌入式專業建設的對策
眾所周知嵌入式專業課程的知識點多,涉及面廣,課程新穎,難度大,而且面對教學對象是高職學生,如何將嵌入式專業建設好,我認為只有量體裁衣,因材施教。而高職嵌入式專業建設中,應本著“應用技能為主,理論知識夠用”的專業建設思路,必須注意考核方法的科學性和易操作性。
3.1高職嵌入式專業的定位
高職總目標是:通過富有特色的課程,才能創造出生機和活力,做到理論以“夠用”為度,重在應用性技術訓練,達到復合型人才培養的目標。嵌入式開發分為兩個方向,一是搞硬件設計,有時開發一些與硬件關系最密切的底層驅動程序(如BootLoader)、最初級的硬件驅動程序等。二是搞軟件設計,從事嵌入式操作系統和軟件的開發。因此,根據高職高專人才培養的目標,在專業對學生未來工作崗位進行調查的基礎上,確定本專業的培養規格與標準,采用“寬基礎、活模塊”式,力求做到學用一致,強化教育實踐環節,突出能力的培養,力求縮短學生就業后的磨合期,適應期,“零距離”上崗從而體現高職教育特色。打造適應本區域經濟市場和企業需求的嵌入式系統應用技能型和應用型IT人才,成為蘇州計算機嵌入式人才培養的重要基地。
3.2課程設置
通過對企業的崗位調研,結合我校“學分制”,按職業崗位流程構建模塊化專業課程結構,全面進行以人為本、以標準為鏡的課程體系的模塊化建設。對該專業的19門專業課程進行技術基礎知識、技術基礎實踐和綜合應用能力等三個方面的系統分類,以理論知識夠用,強化專業技能為原則,形成了適應嵌入式市場需要的嵌入式人才培養的“基于案例和項目的三維課程模式(3DCC)”。同時構建實驗實訓基地,強化實踐教學,引入研究性學習、案例教學等教育教學模式。并注重教材建設,構建了“以學習者為中心”的嵌入式應用技術專業的開放式教學平臺。通過這個平臺調動學生學習的積極性,強化學生對網絡知識的理解,培養學生主動學習的良好習慣,提高學生運用所學知識解決實際問題的能力。
3.3師資建設
要建設好嵌入式應用技術專業, 鍛煉一支實踐動手能力強、教學效果好的師資隊伍是關鍵。為此,我們充分利用蘇州市作為我國重要的信息技術產業基地及國家軟件外包基地的優勢,通過(1)積極引進高學歷高職稱教師;(2)聘請知名專家;(3)到企業調研交流及掛職鍛煉、到國內高校進修考察;(4)鼓勵主持或參與技術課題研究、承擔專業建設與實驗室建設任務等不斷提高教師專業水平和綜合素質。成立嵌入式硬件和嵌入式軟件兩個方向的教學與科研團隊,整合和匯聚了教育資源強勢。
3.4把好生源
建立穩定的、高質量的生源是嵌入式系統專業辦學成功的先決條件。因此,通過學校的招生網和系部網站上加強本專業的宣傳與咨詢,盡量招收理科的學生。做好新生的入學教育,仔細介紹該專業的內涵,介紹良好的學習方法,積極引導學生做好自己的職業規劃。同時,樹立以學生為本的育人觀,構建了良好的學習平臺,開展物理等課程的選修,采取老帶新的幫扶學習。通過多種方法增強學生的自信心和學習的主動性。
4總結
隨著嵌入式系統應用迅猛發展,企業對嵌入式人才需求的缺口越來越大。而嵌入式專業的特點是涉及知識面廣、綜合性強、實踐性強,并且學科發展快,學習難度大。因此,如何建設有特色的嵌入式應用技術專業?培養符合區域經濟需求的高素質應用型技術人才?給我們的專業定位、師資、課程建設帶來了很大的挑戰。我們必須不斷更新觀念,進行課程體系和教學模式改革與創新,并加強教師隊伍建設,才能培養出更多的適應社會需求的、受用人單位歡迎的。
參考文獻:
[1] 張勝洪. 高職嵌入式專業建設的思考與探索[J]. 武漢船舶職業技術學院學報,2008,7(2).
[2] 宋學麗. 關于對錫林郭勒職業學院學科專業建設若干問題的探討[J]. 錫林郭勒職業學院學報,2007(1).
論文關鍵詞:嵌入式系統;教學改革;項目式教學
隨著32位微處理器技術的發展,嵌入式系統成為當前信息技術發展的熱門技術之一。智能手機、信息家電、工業控制等諸多領域都對其產生了巨大的需求,于此同時嵌入式系統軟硬件工程師也成為了熱門的就業方向。所謂嵌入式系統即:以應用為中心、以計算機技術為基礎、軟硬件可裁剪、面向具體功能的專用計算機系統。從電子信息類學科知識體系上來看,嵌入式系統課程涵蓋了模擬電子技術、數字電子技術、C語言、微機原理和接口技術、操作系統等多門課程的基礎內容。目前國內很多高校都在電子信息工程、通信工程、自動化、計算機、軟件工程等諸多本科專業以及相應的研究生專業課程中開設了以32位微處理器為核心的“嵌入式系統”課程。由于“嵌入式系統”這門課程知識內容多、綜合性強、對學生動手實踐能力要求高等特點,它的教學也就帶來了困難和挑戰。
一、嵌入式系統的教學與實驗內容
嵌入式系統的教學通常以32位微處理器為平臺,32位的微處理器主要有ARM、MIPS、POWRPC等。目前國內的大多數高校都是以介紹ARM微處理器為主,教學的內容主要包括ARM微處理器內核的介紹、ARM的匯編指令和匯編程序設計、芯片的片內外設及接口技術、嵌入式系統的C語言設計和嵌入式操作系統等內容。
在試驗內容的安排上,通常包括ARM匯編語言的程序設計、無操作系統的片內外設的C語言程序驅動設計、BootLoader的移植、嵌入式操作系統內核的移植、UCOS II、LINUX、WINCE等嵌入式操作系統下的C語言驅動程序設計和應用程序設計等。
以上的理論和試驗教學內容根據不同的專業,課程的側重點也不相同,課程的理論學時大約在30學時到60學時之間。另外,有的高校把嵌入式系統課程作為一個本科的一個專業方向,相應的學時內容就要更多。
二、嵌入式系統課程的特點
“嵌入式系統”作為電氣信息類等本科學生的專業課程,具有知識內容綜合、動手實踐性強等特點。在前期的課程當中,學生已經學習過“C語言程序設計”、“微機原理”等課程。教學過程中,“嵌入式系統”這門課程最主要的教學目標就是讓學生能夠通過所學的知識以及所掌握的嵌入式系統開發的工具解決一個具體的實際問題。但是在教學的過程中筆者發現,僅靠課堂的理論與實踐教學,達到這一目標還有一定距離。單純的理論教學只能使學生被動地接受部分知識,達不到培養學生動手實踐的能力。為了使學生能夠學以致用,還要用實踐來促進理論的學習。“嵌入式系統”課程最主要的學習手段就是多動手、多實踐。
根據“嵌入式系統”課程的教學內容以及筆者的教學經歷,發現該課程的教學過程中需要注意以下幾個方面:第一,教學目標以應用為導向培養學生的工程實踐意識。作為電類的工科學生,除了在課堂上學習知識,還要樹立培養工程實踐的精神。尤其是像“嵌入式系統”這樣的綜合性專業課程。第二,在教學內容上應以學科知識的綜合作為基礎,進而建立知識體系。“嵌入式系統”課程不單單是講述一種微處理器或者是微控制器的架構,學生在這門課程中學到的更多的是一種借助于所掌握的嵌入式系統工具來解決問題的一種能力。這種能力在“嵌入式系統”課程中往往體現的是電子系統硬件設計和程序設計的能力。第三,在教學過程中以團隊作為教學合作單位,培養學生的團隊合作意識。“嵌入式系統”本身就涵蓋了很多知識,它兼顧軟、硬件兩方面的內容,和很多的專業課程融合在一起,具有很強的學科綜合性。每名學生都不可能把所有的內容都掌握,所以在學生的學習過程中,以小組團隊為單位,共同去學習,更能激發學生的學習興趣。
轉貼于
三、嵌入式系統教學手段改革
1.教學過程中發現的問題
筆者剛開始講述“嵌入式系統”課程時,由于并沒有太多的經驗,還是依照課堂理論、課下試驗的傳統教學方式。但是隨著教學的深入,發現這種教學過程中存在很多問題。
(1)課程內容涉及面廣,知識內容多。筆者課堂上講解的是以三星公司的S3C2410這款ARM9微處理器芯片,既要介紹ARM9芯片內核上的東西,比如ARM處理器的工作模式、存儲格式、異常、通用寄存器等,又要結合S3C2410講解芯片的片上資源,如定時器、A/D等,同時還要介紹嵌入式系統的硬件設計、匯編程序設計、操作系統等等。在有限的課時內,很多內容只能淺顯地介紹。一個學期下來,一部分學生看上去了解了嵌入式系統的許多內容,但是一到具體的應用實際就會發現還欠缺很多知識和技能。
(2)傳統的以教師為核心的課堂上,在講解這門綜合性實踐性很強的課程時,很多學生都是被動接受知識。學習一段時間后,由于學術缺乏學習的主動性,也就漸漸失去了興趣。
(3)在相對較短的試驗課程內,學生需要熟悉開發的軟硬件環境,如開發工具、試驗箱上的硬件原理圖等,還要了解試驗內容,看懂芯片手冊,讀懂試驗例程代碼,并能在已有代碼的基礎上進行相應地修改以及添加自己的代碼。在這期間,學生自主的實踐動手能力得不到充分地鍛煉,某種程度上也就僅僅是熟練了一種開發工具而已。一學期下來,離教學目標還有很大距離。
2.基于項目應用的嵌入式系統教學改革
筆者在總結分析上述問題的基礎之上,逐步對課堂教學進行改革。把項目應用的教學理念逐步引入到課堂當中。所謂的項目教學法是通過實施一個完整的項目而進行的教學活動,其目的是在課堂教學中把理論與實踐教學有機地結合起來,培養學生利用所學知識解決實際問題的能力。由于“嵌入式系統”課程普遍開設在本科的大三和大四階段或者是研究生階段,學生已經掌握了多數的專業基礎知識,所以可以在“嵌入式系統”的前期授課中布置課程作業論文,同時課程設計的內容可以讓學生結合自己的興趣愛好自行擬訂,老師不再強制給出具體的題目,而是給出參考題目。學生在已有的專業知識基礎上,選擇一個自己感興趣的題目作為本學期的課程論文來完成。這樣學生會帶著自己的問題在新學期開始就要深入了解課程的內容,同時課下查詢相關的資料,這比課堂被動地接受知識更能培養學生的學習能力。比如,有的學生選擇了利用ARM實現簡易示波器的題目,這就需要他們課下學習有關數字示波器的知識,并且要設計圍繞以ARM處理器為控制核心的電路、設計程序流程、調試等諸多知識。學生帶著這樣的問題去學習嵌入式系統課程,一是明確了嵌入式系統的以應用為核心的本質,二是可以對所學的知識進行綜合應用。同時,課堂上老師的角色也從傳統的講授者轉變成學生解決問題的合作者,雖然老師不能對學生所選擇的每一個題目都很熟悉,但是卻可以在與學生的討論過程中幫助學生理清設計思路,完成設計目標。同時在對學生成績考核時也不再只是看試卷的分數,而是由學生最終完成的論文以及演示的成品作為最終的成績考核。
這種基于項目應用的教學方法強調以學生為學習認知的主體,目的就在于激發學生的學習積極性,促進學生在工程實踐中培養提出問題、解決問題的能力。在“嵌入式系統”的教學過程中,師生共同討論問題,教師的職責也悄然地發生了變化,教師成為幫助學生學習的管理者和指導者。學生在課程論文的實踐中加深了對嵌入式系統概念的理解,掌握嵌入式系統的設計方法和開發過程,培養了利用嵌入式系統工具解決具體應用問題的能力。
四、教學效果
關鍵詞:嵌入式系統;ARM;處理器;指令集
中圖分類號:TP316;G642 文獻標識碼:A doi:10.3969/j.issn.1672-4305.2016.02.036
隨著CPU及周邊配套器件在功耗、計算能力和體積性能的不斷提升,嵌入式系統的應用越來越廣,可以說:嵌入式系統已經深入地嵌入到人們的生產、生活的各個方面,發揮著難以替代的作用。因此,各個行業都急需嵌入式產品的設計和開發人才。國內各高校面向弱電專業研究生都開設了“嵌入式系統”或“嵌入式系統設計”課程,期望能夠培養出具有較強動手能力的嵌入式系統開發人才。但事實的效果是:(1)學生在學習之后,并不能對嵌入式系統有一個較為完整的認識。具體體現在:不能根據實際項目需求進行合理選型和自主設計,往往只能照搬照抄參考認識,創新能力不足。(2)學生對嵌入式系統類別認識不正確,對ARM處理器的指令系統的認識浮于表面。(3)不能達到軟硬件兼通的水平,開發能力基本都停留在嵌入式軟件開發層面,不能從軟硬件協同的角度考慮問題的原因,在調試不順利時,往往束手無策。找到出現這種問題的根源,并有針對性地對課程內容和授課方式方法進行修正,是目前“嵌入式系統設計”課程急需解決的問題。中國石油大學(北京)計算機科學與技術系對這個問題進行了初步的調查、研究和總結,并對課程內容和授課方式進行了較大幅度的調整。主要的措施是采取課程設計驅動式的教學方式。具體為:(1)雖然用ARM處理器做實驗開發,但并不直接把ARM處理器作為主要內容進行灌輸式授課,而是先讓學生花費22個課時的時間在實驗室設計一個8指令的32位簡易型MIPS處理器。(2)在處理器設計結束后,通過梳理設計中存在的問題,讓學生認識到ARM處理器存在的弊端和優勢,以及可以改進和發揮的地方,啟發學生客觀看待ARM處理器。(3)再花4個課時迅速介紹一下ARM處理器指令系統的使用,通過兩個小實驗讓學生嘗試裸機編程調試過程,體驗其不便性。(4)最后的4個課時介紹嵌入式系統的開發工具鏈,讓學生體驗嵌入式開發的便利。實際效果發現:(1)在課程授課期間,學生不僅對嵌入式系統的總體宏觀結構和開發流程有了較為深入的認識,而且動手能力有了很大的提高。(2)在課程結束以后,學生對課程關聯內容發生了濃厚的興趣,對課程的延展內容進行自主學習。充分表明了課程改革的有效性。
1調研與思考
經過對國內主要高校的“嵌入式系統設計”課程內容開設情況進行調研后發現:課程授課普遍存在著廣度不足和深度不足兩方面的問題。廣度不足的問題主要體現在課程授課內容方面,目前“嵌入式系統設計”課程都是ARM9系統開發,嵌入式操作系統基本上為ucos或Linux[1]。課程首先介紹ARM9處理器的指令系統,然后介紹嵌入式操作系統,以及在其上的基于C語言的系統開發。課程并沒有對嵌入式系統的多種實現方式、實現途徑進行介紹,這帶來了一定的負面效應。首先,很多學生都誤認為:嵌入式系統就是以ARM處理器芯片為核心的軟硬件系統,離了ARM處理器就不能做嵌入式產品。深度不足的問題主要體現在授課方式上。由于采用灌輸式教育,學生只能被動地接收對ARM處理器各種溢美之詞的介紹,把ARM處理器奉為經典,不敢質疑,不能正確認識某些性能指標的真正含義與優缺點。這樣限制了他們今后在實踐過程中的創新能力。對這兩個問題的深入思索后發現:首先,雖然ARM9處理器芯片堪稱經典,但畢竟已經是幾十年前的產品,開發工具鏈也很陳舊,開發調試周期偏長,已經不能反映嵌入式系統開發的最新進展,滿足不了快速開發的需要。其次,“嵌入式系統”課程教學方法仍以“是什么”為主,即告訴學生ARM9處理器的指令是什么,怎么用,而對于“為什么”則基本沒有涉及。在這樣的教學內容和教學方式下,學生往往也只對某種CPU的使用有一些膚淺認識。對于本科生來說,這樣的結果可以接受,但對于碩士生來說,這樣的結果并不令人滿意。第三,嵌入式系統教學普遍存在著“重軟輕硬”的問題,這種現象尤其在使用實驗箱進行課程實驗時體現得更為明顯[2]。課程實驗中教師往往讓學生去找軟件中的錯誤,但對于硬件信號上的問題則基本不涉及,學生缺乏對系統的整體認識[3]。客觀地說,盡管ARM芯片堪稱經典,其內容是嵌入式系統課程教學的必要內容,但研究生“嵌入式系統設計”課程教學的目的不僅僅在于讓學生掌握基于ARM9處理器的嵌入式產品設計技術和配套工具,而且讓學生站到一個更為客觀的角度認識到ARM9的性能指標的必然性和限制性。在今后一定的工作條件的激發下,可以從根本上進行創新。
2實施過程與效果
基于這樣的認識,顯然首先要讓學生認識到ARM處理器的優缺點,打破學生對其認識上的神秘感。具體的思路是:首先快速設計一個類ARM9的處理器,這樣讓學生從根本上理解什么是指令系統,以及指令系統的重要性。再通過適度分析設計上的問題,介紹可以改進之處,啟發學生對處理器主要指標進行深度理解。在其后,只需流水性地介紹一下ARM9的指令系統即可,因為通過CPU的設計,學生已經完全明白了指令系統的用途、分類、使用等一系列問題。最后適度介紹一下嵌入式操作系統與應用程序的開發流程,并布置兩個開發實例輔助進行適度理解即可。在中國計算機學會和北京航空航天大學計算機學院的幫助下[4-5],課程引入了一個簡易的支持9指令MIPS處理器的設計。這9條指令具體為:LD、SW、ADDU、SUBU、ORI、LUI、AND、JAL、BEQ,基本涵蓋了MIPS的典型指令。其典型結構如圖1所示。為將重點放在指令集的設計方面,同時也為了加快設計速度和降低設計復雜度,事先對主要的模塊代碼進行了實現,而把課程設計的任務集中在讓學生實現上述9條指令上。為了突出嵌入式系統的低功耗的特點,也對代碼做了一些粗糙的功耗控制,適度突出了其在低功耗控制方面的優化。由于實驗對象是計算機專業的碩士生,他們對課程設計所使用的Verilog語言不甚了解,因此使用8個課時簡要介紹了Verilog語言語法與系統實現方法,隨后用6個課時介紹了簡易型MIPS處理器的數據通路與控制通路的設計思想。明確了設計任務后,專門留出6個學時的時間,讓大家在實驗室里集中進行邊設計邊討論。才開始的時候,絕大多數學生覺得任務很重,壓力很大。在教師的要求和督促下,學生開始讀實驗代碼。在一次集中實驗以后,有一半的學生認為已經搞清楚了具體的設計任務,知道該怎么去實現。第二次集中實驗的時候,一部分學生已經開始問一些非常具體的設計問題了,還有一部分學生主動要求老師再簡要地把數據通路和控制通路的設計思路再說一遍,這說明他們已經在開始主動思考代碼的結構了。這時,他們對數據通路和控制通路的理解已經遠遠超越授課時的水準。課程設計結束時,有70%的學生基本完成了設計任務,剩余的學生雖然沒有完成,但自認為對處理器和指令集的認識是非常清楚的。緊隨其后,課程的內容又回到了ARM指令集,這時只需花4個課時簡要介紹一下ARM指令系統的分類和典型指令就可以了。由于前面的處理器設計過程的訓練,學生很快掌握了這部分內容。接著,再加上4個課時在ARM9實驗箱上的匯編語言和C語言實驗,學生們基本掌握了裸機上的開發過程。最后,又介紹了基于Uboot和嵌入式Linux基礎上的開發過程,讓學生體驗到在嵌入式操作系統的基礎上做系統開發的便利性[6-7]。通過事后與學生的交流,大家普遍都認為處理器設計的課程設計非常重要,正是那一步使得學生不再對處理器感到神秘,對指令集有了更為客觀的理解。對于后續的開發平臺,雖然并沒有細節的課堂講述,但學生完全明白出現這種設計流程的必要性,普遍認為只要適當自學即可掌握。大家比較普遍地認同這種課程設計驅動式的教學方式[8-10]。
3結語
從本次教學改革的效果來看,相對于“灌輸式”的教學方式,“啟發式”的教學方式效果更好,但這需要學生的積極主動配合。對于研究生來說,雖然他們都具有一定的學習自覺性和主動性,但這種主動性也需要教師的嚴格監督才能發揮作用。研究生課程內容并不在于授課內容的多少,而主要在于如何引導他們積極主動思考。從深處入手,而不是直接從內容入手,雖然開始時會遇到較大的困難,但一旦這個困難解決,對教學內容的理解則會非常順利,有點類似于“磨刀不誤砍柴工”。對于教師來說,找到這把鋒利的“刀”,并且督促學生去“磨”,是一件至關重要的事情。
參考文獻(References):
[1]冀常鵬,馬飛,徐維.項目驅動的嵌入式系統教學改革[J].電子電氣教學學報,2011,33(6):26-27.
[2]李偉,門佳.嵌入式系統實驗教學方法研究[J].青島職業技術學院學報,2014,27(1):45-47.
[3]李社蕾,劉小飛,楊婷婷.嵌入式課程創新實驗項目設計[J].實驗室科學,2015,18(1):72-74.
[4]高小鵬.計算機專業系統能力培養的技術途徑[J].中國大學教學,2014(8):53-58.
[5]牛建偉,張炯.北京航空航天大學嵌入式系統課程建設[J].計算機教育,2008(7):64-65.
[6]李文生,鄧春健,呂燚.案例驅動的嵌入式系統教學改革探索[J]計算機教育,2011(2):22-25.
[7]吳建寧.面向實踐教學的“嵌入式系統”課程體系構建與探索[J].實驗室科學,2014,17(6):184-186.
[8]郭宏,胡威.計算機專業《嵌入式系統》課程體系建設的探索[J].現代計算機,2013(6):44-47.
[9]潘登,陳啟軍.面向卓越人才培養的嵌入式系統教學改革[J].計算機教育,2013(13):1-5.
關鍵詞:嵌入式系統;計算機科學與技術專業;操作系統;教學
1背景
在《高等學校計算機科學與技術專業核心課程教學實施方案》里,操作系統的課程性質定義為:本課程是計算機科學與技術專業學生必須學習和掌握的一門理論性和實踐性并重的核心主干課程和專業基礎課程[1]273。
在嵌入式系統行業內有一個被普遍接受的定義:嵌入式系統是以應用為中心,以計算機技術為基礎,并且軟硬件可裁剪,適用于應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統[2]1。在經濟發達國家,每個家庭平均擁有255個嵌入式系統,如每輛汽車平均裝有35個嵌入式系統。嵌入式系統的應用廣泛進入到工業、軍事、宇宙、通信、運輸、金融、醫療、氣象、農業等眾多領域[2]1。在上海雙實科技公司及中國計算機學會微機專業委員會等單位聯合舉辦的首屆上海“實時實用嵌入式技術論壇”上,中國工程院院士許居衍表示,嵌入式技術是中國廠商從“中國制造”向“中國創造”轉變的最佳契機。嵌入式系統的廣泛應用,使得嵌入式人才十分匱乏。2009年,信息產業部國家信息技術緊缺人才培養工程(NITE)嵌入式方向培訓認證項目在京全面啟動。
嵌入式技術與應用領域關系密切,不能獨立成為一個本科專業[3],從事嵌入式工程相關的人才必然有一大部分來自于計算機科學與技術專業;再者,嵌入
式系統與操作系統緊密聯系,勢必要求我們思考計算機科學與技術專業的操作系統課程教學方法,以便更好地培養適應社會需要的人才。
為了避免歧義,我們先作說明。這里分析嵌入式技術與操作系統課程的關系,不只是因為操作系統是嵌入式系統相關課程的先修課,更是因為嵌入式技術是正在興起的產業;同時,與操作系統的其他后續課程(如數據庫原理、計算機網絡)相比,嵌入式系統最大的特殊性體現在它本身就是一個特殊的計算機系統,是學生用來理解通用計算機系統的一個視角。
2嵌入式技術帶來的啟示
嵌入式系統是一類特殊的計算機系統[2]1。計算機系統由硬件系統和軟件系統組成,其中操作系統是最重要的軟件。分析嵌入式系統和嵌入式開發過程的特點有助于我們更好地思考操作系統課程教學。
2.1嵌入式系統
嵌入式系統通常具有功耗低、體積小、集成度高等特點,對軟件代碼尤其要求高質量、高可靠性。嵌入式操作系統不僅具有普通操作系統的一般功能,同時,它還在系統實時性、硬件依賴性、軟件固化性以及應用專用性等方面,具有更加鮮明的特點[2]2。
在計算機系統上配置操作系統的主要目標,與計算機系統的規模有關[4]。因此,在操作系統教學組織
上,針對大、中型計算機系統和微機系統分析操作系統的目標和作用時,也有必要針對嵌入式系統的特點分析操作系統的目標和作用。
2.2嵌入式系統的開發過程
由嵌入式系統本身的性質所影響,嵌入式系統開發過程與通用系統的開發有很大的區別。嵌入式系統的開發主要分為系統總體開發、嵌入式硬件開發和嵌入式軟件開發3大部分。在系統總體開發中,開發環境的選擇對于嵌入式系統的開發有很大的影響。這里的開發環境包括嵌入式操作系統的選擇以及開發工具的選擇等[5]13-14。
隨著嵌入式相關概念為大家所接受,對嵌入式系統開發過程特點的分析,給了我們思考操作系統的新角度。比如,嵌入式工程師會根據開發成本或進度限制而選擇不同的操作系統,也會因為開發工具方便使用而選擇某個操作系統。因此,教學過程中,不同操作系統之間的對比多了一些評價標準。
2.3嵌入式系統相關課程的教學實踐
我院目前開設了嵌入式Linux和嵌入式系統兩門選修課,操作系統是它們的先修課之一。圍繞操作系統關系密切的問題,接下來從教師的教學難點、學生的選課目的和學習難點3個方面對嵌入式Linux和嵌入式系統教學實踐進行總結分析。
開發環境的搭建與Linux內核的移植是教學中的一個難點。原因是在這個過程中,操作系統既是完成項目的支持工具(在宿主機上的操作系統),也是項目的最終模塊之一(在目標機上的操作系統)。
選修這些課程的學生具有濃厚的學習興趣,因為他們意識到嵌入式人才緊缺,掌握嵌入式技術將為他們拓寬就業渠道。操作系統作為嵌入式課程的先修課,應該更多地從培養應用型人才的角度來組織教學。
嵌入式應用軟件開發是學習的一個難點。難度主要來自于:操作系統的實踐教學內容與嵌入式課程的實踐教學內容跨度太大。
3操作系統課程教學探討
操作系統課程具有理論與實踐并重、系統與模塊并重、設計與應用并重和內容廣泛且知識更新快等特點[1]273。操作系統課程教學方法有多種。常見的有,研究型和啟發式課堂教學,閱讀與剖析源程序片段,開展課外研究與創新型實驗等。教學實施方案和教學內容組織要根據人才培養目標而制定。計算機專業規范提出3種類型:科學型、工程型和應用型。在操作系統領域,對科學型、工程型和應用型3個認知層次有不同要求[1]273-277。當著眼于嵌入式發展時,對操作系統課程的教學目標、教學方法和教學內容有了新的思考。
3.1本文探討的出發點
有兩個原因,使我們覺得有必要進行操作系統課程教學反思。
首先,立足于嵌入式技術的特點,可以更好地理解操作系統課程的知識點。嵌入式系統種類繁多、形態各異,嵌入式產品隨處可見。借助于嵌入式產品來講解操作系統抽象的概念,可以更好地開展教學工作。
其次,嵌入式系統開發與通用計算機軟件開發需要的知識結構不一樣――這里主要針對操作系統課程里的知識點。一般來說,在計算機軟件工程師眼里,操作系統是一個提供一系列系統調用(或API)的基礎性軟件;然而,在嵌入式工程師看來,操作系統不僅僅有這個特點,它更是一個需要根據具體硬件平臺和應用需求來進行剪裁的軟件。
3.2教學目標
操作系統課程是培養學生的計算思維能力、算法設計與分析能力、程序設計與實踐能力,以及計算機軟硬件系統的認知、分析、設計與應用能力的重要課程[1]274。不同的培養目標,對同一門課程的學習重點不一樣。
表1是教育部高等學校計算機科學與技術教學指導委員會在操作系統領域,對科學型、工程型和應用型認知層次的不同要求[1]273。嵌入式技術的快速發展,使得應用型人才顯得十分欠缺;這就要求在教學過程中,得更多地側重應用型人才的培養,并根據這個目標進行教學實踐。
3.3教學方法
隨著計算機在眾多領域得到廣泛應用,操作系統也正在以驚人的速度發展。然而,操作系統的基本概念仍然是比較清晰的。這是本文討論操作系統教學內容的基礎。本文的探討不是對操作系統教學內容進行大幅度的增加或減少,而是仍然圍繞操作系統的基本概念,根據教學的需要,對教學內容的側重稍作變化。
操作系統的基本知識塊一般包括以下幾點:操作系統運行環境、處理器管理、進程同步與死鎖、存儲器管理、設備管理、文件管理、安全與保護、實例研究。
教師在指導學生理清以上知識點,掌握知識點間的內在聯系的同時,可側重講解以下內容,讓學生明白:操作系統(比如說處理器管理) 中提到的方法,并不是一成不變的――它有應用前提、它的參數可變化(增加參數、或者改變對參數訪問的權限等):
1) 嵌入式操作系統使用的是任務控制塊(簡稱TCB),通用操作系統使用的是進程控制塊(簡稱PCB),TCB對比PCB增加了時間控制參數。
2) 在進程調度上,嵌入式操作系統一般用的是靜態調度表,它的優先級可以是固定的,也可以是動態的,而且原則上用戶不能改變優先級。通用操作系統中基于優先級的調度,用戶可以改變優先級;除此之外,還有先來先服務、時間片輪轉等多種調度方式。
3) 嵌入式操作系統多數中斷處理轉化為周期性查詢任務;執行次序由統一考慮的優先級決定。通用操作系統的中斷處理優先于任務執行。
對操作系統 5 大功能模塊的講解,是操作系統課程的重要內容。在理清各功能模塊的關系方面,需要把通用操作系統與嵌入式操作系統的區別講解清楚:與通用操作系統對比,嵌入式操作系統中與硬件相關的驅動部分由用戶開發;嵌入式操作系統的文件管理、電源管理、網絡等是作為嵌入式操作系統的擴展組件,不是必須的;嵌入式操作系統強調的是內核。
由此可見,嵌入式操作系統從另一個視角來理解操作系統的作用和意義。
進一步地,在操作系統課程教學上,我們也在嘗試作如下調整:
1) 突出“操作系統運行環境”內容,尤其是中斷、時鐘管理;
2) 不僅從“照顧短作業或長作業”、“提高系統吞吐率”和“合理的響應時間”角度來考察“進程調度算法”的優劣,也需要從“實時性”角度來考察;
3) 將“設備驅動程序編寫”作為“設備管理”的課外作業;
4) “實例研究”適當介紹常見的嵌入式操作系統。
在教學上,我們更多地采用Linux作為實例(主要由于Linux是個開源軟件、參考書也多,學生容易自學),偶爾也與Windows系列作對比。操作系統課程的實驗平臺是Linux(Redflag 6.0),各個知識點的授課中也適當提到Linux系統中各個功能的實現,鼓勵學生自學相關內容。另外,我院的嵌入式實驗室、基于嵌入式開發平臺的大學生創新型項目也可以為學生的課外學習、實踐提供一定的條件。
課堂布置的作業,有兩種形式,一種是需要學生提交學習報告,另外一種是提交代碼。在這里,以兩個與嵌入式操作系統相關的作業為例,以便拋磚引玉。
了解“嵌入式操作系統定制”,并完成相應的學習報告;針對班級學生的總體情況,如果整體基礎較好可以在授課初布置,否則可以在課程快結束時布置。
可移植嵌入式文件系統設計與實現,或者了解嵌入式文件系統的移植過程;針對班級學生能力水平而定,在文件系統這個章節授課結束后布置。
4結語
操作系統是計算機科學與技術專業核心課程,充分重視操作系統課程教學毋庸置疑,但我們也認識
到:操作系統的應用領域不斷擴大,操作系統課程在不斷發展;另外,社會在不斷發展,人才需求情況也是不斷變化,這對這門課程的教學也提出新的要求。因此,操作系統課程的教學改革需要不斷進行。著眼嵌入式發展,是對操作系統教學方法進行探索的一個視角。教學是一個實踐的過程,面對的情況,采取的方法也不完全一樣。不妥之處,懇請指正。
參考文獻:
[1] 教育部高等學校計算機科學與技術教學指導委員會. 高等學校計算機科學與技術專業核心課程教學實施方案[M]. 北京:高等教育出版社,2009.
[2] 趙蒼明. 嵌入式Linux應用開發教程[M]. 北京:人民郵電出版社,2009.
[3] 蔣川群. 本科嵌入式方向應用型技術人才培養方案探討[R]. 成都:2009計算機專業課程改革論壇,2009-10-25.
[4] 湯小丹,梁紅兵,哲鳳屏,等. 計算機操作系統[M]. 西安:西安電子科技大學出版社,2009:1.
[5] Peter Baer Galvin. 操作系統[M]. 鄭扣根,譯. 北京:高等教育出版社,2010:1-3.
New Revelations to the Course Arrangement of Operating System Brought by Embedded Technology
LIN Yao-hai, CHENG Li, SUN Qi-yan
(Department of Computer Science and Technology, Fujian Agriculture and Forest University, Fuzhou 350002,China)
關鍵詞:嵌入式系統;嵌入式微控制器;理論教學;實踐教學;教學模式
隨著科技發展和社會需求的推動,信息技術進入到以嵌入式系統為代表的后PC時代,嵌入式技術已經成為21世紀最有生命力的高新技術之一,培養精通嵌入式技術的人才成為世界各國計算機教育工作的重點。
嵌入式微控制器是嵌入式系統的核心控制單元,開展嵌入式微控制器教學是嵌入式系統教育的關鍵組成部分。美國IEEE和ACM兩大學術組織于2004年的計算機工程教學計劃(Computer Engineering 2004,簡稱CE2004),明確規定了嵌入式系統課程中應包含的嵌入式微控制器的具體教學內容Ⅲ。事實上,從早期的單片機類課程,到如今基于32位ARM嵌入式處理器系統的相關課程,都是圍繞嵌入式微控制器開展教學工作的,在世界各大高校都受到高度重視。
工程管理與信息技術學院是中科院研究生院的二級學院,主要培養軟件工程、計算機技術、電子與通信工程、控制工程等領域的工程碩士研究生。學院從2003年開始開設嵌入式系統工程專業,經過幾年的努力,逐步建立起系統的嵌入式方向課程體系。嵌入式微控制器原理與應用作為其中一門核心課程,在該課程體系中占有重要的地位。下面從教學目標、教學模式、教學內容、實踐教學、考核方式等幾方面對該課程進行詳細闡述,并在最后討論課程的實施效果和改進方向。
1 課程教學目標和教學模式
1.1教學目標的制訂
嵌入式微控制器原理與應用課程主要教學對象是軟件工程、計算機技術、電子與通信工程、控制工程等專業的工程碩士。與傳統的工學碩士相比,工程碩士培養更加注重鍛煉其工程實踐和解決實際工程問題的能力,這要求教師既要講解基礎理論知識,又要將理論與實踐結合,圍繞具體工程問題開展教學內容。此外,中科院工程碩士的學生生源具有本科專業跨度大、工作經歷和素質能力差異大等特點。為適應這一特點,我們在制訂課程教學目標時要統籌兼顧,對于基礎較差的同學和經驗豐富的同學要差別對待,制訂差異化的教學目標。
在充分考慮上述因素的基礎上,嵌入式微控制器原理與應用課程的教學目標制訂為:學生通過本課程的學習,掌握一種嵌入式處理器體系結構,精通1-2種基于該體系結構的嵌入式微控制器及其接口設計技術,深刻理解嵌入式軟件開發流程,能夠熟練地選擇、使用嵌入式軟件和工具完成嵌入式硬件系統的驅動和應用軟件設計。
教師在實施上述教學目標時,對于基礎較差的學生要求精通一種嵌入式微控制器即可;對經驗豐富的學生則要求在課程學習的基礎上,用對比學習的方法自主學習另外一種嵌入式微控制器。該教學目標體現了對學生的區別對待,能滿足不同層次學生的需求。教學目標沒有對硬件電路設計作太多要求,符合中科院嵌入式系統方向工程碩士研究生的生源特點和實際需求。教學目標中“能夠熟練選擇、使用嵌入式軟件和工具完成嵌入式硬件系統的驅動和應用軟件設計”是一種能力要求,體現了對工程設計能力的重視,符合工程碩士培養目標。
1.2教學模式的設計
國內各大高校在嵌入式系統相關課程的教學工作上已經進行了大量有益的探索和實踐,在教學模式上也已經基本達成共識,即嵌入式系統教學應該采取理論教學和實踐教學相結合的教學模式。
我們在開展嵌入式微控制器原理與應用課程的教學工作時,采取了“課堂理論講解、課堂實驗練習、綜合實驗設計、工程項目設計和多層次考核”的教學模式。與大多數高校課堂實驗采取觀察性和驗證性實驗不同,本課程課堂實驗則采取設計性實驗,每一個實驗都是一個小型的開發項目,需要學生靈活運用從課堂上學到的理論知識分析實驗要求,編程完成實驗項目。綜合實驗設計要求學生在完成所有基礎課堂實驗后,按照需求分析、軟件設計、實現和測試等軟件開發流程,在開發板上完成一個小型嵌入式軟件的開發。工程項目設計則是讓學生選擇一種微控制器,完成一個實際工業嵌入式產品的分析和設計報告。這3種層次的實踐環節相互結合,充分鍛煉和提高了學生的實踐能力。
2 基礎理論教學
CE2004首次將嵌入式系統作為一個知識領域納入到計算機工程知識體系中,并詳細規定嵌入式系統包含的10個知識單元以及每個知識單元包含的知識點。參考CE2004的規定,并結合本課程制定的教學目標,嵌入式微控制器原理和應用課程的理論教學內容共包括5個知識單元。
知識單元1是嵌入式系統歷史和概述。知識點包括嵌入式系統歷史、定義、組成、開發特點、設計過程、應用領域和發展趨勢等。知識單元1主要目的是使學生建立對于嵌入式系統的全方位認識,了解嵌入式系統的過去、現在和未來。
知識單元2是嵌入式處理器。知識點包括嵌入式處理器的組成、嵌入式處理器的類型(從集成程度、處理器位數、體系結構和生產公司等4個不同分類標準分別講解)、ARM處理器的發展(歷史、分類和應用)。知識單元2主要目的是使學生掌握嵌入式處理器的組成原理,充分認識嵌入式系統領域中應用處理器的多樣性,避免“只見樹木、不見森林”。
知識單元3是典型的嵌入式處理器體系結構,我們選擇ARM體系結構進行講解。主要知識點包括ARM處理器寄存器模型、ARM處理器編程模型、ARM處理器異常中斷處理、ARM處理器存儲模型、ARM處理器指令編碼和指令系統、ARM匯編語言編程、ARM匯編與C混合編程、ARM開發工具(匯編器、編譯器、連接器和調試器)。知識單元3囊括了CC2004里嵌入式微控制器、嵌入式編程和嵌入式工具等3個知識單元的多個知識點。
知識單元4是嵌入式微控制器組成及接口,我們以三星S3C2440微控制器為例進行講解。知識點包括微控制器結構、內存控制器、中斷控制器、時鐘體系、電源管理、DMA控制器以及各種外設控制器。在這些知識點中,內存控制器、中斷控制器、時鐘體系、電源管理、DMA控制器是重點講解內容,對于其他各種外設控制器主要講解基本原理和應用思路,而具體使用細節則要求學生課下通過學習芯片手冊掌握。熟練閱讀芯片手冊是掌握嵌入式系統開發特別是底層編程的基礎,因此這個學習單元的教材就是芯片手冊。對于學有余力的同學,我們要求其在學習S3C2440微控制器的同時,在課下自行學習ATMEL AT91SAM9G45微控制器,并比較其與$3C2440的異同之處。這樣做的目的是滿足不同層次學生需求,實現差異化教學。
知識單元5是嵌入式應用編程,知識點包括嵌入式軟件體系結構、應用程序映像文件組成、系統啟動加載代碼等。通過這個知識單元的學習,學生能夠了解嵌入應用程序的匯編、編譯、連接過程,理解應用程序映像的具體組成以及加載啟動的方式,培養為一個裸硬件系統開發完整嵌入式應用軟件的能力。
3 實踐教學設計
3.1實驗平臺介紹
目前嵌入式系統的教學實驗平臺主要有3種類型:基于ARM微控制器的教學平臺、基于DSP處理芯片的教學平臺和基于FPGA的教學平臺。鑒于基于ARM的微控制器在32位嵌入式系統處理器市場中的占有率極高,以ARM微控制器為例講解嵌入式微控制器的基礎理論和應用技術,更能滿足市場對于嵌入式工程技術人才的需求,我們選擇基于三星$3C2440微控制器(采用ARM920T內核)的嵌入式教學平臺。該平臺的系統組成結構如圖1所示。
在此教學平臺結構圖中,S3C2440是一款基于ARM920T處理器的嵌入式微控制芯片,內部集成了AHB和APB兩條總線,以及連接在總線上的內存控制器、中斷控制器、時鐘電源管理單元、USB主從控制器、看門狗、定時器、PWM控制器、GPIO控制器、SD/MMC控制器等多種外設控制器。存儲器包括64M SDRAM、4M NOR FLASH和64M NAND FLASH;人機接口設備包括640×480像素6寸TFT液晶顯示模塊、觸摸屏、4×5小鍵盤模塊和4個GPIO連接LED顯示燈;通信接口及設備包括串口、USB主接口、USB從接口、兩個以太網接口、音頻輸入輸出接口和Camera接口等。該實驗設備支持多種層次的實驗,嵌入式微控制器原理與應用課程的所有實驗均在該實驗平臺上完成。
3.2課堂實驗設計
實驗在計算機類學科中的作用十分重要,是教學活動的重要環節。根據實驗性質區分,我們可以把課堂實驗劃分為觀察性實驗、驗證性實驗和設計性實驗等類型。設計性實驗要求學生根據實驗要求自行設計實驗過程,相對于前2種實驗更能鍛煉學生的設計能力和獨立工作能力,因此我們的課堂實驗均采用設計性實驗類型。
根據理論教學內容,我們共設計了16個課堂實驗,這些課堂實驗與知識點的對應關系如表1所示。
表1中的16個實驗除實驗1外,均為設計I生實驗。其中,實驗4和實驗5分別用匯編和c語言驅動GPIO管腳連接的LED燈,學生通過對比掌握匯編和C語言訪問外設寄存器的異同;實驗6使用查詢方式實現定時功能,實驗8采用中斷方式實現同樣功能,學生通過對比掌握IO兩種訪問方式的異同;實驗9主要練習32位微控制器各個模塊所需不同時鐘頻率的產生,以及處理器時鐘頻率的編程調節,使學生熟練掌握微控制器的時鐘體系;實驗10~實驗16則練習微控制器的主要外設I/O控制器的接口編程技術。
限于課程的課時長度,課堂實驗無法包含所有外設控制器,但通過這些典型外設控制器的學習,學生很容易就能觸類旁通地掌握其他模塊使用方法。
3.3綜合實驗設計
綜合實驗要求學生分組合作,綜合運用所學知識,利用課下時間設計一個小規模的嵌入式應用軟件并在實驗平臺上完成調試運行。為了吸引學生興趣,綜合實驗均采用游戲項目的形式。我們設計了幾個游戲項目供學生選擇,分別是世界時鐘、五子棋、電子菜單、科學計算器、漢諾塔、交通信號控制器、俄羅斯方塊等。教師也鼓勵學生選擇一些常見的其他娛樂游戲作為綜合實驗設計項目。
學生在完成綜合實驗項目時,要按照實驗項目說明書的要求完成實驗設計,撰寫的項目文檔至少要包含需求分析、軟件設計、軟件測試、使用說明、運行結果、項目分工、總結討論等幾個方面的內容。通過綜合性實驗,學生既鍛煉了綜合設計能力和動手能力,又提高了溝通能力和團隊合作能力。
3.4工程項目設計
課堂實驗和綜合實驗相結合的實驗方式,很好地鍛煉了學生對于特定嵌入式微控制器的實踐動手能力。但若要靈活運用所學嵌入式微控制器設計工程項目,學生還需通過具體工程設計實踐進行鍛煉。嵌入式微控制器原理與應用課程和工程管理與信息技術學院課程體系中的另外一門課程“嵌入式系統分析與設計”相配合(同一學期開設),教師在2門課程結束后布置一個共同的工程項目設計作業,要求學生圍繞一個典型的嵌入式系統產品,在盡量采用嵌入式微控制器課程所學微控制器的前提下,給出該產品的詳細設計方案。我們在每一學年都給出不同的設計項目,例如近幾年的題目分別是IC卡公民身份證系統、稅控收款機系統、數字水印技術的應用系統等。
需要指出的是,工程項目設計僅供學有余力、希望在工程項目設計能力上有所提高的學生完成。根據近幾年的實際情況來看,約有1/2的學生提交了項目設計說明書,平均長度達到30多頁。其中一些非常新穎和有價值的設計方案,可以直接用于工業生產實踐。
4 考核方式
為了使考核方式既起到檢驗學生的知識掌握程度,又能在平時督促學生認真學習的效果,我們采取分段考核和最終考核相結合的方式。具體來說,嵌入式微控制器原理與應用課程一共有4次課堂實驗,包含15項設計性實驗,每個實驗分值在0~2分之間。每次課堂實驗結束時,教師檢查學生的實驗完成情況并打分,這種方式起到了有效督促學生平時認真學習的效果。課程結束后有一次綜合理論考試,總分是40分,該考試用于檢查學生對嵌入式微控制器基本原理的掌握程度。綜合實驗要求學生自由組合,在課程理論考試完成后的一個月時間內完成。綜合實驗提交內容由項目文檔和項目程序組成,其中項目文檔占15分,項目程序完成情況占15分。學生完成綜合實驗后與教師約定時間,由教師進行現場檢查并打分。工程項目設計作為附加要求,并不統計到最后成績中,只供有興趣的同學選擇完成,在學生設計過程中,教師給予一定指導。
上述考核方式中,課堂實驗、理論考試、綜合實驗在總成績中分別占30%、40%、30%。課堂實驗和理論考試對每一個學生的考核比較客觀直接;綜合實驗由學生合作完成,打分時教師先給出每一組的分數,組內每個學生的分數根據其具體負責內容和完成情況在組分數基礎上微調得到,盡量使分數反映出學生的實際水平。
5 課程評估與分析
中科院研究生院建立了課程網站評估系統,鼓勵學生在課程結束后從網上對課程進行評估。評估內容涵蓋教學態度、教學內容、教學方式和教學效果等方面,共包含4項7條,每一條評估分值為1~5分。
根據近3年的統計結果來看,每年約有90%的同學參與網上評估,課程評估結果均為優秀(平均分均超過4.6分)。評估結果顯示,學生認為課程內容符合嵌入式方向工程碩士培養目標(4.8分);課程對他們的工作具有較大幫助(4.7分);課程理論與實踐相結合的教學方式得當(4.6分);課程的考核方式靈活,能從理論和實踐2個角度恰當地考核學生對于課程的掌握程度(4.4分)。部分學生認為實驗課時較短,應該從16課時提高到20課時;還有一部分學生認為嵌入式微控制器原理與應用課程的課時數偏少,建議從40課時提高到60課時;學生對于實驗課內容的安排比較滿意(4.6分)。
從學生的評估結果來看,學生對于課程的教學內容選擇、教學方式、考核方式等非常滿意,課程達到了教學目標的要求。