朱濤
摘要:在分析嵌入式系統(tǒng)結(jié)構(gòu)和嵌入式系統(tǒng)崗位技術(shù)要求的基礎(chǔ)上,結(jié)合計(jì)算機(jī)專業(yè)特點(diǎn),構(gòu)建了高校計(jì)算機(jī)專業(yè)嵌入式系統(tǒng)教學(xué)及實(shí)驗(yàn)平臺(tái)。對(duì)規(guī)范和培養(yǎng)嵌入式系統(tǒng)人才起著重要的作用。
關(guān)鍵詞:嵌入式系統(tǒng);課程體系;實(shí)驗(yàn)平臺(tái)
中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2012)15-3647-04
物聯(lián)網(wǎng)、云計(jì)算目前已經(jīng)成為信息產(chǎn)業(yè)的主流方向,在這個(gè)主流方向中,最核心、最關(guān)鍵的部分是嵌入式系統(tǒng)。調(diào)查數(shù)據(jù)【1】顯示,市場(chǎng)對(duì)嵌入式人才的需求缺口巨大。就高校而言,培養(yǎng)符合行業(yè)要求的人才是高校的職責(zé),而人才的培養(yǎng)又始終離不開切實(shí)可行的教學(xué)計(jì)劃和課程體系,制定符合行業(yè)實(shí)際的教學(xué)計(jì)劃和課程體系,是培養(yǎng)人才的關(guān)鍵。而開設(shè)什么樣的課程來培養(yǎng)符合行業(yè)要求人才,又要依據(jù)行業(yè)特點(diǎn)和對(duì)人才的技術(shù)要求來確定,否則就會(huì)偏離行業(yè)要求,滿足不了行業(yè)需求。在2008年《普通高等學(xué)校高職高專教育指導(dǎo)性專業(yè)目錄(試行)》里已經(jīng)規(guī)劃了嵌入式技術(shù)與應(yīng)用專業(yè)(專業(yè)代碼510121),但還沒有形成一門獨(dú)立的本科專業(yè),近幾年高校中的電子專業(yè)、計(jì)算機(jī)專業(yè)以及機(jī)電與自動(dòng)化專業(yè)、通信專業(yè)都相繼開設(shè)了嵌入式系統(tǒng)相關(guān)課程,大都針對(duì)本科高年級(jí)學(xué)生或者研究生開設(shè)了嵌入式系統(tǒng)方向。從國內(nèi)不同高校不同專業(yè)開設(shè)的嵌入式系統(tǒng)課程來看,各具特色,有些硬件課程開設(shè)的多,有些軟件課程開設(shè)的多。這主要是由于嵌入式系統(tǒng)本身包含軟件與硬件兩個(gè)層次,在設(shè)計(jì)與應(yīng)用方面,又具有軟硬件協(xié)同工作的特點(diǎn),既要依據(jù)硬件設(shè)計(jì)軟件,又要依據(jù)軟件確定硬件,不能簡(jiǎn)單的說哪個(gè)更重要,只能從應(yīng)用的角度講其側(cè)重點(diǎn)不同。因此對(duì)于不同專業(yè)開設(shè)的嵌入式系統(tǒng)課程,不能一概而論。本文主要從嵌入式從業(yè)人員進(jìn)行嵌入式系統(tǒng)開發(fā)所具備的知識(shí)要求和技術(shù)要求為依據(jù),確立計(jì)算機(jī)專業(yè)本科生從事嵌入式系統(tǒng)開發(fā)應(yīng)具備的基礎(chǔ)知識(shí)和技能,并著重對(duì)計(jì)算機(jī)專業(yè)本科生嵌入式系統(tǒng)的課程體系構(gòu)建內(nèi)容及實(shí)驗(yàn)平臺(tái)方案進(jìn)行探討和研究。
1嵌入式系統(tǒng)概述
嵌入式系統(tǒng)是以計(jì)算機(jī)技術(shù)為基礎(chǔ)、以應(yīng)用為中心、軟件硬件可裁剪并且對(duì)系統(tǒng)的功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。從其概念來看,嵌入式系統(tǒng)是專用計(jì)算機(jī)系統(tǒng),應(yīng)該包含硬件系統(tǒng)和軟件系統(tǒng),具體地說,一個(gè)嵌入式系統(tǒng)硬件以微處理器為核心集成存儲(chǔ)器和系統(tǒng)專用的輸入/輸出設(shè)備;嵌入式系統(tǒng)軟件包括初始化代碼及驅(qū)動(dòng)、嵌入式操作系統(tǒng)和應(yīng)用程序等,這些軟件有機(jī)地結(jié)合在一起,形成系統(tǒng)特定的一體化軟件。一個(gè)典型的嵌入式系統(tǒng)應(yīng)包含嵌入式硬件、嵌入式操作系統(tǒng)和嵌入式應(yīng)用軟件三個(gè)部分構(gòu)成。
由于嵌入式系統(tǒng)是將先進(jìn)的計(jì)算機(jī)技術(shù)、半導(dǎo)體技術(shù)和電子技術(shù)與各個(gè)行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物,因此嵌入式系統(tǒng)是應(yīng)用于特定環(huán)境下,針對(duì)特定用途來設(shè)計(jì)的系統(tǒng),所以不同于通用計(jì)算機(jī)系統(tǒng),它的硬件和軟件都必須高效率地設(shè)計(jì)、“量體裁衣”、去除冗余,力爭(zhēng)在較少的資源上實(shí)現(xiàn)更高的性能。嵌入式系統(tǒng)的基本特點(diǎn)就是“嵌入”、“專用性“和“計(jì)算機(jī)性”。由于系統(tǒng)的這些特性,導(dǎo)致系統(tǒng)的存在形式是多樣的和面向特定應(yīng)用的,并且對(duì)成本、功耗、可靠性和實(shí)時(shí)性特別關(guān)注,因此在嵌入式微處理器和嵌入式操作系統(tǒng)的選擇上都要考慮這些特點(diǎn)。
2嵌入式系統(tǒng)專業(yè)人才崗位及核心能力分析
2.1嵌入式系統(tǒng)的技術(shù)研發(fā)崗位劃分與設(shè)置
從事嵌入式技術(shù)的崗位主要是企業(yè)的研發(fā)、生產(chǎn)、銷售部門,當(dāng)然還有其它輔助部門,在此主要針對(duì)研發(fā)部門的崗位進(jìn)行分析。嵌入式系統(tǒng)研發(fā)部門崗位的設(shè)置,離不開嵌入式系統(tǒng)的結(jié)構(gòu)和開發(fā)過程,設(shè)置什么樣的崗位、需要何種學(xué)歷的人才都與嵌入式系統(tǒng)的開發(fā)過程緊密相關(guān)。就嵌入式系統(tǒng)而言,總體上可劃分為硬件和軟件兩部分,硬件一般由高性能的微處理器和外圍的接口電路組成,軟件一般由硬件抽象層、嵌入式操作系統(tǒng)、軟件應(yīng)用平臺(tái)和應(yīng)用程序等組成,如圖1所示。
硬件層是整個(gè)嵌入式操作系統(tǒng)和應(yīng)用程序運(yùn)行的平臺(tái),包括輸入輸出接口/驅(qū)動(dòng)電路、處理器、存儲(chǔ)器、定時(shí)器、串口、中斷控制器、外設(shè)器件、圖形控制器及相關(guān)系統(tǒng)電路等部分。對(duì)于硬件層的設(shè)計(jì)開發(fā)要有較深的硬件開發(fā)經(jīng)驗(yàn),這些崗位一般都需要資深的硬件工程師。中間層包括硬件抽象層(HAL)或板級(jí)支持包(BSP),負(fù)責(zé)對(duì)各種硬件功能提供軟件接口,包括硬件初始化、時(shí)鐘管理、定時(shí)器管理、中斷處理、總線管理、內(nèi)存地址的映射等。它位于底層硬件和操作系統(tǒng)之間,是二者之間的橋梁。這個(gè)層次的設(shè)計(jì)開發(fā)不僅要精通底層硬件結(jié)構(gòu),還要熟悉上層的操作系統(tǒng),主要工作是開發(fā)設(shè)備驅(qū)動(dòng)程序。這部分工作需要有豐富的軟硬件件研發(fā)經(jīng)驗(yàn)才可以勝任。軟件層主要包括操作系統(tǒng)和軟件應(yīng)用平臺(tái),操作系統(tǒng)主要是實(shí)現(xiàn)資源的訪問和管理,完成任務(wù)調(diào)度,支持應(yīng)用軟件的運(yùn)行及開發(fā),軟件應(yīng)用平臺(tái)則是為了提高開發(fā)速度與軟件質(zhì)量,一些應(yīng)用提供商開發(fā)了一些可重用的應(yīng)用平臺(tái),封裝了一些常用的功能,同時(shí)提供API接口,可以在此基礎(chǔ)上進(jìn)行二次開發(fā)。這些崗位要求具有豐富的嵌入式操作系統(tǒng)開發(fā)經(jīng)驗(yàn)和軟件工程能力。功能層主要指的是應(yīng)用軟件層,位于嵌入式系統(tǒng)層次結(jié)構(gòu)的最頂層,直接與最終用戶交互。針對(duì)各種特定功能來編寫應(yīng)用程序,實(shí)現(xiàn)系統(tǒng)的功能應(yīng)用。主要是進(jìn)行大量的C、C++或JAVA語言編程,不需要更多涉及底層硬件,大都是基于操作系統(tǒng)之上的編程。這些崗位要求就有豐富的嵌入式應(yīng)用軟件開發(fā)能力。從嵌入式系統(tǒng)開發(fā)流程看,還可以對(duì)硬件層、中間層、軟件層、功能層四個(gè)層次的研發(fā)工作進(jìn)一步細(xì)化。
2.2技術(shù)研發(fā)崗位從業(yè)人員核心能力分析
對(duì)于從事嵌入式系統(tǒng)研發(fā)的技術(shù)人員而言,必須具有與崗位匹配的核心能力才可以勝任工作。文獻(xiàn)[3]就嵌入式整個(gè)行業(yè)的從業(yè)人員在不同崗位應(yīng)具備的知識(shí)和能力進(jìn)行了描述。由于目前國內(nèi)就嵌入式人才的評(píng)估和認(rèn)證只有嵌入式工程師認(rèn)證,因此本文將從硬件設(shè)計(jì)、軟件設(shè)計(jì)、系統(tǒng)架構(gòu)、軟、硬件測(cè)試這五類技術(shù)研發(fā)崗位進(jìn)行研究,來確定相應(yīng)人員應(yīng)具備的知識(shí)和能力要求。對(duì)于每一類崗位,將從崗位工作任務(wù)、崗位知識(shí)能力、主要技能和核心能力這四個(gè)方面就行研究,其中崗位工作任務(wù)是指該崗位應(yīng)完成日?;竟ぷ鞯氖聞?wù)范圍,崗位知識(shí)能力是指該崗位應(yīng)具備的基本知識(shí)要求,主要技能是指該崗位技術(shù)能力的要求范圍,核心能力是指該崗位工作主要能力要求。分析結(jié)果如表1所示。
2.3技術(shù)研發(fā)崗位知識(shí)要求
表1就目前嵌入式技術(shù)人員的五種崗位要求從四個(gè)方面進(jìn)行了分析,從分析的結(jié)果看,對(duì)于硬件設(shè)計(jì)及測(cè)試人員而言,應(yīng)具有的知識(shí)點(diǎn):①熟悉或者掌握模擬電子線路、數(shù)字電路,單片機(jī)等基本的硬件電子電路設(shè)計(jì)知識(shí);②熟悉和掌握C語言或者C++語言及接口電路程序設(shè)計(jì);嵌入式系統(tǒng)硬件的設(shè)計(jì)、嵌入式系統(tǒng)的程序設(shè)計(jì)③至少熟悉l到2種基本的EDA工具,如MODELSIM、Quartus? lI、Protel等;④熟悉各種常用工具和儀器儀表,熟悉電子元器件性能分析。軟件設(shè)計(jì)軟件測(cè)試人員而言,應(yīng)具有的知識(shí)點(diǎn):①熟悉Linux,WinCE,Vxworks等操作系統(tǒng)的各種軟件開發(fā)環(huán)境;②熟悉GUI開發(fā)過程、熟悉網(wǎng)絡(luò)編程、多任務(wù)編程等;③精通C語言、匯編語言;④熟悉嵌入式系統(tǒng)硬件的設(shè)計(jì)、嵌入式系統(tǒng)的程序設(shè)計(jì)。⑤熟悉嵌入式軟件開發(fā)模式及方法,熟悉白盒測(cè)試、黑盒測(cè)試和回歸測(cè)試,熟悉單測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試過程及測(cè)試的誤區(qū)的分析。系統(tǒng)架構(gòu)人員應(yīng)具有的知識(shí)點(diǎn):①熟悉嵌入式軟件工程;②熟悉面向?qū)ο蠛徒Y(jié)構(gòu)化軟件開發(fā)方法;③精通常用軟件開發(fā)語言;④熟悉軟件架構(gòu)模式和設(shè)計(jì)模式,熟悉常用軟件建模技術(shù)。
3計(jì)算機(jī)專業(yè)嵌入式系統(tǒng)課程體系及實(shí)踐平臺(tái)的構(gòu)建及分析
3.1計(jì)算機(jī)專業(yè)嵌入式系統(tǒng)課程體系及實(shí)踐平臺(tái)的構(gòu)建
從嵌入式系統(tǒng)專業(yè)人才崗位及核心能力分析來看,對(duì)于計(jì)算機(jī)專業(yè),在構(gòu)架課程體系時(shí),應(yīng)該結(jié)合計(jì)算機(jī)專業(yè)特點(diǎn)及嵌入式技術(shù)研發(fā)崗位和應(yīng)具備的知識(shí)能力出發(fā),可從理論與實(shí)踐兩個(gè)方面,去制定切實(shí)可行的專業(yè)課程體系。本文將從理論課程體系和實(shí)踐課程體系兩個(gè)方面闡述課程體系和實(shí)踐平臺(tái)的構(gòu)建。其平臺(tái)結(jié)構(gòu)如圖2所示。
在圖2中,計(jì)算機(jī)專業(yè)基礎(chǔ)和核心課程體系可依據(jù)計(jì)算機(jī)專業(yè)相關(guān)培養(yǎng)課程體系及目標(biāo)確定,本文不再贅述。對(duì)于嵌入式系統(tǒng)理論課程體系可分別從硬件課程、語言課程、專業(yè)課程三個(gè)方面進(jìn)行構(gòu)建,其中硬件課程可包含有電路與模擬電子技術(shù)、數(shù)字邏輯電路、計(jì)算機(jī)組成與體系結(jié)構(gòu)、微機(jī)原理與接口、ARM體系結(jié)構(gòu)與編程、電子線路設(shè)計(jì)、計(jì)算機(jī)控制系統(tǒng)、單片機(jī)原理與應(yīng)用、DSP技術(shù)及應(yīng)用、FPGA設(shè)計(jì)基礎(chǔ)等課程;語言課程可包含有C語言程序設(shè)計(jì)、VC++程序設(shè)計(jì)、離散數(shù)學(xué)、數(shù)據(jù)結(jié)構(gòu)、VB程序設(shè)計(jì)、C#程序設(shè)計(jì)、J2EE中間件技術(shù)、C語言深入編程、C++/VC++深入編程等課程;專業(yè)課程可包含有嵌入式操作系統(tǒng)、Linux設(shè)備管理與應(yīng)用、ARM體系結(jié)構(gòu)與編程、嵌入式系統(tǒng)設(shè)計(jì)、WinCe系統(tǒng)設(shè)計(jì)與應(yīng)用開發(fā)、面向操作系統(tǒng)的程序設(shè)計(jì)、多核程序設(shè)計(jì)等。對(duì)于嵌入式系統(tǒng)實(shí)踐課程體系可從專業(yè)實(shí)踐與認(rèn)證培訓(xùn)兩個(gè)方面進(jìn)行構(gòu)建,其中專業(yè)實(shí)踐可從課內(nèi)實(shí)踐、課程實(shí)訓(xùn)、項(xiàng)目團(tuán)隊(duì)、專業(yè)競(jìng)賽、企業(yè)實(shí)習(xí)、畢業(yè)實(shí)習(xí)等方面進(jìn)行構(gòu)建。在專業(yè)實(shí)踐中,課內(nèi)實(shí)踐和課程實(shí)訓(xùn)是對(duì)嵌入式專門知識(shí)的鞏固與提高,綜合實(shí)踐是階段性綜合能力培養(yǎng)的需求,項(xiàng)目實(shí)訓(xùn)與畢業(yè)設(shè)計(jì)是綜合分析設(shè)計(jì)能力的保障。而對(duì)于培訓(xùn)認(rèn)證,可參與ARM公司全球認(rèn)證、中國軟件行業(yè)協(xié)會(huì)嵌入式認(rèn)證、中國電子學(xué)會(huì)認(rèn)證、信息產(chǎn)業(yè)部認(rèn)證等機(jī)構(gòu)和部門的培訓(xùn)認(rèn)證活動(dòng)。
3.2嵌入式系統(tǒng)課程體系分析
從嵌入式系統(tǒng)課程體系的內(nèi)容來看,具有三個(gè)方面的特點(diǎn)。首先是體系完整,專業(yè)特色突出,整個(gè)課程體系體現(xiàn)四個(gè)方面的能力培養(yǎng):①編程能力培養(yǎng),體現(xiàn)在C語言程序設(shè)計(jì)、C語言深入編程、C++/VC++深入編程及面向操作系統(tǒng)的程序設(shè)計(jì)等課程。②實(shí)踐能力培養(yǎng),體現(xiàn)在嵌入式系統(tǒng)設(shè)計(jì)與應(yīng)用開發(fā)實(shí)踐、Linux和WinCE操作系統(tǒng)與應(yīng)用開發(fā)實(shí)踐、嵌入式系統(tǒng)設(shè)計(jì)與應(yīng)用綜合實(shí)訓(xùn)及畢業(yè)實(shí)習(xí)和畢業(yè)設(shè)計(jì)等方面。③應(yīng)用能力培養(yǎng),體現(xiàn)在嵌入式系統(tǒng)設(shè)計(jì)與應(yīng)用、嵌入式圖形界面開發(fā)及嵌入式測(cè)試技術(shù)等方面。④創(chuàng)新能力培養(yǎng),主要體現(xiàn)在創(chuàng)新團(tuán)體、嵌入式競(jìng)賽、企業(yè)實(shí)習(xí)及一些嵌入式協(xié)會(huì)等。其次,整個(gè)課程體系具有側(cè)重應(yīng)用,循序漸進(jìn),層層遞進(jìn)的特點(diǎn)。從軟硬件編程到專業(yè)技能培養(yǎng),再到項(xiàng)目實(shí)訓(xùn)和畢業(yè)設(shè)計(jì)是遞進(jìn)式的。軟硬件編程是整個(gè)能力培養(yǎng)的基礎(chǔ),專業(yè)技能是提高,項(xiàng)目實(shí)訓(xùn)和畢業(yè)設(shè)計(jì)是綜合應(yīng)用能力培養(yǎng)。最后,整個(gè)課程體系涵蓋了微軟、信產(chǎn)部認(rèn)證課程。微軟認(rèn)證為微軟WinCE嵌入式系統(tǒng)工程師認(rèn)證,其課程主要包括WinCE系統(tǒng)設(shè)計(jì)與應(yīng)用和嵌入式系統(tǒng)設(shè)計(jì)。信產(chǎn)部認(rèn)證為嵌入式系統(tǒng)設(shè)計(jì)師認(rèn)證,其主要課程包括嵌入式系統(tǒng)設(shè)計(jì)、嵌入式測(cè)試技術(shù)和ARM體系結(jié)構(gòu)與編程。
4計(jì)算機(jī)專業(yè)嵌入式系統(tǒng)實(shí)驗(yàn)教學(xué)平臺(tái)的構(gòu)建
根據(jù)嵌入式系統(tǒng)實(shí)踐課程體系構(gòu)建的設(shè)想,對(duì)于教學(xué)實(shí)踐,要根據(jù)計(jì)算機(jī)專業(yè)和嵌入式系統(tǒng)開發(fā)的技術(shù)要求和崗位職責(zé),可進(jìn)行合理規(guī)劃。既要讓學(xué)生掌握?qǐng)?jiān)實(shí)的基礎(chǔ)知識(shí),又要讓學(xué)生跟得上主流技術(shù)潮流。由于嵌入式系統(tǒng)在構(gòu)成上可由硬件和軟件構(gòu)成,因此在進(jìn)行實(shí)驗(yàn)教學(xué)時(shí),可從硬件和軟件兩個(gè)方面進(jìn)行構(gòu)建。根據(jù)目前嵌入式系統(tǒng)開發(fā)的主流技術(shù)來看,在硬件選型上要以X86CPU、單片機(jī)和ARM處理器為主,在操作系統(tǒng)的選擇上要以WinCE、Linux、μC/OS-II和Vxworks等操作系統(tǒng)為主,可從驅(qū)動(dòng)程序設(shè)計(jì)、嵌入式系統(tǒng)界面、應(yīng)用程序等方面進(jìn)行實(shí)驗(yàn)。本文提出了一種可行的實(shí)驗(yàn)架構(gòu),如圖3所示。
圖3嵌入式系統(tǒng)課內(nèi)實(shí)驗(yàn)體系
圖3從三個(gè)層面對(duì)實(shí)驗(yàn)教學(xué)進(jìn)行了規(guī)劃,最底層為硬件層,可選擇不同的處理器及各種外圍電路及存儲(chǔ)設(shè)備進(jìn)行實(shí)驗(yàn),如X86CPU、ARM處理器、單片機(jī)、數(shù)模轉(zhuǎn)化電路、I/O接口、通用接口、ROM、RAM等。中間為操作系統(tǒng)層,可選擇主流嵌入式操作系統(tǒng)進(jìn)行實(shí)驗(yàn),如WinCE、Linux、μC/OS-II、Vxworks等。最上層為應(yīng)用層,可從嵌入式驅(qū)動(dòng)層序開發(fā)、嵌入式圖形用戶界面以及應(yīng)用程序的設(shè)計(jì)等方面進(jìn)行實(shí)驗(yàn),其中在程序設(shè)計(jì)語言的選擇上可重點(diǎn)考慮匯編語言、C/C++語言、JAVA為主要訓(xùn)練語言。
5總結(jié)
進(jìn)幾年來,市場(chǎng)對(duì)嵌入式人才的需求持續(xù)走高,但符合企業(yè)要求的合格嵌入式從業(yè)人員不多,缺口很大。如何緩解人才供需矛盾,是政府和學(xué)者們關(guān)心的問題。目前就全國高校的普遍情況來看,嵌入式系統(tǒng)還尚未開設(shè)本科專業(yè),很多高校只是開設(shè)了嵌入式系統(tǒng)方向課程,而且開設(shè)的課程五花八門,很難規(guī)范。本文從嵌入式系統(tǒng)構(gòu)成及特點(diǎn)以及嵌入式系統(tǒng)從業(yè)人員的職業(yè)崗位出發(fā),探討了嵌入式系統(tǒng)課程體系和實(shí)踐體系的構(gòu)建,并針對(duì)計(jì)算機(jī)專業(yè)實(shí)驗(yàn)教學(xué)提出了一種教學(xué)結(jié)構(gòu)。通過本文的探討試圖為解決嵌入式課程規(guī)范化做出應(yīng)有貢獻(xiàn),從而加快嵌入式系統(tǒng)開發(fā)人員培養(yǎng),解決市場(chǎng)人才短板而有所作為。
參考文獻(xiàn):
[1] 2010-2011中國嵌入式開發(fā)從業(yè)人員調(diào)查報(bào)告[EB/OL]http://www.farsight.com.cn/subject/report2010-2011.htm.
[2]李精華,李興富.嵌入式技術(shù)人才需求分析[J].桂林航天工業(yè)高等??茖W(xué)校學(xué)報(bào),2009(3).
[3]《嵌入式系統(tǒng)行業(yè)高技能人才現(xiàn)狀和需求、崗位能力及技能要求市場(chǎng)調(diào)研》分析報(bào)告[EB/OL].http://www.szgxzx.com/GXJD/HTMLDynamic/JYCGG_3414/201001/info53169.html.