李文生 陸洪毅 呂燚


摘要:基于嵌入式人才的能力結構分析,提出嵌入式系統教學體系的構建思路,包括嵌入式系統相關核心課程和教學內容設置、針對不同培養目標的課程組合方案以及嵌入式實踐教學體系設計。
關鍵詞:嵌入式系統;能力結構;教學體系
0 引言
嵌入式系統是以嵌入式處理器或嵌入式控制器為核心,將其嵌入到產品或設備中以實現其功能的數字化和智能化的專用計算機系統。嵌入式系統的應用已經覆蓋了包括消費類電子、智能家電、工業控制、通訊網絡、儀器儀表、汽車電子等多個領域。隨著嵌入式技術的發展和應用領域的不斷拓展,社會對嵌入式技術人才的需求也越來越旺盛。為了適應市場需求,國內很多高校相繼開設了嵌入式系統相關課程或設置了嵌入式系統相關專業方向,開展了各具特色的嵌入式系統教學實踐。但是由于嵌入式系統面向應用的特點、嵌入式軟硬平臺和開發工具的多樣性以及各個學校的學科背景的不同,各個學校開設的嵌入式系統相關課程、教學內容以及實踐教學環節存在較大的差異,沒有形成與嵌入式人才能力培養目標相適應的完整教學體系。
1 嵌入式人才能力培養目標
嵌入式系統盡管也屬于計算機系統的一種,但其應用領域之廣,系統形態之多,與多種技術結合之緊密,為通用計算機系統所不及。嵌入式應用開發人才除了需要具備計算機基本知識和工程技能外,還必須清晰地理解嵌入式應用開發獨有特點,如嵌入式軟硬件開發環境的多樣性、軟硬件一體化設計與開發、交叉開發和調試等。因此,在嵌入式人才培養過程中,應特別注重以下嵌入式應用開發中需要的基本能力的培養。
1)計算思維能力。
嵌入式系統技術通過將計算機技術與專業領域知識相結合,創造出利用計算機解決專業領域問題的新途徑,極大地拓展了計算機的應用領域。嵌入式系統專業方向對計算思維能力的培養,應緊緊抓住“抽象、自動化”這兩個本質特征,強化學生對特定專業領域問題的構造性、過程性求解方法,能夠將一個復雜困難的問題轉化為利用計算機技術求解它的思維方法,進而確定可以利用現有計算機技術對特定問題進行求解的一系列方法和步驟。
2)知識遷移能力。
嵌入式人才培養通常都是從某些具體的嵌入式軟硬件平臺、具體開發工具和環境開始的,即從“實例計算”開始。但在實際嵌入式應用開發中,可能經常涉及不同的硬件和軟件平臺、不同的開發工具和環境、不同的應用領域,這就需要培養學生的知識遷移能力,即引導學生擺脫“實例計算”的思維限制,從“實例計算”提升到“類計算”,能夠從某個基于具體開發平臺和開發環境的嵌入式應用開發中掌握嵌入式應用開發的基本思想、方法,能夠由此及彼、舉一反三,通過芯片數據手冊、開發工具手冊來熟悉新的嵌入式開發環境。
3)協同創新能力。
嵌入式技術在移動設備、數字家電、汽車電子、醫療電子、航天航空、工業控制等領域得到廣泛應用,已經成為相關領域產品和技術創新的關鍵。嵌入式系統的開發與設計,往往牽涉到如何將嵌入式技術和相關領域的專業技術結合起來,以達到協同創新的目的。所以,嵌入式開發人才必須具有一定的行業領域知識,具有較強的協同創新能力。行業領域的專業知識對于嵌入式系統的人才來說,不可能在大學階段完全掌握,但是必須關注學生的新知識、新技術學習能力;而協同創新能力的培養,應側重交流能力、抽象能力、需求分析能力的培養,以便學生將來可以通過與專業領域專家進行協作,有效利用嵌入式技術得到相關應用問題的解決方案。
4)系統整合能力。
由于嵌入式系統是面向某種特殊應用,所采用的硬件平臺、開發工具和應用環境面向不同的應用都會有所不同,再加上市場對大多數產品要求開發周期短、成本低。因此,系統整合能力,包括如何選擇合適的軟硬件平臺以高效地開發產品,如何利用現有的軟硬件資源,如何有效管理開發團隊中的各類人員(應用專家、硬件工程師、軟件工程師和其他相關工程人員等)等,已經成為嵌入式系統產品開發的一項重要能力。這類能力的培養,應側重在拓寬學生的知識面,讓學生盡可能多地了解各種嵌入式軟硬件系統的特性及其優缺點,了解軟硬件協同設計思想方法,不再局限于傳統的軟硬件設計方法、體系結構等。
5)系統工程能力。
作為工程應用型人才,主要任務是將所學的嵌入式系統知識和原理轉變為產品的設計和實現。嵌入式系統工程人才除了具備良好的學習能力、溝通能力和組織協調能力外,還應具有較強的系統工程能力,包括系統分析能力、系統開發能力和系統應用能力。
系統分析能力主要強調能夠對目標系統需求進行分析,運用嵌入式技術,結合專業領域知識,給出可能的嵌入式軟硬件解決方案;強調能夠對嵌入式系統結構進行剖析,對嵌入式系統的功能性指標和非功能性指標進行評測和評價。系統開發能力主要強調利用嵌入式技術有效構建適合目標應用的專用系統,要求學生具有較強的程序設計能力、硬件設計和調試能力以及軟硬件工具平臺應用能力,掌握解決嵌入式項目開發關鍵技術的能力。系統應用能力主要強調與專業領域專家進行交流與需求分析,通過對嵌入式系統進行配置或者定制,快速適應應用系統的要求。
2 嵌入式系統教學體系設計
2.1 嵌入式系統核心課程設置
課程體系的設計直接關系到專業培養目標能否實現,在建立課程體系時,不僅要考慮開設哪些課程、所開設課程的先后關系,還應該重點關注課程的知識體系,關注課程目標與專業培養目標的接軌,并保證所有的相關課程應該能夠構成支撐專業培養目標實現的一個完整體系。通過將嵌入式系統人才培養目標特別是能力培養目標分解細化到不同課程,同時考慮到課程之間的前后銜接、課程與培養目標的一致性,并考慮本科教育教學學時的限制,可以確定嵌入式系統專業方向的5門核心課程:嵌入式系統概論、嵌入式微控制器及其應用、嵌入式硬件設計、嵌入式操作系統和嵌入式軟件開發。這些課程涵蓋了嵌入式系統及其應用開發中涉及的最基礎的知識,同時和計算機類核心基礎課程(如程序設計基礎、數據結構、計算機組成原理、操作系統等)、電子類相關基礎課程(如電路分析、模擬電路、數字邏輯設計等)以及應用領域的一些特色課程一起,構成了嵌入式專業方向所需的專業基礎知識和專業基本能力培養的課程體系,如圖1所示。endprint
作為一門嵌入式系統引導性課程,嵌入式系統概論從整體上對嵌入式系統涉及的各種技術進行介紹,幫助學生快速了解嵌入式系統的基本知識和基本原理;理解嵌入式系統開發的基本過程,初步掌握運用嵌入式系統技術解決實際問題的思想和方法。
嵌入式微控制器及其應用則從具體的嵌入式控制器人手,講述嵌入式微控制器的基本概念、工作原理和應用設計方法,培養學生的嵌入式系統應用開發能力,并通過具體的嵌入式控制應用工程案例培養學生初步的系統工程能力和系統整合能力。
嵌入式操作系統課程在講述嵌入式操作系統的基本概念、體系結構、系統特點、內核工作原理和實現思想的基礎上,讓學生體會嵌入式系統硬/軟件協同工作原理,掌握根據目標嵌入式硬件平臺對嵌入式操作系統進行定制的能力,掌握基于嵌入式操作系統進行嵌入式軟件開發的基本思想、方法和技巧。
嵌入式硬件設計主要講授嵌入式系統硬件基礎知識、硬件開發工具、開發流程和調試方法,培養學生嵌入式系統硬件設計和開發能力。該課程從微控制器及其外圍電路的功能設計要求出發,培養學生掌握基本的嵌入式硬件設計方法和硬件測試方法,然后逐步過渡到嵌入式硬件高性能、高可靠性、低功耗、低成本等非功能性設計方法上。
嵌入式軟件開發主要講授嵌入式軟件開發的基本知識、方法和技術,使學生了解嵌入式軟件的組成要素與結構,掌握嵌入式軟件開發的思想和方法,掌握嵌入式軟件開發的過程和技巧,熟練使用相關嵌入式軟件開發工具,具備初步分析問題和解決問題的能力。
需要說明的是,由于嵌入式系統專業方向具有發展迅速、知識復雜、跨學科的特點,5門課程很難完全涵蓋對嵌入式系統開發人才知識和能力方面的要求,需要強調嵌入式系統核心知識體系與相關學科(如計算機、電子、通信)的融合。嵌入式專業方向完整的課程體系應當與相關學科的基礎課程進行有機銜接。
2.2 嵌入式系統核心課程組合方案
由于嵌入式系統面向應用的特點,所以嵌入式系統教學應當明確定位于培養工程應用型人才。嵌入式系統工程應用重點關注在一定的約束條件下,實現嵌入式系統以達到應用目標要求的方法、步驟等,并通過對嵌入式系統軟硬件的適當選型與定制,結合專門的專業領域知識,方便、快速、有效地構建具體嵌入式產品和應用。嵌入式系統專業方向培養的學生具有明顯的工科特征,適應承擔嵌入式系統或產品的設計和實現任務。這意味著嵌入式系統的教學必須在適當的理論基礎上,更多關注“設計”和“應用”形態的內容,即站在一個嵌入式系統應用開發工程師的角度來組織相關的教學內容,更多關注它們的工程應用,比如對于嵌入式處理器、嵌入式操作系統等,更多關注它們的對外接口和應用方法等外特性,對它們的內部結構、工作原理和內核實現等,以理解作為基本要求。當然也不能過度淡化理論教學,將嵌入式系統教學完全放在技能教育上,因為只有在適當的理論指導下,設計和應用才是理性的、高水平的。
根據嵌入式系統軟硬結合的特點以及應用開發內容,嵌入式系統專業方向畢業生可能從事的典型工作可以大致劃分為嵌入式硬件開發、嵌入式底層軟件設計、嵌入式應用軟件開發。不同類型的開發人員面對的問題空間和工作內容會有所不同,應當具備的知識和能力也會有所區別,相應地,在培養過程中,可以根據不同的培養定位,對嵌入式系統相關核心課程給出不同的裁剪和組合方案,如圖2所示。
嵌入式硬件開發工作內容主要包括系統需求分析、硬件方案設計、PCB電路設計和測試等。嵌入式硬件設計工程師應當了解嵌入式硬件開發流程,具備從需求分析到具體方案的規劃設計能力和調試能力,掌握嵌入式硬件高性能、高可靠性、低功耗、低成本等非功能性設計方法。對于該類型的學生,應當在嵌入式系統概論、嵌入式微控制器及其應用兩門課程的基礎上,強化嵌入式系統硬件設計課程,同時需要考慮在之前對模擬電路與電子技術、數字邏輯設計等電路課程加以適當強化,而對于嵌入式操作系統、嵌入式軟件開發課程可以降低要求或者不再單獨開設。
嵌入式應用軟件開發主要內容包括嵌入式系統分析與設計、嵌入式軟件編碼和測試等。嵌入式應用軟件開發人員應當了解嵌入式軟件開發流程,具備從需求分析到總體設計、詳細設計的能力,掌握主流的嵌入式軟件開發平臺和開發工具,具有較強的程序設計能力,特別是基于嵌入式操作系統的應用程序設計能力。對于該類型的學生,應當在嵌入式系統概論、嵌入式微控制器及其應用兩門課程的基礎上,強化嵌入式操作系統、嵌入式軟件開發課程,同時需要考慮在之前強化對程序設計相關課程的教學,而對于嵌入式硬件設計課程可以降低要求或者不再單獨開設。另外,由于嵌入式軟件一般是面向應用領域,所以針對該類型的學生,還可以考慮選擇開設音視頻編解碼技術、通信協議及其編程技術、網絡與信息安全技術、DSP技術以及一些與應用領域知識相關的課程。
嵌入式底層軟件設計的主要內容是開發一些與硬件關系最密切的底層軟件,例如,針對某個嵌入式硬件平臺開發BootLoader或板級支持包BSP(往下驅動硬件、往上支持嵌入式操作系統),針對不同的外圍接口設備開發驅動程序,以及將嵌入式操作系統移植到不同的硬件平臺上。該類嵌入式開發人員需要深刻理解嵌入式系統軟硬件協同設計思想,他們不僅關心嵌入式系統的外部特性和外圍接口,而且需要深入理解嵌入式處理器的體系結構、工作原理和指令系統,深入理解嵌入式操作系統的體系結構、工作原理和內核實現機制,深入理解外圍接口設備的工作原理和控制方法。對于該類型的學生,在開設嵌入式系統概論、嵌入式微控制器及其應用、嵌入式操作系統之類課程的時候,其內容的處理除了關心嵌入式處理器、嵌入式操作系統的外部特性和應用方法外,還需要重點關注他們的內部結構、工作原理等。
2.3 嵌入式系統實踐教學體系設計
由于嵌入式系統教學定位為培養工程應用型人才,所以實踐教學環節在整個嵌入式人才培養中應當占有相當大的比重。endprint
首先,嵌入式系統大部分課程以工程設計為主,在講述工程設計方法和設計流程時要涉及開發環境、開發工具的使用,可以借鑒“Learningby Doing”的教學理念,通過引入實際的工程案例和項目,講訓結合,突出課程實踐意義,培養學生應用意識、動手能力和工程素養。
其次,需要加大實驗實踐學時,強化實驗實踐環節,同時注意有機整合實驗內容,減少驗證性實驗,增加設計性、綜合性、創新性實驗項目,按照“一體化、多層次”的思想,設計比較合理的嵌入式專業方向的實踐教學體系。基礎層主要包括相關課程的課內實驗,其主要目的在于課程知識的鞏固,一般通過課內實驗完成。綜合設計層主要包括兩個方面:一是相關課程綜合性、設計性實驗,其主要目的在于相關課程知識的提高和綜合運用,通過課外拓展實驗完成;二是里程碑式的綜合實踐課程,即根據嵌入式系統應用開發能力的晉級階梯,在能力培養主線設置一些里程牌,并通過綜合性實踐課程培養階段性的綜合應用能力。應用創新層主要培養學生綜合分析、設計、創新能力和工程素養,主要通過創新實驗和課程設計、項目實訓、學科競賽、學生科研和畢業設計完成。
3 結語
電子科技大學中山學院構建了符合嵌入式應用開發人才晉級階梯的課程體系和“一體化、多層次、分階段”的實踐教學體系。經過幾年的教學實踐,證明該教學體系具有較好的可行性和適應性。不少學生畢業后都順利地走上了嵌入式技術開發工作崗位,成為企業的技術骨干。
當然,嵌入式技術發展日新月異,嵌入式應用需求也是越來越復雜多樣,如何適應技術的發展和需求變化,適時調整嵌入式人才培養方案和課程體系,在課程體系和教學內容中體現最新的發展成果和應用需求,培養符合市場需求的嵌入式人才,仍然需要我們不斷研究和探索。
參考文獻:
[1]馬義德,湯書森,張北斗,等。嵌入式系統課程群建設與創新人才培養[J].高等理科教育,2004(8):23-25.
[2]王蘇峰,寧洪,陸洪毅,等.嵌入式系統課程體系及其創新實踐的探索[J].計算機教育,2010(7):45-47.
[3]李文生,馬爭,傅瑜,等.面向應用型嵌入式人才培養的課程體系設計[J].計算機教育,2011(5):69-74.
[4]羅嗣海,周立功,王祖麟.新型校企合作培養零適應期應用型人才探討:以江西理工大學嵌入式系統人才培養為例[J].江西理工大學學報,2009,30(2):57-60.
[5]俸皓.嵌入式系統教學體系改革的探討[J].科技信息:科學教研,2007,12(30):29-31.
(編輯:郭田珍)endprint