朋友圈

400-850-8622

全國(guó)統(tǒng)一學(xué)習(xí)專線 9:00-21:00

位置:程序開發(fā)培訓(xùn)問(wèn)答 > 嵌入式開發(fā)培訓(xùn)問(wèn)答 > 嵌入式開發(fā):*使用的秘密嵌入式軟件定義

嵌入式開發(fā):*使用的秘密嵌入式軟件定義

日期:2024-11-10     瀏覽:90    來(lái)源:綜合教育資訊
核心提示:作為嵌入式開發(fā)人員,在網(wǎng)上搜索"嵌入式軟件定義"、"什么是嵌入式軟件?"或者嵌入式軟件的定義,你會(huì)發(fā)現(xiàn)許多文章陳述了如下內(nèi)容:"

作為嵌入式開發(fā)人員,在網(wǎng)上搜索"嵌入式軟件定義"、"什么是嵌入式軟件?"或者嵌入式軟件的定義,你會(huì)發(fā)現(xiàn)許多文章陳述了如下內(nèi)容:

"嵌入式軟件是計(jì)算機(jī)軟件,用于控制通常不被認(rèn)為是計(jì)算機(jī)的機(jī)器或設(shè)備,通常稱為嵌入式系統(tǒng)。它通常專用于運(yùn)行它的特定硬件,并且有時(shí)間和內(nèi)存限制。"

"嵌入式軟件是一種嵌入在硬件或非PC設(shè)備中的軟件。它是專門為運(yùn)行它的特定硬件編寫的,由于設(shè)備的計(jì)算能力有限,通常會(huì)受到處理和內(nèi)存的限制。"

這些定義模糊地抓住了嵌入式軟件的概念,但是它們沒(méi)有告訴我們它是什么!

什么是嵌入式軟件?

嵌入式軟件是設(shè)計(jì)和構(gòu)建為運(yùn)行在專門的、應(yīng)用特定的硬件上的代碼,該硬件通過(guò)各種形式的輸入、處理、輸出和存儲(chǔ)來(lái)管理數(shù)據(jù)。嵌入式軟件通常是確定性的,有軟、硬實(shí)時(shí)調(diào)度期限。

對(duì)嵌入式開發(fā)人員來(lái)說(shuō),上述定義更接近嵌入式軟件和固件*用來(lái)描述嵌入式軟件的定義。請(qǐng)注意,定義的*部分類似于一般定義:

嵌入式軟件是設(shè)計(jì)和構(gòu)建為在專門的、特定于應(yīng)用的硬件上運(yùn)行的代碼

然而,定義中的關(guān)鍵差異出現(xiàn)在這句話的第二部分:

"通過(guò)各種形式的輸入、處理、輸出和存儲(chǔ)來(lái)管理數(shù)據(jù)."

兩個(gè)基本原則可以區(qū)分成功和不成功的設(shè)計(jì)。通過(guò)明確討論數(shù)據(jù),這兩個(gè)原則在上面的嵌入式軟件定義中得到了強(qiáng)調(diào)。讓我們快速探討一下這兩個(gè)原則。

原則1——數(shù)據(jù)決定設(shè)計(jì)

*個(gè)原則是"數(shù)據(jù)決定設(shè)計(jì)"。嵌入式軟件開發(fā)人員經(jīng)常被硬件、事件、狀態(tài)和其他干擾所困擾。

每個(gè)嵌入式軟件設(shè)計(jì)的核心都是數(shù)據(jù)。數(shù)據(jù)才是嵌入式軟件真正的意義所在。甚至可以更進(jìn)一步說(shuō),嵌入式系統(tǒng)就是關(guān)于數(shù)據(jù)的。每個(gè)系統(tǒng)都有輸入,這些輸入經(jīng)過(guò)處理后產(chǎn)生期望的輸出。這些輸入和輸出通常以某種易失性或非易失性的方式存儲(chǔ)。如果嵌入式開發(fā)人員遵循這些數(shù)據(jù),設(shè)計(jì)將會(huì)到位。

原則2——沒(méi)有硬件(只有數(shù)據(jù))

直接源于我們嵌入式軟件定義的第二個(gè)原則是,沒(méi)有硬件,只有數(shù)據(jù)?,F(xiàn)在可能會(huì)認(rèn)為這是沒(méi)有意義的。然而,我們定義中的*句話指出:

嵌入式軟件是設(shè)計(jì)和構(gòu)建為在專門的、特定于應(yīng)用的硬件上運(yùn)行的代碼。

這里說(shuō),它是為硬件設(shè)計(jì)的!用這種方式來(lái)表達(dá)這個(gè)定義,因?yàn)榇蠖鄶?shù)嵌入式軟件設(shè)計(jì)師還沒(méi)有準(zhǔn)備好放棄這個(gè)定義?,F(xiàn)代成功的嵌入式軟件開發(fā)*編寫的軟件是獨(dú)立于硬件的。對(duì)硬件進(jìn)行抽象,以消除硬件依賴性并將硬件從應(yīng)用程序代碼中分離出來(lái)。

硬件只是作為檢索、輸出和存儲(chǔ)數(shù)據(jù)的路徑。因此,LED應(yīng)用不應(yīng)直接訪問(wèn)GPIO線路。相反,LED應(yīng)用程序應(yīng)該獲取表示LED的數(shù)據(jù)對(duì)象。然后,對(duì)數(shù)據(jù)進(jìn)行處理,并在適當(dāng)?shù)臅r(shí)間傳遞給特定于硬件的例程,這些例程知道如何將LED對(duì)象映射到硬件并將其設(shè)置為正確的狀態(tài)。

僅僅根據(jù)數(shù)據(jù)來(lái)設(shè)計(jì)和構(gòu)建嵌入式軟件是一個(gè)非?,F(xiàn)代的概念,團(tuán)隊(duì)?wèi)?yīng)該充分利用這個(gè)概念。

嵌入式軟件定義結(jié)論

嵌入式軟件是為確定性運(yùn)行而設(shè)計(jì)和構(gòu)建的代碼,通常具有實(shí)時(shí)截止期,通過(guò)各種形式的輸入、處理、輸出和存儲(chǔ)來(lái)管理數(shù)據(jù)。

我們?cè)诮裉斓奶又幸呀?jīng)看到,通常用來(lái)描述嵌入式軟件的定義是不恰當(dāng)?shù)?。這些定義沒(méi)有觸及嵌入式系統(tǒng)的核心,也沒(méi)有觸及我們?cè)谠O(shè)計(jì)它們時(shí)應(yīng)該關(guān)注的問(wèn)題。然而,我們已經(jīng)成功地澄清了事實(shí),并為嵌入式軟件提供了幾個(gè)現(xiàn)代定義。我們還定義了幾個(gè)原則,嵌入式開發(fā)人員可以用來(lái)改進(jìn)自己的嵌入式軟件設(shè)計(jì)。

免責(zé)聲明:本信息由用戶發(fā)布,本站不承擔(dān)本信息引起的任何交易及知識(shí)產(chǎn)權(quán)侵權(quán)的法律責(zé)任!

本文由 綜合教育資訊 整理發(fā)布。更多培訓(xùn)課程,學(xué)習(xí)資訊,課程優(yōu)惠,課程開班,學(xué)校地址等學(xué)校信息,可以留下你的聯(lián)系方式,讓課程老師跟你詳細(xì)解答:
咨詢電話:400-850-8622

如果本頁(yè)不是您要找的課程,您也可以百度查找一下: