朱敏杰,潘張鑫,羅 珩
(紹興文理學(xué)院數(shù)理信息學(xué)院,浙江紹興312000)
“嵌入式系統(tǒng)”是電類專業(yè)的一門重要專業(yè)課程。對照教育部98版專業(yè)目錄,理學(xué)的電子信息科學(xué)類和工學(xué)的電氣信息類本文主要對電子信息工程專業(yè)的“嵌入式系統(tǒng)”課程的實(shí)踐教學(xué)進(jìn)行研究探索[1]。
電子行業(yè)對嵌入式人才的需求主要有嵌入式硬件工程師、嵌入式系統(tǒng)工程師和嵌入式應(yīng)用工程師[2]。其中嵌入式硬件工程師側(cè)重于電路、底層驅(qū)動(dòng)程序和板級(jí)支持包的設(shè)計(jì);嵌入式應(yīng)用工程師側(cè)重于嵌入式系統(tǒng)平臺(tái)軟件開發(fā);嵌入式系統(tǒng)工程師側(cè)重于嵌入式操作系統(tǒng)的移植并致力于硬件平臺(tái)和軟件程序的對接[3]。
電子信息工程專業(yè)主要培養(yǎng)學(xué)生信號(hào)的獲取與處理、電子設(shè)備與信息系統(tǒng)等方面的專業(yè)知識(shí)。由于專業(yè)的寬口徑特征,培養(yǎng)目標(biāo)與嵌入式人才需求三個(gè)方向都有相關(guān)度,相對而言,嵌入式硬件工程師、嵌入式系統(tǒng)工程師更為契合,嵌入式應(yīng)用工程師則更貼近于計(jì)算機(jī)科學(xué)與技術(shù)的培養(yǎng)目標(biāo)[4]。
嵌入式系統(tǒng)的知識(shí)體系主要如圖1所示。嵌入式硬件工程師需要掌握模塊1,嵌入式系統(tǒng)工程師需要掌握模塊1和模塊2,嵌入式應(yīng)用工程師主要需掌握模塊3。電子信息工程專業(yè)的課程體系大致包含模塊1和模塊2的內(nèi)容,但是一般都缺少編譯原理、數(shù)據(jù)結(jié)構(gòu)和操作系統(tǒng)等嵌入式操作系統(tǒng)移植必備的知識(shí)。這使得學(xué)生學(xué)習(xí)復(fù)雜操作系統(tǒng)(如Linux、WinCE)具有相當(dāng)難度,于是選擇小內(nèi)核的嵌入式操作系統(tǒng)(如μC-OS)就更具可操作性。
圖1 嵌入式教學(xué)知識(shí)體系
ARM公司主要出售芯片設(shè)計(jì)技術(shù)而不直接從事芯片生產(chǎn),半導(dǎo)體生產(chǎn)商購買ARM微處理器核,根據(jù)各自應(yīng)用領(lǐng)域加入外圍功能模塊,形成ARM微處理器芯片[6]。ARM處理器的這一特點(diǎn)使得教學(xué)中出現(xiàn)兩難格局:學(xué)習(xí)“嵌入式系統(tǒng)”時(shí),學(xué)生具備的基礎(chǔ)知識(shí)一般為單片機(jī)原理和微機(jī)接口原理,對ARM的體系結(jié)構(gòu)、指令系統(tǒng)、軟硬件調(diào)試工具、寄存器及外設(shè)功能等還相當(dāng)陌生,如選擇以內(nèi)核為綱,學(xué)生掌握不了一款具體芯片,造成開發(fā)時(shí)上手慢;如選擇以某種芯片為綱,又會(huì)弱化ARM的設(shè)計(jì)理念,囿于芯片本身,難以觸類旁通。
Cortex是ARM最新一代內(nèi)核,其中M系列針對價(jià)格敏感的嵌入式領(lǐng)域,強(qiáng)調(diào)操作的確定性以及性能、功耗和價(jià)格的平衡,適合于電子信息工程專業(yè)的嵌入式教學(xué),容易使學(xué)生完成從單片機(jī)到ARM的有效過渡。
我校電子信息工程專業(yè)選擇Cortex-M3內(nèi)核,STM32處理器作為教學(xué)實(shí)驗(yàn)對象。
我們在學(xué)生掌握cortex-M3的體系結(jié)構(gòu)基礎(chǔ)上,兼顧最新的cortex-M3內(nèi)核處理器STM32,接觸嵌入式操作系統(tǒng)的任務(wù)調(diào)度,從51單片機(jī)過渡到ARM[5]。
“嵌入式系統(tǒng)”課程體系由嵌入式系統(tǒng)概論,ARM cortex-M3體系結(jié)構(gòu),STM32系列處理器原理與實(shí)踐和嵌入式操作系統(tǒng)C/OS-Ⅱ四部分組成。
我們?yōu)閷W(xué)生精選了4本教材和參考書,并且提供相當(dāng)數(shù)量的電子版資料和網(wǎng)絡(luò)鏈接,供課后實(shí)時(shí)查閱。教材參考書按模塊選擇如下:嵌入式系統(tǒng)概論知識(shí)模塊選用《嵌入式系統(tǒng)設(shè)計(jì)與實(shí)例開發(fā)——基于ARM微處理器與μC/OS-II實(shí)時(shí)操作系統(tǒng)》;ARM cortex-M3體系結(jié)構(gòu)模塊選用《ARM Cortex-M3權(quán)威指南》;STM32處理器應(yīng)用模塊選用《STM32系列ARM Cortex-M3微控制器原理與實(shí)踐》;μC/OS-Ⅱ操作系統(tǒng)模塊選用《嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-Ⅱ》。
實(shí)驗(yàn)平臺(tái)是嵌入式實(shí)驗(yàn)的硬件載體,我們放棄了傳統(tǒng)的實(shí)驗(yàn)箱模式,選擇STM32仿真學(xué)習(xí)套件STM3210B。該套件采用STM32F103為核心,擴(kuò)展了USB、UART、CAN、LCD數(shù)碼顯示、模擬輸入等硬件接口,采用USB下載程序和供電,集仿真器與目標(biāo)板于一體,性價(jià)比較高。
嵌入式系統(tǒng)的實(shí)踐環(huán)節(jié)分為實(shí)驗(yàn)、課程設(shè)計(jì)和畢業(yè)設(shè)計(jì)。其中實(shí)驗(yàn)部分有18課時(shí),課程設(shè)計(jì)時(shí)間為兩周。實(shí)驗(yàn)課由理論課教師擔(dān)任,可最大程度保證理論授課與實(shí)驗(yàn)的同步。課程設(shè)計(jì)要求學(xué)生綜合利用實(shí)驗(yàn)所學(xué)知識(shí),基于實(shí)驗(yàn)平臺(tái)完成一項(xiàng)具體任務(wù)。
我們在參考意法半導(dǎo)體STM32開發(fā)板例程的基礎(chǔ)上,結(jié)合集成開發(fā)環(huán)境的應(yīng)用和μC/OS-Ⅱ操作系統(tǒng)的微控制器移植,編寫實(shí)驗(yàn)講義,設(shè)計(jì)了6個(gè)實(shí)驗(yàn)。實(shí)驗(yàn)項(xiàng)目如表2所示。
表2 “嵌入式系統(tǒng)”實(shí)驗(yàn)項(xiàng)目
實(shí)驗(yàn)過程應(yīng)注意到嵌入式系統(tǒng)的程序相比單片機(jī)程序龐大許多,學(xué)生不可能在3課時(shí)內(nèi)完成。教師應(yīng)給出工程模板,要求學(xué)生編寫關(guān)鍵代碼或者修改參數(shù)設(shè)置,并按步驟設(shè)計(jì)分值,便于定量給出操作分。鼓勵(lì)學(xué)生應(yīng)用Source Insight和Beyond Compare兩個(gè)程序文本編輯和比對軟件,提高編程效率。實(shí)驗(yàn)考核由操作、實(shí)驗(yàn)報(bào)告兩部分組成,操作占60%,報(bào)告占40%。
嵌入式課程設(shè)計(jì),要求學(xué)生在實(shí)驗(yàn)平臺(tái)上完成μC/OS-Ⅱ操作系統(tǒng)的移植,并且使用操作系統(tǒng)管理兩個(gè)以上任務(wù),完成任務(wù)調(diào)用,每個(gè)任務(wù)要求至少驅(qū)動(dòng)一個(gè)片上外設(shè)。
我校的“嵌入式系統(tǒng)”實(shí)踐教學(xué)按照以上體系運(yùn)行了兩屆,學(xué)生普遍反映容易接受這種從單片機(jī)過渡到嵌入式系統(tǒng)的教學(xué)模式。但是在知識(shí)結(jié)構(gòu)的更新、實(shí)踐環(huán)節(jié)的設(shè)置及動(dòng)手能力的培養(yǎng)等方面還存在諸多不足。嵌入式系統(tǒng)是“后PC”時(shí)代電子領(lǐng)域發(fā)展最快的一個(gè)分支,今后在實(shí)踐教學(xué)研究中需要形成動(dòng)態(tài)體系,實(shí)時(shí)調(diào)整教學(xué)內(nèi)容,爭取使學(xué)生掌握業(yè)界最新的知識(shí)和技能。
[1] 教育部高等教育司.普通高等學(xué)校本科專業(yè)目錄和專業(yè)介紹[M] .北京:高等教育出版社,1998
[2] 盛鴻宇,魏志光.關(guān)于開展嵌入式系統(tǒng)人才培養(yǎng)項(xiàng)目的設(shè)想[J] .上海:實(shí)驗(yàn)室研究與探索,2005,24(sup):60-63
[3] 李寧,宋薇,庫少平.項(xiàng)目化嵌入式教學(xué)方法研究[J] .北京:單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2010,2:5-8
[4] 江敏,錢平.單片機(jī)教學(xué)向嵌入式教學(xué)轉(zhuǎn)型的幾點(diǎn)研究[J] .南京:電氣電子教學(xué)學(xué)報(bào),2005,27(1)33-34.
[5] 黃曉玲,段鳳云,趙建科.嵌入式系統(tǒng)實(shí)驗(yàn)教學(xué)體系的探索與實(shí)踐[J] .北京:實(shí)驗(yàn)技術(shù)與管理,2006,23(4):85-87
[6] Joseph Yiu.ARM Cortex-M3權(quán)威指南[M] .宋巖譯.北京:北京航空航天大學(xué)出版社,2009