開發(fā)人員如何利用 RTOS 功能安全認(rèn)證
實(shí)時(shí)操作系統(tǒng) (RTOS) 是嵌入式設(shè)備的基礎(chǔ)。所有特定于應(yīng)用程序的代碼都依賴于 RTOS 來執(zhí)行。RTOS 類似于建筑物的地基 - 如果地基不牢固,整棟建筑物可能會倒塌。嵌入式系統(tǒng)中的 RTOS 也是如此。如果它出現(xiàn)故障,整個(gè)應(yīng)用程序可能會失敗。
嵌入式市場上有 100 多種開源和商用 RTOS,但絕大多數(shù)都沒有功能安全認(rèn)證。事實(shí)上,許多最常用的 RTOS 都沒有。鑒于此,應(yīng)更加關(guān)注 RTOS 功能安全認(rèn)證,不僅針對安全關(guān)鍵設(shè)備,而且針對所有嵌入式設(shè)備,以此作為縮短上市時(shí)間、提高產(chǎn)品質(zhì)量和減少產(chǎn)品責(zé)任的手段。
對功能安全和保障的需求不斷增長
對于汽車、工業(yè)、醫(yī)療和其他行業(yè)的安全關(guān)鍵型設(shè)備開發(fā)人員來說,功能安全是首要考慮的問題。在安全關(guān)鍵型系統(tǒng)中使用 RTOS(無論是專有還是開源)都需要對嵌入式 RTOS 進(jìn)行嚴(yán)格驗(yàn)證。當(dāng)監(jiān)管認(rèn)證是強(qiáng)制性要求,并且需要針對目標(biāo)安全標(biāo)準(zhǔn)的特定文檔和測試流程時(shí),這一點(diǎn)尤其重要。
嵌入式系統(tǒng)、設(shè)備和裝置的客戶尋求的是軟件和硬件的安全性和可靠性能夠得到保證的信任和信心。對于涉及保護(hù)人類生命或與人類一起操作機(jī)器的系統(tǒng)而言,風(fēng)險(xiǎn)尤其高。
功能安全的范圍是端到端的,這意味著它必須將組件或子系統(tǒng)的任何功能視為整個(gè)系統(tǒng)自動保護(hù)功能運(yùn)行的一部分。實(shí)現(xiàn)功能安全就是通過相關(guān)測試和認(rèn)證機(jī)構(gòu)的認(rèn)證,提供硬件或軟件系統(tǒng)符合適當(dāng)規(guī)定的功能安全要求的保證和證據(jù)。
最常見的功能安全標(biāo)準(zhǔn)
最常見的 RTOS 功能安全標(biāo)準(zhǔn)是IEC 61508,這是國際電工委員會 (IEC) 發(fā)布的一項(xiàng)國際標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)通常適用于電氣、電子和可編程產(chǎn)品的功能安全。它適用于各種設(shè)備。該標(biāo)準(zhǔn)有四個(gè)安全完整性等級 (SIL),范圍從 SIL 1 到 SIL 4。SIL 等級越高,安全等級越高。例如,僅滿足 SIL 1 要求的軟件不應(yīng)在需要 SIL 4 的安全關(guān)鍵設(shè)備中使用。
IEC 61508 衍生的其他功能安全標(biāo)準(zhǔn)包括醫(yī)療設(shè)備軟件國際標(biāo)準(zhǔn) IEC 62304 和道路車輛功能安全標(biāo)準(zhǔn) ISO 26262,后者適用于汽車電子電氣安全相關(guān)系統(tǒng)。對于鐵路運(yùn)輸,有 EN 50126/8/9。
對于航空市場,美國聯(lián)邦航空管理局 (FAA) 已實(shí)施了類似的功能安全認(rèn)證流程。軟件認(rèn)證稱為 RTCA DO-178C,復(fù)雜電子硬件認(rèn)證稱為 DO-254,這些認(rèn)證適用于整個(gè)航空航天業(yè)。在歐洲,相應(yīng)的認(rèn)證是 EURICAE ED-12C。
RTOS 功能安全認(rèn)證
從最高層面來看,RTOS 功能安全認(rèn)證是正確操作的客觀衡量標(biāo)準(zhǔn),進(jìn)而也是質(zhì)量的客觀衡量標(biāo)準(zhǔn)。例如,RTOS 功能安全認(rèn)證通常需要 100% 的 C 語句測試覆蓋率和 100% 的分支/決策測試覆蓋率。它還需要經(jīng)過驗(yàn)證的軟件生命周期和安全手冊,以確保開發(fā)人員正確使用 RTOS。這代表了超越常見 RTOS 解決方案的嚴(yán)格程度。這種額外的嚴(yán)格程度實(shí)際上相當(dāng)于行業(yè)最佳實(shí)踐。
更輕松地獲得 RTOS 認(rèn)證
如果 RTOS 功能安全認(rèn)證看起來令人望而生畏且耗時(shí),那么針對 PX5 RTOS 的全新現(xiàn)成功能安全認(rèn)證可讓嵌入式開發(fā)人員利用此 RTOS 預(yù)認(rèn)證結(jié)合其嵌入式軟件認(rèn)證來構(gòu)建安全認(rèn)證設(shè)備,適用于汽車、工業(yè)和醫(yī)療行業(yè)以及非安全關(guān)鍵設(shè)備。
SGS-TüV Saar 是一家領(lǐng)先的獨(dú)立認(rèn)證公司,專門為安全相關(guān)系統(tǒng)測試、審核、驗(yàn)證和認(rèn)證嵌入式軟件。PX5 RTOS 獲得了最高級別的功能安全認(rèn)證,具體為 IEC 61508 SIL 4、IEC 62304 C 級、ISO 26262 ASIL D 和 EN 50128 SW-SIL 4。
需要功能安全認(rèn)證的設(shè)備的優(yōu)勢
對于需要功能安全認(rèn)證的嵌入式設(shè)備,預(yù)先認(rèn)證的 RTOS 具有直接價(jià)值。安全認(rèn)證的 RTOS 的認(rèn)證文檔可用于設(shè)備認(rèn)證,這樣開發(fā)人員就無需在應(yīng)用程序代碼之外再認(rèn)證 RTOS 代碼。相反,開發(fā)人員只需提供 RTOS 認(rèn)證工件作為應(yīng)用程序認(rèn)證的一部分即可,從而節(jié)省大量時(shí)間和金錢。
即使您的應(yīng)用程序目前沒有功能安全認(rèn)證要求,未來也很有可能需要。有關(guān)產(chǎn)品安全的新法規(guī)越來越多,例如《通用產(chǎn)品安全法規(guī)》(GPSR)、《歐盟機(jī)械法規(guī)》、《歐洲醫(yī)療器械法規(guī)》(EU MDR)、《歐洲網(wǎng)絡(luò)彈性法案》(CRA)等。使用經(jīng)過安全認(rèn)證的 RTOS 有助于確保您的設(shè)備面向未來。
認(rèn)證之外的益處
經(jīng)過安全認(rèn)證的 RTOS 對所有設(shè)備制造商都大有裨益。遵循行業(yè)最佳實(shí)踐是產(chǎn)品責(zé)任的第一道防線。沒有經(jīng)過功能安全認(rèn)證的 RTOS 通常不遵循最佳實(shí)踐 — 它在軟件生命周期的某些元素上存在缺陷,最明顯的是驗(yàn)證不足。使用這樣的 RTOS 很容易導(dǎo)致產(chǎn)品責(zé)任。
具有功能安全認(rèn)證的 RTOS 經(jīng)過了廣泛的測試,有助于縮短開發(fā)時(shí)間。更高質(zhì)量的 RTOS 還有助于提高設(shè)備的整體質(zhì)量,并降低設(shè)備在生產(chǎn)過程中被召回的風(fēng)險(xiǎn)。避免召回的成本很容易抵消安全認(rèn)證 RTOS 的成本。
嵌入式設(shè)備安全與功能安全重疊。例如,如果 RTOS 中的問題導(dǎo)致內(nèi)存損壞,黑客可以利用此問題進(jìn)行拒絕服務(wù)、不當(dāng)信息訪問甚至遠(yuǎn)程執(zhí)行攻擊。經(jīng)過安全認(rèn)證的 RTOS 不太可能存在這些漏洞。
功能安全認(rèn)證成功秘訣
RTOS 功能安全認(rèn)證需要大量工作,這些工作都包含在一套廣泛的文檔中。這套文檔涵蓋軟件設(shè)計(jì)、開發(fā)計(jì)劃、軟件集成測試程序、軟件集成測試計(jì)劃、軟件集成測試報(bào)告、軟件要求、安全要求規(guī)范、編碼約定和 RTOS 安全手冊。安全手冊為軟件開發(fā)人員提供了如何在安全關(guān)鍵應(yīng)用中使用 RTOS 的指導(dǎo)。
該套件中最有趣的文檔可能是軟件集成測試報(bào)告,其中包含所有測試結(jié)果,包括集成測試、測試期間的代碼覆蓋率和靜態(tài)分析。對于 PX5 RTOS 認(rèn)證,IAR Systems 開發(fā)工具也具有廣泛的功能安全認(rèn)證。
集成測試(圖 1)是一系列連續(xù)的測試,用于測試 RTOS 的所有功能。每個(gè)測試都會返回 PASS 或 FAIL 指示。PX5 RTOS 集成測試包含近 200 個(gè)功能測試。
圖 1:這是集成測試的一個(gè)示例,該測試是一系列連續(xù)的近 200 個(gè)功能測試,用于測試 RTOS 的所有功能。
除了功能測試之外,集成測試報(bào)告還包含代碼覆蓋率分析,即在 RTOS 代碼庫中測試的語句、分支和條件的報(bào)告。為了達(dá)到最高級別的 IEC 61508 功能安全認(rèn)證(SIL 4、C 級、ASIL D),必須覆蓋 RTOS 代碼庫中的每個(gè) C 語句。此外,還必須覆蓋所有可能的條件和分支組合,這稱為 100% 分支決策覆蓋率測試。PX5 RTOS 使用 IAR 的代碼覆蓋率工具來演示這一點(diǎn)。圖 2 是 IAR 代碼覆蓋率在報(bào)告中顯示方式的示例。
圖 2:為了達(dá)到最高級別的 IEC 61508 功能安全認(rèn)證(SIL 4、C 級、ASIL D),必須涵蓋 RTOS 代碼庫中的每個(gè) C 語句。
實(shí)心綠色菱形表示該語句在測試執(zhí)行期間被覆蓋,并且所有可能的條件和分支路徑都已執(zhí)行。PX5 RTOS 的編碼標(biāo)準(zhǔn)之一是不允許任何復(fù)合條件的規(guī)則。這簡化了測試覆蓋范圍并有助于避免更復(fù)雜的 MC/DC 分析。
認(rèn)證過程會產(chǎn)生一份官方證書、一份功能安全技術(shù)報(bào)告和一份功能安全認(rèn)證報(bào)告,這些報(bào)告均由 TüV 出具。開發(fā)人員可以使用這些文檔來避免認(rèn)證 RTOS 代碼 — 只需將這些文檔與應(yīng)用程序認(rèn)證一起提交即可。
所有實(shí)時(shí)嵌入式設(shè)備的必備品
由于嵌入式 RTOS 功能安全認(rèn)證惠及所有設(shè)備并代表行業(yè)最佳實(shí)踐,因此它對于實(shí)時(shí)嵌入式系統(tǒng)而言必不可少。利用具有功能安全認(rèn)證的 RTOS 的設(shè)備制造商可以遵守通用行業(yè)標(biāo)準(zhǔn),縮短上市時(shí)間并提高產(chǎn)品質(zhì)量,并減少產(chǎn)品責(zé)任。