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

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

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

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

嵌入式系統(tǒng)的自我測試過程

星星科技指導(dǎo)員 ? 來源:嵌入式計算設(shè)計 ? 作者:Colin Walls ? 2022-06-20 09:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

嵌入式系統(tǒng)中,有很多失敗的機會。在簡單的系統(tǒng)中,故障通常會導(dǎo)致它們無法正常工作。在復(fù)雜系統(tǒng)中,故障可能以更微妙的方式表現(xiàn)出來。

嵌入式系統(tǒng)是“智能的”,因此很明顯可以利用這種智能來檢測即將發(fā)生的問題和已經(jīng)發(fā)生的問題,并可能減輕故障的影響。

這種內(nèi)置故障控制的常用術(shù)語是“自我測試”。這是一個很大的主題,很可能已被許多會議論文所涵蓋,細節(jié)可能會寫滿一本書。但在這里,我只想考慮關(guān)鍵問題。

本質(zhì)上,嵌入式系統(tǒng)有四個可能的故障區(qū)域:

中央處理器

外圍設(shè)備

記憶

軟件

CPU 的故障非常罕見,但當(dāng)然也不是未知數(shù)。部分故障不太可能發(fā)生,因此預(yù)期的情況是無法運行代碼,因此沒有機會解決故障。由于電子元件的故障最常發(fā)生在上電時,CPU 故障很可能表現(xiàn)為完全死機的設(shè)備。在多 CPU 設(shè)計中這是另一回事,當(dāng)一個 CPU 可以監(jiān)視另一個 CPU 的活動并更優(yōu)雅地報告故障時。

當(dāng)然,內(nèi)存是一個關(guān)鍵的系統(tǒng)組件,現(xiàn)代設(shè)備有很多。失敗遠非未知。可能由雜散的亞原子粒子引起的瞬態(tài)故障可能導(dǎo)致設(shè)備無法解釋且無法重現(xiàn)的崩潰。真的沒有什么可以解決這種可能性的。更可能檢測到硬/永久性故障。

內(nèi)存可以通過兩種方式進行測試:上電時(這是最有可能發(fā)生故障的時候),在任何有用的數(shù)據(jù)存儲在其中之前,或者在運行中,如果有空閑的 CPU 時間可用。如果可以容忍短暫的啟動延遲,那么在它包含任何數(shù)據(jù)之前進行全面的內(nèi)存測試是否值得。通常的測試稱為“移動位”,其中內(nèi)存被清除,每個位依次寫入一個,并且每隔一個位檢查以確保它是零?!耙苿恿泓c”測試應(yīng)用了相同的想法。

動態(tài)測試自然不那么全面,因為實時數(shù)據(jù)不會被破壞。唯一真正的選擇是通過寫入和讀取一系列模式來測試每個字節(jié)/字,同時禁用中斷。

外圍設(shè)備種類繁多,并且可能會失敗是許多有趣的方式。但是,我可以提供的一般性建議很少。自測試代碼可以檢查設(shè)備是否對其地址做出響應(yīng),如果不這樣做則表明發(fā)生了不好的事情。否則,某些設(shè)備可能具有“環(huán)回”模式,可以檢查基本的發(fā)送/接收功能。除此之外,需要由設(shè)備功能知識驅(qū)動的創(chuàng)造力來實施任何自我測試。

如果軟件失敗,那是因為它的設(shè)計或?qū)崿F(xiàn)出現(xiàn)了錯誤。與硬件不同,無錯誤的軟件(如果它甚至存在的話)不會隨著時間的推移而變壞。軟件故障大致分為兩類:

陷入循環(huán)(無響應(yīng))

數(shù)據(jù)/代碼損壞

(1) 最常見的原因?qū)嶋H上是某種硬件問題,軟件正在等待永遠不會出現(xiàn)的響應(yīng)。這仍然是一個軟件錯誤,因為超時總是謹(jǐn)慎的。解決此類故障的最佳方法是使用某種看門狗設(shè)施。如果未收到軟件的定期響應(yīng),這通常是重置系統(tǒng)的硬件。專用任務(wù)可能在多線程應(yīng)用程序中執(zhí)行相同類型的工作。

指針錯誤是 (2) 的可能原因,完全隨機的內(nèi)存損壞很難檢測和診斷。幸運的是,一個常見的錯誤是使用空指針或完全無效的指針。由于這會導(dǎo)致陷阱(軟件中斷),因此預(yù)防措施是確保實施陷阱處理程序。另一個流行的錯誤是堆?;驍?shù)組等內(nèi)存區(qū)域溢出。這可以通過在任一端使用“警戒詞”并監(jiān)控它們的訪問來解決。

仍然存在一個重要的未解決問題。一旦檢測到故障或即將發(fā)生的故障,您能做些什么呢?這完全取決于系統(tǒng)的性質(zhì)。在某些情況下,尤其是深度嵌入式系統(tǒng),系統(tǒng)重置是唯一明智的做法。記錄故障以供以后分析可能是可能的。對于其他系統(tǒng),可以建議用戶并可能確定要采取的行動。另一種可能性是設(shè)備“打電話回家”或使用網(wǎng)絡(luò)連接向用戶/供應(yīng)商/開發(fā)人員發(fā)送有關(guān)故障的信息。

最重要的是,每個嵌入式系統(tǒng)都是不同的,這就是讓這個行業(yè)的工作變得有趣的原因。結(jié)果是每個設(shè)備的自檢都不同,對發(fā)現(xiàn)故障的響應(yīng)也同樣可變。唯一不變的因素是失敗的可能性以及許多開發(fā)人員對這種可能性的否認(rèn)。

審核編輯:郭婷

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

    關(guān)注

    68

    文章

    19899

    瀏覽量

    235437
  • 嵌入式
    +關(guān)注

    關(guān)注

    5152

    文章

    19678

    瀏覽量

    317794
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11083

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    嵌入式適合自學(xué)嗎?

    構(gòu)、時鐘系統(tǒng)、電源管理、存儲映射等。 嵌入式必學(xué)技術(shù)點↓↓↓ 1硬件與軟件的結(jié)合 2實時性要求與資源限制 3跨領(lǐng)域知識整合 4調(diào)試與測試困難 二)缺乏專業(yè)指導(dǎo) 1)容易走彎路:自學(xué)嵌入
    發(fā)表于 04-27 09:54

    嵌入式軟件單元測試的必要性、核心方法及工具深度解析

    一、為什么嵌入式軟件必須重視單元測試? ?嵌入式系統(tǒng)的特殊性? 在汽車 ECU、醫(yī)療設(shè)備控制器等場景中,軟件直接操控硬件,?單比特錯誤可能導(dǎo)致剎車失靈或呼吸機故障?。不同于 PC?軟件
    的頭像 發(fā)表于 03-21 14:53 ?475次閱讀

    新手怎么學(xué)嵌入式?

    操作系統(tǒng)示例。 學(xué)習(xí)嵌入式技術(shù)是一個充滿挑戰(zhàn)但又極具樂趣的過程。對于新手來說,只要有耐心和恒心,按照上述步驟逐步學(xué)習(xí),從基礎(chǔ)知識到編程語言,從硬件知識到實踐操作,再到嵌入式操作
    發(fā)表于 12-12 10:51

    嵌入式系統(tǒng)開發(fā)中的測試方法 嵌入式系統(tǒng)開發(fā)與AI結(jié)合應(yīng)用

    嵌入式系統(tǒng)開發(fā)中的測試方法 嵌入式系統(tǒng)開發(fā)是一個復(fù)雜的過程,涉及到硬件和軟件的緊密結(jié)合。
    的頭像 發(fā)表于 12-09 10:22 ?1372次閱讀

    嵌入式系統(tǒng)開發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)開發(fā)常見問題解決

    嵌入式系統(tǒng)開發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)是專為特定應(yīng)用設(shè)計的計算機系統(tǒng),它們通常嵌入在所控制的設(shè)備
    的頭像 發(fā)表于 12-09 09:38 ?988次閱讀

    嵌入式系統(tǒng)與物聯(lián)網(wǎng)的結(jié)合

    隨著科技的飛速發(fā)展,嵌入式系統(tǒng)和物聯(lián)網(wǎng)(IoT)已經(jīng)成為現(xiàn)代技術(shù)領(lǐng)域的重要組成部分。嵌入式系統(tǒng)是指嵌入到設(shè)備或
    的頭像 發(fā)表于 11-06 10:23 ?1120次閱讀

    嵌入式學(xué)習(xí)建議

    動手做一個實際的小系統(tǒng),底層硬件基礎(chǔ)就有了。各個硬件模塊驅(qū)動程序的編寫是嵌入式系統(tǒng)的必備基礎(chǔ)。學(xué)習(xí)嵌入式系統(tǒng)的初期,這個
    發(fā)表于 10-22 11:41

    什么是嵌入式?一文讀懂嵌入式主板

    在現(xiàn)代科技浪潮中,嵌入式技術(shù)已成為支撐各種智能設(shè)備和系統(tǒng)運行的核心力量。那么,究竟什么是嵌入式?嵌入式系統(tǒng),顧名思義,是將計算機的硬件和軟件
    的頭像 發(fā)表于 10-16 10:14 ?2630次閱讀

    AMD 面向嵌入式系統(tǒng)推出高能效 EPYC 嵌入式 8004 系列

    領(lǐng)先地位。 ? AMD EPYC 嵌入式 8004 系列處理器專為計算密集型嵌入式系統(tǒng)所設(shè)計,可為高需求工作負載提供卓越性能,同時以緊湊的尺寸規(guī)格最大限度為空間和功率受限型應(yīng)用提升能效。它還集成了一整套
    發(fā)表于 10-11 13:58 ?1077次閱讀

    嵌入式系統(tǒng)的啟動流程

    嵌入式系統(tǒng)的啟動流程是一個復(fù)雜但有序的過程,它涉及從系統(tǒng)上電到操作系統(tǒng)內(nèi)核及應(yīng)用程序啟動的多個階段。
    的頭像 發(fā)表于 10-05 17:44 ?978次閱讀

    嵌入式系統(tǒng)的原理和應(yīng)用

    嵌入式系統(tǒng)是一種專用的計算機系統(tǒng),其設(shè)計初衷是執(zhí)行特定任務(wù),而非作為通用計算機使用。這類系統(tǒng)通常作為更大系統(tǒng)的一部分,起到控制、監(jiān)控或輔助的
    的頭像 發(fā)表于 10-05 17:03 ?2224次閱讀

    嵌入式主板是什么意思?嵌入式主板全面解析

    嵌入式主板,通常被稱為嵌入式系統(tǒng)的核心組件,是一種用于控制和數(shù)據(jù)處理的計算機硬件,其設(shè)計旨在嵌入特定設(shè)備中執(zhí)行專門任務(wù)。嵌入式主板如同是設(shè)備
    的頭像 發(fā)表于 09-30 10:05 ?1632次閱讀

    嵌入式系統(tǒng)的未來趨勢有哪些?

    會更加模塊化和集成化,允許更容易的硬件和軟件的切換和升級。這會提高系統(tǒng)的可維護性和可擴展性,會使得系統(tǒng)能夠適應(yīng)不斷在變化的應(yīng)用需求。 5. 生態(tài)可持續(xù)性與環(huán)保材料 在嵌入式系統(tǒng)的設(shè)計以
    發(fā)表于 09-12 15:42

    嵌入式linux開發(fā)的基本步驟有哪些?

    嵌入式Linux開發(fā)是一個復(fù)雜的過程,涉及到硬件選擇、操作系統(tǒng)移植、驅(qū)動開發(fā)、應(yīng)用程序開發(fā)等多個方面。以下是嵌入式Linux開發(fā)的基本步驟,以及每個步驟的說明。 硬件選擇 在開始
    的頭像 發(fā)表于 09-02 09:11 ?1264次閱讀

    嵌入式機電一體化系統(tǒng)設(shè)計與實現(xiàn)》讀后感

    刻的認(rèn)識。從硬件上將外圍器件整合到CPU內(nèi)部,到軟件上在操作系統(tǒng)內(nèi)核中嵌入應(yīng)用程序,再到將軟件內(nèi)核或應(yīng)用文件系統(tǒng)等燒錄到硬件平臺中,這一系列過程讓我深刻理解了
    發(fā)表于 08-21 08:45