嵌入式課程設計范例6篇

前言:中文期刊網精心挑選了嵌入式課程設計范文供你參考和學習,希望我們的參考范文能激發你的文章創作靈感,歡迎閱讀。

嵌入式課程設計范文1

關鍵詞:嵌入式系統;ARM;處理器;指令集

中圖分類號:TP316;G642 文獻標識碼:A doi:10.3969/j.issn.1672-4305.2016.02.036

隨著CPU及周邊配套器件在功耗、計算能力和體積性能的不斷提升,嵌入式系統的應用越來越廣,可以說:嵌入式系統已經深入地嵌入到人們的生產、生活的各個方面,發揮著難以替代的作用。因此,各個行業都急需嵌入式產品的設計和開發人才。國內各高校面向弱電專業研究生都開設了“嵌入式系統”或“嵌入式系統設計”課程,期望能夠培養出具有較強動手能力的嵌入式系統開發人才。但事實的效果是:(1)學生在學習之后,并不能對嵌入式系統有一個較為完整的認識。具體體現在:不能根據實際項目需求進行合理選型和自主設計,往往只能照搬照抄參考認識,創新能力不足。(2)學生對嵌入式系統類別認識不正確,對ARM處理器的指令系統的認識浮于表面。(3)不能達到軟硬件兼通的水平,開發能力基本都停留在嵌入式軟件開發層面,不能從軟硬件協同的角度考慮問題的原因,在調試不順利時,往往束手無策。找到出現這種問題的根源,并有針對性地對課程內容和授課方式方法進行修正,是目前“嵌入式系統設計”課程急需解決的問題。中國石油大學(北京)計算機科學與技術系對這個問題進行了初步的調查、研究和總結,并對課程內容和授課方式進行了較大幅度的調整。主要的措施是采取課程設計驅動式的教學方式。具體為:(1)雖然用ARM處理器做實驗開發,但并不直接把ARM處理器作為主要內容進行灌輸式授課,而是先讓學生花費22個課時的時間在實驗室設計一個8指令的32位簡易型MIPS處理器。(2)在處理器設計結束后,通過梳理設計中存在的問題,讓學生認識到ARM處理器存在的弊端和優勢,以及可以改進和發揮的地方,啟發學生客觀看待ARM處理器。(3)再花4個課時迅速介紹一下ARM處理器指令系統的使用,通過兩個小實驗讓學生嘗試裸機編程調試過程,體驗其不便性。(4)最后的4個課時介紹嵌入式系統的開發工具鏈,讓學生體驗嵌入式開發的便利。實際效果發現:(1)在課程授課期間,學生不僅對嵌入式系統的總體宏觀結構和開發流程有了較為深入的認識,而且動手能力有了很大的提高。(2)在課程結束以后,學生對課程關聯內容發生了濃厚的興趣,對課程的延展內容進行自主學習。充分表明了課程改革的有效性。

1調研與思考

經過對國內主要高校的“嵌入式系統設計”課程內容開設情況進行調研后發現:課程授課普遍存在著廣度不足和深度不足兩方面的問題。廣度不足的問題主要體現在課程授課內容方面,目前“嵌入式系統設計”課程都是ARM9系統開發,嵌入式操作系統基本上為ucos或Linux[1]。課程首先介紹ARM9處理器的指令系統,然后介紹嵌入式操作系統,以及在其上的基于C語言的系統開發。課程并沒有對嵌入式系統的多種實現方式、實現途徑進行介紹,這帶來了一定的負面效應。首先,很多學生都誤認為:嵌入式系統就是以ARM處理器芯片為核心的軟硬件系統,離了ARM處理器就不能做嵌入式產品。深度不足的問題主要體現在授課方式上。由于采用灌輸式教育,學生只能被動地接收對ARM處理器各種溢美之詞的介紹,把ARM處理器奉為經典,不敢質疑,不能正確認識某些性能指標的真正含義與優缺點。這樣限制了他們今后在實踐過程中的創新能力。對這兩個問題的深入思索后發現:首先,雖然ARM9處理器芯片堪稱經典,但畢竟已經是幾十年前的產品,開發工具鏈也很陳舊,開發調試周期偏長,已經不能反映嵌入式系統開發的最新進展,滿足不了快速開發的需要。其次,“嵌入式系統”課程教學方法仍以“是什么”為主,即告訴學生ARM9處理器的指令是什么,怎么用,而對于“為什么”則基本沒有涉及。在這樣的教學內容和教學方式下,學生往往也只對某種CPU的使用有一些膚淺認識。對于本科生來說,這樣的結果可以接受,但對于碩士生來說,這樣的結果并不令人滿意。第三,嵌入式系統教學普遍存在著“重軟輕硬”的問題,這種現象尤其在使用實驗箱進行課程實驗時體現得更為明顯[2]。課程實驗中教師往往讓學生去找軟件中的錯誤,但對于硬件信號上的問題則基本不涉及,學生缺乏對系統的整體認識[3]。客觀地說,盡管ARM芯片堪稱經典,其內容是嵌入式系統課程教學的必要內容,但研究生“嵌入式系統設計”課程教學的目的不僅僅在于讓學生掌握基于ARM9處理器的嵌入式產品設計技術和配套工具,而且讓學生站到一個更為客觀的角度認識到ARM9的性能指標的必然性和限制性。在今后一定的工作條件的激發下,可以從根本上進行創新。

2實施過程與效果

基于這樣的認識,顯然首先要讓學生認識到ARM處理器的優缺點,打破學生對其認識上的神秘感。具體的思路是:首先快速設計一個類ARM9的處理器,這樣讓學生從根本上理解什么是指令系統,以及指令系統的重要性。再通過適度分析設計上的問題,介紹可以改進之處,啟發學生對處理器主要指標進行深度理解。在其后,只需流水性地介紹一下ARM9的指令系統即可,因為通過CPU的設計,學生已經完全明白了指令系統的用途、分類、使用等一系列問題。最后適度介紹一下嵌入式操作系統與應用程序的開發流程,并布置兩個開發實例輔助進行適度理解即可。在中國計算機學會和北京航空航天大學計算機學院的幫助下[4-5],課程引入了一個簡易的支持9指令MIPS處理器的設計。這9條指令具體為:LD、SW、ADDU、SUBU、ORI、LUI、AND、JAL、BEQ,基本涵蓋了MIPS的典型指令。其典型結構如圖1所示。為將重點放在指令集的設計方面,同時也為了加快設計速度和降低設計復雜度,事先對主要的模塊代碼進行了實現,而把課程設計的任務集中在讓學生實現上述9條指令上。為了突出嵌入式系統的低功耗的特點,也對代碼做了一些粗糙的功耗控制,適度突出了其在低功耗控制方面的優化。由于實驗對象是計算機專業的碩士生,他們對課程設計所使用的Verilog語言不甚了解,因此使用8個課時簡要介紹了Verilog語言語法與系統實現方法,隨后用6個課時介紹了簡易型MIPS處理器的數據通路與控制通路的設計思想。明確了設計任務后,專門留出6個學時的時間,讓大家在實驗室里集中進行邊設計邊討論。才開始的時候,絕大多數學生覺得任務很重,壓力很大。在教師的要求和督促下,學生開始讀實驗代碼。在一次集中實驗以后,有一半的學生認為已經搞清楚了具體的設計任務,知道該怎么去實現。第二次集中實驗的時候,一部分學生已經開始問一些非常具體的設計問題了,還有一部分學生主動要求老師再簡要地把數據通路和控制通路的設計思路再說一遍,這說明他們已經在開始主動思考代碼的結構了。這時,他們對數據通路和控制通路的理解已經遠遠超越授課時的水準。課程設計結束時,有70%的學生基本完成了設計任務,剩余的學生雖然沒有完成,但自認為對處理器和指令集的認識是非常清楚的。緊隨其后,課程的內容又回到了ARM指令集,這時只需花4個課時簡要介紹一下ARM指令系統的分類和典型指令就可以了。由于前面的處理器設計過程的訓練,學生很快掌握了這部分內容。接著,再加上4個課時在ARM9實驗箱上的匯編語言和C語言實驗,學生們基本掌握了裸機上的開發過程。最后,又介紹了基于Uboot和嵌入式Linux基礎上的開發過程,讓學生體驗到在嵌入式操作系統的基礎上做系統開發的便利性[6-7]。通過事后與學生的交流,大家普遍都認為處理器設計的課程設計非常重要,正是那一步使得學生不再對處理器感到神秘,對指令集有了更為客觀的理解。對于后續的開發平臺,雖然并沒有細節的課堂講述,但學生完全明白出現這種設計流程的必要性,普遍認為只要適當自學即可掌握。大家比較普遍地認同這種課程設計驅動式的教學方式[8-10]。

3結語

從本次教學改革的效果來看,相對于“灌輸式”的教學方式,“啟發式”的教學方式效果更好,但這需要學生的積極主動配合。對于研究生來說,雖然他們都具有一定的學習自覺性和主動性,但這種主動性也需要教師的嚴格監督才能發揮作用。研究生課程內容并不在于授課內容的多少,而主要在于如何引導他們積極主動思考。從深處入手,而不是直接從內容入手,雖然開始時會遇到較大的困難,但一旦這個困難解決,對教學內容的理解則會非常順利,有點類似于“磨刀不誤砍柴工”。對于教師來說,找到這把鋒利的“刀”,并且督促學生去“磨”,是一件至關重要的事情。

參考文獻(References):

[1]冀常鵬,馬飛,徐維.項目驅動的嵌入式系統教學改革[J].電子電氣教學學報,2011,33(6):26-27.

[2]李偉,門佳.嵌入式系統實驗教學方法研究[J].青島職業技術學院學報,2014,27(1):45-47.

[3]李社蕾,劉小飛,楊婷婷.嵌入式課程創新實驗項目設計[J].實驗室科學,2015,18(1):72-74.

[4]高小鵬.計算機專業系統能力培養的技術途徑[J].中國大學教學,2014(8):53-58.

[5]牛建偉,張炯.北京航空航天大學嵌入式系統課程建設[J].計算機教育,2008(7):64-65.

[6]李文生,鄧春健,呂燚.案例驅動的嵌入式系統教學改革探索[J]計算機教育,2011(2):22-25.

[7]吳建寧.面向實踐教學的“嵌入式系統”課程體系構建與探索[J].實驗室科學,2014,17(6):184-186.

[8]郭宏,胡威.計算機專業《嵌入式系統》課程體系建設的探索[J].現代計算機,2013(6):44-47.

[9]潘登,陳啟軍.面向卓越人才培養的嵌入式系統教學改革[J].計算機教育,2013(13):1-5.

嵌入式課程設計范文2

1 課程基本情況

該課程是面向計算機學院高年級本科生(或研究生)開設的專業課,是一門以計算機各種專業知識綜合應用為主要特色的課程,其指導思想是培養學生從“整體”的角度認識、研究和解決嵌入式計算工程問題的方法和能力,為學生在嵌入式計算工程領域研究和開發奠定相關基礎。課程采用理論知識傳輸與工程能力培養并重的教學方法,教學內容盡量反映該領域內最新的理論和技術成果,使學生了解該學科最新的前沿發展動態和方向,培養出適應社會需求的專業化技術人才。

該課程的教學目標是使學生能夠掌握嵌入式系統設計過程中的基本概念和原理,使學生能夠掌握和使用最新的嵌入式系統設計方法和典型開發工具。課程在教學內容安排上遵循“面向市場需求、定位人才培養”的原則,強調將計算機系統不同層次專業知識的基礎性與實際工程設計思想和架構的前沿性相結合,重視將計算機系統自底向上的各種專業課程內容的有機整合,使得諸如操作系統、體系結構、接口與通信和計算機網絡等孤立的課程呈現相互配合的應用場景,讓學生進一步認識和掌握上述課程的基本概念和基本規律在實際的綜合系統應用中的作用和影響。在課件設計上,采取統一的知識體系結構,涵蓋“基礎知識+ 基本技能+ 技術講座+ 項目實踐”四大模塊,突出注重工程能力培養的特色。通過課程學習和實驗,學生應能夠熟悉一種典型的微處理器體系結構,掌握一套主流的開發工具和一種嵌入式操作系統,熟練使用一門開發語言,使學生具備嵌入式系統軟、硬件開發設計的基本能力。

目前該課程為48學時,其中理論授課24學時,實驗24學時。該課程的理論教學內容包括:(1)嵌入式系統概述;(2)嵌入式硬件基礎;(3)嵌入式操作系統;(4)嵌入式系統的設計與建模;(5)嵌入式系統設計實例分析;(6)專用接口和硬件加速器;(7)分布嵌入式系統;(8)高可靠性嵌入式系統等擴展內容。課程的實驗包括了基礎性實驗和綜合設計實驗兩部分,基礎性實驗主要是一些預先設計好的實驗,通過讓學生的實際操作,能夠加深對課程所講授的基本原理、技術和方法等知識點的理解,同時,能夠讓學生掌握一些具體的嵌入式系統的開發工具及環境,主要包括嵌入式操作系統的移植和裁減、驅動程序的開發及對開發工具鏈的使用。綜合設計實驗則要求學生面向某綜合應用(指定或者自主提出)而進行設計、編碼和調試并給出完整的解決方案。

課程的考核由三部分組成:理論課作業和小測驗20%,基礎性實驗40%,綜合設計實驗40%。

經過四年的建設,該課程的已整理編寫完成配套的教案、講義和實驗指導書,形成了一整套課程指導和考核體系,建立了以相關學科學術帶頭人為課程負責人,以博士中青年教師為教學骨干,以博士青年教師和博士生為教輔人員的教學團隊。幾年來的教學實踐表明,該課程的教學實現了教與學的有機結合,理論教學和實踐環節高度統一,有力地促進了學生的工程能力提高。在學生的作品中創新成為主題,學生在國內外各種嵌入式方面的競賽中屢創佳績,也從另外一個側面印證了良好的教學效果。

2 精品課程創新點

(1)本碩一體化設置。

課程強調研究生與本科生學習內容的連貫性、層次性,從理論課到實驗課都設置了基本、中級和高級三個層次的內容,學生可根據自己的基礎選聽(或選做)具有不同加權值的內容(或實驗)。突出體現了學院本、碩一體化的課程建設思路。

(2)兼顧理論,重在實踐。

作為一門實踐性很強的課程,本課程在不斷更新最新的國內外理論知識的同時,非常重視加強實踐環節,主要體現在兩個方面:一、課程理論授課部分,每一章都有設計實例,這些設計實例大部分來自教師實際的科研或工程項目,并且隨著科研工作的變化而動態更新,具有很強的實踐性。二、課程設計了大量的實驗,實驗課時也占到了整個課程的一半時間,實驗課本身加強了指導力度,由骨干教師加多名具有較強實踐能力的助教組成的指導隊伍,負責整個實驗期間從理論到具體操作的各個環節的指導工作。

(3)緊密結合企業核心技術,具有較強的實用性和前沿性。

課程內容的設置與動態調整,都是在充分分析當前國際上有影響的嵌入式系統軟、硬件平臺最新的核心技術、充分考慮嵌入式應用系統開發企業技術需求的基礎上進行的,課程內容較大程度地體現了嵌入式領域的熱點,是企業界普遍關心的核心技術,具有較強的實用性,有利于培養出業界需要的人才。課程前沿性則表現在:一、課程的主講教師是從事嵌入式系統研究與開發一線的科研人員,能夠及時地根據技術發展動向調整教學大綱和教學計劃,及時地將最新的技術和設計理念引入到課程中。二、及時地對國際上一些著名大學(目前我們主要選擇的是卡耐基?梅隆和普林斯頓大學)的相關課程的開設情況進行跟蹤分析,對我們的課程安排適時調整。

(4)注重創新素質的培養。

嵌入式系統是面向應用的專用計算機系統,與產品和市場有著緊密的聯系,設計的創新性直接決定了產品的創新性,加強未來的嵌入式系統設計師的創新素質的培養,是本課程重點之一。具體體現在:一、課程只對基本原理和方法介紹,對一些具體技術和環境則通過課外參考資料和網上第二課堂提供給學生,學生根據個人興趣有選擇地對某些問題進行深入學習和研究;二、注意培養學生批判性思維方式,在實例分析中,鼓勵學生對實例所采用的技術和方案進行不同角度的評價,變被動灌輸為主動思考;三、加強綜合設計性及開放性實驗環節,鼓勵和引導學生積極提出原創性的設計內容,創新性是綜合性實驗的考核標準之一。

(5)形式多樣的教學模式

我們采用“責任教授+主講教師+ 實驗輔導教師”的教師團隊,采用“講授+分析+案例+演示+大型作業+實驗+查閱資料及撰寫綜述報告+小課題”的教學模式,改善了這類綜合性課程“難教”、“難學”的狀況。

講授:對于基本概念和基本原理方面的內容,采用以傳統的講授法為主,力求講清概念內含和外延、基本原理的思路,實質意義以及適用范圍等內容;

分析:嵌入式系統設計的內容較多,對于某些書本上只提其然而不提其所以然而又比較重要會影響系統級設計理解的問題,找準切入點,逐步分析,使學生深入理解相關概念;

案例:對于應用性較強的內容,精心設計典型案例,通過對案例的分析和逐步實現,使學生理解并能夠正確應用相關的技術和原理解決問題。

(6)完整的實驗體系

嵌入式課程設計范文3

關鍵詞:嵌入式;C程序設計;教學實踐

嵌入式系統無疑是當前最熱門、最有發展前途的IT應用領域之一。后電腦時代,嵌入式系統將擁有最大的市場。目前,世界范圍內嵌入式系統帶來的工業年產值已超過1萬億美元,并以9.5%的年復合增長率繼續調整發展。產業的發展給高職的教育帶來了新的課題,要提高學生的核心競爭力,重點在于使他們掌握迎合產業發展的最新技術。而嵌入式系統專業課程的特點是知識點多、涉及面廣、課程新穎和難度大。我院面向高職學生,因材施教,最大限度地開發學生潛力,提高其動手能力。

1嵌入式C程序設計課程是嵌入式系統專業的專業基礎課

嵌入式系統是軟硬件結合的產物,通常嵌入式硬件設計完成后,各種功能就全靠軟件來實現,嵌入式設備的增值很大程度上取決于嵌入式軟件的功能,是嵌入式系統中最主要的工作。與通用軟件相比,嵌入式軟件具有自身的一些特點,如規模較小、實時性和可靠性要求高、與硬件結合緊密等。并不是所有的編程語言都適合嵌入式軟件的開發,開發人員必須根據具體的應用需求和軟硬件條件,來選擇合適的編程語言。與此相對應,C語言是一種融合了嵌入式軟件開發特點的現代語言,其語言簡潔、緊湊,使用時靈活、方便,在程序設計中采用自頂向下的結構化的編程,這種模塊化的設計思想使得編寫的程序更可靠、更易懂。由于C編譯生成的目標代碼小、效率高、速率快,充分體現了在嵌入式編程中經濟使用資源的原則。因此說C是一種高效的編程語言。C語言與匯編語言相比具有較好可移植性,且支持交叉編譯。在許多硬件平臺和操作系統上都有相應編譯器,編寫出來的程序具有很好的可移植性,能在不同的平臺上運行[1]。另外,C語言允許用戶直接訪問硬件,并可以操縱內存中的特定位?!禨ource: “ESP: A 10-year retrospective”》統計數據表明,在選擇使用嵌入式編程語言中C語言的使用人數約達到81%。因此,C語言已成為嵌入式軟件開發的主流編程語言。

2高職高專嵌入式C程序設計課程的特點及主要內容

嵌入式C程序設計有如下特點:

1) 大量涉及到內存和特殊功能寄存器的操作,如地址操作和位操作;

2) 內存等資源使用時需要精打細算;

3) 復雜的任務(如多任務同步與通信)最好借助于操作系統來實現。

在嵌入式系統的教學中,C語言的教學內容必須進行選擇和取舍。以下是我院本課程側重的內容要點:

1) 數據類型。

數據類型是編程語言中最基本的構成元素,在嵌入式軟件開發中,標準C的變量和數據類型具有新的特征。最大的改變發生在默認整數類型是8位或者16位[2]。C編譯器識別int8、int16、int24、int32數據類型,它們是含有相應數位的整數,這些整型數據類型避免了因整數長度變化而帶來的歧義性。

2) 選擇結構及循環結構。

這是嵌入式編程中常用的兩種程序設計結構。如可利用死循環控制某程序的執行。

3) 函數。

能不能保證函數被正確的定義、聲明和調用,關系到整個程序的成敗。在函數體中,一個被聲明為靜態的變量在這一函數被調用過程中維持其值不變;在模塊內(但在函數體外),一個被聲明為靜態的變量可以被模塊內所有函數訪問,但不能被模塊外其他函數訪問,它是一個本地的全局變量;在模塊內,一個被聲明為靜態的函數只可被這一模塊內的其他函數調用,即這個函數被限制在聲明它的模塊內使用。

4) 關鍵字const、volatile、static的使用。

一個變量是以它的類型和存儲類型表征的,關鍵字const、 volatile 可表示變量的兩種屬性:不變性和易變性,如果變量聲明中帶有關鍵字const,則不能通過賦值、增加或減少運算來修改該變量的值[3]。用const關鍵字修飾的變量為只讀變量,通常放在Flash只讀空間中,可節省RAM空間;const修飾變量的內容一般不希望被修改,const可防止一些無意的代碼修改其內容。通常在編譯時,代碼會被優化,如int a=3; a=3*4;在程序中,a=3沒使用則將被編譯器優化掉,但在嵌入式編程中,硬件是不能被優化掉的(如狀態寄存器),為防止被優化掉,需加關鍵字volatile。當全局變量前加static時,表示該變量已被封裝,其他函數在使用與被static修飾的變量或同名函數時不發生沖突。

5) 位操作。

C語言的位操作可能對變量中的個別位進行操作,例如,通常向硬件設備發送一兩個字節來控制該設備。為了節省內存空間,在系統軟件中常將多個標志狀態簡單地組合在一起,存儲到一個字節(或字)中。有時,存儲1個信息不必占用1個字節,只需二進制的1個(或多個)位就夠用。如果仍然使用結構類型,則造成內存空間的浪費。為此,C語言引入了位段類型。

6) 中斷。

中斷是嵌入式系統中重要的組成部分。使用時應注意:(1)ISR 不能返回一個值;(2)ISR 不能傳遞參數;(3)在許多的處理器/編譯器中,浮點一般都是不可重入的。此外,ISR應該是短而有效率的,在ISR中做浮點運算是不明智的。

7) 自定義類型typedef。

在C語言中用typedef為已存在的數據類型的起別名,如typedef struct s * pt; ptpt1,pt2; 通常用typedef顯式標識出各數據類型的長度和符號特性,避免直接使用標準數據類型。

8) 數據類型轉換。

正確地使用數據類型轉換有助于提高程序的安全性,建議使用顯式強制轉換,隱式轉換容易造成致命的程序缺陷。

9) 指針。

指針是C語言中的重要概念,也是C語言的重要特色。使用指針,可以使程序更加簡潔、緊湊、高效。在C語言中,通過指針可直接訪問內存。指針是C語言中廣泛使用的一種數據類型。運用指針編程是C語言最主要的風格之一。利用指針變量可以表示各種數據結構,能很方便地使用數組和字符串,并能像匯編語言一樣處理內存地址,從而編出精練而高效的程序。指針極大地豐富了C語言的功能。

10) 聯合體(union)。

union結構是一個能在同一個存儲空間里(但不同時)存放不同類型數據的數據。在8位體系結構中通常2字節,開發傳統平臺的C程序員不經常使用聯合體。嵌入式系統開發者要對系統資源精打細算,union類型基于幾個相關數據類型共享單一內存塊的數據,嵌入式系統中的union類型一個常見的用法是創建一個可擦寫緩沖區變量,由它保存不同類型的數據,在需要一個臨時變量的每個函數里,通過重用一個16位內存塊可節省內存。

11) 預處理。

預處理是編譯環境處理C程序的第一個環節,但往往最先被程序員忽略。條件編譯是按條件對C程序的一部分進行編譯,其他部分不編譯。這樣,當程序在不同系統上編譯、在同一系統不同編譯器上編譯或進行不同目的的編譯時,減少對程序語句的修改。條件編譯的目的:是使源代碼能更迅速、更容易地進行修改,并使目標代碼縮短,條件編譯可有效地提高程序的可移植性。宏定義是C語言中實現類似函數功能而又不具函數調用和返回開銷的較好方法,但宏在本質上不是函數,因而要防止宏展開后出現不可預料的結果,對宏的定義和使用要小心。宏定義、文件包含和條件編譯是在程序具體編譯之前,預先進行處理。使用這些預處理命令可以編寫出更易移植、易調試、模塊化的程序,從而提高程序的開發效率。

3高職高專“嵌入式C程序設計”課程教學方法

與其他計算機語言相比,嵌入式C語言的突出特點是功能強但規則多,學生普遍感到學習難度大,針對該課程教學特點,筆者將多年教學實踐中行之有效的方法總結如下:

1) 以程序設計為中心,以語言知識為工具,強調重要的基本概念和內容,弱化次要的細節,深入淺出,循序漸進。

2) 采用多媒體教學的優勢,對于難點問題進行通俗易懂的講解和演示,模擬計算機的內部狀態和程序執行過程,制作多媒體課件,增強學生的直觀感覺,方便理解。

3) 加強實踐環節,培養學生動手能力。按章節設置實驗,每個實驗給出必做題和選做題,以便引導不同程度的學生進行啟發式思維。

4) 在內容上注重知識的完整性,在進度上注意教學的靈活性,對學時合理分配。引導學生對同類問題進行總結歸納,整理提煉,學會舉一反三,提高學生的自主學習能力。

5) 開通教學網站,實踐網絡教學。圍繞課程需求開發網絡教學,學生通過網絡隨時提出疑難問題,教師將通過網絡教學資料,進行答疑,使學生能廣泛交流,獲取在線幫助,提高學習效率。

6) 對學生普遍感覺難于掌握和應用的幾個典型問題,如遞歸算法、鏈表、函數參數傳遞等,開設專題討論。

嵌入式C程序設計是實踐性很強的課程,學習的一個有效的方法是多上機實踐。先抓住基本內容和應用,通過上機調試,對程序有了基本認識,再逐步領會更多的細節。切記不要一開始就一頭扎在規則的糾纏中而迷失了方向。下面是我們采用的幾個典型的教學法。

1) 課堂上理論案例教學法。

具體教學時,先引出基本概念和基本知識點,然后將這些知識加以整合以案例的形式出現,讓學生在案例中掌握如何運用這些知識解決實際問題。

2) 實驗課任務(項目)驅動法。

嵌入式C語言程序設計是一門實踐性很強的課程,只有讓學生親自動手多做實驗,才能消化掌握并靈活應用課堂所學知識。在實踐教學中應該采用“項目驅動式”教學?!绊椖框寗邮健苯虒W就是以項目為目的,以C語言理論教學為過程,最終能用C語言設計項目,實現項目的要求?!绊椖框寗邮健苯虒W的關鍵在于培養學生“做什么”和“如何做”的思維能力。一個項目就是一個工程,在“項目驅動式”教學中,首先應該讓學生簡單了解什么是軟件工程思想,其次在C語言理論教學過程中,讓學生懂得程序設計的風格,最后引導他們來設計項目。我院的具體做法是,把全班分為若干個小組,從一開始就為每個小組提供幾個綜合性的項目供自由選擇,各個小組一旦選擇好項目,就會帶著問題去學習,老師引導學生學習,同時學生自己也主動查閱資料,相互討論,這樣隨著新知識的學習,項目也在同步進行,最后在項目完成的同時也達到了知識的整合,學生既掌握了知識,又了解了項目的整個流程。

3) 建立課堂與實驗室結合的一體化教學模式。

嵌入式C語言程序設計是一門實踐性非常強的課程,我院實施“人手一臺筆記本電腦”的教學方法,學院為每位學生配置了一臺筆記本電腦,在這樣的便利條件下,我們將實驗箱搬進教室,建立一體化教學模式,為學生創造一個良好的教學與實踐環境,學生可以隨時隨地的進行實驗操作,收到了良好的教學效果。

4高職高專嵌入式C程序設計課程的考核和評價方法

嵌入式C程序設計課程的實踐性決定了我們不能采用通常的閉卷考試方式來衡量學生的成績,而應該主要考查學生綜合運用知識的能力和項目開發能力。我們在教學過程中采用平時成績、期末理論考試

成績和期末項目綜合考核相結合的方式,其中平時成績主要由出勤、作業、實驗情況組成,占總評的15%,期末理論考試成績占總評的50%,而期末的項目綜合考核占總評的35%。期末時教師和學生共同組成考評小組對每個項目小組的項目完成情況進行考評,根據項目小組提供的項目開發文檔、演示和答辯情況及每位成員的工作量給出成績。讓學生通過一個完整的項目開發過程,掌握運用嵌入式C語言開發程序的整個流程,培養學生的實踐動手能力和相互協作的團隊精神,達到了培養應用型人才的目的。

5結語

信息時代、數字時代使得嵌入式產品獲得了巨大的發展機遇,也為嵌入式市場展現了美好的前景,同時也對嵌入式系統的開發者提出了新的挑戰。作為承擔嵌入式專業教學的教師深深感到任重而道遠,需要站在專業的高度,自頂向下開展實踐教學,從工程實踐中頓悟、升華理論教學,加強實踐技能,相得益彰,領會貫通,努力進取,教書育人。

參考文獻:

[1] Stephen Prat. C Primer Plus[M]. 北京:人民郵電出版社,2005:24-26.

[2] 田澤. 嵌入式系統開發與應用教程[M]. 北京:北京航空航天大學出版社,2005:15-18.

[3] 魏洪興. 嵌入式系統設計師教程[M]. 北京:清華大學出版社,2006:6-14.

Teaching Method of the Embedded C Programming Curriculum

on Higher Vocational Education

DONG Jinwen, CHEN Ruifang

(Department of Software Engineering, Inner Mongolia Electronic Information of

Vocational Technical College, Hohhot 010070,China)

嵌入式課程設計范文4

我國古代教育家孔子說:“知之者不如好之者,好之者不如樂之者?!睂W習興趣是學習動機中最活躍、最積極的成分,也是學習活動中最基本的內驅力因素。如何激發學生學習的興趣,使學生感到生物課的學習樂在其中,這是生物課教學成功的關鍵之所在。而不同年齡時期的樂趣,產生于不同的感知能力和認知水平。初一學生剛從小學進入中學,從心理特征來看,多處于少兒時期,好奇心強,活潑好動,思維活動以形象思維為主。對具體的、直接的、新鮮的事物最敏感,而對那些抽象的、理性的事物卻感到乏味、枯燥,甚至厭倦。因此,對于教師來說,必須利用有利的一面,轉化不利的因素,采用巧妙設計,變換形式,激發興趣。

比如,對于“軟體動物”一章中所介紹的河蚌,同學們不太了解,對這部分知識的學習也感到乏味。為了喚起學生的興趣,教師將“鷸蚌相爭,漁翁得利”這一典故繪成漫畫,展示給學生,由學生講述這一故事。同學們感到非常新奇,熱情高漲,爭先恐后。教師因勢利導,提出問題:1.為什么蚌能將鳥的嘴緊緊夾住,它靠什么結構?2.蚌殼長時間關閉會不會憋死,它靠什么呼吸?3.珍珠是怎么形成的?4.蚌殼很硬為什么稱之為軟體動物?5.軟體動物有何主要特征?還有哪些種類?6.軟體動物有何經濟價值?同學們的興趣一下被激發出來了,積極看書,認真思考,熱烈討論,問題很快得到了解決。

一幅簡單的漫畫,一個熟悉的典故,極大地調動了學生的學習熱情,牢牢地吸引了學生的注意力,使學生在輕松愉快的情境中學到了知識。既生動活潑、又富有情趣,樂在其中。再如,講“生態系統”時運用的“螳螂捕蟬,黃雀在后”的主題漫畫導入新課,同樣收到了良好的效果。

生物科學來源于人們對生命現象的認識、總結、研究和探索??茖W的預見,永遠是從問題開始的,學習亦如此。正如古人所說:“學貴于思,思源于疑。有疑,才有問;有問,才有究;有究才能知其理。”適當地設置疑問和懸念,學生定會產生急求其解的心情。這種方法適合于不同年齡時期的教學對象。因此,在很多章節開始,編擬符合學生認知水平,形式多樣,發人深思的問題,引導學生探究、聯想,達到設疑激趣的效果。如在講“物質代謝”一節時,首先向學生提出問題:“今天的你和昨天的你不一樣,馬和牛都吃草,肉味卻不同,人不吃很多脂肪也會胖起來?;剂四c炎幾天就會瘦下去,你知道為什么嗎?”教師引而不發,學生疑問重重,求知欲倍增。教師因勢利導,當我們學過“物質代謝”的知識后,大家就會明白了,導入課題。

生物學是一門以實驗為基礎的科學。觀察和實驗是生物學研究和教學的重要方法。

初中生物學,主要學習感性的、淺顯的、側重生命現象的基礎知識。用觀察與實驗導入新課,充分利用了直觀教學手段,不僅生動具體,把學生對生物現象觀察的興趣引到對生物學理論的學習上來,而且,這種直觀的感受與抽象的思維相結合,對培養學生的觀察力,分析能力和科學素質的形成都起著積極的作用。

比如,在講“十字花科”植物時,教師安排學生提前栽種白菜花。上課時學生每人手中一朵,教師引導觀察花瓣的數量、排列,引出課題。如此,親自的體驗,切身的感受,使學生獲得了準確的感性材料,為理性的推斷提供了直接的依據,記憶深刻,滿足了學生的參與意識,培養了觀察事物、分析問題的能力。

任何新的知識的學習,都是建立在舊的知識的理解和掌握的基礎之上的,沒有對舊知識的積累就沒有新知識的繼續學習和再認識。對于初中學生來說,思維方式雖以形象思維為主,但由于知識的積累和增加,經過不斷地總結、歸納,抽象的邏輯思維逐漸形成,具有了一定的分析、推理能力。根據這一心理特征,教師對一些前后知識聯系性較強的教學內容,抓住新舊知識的交接點,采取復習引導的教學方法有目的地向新知識過渡,不僅使舊知識得到鞏固,新知識過渡自然,更重要的是從一上課就能集中學生的注意力,促使學生積極思維,比如“新陳代謝一節”,概念性強,知識深,難度大,學生不容易理解。為將這一知識難度化解,教師首先引導學生復習與新陳代謝有關的知識:人的消化、呼吸、循環、排泄系統的功能,然后啟發學生思考:這幾章內容涉及到生物生存的共同性的生理問題,究竟是什么呢?學生認真思考,綜合分析,最后得出結論:人與外界環境進行物質交換。教師補充:還有能量交換。這就是我們這節課要學習的內容?!靶玛惔x”引出課題。

生物科學是一門年輕的學科。人們對生物學的研究還處于初級階段。甚至對一些極其簡單的生物學知識,也還存在著一些錯誤認識。為了使學生明辨是非,獲得正確的知識,糾正錯誤認識,采用傳統的誤識或不科學的做法作專題討論來導向課題,既可以激發學生學習的興趣,又可以使學生感受到全面掌握科學知識的必要性。比如在講“魚綱”一節時,教師首先列出眾多被稱為魚的動物,如鯉魚、魷魚、鮑魚、鱷魚、鯨魚、鯊魚讓同學們討論究竟哪個是魚,說出道理。同學們發言非常涌躍,說法不一,但都不十分完滿。教師不做裁決,而是把問題引到課題上來,通過本課的學習我們就知道了魚有哪些主要特征,判斷出哪個是魚。

嵌入式課程設計范文5

【關鍵詞】多路視頻服務器/客戶端;H.264編/解碼;遠程教學。

[Abstract] An embedded multi-channel H.264 video server/client design is established, which have been using in a remote experiment education system. The design includes these main modules, a video capture module based on DirectShow in Windows SDK, H.264 encode/decode module based on Intel_IPP_UMC, and a RTP transfer module based on jRTP library.

[Key Words] multi-channel video server/client;H.264 encode/decode;remote education

0.引言

視頻是遠程實驗教學必不可少的組成部分。視頻多路化設計可以節省教學設備數量,實現硬件資源利用的最大化。遠程視頻流處理需經由采集、壓縮編碼、實時傳輸、接收、解碼、回放幾個過程。視頻流處理一般具有高實時性和大數據量吞吐率的特點。特別是對于多路情況,數據量雖路數急劇增加[2]。采用目前編碼效率最高的H.264技術和專為多媒體傳輸設計的RTP協議[7],可以有效減小數據量,節省帶寬,利用RTP/RTCP實現的Qos完成資源的合理調配。

1.系統概述

實驗教學系統由實驗設備、視頻采集設備、服務器、網絡連接、客戶端組成。

客戶端利用本地PC啟動客戶端軟件通過Intenet與服務器交互??蛻暨x擇指定通道后, 服務器將該通道的實時視頻數據經H.264壓縮后通過RTP協議打包發送到客戶端,客戶端軟件在收到打包數據后完成拆包,解壓和回顯操作;客戶端定時向服務器發送RTCP,向服務器反饋收包情況,服務器根據RTCP評估網絡質量,據此調節視頻幀的壓縮速率或壓縮規模,以此實現Qos服務。

2.多路視頻服務器設計

在設計中采用雙核處理器Intel Dual Core T2300用于核心運算,配合接口完成設備控制。H.264編碼和RTP打包均用軟件方式完成。

圖1 實驗教學系統框圖

2.1硬件構成

系統采用嵌入式之星EC5-1719CLDNA開發板,板上集成Intel Dual Core T2300處理器(主頻1.6GHz,667MHz FSB)、Intel 945GM+ICH7M芯片組。系統內存DDR2 667MHz 1GB。接口包括4個USB2.0、4個COM(可跳線選擇串口、RS232或RS485)、1個10M/100M/1000M自適應以太網卡。操作系統采用Windows XP。硬件結構框圖如下:

圖2 視頻服務器硬件框圖

2.2軟件設計

服務器的軟件核心運行在Windows XP上,整體程序框架采用Windows MFC。數據采集通過調用Windows SDK中DirectShow庫函數以實現視頻設備搜索、設備參數調整、視頻參數調整、數據傳輸等;視頻編碼調用Intel_IPP_UMC庫函數,完成高性能的編碼運算;jRTP提供了一組RTP傳輸接口,通過調用這些接口程序完成網絡發送操作。軟件框圖如下:

圖3 視頻服務器軟件框圖

軟件整體采用多線程設計。充分利用多核處理器資源。線程是按功能進行劃分的。同一數據流的線程間采用異步調用方式傳遞數據塊指針,實現數據所有權的傳遞,實際上并不存在數據流動。編譯時,使用Intel編譯器針對指定處理器優化,使程序性能最優。

2.2.1視頻采集

圖4 視頻采集程序流程

采集模塊主要完成視頻采集和必要時候的格式轉換。一般說來,不同的視頻設備支持不同的圖像格式和分辨率,而視頻編碼器輸入僅支持某些標準圖像格式(如YUV420、UYVY、RGB24等)。當視頻設備不支持編碼器輸入格式時,進行格式轉換。反之,不需要轉換,以減少CPU資源占用情況,有助于提高幀率。所有操作由DirectShow實現。

此外,視頻采集線程還向視頻編碼線程提供圖像格式、分辨率等信息,以幫助編碼器正確初始化。當有新的一幀圖像時,采集線程調用編碼線程的輸入接口函數,準備傳遞數據。如果此時編碼器正忙,該接口函數會被一線程同步對象阻塞住,等待一個時間間隔后,若接口仍然保持阻塞,采集線程則放棄傳遞操作,丟棄當前幀的數據。如果接口不被阻塞,則幀數據傳遞成功。異步調用機制可以在當前CPU可用資源限制下最大限度的保證圖像的實時性。

2.2.2視頻編碼

編碼模塊完成視頻圖像的H.264壓縮。所有函數均由IPP庫函數搭建。編碼器利用采集線程提供的幀信息初始化變量和分配內存緩沖區。編碼器準備好時,檢查數據緩沖區,若為空,則等待一段時間后繼續檢查。如果發現有數據,則開始編碼。同一數據流的編碼器內部還將開辟多個子線程用于編碼運算,只有當這些子線程全部結束時才完成一幀圖像的編碼操作。

圖5 視頻編碼程序流程

當有一幀編碼數據壓縮完成時,編碼器線程調用網絡傳輸線程的輸入接口。該過程與采集線程異步調用編碼線程接口過程類似。

2.2.3視頻數據RTP傳輸

網絡傳輸模塊,完成視頻幀的分塊、RTP打包、網絡發送、RTCP接收操作。RTP/RTCP功能相關的函數均由jRTP實現。網絡傳輸線程與編碼線程的數據同步過程與前面所述的線程同步過程類似。網絡傳輸根據客戶端的情況完成初始化。初始化結果可能因客戶網絡環境為單播或組播有所不同。

圖6 網絡傳輸程序流程

2.2.4幀率控制機制

網絡正常的話,客戶端會定時向服務器發送RTCP包。網絡傳輸線程每個一定時間察看一次RTCP包接收情況,若沒有收到RTCP包,則網絡傳輸線程將睡眠一段時間。在這段睡眠時間里,由于前面所述的線程同步機制,整個數據流都將被阻塞住,編碼器停止工作,采集器不斷地丟掉采集到的數據。只有網絡線程恢復后,數據流才恢復流動。由此實現幀率控制。這是Qos的一個簡易實現辦法。

3.視頻客戶端設計

客戶端用于遠程向服務器發出控制指令,并接受和回放視頻圖像。

3.1軟件設計

客戶端程序框架采用用Windows MFC,RTP接收和RTCP發送用jRTP實現,H.264解碼和視頻渲染回放均使用Intel_IPP_UMC實現。經測試客戶端可運行于大部分Windows平臺下。

客戶端同樣采用多線程設計。按功能劃分為網絡接收線程、解碼線程、視頻顯示線程。線程同步機制與服務器相同。

圖7 客戶端程序框圖

圖8 D1分辨率客戶端顯示

3.1.1視頻數據RTP接收

網絡接收模塊完成RTP包接收,拆包,排序,幀組裝操作。并定時向服務器反饋RTCP。RTP接收采用異步接收方式,當接收到數據時推動數據流前進。若數據流下游的線程繁忙,則緩沖當前數據,盡可能多地接收數據。

3.1.2視頻顯示

在解碼線程完成幀解碼后,顯示線程完成回放工作。同時響應來自GUI的顯示控制操作。 經過驗證,服務器和客戶端工作良好。在服務器同時發送D1和CIF視頻時,圖像清晰穩定。更高分辨率或更多路視頻同時編碼時,視頻幀率明顯下降,但工作正常。證明設計具有良好的網絡適應能力。(詳見圖8所示)

4.測試數據

對于多路視頻的H.264編碼及傳輸的測試。調整不同的圖像分辨率,測試編碼器CPU占用率和網絡帶寬,并在客戶端測試數據丟包情況。改變視頻流的數量,分別測試1路,2路視頻情況下編碼器正常工作時CPU占用情況,網絡帶寬、丟包量以及QoS服務的效果。

表1 服務器測試結果

1路視頻

D1(720*576) 2路視頻

CIF(352*288)+D1(720*576)

CPU占用率 Core1 75% 96%

Core2 70% 98%

帶寬 1.1Mbps 1.8Mbps

丟包率 無丟包 無丟包

5.結束語

本文介紹了一種遠程實時視頻監控的設計實現。在對于遠程試驗教學系統,圖像質量和視頻幀率沒有特殊要求,在校園網帶寬所允許的條件下,本設計較好的完成了教學系統的功能需求。

參考文獻:

[1]劉喜龍,石中鎖.基于H264的嵌入式視頻服務器的設計[J].微計算機信息2005.1。

[2]多路嵌入式H.264視頻服務器的設計詳解.微計算機信息2008.06.19。

[3] PESCEMD. Programming Microsoft DirectShow for DigitalVideo and Television [M]. Redmond, Washington: Microsoft Press. , 2003。

[4] Multi-Core Programming Increasing Performance through Software Multi-threading, Shameem Akhter, Intel, 2007。

[5] DirectShow開發指南, 陸其明, 清華大學出版社, 2003。

嵌入式課程設計范文6

關鍵詞:嵌入式系統 教學 探索 實踐

中圖分類號:G642.0 文獻標識碼:A 文章編號:1673-9795(2014)04(a)-0113-02

近年來,隨著科技的發展和社會需求的推動,嵌入式技術及其應用已成為當今世界IT行業研究和應用的熱點。隨著網絡技術和通信技術的發展,嵌入式系統的發展和應用有了有力的技術支持和巨大的市場前景。嵌入式系統已經在國防、航天航空、機器人、移動通訊、醫療儀器、工業控制、汽車電子、信息家電、儀器儀表、數碼產品等諸多領域廣泛應用。社會對掌握嵌入式技術的人才需求越來越大,但目前相關技術人才卻嚴重匱乏,可以預見,嵌入式工程師將成為未來幾年內最為熱門的職業之一。

嵌入式領域的人才需求日益旺盛,人才缺口在逐步擴大,目前很多高職高專院校的相關專業都針對市場需求開設了嵌入式系統相關課程;但是由于嵌入式系統具有實踐性和應用性極強的特點,多數院校嵌入式系統教學起步較晚,普遍存在設備更新緩慢的問題,或者受人才儲備不足以及教學改革研究經費難以保障等因素的影響,在嵌入式系統教學上障礙重重,缺乏嵌入式系統人才的問題已經阻礙嵌入式產業可持續發展的重要問題之一[1]。因此,嵌入式系統的人才培養問題是高校嵌入式系統教學正在面臨與必須解決的問題。為更好地為社會培養實踐型、技能型人才,本文對嵌入式系統教學改革進行了探索和研究。

1 嵌入式系統教學特點和現狀

與國外相比,我國嵌入式系統起步較晚,真正得到發展還是近幾年的事情。高等院校作為培養嵌入式人才的主要基地,課程零散,無系統性,還沒有形成統一的教學體系和人才培養模式,還沒有發揮各個課程間的協同優勢,沒有一個全局的教學規劃,是各大高校教學中亟待解決的共同難題。

(1)現在國內的部分高校對嵌入式技術的概念模糊,對內容沒有徹底了解。如何同大學的前期課程的學習結合起來,這是教學的關鍵所在。另外,需要合理的規劃和研究如何確定主流的微控制器芯片和主流的操作系統。

(2)實踐性強是嵌入式系統課程的特點,對于初學者,必須有足夠的必要實驗環節和重要的驗證性實驗,這樣教學過程就不會簡單枯燥、內容乏味,學生也不會失去興趣;否則,老師教好、學生學好將是無從談起。所以說開展好實踐教學非常重要。

(3)學生專業不同,所掌握的背景知識不同,具體表現在:計算機類專業學生的電路與硬件基礎薄弱,對模電數電知識模糊;而電子類專業學生軟件基礎薄弱,不具備操作系統的相關知識,雖然都學過“電路”、 “C語言編程”等課程,但是他們一般都缺乏大型軟件項目的開發經驗,尤其缺乏操作系統方面的相關知識。因此在嵌入式系統課程體系中,針對不同的學生,需要首先增加一些用于彌補學生硬件電路、軟件知識和操作系統的課程。

2 嵌入式系統教學模式探索

2.1 理論教學

學生在校期間的學習時間畢竟有限,而嵌入式控制領域又涉及到很廣的知識面,需要學習很多東西,并且知識枯燥。為解決這個矛盾,嵌入式系統課程的目標是:實驗教學輔助理論教學,以理論教學為主,以實驗教學為輔,通過教學培養研究開發型人才。因此本課程的教學模式最好采取“啟發-強化-實踐”逐步深入的方法。課程教學的前期要通過講述嵌入式控制系統的優越性及其廣闊的應用前景,來調動和激發學生的學習興趣。

教學中間階段是對課程基礎知識的學習和強化。國家標準對于嵌入式系統的定義是這樣的:置入應用對象內部起操作控制作用的專用計算機系統。即凡是能置入一個大的對象內部、起到控制作用的芯片就可以叫嵌入式系統。實際上最基礎、最典型的嵌入式系統就是單片機系統。嵌入式教學的起步應該是教授8位單片機系統。隨著單片機等微處理器的應用越來越廣泛,8位單片機的處理速度、存儲容量和開發手段等方面越開越不能滿足需要,于是開始向更高的處理速度、更方便的操作方式以及16位和32位系統進展[2],例如DSP、ARM等,最后出現了能夠支持操作系統的嵌入式芯片和技術[3~4],比如SOPC。而對于芯片而言,根據不同的廠家,有多種選擇,同一個廠家也根據處理速度和管腳多少有不同的產品。操作系統一般應用嵌入式Linux系統,或者Windows CE系統,能夠放在很多嵌入式芯片上應用,比如ARM和FPGA。所以當我們循序漸進的教學時,應當先從單片機入手,熟練后學習ARM的有關知識,最后是Linux操作系統的掌握。

課程學習的最后階段是實踐應用環節,該階段可以驗證學生對所學知識的理解和掌握情況,能夠讓學生充分理解和掌握嵌入式芯片的工作原理和軟硬件開發平臺。課程的實驗環節主要包括實驗教學、課程設計以及科研訓練項目。

2.2 實驗教學

在嵌入式系統課程教學中,實驗教學非常重要。本文結合自己的教學和實踐經驗,主要介紹實驗教學環節的實施過程。該過程是這樣的:以工程應用為主,循序漸進、逐漸深入。課內實驗是必修教學環節,包含驗證性實驗和設計性實驗。驗證性實驗以各種專用實驗箱為主,與相應的課堂教學同步進行,配合相應的理論課學習,采用理論授課與動手實驗相結合的方式。通常單片機實驗是這樣的,依賴某一個特定的實驗箱或是實驗板,提供了幾個固定的經典實驗。學生通過這樣的試驗箱,能夠快速的學習各個模塊的使用,親自驗證各個功能模塊的實驗,記憶深刻,等到綜合性實驗時就可以靈活運用它們了。同時驗證課堂上學到的相關理論知識,使學生加深對理論知識的理解和掌握;了解嵌入式系統的集成開發環境、調試工具和測試工具的使用方法[5],了解嵌入式系統的開發流程。

設計型實驗則在理論課所學知識的基礎上,自行設計相關應用型實驗。在充分驗證課堂上所學到的理論性知識的同時,培養學生的自主動手設計能力。實驗中,老師根據知識難易程度給出實驗課題,要求在學生掌握單片機或者ARM架構、尋址方式、指令系統和接口等知識的基礎上,提倡學生自主設計實驗方案,自行設計電路,編寫實驗程序,調試運行,使學生具備在嵌入式平臺上設計開發的能力。對于嵌入式微處理器,該能力包括匯編語言編程、C語言編程及匯編語言和C語言混合編程、調試及對接口編程和運用能力。同時學校提供一些核心板和功能擴展模塊,配合學生的設計性實驗。

2.3 課程設計

(1)課程設計的重要內容是綜合性實驗。在驗證性實驗和設計性實驗的基礎上,在課程結束時進行課程設計。根據老師給定的一些綜合性選題,學生自由選擇感興趣的題目,根據整個課程的知識,利用學校實驗臺資源,制定出實驗方案和步驟。通過設計硬件電路,編寫程序,仿真調試,獨立完成一個比較復雜的綜合性實驗項目。通過課程設計的綜合性實驗,使學生掌握嵌入式系統的開發流程,對嵌入式系統設計有更深入的理解,并初步具備進行具體應用和綜合設計的能力。

(2)引入案例教學和項目教學模式,激發學生學習的積極性。針對社會對應用型人才的要求,結合學生的情況和學科的前沿技術,引入以案例教學和項目教學為主體的教學模式,遵循“學以致用、以用促學、邊學邊用、熟能生巧、追求創新”的理念。嵌入式課程教學可以一開始就可以下達課程設計任務讓學生選擇與了解,課題可以選用教師教學科研項目和各種大學生創新競賽項目。這樣可以讓學生更積極地去學習實踐環節,學生從“強迫學”變成“主動學”,同時學生也比較了解自己將要用到什么知識需要學什么知識。另外,實際應用能力的提高讓學生更有動力,使他們充分利用課余時間,既鞏固了知識點,又提高了設計經驗。

(3)建立學生為主力的研發團隊。對于基礎牢、悟性高、有一定開發能力的學生,通過選拔建立研發團隊,教師引進橫向課題,帶領學生完成這些面向應用的創新性項目。踐行“導師負責制”,篩選一批技術扎實、專業經驗豐富的教師隊伍,親手指導和教授學生,形成一支教師為帶頭人、學生為主力軍的研發團隊。同時在實踐教學中,強調以學生為認知的主體,通過學生的“感受”提出問題,在教師的指導下解決問題,能夠在大學期間更好地提高自己的工程實踐和創新能力。

3 結語

上述教學改革措施,以培養創新型人才為目標,把理論教學與實踐教學有機結合起來,進而提高嵌入式系統應用的綜合素質,使學生能成功地運用嵌入式芯片這門工具進行創造性開發設計。

參考文獻

[1] 李成華,江小平.嵌入式Android操作系統實踐教學改革[J].石家莊:教育教學論壇,2011,20(7):153-154.

[2] 范劍,李軍,夏如艇.單片機課程現場實驗教學改革與實踐[J].北京:中國教育技術裝備,2012,3(6):63-64.

[3] 高國旺,黨瑞榮,任志平.DSP課程教學改革與創新實踐探索[J].北京:理工高教研究,2010,29(1):131-133.

亚洲精品一二三区-久久