国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

分享配置Polyspace分析C代碼的方法和簡介

MATLAB ? 來源:djl ? 作者:龔小平 ? 2019-09-16 16:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Polyspace可以分析C、C++以及Ada代碼,本文以嵌入式系統中最為常見的C代碼分析為例說明Polyspace配置一個工程的過程和注意事項。

1. 配置語言和處理器類型

C語言由于其靈活性,在不同的編譯器中有不同的約束和擴展,會影響最終生成的目標碼的行為。Polyspace分析C代碼時首先要最大程度和目標編譯器的行為保持一致,這樣才能保持代碼分析的意義。因此在開始創建Polyspace工程時,我們需要配置編譯器和處理器類型:

分享配置Polyspace分析C代碼的方法和簡介

所選用的C語言標準:C90/C99

所用編譯器類型:Keil/Tasking/Diab/IAR…

(編譯器通常定義了標準C語言之外的擴展,如關鍵字sfr、sbit等。選定編譯器類型相當于告知了Polyspace在遇到此類非標擴展時如何解釋其行為。)

目標處理器類型:定義不同數據類型的大小和字節順序類型,如mpc5xx系列處理器定義如下:

分享配置Polyspace分析C代碼的方法和簡介

(某些運行時錯誤檢查與此有關,如同一變量在Int定義為16位時會發生溢出,而在Int定義為32位時不會發生溢出。)

其他編譯器行為設定:如負除取整方向、有符號數右移邏輯、枚舉類型定義方式等。

2.選擇驗證分析模式

Polyspace有兩種基本的驗證分析模式:應用級分析和模塊級分析,可以分別對應于集成測試和單元測試。

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

模塊級分析通常待分析代碼不包含main函數,Polyspace會自動打樁生成main函數并建立待分析函數的調用關系進行分析,并可進一步根據需要細化配置。如對于以下被調函數Function_sub和主調函數Function_top,可以設置為以下兩種分析入口形式:

Function_sub(){ ……};

Function_top(){……

Function_sub();

……};

自動生成的main函數中只調用Function_top:在分析Function_top的進程中分析Function_sub,即Function_sub在Function_top的上下文中被分析。

自動生成的main函數中同時調用Function_top和Function_sub:Function_sub除了在Function_top的上下文中被分析,也會在直接在main函數上下文中被分析。對應的可能場景是Function_sub會被其他函數調用,需要更為魯棒地分析其安全性。

分享配置Polyspace分析C代碼的方法和簡介

— 總結 —

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

往期 | 代碼分析驗證

Polyspace應用到軟件開發和驗證流程

淺談Polyspace的靜態分析

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    20255

    瀏覽量

    252326
  • 編譯器
    +關注

    關注

    1

    文章

    1672

    瀏覽量

    51618
  • C代碼
    +關注

    關注

    1

    文章

    90

    瀏覽量

    15185
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    國民技術發布N32Cube芯片配置與初始化代碼生成工具

    1月30日,國民技術(NSING)正式發布N32Cube——芯片配置與初始化代碼生成工具,讓時鐘、引腳與外設的配置一目了然、輕松上手!
    的頭像 發表于 02-02 15:26 ?556次閱讀
    國民技術發布N32Cube芯片<b class='flag-5'>配置</b>與初始化<b class='flag-5'>代碼</b>生成工具

    微電網暫態穩定分析方法有哪些?

    復雜,傳統大電網的暫態穩定分析方法已難以完全適配。精準的暫態穩定分析是微電網規劃設計、保護配置、運行調度的核心前提,直接關乎電網的安全可靠運行。目前,微電網暫態穩定
    的頭像 發表于 01-27 13:56 ?975次閱讀
    微電網暫態穩定<b class='flag-5'>分析</b><b class='flag-5'>方法</b>有哪些?

    分析嵌入式軟件代碼的漏洞-代碼注入

    進行編譯 在大多數情況下,程序故意像執行代碼一樣執行數據是不尋常的,但將數據用于構造有意執行的對象卻很常見。 1、格式化字符串漏洞 大多數C程序員熟悉printf函數。大體上,這些格式字符串
    發表于 12-22 12:53

    維修總結:Keysight E8257D典型報錯代碼及維修方法

    Keysight E8257D典型報錯代碼及維修方法
    的頭像 發表于 12-15 17:00 ?468次閱讀
    維修總結:Keysight E8257D典型報錯<b class='flag-5'>代碼</b>及維修<b class='flag-5'>方法</b>

    宇樹人形機器人的配置,核心代碼,調試方法,二次開發接口

    宇樹人形機器人的配置,核心代碼,調試方法,二次開發接口
    的頭像 發表于 12-10 09:05 ?3522次閱讀

    是德頻譜分析儀N9030B PXA基于5G NR信號分析配置方法

    是德科技N9030B PXA頻譜分析儀作為高性能射頻測試工具,在5G NR信號分析中發揮關鍵作用。以下是基于該儀器進行5G NR信號分析的具體配置步驟,幫助用戶高效完成測試任務。 一、
    的頭像 發表于 11-13 11:32 ?595次閱讀
    是德頻譜<b class='flag-5'>分析</b>儀N9030B PXA基于5G NR信號<b class='flag-5'>分析</b>的<b class='flag-5'>配置</b><b class='flag-5'>方法</b>

    GPIOB模擬spi的方法及lcd屏幕的接入

    本小組用到了spi接口的lcd屏幕,在此分享GPIOB模擬spi的方法及lcd屏幕的接入。 一、spi接口簡介 如上圖所示,SPI接口的典型時序是每一個時鐘周期采集一個數據。時鐘周期頻率
    發表于 10-30 07:59

    GPIOB模擬SCCB的方法

    通過SCCB接口可對OV7725內部寄存器寫入數據,從而對攝像頭進行配置,本文主要分享GPIOB模擬SCCB的方法。 一、時序圖分析 如上圖所示,SCCB接口與IIC非常類似,多了一條信號線
    發表于 10-30 06:00

    Perforce QAC產品簡介:面向C/C++的靜態代碼分析工具(已通過SO 26262認證)

    Perforce QAC專為C/C++開發者打造,支持多種編碼規范、功能安全標準(ISO 26262)等,廣泛用于汽車、醫療、嵌入式開發領域,可幫助快速識別關鍵缺陷、提升代碼質量、實現合規交付。
    的頭像 發表于 07-10 15:57 ?1275次閱讀
    Perforce QAC產品<b class='flag-5'>簡介</b>:面向<b class='flag-5'>C</b>/<b class='flag-5'>C</b>++的靜態<b class='flag-5'>代碼</b><b class='flag-5'>分析</b>工具(已通過SO 26262認證)

    零極點仿真分析簡介

    零極點分析是用于確定電路頻率響應特性的關鍵方法,通過找到傳遞函數的零點和極點來分析電路的穩定性和頻率響應。
    的頭像 發表于 05-28 17:33 ?1242次閱讀
    零極點仿真<b class='flag-5'>分析</b><b class='flag-5'>簡介</b>

    藍牙LE Audio技術簡介和優勢分析

    Energy)技術的優點,同時又具備卓越的音頻性能。本文將從技術簡介和優勢分析兩個方面對藍牙LE Audio技術進行詳細的介紹。 一、藍牙LE Audio技術簡介 藍牙LE Audio技術是藍牙技術聯盟在
    的頭像 發表于 05-21 16:08 ?4595次閱讀

    N6715C?基礎型定制配置直流電源分析

    N6715C?基礎型定制配置直流電源分析儀 ? 綜述 N6715C 是一款可定制的直流電源分析儀系統,在裝運之前已經過全面測試并組裝完畢。
    的頭像 發表于 05-09 17:30 ?663次閱讀
    N6715<b class='flag-5'>C</b>?基礎型定制<b class='flag-5'>配置</b>直流電源<b class='flag-5'>分析</b>儀

    CYPD3177可以配置充電器的電壓和電流,配置Profile 3最合適的方法是什么?

    我們在設計中使用 CYPD3177,并喜歡配置設備以接受 USB-C 充電器 PD 配置文件 3、27-45W。 CYPD3177 可以配置充電器的電壓和電流,
    發表于 05-09 07:30

    18個常用的強化學習算法整理:從基礎方法到高級模型的理論技術與代碼實現

    本來轉自:DeepHubIMBA本文系統講解從基本強化學習方法到高級技術(如PPO、A3C、PlaNet等)的實現原理與編碼過程,旨在通過理論結合代碼的方式,構建對強化學習算法的全面理解。為確保內容
    的頭像 發表于 04-23 13:22 ?1613次閱讀
    18個常用的強化學習算法整理:從基礎<b class='flag-5'>方法</b>到高級模型的理論技術與<b class='flag-5'>代碼</b>實現

    電池電量計的通信、配置、數據內存訪問以及相關代碼示例

    基礎電量計命令:電量計通過命令與主機控制器通信,命令類似寄存器,如讀取充電狀態的命令StateOfCharge(),其命令代碼為0x1C和0x1D 。命令分為標準命令(用于獲取測量結果和更改部分配置參數)和擴展命令(主要用于訪問
    發表于 03-11 15:45 ?1次下載