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

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

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

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

設(shè)計(jì)安全可靠的嵌入式系統(tǒng)最佳實(shí)踐

星星科技指導(dǎo)員 ? 來源:嵌入式計(jì)算設(shè)計(jì) ? 作者:Ricardo Camacho ? 2022-07-01 14:15 ? 次閱讀

時間限制使開發(fā)人員面臨著在嚴(yán)格且在許多情況下不充分的時間表內(nèi)完成項(xiàng)目要求的壓力。此外,對嵌入式軟件的可靠性、準(zhǔn)確性和性能的期望高于對實(shí)時計(jì)算的期望。我們還需要考慮運(yùn)行嵌入式軟件的實(shí)際目標(biāo)硬件的約束。軟件合規(guī)性和認(rèn)證要求通常由行業(yè)強(qiáng)加以解決安全問題。

流程標(biāo)準(zhǔn)提供流程、驗(yàn)證方法和最佳實(shí)踐,以確保軟件安全、安全和質(zhì)量有足夠的信心。這些包括:

DO-178B/C(航空電子設(shè)備)

ISO 26262(汽車)

IEC 62304(醫(yī)療)

IEC 61508(工業(yè)

EN 50128(導(dǎo)軌)

和更多

軟件驗(yàn)證和確認(rèn)是遵守流程標(biāo)準(zhǔn)的關(guān)鍵組成部分。這是一個涉及不同軟件測試技術(shù)的過程,這些技術(shù)可能是嚴(yán)格的、昂貴的和耗時的。

使用一種或兩種軟件測試技術(shù)并不能解決問題。在開發(fā)生命周期中使用各種自動化方法將為您節(jié)省時間和金錢。它還將有助于建立無價的可靠性聲譽(yù)。

嵌入式軟件開發(fā)的自動化測試方法

自動化對于測試嵌入式軟件至關(guān)重要,因?yàn)槭謩臃椒ㄈ菀壮鲥e且耗時。讓我們討論對您的團(tuán)隊(duì)有幫助的重要自動化測試方法。

靜態(tài)代碼分析

首先,我強(qiáng)烈建議始終將靜態(tài)代碼分析作為第一種測試方法。執(zhí)行靜態(tài)分析的一個絕妙優(yōu)勢是您可以在項(xiàng)目的任何階段引入和使用它。即使項(xiàng)目不完整且部分編碼,靜態(tài)代碼分析也是有效的,因?yàn)椴恍枰獔?zhí)行代碼。

引入靜態(tài)分析的最大挑戰(zhàn)是大量代碼會產(chǎn)生大量警告。將靜態(tài)分析集成到項(xiàng)目中時,建議關(guān)注以下內(nèi)容:

盡快讓團(tuán)隊(duì)高效工作。

最大限度地減少團(tuán)隊(duì)被所有靜態(tài)分析警告淹沒的機(jī)會。

這并不是要降低這些警告的重要性。但是,大多數(shù)開發(fā)人員沒有修復(fù)現(xiàn)有或遺留代碼的奢侈。至少不是馬上。

因?yàn)橛懈鞣N編碼合規(guī)性標(biāo)準(zhǔn)(MISRA C:2012、AUTOSAR C++14、SEI CERT、CWE 等)從一個目標(biāo)開始。如果安全是關(guān)鍵目標(biāo),那么啟用所有與安全相關(guān)的規(guī)則、禁用不太重要的規(guī)則并啟用一種內(nèi)置的安全編碼標(biāo)準(zhǔn)(如 CERT C/C++)是有意義的。

動態(tài)分析方法或運(yùn)行時錯誤檢測

如前所述,一種測試方法是不夠的。僅通過靜態(tài)分析無法識別所有錯誤或缺陷。動態(tài)分析方法或運(yùn)行時錯誤檢測也是一種可以采用的測試實(shí)踐。

該測試應(yīng)與需求相關(guān)聯(lián)。它檢查正在運(yùn)行的代碼,暴露架構(gòu)和行為缺陷、其他弱點(diǎn)和/或安全漏洞,包括內(nèi)存泄漏等。

團(tuán)隊(duì)可以在不同級別的軟件抽象上應(yīng)用這種類型的測試。從測試每個單獨(dú)的單元或功能開始,然后集成其他軟件部分。最終軟件測試系統(tǒng)作為一個整體或黑盒。這通常體現(xiàn)在著名的 V 模型軟件生命周期中。

結(jié)構(gòu)代碼覆蓋率

在動態(tài)分析方法中,可以應(yīng)用其他技術(shù),如結(jié)構(gòu)代碼覆蓋。

簡而言之,結(jié)構(gòu)覆蓋是為了確定系統(tǒng)是否經(jīng)過充分測試而執(zhí)行和記錄的代碼的標(biāo)識。如果您可以確定已通過測試用例執(zhí)行的代碼,那么未發(fā)現(xiàn)或未執(zhí)行的代碼將暴露出對額外測試的需求。

如果您的合規(guī)性要求是獲得 100% 的代碼覆蓋率,那么您至少需要通過單元測試和手動測試來執(zhí)行覆蓋率。雖然我們可以繼續(xù)揭示其他測試方法,如回歸、性能、壓力、API、UI、接受度等,但讓我們深入研究嵌入式系統(tǒng)測試的現(xiàn)代部署。

持續(xù)集成和持續(xù)交付

在過去幾年中越來越受歡迎的一個主題是持續(xù)集成和持續(xù)交付 (CI/CD)。CI/CD 是夜間集成的軟件開發(fā)實(shí)踐(將較小的構(gòu)建單元組合到應(yīng)用程序、庫或組件中),旨在構(gòu)建可測試的軟件以實(shí)現(xiàn)持續(xù)交付和早期檢測構(gòu)建/集成問題和錯誤。

嵌入式軟件開發(fā)中的 CI/CD 通常受到應(yīng)用程序開發(fā)不受限制的方式。除了目標(biāo)硬件平臺的物理和計(jì)算約束之外,還有合規(guī)性約束。嵌入式軟件市場對具有極長生命周期的安全性有獨(dú)特的要求。產(chǎn)品可以在市場上保留數(shù)十年。

如今,一些組織將靜態(tài)分析納入其 CI/CD 現(xiàn)代開發(fā)工作流程中。適應(yīng)通常圍繞基于 Git 的開發(fā)環(huán)境,采用動態(tài)方法進(jìn)行分支和合并,開發(fā)人員可以指定父/引用分支與他們當(dāng)前的開發(fā)分支進(jìn)行比較,并自動比較和計(jì)算增量以進(jìn)行分析。

因此,與其在整個項(xiàng)目上運(yùn)行分析,這可能需要相當(dāng)長的時間,甚至幾個小時,它可以在最小的文件集上運(yùn)行。這減少了評估會議的持續(xù)時間和重點(diǎn)。然后可以解決和糾正編碼違規(guī),以實(shí)現(xiàn)干凈、安全和可靠的構(gòu)建。

容器化開發(fā)環(huán)境

另一種類型的現(xiàn)代化來自容器化開發(fā)環(huán)境。開發(fā)工具的容器化部署正在成為嵌入式開發(fā)團(tuán)隊(duì)的生計(jì)。

盡管容器最初是為了解決微服務(wù)和基于 Web 的應(yīng)用程序的部署問題而開發(fā)的,但它們最近在嵌入式團(tuán)隊(duì)中流行起來。尤其是對于使用容器來管理復(fù)雜工具鏈的大型團(tuán)隊(duì)。

在管理復(fù)雜的開發(fā)環(huán)境時,尤其是在安全關(guān)鍵領(lǐng)域,團(tuán)隊(duì)通常會遇到以下挑戰(zhàn),這些挑戰(zhàn)很容易通過容器解決:

將整個團(tuán)隊(duì)的升級同步到編譯器、構(gòu)建工具鏈等工具的最新版本。

動態(tài)響應(yīng)庫或軟件開發(fā)工具包 (SDK) 等的新安全補(bǔ)丁。

確保所有團(tuán)隊(duì)成員和自動化基礎(chǔ)設(shè)施 (CI/CD) 的工具鏈的一致性。

能夠?qū)﹂_發(fā)環(huán)境進(jìn)行版本化并恢復(fù)它以服務(wù)于通過特定工具鏈認(rèn)證的舊版本產(chǎn)品。

入職和設(shè)置新的開發(fā)人員。

在下面的示例中,您讓Parasoft C/C++test訪問容器化編譯器 (GNU GCC) 和運(yùn)行時環(huán)境。有兩個獨(dú)立的 Docker 容器,一個用于編譯器和構(gòu)建工具,另一個用于執(zhí)行環(huán)境(例如,嵌入式 Linux 的剝離版本)。

在這個例子中,Parasoft C/C++test 標(biāo)準(zhǔn)可以用作基于命令行的工具,適用于容器內(nèi)部署。它可以與編譯器和構(gòu)建系統(tǒng)一起打包成一個容器鏡像,用于 CI/CD 并部署到開發(fā)人員的桌面上進(jìn)行本地命令行掃描。下圖顯示了此設(shè)置的高級概述。

以下示例可以通過自動化完成,或者每個團(tuán)隊(duì)成員都可以拉出一致的開發(fā)環(huán)境,其中容器化提供以下功能:

開發(fā)環(huán)境版本控制

集中管理和部署

對安全漏洞的即時反應(yīng)

較低的入職成本

了解行業(yè)領(lǐng)導(dǎo)者如何提供安全可靠的軟件

如果您想簡化團(tuán)隊(duì)工作流程、削減成本并縮短上市時間,那么了解嵌入式安全和安全關(guān)鍵系統(tǒng)開發(fā)中的挑戰(zhàn)、解決方案和現(xiàn)代方法對您來說很重要。

審核編輯:郭婷

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

    關(guān)注

    5089

    文章

    19169

    瀏覽量

    306769
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2114

    瀏覽量

    73775
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1640

    瀏覽量

    49223
收藏 人收藏

    評論

    相關(guān)推薦

    如何提高嵌入式代碼質(zhì)量?

    。 3. 嵌入式操作系統(tǒng)的使用:選擇和配置合適的嵌入式操作系統(tǒng)(如FreeRTOS、uC/OS等),能夠提供任務(wù)調(diào)度、內(nèi)存管理和通信支持,減少開發(fā)復(fù)雜度和提高
    發(fā)表于 01-15 10:48

    新手怎么學(xué)嵌入式?

    ,實(shí)現(xiàn)一些簡單的功能,如點(diǎn)亮一個 LED 燈、讀取傳感器數(shù)據(jù)等,來加深對嵌入式技術(shù)的理解。你還可以參加一些線上或線下的嵌入式項(xiàng)目實(shí)踐活動,與其他愛好者一起學(xué)習(xí)和交流。 5. 學(xué)習(xí)嵌入式
    發(fā)表于 12-12 10:51

    什么是嵌入式操作系統(tǒng)?

    的戰(zhàn)斗機(jī)。 FreeRTOS:它適合那些資源有限的小型設(shè)備,就像小巧的瑞士軍刀。 QNX:它以安全可靠著稱,很多汽車和工業(yè)系統(tǒng)都用它,可以說是EOS中的沃爾沃。 Linux:雖然它不是專門為
    發(fā)表于 11-08 15:07

    嵌入式學(xué)習(xí)建議

    ,最好能有自己動手的空間。不花一分硬件錢想要學(xué)好嵌入式系統(tǒng)不實(shí)際,因?yàn)檫@是實(shí)踐性很強(qiáng)的學(xué)科。好書,可以讓人少走彎路,不被誤導(dǎo)。好老師也可以是做過一些實(shí)際項(xiàng)目的學(xué)長(一定要找做過幾個成功項(xiàng)目的學(xué)長或老師做
    發(fā)表于 10-22 11:41

    什么是嵌入式?一文讀懂嵌入式主板

    的個人電腦不同,嵌入式系統(tǒng)不是為了通用的計(jì)算任務(wù)設(shè)計(jì),而是專注于特定的應(yīng)用場景,確保其在特定環(huán)境中運(yùn)行得既高效又可靠
    的頭像 發(fā)表于 10-16 10:14 ?1323次閱讀

    【「嵌入式Hypervisor:架構(gòu)、原理與應(yīng)用」閱讀體驗(yàn)】+全文學(xué)習(xí)心得

    降低了虛擬機(jī)之間的耦合性,提高了系統(tǒng)可靠性和安全性。 在學(xué)習(xí)過程中,我深刻體會到嵌入式Hypervisor的核心價值在于其靈活性和可擴(kuò)展性。它能夠根據(jù)實(shí)際應(yīng)用需求,動態(tài)地調(diào)整資源配置
    發(fā)表于 10-09 19:11

    【「嵌入式Hypervisor:架構(gòu)、原理與應(yīng)用」閱讀體驗(yàn)】+第7-8章學(xué)習(xí)心得

    提供了安全可靠和高效的虛擬化環(huán)境。同時,嵌入式Hypervisor的設(shè)計(jì)還注重解決容錯性和實(shí)時性問題,為構(gòu)造高可靠嵌入式
    發(fā)表于 10-09 18:50

    嵌入式系統(tǒng)的原理和應(yīng)用

    嵌入式系統(tǒng)是一種專用的計(jì)算機(jī)系統(tǒng),其設(shè)計(jì)初衷是執(zhí)行特定任務(wù),而非作為通用計(jì)算機(jī)使用。這類系統(tǒng)通常作為更大系統(tǒng)的一部分,起到控制、監(jiān)控或輔助的
    的頭像 發(fā)表于 10-05 17:03 ?1106次閱讀

    嵌入式系統(tǒng)的未來趨勢有哪些?

    ,會更多地使用環(huán)保材料,以減少對環(huán)境的污染。同時,系統(tǒng)設(shè)計(jì)將更加注重生態(tài)可持續(xù)性,滿足可持續(xù)發(fā)展的需求。 6. 實(shí)時操作系統(tǒng)(RTOS)的發(fā)展 實(shí)時操作系統(tǒng)嵌入式
    發(fā)表于 09-12 15:42

    嵌入式系統(tǒng)怎么學(xué)?

    系統(tǒng)設(shè)計(jì)與調(diào)試:需要掌握嵌入式系統(tǒng)的設(shè)計(jì)方法和調(diào)試技術(shù),包括硬件設(shè)計(jì)、軟件設(shè)計(jì)、電路調(diào)試等,以確保系統(tǒng)的穩(wěn)定性和可靠性。 隨著技術(shù)的不斷進(jìn)
    發(fā)表于 07-02 10:10

    如何提升嵌入式編程能力?

    最佳實(shí)踐。 13. 閱讀相關(guān)書籍:閱讀關(guān)于嵌入式系統(tǒng)設(shè)計(jì)和編程的書籍,以獲得更深入的理解。 14. 構(gòu)建項(xiàng)目:通過構(gòu)建完整的嵌入式項(xiàng)目來綜
    發(fā)表于 06-21 10:01

    再談嵌入式實(shí)時操作系統(tǒng)

    程序的可移植性得到了增強(qiáng),系統(tǒng)開發(fā)的工作量減輕的同時也提高了開發(fā)效率。對實(shí)時性和可靠性日益增長的要求正在塑造某些現(xiàn)代領(lǐng)域的嵌入式實(shí)時操作系統(tǒng)的發(fā)展方向,例如航空航天、工業(yè)控制、汽車電子
    的頭像 發(fā)表于 04-09 17:27 ?831次閱讀
    再談<b class='flag-5'>嵌入式</b>實(shí)時操作<b class='flag-5'>系統(tǒng)</b>

    如何成為一名嵌入式C語言高手?

    如何成為一名嵌入式C語言高手? 嵌入式系統(tǒng)是當(dāng)今科技領(lǐng)域的核心,而C語言則是嵌入式系統(tǒng)開發(fā)中最常用的編程語言之一。成為一名
    發(fā)表于 04-07 16:03

    嵌入式系統(tǒng)發(fā)展前景?

    應(yīng)用領(lǐng)域。隨著汽車電子化和智能化程度的不斷提高,嵌入式系統(tǒng)將在汽車控制、安全系統(tǒng)、自動駕駛等方面發(fā)揮更為重要的作用。 工智能和機(jī)器學(xué)習(xí)技術(shù)的發(fā)展為嵌入式
    發(fā)表于 02-22 14:09

    如何使用 DSC 和 MCU 確保嵌入式系統(tǒng)安全

    作者:Stephen Evanczuk 投稿人:DigiKey 北美編輯 隨著向物聯(lián)網(wǎng) (IoT) 的遷移,安全性已不再是嵌入式應(yīng)用中的選配功能,已發(fā)展成為確保系統(tǒng)完整性所需的必備能力。為了滿足日益
    的頭像 發(fā)表于 02-13 14:38 ?788次閱讀
    如何使用 DSC 和 MCU 確保<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)安全</b>
    主站蜘蛛池模板: 久久久婷婷| 在线观看精品视频看看播放| 三a大片| 99久热| 日本一卡精品视频免费| 欧美a网站| 综合网天天| 香蕉黄色网| 三级理论在线| 毛片大全在线| 国产三级在线免费| 在线观看免费视频片| 天天操天天摸天天干| 国产精品美女久久久| 成人啪啪免费视频| 东京加勒比| 涩五月婷婷| 久久一级毛片| 欧亚色视频| 麦克斯奥特曼在线观看| 大量喷潮free| 欧美深夜福利| 狼色网| 在线免费一区| 99热这里精品| 日本免费精品视频| 国产www色| 色天天综合色天天天天看大| 最近最新免费视频| 狠狠色噜狠狠狠狠| 日本三级视频在线观看| 第四色视频| 精品福利| 免费观看交性大片| 日韩一级特黄毛片在线看| 国产女主播精品大秀系列在线| 天天摸天天看| 91男人| 色综合狠狠操| 丰满寡妇一级毛片| 九九天天影视|