<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 運(yùn)用ARM處理器系列軟件工具可加速遵循安全至上的規(guī)范

          運(yùn)用ARM處理器系列軟件工具可加速遵循安全至上的規(guī)范

          作者: 時(shí)間:2018-08-23 來源:網(wǎng)絡(luò) 收藏

          越來越多程序設(shè)計(jì)人員在設(shè)計(jì)安全相關(guān)應(yīng)用程序時(shí)采用,范圍遍及醫(yī)療、運(yùn)輸、航空電子與工業(yè)領(lǐng)域。因此,透過這些處理器所執(zhí)行的軟件也受到更為嚴(yán)格的檢查,因?yàn)槿魏我粋€小錯誤都有可能導(dǎo)致嚴(yán)重后果。

          本文引用地址:http://www.ex-cimer.com/article/201808/387569.htm

          為了避免導(dǎo)致這樣的后果,包括IEC 61508,還有最近才通過的汽車業(yè)ISO 26262等安全標(biāo)準(zhǔn)應(yīng)運(yùn)而生,以確保開發(fā)人員與客戶在軟件方面能符合業(yè)界最先進(jìn)的最佳實(shí)務(wù)準(zhǔn)則。

          即便如此,要決定標(biāo)準(zhǔn)當(dāng)中有哪些元素適用,哪些不適用,接下來還要確保整體設(shè)計(jì)符合標(biāo)準(zhǔn),整個過程非常耗時(shí)以致于令人卻步。由于消費(fèi)類器件的設(shè)計(jì)周期極短且逐漸與汽車安全系統(tǒng)整合,開發(fā)人員也因此面臨更大的時(shí)間壓力,必須在日益緊迫的設(shè)計(jì)周期期限前完成設(shè)計(jì)改動。

          所幸針對工具與相關(guān)作業(yè),軟件系列工具廠商具備一般人員所沒有的信息與知識,因此在市場中具有獨(dú)特定位,能為所有安全相關(guān)人員提供支持。

          來說更是如此,因?yàn)?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/編譯器">編譯器能直接影響系統(tǒng)安全性,而且其有可能產(chǎn)生的注入錯誤,后續(xù)功能設(shè)計(jì)測試卻無法檢測。因此,系列軟件工具組很適合那些使用基于ARM核心處理器的開發(fā)人員,能使開發(fā)人員確保系統(tǒng)符合法規(guī)規(guī)范,并同時(shí)應(yīng)付日益增加的產(chǎn)品上市時(shí)間的壓力。

          ARM 處理器逐漸拓展應(yīng)用

          伴隨移動的風(fēng)潮,加上持續(xù)擴(kuò)展的生態(tài)系統(tǒng)提供支持,基于ARM核心處理器的應(yīng)用已從智能手機(jī)與嵌入式等器件,拓展到基礎(chǔ)架構(gòu)設(shè)備及數(shù)據(jù)服務(wù)器。現(xiàn)在,設(shè)計(jì)人員也逐漸開始將它們導(dǎo)入安全相關(guān)的應(yīng)用。

          這類應(yīng)用涵蓋了工業(yè)(馬達(dá)控制、工廠自動化、遠(yuǎn)距監(jiān)控);汽車(底盤控制、車身與安全、儀表板、智能傳感器、引擎控制、防抱死剎車);醫(yī)療(注入泵、起搏器、病患監(jiān)控);鐵路(信號與通訊控制);核能(控制面板、馬達(dá)控制、系統(tǒng)監(jiān)控)與航空電子等領(lǐng)域。

          橫跨消費(fèi)類與數(shù)據(jù)服務(wù)器應(yīng)用領(lǐng)域,打入汽車電子、工業(yè)電子等各種產(chǎn)業(yè),然而在這些領(lǐng)域當(dāng)中,IEC 61508、ISO 26262等標(biāo)準(zhǔn)所規(guī)范的功能性安全需求,為微控制器軟件開發(fā)社群帶來了新的壓力。

          整體而言,系統(tǒng)對智能功能的需求增加,帶動了為市場所廣泛采用,但這也要求業(yè)者必須具備整合能力與彈性以降低成本,提供更多功能,并隨時(shí)更新系統(tǒng)。與此同時(shí),許多采用硬編碼邏輯來提供各種功能的設(shè)計(jì),現(xiàn)在都逐漸整合到由軟件所控制的32位微控制器,從而又產(chǎn)生出新的問題。

          設(shè)計(jì)重心逐漸移轉(zhuǎn)至微控制器與程序編碼功能,也同時(shí)將安全問題推向軟件領(lǐng)域,讓安全應(yīng)用程序符合IEC 61508標(biāo)準(zhǔn)的責(zé)任,也因此落在軟件開發(fā)人員的肩上。這套標(biāo)準(zhǔn)原本規(guī)范的是電氣與/或電子系統(tǒng)的功能安全性,現(xiàn)在則同時(shí)涵蓋安全系統(tǒng)的電子組件。

          IEC 61508及相關(guān)產(chǎn)業(yè)專用標(biāo)準(zhǔn),能協(xié)助安全相關(guān)的電氣、電子與可編程系統(tǒng)符合最新要求。

          功能性安全能讓安全相關(guān)系統(tǒng)針對輸入做出正確響應(yīng),進(jìn)而避免不必要的直接或間接風(fēng)險(xiǎn)以及損傷。

          由于IEC 61508標(biāo)準(zhǔn)用語模糊,因此衍生出各種產(chǎn)業(yè)專用的標(biāo)準(zhǔn),例如專供鐵路運(yùn)輸使用的EN50126/8/9、醫(yī)療器件專用的IEC 60601、核能專用的IEC 60880,還有陸上交通工具專用的ISO 26262。 ISO 26262適用于3,500公斤以下量產(chǎn)客用車的安全相關(guān)系統(tǒng),但不包括殘障專用等特殊用途車輛。

          一般汽車?yán)锏奈⒖刂破魍噙_(dá)150個,而隨著消費(fèi)者導(dǎo)向的導(dǎo)航系統(tǒng)被整合到駕駛輔助、運(yùn)動檢測系統(tǒng)、推進(jìn)、車載動態(tài)控制與主動/被動安全系統(tǒng)時(shí),汽車逐漸成為運(yùn)算裝置涉足安全系統(tǒng)的一個研究案例。

          安全系統(tǒng)開發(fā)人員所面臨的壓力與日俱增,汽車也成為典型案例。相較于過去動輒長達(dá)3到10年的產(chǎn)品生命周期,現(xiàn)在還得配合消費(fèi)類裝置(12到18個月)的設(shè)計(jì)周期。

          汽車?yán)锏?50個微控制器都仰賴軟件程序運(yùn)轉(zhuǎn),有時(shí)甚至像這樣的基本組件也會造成系統(tǒng)故障,只因注入了不容易發(fā)現(xiàn)的錯誤,并在功能測試階段有可能無法檢測。

          這會對系統(tǒng)持續(xù)造成風(fēng)險(xiǎn),但只要符合IEC 61508標(biāo)準(zhǔn),再加上ISO 26262,就能將風(fēng)險(xiǎn)降至可以容忍的程度。舉例來說,IEC 61508最佳實(shí)務(wù)準(zhǔn)則建議一開始就要使用可以信賴的工具。

          一般普遍認(rèn)為編譯器是T3分類的離線支持工具,表示編譯器會直接或間接影響安全系統(tǒng)的可執(zhí)行代碼,因此選擇編譯器“是有其正當(dāng)性的”。

          我們可以藉由通過驗(yàn)證且正在使用的實(shí)證,來展現(xiàn)工具的成熟度與穩(wěn)定性,再加上來自業(yè)界專家的第三方評估以及廠商擔(dān)保,藉此證明選擇的正當(dāng)性。

          最佳實(shí)務(wù)準(zhǔn)則還能加以延伸,用來驗(yàn)證輸出以及語言子集的使用,像是MISRA C/C++。測試目標(biāo)所使用的軟件自然重要,但要如何得知已經(jīng)測試了每種可能發(fā)生的狀況?畢竟沒有執(zhí)行的程序代碼就無法測試。這時(shí)就要利用代碼覆蓋率分析,來辨識尚未執(zhí)行的程序代碼,進(jìn)而確保整個應(yīng)用程序均已測試完畢。分析代碼覆蓋率可利用源代碼插裝或跟蹤數(shù)據(jù),因?yàn)榇鞲櫟挠绊懗潭茸钚 ?/p>

          至于語言子集,在許多案例當(dāng)中,高階程序設(shè)計(jì)語言的定義不完整或模糊不清,造成不同編譯器的行為也有所不同。

          “嚴(yán)格模式”,還有MISRA C/C++之類的語言子集,就是為了消除這些模棱兩可的狀況所設(shè)計(jì),同時(shí)還能:確保使用的語言與標(biāo)準(zhǔn)語言一致;替未定義的行為設(shè)定規(guī)則;移除免工具使用選項(xiàng);強(qiáng)制統(tǒng)一編碼式樣(例如:/*...*/ versus //);改善可讀性;并縮小整體所需測試范圍。

          ISO 26262比IEC 61508更進(jìn)一步,提供的架構(gòu)更講究細(xì)節(jié),在這樣的架構(gòu)下可考慮采用以其它技術(shù)為基礎(chǔ)所開發(fā)的安全系統(tǒng)。涵蓋范圍從產(chǎn)品周期管理到供貨商關(guān)系,但對于軟件開發(fā)人員來說,它提供了一種專為汽車設(shè)計(jì)、以風(fēng)險(xiǎn)為基礎(chǔ)的方法來評判完整性,而這套方法就稱為汽車安全完整性等級。

          使用ASILs明確定義ISO 26262的適用要求,以避免不合理的剩余風(fēng)險(xiǎn),同時(shí)提供驗(yàn)證需求與確認(rèn)措施,以確保達(dá)到足夠且可接受的安全程度。

          建議:遵守默認(rèn)標(biāo)準(zhǔn)

          好消息是,在ISO 26262公布后才開始的設(shè)計(jì),并不一定要遵循其設(shè)計(jì)指南,才能成就“最先進(jìn)”的設(shè)計(jì)準(zhǔn)則并取得法律保護(hù)。不過聰明的業(yè)者會強(qiáng)制遵循其廣泛的標(biāo)準(zhǔn),因?yàn)閭鹘y(tǒng)上說這確實(shí)是一種好的做法也能確保一致性,同時(shí)還能降低成本,因?yàn)槟壳安话ㄔ跇?biāo)準(zhǔn)里的要求,很可能明天就會被列入,所以最好從一開始就加以制度化。

          但要同時(shí)符合IEC 61508與ISO 26262,每個步驟都必須準(zhǔn)備說明文件,從離線工具使用的合理性,一直到工具行為、手冊、危險(xiǎn)分析、編譯器缺失報(bào)告、歷史版本、測試報(bào)告,還有實(shí)際及預(yù)期結(jié)果的差異報(bào)告,都只是其中少數(shù)幾個項(xiàng)目。

          這樣的說明文件需要投入極大心力,花費(fèi)時(shí)間且成本昂貴,這時(shí)軟件系列工具供貨商就能派上用場。他們是工具的專家。舉例來說,他們熟知編譯器如何運(yùn)作、如何利用安全應(yīng)用程序,也了解如何利用它來取得既定輸出并利于安全相關(guān)開發(fā)。

          ARM Compiler系列軟件工具就是一個很好的使用案例,它最近取得了德國安全技術(shù)檢驗(yàn)機(jī)構(gòu)TüV SüD的認(rèn)證。取得該認(rèn)證后客戶便能將ARM Compiler建立工具應(yīng)用在安全相關(guān)開發(fā),最高可達(dá)安全完整性等級第三級(SIL3, IEC 61508)以及汽車SILD(ASILD, ISO 26262),而無須進(jìn)行其他合格驗(yàn)證。還有ARM Compiler 規(guī)范套件可擴(kuò)充TüV SüD驗(yàn)證功能,其中包括安全手冊、缺失報(bào)告、測試報(bào)告與開發(fā)程序報(bào)告做為支持?jǐn)?shù)據(jù)。

          對于生產(chǎn)汽車應(yīng)用程序可編程系統(tǒng)的業(yè)者來說,要符合IEC 61508與ISO 26262軟件功能安全要求,就必須提供大量說明文件與報(bào)告。

          這樣的第三方認(rèn)證與支持廠商保證,能即時(shí)節(jié)省人員工時(shí)、投入心力與相關(guān)成本,同時(shí)還能讓產(chǎn)品或設(shè)計(jì)更快上市,甚至可以保證應(yīng)用程序設(shè)計(jì)還會繼續(xù)被市場所采用,因?yàn)樵诳焖僭O(shè)計(jì)周期的時(shí)代,時(shí)間就是一切。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();