日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

電子發(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)的除錯策略分析

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

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

資料介紹

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

掃碼添加小助手

加入工程師交流群

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費(fèi)
  3. 2開關(guān)電源基礎(chǔ)知識
  4. 5.73 MB  |  6次下載  |  免費(fèi)
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計(jì)
  8. 0.60 MB  |  3次下載  |  免費(fèi)
  9. 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費(fèi)
  11. 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
  12. 0.70 MB  |  2次下載  |  免費(fèi)
  13. 751單片機(jī)窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費(fèi)
  15. 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21548次下載  |  免費(fèi)
  9. 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191185次下載  |  免費(fèi)
  13. 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)
眉山市| 罗田县| 华坪县| 渑池县| 南漳县| 大兴区| 苍南县| 通化县| 淮滨县| 舟曲县| 交口县| 库车县| 南岸区| 界首市| 凤台县| 天门市| 松滋市| 泸州市| 桐庐县| 铁岭县| 灵山县| 临颍县| 塔城市| 峡江县| 手游| 江安县| 科尔| 清水河县| 赤水市| 石林| 石嘴山市| 绥棱县| 会泽县| 会宁县| 辉南县| 石景山区| 平罗县| 南召县| 前郭尔| 沾化县| 青岛市|