国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

嵌入式軟件設計課程研究與探索

2014-05-30 15:40王小妮
中國電力教育 2014年8期
關鍵詞:課程研究嵌入式軟件體系結構

摘要:對于處于高速發(fā)展時期的嵌入式技術及物聯網技術時代,嵌入式軟件方向課程的教學也在各大院校中開展起來。介紹了嵌入式軟件設計概念、體系結構及發(fā)展方向。設置了嵌入式軟件設計課程內容,包括嵌入式驅動程序設計、ARM體系結構與編程及嵌入式Linux設計三部分內容,對培養(yǎng)適應社會需求的嵌入式技術人才有著重要意義。

關鍵詞:嵌入式軟件;體系結構;課程研究

作者簡介:王小妮(1977-),女,山東威海人,北京信息科技大學理學院,講師。(北京 100192)

基金項目:本文系北京信息科技大學“嵌入式系統(tǒng)及應用”課程建設項目的研究成果。

中圖分類號:G642.3 文獻標識碼:A 文章編號:1007-0079(2014)08-0104-02

中國擁有世界最大的嵌入式技術市場,在手持儀器設備、信息家電、城市建設、工業(yè)控制、軍事應用等領域,嵌入式技術無處不在。[1]數字化、智能化、網絡化的趨勢將使傳統(tǒng)設備逐漸轉變?yōu)榍度胧皆O備,因此嵌入式軟件對改造和提升傳統(tǒng)產業(yè)有重大作用。我國嵌入式軟件應用規(guī)模為世界第三,在中國軟件前10家企業(yè)中,嵌入式軟件產品生產企業(yè)占了6家。企業(yè)對嵌入式人才需求,如軟硬件設計人才、應用開發(fā)人才、綜合性人才的需求也逐年增加,企業(yè)同時增加了大量嵌入式軟件方面培訓項目,員工工資待遇逐漸上升。華為、中興的成功可以提供一種模式,就是發(fā)展嵌入式軟件,將傳統(tǒng)的純硬件制造業(yè)提升為軟硬件一體化的嵌入式設備制造業(yè),這樣就可以使IT制造業(yè)有較高的增加值,更強的競爭力。據有關數據表明,2006年與嵌入式軟件對應的設備市場全球出貨量達到14億臺,2009年達到22億臺。與之相對應的是,2006年中國嵌入式軟件的市場價值是220億元,到2010年達到550億元。移動嵌入式產品將是未來消費電子類產品增長最快的領域之一。嵌入式技術發(fā)展趨勢要求從8位單片機應用向16位、32位的嵌入式微處理器轉變,并實時操作系統(tǒng)管理軟硬件,而嵌入式操作系統(tǒng)則是驅動硬件系統(tǒng)的靈魂。因此,通過嵌入式軟件增加產品的附加值無疑是最好的選擇,嵌入式軟件對改造和提升傳統(tǒng)產業(yè)有著重大作用。中國工程院院士倪光南強調,我國IT行業(yè)應大力發(fā)展嵌入式軟件,提升我國IT產業(yè)的核心競爭力。

對于處于高速發(fā)展時期的嵌入式技術及物聯網技術時代,嵌入式軟件方向課程的教學也在各大院校中開展起來。要培養(yǎng)適應社會需求的嵌入式技術人才,在設置嵌入式軟件方向課程時,要結合市場需求,制訂相應的嵌入式軟件設計這門課程內容。

一、嵌入式軟件概述

嵌入式軟件實現嵌入式計算機系統(tǒng)功能的軟件。嵌入式軟件總體上可以劃分為:嵌入式系統(tǒng)軟件和嵌入式應用軟件。嵌入式系統(tǒng)軟件涉及操作系統(tǒng)的移植、裁減、驅動程序開發(fā),和入式應用軟件涉及視頻圖像、語音、網絡等。從運行平臺來分,嵌入式軟件可以分為運行在開發(fā)平臺上的軟件和運行在嵌入式系統(tǒng)上的軟件。運行在開發(fā)平臺上的軟件包括設計、開發(fā)、測試工具等。運行在嵌入式系統(tǒng)上的軟件包括嵌入式操作系統(tǒng)、應用程序、驅動程序及部分開發(fā)工具。[2]從使用工具角度來分,嵌入式軟件可以分為系統(tǒng)軟件、支撐軟件和應用軟件,如圖1所示。

其中:系統(tǒng)軟件:控制、管理計算機系統(tǒng)的資源;支撐軟件:輔助軟件開發(fā)的工具;應用軟件:面向應用領域。嵌入式軟件系統(tǒng)的體系結構如圖2所示:

驅動程序層:是直接與硬件打交道的一層,它對操作系統(tǒng)和應用提供所需的驅動支持。操作系統(tǒng)層:是提高計算機利用率的程序代碼,能協(xié)調管理計算機軟件和硬件資源。匯編語言層:操作系統(tǒng)引導程序對硬件設備進行訪問的代碼要用匯編語言完成。匯編語言可用于系統(tǒng)的低層軟件、加密解密軟件、分析和防治計算機病毒等。高級語言層:用C/C++或JAVA語言進行編程實現應用功能,也可以直接使用中間件軟件程實現應用功能。應用層:由多個任務組成,每個應用任務完成特定的工作,如I/O任務、計算的任務、通信任務等,由操作系統(tǒng)調度各個任務的運行。[3]

二、嵌入式軟件設計課程研究

嵌入式軟件設計這門課程可以設計為80課時,其中20課時講解嵌入式驅動程序設計,20課時講解ARM體系結構與編程,40課時講解嵌入式Linux設計。

1.嵌入式驅動程序設計

設備驅動程序是介于硬件和OS內核之間的軟件接口,是一種低級的、專用于某一硬件的軟件組件。

(1)串行口驅動設計:要熟悉串口通訊原理(包括設置字符的格式、波特率、校驗位),查閱ARM串口寄存器文檔(包括控制、狀態(tài)和數據寄存器),查閱電平轉換芯片資料(max3232),設計串口硬件電路圖,完成串口驅動程序的設計(包括串口寄存器初始化,發(fā)送接收函數等)。

(2)鍵盤驅動設計:學習鍵盤驅動原理(確定是否有鍵按下;確定是哪一個鍵或哪幾個鍵被按下;確定被按鍵的輸入代碼;消除按鍵抖動干擾等),掌握通過CPU的I/O擴展鍵盤的方法,設計鍵盤接口電路圖,實現4×4的鍵盤,編程實現鍵盤的驅動。

(3)A/D接口驅動程序設計:學習ARM 本身自帶的A/D 控制器及相應寄存器;掌握A/D轉換的基本原理(包括采樣、保持、量化和編碼);熟悉A/D轉換器的類型(包括逐位比較型、積分型、計數型、并行比較型、電壓-頻率型等類型);編程實現ARM 系統(tǒng)的A/D 功能。

(4)LCD顯示屏驅動設計:了解LCD 基本概念與原理;學習LCD驅動器相關的寄存器;理解LCD 的驅動控制;熟悉用ARM 內置的LCD 控制器驅動LCD;完成LCD驅動程序的設計(包括LCD寄存器初始化、字符顯示刷新、格式化字符輸出、圖形刷新顯示、清屏等函數)。

(5)觸摸屏驅動設計:了解觸摸屏基本概念與工作原理(包括表面聲波屏、電容屏、紅外屏和電阻屏);學習觸摸屏相關的寄存器;分析ADS7843工作時序;理解觸摸屏與LCD 的密切配合;編程實現對觸摸屏的控制。

2.ARM體系結構與匯編語言編程

70%以上的系統(tǒng)軟件是用匯編語言編寫的。某些快速處理、位處理、訪問硬件設備等高效程序是用匯編語言編寫的。某些高級繪圖程序、視頻游戲程序是用匯編語言編寫的。在嵌入式領域中,以ARM為架構設計芯片的占據整個芯片市場的80%以上。因此學習ARM體系結構與匯編語言編程尤其重要。

了解ARM公司情況以及基于ARM技術的嵌入式系統(tǒng)的應用情況,掌握ARM處理器的種類及其主要特點。掌握ARM編程模式的基本知識,包括ARM處理器模式、寄存器及其使用方式,掌握ARM體系中存儲訪問的基本知識。了解ARM處理器的體系結構、指令系統(tǒng)及開發(fā)工具的使用,掌握開發(fā)基于ARM的應用系統(tǒng)的各方面的知識。其中包括ARM體系介紹、ARM匯編語言程序設計、ARM C/C++語言程序設計、ARM集成開發(fā)環(huán)境的介紹。掌握ARM指令集和Thumb指令集的應用領域,掌握各指令的編碼格式、語法格式、執(zhí)行的操作以及應用方法。掌握ARM匯編語言程序設計的基本方法以及ARM匯編器的使用方法。掌握匯編語言格式和程序格式。掌握ARM體系存儲系統(tǒng)的基本概念,掌握存儲管理單元MMU、寫緩沖以及Cache,了解有關存儲系統(tǒng)的程序設計。理解ARM匯編程序以及C/C++程序之間互相調用的技術,了解C編譯器中內嵌的匯編器的使用方法。了解嵌入式應用程序設計的基本知識,通過示例具體掌握嵌入式應用程序的設計方法。掌握ARM開發(fā)工具編譯、連接程序的方法。并在此基礎之上介紹一些典型的基于ARM體系的嵌入式應用系統(tǒng)設計時的基本技術。

3.嵌入式Linux設計

(1)熟悉Linux引導程序bootloader:初始化硬件設備,建立內存空間的映射圖。將操作系統(tǒng)內核映像從Flash內拷貝到RAM中,然后跳轉到內核的入口點去運行,即啟動操作系統(tǒng)。

(2)分析內核源碼:包括初始化Cache、Mmu等設置;內核解壓函數;非壓縮內核啟動匯編段;Linux內核移植NANDFLASH、

LCD、網卡、YAFFS FLASH的方法。

(3)文件系統(tǒng)建立:掌握 Flash的特性,建立在Flash上的文件系統(tǒng)(包括EXT2、Jffs2、yaffs、CRAMFS、proc)。

(4)設計圖形界面:掌握QT開發(fā)工具及QT編程核心技術、QT程序設計方法。

三、嵌入式軟件發(fā)展方向

嵌入式軟件有廣闊的創(chuàng)新空間:面向各種應用,硬件、軟件平臺多樣化,不易被壟斷;新需求不斷發(fā)展,新技術層出不窮;投入不大,容易起步;中國巨大的制造業(yè)是最好的市場。

嵌入式Linux未來的前景看好,但是人才的缺乏已經成為當前制約嵌入式Linux發(fā)展的瓶頸。一方面,因為嵌入式人才領域門檻較高,從事嵌入式軟件開發(fā)的工作人員不僅要熟練掌握c/c++、匯編語言等基礎,而且對Linux底層驅動內核,甚至是硬件都要了然于心。另一方面,因為這一領域較新,目前發(fā)展太快,很多軟硬件技術出現時間不長或正在如雨后春筍般地涌現(如ARM11處理器、嵌入式Linux操作系統(tǒng)、MPEG技術、無線通信協(xié)議、移動USB3.0高速傳輸等),目前國內乃至國際上能夠掌握這些新技術的人才相當匱乏。

近幾年包括未來幾年,市場對嵌入式Linux人才的需求旺盛,而目前熟練的Linux應用人才只有幾千名,這意味著各大跨國公司及國內消費類電子巨頭企業(yè)都面臨著人才嚴重短缺的挑戰(zhàn)。嵌入式Linux的從業(yè)者薪酬比其他IT業(yè)同行大約高出50%,初入門的開發(fā)人員平均月薪一般都能達到8000元,有三年以上經驗的人員年薪都在15萬元以上,有10年工作經驗的高級嵌入式軟件工程師年薪在40萬元左右。

四、總結

自主創(chuàng)新,發(fā)展嵌入式系統(tǒng)是提升中國信息產業(yè)競爭力的重要途徑。中國必須掌握嵌入式系統(tǒng)的核心技術,包括芯片和軟件,從中國制造發(fā)展到中國創(chuàng)造,成為一個信息強國。

參考文獻:

[1]張玢,孟開元,田澤.嵌入式系統(tǒng)定義探討[J].單片機與嵌入式系統(tǒng)應用,2011,(1).

[2]王小妮.基于嵌入式系列課程的教學改革與探索[J].教育理論與教學研究,2013,(5).

[3]何立民.嵌入式系統(tǒng)支柱學科的交叉與融合[J].單片機與嵌入式系統(tǒng)應用,2008,(5).

(責任編輯:王意琴)

猜你喜歡
課程研究嵌入式軟件體系結構
實時嵌入式軟件的測試技術
全景相機遙控器嵌入式軟件V1.0 相關操作分析
中職學校光電專業(yè)現代班組長培養(yǎng)的課程研究
基于任務驅動的保險實訓課程研究
基于粒計算的武器裝備體系結構超網絡模型
作戰(zhàn)體系結構穩(wěn)定性突變分析
應用型信管專業(yè)課程創(chuàng)新研究
基于DODAF的裝備體系結構設計
基于云計算的航天器控制系統(tǒng)自組織體系結構
基于Eclipse的航天嵌入式軟件集成開發(fā)環(huán)境設計與實現