楊俊成
(河南工業(yè)職業(yè)技術(shù)學(xué)院計(jì)算機(jī)工程系,河南南陽(yáng) 473009)
嵌入式技術(shù)對(duì)于現(xiàn)代工業(yè)起著倍增器的作用,各行各業(yè)都存在著嵌入式的應(yīng)用場(chǎng)景[1]?;诖耍瑖?guó)內(nèi)眾多高校、職業(yè)技術(shù)學(xué)院和培訓(xùn)機(jī)構(gòu)均開(kāi)展嵌入式系統(tǒng)的教學(xué)和培訓(xùn)工作。對(duì)于嵌入式系統(tǒng)這一跨學(xué)科、軟硬件集成、與業(yè)界需求密切相關(guān)的綜合性系統(tǒng)來(lái)講,要在短期內(nèi)建立起一套完整、科學(xué)、系統(tǒng)的教學(xué)體系絕非易事。
嵌入式系統(tǒng)所包含的教學(xué)內(nèi)容主要有ARM體系結(jié)構(gòu)、匯編語(yǔ)言程序設(shè)計(jì)、中斷系統(tǒng)、異常處理、I/O設(shè)置、UART設(shè)置、時(shí)鐘、觸摸屏、I2C、I2S及ARM芯片接口的設(shè)置,該課程融合了多方面的軟硬件及綜合知識(shí)。
大部分的高等院校均是購(gòu)買(mǎi)某一公司的開(kāi)發(fā)板或者實(shí)驗(yàn)箱,按照實(shí)驗(yàn)指導(dǎo)書(shū)指導(dǎo)做實(shí)驗(yàn)。該實(shí)驗(yàn)對(duì)于學(xué)生的能力培養(yǎng)效果較差,對(duì)ARM體系中的流水線結(jié)構(gòu)、地址映射、異常等概念的理解也無(wú)法深入,較難綜合應(yīng)用驅(qū)動(dòng)程序、中間接口層、操作系統(tǒng)等系統(tǒng)級(jí)軟件,這樣便導(dǎo)致軟件和硬件脫節(jié)。對(duì)設(shè)計(jì)出復(fù)雜的綜合性實(shí)驗(yàn)造成困難。實(shí)驗(yàn)過(guò)程中缺少考慮培養(yǎng)學(xué)生的創(chuàng)新能力、新技術(shù)的實(shí)踐能力、團(tuán)隊(duì)協(xié)作能力和語(yǔ)言表達(dá)能力等,因而不符合當(dāng)今對(duì)嵌入式人才的要求。
為使學(xué)生更好的掌握基于ARM的嵌入式系統(tǒng),充分調(diào)動(dòng)學(xué)生學(xué)習(xí)積極性,即采用倒推法授課[2],第一次上課就讓學(xué)生了解一個(gè)實(shí)際的嵌入式產(chǎn)品。以2010年全國(guó)職業(yè)院校技能大賽中的自主探月車(chē)為實(shí)例,將產(chǎn)品分解,倒推出這一產(chǎn)品的開(kāi)發(fā)過(guò)程。從產(chǎn)品到部件的倒推歸屬到課程不同章節(jié)的內(nèi)容中,放到相關(guān)的教學(xué)單元進(jìn)行講解[3]。在每一教學(xué)單元中,以產(chǎn)品的部件為核心,設(shè)計(jì)出實(shí)際開(kāi)發(fā)中需解決的問(wèn)題。每一章節(jié)完成一個(gè)任務(wù),這一任務(wù)也是其嵌入式產(chǎn)品的一部分,課程學(xué)習(xí)結(jié)束時(shí)所有的任務(wù)疊加后,就是一個(gè)實(shí)際的嵌入式產(chǎn)品。
正確處理現(xiàn)有的教學(xué)資源,在了解現(xiàn)有教材的同時(shí)要不斷融入更符合教學(xué)規(guī)律的教學(xué)內(nèi)容[4]。教學(xué)內(nèi)容力爭(zhēng)接近工程實(shí)踐,又帶有一定的趣味性和啟發(fā)性,讓學(xué)生知道如何將學(xué)到的知識(shí)點(diǎn)應(yīng)用于工程實(shí)踐中。因此要對(duì)教材內(nèi)容作適當(dāng)編排和修正,使教學(xué)計(jì)劃更符合學(xué)生的學(xué)習(xí)規(guī)律。
調(diào)整之前從第一到第八章的內(nèi)容都是理論部分,主要講述ARM的體系結(jié)構(gòu)、ARM的異常模式、ARM存儲(chǔ)器映射、ARM中斷模式及中斷系統(tǒng)[2],這部分內(nèi)容理論性較強(qiáng)、且比較抽象和枯燥,學(xué)生學(xué)完后無(wú)法真正了解ARM,無(wú)法用匯編語(yǔ)言實(shí)現(xiàn)相關(guān)功能,極大地影響了學(xué)生的自信心。
在修正后的內(nèi)容安排中,教師將一些容易掌握并能夠吸引學(xué)生注意力、容易看到實(shí)驗(yàn)現(xiàn)象的章節(jié)安排在前面,以激起學(xué)生的學(xué)習(xí)積極性。
(1)把S3C2440的I/O操作安排在前面,先用一個(gè)流水燈實(shí)驗(yàn)告訴學(xué)生,ARM雖然結(jié)構(gòu)較為復(fù)雜,但也可像單片機(jī)那樣,通過(guò)簡(jiǎn)單的設(shè)置,實(shí)現(xiàn)流水燈實(shí)驗(yàn),以提高學(xué)生的學(xué)習(xí)興趣。
(2)根據(jù)學(xué)生C語(yǔ)言的基礎(chǔ),講解基于ARM的C程序設(shè)計(jì),并實(shí)現(xiàn)一個(gè)串口驅(qū)動(dòng)程序,加強(qiáng)學(xué)生對(duì)ARM體系的理解和C語(yǔ)言的編程能力。
(3)介紹ARM指令系統(tǒng)[3],并根據(jù)指令介紹ARM的體系結(jié)構(gòu),講解ARM中斷和異常的處理過(guò)程,并用匯編程序模擬相應(yīng)的處理過(guò)程,且在內(nèi)容的講解上要與月球車(chē)的啟動(dòng)代碼結(jié)合,強(qiáng)化學(xué)生對(duì)概念的理解。
(4)將ARM的LCD顯示功能和觸摸屏的A/D轉(zhuǎn)換放在一起講解,定時(shí)器和計(jì)數(shù)器在實(shí)時(shí)時(shí)鐘、看門(mén)狗系統(tǒng)中都會(huì)用到,所以這兩章要統(tǒng)一講較為合適。
(5)講解兩種常見(jiàn)的總線,I2C總線和I2S總線,并結(jié)合實(shí)驗(yàn)讓學(xué)生掌握兩種總線的工作原理。
(6)最后講解在ARM體系結(jié)構(gòu)中,ARM處理器與存儲(chǔ)器之間的內(nèi)存映射,這是課程的一個(gè)難點(diǎn),并需要前面的一些基礎(chǔ),因此放到課程的后面學(xué)習(xí)比較合適。
(7)理論課程學(xué)習(xí)結(jié)束后,設(shè)計(jì)一個(gè)一周時(shí)間的綜合實(shí)訓(xùn),將理論課和實(shí)驗(yàn)課上的知識(shí)點(diǎn)鏈接起來(lái),形成一個(gè)知識(shí)體系,用真實(shí)的案例提高學(xué)生分析問(wèn)題和解決問(wèn)題的能力。
該章節(jié)的調(diào)整以一種先易后難的方式編排教學(xué)內(nèi)容,取得了較好的教學(xué)效果,但并不影響教學(xué)大綱所規(guī)定的學(xué)習(xí)內(nèi)容。
在實(shí)踐教學(xué)中,教師并不是將實(shí)驗(yàn)代碼事先寫(xiě)好,然后給學(xué)生分析代碼,而是提出問(wèn)題,比如如何在月球探測(cè)車(chē)上顯示圖片,還可將其改為更有趣的例子,比如如何把本人的照片顯示在屏幕中,以提高學(xué)生的興趣。之后引導(dǎo)學(xué)生分析問(wèn)題,制定設(shè)計(jì)方案,帶領(lǐng)學(xué)生從第一行代碼開(kāi)始編寫(xiě),逐步實(shí)現(xiàn)相對(duì)應(yīng)的功能。當(dāng)然在實(shí)現(xiàn)的過(guò)程中,會(huì)出現(xiàn)大量的問(wèn)題,比如寄存器設(shè)置錯(cuò)誤、指針讀取數(shù)據(jù)錯(cuò)誤、內(nèi)存溢出等。這就需要教師對(duì)整個(gè)項(xiàng)目十分清晰,能在短時(shí)間內(nèi)解決學(xué)生所提出的問(wèn)題并能處理一些突發(fā)性錯(cuò)誤,隨后帶著學(xué)生去分析引起這些問(wèn)題的原因,告誡學(xué)生如何避免這些問(wèn)題,并解決問(wèn)題,大大提高了學(xué)生的動(dòng)手能力。
為培養(yǎng)學(xué)生對(duì)嵌入式開(kāi)發(fā)的興趣,在課程學(xué)習(xí)后期,將學(xué)生分成5人小組,以前一年的嵌入式大賽題目為實(shí)戰(zhàn)項(xiàng)目,讓學(xué)生用一周時(shí)間去實(shí)現(xiàn)一個(gè)嵌入式產(chǎn)品,完成一個(gè)正推過(guò)程,從一個(gè)產(chǎn)品的設(shè)計(jì)思想到各個(gè)部件的實(shí)現(xiàn),最終完成這個(gè)產(chǎn)品,之后編寫(xiě)論文并參與答辯。待國(guó)家嵌入式競(jìng)賽題目公布之后,從中選擇幾名表現(xiàn)優(yōu)秀的學(xué)生,提供實(shí)驗(yàn)場(chǎng)所和實(shí)驗(yàn)器材,由專(zhuān)門(mén)教師指導(dǎo)參加全國(guó)嵌入式大賽[5]。
文中改革措施已在教學(xué)實(shí)踐中發(fā)揮了積極作用,在日后的教學(xué)中,將根據(jù)實(shí)際情況及時(shí)對(duì)該課程體系和培養(yǎng)模式進(jìn)行調(diào)整,努力構(gòu)建一個(gè)科學(xué)規(guī)范的人才培養(yǎng)方案,為企業(yè)培養(yǎng)出具有動(dòng)手能力及創(chuàng)新能力的研發(fā)人才。
[1] 田澤.ARM9嵌入式開(kāi)發(fā)實(shí)驗(yàn)與實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2006.
[2] 周立功.ARM微控制器基礎(chǔ)與實(shí)戰(zhàn)[M].北京:北京航空航天大學(xué)出版社,2003.
[3] 胥靜.嵌入式系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)實(shí)例詳解—基于ARM的應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2005.
[4] 鄧春健,李文生.“ARM嵌入式系統(tǒng)”課程教學(xué)方法研究[J].計(jì)算機(jī)教育,2010(3):94 -96.
[5] 章民融,徐亞峰.嵌入式教學(xué)關(guān)鍵點(diǎn)的研究和嵌入式實(shí)驗(yàn)教學(xué)平臺(tái)的設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用與軟件:2009(3):160-162.