色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

分享配置Polyspace分析C代碼的方法和簡(jiǎn)介

MATLAB ? 來(lái)源:djl ? 作者:龔小平 ? 2019-09-16 16:28 ? 次閱讀

Polyspace可以分析C、C++以及Ada代碼,本文以嵌入式系統(tǒng)中最為常見(jiàn)的C代碼分析為例說(shuō)明Polyspace配置一個(gè)工程的過(guò)程和注意事項(xiàng)。

1. 配置語(yǔ)言和處理器類(lèi)型

C語(yǔ)言由于其靈活性,在不同的編譯器中有不同的約束和擴(kuò)展,會(huì)影響最終生成的目標(biāo)碼的行為。Polyspace分析C代碼時(shí)首先要最大程度和目標(biāo)編譯器的行為保持一致,這樣才能保持代碼分析的意義。因此在開(kāi)始創(chuàng)建Polyspace工程時(shí),我們需要配置編譯器和處理器類(lèi)型:

分享配置Polyspace分析C代碼的方法和簡(jiǎn)介

所選用的C語(yǔ)言標(biāo)準(zhǔn):C90/C99

所用編譯器類(lèi)型:Keil/Tasking/Diab/IAR…

(編譯器通常定義了標(biāo)準(zhǔn)C語(yǔ)言之外的擴(kuò)展,如關(guān)鍵字sfr、sbit等。選定編譯器類(lèi)型相當(dāng)于告知了Polyspace在遇到此類(lèi)非標(biāo)擴(kuò)展時(shí)如何解釋其行為。)

目標(biāo)處理器類(lèi)型:定義不同數(shù)據(jù)類(lèi)型的大小和字節(jié)順序類(lèi)型,如mpc5xx系列處理器定義如下:

分享配置Polyspace分析C代碼的方法和簡(jiǎn)介

(某些運(yùn)行時(shí)錯(cuò)誤檢查與此有關(guān),如同一變量在Int定義為16位時(shí)會(huì)發(fā)生溢出,而在Int定義為32位時(shí)不會(huì)發(fā)生溢出。)

其他編譯器行為設(shè)定:如負(fù)除取整方向、有符號(hào)數(shù)右移邏輯、枚舉類(lèi)型定義方式等。

2.選擇驗(yàn)證分析模式

Polyspace有兩種基本的驗(yàn)證分析模式:應(yīng)用級(jí)分析和模塊級(jí)分析,可以分別對(duì)應(yīng)于集成測(cè)試和單元測(cè)試。

所謂應(yīng)用級(jí)分析指用戶待分析的源代碼中包含了 main函數(shù),選擇應(yīng)用級(jí)分析即分析進(jìn)程從用戶main函數(shù)入口,為了更好地模擬實(shí)際程序運(yùn)行和調(diào)度情形,有時(shí)需要進(jìn)行多任務(wù)(Multitasking)設(shè)置,有機(jī)會(huì)在以后再進(jìn)一步介紹。

模塊級(jí)分析通常待分析代碼不包含main函數(shù),Polyspace會(huì)自動(dòng)打樁生成main函數(shù)并建立待分析函數(shù)的調(diào)用關(guān)系進(jìn)行分析,并可進(jìn)一步根據(jù)需要細(xì)化配置。如對(duì)于以下被調(diào)函數(shù)Function_sub和主調(diào)函數(shù)Function_top,可以設(shè)置為以下兩種分析入口形式:

Function_sub(){ ……};

Function_top(){……

Function_sub();

……};

自動(dòng)生成的main函數(shù)中只調(diào)用Function_top:在分析Function_top的進(jìn)程中分析Function_sub,即Function_sub在Function_top的上下文中被分析。

自動(dòng)生成的main函數(shù)中同時(shí)調(diào)用Function_top和Function_sub:Function_sub除了在Function_top的上下文中被分析,也會(huì)在直接在main函數(shù)上下文中被分析。對(duì)應(yīng)的可能場(chǎng)景是Function_sub會(huì)被其他函數(shù)調(diào)用,需要更為魯棒地分析其安全性。

分享配置Polyspace分析C代碼的方法和簡(jiǎn)介

— 總結(jié) —

Polyspace的配置是一個(gè)既簡(jiǎn)單又靈活的過(guò)程,通過(guò)對(duì)編譯器行為的模擬和分析模型的選擇,我們可以得到更為有意義和更符合需要的結(jié)果。

往期 | 代碼分析驗(yàn)證

Polyspace應(yīng)用到軟件開(kāi)發(fā)和驗(yàn)證流程

淺談Polyspace的靜態(tài)分析

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19275

    瀏覽量

    229744
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1634

    瀏覽量

    49119
  • C代碼
    +關(guān)注

    關(guān)注

    1

    文章

    89

    瀏覽量

    14300
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    三星貼片電容識(shí)別容值代碼方法

    三星貼片電容的容值代碼識(shí)別方法主要基于其型號(hào)編碼中的特定部分。以下是一個(gè)詳細(xì)的識(shí)別步驟和說(shuō)明: ? ?一、識(shí)別容值代碼的基本步驟 ? ?查看型號(hào)編碼: ? ?三星貼片電容的型號(hào)編碼通常包含多個(gè)部分
    的頭像 發(fā)表于 12-13 16:17 ?145次閱讀
    三星貼片電容識(shí)別容值<b class='flag-5'>代碼</b><b class='flag-5'>方法</b>

    閃電定位儀的日常維護(hù)方法簡(jiǎn)介

    閃電定位儀的日常維護(hù)方法簡(jiǎn)介
    發(fā)表于 11-13 16:32 ?0次下載

    AIC3254的miniDSP編寫(xiě)代碼和編寫(xiě)C5502代碼有什么區(qū)別?

    問(wèn)題:AIC3254的miniDSP編寫(xiě)代碼和編寫(xiě)C5502代碼有什么區(qū)別,執(zhí)行速度和代碼量來(lái)進(jìn)行分析吧,謝謝回復(fù)
    發(fā)表于 11-06 07:22

    一種簡(jiǎn)單高效配置FPGA的方法

    本文描述了一種簡(jiǎn)單高效配置FPGA的方法,該方法利用微處理器從串行外圍接口(SPI)閃存配置FPGA設(shè)備。這種方法減少了硬件組件、板空間和成
    的頭像 發(fā)表于 10-24 14:57 ?579次閱讀
    一種簡(jiǎn)單高效<b class='flag-5'>配置</b>FPGA的<b class='flag-5'>方法</b>

    Linux環(huán)境變量配置方法

    Linux上環(huán)境變量配置分為設(shè)置永久變量和臨時(shí)變量?jī)煞N。環(huán)境變量設(shè)置方法同時(shí)要考慮環(huán)境Shell類(lèi)型,不同類(lèi)型的SHELL設(shè)置臨時(shí)變量方法和設(shè)置永久變量對(duì)應(yīng)的配置文件不同。Linux環(huán)
    的頭像 發(fā)表于 10-23 13:39 ?162次閱讀

    hex文件如何查看原c語(yǔ)言代碼

    是處理器可以直接執(zhí)行的指令,而 C 語(yǔ)言代碼則是人類(lèi)可讀的高級(jí)編程語(yǔ)言代碼。 然而,如果你想要從 .hex 文件中獲取一些有用的信息或者對(duì)程序進(jìn)行分析,你可以考慮以下幾種
    的頭像 發(fā)表于 09-02 10:37 ?2209次閱讀

    如何使用Polyspace Code Prover來(lái)統(tǒng)計(jì)堆棧

    前一篇文章介紹了堆棧和內(nèi)存的一些背景知識(shí)。本次介紹如何使用 Polyspace Code Prover來(lái)統(tǒng)計(jì)堆棧,如何使用這些數(shù)據(jù)為軟件優(yōu)化服務(wù)。
    的頭像 發(fā)表于 07-25 14:06 ?521次閱讀
    如何使用<b class='flag-5'>Polyspace</b> Code Prover來(lái)統(tǒng)計(jì)堆棧

    歐姆龍EtherCAT配置方法

    歐姆龍EtherCAT配置方法
    的頭像 發(fā)表于 06-13 16:03 ?1028次閱讀
    歐姆龍EtherCAT<b class='flag-5'>配置</b><b class='flag-5'>方法</b>

    TSMaster VLAN配置方法

    ,以太網(wǎng)目錄Catalog1.VLAN的配置方法2.TCP/IP通訊帶VLAN測(cè)試1.TSMaster配置VLANVLAN配置流程如下:1)VLAN
    的頭像 發(fā)表于 05-18 08:21 ?481次閱讀
    TSMaster VLAN<b class='flag-5'>配置</b><b class='flag-5'>方法</b>

    手柄控制代碼及使用方法

    手柄控制代碼及使用方法
    的頭像 發(fā)表于 05-15 10:19 ?1798次閱讀

    訊飛星火API接入機(jī)體設(shè)備的方法代碼

    訊飛星火API接入機(jī)體設(shè)備的方法代碼
    的頭像 發(fā)表于 05-15 09:56 ?940次閱讀

    雅特力AT32F423時(shí)鐘配置

    介紹如何結(jié)合雅特力提供的V2.x.x的板級(jí)支持包(BSP)來(lái)配置時(shí)鐘。以下介紹時(shí)鐘配置方法主要分兩種:1、以手動(dòng)編寫(xiě)代碼調(diào)用BSP中提供的驅(qū)動(dòng)函數(shù)接口來(lái)進(jìn)行時(shí)鐘配
    的頭像 發(fā)表于 02-19 13:26 ?593次閱讀
    雅特力AT32F423時(shí)鐘<b class='flag-5'>配置</b>

    GD32固件庫(kù)里時(shí)鐘配置時(shí)的神秘代碼?高頻切低頻時(shí)芯片會(huì)發(fā)生什么

    在GD固件庫(kù)的時(shí)鐘配置函數(shù)里看到這樣一段神秘代碼,研究分析后不得不佩服原廠固件庫(kù)里的細(xì)節(jié)處理
    的頭像 發(fā)表于 02-19 09:44 ?701次閱讀
    GD32固件庫(kù)里時(shí)鐘<b class='flag-5'>配置</b>時(shí)的神秘<b class='flag-5'>代碼</b>?高頻切低頻時(shí)芯片會(huì)發(fā)生什么

    BQ3588C_代碼下載

    BQ3588C_代碼下載
    的頭像 發(fā)表于 01-10 15:09 ?518次閱讀
    主站蜘蛛池模板: 甜性涩爱bt下载| 国产黄片毛片| 蜜柚视频网在线观看免费| 亚洲一区二区三区91| 国产精品夜夜春夜夜爽久久小 | 日本免费一区二区三区四区五六区| 中文字幕永久在线观看| 久久精品国产99欧美精品亚洲| 亚洲乱码高清午夜理论电影| 国产主播福利一区二区| 午夜片无码区在线观看| 国产精品九九久久| 偷拍 拍自 欧美色区| 国产精品野外AV久久久| 息与子在线交尾中文字幕| 国产伦精品一区二区三区免费| 无人区乱码1区2区3区网站| 国产精品人妻午夜福利| 午夜视频在线网站| 国产免费毛片在线观看| 亚洲AV成人片色在线观看网站 | 国产乱辈通伦影片在线播放亚洲| 翁用力的抽插| 国产露脸A片国语露对白| 亚洲福利网站| 九九九精品国产在线| 一个人色导航| 就操成人网| 99精品免费观看| 漂亮的av女演员| 吃寂寞寡妇的奶| 无人区日本电影在线观看高清| 国产免费看黄的私人影院| 亚洲免费在线观看视频| 久见久热 这里只有精品| 中国国产不卡视频在线观看| 蜜桃久久久亚洲精品成人| bl肉yin荡受np各种play| 日本人xxxⅹ18hd19hd| 国产黄a三级三级三级| 亚洲激情一区|