龍林波 劉俊 李菁晶
【摘要】在萬物互聯(lián)時代,嵌入式系統(tǒng)得到廣泛應用,嵌入式系統(tǒng)課程在計算機專業(yè)逐步演變成核心重要課程。嵌入式系統(tǒng)課程是一門軟硬協(xié)同設計的課程,知識面較為廣闊,尤其是對計算機專業(yè)學生的硬件知識儲備提出了更高要求,以至于學生難易掌握嵌入式的重要知識。為此,本文梳理了嵌入式系統(tǒng)課程的重要知識,探索該課程教學內容的模塊化設計方法,能夠讓計算機專業(yè)學生全面、系統(tǒng)的掌握嵌入式系統(tǒng)的基本知識、技術原理和設計方法,具備嵌入式系統(tǒng)初步開發(fā)能力。
【關鍵詞】萬物互聯(lián) 計算機專業(yè) 嵌入式系統(tǒng) 教學內容
【中圖分類號】G420 【文獻標識碼】A 【文章編號】2095-3089(2019)03-0234-02
一、背景
隨著物聯(lián)網和行業(yè)數(shù)字化的快速發(fā)展,嵌入式設備突破網絡邊緣,廣泛應用于軍事、醫(yī)療、辦公、智能家居等領域,成為計算機的一個重要應用分支[1][2]。與此同時,嵌入式系統(tǒng)課程也從以往的選修課程,逐步發(fā)展成為計算機專業(yè)的核心課程或必修課程。然而,嵌入式系統(tǒng)課程是一門具有挑戰(zhàn)性的課程,對學生和老師均提出很大的難度。首先,嵌入式系統(tǒng)門檻高,是一門軟硬協(xié)同設計的課程,要求學生應具備硬件底層、系統(tǒng)層及軟件層等方面的知識儲備。雖然計算機專業(yè)學生軟件基礎較好,但硬件基礎不及自動化、測控和電子工程等專業(yè)的學生好。其次,嵌入式系統(tǒng)是先進的計算機技術與各個行業(yè)應用相結合的產物。因此,嵌入式系統(tǒng)授課內容必定緊跟新型技術的發(fā)展,具有多樣性和先進性,要求學生具備較強的學習能力。最后,嵌入式系統(tǒng)學習過程繁瑣,實驗平臺難以掌握,開發(fā)過程問題較多,均為教學過程提出了各種各樣的挑戰(zhàn)。針對計算機專業(yè)嵌入式課程存在的問題,本文將從授課內容方面討論如何優(yōu)化該課程的教學質量。
二、模塊化的教學內容改革
結合計算機專業(yè)學生的實際情況,論文將從教學內容方面探討嵌入式系統(tǒng)課程的教學。因嵌入式系統(tǒng)課程早期開設與通信、自動化及電子工程等專業(yè),教學內容過于偏重與硬件的講解,如處理器體系結構、處理器指令集、存儲芯片及接口設計等方面的介紹,難以為計算機專業(yè)學生所采用。然后,各個高校針對計算機專業(yè)對教學內容進行了進一步的優(yōu)化,但集中于系統(tǒng)層面的介紹,例如匯編編程、嵌入式系統(tǒng)的實時調度和內存管理等方面??傊?,早期教學內容過于偏硬件,或過于偏系統(tǒng)層面的講解,且教學內容過于離散化。為此,論文對嵌入式系統(tǒng)課程內容進行梳理,根據(jù)各個知識的特點,在保證教學內容連貫性的前提下,對現(xiàn)有教學內容進行模塊化設計。
(1)軟硬件協(xié)同設計的通識教育模塊
在這個模塊中,主要集中于嵌入式系統(tǒng)最基本的知識介紹。首先,讓學生熟悉嵌入式系統(tǒng)的今生前世、應用場景及發(fā)展歷程,能按自己的理解給出嵌入式系統(tǒng)的定義。然后,掌握嵌入式系統(tǒng)的硬件體系架構及處理器的基本常識,如微處理器、微控制器、DSP及SOC的基本原理及應用場景。其次,掌握嵌入式操作系統(tǒng)與桌面操作系統(tǒng)的主要區(qū)別,了解常見的ucLinux、RT-Linux、Android、IOS、Vxworks、Windows CE等嵌入式操作系統(tǒng)的發(fā)展歷程及優(yōu)勢,能夠按應用需求及嵌入式硬件平臺的特點挑選合適的嵌入式操作系統(tǒng)。最后,按照常規(guī)的工程設計方法,并引入相關嵌入式產品開發(fā)例子為引導,深入了講解嵌入式軟硬件系統(tǒng)設計的思想及特點,讓學生能夠準確的理解嵌入式開發(fā)與傳統(tǒng)開發(fā)的區(qū)別。
(2)以ARM為例的嵌入式硬件教學模塊
結合計算機專業(yè)已有計算機組成原理的基本知識,根據(jù)市場主流的ARM處理為例,對嵌入式硬件涉及的重要知識進行介紹。主要分兩個方面:1)ARM的簡介和內部結構,讓學生掌握微處理器的一般特性和一般結構。首先,讓學生深入了解ARM的發(fā)展歷程、個體系結構版本的區(qū)別,以此為例讓學生掌握嵌入式處理器的流水線、哈弗結構、RISC等重要知識。然后,進一步介紹ARM處理器系列產品的發(fā)展及應用領域,如ARM7、ARM9、ARM10、ARM11等微處理器,以此為例讓學生學會如何根據(jù)各個處理器的優(yōu)勢和特點,能夠為特定的應用場景挑選一款合適的處理器。最后,深入ARM的內部結構,介紹ARM處理器的七種工作模式及其各個種模式下各個寄存器的使用規(guī)則。2)ARM指令集,掌握基本指令的用法及簡單匯編編程。鑒于大部分計算機專業(yè)將匯編編程課程設計為選修課,學生完全沒有匯編編程基礎,拓展ARM的介紹,以ARM指令集為例讓學生理解程序和指令的運行機理,掌握基本匯編編程方法,促進學生能運用匯編改進嵌入式程序的性能,或能運用指令去開發(fā)驅動程序。
(3)以嵌入式Linux為例的嵌入式操作系統(tǒng)教學模塊
嵌入式操作系統(tǒng)種類超過200多種,各個系統(tǒng)都具有各式各樣的特點,以應用市場最大的嵌入式Linux為例,介紹嵌入式操作系統(tǒng)的特點與基本原理,讓學生具備剪切或修改操作系統(tǒng)的基本能力。首先,介紹Linux的發(fā)展歷程及特點、簡單命令、Shell編程、I\O編程等基本知識,讓學生具備使用Linux的基本能力。然后,根據(jù)ucLinux引入嵌入式Linux的內存管理介紹,介紹MMU在內存管理的重要性及原理;根據(jù)RT-Linux引入嵌入式Linux的進程調度介紹,介紹實時任務調度的一般方法和原理。其次,增加boot loader和文件系統(tǒng)的介紹,介紹嵌入式系統(tǒng)是如何通用boot loader運行起來,基于Flash的文件系統(tǒng)應具備的機制和原理,以此讓學生具備能夠根據(jù)具體市場應用,選擇合適的嵌入式操作系統(tǒng),能夠完成嵌入式操作系統(tǒng)的修改與移植。
(4)以驅動程序開發(fā)為例的軟件教學模塊
嵌入式Linux系統(tǒng)一般包括了大部分主流外設的驅動程序,如鍵盤、鼠標、顯示器等。但嵌入式系統(tǒng)的自身特點決定了嵌入式設備必定搭載豐富的、未定義的外設。為此,驅動程序開發(fā)是嵌入式開發(fā)中最具代表性的軟件開發(fā),且必須結合特定的硬件平臺進行開發(fā)。首先,介紹驅動程序的基本原理及特點,讓學生對驅動程序有基本的認知。然后,介紹驅動程序結構,了解驅動程序的基本構造及基本函數(shù)庫。其實,以字符驅動設計為例,介紹驅動開發(fā)的過程,讓學生能夠獨立完成簡單的嵌入式驅動開發(fā),掌握一般軟件的設計方法,如可重入函數(shù)設計、C語言與匯編混合編程、軟硬件系統(tǒng)開發(fā)等基本方法。
(5)教學實驗模塊
結合教學內容,首先挑選基于ARM+Linux的實驗平臺。其次,為學生設計課內實驗內容,包括搭建嵌入式Linux主機開發(fā)環(huán)境及其調試環(huán)境、完成設定的Linux shell編程及I/O編程、完成嵌入式系統(tǒng)的移植、完成典型且較為簡單的驅動程序開發(fā)等內容。最后,設置開放性題目,讓學生基于已有嵌入式平臺完成具有一定功能的嵌入式產品,如小型路由器、TCP\IP的實現(xiàn)等。
三、結語
嵌入式課程是一門具有挑戰(zhàn)性的課程,知識涉及計算機專業(yè)的硬件、系統(tǒng)及軟件等方面的知識,對學生的學習門檻較高。針對計算機專業(yè)學生的學習情況,本文結合嵌入式系統(tǒng)的基本原理及嵌入式開發(fā)的基本要求,重新梳理了教學內容,對教學內容進行模塊化設計,以此讓學生能夠更為清晰的理解和掌握嵌入式系統(tǒng)課程的重要知識。
參考文獻:
[1]廖俊杰,周小平,李桂峰,等.職業(yè)核心能力嵌入式教學模式改革與實踐[J]. 中國職業(yè)技術教育,2016(8):54-57.
[2]鄢秋榮,王玉皞,王艷慶,等.面向軟硬件協(xié)同設計的嵌入式系統(tǒng)教學改革與實踐[J].實驗室研究與探索,2016(6):190-193.