崔佳冬,謝強強,鄭 梁
(杭州電子科技大學,浙江 杭州 310018)
IEEE對嵌入式系統的定義:用于控制、監視或者輔助操作機器和設備的裝置。IEEE定義是一個宏觀上和廣義的定義,該定義的裝置包含硬件和嵌入硬件的程序(軟件),從是否包含操作系統來劃分,嵌入式系統分成廣義嵌入式系統和狹義嵌入式系統,本文以高校研究生教育中更普遍的包含操作系統(Linux)的狹義嵌入式為研究內容。
近年來,隨著嵌入式系統硬件逐步進入性能過剩和物聯網萬物互聯時代的到來,市場對嵌入式軟件編程技術人才需求旺盛,嵌入式軟件人才供不應求,人才缺口接近20%,嵌入式系統及應用前景被廣大學生看好,學生對學習嵌入式方向知識需求非常迫切。
電子信息學院較早開展了面向研究生“嵌入式系統及應用”專業必修課程。課題組獲得校級院級教改項目核心課程建設專項的支持,根據學院整體要求和課程特點,對嵌入式系統開發及應用課程進行了系統的教學改革嘗試,在網絡化、國際化等方面獲得一些有益經驗。
嵌入式系統及應用課程具有綜合性強、交叉性廣的特點,背景知識涉及計算機(體系結構、操作系統)、電子技術(計算機組成原理)等多學科。嵌入式系統課程教學內容較多,硬件方面主要包括ARM體系結構、嵌入式硬件電路、系統接口電路等;軟件方面包括ARM匯編(指令)、應用程序設計(API函數)、開發環境構建、Linux應用等。由于內容豐富,學時有限,教學內容包羅萬象,如何構建一個完整教學體系,取舍非常重要。
嵌入式系統及應用教學內容豐富,課程內容涵蓋文件、進程、網絡等內容。學生對這些知識點的掌握,很大程度需要通過軟件測試例來熟悉和掌握,軟件上機環節在很大程度上決定學生對軟件功能掌握。傳統教學都是單獨設置實驗環節,教學和實踐有些脫節,不利于學生更好地掌握軟件。課程組采用理論教學和隨堂筆記本驗證方式進行上機實踐,能夠加深學生對應用編程理解,提高學生興趣,培養學生關注軟件(API函數)細節的良好習慣;通過理論教學、上機實踐、探討相結合,達到較好的教學效果。
高校中嵌入式系統教學主要分成兩大流派:以嵌入式開發板為中心和以 Linux軟件為中心。二者側重點略有不同,前者偏向硬件和底層,可能包含ARM體系結構、匯編指令、Bootloader、編譯和裁剪內核、操作系統編程等;后者偏向Linux環境下應用軟件,也會涉及串口、網絡等編程。前者強調在目標硬件基礎上調試軟件(需要交叉編譯);后者強調軟件本身(本地編譯)。多年教學實踐下來,從效果看,后者更符合時代要求,能在有限學時內可以把Linux應用軟件體系講清楚,有軟件教學優勢。
由于嵌入式系統及應用課程的教學內容比較多,如何選擇教材非常重要。教材的選擇上,早期選用華清遠見教育集團編寫的《嵌入式系統技術與設計》,該書內容比較豐富,但是體系上不夠完整,比較適合培訓,不太適合大學教學,現已經作為教學參考書目。現在選用的是《Linux系統程序設計教程》,該教程內容翔實,基礎部分細致,核心部分內容完整,非常適合電子類同學系統學習嵌入式Linux編程。為適應市場對嵌入式人才的需求,選擇Linux操作系統(API)軟件編程作為教學核心內容,化繁為簡。教師在教學過程中,將科研項目中的一些有益經驗案例融入教學中,課堂教學生動、有趣。
嵌入式系統及應用課程是一門內容豐富、涵蓋面廣的綜合課程,課程內容包含硬件設計和軟件設計兩個主要方向。教學安排上可以選擇一個方向或兩者融合,隨著信息化和軟件化時代的到來,電子信息類專業學生對軟件需求非常迫切,急需補齊軟件這塊短板。教學安排上采用硬件軟件二八開,硬件重點放在串口和網絡開發,緊緊抓住時代脈搏;軟件涵蓋文件、多任務(進程/線程)、進程間通信、網絡通信、綜合應用等內容。
2.3.1 課堂上采用講授/討論(集思廣益后現場小軟件驗證)相結合的方式
在教學中,充分發揮教與學的積極性。教師提出問題,如編程實現管道命令,啟發圖如圖一示例所示,啟發內容包括主要實現方法(fork、dup2、execlp等)與步驟,通過具體案例啟發引導,由學生自由分組探討對問題的理解、看法,引導學生主動尋找解決問題的方法與途徑并自主編程實現。這種引導探索式教學方法大大調動學生的學習主動性,課堂探討氛圍濃郁,通過探討,提高學生自己參與教學的熱情,提升來了教學效果,培養學生開拓創新意識,而且有助于培養學生的團隊精神。

圖1 探討教學用例PPT
2.3.2 大作業綜合訓練教學方法
杭州電子科技大學是電子工程師的搖籃,根據工程師類復合型人才培養特點,注重培養學生自主創新和大膽創新。在教學后半段,引入項目作為一個大作業作為平時成績的主要內容,成績占比30%。項目以綜合性項目為主,內容涵蓋串口、網絡通信、進程間通信等教學內容。經典項目如:串口轉以太網軟件設計、多進程服務器設計、語音識別及應用等。以豐富多彩的項目為驅動,學生在項目的設計和實施中,逐步掌握相關教學內容。項目驅動法使學生對理論和實踐結合有了新的認識,通過完成一個具體項目,很好的培養學生的工程實踐能力,鍛煉了動手能力和論文寫作能力。
2.3.3 線上線下網絡平臺結合
當今,互聯網在生活無處不在,利用互聯網組織教學,在校內外已成為新的模式。特殊時期線上線下結合已經成為一種常態,相比較課堂教學相比較,互聯網平臺具有非接觸、臨場感好(不受現場位置限制)、交流方式多樣(如視頻和文字互動)特點。通過學校官網建立課程網站、構建網絡課堂平臺,公開教學大綱、授課計劃等內容,將互動、討論等經典的教學環節融入網絡平臺。學生利于平臺與老師雙向互動,教師可以通過網絡對學生進行輔導和答疑。同時網絡平臺還自由討論,方便師生、同學進行專業問題探討。充分利用網上教學資源,將教學過程課內外無縫對接,方便師生之間溝通,而且有助于在時間和空間上對課堂教學進行有益拓展。
2.3.4 雙語教學
由于缺少國外版合適的教程,我們嘗試制作英文PPT+中文上課的模式,學生普遍反映效果較好,避免了語言和技術難度雙層疊加,是一種值得推廣的教學模式;引導并推薦學生使用英文原版API幫助,有利于學生熟悉英文原版的功能描述,實現中英文較好的結合。通過英文PPT+英文API幫助兩個主要渠道,實現雙語效果,實踐反饋效果良好。
幾年來的嵌入式系統及應用的教學改革證明,通過主動選擇與挖掘教材教學內容,線上線下教學結合,探討式課堂與網絡教學平臺結合,充分調動了學生學習的自主性和創造性。經典命題(大作業)和學生自主選題結合,取得了比較好的教學效果。實踐教學(大作業)為學生積累了寶貴的編程經驗。