99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開發(fā)>嵌入式系統(tǒng)的除錯(cuò)策略分析

嵌入式系統(tǒng)的除錯(cuò)策略分析

2017-10-20 | rar | 0.2 MB | 次下載 | 1積分

資料介紹

? 嵌入式系統(tǒng)除錯(cuò)的工作量,可望占了嵌入式軟體專案工作量的一半以上。了解硬體除錯(cuò)功能以及它們所能解決的問題,是選擇正確的晶片、建立除錯(cuò)系統(tǒng)以及提高生產(chǎn)效率的關(guān)鍵。
  很多人都相信“臭蟲(bug)”此一用詞起源于海軍少將 Grace Murray Hopper。但事實(shí)上,沒人知道這種用法的真正來源,它可能可以回溯到 Thomas A Edison,或甚至更早。美國海軍后備役軍官 Hopper 在 1945 年 9 月 9 日于哈佛大學(xué)對 Mark II Aiken 繼電計(jì)算器( Relay Calculator)進(jìn)行測試時(shí),于短路的 Panel F #70 號繼電器處發(fā)現(xiàn)了一雙臭蟲。她把這只臭蟲拿掉后(就是對電腦進(jìn)行除臭蟲(debugging)),就解決了這臺機(jī)器不定時(shí)關(guān)機(jī)的故障(參考文獻(xiàn) 1)。雖然這個(gè)早期的例子指的是從系統(tǒng)硬體中去除臭蟲,但今天“debugging”這個(gè)詞是指發(fā)現(xiàn)一個(gè)程式的問題,并去掉缺陷代碼(defective code)的過程。這些問題包括任何與原始意向的差異,而去掉缺陷代碼的做法則遠(yuǎn)優(yōu)于增加糾正代碼(correction code)。理想情況下,在任何時(shí)間都可以獲得所有的特性(如系統(tǒng)的匯流排與暫存器值),供監(jiān)控與修改。但隨著 IC 轉(zhuǎn)向 SoC,可存取性(accessibility)就變得更加困難了。
  對硬體除錯(cuò),是要盡可能地可以存取到嵌入式系統(tǒng)內(nèi)部資源,這可以透過觀察系統(tǒng)的特性,如 CPU 狀態(tài)和 PC 值,或修改系統(tǒng)的參數(shù)。在嵌入式系統(tǒng)設(shè)計(jì)的早期可以用簡單技術(shù)進(jìn)行除錯(cuò),如記錄(logging)與監(jiān)控,或者對多核心 SoC而言,可以采用最新開發(fā)的方法,如跟蹤、緩衡記憶體除錯(cuò)(cache debugging)和交叉觸發(fā)(cross-triggering)等。本文的重點(diǎn)不是在如何編寫代碼或?yàn)榇a除錯(cuò),而是描述現(xiàn)在可用的嵌入式硬體硅智財(cái)權(quán)(intellectual property ,IP),以及該 IP 能解決哪方面的除錯(cuò)問題。
  記錄與監(jiān)控
  最古老也是最常用的除錯(cuò)方法就是在代碼中增加一些列印敘述(print statement),它可以顯示軟體某個(gè)部分的執(zhí)行資訊,并提供暫存器和變數(shù)的實(shí)際值。這可能是一年級學(xué)生練習(xí)“hello world”的一種延續(xù),該程式會在熒幕上顯示這兩個(gè)詞,用于表示程式能夠運(yùn)行,以及執(zhí)行到了某個(gè)點(diǎn)。列印敘述(或 printf 語句)只是記錄的一種變型,它是用處理器將重要資訊寫入一個(gè)“管道(pipe)”,作為外部跟蹤的過程。所使用的管道將視系統(tǒng)而訂,在 printf 情況下,管道是標(biāo)準(zhǔn)的輸出(熒幕),但它也可以是 UART、USB,甚至是通用 I/O。
  當(dāng)你需要用一種對程式設(shè)計(jì)工程師有意義的方式,組織各個(gè)部分資訊時(shí)(例如提供感測器資訊或狀態(tài)機(jī)的轉(zhuǎn)換),采用記錄的方法是很有價(jià)值的??梢杂糜涗浌ぞ邅矸治鲇涗浀馁Y訊,并產(chǎn)生一個(gè)后處理資料庫。必須小心使用記錄功能才能獲得高效率。例如,記錄資訊應(yīng)使用關(guān)鍵字開頭,如“警告”、“錯(cuò)誤”或“除錯(cuò)”等,并應(yīng)能識別出資訊的建立者。應(yīng)將記錄功能劃分為一小組檔案,以便于維護(hù),并提供時(shí)間戳資訊。不幸的是,記錄是一種侵入性的方法,它會修改軟體的即時(shí)狀態(tài),因而不同于最終應(yīng)用。
  除錯(cuò)監(jiān)控器是另一種常見的除錯(cuò)工具,它與運(yùn)行在 CPU 記憶體中的目標(biāo)代碼一起工作(參考文獻(xiàn) 2 和參考文獻(xiàn) 3)。除錯(cuò)器運(yùn)行在一臺主機(jī)上,它透過一個(gè)專用的埠發(fā)送指令和接收響應(yīng),從而達(dá)到與監(jiān)控器通信的目的??梢詫?Linux 上的 gdbserver 程式當(dāng)作一個(gè)除錯(cuò)監(jiān)控器,不過它比早期的 ROM 監(jiān)控器更復(fù)雜
 ?。▓D 1)。
  嵌入式系統(tǒng)的除錯(cuò)策略分析
  當(dāng)使用者希望在某條指令處設(shè)置一個(gè)中斷點(diǎn)時(shí),gdbserver 會保存該指令,而用一個(gè)系統(tǒng)呼叫(system call)來替代它。Gdbserver 然后用 Linux 的 ptrace 程式獲得所有進(jìn)行系統(tǒng)呼叫的應(yīng)用程式資訊。接著,當(dāng)發(fā)生系統(tǒng)呼叫而啟動中斷點(diǎn)時(shí),gdbserver 可以取得對被除錯(cuò)應(yīng)用的控制。除錯(cuò)器運(yùn)行在一臺主控機(jī)上,透過串列埠或乙太網(wǎng)路連接到目標(biāo)物件(參考文獻(xiàn) 4)。監(jiān)控器的方法既便宜又實(shí)用,但也有一些缺點(diǎn),例如需要在進(jìn)行任何除錯(cuò)前載入代碼,并可能與應(yīng)用軟體相互影響。如果代碼位于快閃記憶體中就不能使用監(jiān)控器軟體,因?yàn)橐迦胲涹w中斷點(diǎn)就需要修補(bǔ)應(yīng)用軟體。
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1EMC電路設(shè)計(jì)工程師必備的EMC基礎(chǔ)
  2. 0.42 MB   |  4次下載  |  2 積分
  3. 2AU3116 2×60W模擬輸入雙通道Class-D 音頻功率放大器數(shù)據(jù)手冊
  4. 1.19 MB   |  1次下載  |  免費(fèi)
  5. 3低壓降肖特基整流管SR340L數(shù)據(jù)手冊
  6. 0.78 MB   |  1次下載  |  免費(fèi)
  7. 4ZX8002E 觸摸調(diào)光LED集成IC數(shù)據(jù)手冊
  8. 2.27 MB   |  次下載  |  免費(fèi)
  9. 5SOD-323塑料封裝ESD保護(hù)二極管SD05T系列規(guī)格書
  10. 1.07 MB   |  次下載  |  免費(fèi)
  11. 6SOT-23塑料封裝ESD保護(hù)二極管SMxx Series系列規(guī)格書
  12. 0.93 MB   |  次下載  |  免費(fèi)
  13. 7高效率整流二極管HER151 THRU HER158數(shù)據(jù)手冊
  14. 0.54 MB   |  次下載  |  免費(fèi)
  15. 8低壓降肖特基整流管SL22 THRU SL210數(shù)據(jù)手冊
  16. 1.03 MB   |  次下載  |  免費(fèi)

本月

  1. 1三相逆變主電路的原理圖和PCB資料合集免費(fèi)下載
  2. 27.35 MB   |  111次下載  |  1 積分
  3. 2運(yùn)算放大器基本電路中文資料
  4. 1.30 MB   |  16次下載  |  免費(fèi)
  5. 3蘋果iphone 11電路原理圖
  6. 4.98 MB   |  11次下載  |  5 積分
  7. 4TL494工業(yè)用開關(guān)電源原理圖資料
  8. 0.22 MB   |  10次下載  |  1 積分
  9. 5常用電子元器件介紹
  10. 3.21 MB   |  8次下載  |  免費(fèi)
  11. 6QW2893應(yīng)急燈專用檢測芯片
  12. 590.40 KB  |  4次下載  |  免費(fèi)
  13. 7相關(guān)協(xié)議信號總結(jié)
  14. 0.94 MB   |  4次下載  |  免費(fèi)
  15. 8EMC電路設(shè)計(jì)工程師必備的EMC基礎(chǔ)
  16. 0.42 MB   |  4次下載  |  2 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935130次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233089次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191390次下載  |  10 積分
  9. 5十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  10. 158M  |  183344次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81591次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73815次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65989次下載  |  10 積分