www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 廠商動態(tài) > IAR Systems
[導(dǎo)讀]目前,越來越多的汽車、工業(yè)和其他應(yīng)用都在強調(diào)功能安全性(functional safety),其開發(fā)過程也需要先進(jìn)和完善的工具鏈支持,以及一些重要的開發(fā)工具使用經(jīng)驗。作為功能安全性產(chǎn)品的研發(fā)工程師,一定聽說過類似MISRA C的靜態(tài)代碼檢查,以及其他一些代碼標(biāo)準(zhǔn)和自動化檢查工具。但是,在日常的開發(fā)流程中,僅僅知道這些標(biāo)準(zhǔn)并不代表著能夠高效地讓代碼符合代碼標(biāo)準(zhǔn)。

目前,越來越多的汽車、工業(yè)和其他應(yīng)用都在強調(diào)功能安全性(functional safety),其開發(fā)過程也需要先進(jìn)和完善的工具鏈支持,以及一些重要的開發(fā)工具使用經(jīng)驗。作為功能安全性產(chǎn)品的研發(fā)工程師,一定聽說過類似MISRA C的靜態(tài)代碼檢查,以及其他一些代碼標(biāo)準(zhǔn)和自動化檢查工具。但是,在日常的開發(fā)流程中,僅僅知道這些標(biāo)準(zhǔn)并不代表著能夠高效地讓代碼符合代碼標(biāo)準(zhǔn)。

本文將從代碼標(biāo)準(zhǔn)本身、以及配套的檢查工具如何使用及流程兩方面,通過以業(yè)界常見的IAR開發(fā)工具鏈為例來提供一些思路,解釋為什么在開發(fā)需要安全認(rèn)證的產(chǎn)品時,推薦使用其自帶的代碼分析工具。在實際應(yīng)用中,針對Renesas RX和Arm系列內(nèi)核,C-STAT 靜態(tài)代碼分析和 C-RUN 運行時分析組件往往都作為插件,被添加到IAR Embedded Workbench開發(fā)環(huán)境中。

功能安全標(biāo)準(zhǔn)與代碼分析

在 IEC 61508 2.0 版的第 3 部分中,對安全類系統(tǒng)的軟件作出了規(guī)定,要求必須采用可靠良好的開發(fā)流程。例如,第 7 部分“技術(shù)和措施概述”的第 C.4.2 節(jié)中指出要使用編程語言子集:

目的:降低引入編程錯誤的概率,并增加發(fā)現(xiàn)殘余錯誤的概率。

描述:對編程語言進(jìn)行檢查,比如使用靜態(tài)分析法來確定容易出錯或難以分析的編程結(jié)構(gòu)。然后定義編程語言子集來排除此類編程結(jié)構(gòu)。

第 C.4.2 節(jié)還指出,如果軟件的安全完整性等級 (SIL) 高于 1,則不建議在未設(shè)定此類限制的情況下使用 C 語言進(jìn)行編程。換言之,如果您想使用C/C++ 軟件開發(fā) SIL 2-4 認(rèn)證系統(tǒng),則基本上都需要使用靜態(tài)分析工具。

類似地,對于運行時分析,第 7 部分“技術(shù)和措施概述”的第 B.6.5 節(jié)“動態(tài)分析和測試”指出:

目的:通過對即將完成的原型進(jìn)行動態(tài)行為檢查,檢測是否存在規(guī)范失效問題。

描述:對安全類系統(tǒng)進(jìn)行動態(tài)分析的方法是,在安全類系統(tǒng)的基本可運行原型上,運行目標(biāo)環(huán)境中的典型輸入數(shù)據(jù)。如果經(jīng)觀察,安全類系統(tǒng)的行為符合所要求的行為,則表明系統(tǒng)通過了分析檢查。如果安全類系統(tǒng)出現(xiàn)任何失效問題,則必須予以糾正,然后重新分析新的可運行版本。

下面我們來看看 C-RUN 是如何滿足此類分析需求的:

C-RUN 是集成在編譯器和 C-SPY 調(diào)試器中的工具。借助此工具,可在運行時觀察可執(zhí)行代碼,并報告代碼在運行時出現(xiàn)的異常行為。C-RUN 會執(zhí)行算術(shù)檢查、邊界檢查和堆檢查,并且可在 IAR Embedded Workbench 的工程設(shè)置中輕松進(jìn)行配置:

運行時分析工具的一般特點是誤報率低,C-RUN 也不例外。換言之,C-RUN 報告的錯誤很可能是真的錯誤,因為執(zhí)行和分析的均為真實代碼,并且是在真實的目標(biāo)系統(tǒng)上進(jìn)行的。C-RUN 可查看有關(guān)應(yīng)用程序狀態(tài)的所有信息,并會報告實際發(fā)生的錯誤。盡管如此,在執(zhí)行過程中,您可設(shè)置適當(dāng)?shù)?C-SPY 消息規(guī)則,讓檢測到的錯誤通過檢查,如下圖所示。

不過,運行時分析也有一些不足。首先,使用這種方法時,通常要到軟件開發(fā)流程的后期才能發(fā)現(xiàn)問題,因為運行時分析工具需要使用代碼的可執(zhí)行文件。此外,運行時分析僅對實際運行的應(yīng)用程序部分進(jìn)行檢查。如果無法觸發(fā)所有條件使得應(yīng)用程序的全部代碼都得到分析,則最終將有部分代碼處于未經(jīng)測試的狀態(tài)。盡管如此,C-RUN 仍可提供非常有價值的反饋,并且由于其與 IAR Embedded Workbench 深度集成,所以非常易用。

接下來說說 C-STAT,這是一種靜態(tài)分析工具,可通過執(zhí)行一項或多項規(guī)則檢查來發(fā)現(xiàn)是否存在偏離編碼規(guī)則的問題。C-STAT 檢查代碼是否符合 MISRA C:2012、MISRA C++:2008 和 MISRA C:2004 規(guī)定的規(guī)則,以及對應(yīng) CWE 和 CERT C/C++ 所涵蓋的各種問題的檢查。跟 C-RUN 一樣,在 IAR Embedded Workbench 的工程設(shè)置中也可輕松地對 C-STAT 進(jìn)行配置。

與 C-RUN 不同的是,C-STAT 無需實際運行應(yīng)用程序,即可檢查代碼是否存在缺陷。它能在不依賴程序的執(zhí)行路徑及所使用的數(shù)據(jù)集的情況下找到錯誤。C-STAT 可在軟件開發(fā)流程的早期發(fā)現(xiàn)錯誤和缺陷,實際上從開發(fā)的第 1 天就可以使用,而且不會影響系統(tǒng)性能。

雖然市面上有幾款獨立的靜態(tài)分析工具可供 C/C++ 開發(fā)人員使用,但 C-STAT 的一大優(yōu)勢在于可直接投入使用,無需進(jìn)行繁瑣的配置。而且,它能理解和分析專為高效嵌入式編程設(shè)計的各種 IARSystems特定的C/C++ 語言結(jié)構(gòu)。將 C-STAT 集成到日常開發(fā)中,就可以輕松地檢查代碼是否符合大部分重要編碼規(guī)則。這樣就能為后期的測試和調(diào)試省下更多的時間和資源。

C-STAT 可集成到 IAR Embedded Workbench IDE 中,與常規(guī)的構(gòu)建工具一樣簡單易用:

對于檢測到的每個錯誤,在線幫助系統(tǒng)中都會有相應(yīng)的描述,按下 F1,就可看到對應(yīng)的規(guī)則說明和相應(yīng)的示例代碼來說明如何滿足該規(guī)則:

可生成 HTML 格式的報告,用以記錄測試結(jié)果:

結(jié)語

回到本文第一部分談到的功能安全標(biāo)準(zhǔn),來看看上述工具如何幫助您的軟件達(dá)到規(guī)定標(biāo)準(zhǔn)。

第 7 部分“技術(shù)和措施概述”的第 C.4.2 節(jié)中指出要使用編程語言子集:對編程語言進(jìn)行檢查,比如使用靜態(tài)分析法來確定容易出錯或難以分析的編程結(jié)構(gòu)。然后定義編程語言子集來排除此類編程結(jié)構(gòu)。

對此,C-STAT 能夠派上用場,可檢查代碼是否符合 MISRA 規(guī)定的規(guī)則。如前所述,如果想使用 C/C++ 軟件開發(fā) SIL 2-4 認(rèn)證系統(tǒng),則確實需要使用靜態(tài)分析工具。

再來看第 B.6.5 節(jié)“動態(tài)分析和測試”:對安全類系統(tǒng)進(jìn)行動態(tài)分析的方法是,在安全類系統(tǒng)的基本可運行原型上,運行目標(biāo)環(huán)境中的典型輸入數(shù)據(jù)。如果經(jīng)觀察,安全類系統(tǒng)的行為符合所要求的行為,則表明系統(tǒng)通過了分析檢查。如果安全類系統(tǒng)出現(xiàn)任何失效問題,則必須予以糾正,然后重新分析新的可運行版本。

用于運行時分析的 C-RUN 雖然無法全面檢查整個安全類系統(tǒng)中的所有動態(tài)行為,但它仍是一個非常好用的工具,至少能在安全類系統(tǒng)的軟件部分中找到真實存在的和潛在的錯誤。需要記住的是,必須將安全概念與系統(tǒng)的危險失效率關(guān)聯(lián)起來,而不僅僅是組件(如軟件)的失效率。

用于運行時分析的 C-RUN 和用于靜態(tài)分析的 C-STAT 是兩類不同的代碼質(zhì)量分析工具,在安全類軟件的開發(fā)中都非常有用,二者不形成競爭關(guān)系,而是構(gòu)成優(yōu)勢互補。因此,IAR的C-RUN 和 C-STAT工具 能為開發(fā)人員帶來互補的代碼檢查能力,自然而然地集成到日常的開發(fā)流程中。在IAR的評估版工具中自帶C-RUN和C-STAT插件,歡迎工程師朋友們試用。


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟(jì)和信息化局發(fā)布2022年度第一批北京市市級企業(yè)技術(shù)中心創(chuàng)建名單的通知,諾誠健華正式獲得"北京市企業(yè)技術(shù)中心"認(rèn)定。 北京市企業(yè)技...

關(guān)鍵字: BSP ARMA COM 代碼

實際上函數(shù)指針本質(zhì)也是一個指針,只不過這個指針指向的不是內(nèi)存中的一段數(shù)據(jù)而是內(nèi)存中的一段代碼

關(guān)鍵字: 指針 數(shù)據(jù) 代碼

蘇州2022年10月17日 /美通社/ -- 開拓藥業(yè)(股票代碼:9939.HK),一家專注于潛在同類首創(chuàng)和同類最佳創(chuàng)新藥物研發(fā)及產(chǎn)業(yè)化的生物制藥公司,宣布其自主研發(fā)、潛在同類首創(chuàng)的福瑞他恩(KX-826)治療痤瘡的中國...

關(guān)鍵字: ST FDA 代碼 ADI

在智能汽車時代,保障智能汽車數(shù)據(jù)安全已成為一項新的重要課題。

關(guān)鍵字: 豐田 代碼 信息安全

南京2022年9月16日 /美通社/ -- 說到"世界清潔地球日",恐怕很多人都一頭霧水。作為全球最重要的環(huán)境保護(hù)活動之一,該節(jié)日"致力于通過影響人類行為模式的改變以應(yīng)對世界上的垃圾問題&q...

關(guān)鍵字: 電熱水器 BSP 溫度 代碼

芝加哥2022年9月17日 /美通社/ -- 采用尖端微應(yīng)答器技術(shù)徹底改變實物產(chǎn)品與材料跟蹤的公司P-Chip Corporation,今日推出最新突破性p-Chip Code?安全跟蹤標(biāo)簽。p-Chip代碼跟蹤器將基于...

關(guān)鍵字: CHIP 代碼 應(yīng)答器 矩陣

東京2022年9月6日 /美通社/ -- 電通集團(tuán)(Dentsu Group Inc.,東京證券交易所股票代碼:4324;國際證券識別代碼:JP3551520004);(總裁兼首席執(zhí)行官:Hiroshi Igarashi...

關(guān)鍵字: OS 代碼 BSP GROUP

(全球TMT2022年8月25日訊)8月22-24日,2022中國國際智能產(chǎn)業(yè)博覽會在重慶開幕。藍(lán)卓受邀參加本次盛會,展示新一代工業(yè)操作系統(tǒng)supOS4.0的新能力。 本次智博會,藍(lán)卓重點展示supOS4...

關(guān)鍵字: POS 操作系統(tǒng) APP 代碼

最新發(fā)布的2022年《中國新富人群財富健康指數(shù)》表明: 金融素養(yǎng)與投資風(fēng)險意識呈正相關(guān),投資者教育勢在必行 新富家庭財務(wù)需求多樣,共同協(xié)商可助家庭克服理財盲點 新富人群期待投顧服務(wù)為財富管理保駕護(hù)航...

關(guān)鍵字: BSP ADVANCED INA 代碼

浙江湖州2022年8月24日 /美通社/ -- 近日,森赫電梯與建業(yè)集團(tuán)達(dá)成戰(zhàn)略合作,成為其電梯設(shè)備設(shè)計、供應(yīng)及安裝維保服務(wù)集采供應(yīng)商。森赫電梯與建業(yè)集團(tuán)成功攜手,未來,雙方將繼續(xù)展開多元化的深入合作。...

關(guān)鍵字: 電梯 BSP 代碼 數(shù)字化

IAR

90 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉