對于我們這些從事嵌入式軟件汽車領域的人來說,我們公司的成敗在很大程度上取決于滿足安全要求。如果我們不使用經過驗證的開發方法來開發代碼來確保安全,我們充其量只會倒閉;在最壞的情況下,我們可能導致財產破壞,傷害甚至死亡。隨著汽車向自動駕駛車輛發展,硬件和軟件的功能安全性是軟件開發人員、工程師、經理和高管最關心的問題。沒有不折不扣的安全性,就沒有自動駕駛汽車。
功能安全是系統或設備響應其輸入的正確操作。當功能安全得到滿足時,該系統消除了所有不可接受的風險,并且不會對乘員造成傷害的威脅。不幸的是,由于嵌入式軟件通常非常復雜,因此很難減輕所有風險。
汽車行業的安全標準ISO 26262定義了開發軟件以降低風險和生產更安全軟件的方法。ISO 26262中定義的功能安全是為車輛中的每個電氣或電子系統設置安全目標的方法。這些目標使用汽車安全完整性等級(ASIL)分類按嚴重程度進行分類。這些級別由風險級別確定,其中 ASIL A 是最低嚴重性,ASIL D 是最大。例如,ASIL A 風險可能是 DVD 播放機出現故障(沒有受傷的機會),而意外的安全氣囊展開是 ASIL D 風險。想象一下,在高速公路上以55英里/小時的速度進行部署:嚴重傷害和無法控制的可能性非常大。
ASIL是在開發過程開始時確定的。ASIL 用于定義系統必須滿足的安全目標。每個ASIL都是通過檢查事故的可能嚴重程度,暴露時間以及車輛在這種情況下的可控性來確定的。ASIL迫使設計人員提出這樣一個問題:“如果出現功能故障,操作員、相關道路使用者和周圍環境會發生什么變化?
該標準定義了開發軟件的方法,使其滿足功能安全要求。這些要求包括軟件開發過程的管理、可追溯性、風險管理和質量保證。公司必須實施嚴格的過程控制。
那么,如何開發具有這些嚴格要求的產品呢?
確保功能安全的工具
大多數軟件錯誤和問題都是由于需求不足和流程管理不善造成的。不良的需求會導致功能實現不正確或不可靠,從而導致功能安全失敗。當一個功能被錯誤地實現時,它可能會干擾其他軟件功能,違反ISO 26262的“主要指令”,即不受干擾。
靜態分析可用于在軟件引起干擾時查找錯誤。使用靜態分析的主要優點之一是,您可以在完成模塊準備就緒后立即開始分析。分析可以繼續,直到整個產品代碼集完成。
可以對源代碼或目標代碼執行靜態分析。分析二進制文件有一些優點。例如,它不依賴于所使用的編譯器或匯編程序。它還可以揭示編譯器或匯編程序在沒有源代碼的情況下引入的錯誤。
但是,由于缺乏有關編譯器以及它如何優化代碼的信息,因此無法進行某些分析。此外,您無法將錯誤追溯到源代碼中的違規點,因此糾正錯誤幾乎沒有用處。
因此,使用源代碼時,分析質量會大大提高。使用源代碼,您確實可以將故障追溯到故障發生的點。當然,您必須具有可用的源代碼才能運行靜態分析。
靜態分析顯示,ASIL 函數在未經許可的情況下非法嘗試訪問受保護內存會受到干擾。您可以想象在自動駕駛車輛甚至當前車輛中損壞受保護內存的后果。如果您點擊DVD播放按鈕而不是更改巡航控制設置,可能會導致不好的事情!
靜態分析確保不受干擾
靜態分析不能取代硬件和軟件驗證,但對于防止應用中的干擾非常有價值。它可以在源代碼中找到違反ISO 26262要求的錯誤。通過在開發代碼時發現問題,驗證通??梢愿斓剡M行。具有 SIL 感知功能的靜態分析涵蓋了完整的代碼庫。您可以在編寫完第一個軟件元素后立即開始分析,然后繼續分析,直到所有軟件都集成到系統中。
審核編輯:郭婷
-
嵌入式
+關注
關注
5096文章
19199瀏覽量
308165 -
編譯器
+關注
關注
1文章
1642瀏覽量
49323
發布評論請先 登錄
相關推薦
嵌入式機器學習的應用特性與軟件開發環境
![<b class='flag-5'>嵌入式</b>機器學習的應用特性與<b class='flag-5'>軟件</b>開發環境](https://file1.elecfans.com/web3/M00/05/AF/wKgZO2eCM96AYfoXAAC2esU07bU956.png)
嵌入式軟件開發符合ISO 26262 功能安全標準
如何提高嵌入式代碼質量?
普華基礎軟件推動嵌入式功能安全邁向新臺階
什么是嵌入式?一文讀懂嵌入式主板
嵌入式主板是什么意思?嵌入式主板全面解析
![](https://file1.elecfans.com/web2/M00/01/8E/wKgZoma185iACMpqAAIVYEteNjg641.jpg)
評論