MISRA C是汽車工業(yè)軟件可靠性協(xié)會(MISRA)開發(fā)的一套針對C編程語言的軟件開發(fā)指南,目的是提升嵌入式系統(tǒng)的安全性和可移植性。2012發(fā)布的MISRA C第三版,稱為MISRA C:2012。MISRA C不能100%確保程序不出問題,但能有效預(yù)防編程帶來的問題,提升代碼的可靠性。
embOS是SEGGER提供的一款搶占式的RTOS,旨在成為開發(fā)嵌入式應(yīng)用程序的基礎(chǔ),可用于所有流行的內(nèi)核、編譯器和開發(fā)工具,符合MISRA-C:2012標(biāo)準(zhǔn)。
為了符合MISRA-C:2012標(biāo)準(zhǔn),
需要做些什么?
MISRA-C:2012的官方文檔,在關(guān)鍵系統(tǒng)中使用C語言的指南,解釋了為了達到MISRA-C:2012的要求需要做的工作。
MISRA-C:2012定義了一組C編程人員必須遵循的準(zhǔn)則。這些準(zhǔn)則分為兩類,指示(Directives)和規(guī)則(Rules)。此外,所有準(zhǔn)則分類為強制 (mandatory)、必需 (required)或建議(advisory)。強制準(zhǔn)則絕不能被違反。必需或建議類型的準(zhǔn)則,可以違反,但每一次違反規(guī)定的行為都必須在專門的MISRA文件中進行記錄和解釋。
大多數(shù)準(zhǔn)則都可以用靜態(tài)分析工具進行測試,其他準(zhǔn)則可以使用C編譯器或手動代碼審查來檢查。因此,靜態(tài)分析工具沒有報告問題,不意味著C源代碼完全符合MISRA-C:2012。專用的MISRA文檔是強制性的,MISRA-C:2012官方文件解釋了這種文件的結(jié)構(gòu)。
embOS代碼的哪部分符合MISRA標(biāo)準(zhǔn)?
一般來說,embOS由三部分組成:
1、通用源代碼,對于所有embOS移植都是一樣的。
2、內(nèi)核/編譯器特定的源代碼。
3、板級支持包文件。
embOS MISRA合規(guī)性僅涵蓋通用源代碼。如果需要內(nèi)核/編譯器特定的移植代碼符合MISRA規(guī)范,則向SEGGER申請。但通常不檢查板支持包文件是否符合MISRA規(guī)范。
使用的靜態(tài)分析工具?
embOS使用的分析工具為PC-lint v9。OS源代碼包含了一些MISRA指南的Lint抑制注釋,這些有助于分析哪些MISRA- C:2012指南被違反,需要在我們的MISRA文檔中解釋。必需的和建議型的準(zhǔn)則一樣,我們需記錄并解釋違反要求的準(zhǔn)則是正確的。
使用其它靜態(tài)分析工具報告的違規(guī)行為,
如何處理?
如果使用的靜態(tài)分析工具報告違反MISRA-C:2012,并不表明embOS不符合MISRA-C:2012。embOS僅僅沒有包含你所選擇的靜態(tài)分析工具的抑制注釋。有許多不同的分析工具可用,我們無法在embOS源代碼中為所有工具包含相應(yīng)的注釋。
處理這個問題的最簡單的方法是禁用項目中所有embOS文件的MISRA檢查,沒有必要檢查embOS文件的合規(guī)性,因為SEGGER已經(jīng)完成了該項工作。
如何獲得embOS MISRA-C:2012文件?
如果應(yīng)用中集成了embOS,并且你需要證明應(yīng)用符合MISRA-C:2012,則可以從SEGGER購買embOS MISRA-C:2012文件。
麥克泰公司代理SEGGER全線產(chǎn)品,具有豐富的RTOS、中間件、分析軟件與調(diào)試工具使用方面的知識和經(jīng)驗。
-
嵌入式系統(tǒng)
+關(guān)注
關(guān)注
41文章
3672瀏覽量
131134 -
編程語言
+關(guān)注
關(guān)注
10文章
1955瀏覽量
36398 -
代碼
+關(guān)注
關(guān)注
30文章
4894瀏覽量
70449
原文標(biāo)題:embOS的MISRA-C:2012一致性
文章出處:【微信號:麥克泰技術(shù),微信公眾號:麥克泰技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
c6678cache一致性
MIPI一致性測試
什么是霍爾元件的一致性
順序一致性和TSO一致性分別是什么?SC和TSO到底哪個好?
一致性規(guī)劃研究
CMP中Cache一致性協(xié)議的驗證
RFID協(xié)議一致性測試系統(tǒng)設(shè)計(三)

軟件編程規(guī)范(MISRA-C)
加速器一致性接口
Cache一致性協(xié)議優(yōu)化研究

優(yōu)化模型的乘性偏好關(guān)系一致性改進
DDR一致性測試的操作步驟
深入理解數(shù)據(jù)備份的關(guān)鍵原則:應(yīng)用一致性與崩潰一致性的區(qū)別

評論