99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

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

牽手一起夢(mèng) ? 來源:?jiǎn)纹瑱C(jī)與嵌入式系統(tǒng)應(yīng)用 ? 作者:v ? 2020-10-04 18:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

◇ 軟件測(cè)試需要等硬件完成以后才能進(jìn)行;

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

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

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

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

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

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

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

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

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

(3)硬件抽象層的特點(diǎn)

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

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

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

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

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

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

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

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

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

◇ 分析接口配置屬性;

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

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

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

BOOL InitDevice(Device_Register *regs, Device_Attribute *attr)

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

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

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

◇ 設(shè)備字符輸入

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

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

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

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

◇ 設(shè)備字符輸出

BOOL WriteDevice(Device_Register *regs, unsigned char c)

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

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

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

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

BOOL SetDevice(Device_Register *regs, Device_Attribute *attr)

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

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

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

4 結(jié) 論

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

責(zé)任編輯:gt

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

    關(guān)注

    5152

    文章

    19676

    瀏覽量

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

    關(guān)注

    8

    文章

    1906

    瀏覽量

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

    關(guān)注

    38

    文章

    1546

    瀏覽量

    87061
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

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

    及實(shí)現(xiàn)上過于復(fù)雜,這樣一方面利于控制系統(tǒng)成本,同時(shí)也利于系統(tǒng)安全實(shí)時(shí)操作系統(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ū)動(dòng)開發(fā)底層軟件開發(fā)到底有何不同

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

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

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

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

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

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

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

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

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

    嵌入式系統(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語言,部分底層代碼會(huì)用到匯編語言。
    發(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ā)的特點(diǎn)、設(shè)計(jì)流程嵌入式軟件的結(jié)構(gòu)

    ? ? ? ?嵌入式軟件開發(fā)的特點(diǎn)、設(shè)計(jì)流程、嵌入式軟件的結(jié)構(gòu)?一:嵌入式
    發(fā)表于 11-03 15:21 ?38次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開發(fā)</b>的特點(diǎn)、設(shè)計(jì)<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ā)過程都需要遵循一些基本的流程,都是一個(gè)從需求分析到總體設(shè)計(jì),詳細(xì)設(shè)計(jì)到最后產(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èi)下載
    發(fā)表于 11-17 14:37 ?5次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開發(fā)</b><b class='flag-5'>流程</b>

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

    電子發(fā)燒友網(wǎng)站提供《嵌入式軟件開發(fā)流程.doc》資料免費(fèi)下載
    發(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>