張凱龍
(西北工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,陜西 西安 710129)
嵌入式系統(tǒng)、物聯(lián)網(wǎng)、人工智能等信息技術(shù)的快速發(fā)展推動(dòng)了諸多行業(yè)從數(shù)字化、網(wǎng)絡(luò)化階段快速邁向物聯(lián)化、智能化階段,多學(xué)科知識(shí)交叉、人機(jī)物深度互聯(lián)、信息與物理世界深度融合的萬物智聯(lián)時(shí)代已經(jīng)到來。嵌入式系統(tǒng)的不斷發(fā)展為幾乎所有的電子設(shè)備行業(yè)注入了新的活力,在推動(dòng)諸多傳統(tǒng)行業(yè)日益智能化升級(jí)發(fā)展的同時(shí),可穿戴設(shè)備、智能家居及各類共享裝備等基于嵌入式系統(tǒng)技術(shù)的新興領(lǐng)域和行業(yè)也在不斷涌現(xiàn)。這一趨勢(shì)孕育出了巨大的潛在產(chǎn)業(yè)空間,也對(duì)專業(yè)人才提出了更多數(shù)量、更優(yōu)品質(zhì)的迫切需求。
面對(duì)不斷演化的新特征和新需求,嵌入式系統(tǒng)人才培養(yǎng)的內(nèi)涵也在不斷發(fā)展與更新,那么,如何適應(yīng)新形勢(shì)來組織嵌入式課程知識(shí)體系和教學(xué)模式已經(jīng)引起了高校與廣大教師的關(guān)注:文獻(xiàn)[1]研究探討了在電子信息類專業(yè)開展嵌入式系統(tǒng)教學(xué)改革的思路,并結(jié)合人才需要探索將嵌入式系統(tǒng)貫穿到整個(gè)課程培養(yǎng)體系的方法和模式;文獻(xiàn)[2]面向卓越人才培養(yǎng)特點(diǎn),提出了一種具有明確教學(xué)目標(biāo)、先進(jìn)教學(xué)理念、教學(xué)評(píng)價(jià)激勵(lì)機(jī)制,且可以有效優(yōu)化教學(xué)方法、提升教學(xué)質(zhì)量和教學(xué)效果的教學(xué)模式,期望促進(jìn)嵌入式系統(tǒng)教學(xué)體系的完善;文獻(xiàn)[3]則圍繞培養(yǎng)面向?qū)嵺`創(chuàng)新人才的目標(biāo),探索了課程教學(xué)環(huán)節(jié)及實(shí)踐模式的改革方法;文獻(xiàn)[4]結(jié)合面向系統(tǒng)的教學(xué)體系特點(diǎn),探討了如何通過教學(xué)與實(shí)驗(yàn)使學(xué)生能夠?qū)⒂?jì)算機(jī)軟硬件系統(tǒng)相關(guān)知識(shí)融會(huì)貫通,并提高學(xué)生深入理解計(jì)算機(jī)系統(tǒng)和綜合系統(tǒng)設(shè)計(jì)能力的方法;文獻(xiàn)[5]也圍繞系統(tǒng)能力培養(yǎng)對(duì)嵌入式系統(tǒng)課程的建設(shè)思路進(jìn)行了探索,分別改進(jìn)了理論教學(xué)與實(shí)驗(yàn)教學(xué)部分的內(nèi)容設(shè)計(jì)與組織模式;文獻(xiàn)[6-7]圍繞系統(tǒng)化思維與能力培養(yǎng),對(duì)嵌入式系統(tǒng)課程的知識(shí)體系的重構(gòu)進(jìn)行了探索。這些研究工作已經(jīng)從面向系統(tǒng)能力培養(yǎng)的知識(shí)體系、教學(xué)模式、實(shí)踐環(huán)節(jié)等方面進(jìn)行了積極實(shí)踐,為開展更進(jìn)一步的探索奠定了好的基礎(chǔ)。
梳理、構(gòu)建多維融合的嵌入式系統(tǒng)知識(shí)體系是開展系統(tǒng)化思維與能力培養(yǎng)的重要前提。從系統(tǒng)角度來看,嵌入式系統(tǒng)的知識(shí)涵蓋了硬件、軟件、開發(fā)三個(gè)主要組成部分,其知識(shí)體系組織要以硬件組成與構(gòu)建、軟件組成與構(gòu)建,以及開發(fā)中的調(diào)試、測(cè)試與仿真等內(nèi)容為核心體系。從計(jì)算系統(tǒng)角度來看,嵌入式系統(tǒng)以計(jì)算機(jī)技術(shù)為基礎(chǔ),呈現(xiàn)出面向特定應(yīng)用、軟硬件可定制且具有非功能性約束等特征,是專用的計(jì)算裝置。從形態(tài)來看,嵌入式系統(tǒng)由不同復(fù)雜程度的軟硬件構(gòu)成:電動(dòng)玩具、冰箱空調(diào)中的控制系統(tǒng)以功能較為簡(jiǎn)單的微控制器為核心,直接部署用于邏輯運(yùn)算和I/O 控制的裸機(jī)軟件;對(duì)于智能手機(jī)、數(shù)字電視等功能更為復(fù)雜且需要多任務(wù)并發(fā)服務(wù)的嵌入式應(yīng)用,其嵌入式系統(tǒng)通常會(huì)采用更為強(qiáng)大的嵌入式處理器,并基于嵌入式操作系統(tǒng)來部署復(fù)雜的應(yīng)用軟件;對(duì)于虛擬現(xiàn)實(shí)、智能駕駛、航空航天等復(fù)雜領(lǐng)域應(yīng)用,則可能需要構(gòu)建分布式或并行架構(gòu)的嵌入式系統(tǒng)。顯然,嵌入式系統(tǒng)不同于架構(gòu)較為單一的通用計(jì)算系統(tǒng),其技術(shù)本身以及應(yīng)用都是形態(tài)多樣、不斷演化的。
作為一門強(qiáng)調(diào)“系統(tǒng)”的課程,嵌入式系統(tǒng)的知識(shí)體系具有高度綜合的系統(tǒng)化特質(zhì),可結(jié)合嵌入式系統(tǒng)的軟硬件組成來進(jìn)行討論:首先,嵌入式系統(tǒng)硬件本身的知識(shí)體系覆蓋就非常廣泛,涵蓋了電路設(shè)計(jì)基礎(chǔ)、數(shù)字電路、計(jì)算機(jī)組成與體系結(jié)構(gòu)、總線與接口以及處理器體系、存儲(chǔ)機(jī)制與組件、基于最小系統(tǒng)的設(shè)計(jì)與調(diào)試等;其次,嵌入式軟件部分具有與硬件密切關(guān)聯(lián)且同樣龐大的知識(shí)體系,僅系統(tǒng)軟件(包)而言,就涉及ROM Monitor(監(jiān)控程序固件)、Boot Loader、BSP、嵌入式(實(shí)時(shí))操作系統(tǒng)、驅(qū)動(dòng)軟件、通信協(xié)議棧、圖形庫、數(shù)據(jù)庫及中間件等多類組件,這些軟件組件在開發(fā)或者系統(tǒng)引導(dǎo)、啟動(dòng)的過程中彼此關(guān)聯(lián);最后,嵌入式系統(tǒng)還包括了開發(fā)、集成、調(diào)試、測(cè)試與部署等相關(guān)的知識(shí)。由此可見,嵌入式系統(tǒng)課程的知識(shí)體系高度綜合,必須要首先構(gòu)建起縱向連通、橫向拓展、深度穿透的多維、立體知識(shí)體系,這是進(jìn)行系統(tǒng)化思維和能力培養(yǎng)的基石。
除了知識(shí)構(gòu)成上的綜合化特質(zhì)之外,這些知識(shí)點(diǎn)之間還具有密切的系統(tǒng)化關(guān)聯(lián)特性,該特性的發(fā)掘可以有效促進(jìn)學(xué)生對(duì)所學(xué)內(nèi)容的融通掌握,這涉及課程內(nèi)容的構(gòu)建和教學(xué)過程的重新設(shè)計(jì)。
對(duì)于嵌入式系統(tǒng)課程如此龐大的知識(shí)體系,傳統(tǒng)的教學(xué)方式存在不足。經(jīng)過多年的教學(xué)探索,筆者認(rèn)為其內(nèi)容組織首要的是深度發(fā)掘知識(shí)點(diǎn)之間的內(nèi)在聯(lián)系,以循序漸進(jìn)的邏輯組織建立起知識(shí)網(wǎng)絡(luò)或者是知識(shí)樹,這是避免知識(shí)點(diǎn)割裂對(duì)課程系統(tǒng)特質(zhì)造成破壞的重要前提,如復(fù)位電路、處理器復(fù)位邏輯與系統(tǒng)引導(dǎo)、軟件加載的關(guān)聯(lián),電源電路、時(shí)鐘電路與低功耗管理的關(guān)聯(lián),監(jiān)控程序、引導(dǎo)程序、操作系統(tǒng)、虛擬機(jī)之間的關(guān)聯(lián)等。在此基礎(chǔ)上,還必須建立呼應(yīng)式的教學(xué)過程,要注意以特定軟硬件運(yùn)行過程為例進(jìn)行講述,從而實(shí)現(xiàn)知識(shí)點(diǎn)的融通,如通過分析嵌入式系統(tǒng)引導(dǎo)過程,就可以生動(dòng)地將上電復(fù)位、ROM/Flash 指令尋址、基本的接口與內(nèi)存初始化、引導(dǎo)代碼加載,以及監(jiān)控程序、引導(dǎo)程序到操作系統(tǒng)的增量式接口驅(qū)動(dòng)、內(nèi)存模式配置以及軟件組件等知識(shí)點(diǎn)有機(jī)地串聯(lián)起來。在教學(xué)實(shí)踐中,學(xué)生普遍反映這樣的方式更為生動(dòng),更有助于對(duì)知識(shí)體系的掌握。
當(dāng)然,嵌入式系統(tǒng)專業(yè)人才最終是必須要具備將嵌入式系統(tǒng)的知識(shí)體系與領(lǐng)域知識(shí)相融合的能力。相較而言,這是一種更為廣義的系統(tǒng)化能力,在課程教學(xué)過程中有必要對(duì)學(xué)生進(jìn)行引導(dǎo)和啟發(fā)。
嵌入式系統(tǒng)是典型的工科、技術(shù)型課程,對(duì)該課程的學(xué)習(xí)要側(cè)重于對(duì)各種技術(shù)的運(yùn)用,但這種技術(shù)型教學(xué)模式會(huì)產(chǎn)生無法有效激發(fā)學(xué)生主動(dòng)思考、主動(dòng)學(xué)習(xí)等問題,造成課程培養(yǎng)能力的浪費(fèi),根本上也已不適應(yīng)強(qiáng)調(diào)專業(yè)思維和系統(tǒng)能力的高水平專業(yè)人才培養(yǎng)新要求。嵌入式系統(tǒng)課程的課堂到底應(yīng)該突出什么主題、以什么為核心思想進(jìn)行組織呢?在多年的教學(xué)嘗試和探索中,筆者發(fā)現(xiàn)有必要將該課程的教學(xué)從講授技術(shù)向傳授思想方法轉(zhuǎn)型。主要原因有3 個(gè):①嵌入式系統(tǒng)不斷發(fā)展,基礎(chǔ)技術(shù)不再是新概念、新事物,已演化為共性基礎(chǔ);②嵌入式系統(tǒng)技術(shù)體系形態(tài)多樣、千變?nèi)f化,聚焦任何具體技術(shù)都無法有效達(dá)成系統(tǒng)化思維與能力的培養(yǎng)要求;③各種教材、手冊(cè)及技術(shù)類電子資源日益豐富,學(xué)生完全可以通過互聯(lián)網(wǎng)獲取資源并自學(xué),比有限課時(shí)內(nèi)的講述更透徹、更生動(dòng)、更有效。
嵌入式系統(tǒng)的知識(shí)體系包羅萬象,從軟硬件體系架構(gòu)到處理器、存儲(chǔ)器、各類接口與總線、嵌入式操作系統(tǒng)與軟件組件、領(lǐng)域應(yīng)用都是百花齊放的,每一個(gè)點(diǎn)都自成體系、可成為一門課程,講什么、怎么講就成為嵌入式系統(tǒng)課程教學(xué)過程中長(zhǎng)期存在的困惑。常見的課程組織有兩種典型方式。一種是“只見樹木、不見森林”型,其課程體系聚焦于特定的對(duì)象,如某種主流的ARM 處理器或是VxWorks 操作系統(tǒng)等。這種類型的課程偏向?qū)嵱眯停梢宰寣W(xué)生學(xué)習(xí)掌握該類技術(shù)的體系、細(xì)節(jié)和使用方法,但難免陷入一葉障目、照本宣科的情形。另一種是“只見森林、不見樹木”型,其課程是以嵌入式系統(tǒng)體系為框架進(jìn)行組織,這種課程體系表面上看是貫穿了系統(tǒng)思維培養(yǎng),但實(shí)際上要在有限的篇幅內(nèi)做到體系完善且具有深度是有難度的,常常會(huì)導(dǎo)致課程講授流于表面、內(nèi)容空洞的問題。在對(duì)這些問題進(jìn)行深入探索和研究的基礎(chǔ)上,筆者總結(jié)并提出:嵌入式系統(tǒng)課程的教學(xué)必須在構(gòu)建體系的前提下將技術(shù)原理與思想方法、課內(nèi)講授與課外自學(xué)有機(jī)結(jié)合起來,這是適應(yīng)新時(shí)期培養(yǎng)要求的有效途徑。
經(jīng)過多年的探索和驗(yàn)證,筆者認(rèn)為先共性模型后具體對(duì)象是解決嵌入式系統(tǒng)因形態(tài)多元導(dǎo)致本課程教學(xué)難度大問題的有效方法。在教學(xué)過程中,要避免將注意力聚焦在每一個(gè)具體技術(shù)的表面(如接口定義、參數(shù)范圍、調(diào)用方法等內(nèi)容),而是要相信學(xué)生的能力,力爭(zhēng)直達(dá)知識(shí)點(diǎn)的原理和思想本質(zhì)(如嵌入式處理器體系有諸多類型,每種類型又包含了數(shù)十上百種具體型號(hào)),這對(duì)以物言物的傳統(tǒng)教學(xué)方法實(shí)在是個(gè)難題。筆者在重構(gòu)知識(shí)體系的過程中[7],便是采用了共性模型歸納、具體示例呼應(yīng)的方式來組織該部分內(nèi)容。從模型講,可以歸納出嵌入式處理器的組成模型、體系架構(gòu)以及指令與指令集、寄存器等共性內(nèi)容,在此基礎(chǔ)上,采用典型實(shí)例將這些模型具體化,促進(jìn)學(xué)生的理解和掌握。實(shí)際上,嵌入式操作系統(tǒng)等內(nèi)容的學(xué)習(xí)也與之類似。當(dāng)然,這其中也蘊(yùn)含了學(xué)生如何有效進(jìn)行課程學(xué)習(xí)的思路和方法。又如,學(xué)習(xí)看門狗電路是學(xué)習(xí)如何設(shè)計(jì)具有自恢復(fù)能力的可靠系統(tǒng),而不僅是采用器件來搭建看門狗電路。由此,可以將看門狗思想延伸至可靠復(fù)雜軟硬件的設(shè)計(jì),用諸如心跳任務(wù)來實(shí)現(xiàn)與/或邏輯的多任務(wù)可靠管理等。學(xué)習(xí)嵌入式操作系統(tǒng)的分區(qū)存儲(chǔ)管理技術(shù)應(yīng)重點(diǎn)學(xué)習(xí)面向確定型應(yīng)用提前分配資源,用資源開銷來提升系統(tǒng)的效率和可靠性,而不應(yīng)僅是學(xué)習(xí)如何調(diào)用API來創(chuàng)建、分配、回收、銷毀分區(qū)?;诜謪^(qū)管理思想,我們就可以設(shè)計(jì)類似的任務(wù)生命期管理機(jī)制,避免傳統(tǒng)方式下創(chuàng)建、銷毀任務(wù)造成的效率降低和可能出現(xiàn)的邏輯錯(cuò)誤。再如,優(yōu)先級(jí)繼承是解決多任務(wù)系統(tǒng)中優(yōu)先級(jí)翻轉(zhuǎn)問題的有效方法,但其思想對(duì)于物理世界中的某些場(chǎng)景也是同樣有效的,如用以解決救護(hù)車、公交車、私家車等不同緊急級(jí)別車輛的通行調(diào)度問題[8]。這樣的示例在嵌入式系統(tǒng)知識(shí)體系中極為豐富,需要我們?cè)诮虒W(xué)中不斷研究和發(fā)掘,進(jìn)而通過思想的學(xué)習(xí)來充分放大這些知識(shí)的效用。
顯然,聚焦思想的講授能有效放大課程學(xué)習(xí)的效能,但接下來的問題在于,如果課程的教學(xué)僅限于課堂且僅限于教師在課堂的理論講授,嵌入式系統(tǒng)的教學(xué)將可能脫離實(shí)際,是無法有效激活學(xué)生積極性并落地的。為了進(jìn)一步提升系統(tǒng)思維與能力培養(yǎng)的效果,筆者探索了思想講授與方法自學(xué)相結(jié)合的教學(xué)組織模式。實(shí)際上,這種課內(nèi)學(xué)時(shí)、課外學(xué)時(shí)相結(jié)合并非一個(gè)全新模式。在教學(xué)探索中,筆者結(jié)合嵌入式系統(tǒng)課程的知識(shí)體系特點(diǎn)及系統(tǒng)能力培養(yǎng)目標(biāo)對(duì)該模式進(jìn)行了定制化改進(jìn),課內(nèi)聚焦思想原理、課外側(cè)重運(yùn)用方法。這主要包括兩個(gè)方面:①基于構(gòu)建的多維知識(shí)體系,梳理各知識(shí)點(diǎn)的思想、方法、運(yùn)用內(nèi)涵,并對(duì)學(xué)習(xí)側(cè)重點(diǎn)進(jìn)行有效分割;②在課堂講授思想方法的同時(shí),要引入實(shí)例來引導(dǎo)學(xué)生主動(dòng)學(xué)習(xí)的意識(shí),并通過課后自學(xué)來全面掌握運(yùn)用方法,如“搭積木”式的硬件、軟件設(shè)計(jì)思想,讓學(xué)生掌握了框架設(shè)計(jì)及關(guān)鍵技術(shù)的原理,但如何將技術(shù)“填充”到框架中以形成系統(tǒng),則需要學(xué)生在課外投入大量的精力進(jìn)行鉆研。
近年來的教學(xué)反饋表明,學(xué)生普遍反映改革后的嵌入式系統(tǒng)課程學(xué)習(xí)耗時(shí)間、“負(fù)擔(dān)”重,但同時(shí)也反映學(xué)習(xí)本課程的收益較之前更大。這說明,這一方法的大趨勢(shì)是正確的,值得繼續(xù)探索和優(yōu)化。
在探索中,筆者圍繞系統(tǒng)化思維與能力培養(yǎng)的需要對(duì)嵌入式系統(tǒng)課程的內(nèi)容組織、教學(xué)模式進(jìn)行了改革和優(yōu)化,但本質(zhì)上,該培養(yǎng)環(huán)節(jié)中仍然不能弱化其工科特色。也就是說,課程的落地最終還要依托于實(shí)踐環(huán)節(jié)來實(shí)現(xiàn)專業(yè)能力培養(yǎng)的落地。配合課程教學(xué)模式的改革,筆者在教學(xué)過程中探索了面向激發(fā)學(xué)生主動(dòng)學(xué)習(xí)興趣、系統(tǒng)能力培養(yǎng)以及分類能力提升的多維融合實(shí)踐體系。首先,在課堂上引入了豐富的科研、工程案例分析,既有助于知識(shí)點(diǎn)從抽象到具體的生動(dòng)轉(zhuǎn)化,也有助于引導(dǎo)、激發(fā)學(xué)生的學(xué)習(xí)興趣,可以說,脫離實(shí)例的理論講授不適合嵌入式系統(tǒng)課程的教學(xué)。其次,設(shè)立了隨課設(shè)計(jì)這一實(shí)踐環(huán)節(jié),該環(huán)節(jié)可看作是課后作業(yè)的一種,貫穿整個(gè)教學(xué)過程。隨課設(shè)計(jì)環(huán)節(jié)要求學(xué)生在課程之初就進(jìn)行分組并選定一個(gè)“難度不大但體系完整的系統(tǒng)設(shè)計(jì)”作為選題。在課程進(jìn)行中,以“從最小系統(tǒng)做起、循序漸進(jìn)”的方式增量地將所學(xué)內(nèi)容融入系統(tǒng)設(shè)計(jì)。這種模式可有效激發(fā)學(xué)生課外學(xué)習(xí)的主動(dòng)性,促進(jìn)基礎(chǔ)知識(shí)和方法的掌握。最后,課程后期的綜合實(shí)驗(yàn)環(huán)節(jié),該環(huán)節(jié)以專業(yè)實(shí)驗(yàn)平臺(tái)為基礎(chǔ),支持學(xué)生進(jìn)行更為復(fù)雜的軟硬件系統(tǒng)性實(shí)驗(yàn),側(cè)重于基于復(fù)雜嵌入式軟件的資源訪問、機(jī)制運(yùn)用、邏輯算法、用戶界面等設(shè)計(jì)。到此為止,這3 個(gè)融合的實(shí)驗(yàn)環(huán)節(jié)可以滿足對(duì)嵌入式系統(tǒng)專業(yè)人才實(shí)踐化培養(yǎng)的要求。另外,作為課外培養(yǎng)的延伸,鼓勵(lì)、指導(dǎo)優(yōu)秀學(xué)生參加創(chuàng)新創(chuàng)業(yè)大賽、全國(guó)大學(xué)生物聯(lián)網(wǎng)設(shè)計(jì)大賽等專業(yè)競(jìng)賽,同時(shí)鼓勵(lì)學(xué)生進(jìn)一步發(fā)表學(xué)術(shù)論文并申報(bào)國(guó)家專利等,這些措施可以啟發(fā)和培養(yǎng)學(xué)生的創(chuàng)新思維與系統(tǒng)能力。實(shí)踐表明,這種方式可以有效拓展優(yōu)秀學(xué)生品質(zhì)培養(yǎng)的維度,也為其后續(xù)開展研究工作奠定了好的基礎(chǔ)。
在多科交叉融合發(fā)展、新興領(lǐng)域?qū)映霾桓F的萬物智聯(lián)新時(shí)期,高水平研究型大學(xué)的計(jì)算機(jī)人才培養(yǎng)呈現(xiàn)出顯著的復(fù)合型、系統(tǒng)化需求。作為一門共性基礎(chǔ)課程,嵌入式系統(tǒng)天然具備系統(tǒng)化思維與能力培養(yǎng)的特質(zhì)。在分析嵌入式系統(tǒng)課程特點(diǎn)的基礎(chǔ)上,通過重構(gòu)嵌入式系統(tǒng)知識(shí)體系、改革教學(xué)模式以及強(qiáng)調(diào)思想方法的學(xué)習(xí)和優(yōu)化實(shí)踐體系的多個(gè)維度來進(jìn)行專業(yè)人才培養(yǎng),這一探索經(jīng)過了教學(xué)實(shí)踐的檢驗(yàn)并已取得好的效果。當(dāng)然,萬事萬物不斷演化,嵌入式系統(tǒng)教學(xué)及人才培養(yǎng)必然仍然需要持續(xù)探索和研究,我們將在未來的人才培養(yǎng)工作中不斷進(jìn)行改革和優(yōu)化。