電子產(chǎn)業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 1643|回復(fù): 1
收起左側(cè)

嵌入式軟件需要學(xué)什么_嵌入式系統(tǒng)的可裁剪性主要體現(xiàn)在哪

[復(fù)制鏈接]

2607

主題

2607

帖子

7472

積分

高級會員

Rank: 5Rank: 5

積分
7472
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-7-23 12:12:12 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
嵌入式軟件需要學(xué)什么_嵌入式系統(tǒng)的可裁剪性主要體現(xiàn)在哪,   

公司在研發(fā)嵌入式產(chǎn)品過程中,產(chǎn)品的功能會不斷的添加和更新,產(chǎn)品的型號也會越來越多。這時產(chǎn)品的軟件研發(fā)團隊就需要考慮是在原有的軟件版本上修改還是全新開發(fā)。從研發(fā)成本上考慮會考慮基于原有軟件上修改。原有軟件上功能會越來越多,但一款產(chǎn)品可能只需要其中部分功能,這就要求嵌入式軟件系統(tǒng)具有良好可裁剪性。嵌入式系統(tǒng)提供良好的裁剪性,有利于產(chǎn)品開發(fā)團隊做出更多差異化的產(chǎn)品和低成本的產(chǎn)品(裁剪后的軟件系統(tǒng)通常也降低了對硬件的要求)。

嵌入式系統(tǒng)的可裁減性,必須在嵌入式系統(tǒng)設(shè)計中引入子系統(tǒng)和塊的概念,只有在頂層設(shè)計時明確了子系統(tǒng)和模塊?刹脺p性才能夠落地。分層設(shè)計做到位,子系統(tǒng)及模塊間的依賴關(guān)系越明確,耦合越少則裁減實施起來越簡單。

靜態(tài)編譯時主要是通過條件編譯宏來控制。為每個特性定義一個編譯宏,當(dāng)一款產(chǎn)品的特性確定后,在編譯時只打開特定特性的編譯開關(guān),這樣無關(guān)的特性代碼就不會參與編譯,有效的減少靜態(tài)編譯出來的軟件包體積。此方法的缺陷是必須重新編譯代碼,同時降低了代碼可維護性。

  

動態(tài)庫將各個功能模型分別編譯成動態(tài)庫,由主進程根據(jù)產(chǎn)品的功能需要加載需要的動態(tài)庫。這種方法需要主進程從產(chǎn)品的規(guī)格文件獲取需要加載的動態(tài)庫,并按動態(tài)庫要求的順序依次打開。此方法的優(yōu)點是不用重新編譯,缺陷是實現(xiàn)起來復(fù)雜。

控制函數(shù)流程,實現(xiàn)功能控制類似靜態(tài)編譯,只不過是將靜態(tài)編譯時的編譯宏改成全局變量判斷。這些全局變量應(yīng)該在主進程啟動時從規(guī)格文件獲取特性并加載在全局變量中,通過這些特性全局變量控制函數(shù)(業(yè)務(wù))流程,達到功能裁減的目的。此方法是前面兩種方法的折中,實現(xiàn)簡單也不需要重新編譯代碼。但軟件包體積沒有減小。

通常在一個項目中不會只使用其中一種方法,而是會根據(jù)不同場景在不同的層次上同時使用上述方法。

來源:搜狐
回復(fù)

使用道具 舉報

發(fā)表回復(fù)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表