999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

嵌入式軟件開發方法的應用

2018-09-20 11:29:34漆震云
無線互聯科技 2018年15期

漆震云

摘要:文章從學習嵌入式系統開發所需要具備的計算機專業理論基礎、硬件和軟件方面的基本知識、基本技能和基本方法入手,從軟件工程方法角度提出嵌入式系統開發方法及其工程應用,為構建嵌入式系統開發人員智能結構基礎做了一些有益的探索。

關鍵詞:嵌入式系統;開發方法;智能結構

嵌入式系統是以單個或幾個特定功能程序加上相關操作系統存儲在ROM中的、以實現特定控制功能為目的的專用的嵌入式處理器控制單元。嵌入式系統的開發設計與實現以計算機專業技術和相關應用領域專業知識為基礎,通過以嵌入式處理器為核心的硬件與軟件有機結合、優勢互補的專門設計,滿足特定應用項目對控制功能、外形尺寸、功率損耗、經濟成本、可靠性等方面的特殊需求。

ARM+Linux是目前比較流行的嵌入式系統開發組合模式,從硬件方面,需要學習ARM接口電路設計和C語言的板級編程,從軟件方面,需要學習ARM處理器的操作系統層面的驅動與移植。

本文從學習嵌入式系統開發需要具備的計算機專業理論基礎、硬件和軟件方面的基本知識、基本技能和基本方法入手,從軟件工程方法角度提出嵌入式系統開發方法及其工程應用。

1 嵌入式軟件開發需要具備的知識

1.1 理論基礎方面的基本知識與基本技能

嵌入式軟件開發需要具備理論基礎知識方面包括以下內容。

(1)理論基礎知識。微機原理及接口技術、單片機原理及接口技術等。(2)嵌入式專業基礎知識。單片機包括STM32, MSP430, AVR等。嵌入式FPGA:邏輯設計、協議轉換、算法設計等。嵌入式DSP:DSP算法開發、DSP驅動開發等。嵌入式ARM:系統內核、驅動開發、應用開發、bootloader開發等。(3)嵌入式專業應用基礎知識。信號多媒體領域應用基礎知識包括音頻、視頻和圖像等;通信領域應用基礎知識包括通信原理、隨機信號自適應等;控制領域應用基礎知識包括控制原理、人工智能、機器學習等。

1.2 硬件方面的基本知識與基本技能

嵌入式軟件開發需要具備硬件方面的基本知識與基本技能包括以下內容。

(1)電路與電子技術基礎:電路分析基礎、模擬電子技術、數字電子技術、微處理器技術、電子元器件基本知識。(2)電路圖識圖與制圖。(3)PCB基礎:PCB制圖、PCB加工工藝等。(4)高速信號電路與電源等。

嵌入式系統開發需要具備硬件方面的基礎知識與基本技能主要包括嵌入式微處理器的體系結構和硬件總線接口。嵌入式處理器的體系結構既可以采用馮·諾依曼體系結構,也可以采用哈佛體系結構。指令系統既可以選用精簡指令系統(Reduced Instruction Set Computer,RISC),也可以選用復雜指令系統(Complex Instruction Set Computer,CISC)。RISC由于在數據通道中只包含最有用的指令,可以確保指令的快速執行,從而節約了指令執行時間、提高了指令執行效率,并使得嵌入式系統硬件設計更加簡捷。

目前應用比較廣泛的嵌入式處理器包括ARM,MIPS,PowerPC,DSP等,建議首先以目前主要流行的嵌入式處理器的一種,作為入門性學習,從而掌握嵌入式處理器的基本知識與基本技能,然后根據學習和工作需要,再進行針對性的強化學習和補充,采取精通一個,觸類旁通的學習方法。需要預先學習微機原理、單片機原理作為基礎。

嵌入式處理器的硬件總線接口基本知識與基本技能,目前主要流行的嵌入式處理器的硬件總線接口包括模/數(Analog to Digit,A/D)轉換接口、數/模(Digit to Analog,D/A)轉換接口,I/O接口包括RS-232串行通信接口、Ethernet以太網接口、USB通用串行總線接口、SPI串行外圍設備接口、Audio音頻接口、VGA視頻輸出接口、IrDA紅外線接口、IIC集成電路總線、UART通用異步串行總線接口、MDIO管理數據輸入輸出串行總線接口等。

各種外部設備都必須通過硬件總線接口與嵌入式微處理器監控系統進行物理連接,熟悉和掌握各種硬件總線接口基本知識與基本技能,對于嵌入式驅動軟件的開發具有極其重要的意義。

1.3 軟件方面的基本知識與基本技能

⑴工具類包括C語言,C++語言(Qt,MFC), Python,Matlab,LabVIEW等。(2)程序類包括程序算法、數據結構等。(3)系統類包括Linux系統、Windows系統等。

嵌入式軟件開發以C語言為基本開發語言,C語言是一門通用的計算機程序設計語言,C語言包括數據類型、運算符與表達式、程序結構、順序、選擇、循環、數組、函數、預處理命令、指針、結構體與共用體、文件、位運算等內容。

熟悉和掌握指針、結構指針、指針函數、數據類型及轉換的基本知識,對const,static,volatile,packed,aligned等常用關鍵字的意義與功能的理解。

C語言既具有高級語言的結構化特點,又具有匯編語言的實用性特點,還具有可移植性的特點。C語言具有很多低級處理功能,同時具有代碼級別跨平臺運行特點,以標準規格編寫的C語言程序可運用于多種操作系統,如Windows,DOS,UNIX等操作系統,也適用于在大、中、小、微型計算機以及嵌入式單片機平臺進行編譯。

具備超強的數據處理能力使得C語言廣泛應用于系統軟件開發、應用軟件開發、二維與三維圖形和動畫設計等各類科研生產生活領域。

在嵌入式系統開發設計與實現過程中,C語言既可以用于編寫嵌入式系統的系統程序,也可以用于編寫不依賴于嵌入式系統硬件的應用程序。

1.4 嵌入式軟件開發的基本方法與基本技能

嵌入式軟件開發的基本方法與基本技能的形成,首先是嵌入式軟件開發環境的構建與嵌入式軟件開發流程的熟悉,其次是嵌入式軟件驅動程序開發和嵌入式軟件應用程序開發的基本知識與基本訓練,學習理解和掌握嵌入式軟件設計理念和方法,最后就是把以上這些基本知識、基本技能和基本方法,通過編程實踐,融會貫通形成自己的設計理念與方法,運用到嵌入式軟件開發工程項目的設計與實現之中,循環往復不斷提升。

嵌入式系統具有鮮明的專用性,必須結合項目需求具體實際情況,以嵌入式處理器為核心的硬件與軟件有機結合、優勢互補的專門設計,才能滿足應用系統項目對控制功能、外形尺寸、功率損耗、經濟成本、可靠性等方面的特殊需求。

通過構建相對通用的嵌入式系統開發所需要的軟硬件環境平臺,開發出適應各種功能需要的應用系統,是嵌入式系統開發人員的初衷與愿望。目前嵌入式系統的核心內容往往是一個只有幾K或幾十K微內核,根據項目需求實際情況,對微內核進行功能擴展或裁剪是比較高效快捷的嵌入式系統軟件開發方法。

嵌入式系統的構架分成4個部分:嵌入式微處理器、存儲器(SDRAM,ROM,Flash)、輸入輸出(A/D,D/A,I/O)接口、操作系統軟件和應用軟件。

嵌入式系統裝置由嵌入式計算機控制系統和執行機構組成,執行機構接受嵌入式計算機控制系統發出的控制指令,執行相關特定的操作功能。執行機構既可以很簡單,也可以很復雜。根據項目應用需求,集成相關數量和種類的微小型控制電機以及相關數量和種類的傳感器,從而感受各種狀態信息并執行相關特定的功能動作。

從嵌入式系統開發設計實現角度分析,嵌入式系統由硬件層、中間層、系統軟件層和應用軟件層組成。

(1)硬件層就是在一片芯片上集成嵌入式處理器電路、存儲器(SDRAM,ROM,Flash)電路和輸入輸出(A/D,D/A,I/O)電路、電源電路、時鐘電路等功能電路,嵌入式操作系統軟件和應用軟件都固化在ROM中。多功能的高度集成使得其具有體積小和高效率、高可靠性等特點。(2)中間層也稱為硬件抽象層(Hardware Abstraction Layer,HAL)或板級支持包(Board Support Package,BSP),包括嵌入式系統硬件初始化和硬件相關的設備驅動程序初始化。中間層把系統軟件層與硬件層分離開,使得軟件開發僅根據BSP層提供的接口,而無需關注硬件的具體情況。(3)系統軟件層由多任務實時操作系統(Real Time Operating System,RTOS)、文件系統、圖形用戶接口(Graphical User Interface,GUI)、網絡系統及通用組件模塊組成,在系統開發中根據項目需求進行移植。(4)應用軟件層主要包括在操作系統下的編程接口函數調用、嵌入式數據庫設計、網絡編程、應用層面的應用開發。

2 嵌入式軟件開發方法

軟件開發方法歷經面向過程、面向對象、面向服務的模式轉換,不斷改善項目需求客戶與系統開發人員之間的有效聯系與溝通,使得軟件開發從設計到實現以及維護各環節,內容逐步明晰與效率不斷提高。

2.1 結構化的軟件開發方法

結構化的軟件開發方法采用自頂向下逐步求精的方法,把整個軟件開發任務抽象為一系列功能模塊的組合。結構化的軟件開發方法具有系統穩定性低、功能適應性低、開發效率低、開發周期較長的特點。

2.2 面向對象的軟件開發方法

面向對象的軟件開發方法針對結構化的軟件開發方法的功能適應性低的不足,主要采取把同一范圍內各個相似功能統一抽象為一個類,并提供一個統一接口供其他類調用的方法。顯著降低了軟件開發成本、提高了軟件開發效率。適用于較大規模軟件項目的開發。

2.3 模型驅動開發方法

模型驅動開發方法通過構建系統模型來驅動整個系統的開發,實現系統分析、系統設計、系統實現與測試的自動化。以模型驅動為中心改變了以編寫代碼為中心,適用于更廣泛的應用項目開發。

2.4 基于組件的開發方法

基于組件的開發方法通過把特定功能封裝為一個獨立的功能組件,各組件獨立于編程語言與開發平臺。極大提高了功能組件對于不同項目軟件開發的復用性、功能組件對于不同軟件開發平臺的可移植性、功能組件對于不同軟件架構適應性,讓系統開發人員更多精力專注于項目需求的邏輯分析與綜合,提高開發效率、縮短開發周期。適用于大型軟件開發項目。

3 結語

以上關于嵌入式系統開發方法的應用設想,是筆者結合自己在工作實踐中的心得體會提出的教學改革基本設想,以期為構建嵌入式系統開發人員智能結構基礎做出一些有益的探索。

主站蜘蛛池模板: 天天干天天色综合网| 久久人搡人人玩人妻精品一| 又污又黄又无遮挡网站| 国产国产人成免费视频77777| 中文字幕在线观看日本| 日本国产精品| 亚洲精品成人片在线观看| 美女国产在线| 国产自产视频一区二区三区| 国语少妇高潮| 国产三区二区| 国产清纯在线一区二区WWW| 40岁成熟女人牲交片免费| 国产无人区一区二区三区| 欧美在线天堂| 无码专区在线观看| www.91中文字幕| 天天摸天天操免费播放小视频| www.91中文字幕| 青草视频网站在线观看| 国产在线视频欧美亚综合| 免费看a级毛片| 东京热一区二区三区无码视频| 在线五月婷婷| 国产欧美在线观看一区 | 丁香婷婷久久| 欧美国产在线看| 国产杨幂丝袜av在线播放| 天天激情综合| 国产欧美成人不卡视频| 久久亚洲美女精品国产精品| 亚洲精品片911| 激情国产精品一区| 国产免费一级精品视频| 久久91精品牛牛| 欧美日韩高清在线| 免费无码AV片在线观看国产| 成人午夜视频在线| 免费观看亚洲人成网站| 久久免费视频6| 色综合色国产热无码一| 亚洲最猛黑人xxxx黑人猛交| 97久久精品人人做人人爽| 女人18毛片久久| 女同国产精品一区二区| 亚洲日本韩在线观看| 91精品国产综合久久不国产大片| 中文字幕首页系列人妻| 国产欧美日韩综合一区在线播放| 无码国产伊人| 日韩东京热无码人妻| 国产成人福利在线| 日韩欧美国产成人| 中国国产A一级毛片| 国产精品林美惠子在线观看| 国产精品毛片一区| 又黄又爽视频好爽视频| 久久无码av三级| 亚洲国产亚洲综合在线尤物| 亚洲欧美一级一级a| 亚洲欧美在线看片AI| 国产农村精品一级毛片视频| 亚洲美女久久| 国产成人乱无码视频| 国产成人综合亚洲欧洲色就色| 亚洲一区二区三区国产精品| 97久久免费视频| 九色91在线视频| 婷婷激情亚洲| 亚洲视频免费播放| 国产免费福利网站| 久久综合五月| 99re热精品视频中文字幕不卡| 人妻21p大胆| 中文精品久久久久国产网址 | 天天婬欲婬香婬色婬视频播放| 欧美性色综合网| 99在线小视频| av免费在线观看美女叉开腿| 国产精女同一区二区三区久| 欧美19综合中文字幕| 五月婷婷激情四射|