SIL功能安全認證
一、簡介
SIL(Safety Integrity Level)安全完整性等級認證就是基于IEC61508, IEC61511, IEC61513, IEC13849-1, IEC62061, IEC61800-5-2等標準,對安全設(shè)備的安全完整性等級(SIL)或者性能等級(PL)進行評估和確認的一種第三方評估、驗證和認證。安全完整性等級的確定需要進行安全系統(tǒng)風險分析,它是進行系統(tǒng)研發(fā)的目標和基礎(chǔ),是評估系統(tǒng)能否保證安全的依據(jù)。主要涉及針對安全設(shè)備開發(fā)流程的文檔管理(FSM)評估,硬件可靠性計算和評估、軟件評估、環(huán)境試驗、EMC電磁兼容性測試等內(nèi)容。
SIL認證分為SIL1、SIL2、SIL3、SIL4,其中SIL1級是最低的產(chǎn)品功能安全等級,SIL4是最高的級別。
二、功能安全標準化起源
功能安全標準化的運動起源于20世紀90年代。上世紀70年代開始,隨著各種現(xiàn)代化及其的使用,以及工業(yè)生產(chǎn)過程的自動化程度越來越高,以電氣、電子、可編程電子產(chǎn)品的大量應用為標志的現(xiàn)代化控制系統(tǒng)越來越多的滲透到各個領(lǐng)域,參與著各種控制過程。但是,工業(yè)文明在給人類帶來利益的同時,也帶來了災難。由于系統(tǒng)設(shè)計不合理、設(shè)備元器件故障或失效、軟件系統(tǒng)的故障導致的事故、人身傷害、環(huán)境污染,越來越頻繁的危及著我們的生命安全和賴以生存的環(huán)境。人們開始認識到,必須采取措施,用標準和法規(guī)來規(guī)范領(lǐng)域內(nèi)安全相關(guān)系統(tǒng)的使用,使技術(shù)在安全的框架內(nèi)發(fā)展,使人類既能盡可能享受新技術(shù)帶來的安全和舒適,同時又能掌控危險。功能安全標準研究從此展開。
2000年5月,國際電工委員會正式發(fā)布了IEC61508標準,名為《電氣/電子/可編程電子安全相關(guān)系統(tǒng)的功能安全》。這是功能安全領(lǐng)域的第一個國際標準,后面其它的功能安全標準適用于不同的應用領(lǐng)域,但它們都基于由IEC61508標準派生出的安全理念。

三、SIL認證機構(gòu)
SIL的認證機構(gòu)有很多,國外的認證機構(gòu)有德國TüV、美國艾思達Exida、法國必維(BV)等;國內(nèi)的認證機構(gòu)主要有北京儀綜所(ITEI)和上海自動化所(SITIIAS)等等。軟件方面國內(nèi)接受度比較高的是德國萊茵TüV認證。
四、SIL認證流程
SIL認證項目的大致流程:
第一階段:概念評估
1.檢查并評審產(chǎn)品需求規(guī)范和安全設(shè)計概念;
2.在產(chǎn)品各個生命周期階段,尤其在開發(fā)過程中(質(zhì)量管理),檢查并評估故障避免措施的計劃;
3.評估檢測和控制故障需采取的措施(診斷)FMEDA(失效模式影響及診斷分析),評價是否安全完整等級能夠達到預期的目的;
4.文件系統(tǒng)的審核(設(shè)計和質(zhì)量管理);
5.電磁兼容,環(huán)境測試需求定義;
6.為主檢階段出具項目計劃;
7.根據(jù)概念評估的結(jié)果出具報告;
第二階段:主檢
1.測試所有的安全相關(guān)功能,最壞情況分析(軟硬件);
2.檢測控制故障的驗證(故障插入測試),F(xiàn)MEDA的驗證與執(zhí)行;
3.軟件驗證測試的評審(模塊,集成測試,系統(tǒng)測試)
4.對開發(fā)過程中創(chuàng)建的產(chǎn)品文檔評審(設(shè)計文檔,測試、驗證、審核記錄)
5.安全相關(guān)的可靠性數(shù)據(jù)的定義及計算;
6.環(huán)境測試(包括EMC);
7.用戶文檔的檢查(安裝,操作手冊,安全手冊);
8.提供測試報告;
第三階段:發(fā)證
基于測試報告,如果各項均符合要求,則由認證機構(gòu)頒發(fā)證書。
ARM功能安全相關(guān)
一、簡介
1、總體介紹
安全終端產(chǎn)品的認證要求開發(fā)中使用的編譯器工具鏈符合相應的功能安全標準。鑒定這些工具的過程稱為“工具鑒定”或“工具驗證”,可能是耗時且昂貴的過程。此外,它沒有為最終產(chǎn)品提供任何差異化。雖然最終用戶必須對整個工具認證過程負責,但開發(fā)工具供應商可以通過提供符合適當安全標準的工具來簡化此過程。
Arm Compiler for Embedded FuSa是一個合格的C/C++工具鏈,已通過安全認證機構(gòu)TüV SüD的評估。合格的工具鏈適用于為汽車、工業(yè)、醫(yī)療、鐵路和航空等安全市場開發(fā)嵌入式軟件。憑借TüV證書和全面的認證套件,用于嵌入式FuSa的Arm編譯器極大地簡化了整個“工具認證”過程,使最終用戶能夠?qū)W⒂谒麄兊淖罱K產(chǎn)品開發(fā)。

Arm Compiler for Embedded FuSa有資格開發(fā)符合以下標準的最高安全完整性級別的軟件:
- IEC 61508 (工業(yè)) – SIL 3
- ISO 26262 (汽車) – ASIL D
- EN 50128 (鐵路) – SIL 4
- IEC 62304 (醫(yī)療) – Class C
對于其他安全標準,其中許多標準源自IEC 61508,認證套件提供了最終用戶執(zhí)行“工具驗證”所需的關(guān)鍵信息。
注:
- ISO 26262是汽車行業(yè)的安全標準。該標準使用汽車安全完整性等級 (ASIL A–D) 來衡量風險。A等級最低,D等級最高。
- IEC 62304是醫(yī)療器械行業(yè)使用的安全標準。該標準使用軟件安全分類(A-C 類)來設(shè)置基于風險的要求,A等級最低,C等級最高。

2、Qualification Kit資格認證套件
Qualification Kit提供有關(guān)工具鏈操作、推薦使用和診斷功能的重要安全信息。
這包括:
- 安全手冊- 定義工具鏈的安全邊界。
- 缺陷報告- 描述已知的安全關(guān)鍵缺陷。
- 開發(fā)流程- 記錄用于開發(fā)安全工具鏈的流程。
- 測試報告- 記錄資格認證中使用的語言一致性測試的測試結(jié)果。

3、Arm編譯工具鏈方面能提供的安全工具如下圖所示

二、Arm Compiler for Embedded FuSa 6.16LTS介紹
Arm Compiler for Embedded FuSa 6.16LTS是Arm公司最新的功能安全嵌入式 C/C++編譯工具鏈,新購功能安全工具鏈用戶都是購買這個版本。它用于開發(fā)具有功能安全或長期支持要求的裸機軟件、固件和實時操作系統(tǒng) (RTOS)應用程序。通過強大的優(yōu)化技術(shù)和優(yōu)化的庫,Arm Compiler for Embedded FuSa使嵌入式系統(tǒng)開發(fā)人員能夠滿足具有挑戰(zhàn)性的性能目標和內(nèi)存限制。
Arm Compiler for Embedded FuSa被各行各業(yè)的領(lǐng)先公司使用,包括汽車 (ISO 26262)、消費電子、工業(yè) (IEC 61508)、醫(yī)療 (IEC 62304)、網(wǎng)絡(luò)、鐵路 (EN 50128)、存儲和電信。
它還用于開發(fā)以下Arm功能安全產(chǎn)品:
合格庫: https ://developer.arm.com/tools-and-software/embedded/arm-compiler/safety
Arm FuSa RTS: https ://developer.arm.com/tools-and-software/embedded/fusa-run-time-system
軟件測試庫:https ://www.arm.com/products/development-tools/embedded-and-software/software-test-libraries
Arm Compiler for Embedded FuSa 6.16LTS 的主要功能包括:
- 支持Cortex和Neoverse處理器
- 支持A-profile和R-profile目標的動態(tài)鏈接
- 支持線程本地存儲 (TLS)
- 支持C++14源語言模式
- 與Arm FuSa C庫版本6.6.A的兼容性
用于嵌入式FuSa 6.16LTS的Arm編譯器包括:
- 合格的工具鏈組件:
- armclang:基于LLVM和Clang 技術(shù)的編譯器和集成匯編器
- armar:歸檔器,可將 ELF 目標文件集收集在一起
- armlink:將對象和庫結(jié)合起來生成可執(zhí)行文件的鏈接器
- fromelf:圖像轉(zhuǎn)換實用程序和反匯編程序
- 非安全的工具鏈組件:
- Arm C 庫:嵌入式系統(tǒng)的運行時支持庫
- Arm C++ 庫:基于 LLVM libc++ 項目的庫
- armasm:舊版匯編器,用于armasm-syntax 匯編代碼,僅適用于較舊的 Arm 架構(gòu)。armclang對所有新的匯編文件使用集成匯編器。
- 資格套件:
- 安全手冊:描述認證范圍,以及如何使用工具鏈進行安全相關(guān)開發(fā)
- 缺陷報告:提供有關(guān)已知安全相關(guān)缺陷的信息
- 測試報告:包含語言一致性測試的結(jié)果
- 開發(fā)過程:包含用于開發(fā)工具鏈的過程的概述
- 發(fā)布歷史: Arm Compiler for Embedded FuSa 6.16LTS 系列迄今為止所有版本的標識信息
- 用戶文檔:
- 用戶指南:提供示例和指南來幫助您使用工具鏈
- 參考指南:提供幫助您配置工具鏈的信息
- Arm C和C++庫和浮點支持用戶指南:提供有關(guān)非限定Arm庫和浮點支持的信息
- 錯誤和警告參考指南:提供Arm Compiler for Embedded FuSa 6.16LTS中的工具可以報告的錯誤和警告列表
- 遷移和兼容性指南:提供信息以幫助您從Arm Compiler 5遷移到 Arm Compiler for Embedded FuSa 6.16LTS
- 發(fā)行說明
- 工具鏈可用于:
- 使用Arm Development Studio黃金版或白金版工具包
- 使用Keil MDK-Professional工具包(需要 Windows 64 位主機平臺上的 Windows 32 位工具鏈)
- 作為獨立安裝
Arm Compiler for Embedded FuSa 6.16LTS支持什么?
根據(jù)許可條款,Arm Compiler for Embedded FuSa 6.16LTS可用于構(gòu)建以下 Arm架構(gòu)和處理器:

注意:
用于嵌入式FuSa 6.16LTS的Arm編譯器預計不能在比上面列出的版本更早的主機操作系統(tǒng)平臺上工作。
使用Keil MDK許可證,用于嵌入式FuSa 6.16LTS的Arm編譯器僅在Windows主機平臺上受支持。不支持Windows 32位x86主機平臺。
如果您使用的是浮動許可證,則您的許可證服務(wù)器必須運行11.14.1.0或更高版本armlmd以及l(fā)mgrd。
您必須根據(jù)您打算如何使用 Arm Compiler for Embedded FuSa 6.16LTS 選擇合適的安裝位置:
- 集成到 Arm Development Studio Gold Edition 2021.2 或更高版本,或 Platinum Edition 2021.c 或更高版本
- 集成到 Keil MDK-Professional 5.36 或更高版本
- 作為獨立安裝