一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

如何將MISRA C:2023整合到您的嵌入式開發(fā)流程中

星星科技指導(dǎo)員 ? 來源:embedded ? 作者:Mark Pitchford ? 2023-05-04 09:58 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

開發(fā)符合 MISRA C 的軟件需要規(guī)劃、文檔和工具,以最好地執(zhí)行指南的意圖和精神。MISRA C:2023 修正案 2012 (AMD4) 和 MISRA C:4 的 2023 版用于開發(fā)安全和安保關(guān)鍵型軟件系統(tǒng),解決了 C 標準的最新兩個版本(ISO/IEC 9899:2011 和 2018)中引入的并發(fā)功能,并將所有 MISRA C 版本合并到一個文檔中。

MISRA C不是編碼風(fēng)格指南,而是一套規(guī)則和指令,用于最小化或消除已知危險的編碼實踐。鑒于對安全和安保關(guān)鍵型系統(tǒng)的這種重要性,AMD4 和 MISRA C:2023 版本使開發(fā)人員有機會重新審視其流程,以改進對有效和高效地證明 MISRA 合規(guī)性的支持。

MISRA 合規(guī)性:2020 指南指出,合規(guī)性聲明必須確定:

使用規(guī)范的軟件開發(fā)過程

應(yīng)用的確切準則

執(zhí)法方法的有效性

與準則的任何偏差程度

在項目之外開發(fā)的任何軟件組件的狀態(tài)

新老制造商必須確定如何在不犧牲開發(fā)速度的情況下將MISRA規(guī)則和指令集成到其流程中。

poYBAGRTEQSAVRWlAALe0pdFXeA313.png

圖 1:來自 LDRA 工具套件的 MISRA 合規(guī)性報告示例(來源:LDRA)

MISRA C:2023合規(guī)框架

MISRA C 指南沒有指定實現(xiàn)合規(guī)性的確切流程和工具,因為記錄此類要求會不公平地限制嵌入式開發(fā)團隊可以做的事情。相反,MISRA 合規(guī)性:2020 指南提供了“在聲明 MISRA 合規(guī)性時軟件開發(fā)過程中必須涵蓋的內(nèi)容”的定義,作為捕獲最重要活動的框架。

MISRA 指南涵蓋了許多流程和合規(guī)性要點。在這里,我們將介紹需要更多思考的活動,這些活動將對希望簡化合規(guī)性工作的開發(fā)團隊產(chǎn)生最大的影響。

定義規(guī)范的軟件開發(fā)流程

MISRA 合規(guī)性:2020 指南指出,“MISRA 指南旨在在記錄的軟件開發(fā)過程框架內(nèi)使用”,并且“遵守 MISRA 指南必須是代碼開發(fā)階段的一個組成部分,在提交代碼以供審查或單元測試之前,需要滿足合規(guī)性要求。

將合規(guī)性集成到新的或現(xiàn)有的開發(fā)流程中,首先要定義如何在生命周期的每一步驗證 MISRA 規(guī)則和指令。這些活動會影響開發(fā)人員培訓(xùn)、合規(guī)性項目的創(chuàng)建和管理,以及合規(guī)性測試的運行方式。

開發(fā)團隊應(yīng)以足夠全面的方式正式記錄這些過程,以確保在開發(fā)生命周期的每個階段完全實現(xiàn)所有軟件需求,并且測試活動涵蓋所有代碼。此文檔必須包括驅(qū)動開發(fā)任務(wù)的所有決策,包括培訓(xùn)、報告、開發(fā)工具鏈的選擇和運行時配置。

在 MISRA C:2023 上培訓(xùn)開發(fā)人員

通過正式培訓(xùn),開發(fā)人員可以花更少的時間試圖自己了解MISRA合規(guī)性,而將更多的時間花在交付代碼上。MISRA 合規(guī)性:2020 指南建議包含有關(guān)嵌入式應(yīng)用程序使用 C 語言的概念以及安全和安保關(guān)鍵系統(tǒng)的細節(jié)。

除了代碼之外,開發(fā)人員還應(yīng)該了解他們選擇的開發(fā)環(huán)境(從編譯器工具鏈到靜態(tài)分析工具)的安全和安保影響。隨著 MISRA C:2023 包含針對復(fù)雜多線程系統(tǒng)的新指南,刷新開發(fā)人員對他們的選擇如何影響 MISRA 指南的執(zhí)行以及如何減少在并發(fā)應(yīng)用程序中引入違規(guī)的可能性的理解變得更加重要。

靜態(tài)分析工具為課堂培訓(xùn)提供了有效的補充,因為它們在課程結(jié)束后很長時間內(nèi)提供了全面和實時的微學(xué)習(xí)形式。靜態(tài)分析結(jié)果在編寫代碼時強化了 MISRA 規(guī)則和指令,在新手和有經(jīng)驗的開發(fā)人員的頭腦中保持恒定的意識水平。

建立偏差流程

MISRA合規(guī)性要求代碼供應(yīng)商和收購方就規(guī)則和指令的解釋達成一致。這種一致性至關(guān)重要,因為合規(guī)性的概念因項目而異,具體取決于它們各自的要求和特征。部分一致性來自建立一個管理偏離指南的流程,其中證明合規(guī)性可能不切實際或不可能遵循某個項目。

MISRA 合規(guī)性:2020 指南將偏差記錄定義為包含以下信息:

違反的準則

對可以接受違規(guī)行為的情況的描述

需要偏差的原因

解釋上下文和語言問題的背景信息

一套要求,包括相關(guān)的風(fēng)險評估程序和預(yù)防措施

使用自動化支持合規(guī)性活動

自動化減少或消除了MISRA合規(guī)活動中的手動工作和人為錯誤的可能性。為了從自動化工具中獲得最大收益,開發(fā)團隊應(yīng)按照 MISRA 合規(guī)性:2020 指南的建議,在軟件生命周期的早期部署它們:

“一個試圖在其生命周期后期檢查合規(guī)性的項目可能會花費大量時間重新編碼、重新審查和重新測試,而且這種返工很容易意外引入缺陷?!?/p>

為了簡化合規(guī)性測試,MISRA C:2012引入了兩種規(guī)則分類:

對于分析技術(shù)可以提供結(jié)論性驗證的規(guī)則,可決定

無法確定無法驗證保證的情況

將可判定規(guī)則與MISRA的建議配對,使用靜態(tài)分析進行驗證,可以為自動化合規(guī)性測試提供高效而全面的解決方案。

MISRA C:2023 合規(guī)性始于堅實的戰(zhàn)略

將 MISRA 合規(guī)性集成到開發(fā)流程中有助于改善代碼的安全性。這種集成需要了解 MISRA C 規(guī)則和指令,團隊將這些規(guī)則和指令嵌入到開發(fā)生命周期的各個方面。

從培訓(xùn)到自動化工具,MISRA合規(guī)流程應(yīng)使開發(fā)人員能夠最大限度地減少已知危險的編碼實踐,并支持代碼供應(yīng)商和收購方之間的期望一致。預(yù)先采用這些目標的組織將比那些等待的組織更有可能獲得MISRA合規(guī)性的成功。

審核編輯:郭婷

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

    關(guān)注

    25

    文章

    5581

    瀏覽量

    136256
  • 嵌入式
    +關(guān)注

    關(guān)注

    5148

    文章

    19643

    瀏覽量

    316980
  • 自動化
    +關(guān)注

    關(guān)注

    29

    文章

    5776

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    如何將功能整合到嵌入式固件

    重要,在嵌入式開發(fā),C語句可能特別難以理解,因為C語句用于修改粗略命名的特殊功能寄存器中看似隨機的位??芍赜眯赃@與模塊化有關(guān),盡管在本節(jié)
    發(fā)表于 09-09 15:30

    嵌入式開發(fā)流程

    嵌入式開發(fā)流程一般是在PC機的Windows系統(tǒng)下安裝Ubuntu虛擬機,搭建嵌入式開發(fā)環(huán)境及交叉編譯環(huán)境,開發(fā)完成后,編譯得到bin文件,然后在Windows下
    發(fā)表于 11-05 06:06

    嵌入式開發(fā)流程是怎樣的?

    本篇文章整理下嵌入式開發(fā)中一些入門的基礎(chǔ)技能,都是根據(jù)以往的工程經(jīng)驗整理,適用于之前沒做過嵌入式開發(fā)的新手。嵌入式開發(fā)流程一般如下,一般是在PC機的Windows系統(tǒng)下安裝Ubuntu
    發(fā)表于 11-08 06:24

    基于ARM的嵌入式開發(fā)

    基于ARM的嵌入式開發(fā):華清遠見/孫天澤基于ARM的嵌入式開發(fā)內(nèi)容有:ARM簡介,基于ARM的嵌入式產(chǎn)品,ARM架構(gòu),基于ARM的嵌入式開發(fā)。
    發(fā)表于 10-04 08:49 ?83次下載

    嵌入式開發(fā)

    嵌入式開發(fā)就是指在嵌入式操作系統(tǒng)下進行開發(fā),嵌入式Linux是以Linux為基礎(chǔ)的嵌入式作業(yè)系統(tǒng)。這里提供了
    發(fā)表于 12-20 13:21
    <b class='flag-5'>嵌入式開發(fā)</b>

    使用C++構(gòu)建嵌入式開發(fā)框架

    使用C++構(gòu)建嵌入式開發(fā)框架
    發(fā)表于 10-25 11:25 ?17次下載
    使用<b class='flag-5'>C</b>++構(gòu)建<b class='flag-5'>嵌入式開發(fā)</b>框架

    如何將IP模塊整合到System Generator for DSP

    了解如何將Vivado HLS設(shè)計作為IP模塊整合到System Generator for DSP。 了解如何將Vivado HLS設(shè)計保存為IP模塊,并了解
    的頭像 發(fā)表于 11-20 05:55 ?3482次閱讀

    如何將ARM嵌入式開發(fā)移植到LabVIEW開發(fā)環(huán)境的資料說明

    本文檔的主要內(nèi)容詳細介紹的是如何將ARM嵌入式開發(fā)移植到LabVIEW開發(fā)環(huán)境的資料說明免費下載。
    發(fā)表于 03-01 08:00 ?22次下載

    嵌入式開發(fā)的應(yīng)用重點是什么

    盡管物聯(lián)網(wǎng),嵌入式視覺,機器學(xué)習(xí)和其他新興技術(shù)在開發(fā)組織的重要性日益提高,但CC ++仍是嵌入式開發(fā)
    發(fā)表于 12-27 16:17 ?2351次閱讀

    嵌入式開發(fā)流程_嵌入式開發(fā)的前景

    當前,嵌入式開發(fā)已經(jīng)逐步規(guī)范化,在遵循一般工程開發(fā)流程的基礎(chǔ)上,嵌入式開發(fā)有其自身的一些特點。主要包括系統(tǒng)需求分析(要求有嚴格規(guī)范的技術(shù)要求)、體系結(jié)構(gòu)設(shè)計、軟硬件及機械系統(tǒng)設(shè)計、系統(tǒng)
    發(fā)表于 07-30 11:23 ?2365次閱讀

    嵌入式開發(fā)的產(chǎn)品有哪些_嵌入式開發(fā)流程

    本文主要闡述了嵌入式開發(fā)的產(chǎn)品,其次介紹了嵌入式開發(fā)流程。
    發(fā)表于 08-31 15:38 ?1.2w次閱讀

    嵌入式開發(fā)(一):嵌入式開發(fā)新手入門

    本篇文章整理下嵌入式開發(fā)中一些入門的基礎(chǔ)技能,都是根據(jù)以往的工程經(jīng)驗整理,適用于之前沒做過嵌入式開發(fā)的新手。嵌入式開發(fā)流程一般如下,一般是在PC機的Windows系統(tǒng)下安裝Ubuntu
    發(fā)表于 10-14 10:58 ?79次下載
    <b class='flag-5'>嵌入式開發(fā)</b>(一):<b class='flag-5'>嵌入式開發(fā)</b>新手入門

    嵌入式開發(fā)資料免費分享

    嵌入式開發(fā)資料免費分享嵌入式工程師經(jīng)驗分享:如何學(xué)習(xí)嵌入式開發(fā)截取文檔部分學(xué)習(xí)嵌入式工程師經(jīng)驗分享的資料分享給大家,文檔上從、嵌入式系統(tǒng)的概
    發(fā)表于 10-21 11:07 ?47次下載
    <b class='flag-5'>嵌入式開發(fā)</b>資料免費分享

    嵌入式開發(fā)為什么選擇C語言?它有哪些特點?

    眾所周知,C語言在嵌入式開發(fā)占據(jù)著十分重要的地位,為什么嵌入式開發(fā)要選擇C語言?嵌入式開發(fā)的方
    的頭像 發(fā)表于 01-04 09:56 ?1560次閱讀
    <b class='flag-5'>嵌入式開發(fā)</b><b class='flag-5'>中</b>為什么選擇<b class='flag-5'>C</b>語言?它有哪些特點?

    c語言嵌入式開發(fā)

    電子發(fā)燒友網(wǎng)站提供《c語言嵌入式開發(fā).zip》資料免費下載
    發(fā)表于 11-17 14:11 ?4次下載
    <b class='flag-5'>c</b>語言<b class='flag-5'>嵌入式開發(fā)</b>