敖天勇,宮德龍
(1.河南大學(xué) 人工智能學(xué)院, 河南 鄭州 450046;2.河南大學(xué) 設(shè)備處,河南 開封 475004)
隨著國家產(chǎn)業(yè)轉(zhuǎn)型升級(jí)戰(zhàn)略的深入推進(jìn),社會(huì)對(duì)人才尤其是創(chuàng)新創(chuàng)業(yè)人才的要求越來越高。高校作為高層次人才培養(yǎng)的重要基地,在創(chuàng)新人才的培養(yǎng)上更是擔(dān)負(fù)和履行著不可推卸的責(zé)任和義務(wù)。在大學(xué)生中進(jìn)行創(chuàng)新創(chuàng)業(yè)教育是當(dāng)今高等教育改革的一個(gè)重要突破口。[1]嵌入式系統(tǒng)作為一門應(yīng)用性和綜合性很強(qiáng)的課程,非常適合進(jìn)行創(chuàng)新創(chuàng)業(yè)教育。[2]近年來,許多高校的電子信息類專業(yè)開設(shè)了嵌入式系統(tǒng)課程,但嵌入式系統(tǒng)技術(shù)發(fā)展日新月異,目前該課程的教學(xué)內(nèi)容跟不上社會(huì)需求變化和技術(shù)發(fā)展步伐,同時(shí)培養(yǎng)的學(xué)生在理論知識(shí)、動(dòng)手能力、工程規(guī)范素養(yǎng)、創(chuàng)新意識(shí)等方面難以滿足社會(huì)需求。[3]因此,如何適應(yīng)社會(huì)需求變化與技術(shù)發(fā)展,提高嵌入式系統(tǒng)課程的教學(xué)質(zhì)量,培養(yǎng)滿足社會(huì)需求、具有創(chuàng)新精神和創(chuàng)業(yè)意識(shí)的嵌入式系統(tǒng)人才,是亟待解決的教學(xué)任務(wù)。
針對(duì)嵌入式系統(tǒng)的教學(xué)改革,許多學(xué)者從不同側(cè)面進(jìn)行了探討。馬忠梅強(qiáng)調(diào)由于嵌入式系統(tǒng)涉及多個(gè)學(xué)科知識(shí),各個(gè)專業(yè)的嵌入式系統(tǒng)教學(xué)內(nèi)容應(yīng)有所側(cè)重。[4]吳昊等從雙創(chuàng)背景下探討了嵌入式系統(tǒng)課程體系建設(shè)問題。[5]張曉東等探索了基于CDIO理念的嵌入式系統(tǒng)教學(xué)模式改革。[6]孫宇丹從工程教育認(rèn)證角度探討了嵌入式系統(tǒng)教學(xué)改革,認(rèn)為應(yīng)將更多的實(shí)際案例融入教學(xué)中。[7]也有不少人對(duì)嵌入式系統(tǒng)的實(shí)驗(yàn)教學(xué)體系展開研究。[8]但目前面向電子信息類本科生的嵌入式系統(tǒng)教學(xué)內(nèi)容應(yīng)該如何取舍,相關(guān)研究成果甚少,缺乏理論指導(dǎo)。因此,面向電子信息類本科專業(yè),如何組織嵌入式系統(tǒng)教學(xué)內(nèi)容是一個(gè)值得研究的課題。
成果導(dǎo)向教育理念(OBE)以成果導(dǎo)向、學(xué)生為中心、持續(xù)改進(jìn)為三個(gè)基本理念,其合理性已經(jīng)得到廣泛認(rèn)可。[9]本文采用OBE理念,基于人才需求現(xiàn)狀及技術(shù)發(fā)展趨勢分析,確立嵌入式系統(tǒng)的課程內(nèi)容體系改革方案。
目前,在電子信息類本科專業(yè)的嵌入式系統(tǒng)課程教學(xué)中存在以下主要問題。
嵌入式系統(tǒng)教學(xué)內(nèi)容涉及電路、微機(jī)原理與接口技術(shù)、ARM處理器、C語言、操作系統(tǒng)等相關(guān)知識(shí),具有很強(qiáng)的綜合性和實(shí)踐性。但在電子信息類專業(yè)人才培養(yǎng)方案中,該課程教學(xué)時(shí)間通常只有40—72課時(shí),教學(xué)內(nèi)容難以全面覆蓋嵌入式系統(tǒng)內(nèi)容,蜻蜓點(diǎn)水式涉及各知識(shí)點(diǎn),又容易讓學(xué)生感覺沒有學(xué)到真東西。
在電子信息類本科生培養(yǎng)方案中,前期課程中學(xué)生通常只學(xué)習(xí)了51單片機(jī),而嵌入式系統(tǒng)中多采用ARM系列處理器。由于新知識(shí)點(diǎn)多、硬件系統(tǒng)龐大、代碼復(fù)雜,會(huì)讓初次接觸嵌入式系統(tǒng)的本科生感到一頭霧水,易產(chǎn)生畏難情緒,缺乏學(xué)習(xí)積極性。同時(shí)因教學(xué)內(nèi)容多,教師的教學(xué)進(jìn)度快,因此,師生交流缺乏,教與學(xué)容易脫節(jié)。
目前嵌入式系統(tǒng)教學(xué)內(nèi)容還有許多是基于ARM9/ARM7處理器,甚至是51處理器。但是在實(shí)際應(yīng)用中,主流的嵌入式處理不斷推陳出新,在高端應(yīng)用中已經(jīng)過渡到A9,甚至是A78等系列處理器,而ARM9處于高低端應(yīng)用兩不就的尷尬地位。
因此,為避免因內(nèi)容陳舊、知識(shí)點(diǎn)多、入門難而使學(xué)生失去學(xué)習(xí)興趣,需要根據(jù)各專業(yè)特點(diǎn)對(duì)嵌入式系統(tǒng)的教學(xué)內(nèi)容側(cè)重點(diǎn)做好規(guī)劃。
嵌入式系統(tǒng)作為一門應(yīng)用性和綜合性很強(qiáng)的課程,其在選取教學(xué)內(nèi)容時(shí)需要綜合考慮人才需求、技術(shù)發(fā)展?fàn)顩r、專業(yè)培養(yǎng)目標(biāo)及課程特點(diǎn)。
培養(yǎng)滿足市場需求的人才是高等教育的重要使命。本文在“前程無憂”招聘網(wǎng)站上,以“嵌入式系統(tǒng)”為關(guān)鍵字,檢索獲得了5724條招聘信息。對(duì)這些招聘信息中技能要求進(jìn)行深入分析后發(fā)現(xiàn):市場上需求的嵌入式系統(tǒng)人才主要分為嵌入式系統(tǒng)硬件工程師和軟件工程師兩大類,這兩類人才都需要掌握嵌入式系統(tǒng)的基本原理和開發(fā)流程,具備C/C++編程能力、自學(xué)能力和解決問題的工程素養(yǎng)。嵌入式系統(tǒng)軟件工程師還需要熟悉嵌入式操作系統(tǒng)知識(shí),具備嵌入式操作系統(tǒng)移植技能,基于嵌入式操作系統(tǒng)的多任務(wù)開發(fā)經(jīng)驗(yàn),常用接口設(shè)備驅(qū)動(dòng)程序開發(fā)能力,熟悉GCC等開發(fā)工具;嵌入式系統(tǒng)硬件工程師還需要掌握嵌入式處理器知識(shí)、接口電路設(shè)計(jì)知識(shí),具備常用嵌入式系統(tǒng)片上硬件資源的開發(fā)與編程能力。
當(dāng)前嵌入式處理器種類較多,嵌入式系統(tǒng)教學(xué)內(nèi)容的選取必將涉及使用哪類處理器平臺(tái),以及采用何種軟件編程開發(fā)方式等問題。
1.處理器平臺(tái)的選擇
選用主流的嵌入式處理器,有利于教學(xué)內(nèi)容與市場接軌。常見的嵌入式處理器有ARM、MIPS、ARC、PowerPC等。從市場占有率看,ARM 處理器占據(jù)嵌入式市場絕對(duì)地位。目前ARM公司的嵌入式處理器以Cortex-A、Cortex-R、Cortex-M三個(gè)系列為主。Cortex-A系列面向高性能應(yīng)用場景,產(chǎn)品更新速度快。Cortex-R系列面向高可靠性的實(shí)時(shí)嵌入式系統(tǒng)應(yīng)用場景。Cortex-M系列面向微控制器應(yīng)用場景,應(yīng)用范圍廣,產(chǎn)品比較穩(wěn)定。
從教學(xué)的角度看,Cortex-A系列更新速度快,系統(tǒng)復(fù)雜,教學(xué)內(nèi)容更新難以跟上其應(yīng)用發(fā)展速度,教師需先學(xué)后教,待學(xué)生畢業(yè)后所學(xué)的產(chǎn)品可能已經(jīng)退出主流市場。Cortex-R系列應(yīng)用場景對(duì)設(shè)計(jì)者要求較高,不適合初學(xué)者。Cortex-M系列產(chǎn)品穩(wěn)定、開發(fā)難度適中、應(yīng)用范圍廣。因此,選擇Cortex-M系列處理器比較適合電子信息類專業(yè)本科生。
2.軟件編程開發(fā)方式的選擇
隨著嵌入式處理器性能越來越高,系統(tǒng)應(yīng)用場景日益多樣化,但開發(fā)周期要求越來越短,用匯編語言開發(fā)項(xiàng)目難以適應(yīng)市場需求。ARM公司聯(lián)合眾多廠家推出了CMSIS軟件接口標(biāo)準(zhǔn)庫,基于庫函數(shù)進(jìn)行嵌入式應(yīng)用開發(fā)是一種高效的編程開發(fā)方式,已經(jīng)成為主流。因此,在軟件編程開發(fā)方式上,應(yīng)當(dāng)加強(qiáng)基于C語言和庫函數(shù)的編程能力培養(yǎng)。
從《普通高等學(xué)校本科專業(yè)類教學(xué)質(zhì)量國家標(biāo)準(zhǔn)》推薦的電子信息類專業(yè)核心課程體系上看,該類專業(yè)學(xué)生系統(tǒng)地接受了C語言、微機(jī)原理、電路設(shè)計(jì)等知識(shí),但操作系統(tǒng)相關(guān)課程未被列入。由于嵌入式系統(tǒng)具有專用性特點(diǎn),其開發(fā)人員既要具備硬件設(shè)計(jì)能力,還要具備嵌入式系統(tǒng)軟件編程能力。因此,面向電子信息類專業(yè)的嵌入式系統(tǒng)課程內(nèi)容,適合以偏向嵌入式系統(tǒng)硬件開發(fā)知識(shí)為主,兼顧培養(yǎng)學(xué)生的嵌入式系統(tǒng)軟件開發(fā)的編程能力。
綜合上述分析及《普通高等學(xué)校本科專業(yè)類教學(xué)質(zhì)量國家標(biāo)準(zhǔn)》中規(guī)定的電子信息專業(yè)類培養(yǎng)目標(biāo)[10],本文給出一個(gè)面向電子信息類本科專業(yè)的嵌入式系統(tǒng)課程的培養(yǎng)目標(biāo):培養(yǎng)理解嵌入式系統(tǒng)的基本概念,熟悉嵌入式系統(tǒng)基本結(jié)構(gòu)、Cortex-M系列處理器結(jié)構(gòu),掌握常用嵌入式系統(tǒng)片上硬件資源的工作原理、基于庫函數(shù)的嵌入式系統(tǒng)開發(fā)方法及相關(guān)開發(fā)工具,具備良好的學(xué)習(xí)能力、實(shí)踐能力和創(chuàng)新創(chuàng)業(yè)意識(shí),可從事嵌入式系統(tǒng)的應(yīng)用與開發(fā)領(lǐng)域工作的高素質(zhì)專門人才。
根據(jù)上述分析,提出了面向電子信息類專業(yè)的嵌入式系統(tǒng)課程教學(xué)內(nèi)容安排方案。該方案結(jié)合電子信息類專業(yè)知識(shí)結(jié)構(gòu)特點(diǎn),面向市場中嵌入式系統(tǒng)工程師職業(yè)需求,以嵌入式系統(tǒng)的基本概念、嵌入式處理器基礎(chǔ)知識(shí)、常用嵌入式硬件資源知識(shí)、軟件編程知識(shí)為主體,以嵌入式系統(tǒng)應(yīng)用開發(fā)實(shí)踐為手段,輔以嵌入式操作系統(tǒng)基本知識(shí),注重基礎(chǔ)知識(shí)和實(shí)踐活動(dòng),能夠有效解決知識(shí)點(diǎn)繁多、課時(shí)有限、教學(xué)內(nèi)容組織困難等問題。
新教學(xué)內(nèi)容安排的總課時(shí)為54學(xué)時(shí),其中理論課36學(xué)時(shí)、實(shí)踐課18學(xué)時(shí)。另外,有一個(gè)課外的課程設(shè)計(jì)實(shí)踐與演示環(huán)節(jié),作為期末考核形式。下面具體介紹理論教學(xué)和實(shí)踐教學(xué)安排方案。
內(nèi)容上分為5大知識(shí)模塊,各知識(shí)模塊的教學(xué)內(nèi)容及目標(biāo)如下。
知識(shí)模塊1:嵌入式系統(tǒng)基本概念(3學(xué)時(shí))。知識(shí)點(diǎn)包括:嵌入式系統(tǒng)的構(gòu)成、應(yīng)用場景、發(fā)展趨勢;常見嵌入式處理器和嵌入式操作系統(tǒng)簡介;嵌入式系統(tǒng)軟硬件開發(fā)方法;嵌入式系統(tǒng)實(shí)驗(yàn)硬件平臺(tái)介紹及演示。教學(xué)目標(biāo)是理解嵌入式系統(tǒng)的基本概念、軟硬件開發(fā)方法,用演示激發(fā)學(xué)習(xí)興趣。
知識(shí)模塊2:嵌入式微處理器知識(shí)(6學(xué)時(shí))。知識(shí)點(diǎn)包括:Cortex-M系列處理器特點(diǎn)簡介;Cortex-M3處理器的體系結(jié)構(gòu);處理器的操作狀態(tài)與模式;Cortex-M3存儲(chǔ)系統(tǒng);CMSIS軟件標(biāo)準(zhǔn)接口模型;編程模型。教學(xué)目標(biāo)是掌握常用嵌入式處理器的體系結(jié)構(gòu)、存儲(chǔ)系統(tǒng)及編程模型。
知識(shí)模塊3:嵌入式處理器的常用片上外設(shè)(18學(xué)時(shí))。知識(shí)點(diǎn)包括:時(shí)鐘系統(tǒng);GPIO工作模式及基于庫函數(shù)的操作方法;USART配置方法及應(yīng)用;中斷系統(tǒng)及應(yīng)用;定時(shí)器的捕獲、比較、PWM等工作模式及應(yīng)用;FSMC控制器及其訪問存儲(chǔ)器應(yīng)用;LCD操作方法及應(yīng)用;IIC及SPI等常見片上外設(shè)操作方法。教學(xué)目標(biāo)是掌握嵌入式系統(tǒng)中常用片上外設(shè)的工作原理及其基于庫函數(shù)的開發(fā)方法。
知識(shí)模塊4:軟件開發(fā)環(huán)境及庫函數(shù)編程方法(3學(xué)時(shí))。知識(shí)點(diǎn)包括:MDK軟件環(huán)境安裝及使用方法;標(biāo)準(zhǔn)庫函數(shù)基礎(chǔ)知識(shí);基于庫函數(shù)的軟件開發(fā)方法及演示。教學(xué)目標(biāo)是掌握嵌入式系統(tǒng)軟件開發(fā)環(huán)境,基于庫函數(shù)的編程基礎(chǔ)知識(shí)與技能。
知識(shí)模塊5:嵌入式操作系統(tǒng)基礎(chǔ)知識(shí)(6學(xué)時(shí))。知識(shí)點(diǎn)包括:嵌入式操作系統(tǒng)的作用;并發(fā)操作系統(tǒng)的概念;多任務(wù)與處理器之間關(guān)系的處理模型;任務(wù)的基本要素;操作系統(tǒng)下多任務(wù)開發(fā)方法。教學(xué)目標(biāo)是掌握嵌入式操作系統(tǒng)上進(jìn)行多任務(wù)開發(fā)的基本原理和基本方法。
實(shí)踐中發(fā)現(xiàn)若將操作系統(tǒng)中抽象的概念和原理融入案例中,采用動(dòng)畫演示,將復(fù)雜問題簡單化、抽象的理論具體化,6學(xué)時(shí)也能使學(xué)生理解嵌入式操作系統(tǒng)的相關(guān)概念和工作原理,為以后從事涉及嵌入式操作系統(tǒng)相關(guān)工作打下基礎(chǔ)。
實(shí)踐環(huán)節(jié)知識(shí)點(diǎn)包括:GPIO應(yīng)用實(shí)驗(yàn)、中斷應(yīng)用實(shí)驗(yàn)、串口通信應(yīng)用實(shí)驗(yàn)、定時(shí)器應(yīng)用實(shí)驗(yàn)、LCD與觸摸屏應(yīng)用實(shí)驗(yàn)、綜合性設(shè)計(jì)實(shí)驗(yàn)及課程設(shè)計(jì)。教學(xué)目標(biāo)是掌握常用嵌入式系統(tǒng)的軟件開發(fā)方法,學(xué)以致用,培養(yǎng)動(dòng)手能力和創(chuàng)新能力。
在實(shí)踐教學(xué)平臺(tái)上,采用帶有STM32F103ZE嵌入式處理器的開發(fā)板進(jìn)行實(shí)踐教學(xué)。該處理器是意法半導(dǎo)體公司推出的集成Cortex-M3內(nèi)核和多種片上外設(shè)的嵌入式處理器,當(dāng)前被廣泛使用。與傳統(tǒng)的實(shí)驗(yàn)相比,開發(fā)板具有成本低、攜帶方便、電路簡潔、易上手等優(yōu)點(diǎn)。在學(xué)期初為每組同學(xué)分發(fā)一套嵌入式系統(tǒng)開發(fā)板,供學(xué)生在整個(gè)學(xué)期內(nèi)自由練習(xí)使用。教師錄制嵌入式系統(tǒng)編程開發(fā)入門環(huán)節(jié)的演示視頻資源,供學(xué)生課下學(xué)習(xí),借以拓展課程教學(xué)的時(shí)間和空間。這種方式可操作性強(qiáng),能夠激發(fā)學(xué)生的學(xué)習(xí)興趣,很大程度上解決了嵌入式系統(tǒng)學(xué)習(xí)入門難的問題。
實(shí)踐教學(xué)內(nèi)容從難度和培養(yǎng)目標(biāo)上可分為三個(gè)層次。
第一層次是GPIO、串口等硬件應(yīng)用的基礎(chǔ)實(shí)驗(yàn)。目的是使學(xué)生了解嵌入式系統(tǒng)的開發(fā)流程,熟悉軟件開發(fā)環(huán)境,掌握基于庫函數(shù)開發(fā)嵌入式系統(tǒng)的編程方法。這部分實(shí)驗(yàn)教學(xué)穿插于各理論教學(xué)環(huán)節(jié)中,在對(duì)應(yīng)硬件資源理論知識(shí)講解之后進(jìn)行,使學(xué)生能夠及時(shí)將理論應(yīng)用于實(shí)踐,提高學(xué)習(xí)興趣。
第二層次是綜合實(shí)驗(yàn)。綜合應(yīng)用所學(xué)的知識(shí),實(shí)現(xiàn)一個(gè)給定任務(wù)的嵌入式系統(tǒng)應(yīng)用,如模擬糧倉溫/濕度采集顯示與報(bào)警系統(tǒng),車聯(lián)網(wǎng)應(yīng)用模擬等。這部分實(shí)驗(yàn)放在最后一個(gè)項(xiàng)目中進(jìn)行。教師給出任務(wù)目標(biāo)、任務(wù)分解、系統(tǒng)結(jié)構(gòu)設(shè)計(jì)等具體指導(dǎo),學(xué)生自己進(jìn)一步完成設(shè)計(jì)與實(shí)現(xiàn)。目的是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí)進(jìn)行嵌入式系統(tǒng)開發(fā)的能力。
第三層次是課程設(shè)計(jì)。以實(shí)驗(yàn)開發(fā)板為基礎(chǔ),通過增加外設(shè),實(shí)現(xiàn)功能完整的嵌入式系統(tǒng)應(yīng)用產(chǎn)品。學(xué)生自主選題,自主設(shè)計(jì)。教師提供學(xué)生所需的外設(shè)模塊,如指紋識(shí)別、GPS模塊、藍(lán)牙、WiFi、加速度計(jì)等幾十種硬件模塊,也會(huì)根據(jù)學(xué)生的設(shè)計(jì)方案購買相關(guān)硬件供學(xué)生使用。這部分實(shí)踐活動(dòng)由學(xué)生在課外時(shí)間完成,教師定期進(jìn)行線上、線下指導(dǎo),及時(shí)解決學(xué)生遇到的問題。最后安排學(xué)生進(jìn)行演示與答辯,并作為課程考核的一部分。在這個(gè)過程中,鼓勵(lì)學(xué)生進(jìn)行創(chuàng)新設(shè)計(jì),同時(shí)鼓勵(lì)創(chuàng)意較好的項(xiàng)目進(jìn)行創(chuàng)業(yè)項(xiàng)目拓展,參加競賽。教學(xué)目標(biāo)是提升學(xué)生綜合應(yīng)用所學(xué)知識(shí)能力,培養(yǎng)創(chuàng)新創(chuàng)業(yè)精神。
課程考核方式,借鑒OBE理念,以“平時(shí)過程考核+課程設(shè)計(jì)考核”并重形式進(jìn)行。平時(shí)過程考核部分包括出勤率、課堂表現(xiàn)和課內(nèi)實(shí)驗(yàn)表現(xiàn)等。課程設(shè)計(jì)考核不僅能考查學(xué)生的嵌入式系統(tǒng)綜合設(shè)計(jì)與開發(fā)能力,而且能夠促進(jìn)學(xué)生自學(xué),還能夠培養(yǎng)創(chuàng)新精神和創(chuàng)業(yè)意識(shí)。
本文提出的嵌入式系統(tǒng)教學(xué)內(nèi)容改革方案充分結(jié)合了人才市場需求、技術(shù)發(fā)展趨勢和電子信息類本科專業(yè)特點(diǎn),教學(xué)內(nèi)容完整、與時(shí)俱進(jìn)。實(shí)踐環(huán)節(jié)將基礎(chǔ)實(shí)驗(yàn)、綜合實(shí)驗(yàn)以及自主創(chuàng)新課程設(shè)計(jì)三個(gè)層次有機(jī)結(jié)合起來,既能提高學(xué)生的實(shí)踐能力,又能以項(xiàng)目驅(qū)動(dòng)形式培養(yǎng)學(xué)生的創(chuàng)新精神和創(chuàng)業(yè)意識(shí)。該教學(xué)內(nèi)容改革方案在河南大學(xué)電子信息類專業(yè)本科生中經(jīng)過了三年多的實(shí)踐檢驗(yàn),取得了良好的教學(xué)效果。學(xué)生能夠利用所學(xué)的嵌入式系統(tǒng)知識(shí)參加多種學(xué)科競賽,每年均有多名同學(xué)獲省級(jí)以上獎(jiǎng)勵(lì),畢業(yè)生也獲得了多家用人單位的肯定。