天堂888-欧美黄色小说-熟睡侵犯の奶水授乳在线-初尝情欲h名器av-亚洲天堂免费视频-日韩五十路-免费在线国产-国产又大又黄又粗-久草导航-色播导航-亚洲免费资源-熟女一区二区三区视频-亚洲美女视频在线-亚洲成人福利视频-婷婷精品在线-亚洲综合p-中文字幕 日本-亚洲骚片-亚洲自拍偷拍网-国产农村妇女精品一区二区-午夜中出-久久精品国产精品亚洲毛片-91精品毛片-99爱视频在线-狠狠操亚洲-美女让人操-里番本子纯肉侵犯肉全彩无码-999偷拍

如何查找嵌入式軟件設計中缺陷分析[3]

終端與業務 責任編輯:ainichp 2011-01-12

摘要:2.確定調用樹中每個函數的堆棧用量。3.檢查每棵調用樹,確定從樹根到外部“樹葉”的哪條調用路徑需要使用的堆棧最多。4.將每個獨立線程調用樹的最大堆棧用量相加。5.確定每個中斷優先級內各中斷服務程序(ISR)的最大堆棧用量并計算其總和。但是,如果ISR本身沒有堆棧而使用被中斷線程的堆棧,則應將ISR使用的最大堆棧數

  2. 確定調用樹中每個函數的堆棧用量。

  3. 檢查每棵調用樹,確定從樹根到外部“樹葉”的哪條調用路徑需要使用的堆棧最多。

  4. 將每個獨立線程調用樹的最大堆棧用量相加。

  5. 確定每個中斷優先級內各中斷服務程序(ISR)的最大堆棧用量并計算其總和。但是,如果ISR本身沒有堆棧而使用被中斷線程的堆棧,則應將ISR使用的最大堆棧數加到各線程堆棧之上。

  6. 對于每個優先級,加上中斷發生時用來保存處理器狀態的堆棧數。

  7.如果使用RTOS,則加上RTOS自身內部用途需要的最大堆棧數(與應用代碼引發的系統調用不同,后者已包含在步驟2中)。

  除此之外,還有兩個重要事項需要考慮。首先,僅僅從高級語言源代碼建立的調用樹很可能并不完善。大部分編譯器采用運行時庫(run-time library)來優化常用計算任務,如大值整數的乘除、浮點運算等,這些調用只在編譯器產生的匯編語言中才可見。運行時庫函數本身可能使用大量的堆棧空間,在分析時必須將它們包括進去。如果使用的是C++語言,則以下所有類型的函數(方法)也都必須包含到調用樹內:結構器、析構器、重載運算符、復制結構器和轉換函數。所有的函數指針也都必須進行解析,并且將它們調用的函數包含進分析之中。

[1]  [2]  [3]  

更多資料
更多課程
更多真題
溫馨提示:因考試政策、內容不斷變化與調整,本網站提供的以上信息僅供參考,如有異議,請考生以權威部門公布的內容為準!

通信工程師備考資料免費領取

去領取

專注在線職業教育25年

信息系統項目管理師

信息系統項目管理師

信息系統項目管理師

!
咨詢在線老師!