一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

軟件測(cè)試自身的完整性

星星科技指導(dǎo)員 ? 來源:嵌入式計(jì)算設(shè)計(jì) ? 作者:Colin Walls ? 2022-06-29 15:43 ? 次閱讀

所有重要的軟件都有錯(cuò)誤。我不想稱它們?yōu)椤板e(cuò)誤”,因?yàn)檫@會(huì)使它們與需要為自己的錯(cuò)誤負(fù)責(zé)的開發(fā)人員分離。顯然,設(shè)計(jì)良好的軟件可能會(huì)更少,而現(xiàn)代嵌入式軟件開發(fā)工具的應(yīng)用可以將它們保持在最低限度。當(dāng)然,具體的錯(cuò)誤無法預(yù)測(cè)(否則它們可以被根除),但是可以識(shí)別某些類型的軟件問題,并且有可能在問題變成災(zāi)難之前發(fā)現(xiàn)問題。

我會(huì)將此類軟件問題分為兩大類:

數(shù)據(jù)損壞

代碼循環(huán)

由于大量嵌入式代碼是用 C 編寫的,這意味著開發(fā)人員很可能會(huì)使用指針。小心使用,指針是該語言的一個(gè)強(qiáng)大功能,但它們也是最常見的程序員錯(cuò)誤來源之一。指針使用的問題很難靜態(tài)識(shí)別,并且引入的錯(cuò)誤可能會(huì)在代碼執(zhí)行時(shí)以微妙的方式表現(xiàn)出來。有些事情,比如取消引用空指針很容易檢測(cè)到,因?yàn)樗鼈兺ǔ?huì)導(dǎo)致陷阱。只需要實(shí)現(xiàn)一個(gè)陷阱處理程序。其他的更難,因?yàn)橹羔樧罱K可能指向任何地方——通常它會(huì)指向一個(gè)有效的地址,但不幸的是,它可能不是正確的地址。自測(cè)試代碼對(duì)此幾乎無能為力。然而,有兩種特殊但非常常見的,

不應(yīng)發(fā)生堆棧溢出,因?yàn)閼?yīng)仔細(xì)確定堆棧分配,并在調(diào)試階段驗(yàn)證其使用情況。但是,很可能會(huì)忽略不尋常的情況或使用不易測(cè)試的構(gòu)造(如遞歸函數(shù))。一個(gè)簡(jiǎn)單的解決方案是在堆棧空間的任一端包含一個(gè)額外的詞——“保護(hù)詞”。這些預(yù)加載了特定值,由自檢任務(wù)(可能在后臺(tái)運(yùn)行)監(jiān)控。如果值更改,則違反了堆棧限制。應(yīng)謹(jǐn)慎選擇該值。奇數(shù)是最好的,因?yàn)樗淮泶蠖鄶?shù)處理器的有效地址。也許是 0x55555555。只要該值“不太可能”——例如不是 0x00000001 或 0xffffffff——就有 40 億比 1 的機(jī)會(huì)發(fā)生誤報(bào)。

在某些語言中,存在用于在數(shù)組邊界之外尋址的內(nèi)置檢測(cè),但這會(huì)引入運(yùn)行時(shí)開銷,這可能是不受歡迎的。因此,這不是在 C 中實(shí)現(xiàn)的。此外,可以使用指針而不是運(yùn)算符來訪問數(shù)組元素,因此可能會(huì)規(guī)避任何檢查。最好的方法是通過在數(shù)組末尾定位一個(gè)保護(hù)字并以與堆棧溢出檢查相同的方式進(jìn)行監(jiān)視來檢查緩沖區(qū)溢出類型的錯(cuò)誤。

在這兩種情況下,當(dāng)保護(hù)字被破壞時(shí),這表明即將發(fā)生故障。堆?;驍?shù)組可能只是一個(gè)字就溢出或不足,因此還沒有造成真正的損害。定位錯(cuò)誤訪問的原因比調(diào)試可能發(fā)生的隨機(jī)崩潰要容易得多。

代碼永遠(yuǎn)不應(yīng)陷入無限循環(huán),但邏輯錯(cuò)誤或未發(fā)生預(yù)期的外部事件可能會(huì)導(dǎo)致代碼掛起。當(dāng)代碼在等待某事發(fā)生時(shí),理想情況下應(yīng)該有一個(gè)超時(shí)機(jī)制,這樣代碼就不會(huì)無限期地掛起。

在任何類型的多線程環(huán)境中——無論是 RTOS 還是帶有 ISR 的主線代碼——都可以實(shí)現(xiàn)“看門狗”機(jī)制。每個(gè)連續(xù)運(yùn)行的任務(wù)(可能只是主線代碼)都需要每隔一段時(shí)間與看門狗任務(wù)(可能是計(jì)時(shí)器 ISR)“簽入”。如果發(fā)生超時(shí),則需要采取措施。

那么,當(dāng)檢測(cè)到堆棧溢出、數(shù)組綁定違例或掛起任務(wù)時(shí)該怎么辦呢?這取決于應(yīng)用程序??赡苤恍枰V购椭匦聠?dòng)單個(gè)任務(wù),但可能需要更激烈的操作:停止系統(tǒng)、發(fā)出某種警報(bào)或簡(jiǎn)單地重置系統(tǒng)。選擇取決于許多因素,但從廣義上講,目標(biāo)是為了比崩潰的系統(tǒng)更好的東西。

訂閱

審核編輯:郭婷

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

    關(guān)注

    5126

    文章

    19446

    瀏覽量

    313344
  • RTOS
    +關(guān)注

    關(guān)注

    24

    文章

    837

    瀏覽量

    120609
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4882

    瀏覽量

    70056
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    信號(hào)完整性測(cè)試基礎(chǔ)知識(shí)

    ,高速系統(tǒng)的信號(hào)完整性直接關(guān)系到數(shù)據(jù)傳輸?shù)目煽?b class='flag-5'>性和系統(tǒng)的整體性能。因此,深入理解信號(hào)完整性的基本原理和測(cè)試方法對(duì)于確保高速系統(tǒng)的穩(wěn)定運(yùn)行至關(guān)重要。
    的頭像 發(fā)表于 04-24 16:42 ?446次閱讀
    信號(hào)<b class='flag-5'>完整性</b><b class='flag-5'>測(cè)試</b>基礎(chǔ)知識(shí)

    使用羅德與施瓦茨RTE1104示波器進(jìn)行電源完整性測(cè)試

    電源完整性(Power Integrity, PI)測(cè)試在現(xiàn)代電子系統(tǒng)設(shè)計(jì)中至關(guān)重要。隨著電子設(shè)備對(duì)電源質(zhì)量的要求越來越高,電源噪聲和瞬態(tài)變化對(duì)系統(tǒng)性能的影響愈發(fā)顯著。本文將詳細(xì)介紹如何使用羅德與施
    的頭像 發(fā)表于 04-23 16:51 ?112次閱讀
    使用羅德與施瓦茨RTE1104示波器進(jìn)行電源<b class='flag-5'>完整性</b><b class='flag-5'>測(cè)試</b>

    普源DHO3000系列示波器電源完整性測(cè)試

    在電子電路設(shè)計(jì)日益復(fù)雜和高速的今天,電源完整性(Power Integrity, PI)已成為電子系統(tǒng)可靠的重要評(píng)估指標(biāo)。電源完整性測(cè)試旨在確保電源在面對(duì)各種負(fù)載與外部干擾時(shí)能夠穩(wěn)定
    的頭像 發(fā)表于 04-15 14:45 ?150次閱讀
    普源DHO3000系列示波器電源<b class='flag-5'>完整性</b><b class='flag-5'>測(cè)試</b>

    技術(shù)資訊 | 信號(hào)完整性測(cè)試基礎(chǔ)知識(shí)

    本文重點(diǎn)信號(hào)完整性測(cè)試需要從測(cè)試電路板和原型獲取實(shí)驗(yàn)數(shù)據(jù)并加以分析。在理想的工作流程中,還會(huì)仿真信號(hào)完整性指標(biāo),并將其與實(shí)際測(cè)量值進(jìn)行比較。信號(hào)完整
    的頭像 發(fā)表于 04-11 17:21 ?1083次閱讀
    技術(shù)資訊 | 信號(hào)<b class='flag-5'>完整性</b><b class='flag-5'>測(cè)試</b>基礎(chǔ)知識(shí)

    iic協(xié)議的信號(hào)完整性測(cè)試

    主機(jī)、多從機(jī)的串行通信協(xié)議,它允許多個(gè)設(shè)備共享同一總線。I2C總線由兩條線組成:數(shù)據(jù)線(SDA)和時(shí)鐘線(SCL)。數(shù)據(jù)傳輸是通過主設(shè)備生成的時(shí)鐘信號(hào)同步的。 信號(hào)完整性測(cè)試的必要 信號(hào)完整
    的頭像 發(fā)表于 02-05 11:44 ?917次閱讀

    聽懂什么是信號(hào)完整性

    2024年12月20日14:00-16:00中星聯(lián)華科技將舉辦“高速信號(hào)完整性分析與測(cè)試”-“碼”上行動(dòng)系列線上講堂線上講堂。本期會(huì)議我們將為大家介紹高速串行總線傳輸基本框架,什么是信號(hào)完整性?高速
    的頭像 發(fā)表于 12-15 23:33 ?529次閱讀
    聽懂什么是信號(hào)<b class='flag-5'>完整性</b>

    信號(hào)完整性和信號(hào)一致你還不知道嗎?#示波器 #信號(hào)完整性

    信號(hào)完整性
    安泰儀器維修
    發(fā)布于 :2024年09月25日 17:59:54

    高速電路中的信號(hào)完整性和電源完整性研究

    高速電路中的信號(hào)完整性和電源完整性研究
    發(fā)表于 09-25 14:44 ?0次下載

    高速高密度PCB信號(hào)完整性與電源完整性研究

    高速高密度PCB信號(hào)完整性與電源完整性研究
    發(fā)表于 09-25 14:43 ?5次下載

    高速PCB的信號(hào)完整性、電源完整性和電磁兼容研究

    電子發(fā)燒友網(wǎng)站提供《高速PCB的信號(hào)完整性、電源完整性和電磁兼容研究.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 17:37 ?0次下載

    信號(hào)完整性與電源完整性-電源完整性分析

    電子發(fā)燒友網(wǎng)站提供《信號(hào)完整性與電源完整性-電源完整性分析.pdf》資料免費(fèi)下載
    發(fā)表于 08-12 14:31 ?72次下載

    信號(hào)完整性與電源完整性-差分對(duì)的特性

    電子發(fā)燒友網(wǎng)站提供《信號(hào)完整性與電源完整性-差分對(duì)的特性.pdf》資料免費(fèi)下載
    發(fā)表于 08-12 14:28 ?1次下載

    信號(hào)完整性與電源完整性-信號(hào)的串?dāng)_

    電子發(fā)燒友網(wǎng)站提供《信號(hào)完整性與電源完整性-信號(hào)的串?dāng)_.pdf》資料免費(fèi)下載
    發(fā)表于 08-12 14:27 ?1次下載

    信號(hào)完整性與電源完整性 第一章 概論

    電子發(fā)燒友網(wǎng)站提供《信號(hào)完整性與電源完整性 第一章 概論.pdf》資料免費(fèi)下載
    發(fā)表于 08-09 14:49 ?1次下載

    什么是信號(hào)完整性

    在現(xiàn)代電子通信和數(shù)據(jù)處理系統(tǒng)中,信號(hào)完整性(Signal Integrity, SI)是一個(gè)至關(guān)重要的概念。它涉及信號(hào)在傳輸過程中的質(zhì)量保持,對(duì)于確保系統(tǒng)性能和穩(wěn)定性具有決定性的影響。本文將從信號(hào)完整性的定義、影響因素、測(cè)試方法
    的頭像 發(fā)表于 05-28 14:30 ?1690次閱讀