鄧小武?
摘 要:嵌入式系統作為智能技術的核心技術,使嵌入式行業(yè)成為時下最熱門、最有發(fā)展前景的行業(yè),嵌入式研發(fā)工程師以突出的優(yōu)勢成為IT職場的緊缺人才。文中結合《嵌入式系統原理與接口技術》課程教學中存在的問題,以嵌入式行業(yè)崗位需求為導向,并以提升學生工程實踐能力為目的,對此類課程教學如何進行改革作了探索與實踐。
關鍵詞:嵌入式技術;教學改革;工程實踐能力;教學模式
中圖分類號:TP39;G642 文獻標識碼:A 文章編號:2095-1302(2017)07-0-04
0 引 言
在嵌入式、移動互聯網、物聯網等熱門技術日益普及的今天,以實現智能化為核心目標的典型技術已成為整個信息產業(yè)毋庸置疑的主旋律。特別是近1年,以智能家居、智能醫(yī)療、可穿戴設備等為首的大量智能硬件批量進入到人們的生活,更讓這一場智能技術的變革成為勢不可擋的潮流。事實上,隨著產業(yè)的變革和發(fā)展,IT行業(yè)已被重新定義,從 Information Technology(信息技術)領域發(fā)展為 Intelligent Technology(智能技術)領域。嵌入式系統正是這些熱門產業(yè)應用技術中最核心、最關鍵的部分,是推動這些產業(yè)快速發(fā)展的中堅力量。嵌入式行業(yè)更憑借其“應用領域廣、人才需求大、就業(yè)薪資高、行業(yè)前景好”等眾多優(yōu)勢成為時下最熱門、最有發(fā)展前途的行業(yè)之一,與此同時,嵌入式研發(fā)工程師更是以突出優(yōu)勢成為IT職場的緊缺人才[1]。
針對市場對嵌入式人才的大量需求,國內高等院校都設置了嵌入式方向、嵌入式專業(yè)(職業(yè)院校),并開設了嵌入式相關課程。雖然如此,但目前高校在嵌入式人才培養(yǎng)模式方面大多仍沿用傳統培養(yǎng)模式,使學生的工程能力與市場需求脫節(jié),無法滿足市場需求。基于對嵌入式多年的教學和科研體會,本文從培養(yǎng)學生工程能力角度以《嵌入式系統原理與接口技術》課程為例對嵌入式教學模式進行探討。
1 現階段嵌入式教學存在的問題
1.1 理論教學與實踐教學相分離問題
嵌入式系統是一個軟硬件相結合面向應用的專用計算機系統,具有很強的實踐性,只有通過不斷的實踐才能掌握其技術。國內高校的嵌入式相關課程的教學計劃都設置了理論課時和實驗課時。理論教學在教室授課,而教師在授課時往往采用傳統的填鴨式教學,沒有與學生互動、交流,不能掌握學生的學習和理解情況,而實踐教學通常在理論教學講完一個知識點或一個模塊后,過一段時間才進行實驗,甚至有的高校在上完理論課時后才進行實驗,這種做法本質上會導致理論教學與實踐教學相分離,無法把理論知識融入到實踐教學中,更無法取得理想的教學效果。
1.2 教材問題
近年來,國內出版社出版了許多有關嵌入式技術方面的教材和圖書,但難度較大,且多數教材以嵌入式系統層次結構來組織相關章節(jié),以講解原理開始,從抽象的ARM體系結構相關原理到ARM指令集及其匯編程序設計和驅動應用層,內容多來自開發(fā)手冊和數據手冊,內容生硬,缺乏自己的經驗、理解和相關的工程項目,導致課程缺乏實例和直觀性,使學生很難將抽象的知識和工程實踐結合起來并加以應用,往往是當課程學完了學生卻不知道學到了什么[2]。
1.3 實踐教學問題
絕大多數高校都建立了嵌入式系統實驗室,購買供應商的試驗箱或開發(fā)板,都配有相應的實驗教程,但大部分都是驗證性實驗,缺乏實踐性強、提供源代碼、理論講解精煉清晰的實訓項目。很多開發(fā)板提供商提供的開發(fā)板實驗手冊中講解完開發(fā)板硬件資源后就立即移植操作系統(移植Linux2.6內核)。這也是使得很多人認為使用ARM就必須使用操作系統的關鍵所在,即使有部分實驗教程是講裸機開發(fā),也是在Linux環(huán)境下講解,這無形中給學生增加了入門難度,因為Linux環(huán)境下的Makefile編寫本身就有許多內容要學習。在操作實驗時,學生不能將自己的想法融入實驗中,存在很大的局限性,實驗往往缺乏創(chuàng)新性和綜合性。
1.4 考核評價問題
考核評價學習成績和效果仍以筆試為主,對于具有實踐性強的嵌入式系統原理與接口技術來說,這種考核評價方式通常不能反映學生的真實情況,特別是學生的實踐動手能力。這種考核評價方式本末倒置,影響了學生學習這門課程的興趣。
2 課程教學改革措施
針對以上在嵌入式系統原理與接口技術中出現的各種問題,筆者結合自身的教學實踐做出了一些改進。
2.1 理論教學融入實踐教學
理論教學為實驗實踐環(huán)節(jié)提供了必要的知識基礎,而實驗和實踐環(huán)節(jié)則在鞏固理論基礎的同時,能進一步提高實踐動手能力并創(chuàng)造潛能。如何把握和實現理論與實踐相結合?懷化學院計算機工程系為將理論教學融入實踐教學,對《嵌入式系統原理與接口技術》整個課程只開設實驗課時,沒有設置理論課時。在教學實踐中對理論知識和基本原理進行取舍,將理論知識化整為零,歸結到各模塊中,在實驗中講授。模塊都以實例為基礎,詳細講解了相應模塊所需的基礎知識。恰當去掉對于初學者暫時不用或很少用到的知識點,盡量突出學習重點。
《嵌入式系統原理與接口技術》主要涉及基于非操作系統下的程序開發(fā),即裸機開發(fā),面對ARM指令集及匯編語言程序設計,學生往往無從下手,到底ARM匯編需要學到什么程度?為使問題簡單化,只取部分開發(fā)常用的ARM指令并結合具體實例進行講解,講解完后立即運用這部分指令進行實驗,達到理解和掌握該部分指令的目的。如果在開發(fā)過程中遇到其他問題時,可以查閱ARM指令集進行學習,問題便會迎刃而解。GPIO組及控制寄存器見表1所列。
GPIO編程是最基本的技能,是控制其他硬件的基礎,其核心部分是控制寄存器。PXA270具有119個通用I/O口,都由表1所示的寄存器控制,所以在學習GPIO模塊編程時,結合PXA270數據手冊對GPIO引腳功能和硬件結構作簡要介紹。重點按表1對GPIO寄存器講解其分類和基本功能,使學生從整體上了解和把握GPIO的寄存器功能。再對本次實驗要用到的寄存器結合具體實驗程序進行講解,如何設置寄存器相應的位,為什么要這樣設置。但并沒有對寄存器所有的位進行講解,對需要使用的位進行講解,以最大限度地將注意力集中在學習的重點上,即需要初始化哪些位,而不是剛接觸該寄存器就面對許多控制位(多達32位)。當熟悉了部分位的含義后,需要擴展其他功能時,便能很容易地找到其他控制位。理論部分講解完后,進行驗證型實驗,體驗實驗結果。
為了培養(yǎng)和提高學生的設計能力,對實驗進行擴展和設置新問題,要求學生實現其功能。例如做完UART通信實驗后,設置兩個設計性實驗:
(1) 將實驗參考程序的功能改為菜單選擇界面(使用UART_SendStr函數顯示菜單,調用UART_),GetKey函數等待用戶選擇,通過switch語句判斷用戶的選擇并執(zhí)行相應操作。
(2)設計一個菜單選擇界面,控制發(fā)光二極管和蜂鳴器。通過以上練習,既能達到理解和掌握相關基本理論知識的目的,把理論應用到實踐,又能培養(yǎng)并提高學生的實踐能力和設計能力。
2.2 模塊化設計與系統設計相結合
整個嵌入式系統由各模塊構成,要由淺入深地講解和實驗各個模塊,最后將部分模塊組成較大的系統,使學生形象地看到模塊化開發(fā)的全貌和實現過程。筆者將《嵌入式系統原理與接口技術》劃分成如圖1所示模塊。
基礎模塊主要講解了ARM處理器的部分基礎知識、實驗平臺magicARM270、ADS1.2集成開發(fā)環(huán)境和GPIO模塊編程。提高模塊主要是對PXA270處理器硬件資源進行講解,并對每個模塊給出了一個具體的實現方法,理論聯系實踐,在實踐中更好地理解各個模塊的使用方法和使用過程中的注意事項。綜合模塊以基礎模塊和提高模塊為基礎進行設計和開發(fā),通過學習實踐進一步鞏固基本理論知識。例如串口控制實驗。通過串口發(fā)送命令,發(fā)送命令的格式和下位機收到命令后執(zhí)行的相關動作見表2所列。
該實驗模擬了自動控制系統中上位機控制下位機的情形,即上位機發(fā)送命令,下位機接收到命令后,根據不同命令執(zhí)行相應的動作(上位機控制下位機),這是一個綜合性實踐項目,可培養(yǎng)學生的綜合設計能力。
2.3 培養(yǎng)信息素養(yǎng)和英文資料閱讀能力
傳統的嵌入式教學忽視了對學生信息素養(yǎng)和英文資料閱讀能力的培養(yǎng)。信息素養(yǎng)(Information Literacy)是“利用大量信息工具及主要的信息源使問題得到解決的技術和技能”,簡單來說,信息素養(yǎng)包含了專業(yè)信息的搜索能力和分析利用能力,分析利用能力包括對信息的分析、加工、創(chuàng)新、利用、協作、交流[3]。隨著嵌入式技術的不斷發(fā)展,有關嵌入式技術的信息和資料非常多,應學會使用百度和Google搜索技術資料,且嵌入式技術更新很快,作為一名優(yōu)秀的學生(開發(fā)人員),英語閱讀能力必不可少,因為很多技術資料,特別是一些新興的技術資料,往往都采用英語書寫,這就要求從事軟件行業(yè)的人員需要有一定的英語閱讀能力。同時必須具備較強的學習能力,善于通過各種渠道更新自身的知識體系,關注最新技術發(fā)展熱點,適應行業(yè)最新發(fā)展需求。
magicARM270實驗箱自帶的實驗教程沒有LCD顯示控制實驗,以此為例講解信息檢索。通過信息檢索,利用網絡資源來解決學習工作中不斷遇到的技術問題。嵌入式技術比較好的網站見表3所列。
這些網站中都有論壇以供學生交流專業(yè)知識,論壇里的版主都非常熱心,基本上同學和老師的問題都有問必答,大家可以互相幫助,互相學習,從一定程度上也鍛煉了同學們的團隊協作能力[4]。
當今我國計算機技術和其他一些領域的技術遠遠落后于西方發(fā)達國家,而且更新發(fā)展非???,為了跟蹤、了解和學習他國先進技術,要求專業(yè)人員必須具備相關領域的專業(yè)英語閱讀能力。嵌入式系統開發(fā)人員通過Google搜索國外網站或借助其他手段得到的技術資料往往也是英文資料(英文開發(fā)手冊、開發(fā)文檔和數據手冊等)。筆者在嵌入式教學過程中發(fā)現,雖然很多學生通過了大學英語四級、六級考試,但他們閱讀英文開發(fā)手冊和數據手冊仍存在一定困難,主要是缺乏專業(yè)的英文閱讀訓練導致的。為培養(yǎng)學生的專業(yè)領域英文資料閱讀意識和能力,筆者在講解完某個模塊后,要求學生翻譯《Intel PXA27X Processor Family Developers Manual》中對應的模塊,并且計入期末總成績。例如講完GPIO模塊后,把翻譯開發(fā)手冊《Section 23. General-Purpose I/O Controller》作為課外作業(yè)。
2.4 綜合考核方式
考慮到全面評價學生在一個學期的學習情況和實踐動手能力,同時綜合考核的內容強調實驗的表現。期末綜合成績見表4所列。
通過這一考核評價方案,旨在培養(yǎng)學生專業(yè)英文閱讀和報告撰寫能力的同時,促使學生能夠將所學的基本理論知識運用到具體的實踐操作上。
期末的項目考試都制定了相應的考核方案,包括考試方式、考試要求、考試內容和評分細則。項目考試完成后,要按格式要求撰寫項目報告。制定的《嵌入式系統原理與接口技術》考核方案中的評分細則見表5所列。
2.5 參加相關競賽和科研立項,提升綜合能力
為積極倡導以學生為主體的研究性學習和創(chuàng)新性實驗教學改革,激發(fā)學生的創(chuàng)新思維和創(chuàng)新意識,提高學生的實踐能力與綜合能力。鼓勵學生積極參加 “博創(chuàng)杯”全國大學生嵌入式物聯網設計大賽、全國大學生“飛思卡爾杯”智能賽車競賽、全國大學生電子設計競賽等各種實踐活動,同時還鼓勵他們積極參加懷化學院和計算機工程系的“大學生研究性學習和創(chuàng)新性實驗計劃項目”。在整個過程中都有相應的專業(yè)老師指導,通過此方式不僅培養(yǎng)了學生的基本科研素養(yǎng),鍛煉了學生綜合科研能力和獨立分析、解決問題的能力,也為他們將來走向社會參加科研工作打下了堅實的基礎。通過競賽和科研項目的歷練不但讓學生提高了工程實踐能力,還讓他們逐漸形成了前沿的理念與創(chuàng)新意識,而這些也正是一位優(yōu)秀的嵌入式系統開發(fā)人才所應具備的綜合能力素質[5]。
3 結 語
嵌入式開發(fā)要求從業(yè)人員既要具備完整的理論知識結構,又要有很強的動手能力。這對高校嵌入式課程教學提出了更高的要求,需要積極探索嵌入式課程教學改革以適應嵌入式行業(yè)對從業(yè)人員的要求。通過《嵌入式系統原理與接口技術》課程教學改革措施,有效提升了教學效率,提高了學生的學習興趣,鍛煉了學生積極動手的實踐能力,為培養(yǎng)適應嵌入式行業(yè)的專業(yè)技術人才進行了有益的探索和實踐。
參考文獻
[1]華清遠見.2013-2014年(第六屆)中國嵌入式開發(fā)從業(yè)人員調查報告[EB/OL]. http://www.farsight.com.cn/subject/report2013-2014.htm.
[2]史梁,董麗莎.高職院校嵌入式系統與應用專業(yè)教學改革模式探索與研究——以《嵌入式系統概論》課程為例[J].河南廣播電視大學學報,2014,2(27):100-102.
[3]段怡.論大學生信息素養(yǎng)教育的內容構成[J].高校圖書館工作,2004,24(3):76-79.
[4]豐海.嵌入式課程建設中的“有所為,有所不為”[J].江西理工大學學報,2011,32(6):72-74.
[5]李志軍,張子紅,王昊,等.以設計能力為主線的嵌入式系統教學改革[J].物聯網技術,2014,4(10):86-87.
[6]吳新生.基于高職學生特點的《嵌入式操作系統》課程教學改革[J].物聯網技術,2015,5(2):105-106.
[7]歐陽秀軍,劉啟岳,彭宣戈,等.嵌入式系統教學模式的研究與實踐[J].井岡山大學學報(自然科學版),2006,27(6):43-44.
[8]王俊波.物聯網專業(yè)應用型人才培養(yǎng)研究與改革[J].物聯網技術,2015,5(5):106-108.