關(guān)于嵌入式軟硬件開發(fā)的幾點思考?
一、嵌入式軟件有哪些特點?
答:
(1) 實時性:環(huán)境特定;快速啟動
(2)異步事件的并發(fā)處理:多任務(wù);隨機(jī)性
(3)應(yīng)用/操作系統(tǒng)一體化:VxWorks; Linux
(4)應(yīng)用固化:不可修改性
(5)實用性:面向行業(yè);定向開發(fā)
(6)適用性:可裁減,適應(yīng)應(yīng)用
(7)魯棒性:容錯
(8)夠用即可:成本、資源
(9)可信性:安全、防危、可靠等
二、嵌入式軟件開發(fā)應(yīng)該具有怎樣的過程?各個階段的任務(wù)如何劃分?
答:
嵌入式開發(fā)應(yīng)該具有以下的8個過程以及任務(wù)劃分:
(1)確定嵌入式軟件的需求:
確認(rèn)功能需求: 基本功能/擴(kuò)展功能,對應(yīng)于軟件功能的硬件
確認(rèn)非功能需求: 外觀、尺寸、功耗、成 本、實時、安全、可靠等面向開發(fā)者的需求選擇
(2)微處理器和相關(guān)硬件設(shè)備
確定嵌入式處理器:應(yīng)用規(guī)模、領(lǐng)域
確定功能硬件:處理器相關(guān)、應(yīng)用功 能確定
確定目標(biāo)板設(shè)計需求:配套芯片、外 觀、尺寸、功耗、成本
(3)選擇操作系統(tǒng)
確定來源:自己編寫、使用現(xiàn)成的系統(tǒng)
確定選擇:應(yīng)用領(lǐng)域、實時 CPU支持、功能、成本、資源占用情況、語言支持
(4) 確定軟件體系結(jié)構(gòu):核心因素
(5) 選擇開發(fā)平臺
確定開發(fā)平臺:考慮操作系統(tǒng)、編碼工具、仿真工具、調(diào)試工具
(6)嵌入式軟件設(shè)計
確定軟件設(shè)計:任務(wù)劃分、約束(實 時、安全等)保障
(7)編碼測試
編碼,交叉編譯、下載并且調(diào)試,進(jìn)行測試
(8) 軟件測試
基本方法:類似于一般軟件測試
考慮特殊性、可靠性測試、實時性測試、并發(fā)性測試和資源占用測試
三、有哪些常見的嵌入式軟件開發(fā)方法?
答:
常見的嵌入式軟件開發(fā)方法有:
(1)語言描述
(2)形式化描述
(3)流程圖
(4)結(jié)構(gòu)圖
(5)偽代碼
(6)有限狀態(tài)機(jī)
四、簡述有限狀態(tài)機(jī)的基本概念,舉例說明其具體實現(xiàn)的方法
答:
(1)基本概念:有限狀態(tài)機(jī)是一種以描述有限個狀態(tài)在動作/事件行為驅(qū)動下,系統(tǒng)控制狀態(tài)及其狀態(tài)轉(zhuǎn)移為主的數(shù)學(xué)模型有限狀態(tài)機(jī)實現(xiàn)了以下兩個基本功能:根據(jù)當(dāng)前狀態(tài)和輸入條件決定狀態(tài)機(jī)的內(nèi)部狀態(tài)轉(zhuǎn)換;根據(jù)當(dāng)前狀態(tài)和輸入條件確定產(chǎn)生輸出信號序列。
(2)具體實現(xiàn)方法
在任意時刻,系統(tǒng)只能處于給定數(shù)量狀態(tài)中的一個,當(dāng)其接收到一個輸入事件(動作)時,狀態(tài)機(jī)產(chǎn)生一個輸出,同時可能伴隨狀態(tài)的轉(zhuǎn)移,,如圖:

五、簡述嵌入式軟硬件協(xié)同設(shè)計流程
答:
嵌入式軟硬件協(xié)同設(shè)計流程如下:
(1)嵌入式系統(tǒng)的需求獲取與需求分析
(2)軟硬件功能劃分,設(shè)計系統(tǒng)的體系結(jié)構(gòu):選擇處理器 和相關(guān)外部設(shè)備,操作系統(tǒng),開發(fā)平臺以及軟硬件的分割和 總體系統(tǒng)集成
(3)硬件的結(jié)構(gòu)設(shè)計、軟件的系統(tǒng)設(shè)計
(4)軟硬件詳細(xì)設(shè)計
(5)軟件代碼開發(fā),軟件測試與調(diào)試
(6)軟硬件的聯(lián)調(diào)和系統(tǒng)集成
(7)系統(tǒng)的仿真驗證和測試
(8)實現(xiàn)最終系統(tǒng)
六、嵌入式系統(tǒng)的硬件可靠性設(shè)計需要考慮哪些因素?
答:
在設(shè)計硬件系統(tǒng)的時候,應(yīng)先根據(jù)系統(tǒng)的性能指標(biāo)和功能要求決定系統(tǒng)的結(jié)構(gòu)形式、劃分軟硬件的分工,確 定具體電路形式及元器件選型等設(shè)計工作。應(yīng)該考慮以下因素:
(1)簡化方案
(2)避免片面追求高性能指標(biāo)和過多的功能
(3)合理劃分軟/硬件功能
(4)盡可能用數(shù)字電路代替模擬電路
(5)變被動為主動
七、嵌入式系統(tǒng)的軟件可靠性設(shè)計包括哪些類型?
答:
嵌入式系統(tǒng)的軟件可靠性設(shè)計一般有四種類型:避錯設(shè)計、查錯設(shè)計、改錯設(shè)計和容錯設(shè)計
八、嵌入式系統(tǒng)的硬件測試流程和軟件測試流程分別是如何進(jìn)行的?
答:
硬件調(diào)試
(1)通電前硬件檢測:連線是否正確,電源是否短路以及元器件的安裝情況。
(2)通電檢測:觀察電路有無異常狀況(如冒煙現(xiàn)象), 靜態(tài)調(diào)試,動態(tài)調(diào)試。
(3)靜態(tài)調(diào)試:一般指在不加輸入信號,或只加固定的電平信號的條件下進(jìn)行的測試,可用萬用表測量各點的電位,與理論值比較,判斷電路中 電壓電流是否正常。
(4)動態(tài)調(diào)試:在電路中加入合適的信號,按信號的流向,順序檢測各點的輸出信號,如若發(fā)現(xiàn)不正常現(xiàn)象,應(yīng)分析其原因,并排除故障,再進(jìn) 行調(diào)試,直到滿足要求。
(5)環(huán)境測試,震動測試,產(chǎn)品外型測試等。
軟件調(diào)試:
(1)模塊測試(單元測試): 完成對最小的軟件設(shè)計單元的驗證工作,只有在該基礎(chǔ)之 上才能保證后續(xù)的測試工作。主要采用白盒測試技術(shù),用來保證單元的最大覆蓋率和發(fā)現(xiàn)編碼和詳細(xì)設(shè)計中的錯誤。
(2)集成測試: 是把經(jīng)過單元測試的模塊按軟件的結(jié)構(gòu)組合在一起作為一個系統(tǒng)或一個子系統(tǒng)來綜合測試。主要是用來發(fā)現(xiàn)程序的架構(gòu)和體系結(jié)構(gòu)設(shè)計方面的錯誤。
(3)系統(tǒng)測試和確認(rèn)測試: 將系統(tǒng)的測試軟件系統(tǒng)和其他資源(硬件、人機(jī)交互信息 資源和數(shù)據(jù)庫等)都綜合起來構(gòu)成完整的計算機(jī)應(yīng)用系統(tǒng)進(jìn)行測試的。
九、什么是電磁兼容性?
答:
電磁兼容,是指設(shè)備或系統(tǒng)在電磁環(huán)境中性能不降級的狀態(tài)。電磁兼容性,一方面要求系統(tǒng)內(nèi)沒有嚴(yán)重的干擾源,一方面要求設(shè)備或系統(tǒng) 自身有較好的抗電磁干擾性。
————————————————
版權(quán)聲明:本文為CSDN博主「Bug君坤坤」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_44717095/article/details/105611459
版權(quán)歸原作者所有,如有侵權(quán),請聯(lián)系刪除。