對(duì)于我們這些從事嵌入式軟件汽車領(lǐng)域的人來說,我們公司的成敗在很大程度上取決于滿足安全要求。如果我們不使用經(jīng)過驗(yàn)證的開發(fā)方法來開發(fā)代碼來確保安全,我們充其量只會(huì)倒閉;在最壞的情況下,我們可能導(dǎo)致財(cái)產(chǎn)破壞,傷害甚至死亡。隨著汽車向自動(dòng)駕駛車輛發(fā)展,硬件和軟件的功能安全性是軟件開發(fā)人員、工程師、經(jīng)理和高管最關(guān)心的問題。沒有不折不扣的安全性,就沒有自動(dòng)駕駛汽車。
功能安全是系統(tǒng)或設(shè)備響應(yīng)其輸入的正確操作。當(dāng)功能安全得到滿足時(shí),該系統(tǒng)消除了所有不可接受的風(fēng)險(xiǎn),并且不會(huì)對(duì)乘員造成傷害的威脅。不幸的是,由于嵌入式軟件通常非常復(fù)雜,因此很難減輕所有風(fēng)險(xiǎn)。
汽車行業(yè)的安全標(biāo)準(zhǔn)ISO 26262定義了開發(fā)軟件以降低風(fēng)險(xiǎn)和生產(chǎn)更安全軟件的方法。ISO 26262中定義的功能安全是為車輛中的每個(gè)電氣或電子系統(tǒng)設(shè)置安全目標(biāo)的方法。這些目標(biāo)使用汽車安全完整性等級(jí)(ASIL)分類按嚴(yán)重程度進(jìn)行分類。這些級(jí)別由風(fēng)險(xiǎn)級(jí)別確定,其中 ASIL A 是最低嚴(yán)重性,ASIL D 是最大。例如,ASIL A 風(fēng)險(xiǎn)可能是 DVD 播放機(jī)出現(xiàn)故障(沒有受傷的機(jī)會(huì)),而意外的安全氣囊展開是 ASIL D 風(fēng)險(xiǎn)。想象一下,在高速公路上以55英里/小時(shí)的速度進(jìn)行部署:嚴(yán)重傷害和無法控制的可能性非常大。
ASIL是在開發(fā)過程開始時(shí)確定的。ASIL 用于定義系統(tǒng)必須滿足的安全目標(biāo)。每個(gè)ASIL都是通過檢查事故的可能嚴(yán)重程度,暴露時(shí)間以及車輛在這種情況下的可控性來確定的。ASIL迫使設(shè)計(jì)人員提出這樣一個(gè)問題:“如果出現(xiàn)功能故障,操作員、相關(guān)道路使用者和周圍環(huán)境會(huì)發(fā)生什么變化?
該標(biāo)準(zhǔn)定義了開發(fā)軟件的方法,使其滿足功能安全要求。這些要求包括軟件開發(fā)過程的管理、可追溯性、風(fēng)險(xiǎn)管理和質(zhì)量保證。公司必須實(shí)施嚴(yán)格的過程控制。
那么,如何開發(fā)具有這些嚴(yán)格要求的產(chǎn)品呢?
確保功能安全的工具
大多數(shù)軟件錯(cuò)誤和問題都是由于需求不足和流程管理不善造成的。不良的需求會(huì)導(dǎo)致功能實(shí)現(xiàn)不正確或不可靠,從而導(dǎo)致功能安全失敗。當(dāng)一個(gè)功能被錯(cuò)誤地實(shí)現(xiàn)時(shí),它可能會(huì)干擾其他軟件功能,違反ISO 26262的“主要指令”,即不受干擾。
靜態(tài)分析可用于在軟件引起干擾時(shí)查找錯(cuò)誤。使用靜態(tài)分析的主要優(yōu)點(diǎn)之一是,您可以在完成模塊準(zhǔn)備就緒后立即開始分析。分析可以繼續(xù),直到整個(gè)產(chǎn)品代碼集完成。
可以對(duì)源代碼或目標(biāo)代碼執(zhí)行靜態(tài)分析。分析二進(jìn)制文件有一些優(yōu)點(diǎn)。例如,它不依賴于所使用的編譯器或匯編程序。它還可以揭示編譯器或匯編程序在沒有源代碼的情況下引入的錯(cuò)誤。
但是,由于缺乏有關(guān)編譯器以及它如何優(yōu)化代碼的信息,因此無法進(jìn)行某些分析。此外,您無法將錯(cuò)誤追溯到源代碼中的違規(guī)點(diǎn),因此糾正錯(cuò)誤幾乎沒有用處。
因此,使用源代碼時(shí),分析質(zhì)量會(huì)大大提高。使用源代碼,您確實(shí)可以將故障追溯到故障發(fā)生的點(diǎn)。當(dāng)然,您必須具有可用的源代碼才能運(yùn)行靜態(tài)分析。
靜態(tài)分析顯示,ASIL 函數(shù)在未經(jīng)許可的情況下非法嘗試訪問受保護(hù)內(nèi)存會(huì)受到干擾。您可以想象在自動(dòng)駕駛車輛甚至當(dāng)前車輛中損壞受保護(hù)內(nèi)存的后果。如果您點(diǎn)擊DVD播放按鈕而不是更改巡航控制設(shè)置,可能會(huì)導(dǎo)致不好的事情!
靜態(tài)分析確保不受干擾
靜態(tài)分析不能取代硬件和軟件驗(yàn)證,但對(duì)于防止應(yīng)用中的干擾非常有價(jià)值。它可以在源代碼中找到違反ISO 26262要求的錯(cuò)誤。通過在開發(fā)代碼時(shí)發(fā)現(xiàn)問題,驗(yàn)證通??梢愿斓剡M(jìn)行。具有 SIL 感知功能的靜態(tài)分析涵蓋了完整的代碼庫。您可以在編寫完第一個(gè)軟件元素后立即開始分析,然后繼續(xù)分析,直到所有軟件都集成到系統(tǒng)中。
審核編輯:郭婷
-
嵌入式
+關(guān)注
關(guān)注
5150文章
19665瀏覽量
317452 -
編譯器
+關(guān)注
關(guān)注
1文章
1662瀏覽量
50207
發(fā)布評(píng)論請(qǐng)先 登錄
嵌入式軟件開發(fā)常用的軟件有哪些?
嵌入式軟件行業(yè)增長驅(qū)動(dòng)因素
嵌入式機(jī)器學(xué)習(xí)的應(yīng)用特性與軟件開發(fā)環(huán)境

嵌入式軟件開發(fā)符合ISO 26262 功能安全標(biāo)準(zhǔn)
如何提高嵌入式代碼質(zhì)量?
普華基礎(chǔ)軟件推動(dòng)嵌入式功能安全邁向新臺(tái)階
什么是嵌入式?一文讀懂嵌入式主板
【「嵌入式Hypervisor:架構(gòu)、原理與應(yīng)用」閱讀體驗(yàn)】+第三四章閱讀報(bào)告
嵌入式主板是什么意思?嵌入式主板全面解析
嵌入式開發(fā)常用軟件有哪些?
學(xué)習(xí)hypervisor嵌入式產(chǎn)品安全設(shè)計(jì)

功能安全零部件級(jí)測試——軟件驗(yàn)證方法:什么是靜態(tài)分析、動(dòng)態(tài)分析?#功能安全 #嵌入式軟件測試技術(shù)
嵌入式軟件開發(fā)與AI整合

評(píng)論