粱宜勇 王曉萍 趙文義 劉玉玲 王立強(qiáng)
摘要:“嵌入式系統(tǒng)”是較新興的課程,在理論與實(shí)踐教學(xué)上正處于不斷的成熟中。在理論教學(xué)中,通過引入比較式教學(xué),使學(xué)生得以更好地理解和吸收新知識(shí);在教學(xué)內(nèi)容上可以靈活地根據(jù)教學(xué)目標(biāo)進(jìn)行裁剪,當(dāng)學(xué)時(shí)數(shù)有限時(shí),教學(xué)深度與廣度上宜適度收斂;實(shí)踐內(nèi)容要反映遞進(jìn)式教學(xué)特點(diǎn),同時(shí)避免實(shí)驗(yàn)內(nèi)容的高級(jí)單片機(jī)化;在與專業(yè)結(jié)合方面,應(yīng)努力將專業(yè)特點(diǎn)融入嵌入式系統(tǒng)課程的教學(xué)中去。
關(guān)鍵詞:嵌入式系統(tǒng);比較式教學(xué);教學(xué)內(nèi)容裁剪;遞進(jìn)式實(shí)踐環(huán)節(jié);專業(yè)融合
“嵌入式系統(tǒng)”課程是“微機(jī)原理”課程的后續(xù)課程,在教學(xué)、實(shí)驗(yàn)、教材等方面,后者比前者更為成熟和規(guī)范,這是因?yàn)椤拔C(jī)原理”課程已有幾十年的發(fā)展,而“嵌入式系統(tǒng)”課程則是較新興的課程。由于社會(huì)和專業(yè)的雙重需要,許多學(xué)校的理工專業(yè)陸續(xù)開設(shè)了這門課程。浙江大學(xué)的光電專業(yè)本科,本著貫徹浙江大學(xué)“KAQ”(知識(shí)、能力、素質(zhì))并重、“寬專交”并行的人才培養(yǎng)理念,也開始引入“嵌入式系統(tǒng)”這門課程,使光電專業(yè)本科的學(xué)生在微機(jī)類課程的發(fā)展和光電知識(shí)的交叉上更進(jìn)一步。為了更好地貫徹“教學(xué)服務(wù)于學(xué)生”的宗旨,我們對(duì)“嵌入式系統(tǒng)”課程進(jìn)行了初步的探索和研究,以期起到拋磚引玉的作用。
一、比較式教學(xué)方法
“嵌入式系統(tǒng)”與“微機(jī)原理”課程一脈相承,卻有一定的區(qū)別。就處理器而言,一般前者選ARM處理器,后者選MCS-51單片機(jī),二者在體系結(jié)構(gòu)上有較大差別,如支持的數(shù)據(jù)類型、寄存器組織、處理器模式、尋址方式及指令集等;在軟件上,“嵌入式系統(tǒng)”課程一般要討論操作系統(tǒng)以及復(fù)雜的啟動(dòng)程序問題,而“微機(jī)原理”課程則不涉及操作系統(tǒng)或啟動(dòng)程序問題;在硬件上,嵌入式處理器芯片的功能強(qiáng)大,接口、外設(shè)眾多,導(dǎo)致出現(xiàn)數(shù)百個(gè)寄存器,是單片機(jī)所不能相比的。
盡管如此,二者仍有許多共性的和相互聯(lián)系的地方,因此在教學(xué)上可以采用比較式教學(xué)法。
比較式教學(xué)法的前提是學(xué)生已經(jīng)修讀過微機(jī)原理類課程,這在許多已開設(shè)或即將開設(shè)嵌入式系統(tǒng)類課程的專業(yè)中基本能保證。已修過微機(jī)原理類課程的學(xué)生,對(duì)微機(jī)如51單片機(jī)的體系結(jié)構(gòu)、軟硬件模型有清晰的認(rèn)識(shí)和輪廓感,在學(xué)習(xí)類似的“嵌入式系統(tǒng)”課程時(shí),下意識(shí)地會(huì)用已學(xué)的微機(jī)課程知識(shí)作比較性理解。比如:嵌入式處理器的尋址方式和51單片機(jī)相比是交叉的:51系統(tǒng)有中斷,嵌入式系統(tǒng)則有類似的概念但稱為異常:51指令集是變長的,但嵌入式體系如ARM指令集是等長的。這些具有比較性的問題不僅學(xué)生會(huì)思考。教師在教學(xué)時(shí)更應(yīng)主動(dòng)提及并作出比較性解釋,這對(duì)學(xué)生的理解、記憶和深入學(xué)習(xí)是非常有益的。
我們?cè)诮虒W(xué)中發(fā)現(xiàn),適當(dāng)?shù)谋容^性講解,有利于學(xué)生快速適應(yīng)和接受“嵌入式系統(tǒng)”這門新課程。
二、教學(xué)內(nèi)容的裁剪
如上所提,“嵌入式系統(tǒng)”課程沒有“微機(jī)原理”課程成熟和規(guī)范,這使各個(gè)學(xué)校、各個(gè)專業(yè)在教學(xué)內(nèi)容的取舍上并不統(tǒng)一,而且相差很大。有些學(xué)?;?qū)I(yè)注重概念講解,偏向于基礎(chǔ)性的入門教學(xué);有些則把重點(diǎn)放在體系結(jié)構(gòu)這一塊,不講具體嵌入式芯片;有些則把嵌入式操作系統(tǒng)作為主講內(nèi)容:有些則以某流行嵌入式處理器為中心,進(jìn)行應(yīng)用性講解。眾多的內(nèi)容取向表現(xiàn)為相應(yīng)的教材也是五花八門,和“微機(jī)原理”教材相比,尋找一本合適的符合教學(xué)目標(biāo)的嵌入式系統(tǒng)教材并不容易。另外,不同的內(nèi)容取向也會(huì)導(dǎo)致不同的教學(xué)深度。
在我們具有試驗(yàn)性的選修課教學(xué)中,學(xué)生反映學(xué)習(xí)難度太大。這一方面是課程設(shè)置的學(xué)時(shí)偏少,理論課時(shí)為24學(xué)時(shí),另一方面是由于學(xué)習(xí)內(nèi)容太多且部分內(nèi)容講解太深。在該選修課中,內(nèi)容涉及ARM體系結(jié)構(gòu)、程序設(shè)計(jì)、ARM9芯片、操作系統(tǒng)四大塊,當(dāng)面面俱到時(shí),內(nèi)容確會(huì)顯得過于廣泛和深入。在實(shí)際的理論教學(xué)中,為了既能達(dá)到教學(xué)目標(biāo)又能獲得良好的教學(xué)效果,在教學(xué)內(nèi)容的廣度和深度上作適度收斂是必要的。在教學(xué)內(nèi)容上,各個(gè)專業(yè)可以根據(jù)自己的教學(xué)目標(biāo)及給定的課時(shí)數(shù),對(duì)教學(xué)內(nèi)容本身的深度、廣度進(jìn)行適當(dāng)裁剪,以達(dá)到學(xué)生能順利接受新知識(shí)為準(zhǔn)。
實(shí)際上,上述反映的在嵌入式系統(tǒng)教學(xué)內(nèi)容、教材及深度等方面的問題具有一定的普遍性。在嵌入式系統(tǒng)類課程達(dá)到微機(jī)原理類課程的成熟度之前,各高校、各專業(yè)從不斷的教學(xué)實(shí)踐中得出經(jīng)驗(yàn)并進(jìn)行共享討論是非常有價(jià)值的。
三、遞進(jìn)式的實(shí)踐環(huán)節(jié)
實(shí)踐環(huán)節(jié)是課程教學(xué)不可或缺的部分,尤其對(duì)于“嵌入式系統(tǒng)”這樣抽象難懂的課程。實(shí)踐環(huán)節(jié)的主要過程是實(shí)驗(yàn),而實(shí)驗(yàn)內(nèi)容的選取與分布,對(duì)課程的教學(xué)效果有很大影響。
微機(jī)原理類課程的硬件實(shí)驗(yàn)內(nèi)容,大都是通過用匯編語言編程來認(rèn)識(shí)所學(xué)單片機(jī)各功能單元的工作特性,各個(gè)實(shí)驗(yàn)的關(guān)系與難度基本是平行的。在嵌入式系統(tǒng)的實(shí)驗(yàn)中,如果僅停留在類似“微機(jī)原理”課程的實(shí)驗(yàn)內(nèi)容是不夠的,因?yàn)檫@樣不能反映嵌入式芯片的特色,如支持復(fù)雜嵌入式操作系統(tǒng)等,并且很容易將嵌入式芯片作高級(jí)單片機(jī)化。
在我們購置的實(shí)驗(yàn)系統(tǒng)中,可以開設(shè)許多實(shí)驗(yàn),基礎(chǔ)實(shí)驗(yàn)有:AD接口實(shí)驗(yàn)、DA接口實(shí)驗(yàn)、鍵盤與LED接口實(shí)驗(yàn)、直流電機(jī)與步進(jìn)電機(jī)控制實(shí)驗(yàn)、RS485通訊實(shí)驗(yàn)、CAN總線通訊實(shí)驗(yàn)等。但除基礎(chǔ)實(shí)驗(yàn)外的大多數(shù)實(shí)驗(yàn)是基于嵌入式Linux操作系統(tǒng)開發(fā)環(huán)境之上的,如驅(qū)動(dòng)模塊實(shí)驗(yàn)、BootLoader的編譯與燒錄、Linux內(nèi)核的移植與編譯等。學(xué)生對(duì)各部分實(shí)驗(yàn)的難度感受是非常明顯的,如基礎(chǔ)性實(shí)驗(yàn),雖然實(shí)驗(yàn)開發(fā)環(huán)境已從原來的Keil uVision過渡到了ADS集成開發(fā)環(huán)境,甚至開發(fā)語言也從匯編語言過渡到了C語言,但學(xué)生能很好地適應(yīng),這與他們?cè)凇拔C(jī)原理”課程中取得的訓(xùn)練有關(guān)。但當(dāng)進(jìn)入嵌入式Linux開發(fā)環(huán)境的實(shí)驗(yàn)時(shí),學(xué)生在實(shí)驗(yàn)中表現(xiàn)出明顯的困難,這是因?yàn)長inux操作系統(tǒng)對(duì)大多數(shù)學(xué)生是陌生的,而且實(shí)驗(yàn)中所涉及的知識(shí)面非常廣泛,甚至使有些同學(xué)感到舉步維艱。
鑒于此,嵌入式系統(tǒng)類課程的實(shí)驗(yàn)內(nèi)容應(yīng)是遞進(jìn)式的,也就是先安排若干基礎(chǔ)實(shí)驗(yàn),然后安排適量中級(jí)實(shí)驗(yàn)內(nèi)容如驅(qū)動(dòng)程序開發(fā),最后是少量提高實(shí)驗(yàn)如非常重要的啟動(dòng)程序?qū)嶒?yàn)、建立于操作系統(tǒng)開發(fā)環(huán)境之上的簡(jiǎn)單程序開發(fā)等。對(duì)于比較容易的實(shí)驗(yàn),強(qiáng)調(diào)深入理解:對(duì)于比較深的實(shí)驗(yàn),強(qiáng)調(diào)理解過程即可。這一方面使學(xué)生對(duì)難度的把握和適應(yīng)有個(gè)循序漸進(jìn)的過程,另一方面保證了學(xué)生對(duì)嵌入式系統(tǒng)特色知識(shí)的完整認(rèn)識(shí)。隨著教學(xué)實(shí)踐的不斷發(fā)展,實(shí)驗(yàn)內(nèi)容、分布甚至實(shí)驗(yàn)開發(fā)環(huán)境等也應(yīng)做出適度變化,以適應(yīng)教學(xué)目標(biāo)、社會(huì)需求等的變化。
除了在實(shí)驗(yàn)室做實(shí)驗(yàn),還可在實(shí)踐環(huán)節(jié)引入其他手段來加強(qiáng)學(xué)生在該課程的訓(xùn)練,如建立以PROTEUS軟件為核心構(gòu)建的虛擬實(shí)驗(yàn)室便是手段之一。PROTEUS最大特點(diǎn)是可以同時(shí)仿真模擬電路、數(shù)字電路和MCU,可以滿足對(duì)一般的嵌入式系統(tǒng)硬件實(shí)驗(yàn)的仿真。
四、課程與專業(yè)的融合
就“嵌入式系統(tǒng)”課程本身而言,其知識(shí)點(diǎn)是不以學(xué)生所處的專業(yè)而變化的,但在具體的教學(xué)當(dāng)中,可以將知識(shí)點(diǎn)和學(xué)生的專業(yè)進(jìn)行融合。
以光電專業(yè)本科的“嵌入式系統(tǒng)”課程而言,其教學(xué)目標(biāo)和其他工科專業(yè)應(yīng)是大致相同的,但在具體教學(xué)實(shí)踐中,可有意識(shí)地引入與光電專業(yè)相關(guān)的教學(xué)案例、實(shí)驗(yàn)構(gòu)建,以激發(fā)和建立學(xué)生的學(xué)習(xí)興趣和良好的專業(yè)歸屬感。比如,教師可以將從事過的基于嵌入式系統(tǒng)的光學(xué)儀器、光電檢測(cè)系統(tǒng)的設(shè)計(jì)科研過程作為例子,與教學(xué)內(nèi)容相結(jié)合進(jìn)行講解,必定是生動(dòng)且富有真實(shí)感;又比如,在可能的情況下對(duì)某些實(shí)驗(yàn)進(jìn)行光電相關(guān)的重新設(shè)計(jì)和構(gòu)建,使學(xué)生對(duì)嵌入式系統(tǒng)在光電系統(tǒng)的應(yīng)用有感性和理性的認(rèn)識(shí)。
除了理論教學(xué),我們還鼓勵(lì)學(xué)生積極參與第二課堂,在各種與專業(yè)相關(guān)的實(shí)踐如光電設(shè)計(jì)大賽、電子競(jìng)賽、機(jī)械競(jìng)賽、SRTP、省新苗計(jì)劃、國家創(chuàng)新項(xiàng)目等活動(dòng)中,努力將嵌入式知識(shí)融入和應(yīng)用到這些系統(tǒng)中去,以在嵌入式系統(tǒng)的教學(xué)實(shí)踐中起到很好的示范和榜樣作用。
五、課程教學(xué)與實(shí)踐改革初顯效果
比較式教學(xué)使學(xué)生較自然地從51微機(jī)原理過渡到嵌入式系統(tǒng)的學(xué)習(xí),并從比較學(xué)習(xí)中加深了對(duì)相關(guān)概念的理解。
教學(xué)內(nèi)容在保證教學(xué)目標(biāo)的前提下,進(jìn)行更適合學(xué)生學(xué)習(xí)的裁剪,保留了并增強(qiáng)了ARM體系結(jié)構(gòu)等基本知識(shí)的教學(xué),對(duì)嵌入式操作系統(tǒng)的內(nèi)容則有所縮減,對(duì)具體嵌入式芯片的外圍設(shè)各則有選擇性地講解,避免大而全。經(jīng)過這樣的裁剪,學(xué)生的接受度得到了提高。
在實(shí)驗(yàn)內(nèi)容方面,保留少量嵌入式操作系統(tǒng)環(huán)境下的實(shí)驗(yàn),不求學(xué)生能深入理解,但要給學(xué)生建立些感性認(rèn)識(shí):在基礎(chǔ)實(shí)驗(yàn)方面則要求深入,比如能通過修改源程序以達(dá)到設(shè)計(jì)要求。