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

          新聞中心

          EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 高可靠性飛行代碼的自動(dòng)化驗(yàn)證技術(shù)

          高可靠性飛行代碼的自動(dòng)化驗(yàn)證技術(shù)

          作者: 時(shí)間:2012-12-10 來(lái)源:網(wǎng)絡(luò) 收藏

          從仿真模型自動(dòng)生成是基于模型設(shè)計(jì)中的關(guān)鍵開發(fā)環(huán)節(jié),可實(shí)質(zhì)性地減少開發(fā)團(tuán)隊(duì)手寫所花費(fèi)的時(shí)間和工作量。要想成功開發(fā)高性能的嵌入式系統(tǒng),就必須生成非常高效的。代碼效率目標(biāo)包括內(nèi)存使用的最小化和執(zhí)行速度的最大化。要想成功部署軍用和國(guó)防系統(tǒng),還需要嚴(yán)格的代碼驗(yàn)證能力。代碼驗(yàn)證目標(biāo)包括需求符合性和標(biāo)準(zhǔn)符合性。

          本文介紹如何使用2011b版MATLAB和Simulink產(chǎn)品系列(包括用于代碼生成的Embedded Coder)測(cè)量代碼效率和進(jìn)行代碼驗(yàn)證。所討論的開發(fā)和驗(yàn)證活動(dòng)用于滿足DO-178B和DO-178C要求,同時(shí)也用于滿足與DO-178C更新一同發(fā)布的基于模型的開發(fā)和驗(yàn)證的補(bǔ)充說(shuō)明。本文并非介紹產(chǎn)品系列中的每個(gè)工具或DO-178標(biāo)準(zhǔn)的所有條款;恰恰相反,本文關(guān)注的重點(diǎn)是新技術(shù)。

          Qualification Kit可用于本文介紹的驗(yàn)證工具。

          源代碼評(píng)估

          1. 代碼效率

          代碼效率指標(biāo)分為兩個(gè)廣泛的類別。第一個(gè)測(cè)量RAM、ROM的內(nèi)存使用率和堆棧大??;第二個(gè)測(cè)量執(zhí)行周期計(jì)數(shù)或速度。Embedded Coder在生成代碼后生成代碼指標(biāo)報(bào)告,從而幫助軟件工程師分析和優(yōu)化所生成代碼的內(nèi)存占用率。此報(bào)告可根據(jù)源代碼的靜態(tài)分析和對(duì)目標(biāo)硬件特性的了解(如整型字長(zhǎng))顯示各行代碼、全局RAM和堆棧大小。分析是靜態(tài)的,因?yàn)樗⒉豢紤]交叉編譯和代碼執(zhí)行。這樣,工程師可以快速的根據(jù)源代碼優(yōu)化內(nèi)存使用率,例如,通過(guò)嘗試不同的數(shù)據(jù)類型或修改模型中的邏輯。但是,接下來(lái)的分析和優(yōu)化階段將需要完整的嵌入式工具鏈來(lái)進(jìn)行板上內(nèi)存利用和執(zhí)行時(shí)間評(píng)估,如下文中的可執(zhí)行目標(biāo)代碼評(píng)估中所述(圖1)。

          圖 1:靜態(tài)代碼指標(biāo)報(bào)告.JPG

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


          圖 1:靜態(tài)代碼指標(biāo)報(bào)告 。

          2. 代碼驗(yàn)證

          源代碼驗(yàn)證很大程度上依賴于代碼審查和需求可追溯性分析。MathWorks的新產(chǎn)品Simulink Code Inspector可對(duì)生成的源代碼自動(dòng)執(zhí)行結(jié)構(gòu)化分析并評(píng)估代碼是否符合詳細(xì)設(shè)計(jì)(low-level

          requirements)模型。該檢查可檢測(cè)每一行代碼在模型中是否都具有相應(yīng)的元素或模塊。同樣,它還可以檢測(cè)模型中的元素以確定它們?cè)诮Y(jié)構(gòu)上是否相當(dāng)于生成代碼中的操作、運(yùn)算符和數(shù)據(jù)。然后,它會(huì)生成詳細(xì)的模型到代碼和代碼到模型的可追溯性分析報(bào)告(圖2)。

          圖 2:Simulink Code Inspector 報(bào)告.JPG


          圖 2:Simulink Code Inspector 報(bào)告。

          其他源代碼驗(yàn)證活動(dòng)包括確保符合行業(yè)代碼標(biāo)準(zhǔn)(如MISRA AC AGC:有關(guān)在自動(dòng)代碼生成過(guò)程中應(yīng)用MISRA-C:2004的指南)。借助R2011a版,Embedded Coder允許開發(fā)人員基于MISRA-C標(biāo)準(zhǔn)影響代碼生成器的輸出。這樣MISRA-C分析工具就可以應(yīng)用于代碼檢查。例如,Polyspace代碼驗(yàn)證產(chǎn)品可分析MISRA AC AGC和MISRA-C:2004代碼。Polyspace還可檢測(cè)代碼是否具有除零和數(shù)組超出邊界條件等運(yùn)行時(shí)錯(cuò)誤。Simulink Code Inspector結(jié)合Polyspace,可用于處理DO-178表A5中的所有涉及源代碼分析的代碼驗(yàn)證目標(biāo)。最差情形執(zhí)行時(shí)間等目標(biāo)將需要使用可執(zhí)行目標(biāo)代碼以及如下所述的其它技術(shù)和工具(圖3)。

          圖 3:MISRA_C:2004 代碼生成目標(biāo)規(guī)格.JPG


          圖 3:MISRA-C:2004 代碼生成目標(biāo)規(guī)格。

          可執(zhí)行目標(biāo)代碼評(píng)估

          1. 代碼效率

          Simulink通過(guò)使用軟件在回路(SIL)和處理器在回路(PIL)測(cè)試進(jìn)行評(píng)估分析來(lái)支持可執(zhí)行目標(biāo)代碼驗(yàn)證。借助SIL測(cè)試,可對(duì)生成的代碼進(jìn)行編譯并在主機(jī)上運(yùn)行,以便使用Simulink作為測(cè)試裝置提供的測(cè)試數(shù)據(jù)進(jìn)行代碼執(zhí)行的快速評(píng)估。通過(guò)PIL測(cè)試,可將生成的代碼交叉編譯成可執(zhí)行目標(biāo)代碼(EOC),并且在真正的處理器或指令集模擬器上運(yùn)行,同樣使用Simulink作為在環(huán)測(cè)試裝置。

          對(duì)于任何使用可定制API和參考實(shí)現(xiàn)的嵌入式處理器的裸機(jī)或?qū)崟r(shí)操作系統(tǒng)執(zhí)行,Embedded Coder 都支持處理器在回路(PIL)測(cè)試。有這樣一個(gè)示例可供觀看和下載,這個(gè)示例中用到Green Hills MULTI IDE和用于Freescale MPC8620處理器的Integrity RTOS(圖4)。


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(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); })();