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