劉路路,王凡,江東
(合肥師范學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系,安徽合肥230061)
嵌入式系統(tǒng)系列課程建設(shè)的教學(xué)研究
劉路路,王凡,江東
(合肥師范學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系,安徽合肥230061)
結(jié)合培養(yǎng)應(yīng)用型人才的需要,探討嵌入式技術(shù)發(fā)展對(duì)人才的需求問(wèn)題,將嵌入式系統(tǒng)相關(guān)課程組成課程群進(jìn)行合理建設(shè).針對(duì)課程群內(nèi)容建設(shè)、構(gòu)建課程群實(shí)驗(yàn)與實(shí)踐教學(xué)環(huán)節(jié)體系、教學(xué)方法提升學(xué)生興趣幾個(gè)方面介紹嵌入式系統(tǒng)系列課程的建設(shè)工作.
嵌入式系統(tǒng);課程群;應(yīng)用型;教學(xué)
嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗等嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)[1].掌握單片機(jī)MCU、數(shù)字信號(hào)處理器DSP、高性能RISC處理器ARM的設(shè)計(jì),并了解IC、SOC及嵌入式操作系統(tǒng)的產(chǎn)品研發(fā)人才成為新的人才競(jìng)爭(zhēng)熱點(diǎn).尤其是實(shí)用型、復(fù)合型的嵌入式軟件工程研究、技術(shù)開(kāi)發(fā)和項(xiàng)目管理復(fù)合型人才更是企業(yè)追捧的對(duì)象.但是與巨大的產(chǎn)業(yè)需求和市場(chǎng)潛力相比,嵌入式系統(tǒng)方面的教育體系建設(shè)相對(duì)滯后.國(guó)內(nèi)高校原來(lái)計(jì)算機(jī)專業(yè)的相對(duì)偏軟而電子工程專業(yè)卻相對(duì)偏硬,而嵌入式系統(tǒng)需要的是軟硬件緊密結(jié)合的復(fù)合型人才,使得企業(yè)缺乏合適的嵌入式系統(tǒng)開(kāi)發(fā)人員,高校畢業(yè)生無(wú)法滿足企業(yè)需求,使得人才培養(yǎng)模式與實(shí)際人才需求嚴(yán)重脫節(jié).合肥師范學(xué)院(以下簡(jiǎn)稱我校)作為新建本科院校,其主要任務(wù)是為安徽經(jīng)濟(jì)和社會(huì)發(fā)展培養(yǎng)高素質(zhì)應(yīng)用型人才,也為我省的經(jīng)濟(jì)建設(shè)和發(fā)展提供有力的人才支持.因此,積極探討嵌入式技術(shù)發(fā)展對(duì)人才的需求問(wèn)題,進(jìn)行嵌入式系統(tǒng)系列課程建設(shè)的教學(xué)研究以符合我省經(jīng)濟(jì)發(fā)展和我校培養(yǎng)應(yīng)用型人才的急迫需要.
根據(jù)企業(yè)調(diào)研,結(jié)合專業(yè)特點(diǎn)和我校實(shí)際,以就業(yè)為導(dǎo)向,注重學(xué)生專業(yè)技能和崗位能力的培養(yǎng),確定了我校計(jì)算機(jī)軟件專業(yè)的培養(yǎng)方案,要求培養(yǎng)的學(xué)生具有扎實(shí)的計(jì)算機(jī)理論基礎(chǔ)以及良好的軟件工程專業(yè)素質(zhì),掌握現(xiàn)代軟件工程設(shè)計(jì)、開(kāi)發(fā)和測(cè)試技能.重點(diǎn)培養(yǎng)學(xué)生嵌入式系統(tǒng)軟件工程實(shí)踐能力,包括各種嵌入式系統(tǒng)開(kāi)發(fā)技術(shù)、調(diào)試和測(cè)試工具,畢業(yè)后學(xué)生有能力適應(yīng)巨大的嵌入式系統(tǒng)產(chǎn)品市場(chǎng)需求,成為嵌入式系統(tǒng)產(chǎn)品企業(yè)所急需的掌握嵌入式系統(tǒng)軟件技術(shù)和管理的應(yīng)用型人才.
由于嵌入式軟件人才的培養(yǎng)不同于傳統(tǒng)計(jì)算機(jī)軟件人才的培養(yǎng),除了學(xué)習(xí)軟件工程的軟件開(kāi)發(fā)流程、項(xiàng)目管理等方面的知識(shí)外,還需掌握計(jì)算機(jī)硬件基礎(chǔ)、嵌入式應(yīng)用領(lǐng)域的專業(yè)知識(shí),嵌入式系統(tǒng)的開(kāi)發(fā)技術(shù)與調(diào)試和測(cè)試工具,這就需要解決課時(shí)總量一定而專業(yè)領(lǐng)域擴(kuò)大的矛盾,如果課程設(shè)置不合理,不但造成新的課程學(xué)生接受不了,傳統(tǒng)課程體系的優(yōu)勢(shì)也會(huì)被破壞.為了解決這一矛盾,我校計(jì)算機(jī)科學(xué)與技術(shù)系(以下簡(jiǎn)稱我系)將嵌入式系統(tǒng)相關(guān)課程組成課程群進(jìn)行合理建設(shè),組成教師團(tuán)隊(duì)開(kāi)展課程群的建設(shè)研究,整合各課程教學(xué)內(nèi)容,提高教學(xué)質(zhì)量.課程群的課程主要有[2]:硬件先期基礎(chǔ)課程包括電子電路、組成原理、單片機(jī)原理及應(yīng)用;軟件先期基礎(chǔ)課程包括C語(yǔ)言、數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、軟件工程、軟件項(xiàng)目管理,最后進(jìn)行嵌入式驅(qū)動(dòng)程序開(kāi)發(fā),嵌入式系統(tǒng)及應(yīng)用開(kāi)發(fā)的課程教學(xué).課程群結(jié)構(gòu)圖如圖1所示.
在通過(guò)一系列的調(diào)研和分析之后,對(duì)嵌入式系統(tǒng)及應(yīng)用開(kāi)發(fā)方面的課程進(jìn)行了全面的梳理,根據(jù)各門(mén)具體課程內(nèi)容縱向的傳承關(guān)系,橫向的內(nèi)在的聯(lián)系將課程群的內(nèi)容進(jìn)行整合和優(yōu)化,補(bǔ)充部分在實(shí)際工程實(shí)踐中需要的相關(guān)知識(shí),刪除一些過(guò)時(shí)和重復(fù)的教學(xué)內(nèi)容,同時(shí)注意調(diào)整教學(xué)順序,保證知識(shí)的系統(tǒng)性,更利于學(xué)生接受消化和理解.并通過(guò)連貫性,系統(tǒng)性的教學(xué)與實(shí)驗(yàn),更加有效地提高學(xué)生的綜合素質(zhì),使整個(gè)課程群的教學(xué)內(nèi)容針對(duì)性更加突出.以保證學(xué)生之后能夠真正地掌握嵌入式系統(tǒng)及應(yīng)用開(kāi)發(fā)的核心技術(shù),提高開(kāi)發(fā)和應(yīng)用嵌入式程序的能力.
圖1 課程群結(jié)構(gòu)圖
2.1 硬件基礎(chǔ)
電子電路:包括模擬電路和數(shù)字電路兩部分內(nèi)容,這類課程的授課內(nèi)容是使學(xué)生掌握模擬電路和數(shù)字電路的基本理論、元器件的構(gòu)成和特性,電路分析和設(shè)計(jì),熟練使用儀器儀表,授課時(shí)主要注意和后期專業(yè)課程進(jìn)行銜接,尤其注意提高學(xué)生的實(shí)踐動(dòng)手操作能力,包括能夠熟練使用焊接工具焊接集成器件,能夠閱讀原理圖,會(huì)分析以及調(diào)試電路,讓學(xué)生覺(jué)得學(xué)以致用,理論聯(lián)系實(shí)際.
組成原理:詳細(xì)介紹組成計(jì)算機(jī)的各部件的組成原理、邏輯實(shí)現(xiàn)和設(shè)計(jì)方法.介紹計(jì)算機(jī)硬件系統(tǒng)內(nèi)部各部件之間的互連、指令在計(jì)算機(jī)中的執(zhí)行過(guò)程,讓學(xué)生形成整機(jī)的概念.為了便于學(xué)生對(duì)基本概念的理解,培養(yǎng)學(xué)生對(duì)硬件系統(tǒng)的分析、設(shè)計(jì)、使用方面的能力,介紹一種或兩種有代表性的機(jī)型結(jié)構(gòu).特別注意培養(yǎng)學(xué)生從硬件和軟件的結(jié)合上思考、分析、解決問(wèn)題的初步能力.
單片機(jī)原理及應(yīng)用:?jiǎn)纹瑱C(jī)課程是嵌入式課程群教學(xué)的基礎(chǔ)和入門(mén),在嵌入式方向應(yīng)用型人才培養(yǎng)中占有舉足輕重的作用,旨在傳授給學(xué)生綜合運(yùn)用嵌入式處理器進(jìn)行開(kāi)發(fā)與設(shè)計(jì)的基本方法和能力.目前在實(shí)際應(yīng)用中單片機(jī)的種類非常多,因而該課程的教學(xué)主要選取目前國(guó)內(nèi)市場(chǎng)上覆蓋和利用率最廣的MCU51系列芯片作為樣板,學(xué)習(xí)單片機(jī)的核心架構(gòu)以及各個(gè)功能模塊、各種接口程序的編寫(xiě),并詳細(xì)介紹單片機(jī)在各種場(chǎng)合的應(yīng)用.要求學(xué)生掌握單片機(jī)的基本結(jié)構(gòu)及工作原理、各種接口的應(yīng)用,單片機(jī)硬件系統(tǒng)擴(kuò)展的基本概念、基本方法和單片機(jī)軟件編寫(xiě)的基本原則,著重培養(yǎng)學(xué)生應(yīng)用單片機(jī)設(shè)計(jì)控制系統(tǒng)及編寫(xiě)程序的能力.
2.2 軟件基礎(chǔ)[3]
C語(yǔ)言程序設(shè)計(jì):C語(yǔ)言是當(dāng)今世界嵌入式系統(tǒng)開(kāi)發(fā)最主流開(kāi)發(fā)語(yǔ)言,在嵌入式系統(tǒng)開(kāi)發(fā)中,特別是基于ARM和Linux的嵌入式系統(tǒng)中占主導(dǎo)地位,所以為了結(jié)合后續(xù)嵌入式系統(tǒng)開(kāi)發(fā)的需要,需要調(diào)整C語(yǔ)言程序設(shè)計(jì)課程內(nèi)容,強(qiáng)化指針、位操作、函數(shù),并加強(qiáng)兩周的課程設(shè)計(jì)訓(xùn)練,強(qiáng)化程序設(shè)計(jì)能力.教學(xué)中可以結(jié)合一些簡(jiǎn)單的單片機(jī)開(kāi)發(fā)的小程序如流水燈實(shí)驗(yàn)來(lái)提高學(xué)生以后學(xué)習(xí)的興趣.
數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)結(jié)構(gòu)是從事計(jì)算機(jī)軟件開(kāi)發(fā)的必備的基礎(chǔ)知識(shí).高效、實(shí)時(shí)、可靠對(duì)嵌入式應(yīng)用系統(tǒng)來(lái)說(shuō)尤為重要,要求學(xué)生掌握在硬件資源有限的情況下,如何提高代碼質(zhì)量,優(yōu)化算法,提高軟件的執(zhí)行速度,更好地滿足實(shí)時(shí)性的要求;減少目標(biāo)代碼的長(zhǎng)度,節(jié)省存儲(chǔ)空間的開(kāi)銷,提高系統(tǒng)的性能和處理速度.
操作系統(tǒng):當(dāng)前面向高端應(yīng)用的嵌入式系統(tǒng)基本上使用的是實(shí)時(shí)操作系統(tǒng),且采用微內(nèi)核結(jié)構(gòu),核心就是任務(wù)和內(nèi)存管理.由于大多數(shù)嵌入式操作系統(tǒng)對(duì)內(nèi)存空間沒(méi)有保護(hù),各線程實(shí)際上共享的是一個(gè)運(yùn)行空間而這些內(nèi)容關(guān)系到嵌入式系統(tǒng)開(kāi)發(fā)的成敗,在講述操作系統(tǒng)基本內(nèi)容的同時(shí)應(yīng)重點(diǎn)提出,并面向嵌入式系統(tǒng)應(yīng)用舉出實(shí)例.在操作系統(tǒng)課程的授課時(shí)需結(jié)合linux操作系統(tǒng)進(jìn)行講解分析,以便學(xué)生在掌握Linux操作系統(tǒng)后可以快速深入了解主流帶操作系統(tǒng)的嵌入式系統(tǒng)設(shè)計(jì)流程和方法.
軟件工程/軟件項(xiàng)目管理:嵌入式軟件工程人員必須首先具有軟件工程的基本知識(shí)和工程技能,包括軟件工程管理、軟件質(zhì)量、軟件工程過(guò)程等,這些基本知識(shí)也正是目前非軟件工程背景的嵌入式軟件人員所忽視和缺乏的.但是,嵌入式軟件工程人才又必須掌握嵌入式軟件工程的特殊性,例如軟硬件一體化設(shè)計(jì)與開(kāi)發(fā)、開(kāi)發(fā)工具和方法等,因此,在課程內(nèi)容設(shè)置上,除了講解軟件工程的基本模型和基本方法外,還要將嵌入式系統(tǒng)新近發(fā)展起來(lái)的如軟硬件協(xié)同設(shè)計(jì)、模塊的可重用和可移植設(shè)計(jì)等一些新方法和技術(shù)列入到課程內(nèi)容中去.
2.3 嵌入式系統(tǒng)開(kāi)發(fā)課程
包括嵌入式驅(qū)動(dòng)程序開(kāi)發(fā)、嵌入式系統(tǒng)及應(yīng)用開(kāi)發(fā)課程,課程內(nèi)容包括嵌入式系統(tǒng)的基礎(chǔ)知識(shí),實(shí)時(shí)內(nèi)核的基本原理,嵌入式操作系統(tǒng)內(nèi)核及文件、網(wǎng)絡(luò)、GUI.培養(yǎng)學(xué)生具備嵌入式微處理器ARM的基本知識(shí)和編程能力,具備嵌入式存儲(chǔ)系統(tǒng)、I/O接口的編程能力,培養(yǎng)學(xué)生熟練使用嵌入式系統(tǒng)的開(kāi)發(fā)、調(diào)試、測(cè)試等開(kāi)發(fā)工具.通過(guò)課程設(shè)計(jì)結(jié)合項(xiàng)目實(shí)踐幫助學(xué)生積累開(kāi)發(fā)經(jīng)驗(yàn),能結(jié)合嵌入式系統(tǒng)軟硬平臺(tái)多樣性的特點(diǎn)舉一反三,具有創(chuàng)新思維和獨(dú)立分析解決問(wèn)題能力.
嵌入式類課程群是一個(gè)理論和實(shí)踐教學(xué)的綜合體,在課程群體系中,需注意各門(mén)課程實(shí)驗(yàn)內(nèi)容合理安排與相互銜接,使學(xué)生得到設(shè)計(jì)、綜合技能的全面訓(xùn)練.我系進(jìn)行的立體化實(shí)踐教學(xué)體系,取得了良好的效果.將實(shí)踐教學(xué)分成課內(nèi)實(shí)驗(yàn)、課程設(shè)計(jì)、課程企業(yè)見(jiàn)習(xí)及專業(yè)實(shí)習(xí)、畢業(yè)設(shè)計(jì)五個(gè)階段完成.其中課內(nèi)實(shí)驗(yàn)和課程設(shè)計(jì)配合理論課的學(xué)習(xí),以提高學(xué)生的理論學(xué)習(xí)興趣和訓(xùn)練他們開(kāi)發(fā)的基本能力;項(xiàng)目實(shí)訓(xùn)階段以課程企業(yè)見(jiàn)習(xí)和專業(yè)實(shí)習(xí)的方式進(jìn)行,構(gòu)建虛擬嵌入式開(kāi)發(fā)的開(kāi)發(fā)環(huán)境和管理模式,使得學(xué)生在完成傳統(tǒng)實(shí)驗(yàn)同時(shí)可以真題真做,通過(guò)實(shí)際動(dòng)手的綜合設(shè)計(jì)掌握企業(yè)嵌入式開(kāi)發(fā)流程;最后通過(guò)畢業(yè)設(shè)計(jì)進(jìn)行綜合實(shí)踐能力的提高.通過(guò)實(shí)踐,使學(xué)生能夠整合嵌入式系統(tǒng)的相關(guān)理論,并在實(shí)際開(kāi)發(fā)中得到工程能力培養(yǎng).
4.1 精選入門(mén)程序
為了提升學(xué)生學(xué)習(xí)興趣,課程可以精選一些簡(jiǎn)單直觀的入門(mén)程序.一般來(lái)說(shuō),第一個(gè)工程安排應(yīng)“短小直觀”為原則,以達(dá)到讓學(xué)生直觀的了解程序框架和工作過(guò)程的目的[4].以嵌入式系統(tǒng)及應(yīng)用開(kāi)發(fā)課程為例,選擇一個(gè)簡(jiǎn)單的可供觀察的小程序,進(jìn)行編譯、鏈接下載到芯片內(nèi)部Flash存儲(chǔ)器,然后將程序下載到目標(biāo)MCU中,在目標(biāo)板上,讓學(xué)生注意觀察整個(gè)過(guò)程.同時(shí)可以在被測(cè)程序中插入一些函數(shù)與語(yǔ)句這樣可以進(jìn)一步利用嵌入式軟件的打樁調(diào)試技術(shù),讓學(xué)生可以更方便的通過(guò)在硬件板上顯示的物理現(xiàn)象來(lái)觀察程序的運(yùn)行情況.
4.2 參賽
組織指導(dǎo)學(xué)生成立興趣小組參加嵌入式系統(tǒng)方面的設(shè)計(jì)大賽,讓學(xué)生在競(jìng)賽中檢驗(yàn)并進(jìn)一步提高自己的實(shí)踐創(chuàng)新能力.近年來(lái),由于我系有著健全的創(chuàng)新管理機(jī)制,特別是教師的積極組織和學(xué)生的熱情參與,使得學(xué)生參加國(guó)家級(jí)以及省級(jí)的各項(xiàng)比賽,取得了一定的成績(jī),包括全國(guó)機(jī)器人大賽,全國(guó)大學(xué)生智能汽車大賽等,而通過(guò)這些比賽,可以帶動(dòng)更多的學(xué)生加入到興趣小組,帶動(dòng)更多的學(xué)生自覺(jué)投身到實(shí)踐學(xué)習(xí)當(dāng)中,從而有助積極氛圍的營(yíng)造和優(yōu)良風(fēng)氣的形成,也推動(dòng)了嵌入式系統(tǒng)系列課程的建設(shè).
4.3 開(kāi)展嵌入式系列講座
針對(duì)學(xué)生舉辦嵌入式系統(tǒng)方向應(yīng)用型人才培養(yǎng)系列講座,旨在通過(guò)綜合介紹計(jì)算機(jī)層次結(jié)構(gòu),核心課程結(jié)構(gòu)和作用,使學(xué)生明確學(xué)什么?怎么學(xué)?嵌入式方向講座針對(duì)嵌入式系統(tǒng)范圍廣,跨度大,知識(shí)點(diǎn)多而雜的特點(diǎn),從硬件軟件兩方面引入專業(yè)基礎(chǔ)課程,然后開(kāi)始較簡(jiǎn)單的無(wú)操作系統(tǒng)的嵌入式系統(tǒng)介紹,最后引入現(xiàn)在主流帶操作系統(tǒng)的嵌入式系統(tǒng).從簡(jiǎn)入繁,依據(jù)嵌入式系統(tǒng)結(jié)構(gòu),一層一層引入各門(mén)核心課程,給學(xué)生以直觀了解.方便學(xué)生明確自己未來(lái)工作所處的計(jì)算機(jī)層次,有針對(duì)性的學(xué)習(xí),為后續(xù)因材施教、學(xué)生綜合能力提升、創(chuàng)新能力培養(yǎng)打下基礎(chǔ).
〔1〕李亞峰,歐文盛.ARM嵌入式Linux系統(tǒng)開(kāi)發(fā)從入門(mén)到精通[M].北京:清華大學(xué)出版社,2008.
〔2〕王曉薇.基于應(yīng)用型人才培養(yǎng)的嵌入式課程群建設(shè)的探索與實(shí)踐[C]//大學(xué)計(jì)算機(jī)課程報(bào)告論壇組委會(huì).大學(xué)計(jì)算機(jī)課程報(bào)告論壇論文集.北京:高等教育出版社,2010.1-4.
〔3〕過(guò)怡,劉文芝.基于職業(yè)能力的嵌入式專業(yè)課程群建設(shè)探討[J].常州信息職業(yè)技術(shù)學(xué)院學(xué)報(bào),2010,9(6):51-53.
〔4〕王志超,王宜懷.從嵌入式系統(tǒng)教學(xué)談學(xué)生創(chuàng)新能力的培養(yǎng)[J].計(jì)算機(jī)教育,2010(3):150-152.
G642.0
A
1673-260X(2013)06-0230-03
合肥師范學(xué)院院級(jí)教學(xué)質(zhì)量與教學(xué)改革工程項(xiàng)目(2010yj29)