在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

嵌入式系統(tǒng)底層軟件可移值性設(shè)計及開發(fā)流程分析

牽手一起夢 ? 來源:單片機與嵌入式系統(tǒng)應(yīng)用 ? 作者:v ? 2020-10-04 18:02 ? 次閱讀

在闡述嵌入式系統(tǒng)軟件設(shè)計方法的基礎(chǔ)上,介紹嵌入式系統(tǒng)底層軟件可移值性設(shè)計和硬件抽象層的建立;舉例說明利用此思想的嵌入式軟件的設(shè)計及測試過程。

1 嵌入式系統(tǒng)設(shè)計

由于嵌入式系統(tǒng)有著體積小、功能集中、可靠性高等優(yōu)點,已被廣泛地應(yīng)用到日常生活的各個方面,如移動通信、工業(yè)控制、醫(yī)療器械,家用電器等。如何縮短嵌入式系統(tǒng)的開發(fā)周期,降低開發(fā)成本,以及提高產(chǎn)品的可靠性已成為嵌入式行業(yè)普遍關(guān)注的問題。在嵌入式系統(tǒng)設(shè)計中,通常采用以下設(shè)計方法。

(1)瀑布模式開發(fā)過程

瀑布模式開發(fā)過程工作模式簡單,任務(wù)的劃分協(xié)調(diào)及人員安排、物質(zhì)材料的分配管理都比較容易。如圖1所示,開發(fā)過程為從硬件到軟件的流水線式進行。此類開發(fā)方式有以下特點:

◇ 小系統(tǒng),如利用8051控制的低速率信號采集等;

◇ 開發(fā)所需人力、物力資源有限,一般1個或幾個人即可完成;

◇ 要求開發(fā)人員對軟、硬件設(shè)計和制作都比較熟悉;

◇ 對開發(fā)周期要求不高,此類開發(fā)過程無疑會使用最長的開發(fā)周期;

◇ 在開發(fā)過程中,任一環(huán)節(jié)的阻塞都會影響其它環(huán)節(jié)的開發(fā)。

嵌入式系統(tǒng)底層軟件可移值性設(shè)計及開發(fā)流程分析

(2)V模式開發(fā)過程

V模式開發(fā)過程為一種并行的工作方式,任務(wù)的劃分協(xié)調(diào)及人員安排、物質(zhì)材料的分配都必須考慮不同工作內(nèi)容,如圖2 所示。

開發(fā)過程為硬件和軟件同時進行,最后聯(lián)合調(diào)試。此類開發(fā)方式有以下特點:

◇ 大系統(tǒng),如利用PowerPC等處理器設(shè)計的網(wǎng)絡(luò)交換/訪問設(shè)備;

◇ 開發(fā)人力、物力資源比較豐富;

◇ 開發(fā)人員分工比較明確,軟件開發(fā)者可不需了解太多的硬件信息,而硬件開發(fā)人員對軟件也可不做太多了解;

◇ 有利于縮短開發(fā)周期;

◇ 在開發(fā)過程中,軟、硬件設(shè)計獨立進行。 硬件開發(fā)的阻塞不會影響軟件開發(fā)過程,同樣,軟件開發(fā)的阻塞不會影響硬件的開發(fā)過程。

但在V模式開發(fā)過程中,仍存在以下問題:

◇ 設(shè)備驅(qū)動程序的可移值性差,與硬件和操作系統(tǒng)均有密切相關(guān)性;

◇ 軟件測試需要等硬件完成以后才能進行;

◇ 對于每個設(shè)備驅(qū)動程序設(shè)計人員都需有軟件和硬件的知識背景;

◇ 在測試過程中,很難判斷錯誤是由硬件還是由軟件造成的。

為了克服V模式開發(fā)過程中的上述問題,本文將V模式開發(fā)過程稍作改進,增加了硬件抽象層,對系統(tǒng)軟硬件起到隔離作用,從而提高系統(tǒng)軟件的可移值性及有效地利用人力資源、縮短開發(fā)周期和提高產(chǎn)品的可靠性。

2 基于硬件抽象層的系統(tǒng)軟件設(shè)計特性

(1)包含硬件抽象層的系統(tǒng)結(jié)構(gòu)

比較圖3和圖4,硬件抽象層完全把系統(tǒng)軟件和硬件部分隔離開來,這樣就使得系統(tǒng)的設(shè)備驅(qū)動程序與硬件設(shè)備無關(guān),從而大大提高了系統(tǒng)的可移植性。從軟硬件測試角度來看,軟硬件的測試工作都可分別基于硬件抽象層來完成,使得軟硬件的測試工作的并行進行成為可能。在抽象層的定義方面,需要規(guī)定統(tǒng)一的軟硬件接口標(biāo)準,其設(shè)計工作需要基于系統(tǒng)需求來做,代碼工作可由對硬件比較熟悉的人員來完成。抽象層一般應(yīng)包含相關(guān)硬件的初始化、數(shù)據(jù)的輸入/輸出操作、硬件設(shè)備的配置操作等功能。

(2)包含硬件抽象層的系統(tǒng)開發(fā)過程

如圖5給出的包含硬件抽象層V模式開發(fā)過程,在系統(tǒng)需求分析并定義了軟硬件各自的設(shè)計要求以后,就需要花費一定的時間來定義硬件抽象層的接口,以確保硬件設(shè)計和測試與軟件設(shè)計和測試工作能夠在相同的接口上進行,從而有利于最終的軟硬件集成測試。

從圖5可以看出,在基于硬件抽象層的V模式開發(fā)過程,軟硬件的設(shè)計和調(diào)試具有無關(guān)性,并可完全地并行進行。硬件的錯誤不會影響到系統(tǒng)軟件的調(diào)試,同樣軟件設(shè)計的錯誤也不會影響硬件的調(diào)試工作,這樣就可大大縮短系統(tǒng)的測試周期和提高系統(tǒng)的可靠性。

(3)硬件抽象層的特點

硬件抽象層接口的定義和代碼設(shè)計應(yīng)具有以下特點:

◇ 硬件抽象層具有與硬件密切相關(guān)性;

◇ 硬件抽象層具有與操作系統(tǒng)無關(guān)性;

◇ 接口定義的功能應(yīng)包含硬件或系統(tǒng)所需硬件支持的所有功能;

◇ 接口定義簡單明了,太多接口函數(shù)會增加軟件模擬的復(fù)雜性;

◇ 具有可測性的接口設(shè)計有利于系統(tǒng)的軟硬件測試和集成。

3 硬件抽象層的設(shè)計示例

硬件抽象層接口的設(shè)計一般應(yīng)包含以下幾個步:

◇ 分析接口的數(shù)據(jù)傳輸特性(雙向/單向數(shù)據(jù)傳輸,字節(jié)型/數(shù)據(jù)幀型傳輸模式);

◇ 分析接口配置屬性;

◇ 定義接口所需的相關(guān)函數(shù)。

下面給出以字符為單位進行數(shù)據(jù)傳輸?shù)?a href="http://m.xsypw.cn/tags/uart/" target="_blank">UART接口硬件抽象層的接口定義內(nèi)容:

◇ 設(shè)備初始化函數(shù)

BOOL InitDevice(Device_Register *regs, Device_Attribute *attr)

① 第一個參數(shù)為指向設(shè)備寄存器結(jié)構(gòu)的指針,用來索引設(shè)備的相關(guān)寄存器。

② 第二個參數(shù)為一個設(shè)備屬性的結(jié)構(gòu),用于描述設(shè)備初始化設(shè)置的屬性(波特率、校驗位等等)。

③ 函數(shù)返回一個布爾類型,用于描述初始化過程的正確性。

◇ 設(shè)備字符輸入

BOOL ReadDevice(Device_Register *regs, unsigned char *c)

① 第一個參數(shù)為指向設(shè)備寄存器結(jié)構(gòu)的指針,用來索引設(shè)備的相關(guān)寄存器。

② 第二個參數(shù)為指向字符的地址空間,用于保存設(shè)備輸入的字符。

③ 函數(shù)返回一個布爾類型,用于描述設(shè)備字符輸入的正確性。

◇ 設(shè)備字符輸出

BOOL WriteDevice(Device_Register *regs, unsigned char c)

① 第一個參數(shù)為指向設(shè)備寄存器結(jié)構(gòu)的指針,用來索引設(shè)備的相關(guān)寄存器。

② 第二個參數(shù)為設(shè)備所要輸出的字符。

③ 函數(shù)返回一個布爾類型,用于描述設(shè)備字符輸出的正確性。

◇ 設(shè)備屬性設(shè)置

BOOL SetDevice(Device_Register *regs, Device_Attribute *attr)

① 第一個參數(shù)為指向設(shè)備寄存器結(jié)構(gòu)的指針,用來索引設(shè)備的相關(guān)寄存器。

② 第二個參數(shù)為一個設(shè)備屬性的結(jié)構(gòu),用于描述設(shè)備初始化設(shè)置的屬性(波特率、校驗位等等)。

③ 函數(shù)返回一個布爾類型,用于描述設(shè)備屬性設(shè)置的正確性。

4 結(jié) 論

以上所述的是作者在多年嵌入式系統(tǒng)開發(fā)中所總結(jié)出的開發(fā)流程,并在實踐應(yīng)用中起到了很好的效果。相信在一個較為復(fù)雜的嵌入式系統(tǒng)開發(fā)過程中,很好地利用上述開發(fā)流程,將會有利于提高系統(tǒng)的可移植性、減少產(chǎn)品的開發(fā)和測試周期,并能很好地保證產(chǎn)品的可靠性。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5124

    文章

    19433

    瀏覽量

    312915
  • 醫(yī)療
    +關(guān)注

    關(guān)注

    8

    文章

    1864

    瀏覽量

    59464
  • 工業(yè)控制
    +關(guān)注

    關(guān)注

    38

    文章

    1510

    瀏覽量

    86558
收藏 人收藏

    評論

    相關(guān)推薦

    嵌入式系統(tǒng)的定義與開發(fā)框架 流程

    及實現(xiàn)上過于復(fù)雜,這樣一方面利于控制系統(tǒng)成本,同時也利于系統(tǒng)安全實時操作系統(tǒng):這是嵌入式軟件
    發(fā)表于 07-09 10:14

    嵌入式系統(tǒng)開發(fā)流程是怎樣的

    嵌入式系統(tǒng)開發(fā)流程嵌入式系統(tǒng)的一般開發(fā)可以參照下圖所示流程
    發(fā)表于 10-27 06:12

    嵌入式系統(tǒng)軟件開發(fā)環(huán)境

    嵌入式系統(tǒng)的概念嵌入式系統(tǒng)的基本架構(gòu)嵌入式操作系統(tǒng)的基本組成和分類
    發(fā)表于 11-08 08:37

    底層驅(qū)動開發(fā)底層軟件開發(fā)到底有何不同

    嵌入式入門學(xué)習(xí)筆記4:[轉(zhuǎn)]什么是嵌入式底層驅(qū)動開發(fā)嵌入式底層
    發(fā)表于 12-17 07:44

    嵌入式底層開發(fā)為什么選擇C語言

    一、嵌入式系統(tǒng)開發(fā)概述1、傳統(tǒng)開發(fā)模式的缺點:軟件直接和硬件打交道,軟件移植差。
    發(fā)表于 12-17 08:32

    進行嵌入式操作系統(tǒng)和應(yīng)用軟件開發(fā)

    我們知道嵌入式操作系統(tǒng)(Embedded System)是指以應(yīng)用為中心、以計算機技術(shù)為基礎(chǔ),軟件硬件裁剪、適應(yīng)應(yīng)用系統(tǒng)對功能、可靠
    發(fā)表于 12-17 08:25

    嵌入式軟件系統(tǒng)設(shè)計中的正交分析

    嵌入式軟件系統(tǒng)設(shè)計中的正交分析 嵌入式軟件
    發(fā)表于 03-29 15:09 ?717次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b><b class='flag-5'>系統(tǒng)</b>設(shè)計中的正交<b class='flag-5'>性</b><b class='flag-5'>分析</b>

    嵌入式軟件開發(fā)流程_嵌入式軟件的調(diào)試

    本文首先介紹了嵌入式軟件的發(fā)展,其次闡述了嵌入式軟件開發(fā)流程,最后介紹了
    發(fā)表于 08-31 16:02 ?6450次閱讀

    嵌入式系統(tǒng)中數(shù)字濾波的算法及軟件流程

    嵌入式系統(tǒng)中數(shù)字濾波的算法及軟件流程(嵌入式開發(fā)工具軟件是什么)-嵌入式
    發(fā)表于 07-30 12:45 ?15次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>中數(shù)字濾波的算法及<b class='flag-5'>軟件</b><b class='flag-5'>流程</b>

    嵌入式底層開發(fā)為什么選擇C語言

    嵌入式底層開發(fā)為什么選擇C語言嵌入式系統(tǒng)的編寫語言主要是C語言,部分底層代碼會用到匯編語言。
    發(fā)表于 10-20 13:35 ?2次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>底層</b><b class='flag-5'>開發(fā)</b>為什么選擇C語言

    嵌入式Linux(基礎(chǔ)篇)】嵌入式Linux底層系統(tǒng)開發(fā)流程和應(yīng)用開發(fā)流程

    介紹了嵌入式Linux系統(tǒng)體系架構(gòu),以及每一層開發(fā)人員的開發(fā)流程。
    發(fā)表于 11-02 14:51 ?21次下載
    【<b class='flag-5'>嵌入式</b>Linux(基礎(chǔ)篇)】<b class='flag-5'>嵌入式</b>Linux<b class='flag-5'>底層系統(tǒng)開發(fā)</b><b class='flag-5'>流程</b>和應(yīng)用<b class='flag-5'>開發(fā)</b><b class='flag-5'>流程</b>

    嵌入式軟件開發(fā)的特點、設(shè)計流程、嵌入式軟件的結(jié)構(gòu)

    ? ? ? ?嵌入式軟件開發(fā)的特點、設(shè)計流程、嵌入式軟件的結(jié)構(gòu)?一:嵌入式
    發(fā)表于 11-03 15:21 ?38次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開發(fā)</b>的特點、設(shè)計<b class='flag-5'>流程</b>、<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>的結(jié)構(gòu)

    嵌入式產(chǎn)品開發(fā)流程

    嵌入式產(chǎn)品,與普通電子產(chǎn)品一樣,開發(fā)過程都需要遵循一些基本的流程,都是一個從需求分析到總體設(shè)計,詳細設(shè)計到最后產(chǎn)品完成的過程。但是,與普通電子產(chǎn)品相比,
    發(fā)表于 11-04 10:06 ?36次下載
    <b class='flag-5'>嵌入式</b>產(chǎn)品<b class='flag-5'>開發(fā)</b><b class='flag-5'>流程</b>

    嵌入式軟件開發(fā)流程

    電子發(fā)燒友網(wǎng)站提供《嵌入式軟件開發(fā)流程.ppt》資料免費下載
    發(fā)表于 11-17 14:37 ?4次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開發(fā)</b><b class='flag-5'>流程</b>

    嵌入式軟件開發(fā)流程

    電子發(fā)燒友網(wǎng)站提供《嵌入式軟件開發(fā)流程.doc》資料免費下載
    發(fā)表于 11-17 14:39 ?0次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>的<b class='flag-5'>開發(fā)</b><b class='flag-5'>流程</b>
    主站蜘蛛池模板: 日韩在线看片 | 操日韩| 久久精品美女 | 免费看黄色一级毛片 | 最新国产在线播放 | 爽a中文字幕一区 | 亚洲综合校园春色 | 色噜噜狠狠大色综合 | 久久国产视频一区 | 97福利视频 | 国产欧美另类第一页 | www.99色| 天天干狠狠插 | 女人精69xxxxxx | 日韩精品卡4卡5卡6卡7卡 | 国产精品高清一区二区三区 | 丁香综合在线 | 日韩欧美卡一卡二卡新区 | 大学生毛片 | 日韩啪啪片| 色天天天天综合男人的天堂 | 美女露出尿囗 | 第四色成人网 | 久久精品视频免费观看 | 国产黄色网页 | 日本免费一区二区老鸭窝 | 婷婷涩五月 | 亚洲天堂一区二区三区 | 日韩综合色 | 巨臀中文字幕一区二区翘臀 | 夜夜爽毛片| 李老汉的性生生活1全部 | 一级做a爱 一区 | 国产精品推荐天天看天天爽 | 中文字幕在线看精品乱码 | 欧美激情综合色综合啪啪五月 | 天天爽夜夜爽精品免费 | 日韩在线三级视频 | 国产一卡2卡3卡四卡精品网站 | 日xxxx| 男女爱爱视频免费 |