在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開(kāi)發(fā)>實(shí)時(shí)嵌入式系統(tǒng)調(diào)試解析

實(shí)時(shí)嵌入式系統(tǒng)調(diào)試解析

2017-11-04 | rar | 0.6 MB | 次下載 | 1積分

資料介紹

隨著實(shí)時(shí)嵌入式系統(tǒng)的復(fù)雜程度不斷提高,低效率的調(diào)試方法的成本日益增加。鑒于當(dāng)前嵌入式應(yīng)用的復(fù)雜性還有繼續(xù)上升的趨勢(shì),對(duì)這些系統(tǒng)的調(diào)試將成為加速產(chǎn)品上市和提供魯棒性最終產(chǎn)品的關(guān)鍵因素。隨著應(yīng)用對(duì)多線(xiàn)程和中斷嵌套的使用,開(kāi)發(fā)商的大部分時(shí)間目前都花在調(diào)試上。應(yīng)用的實(shí)時(shí)屬性使得將伴隨同時(shí)發(fā)生多個(gè)事件的故障問(wèn)題孤立起來(lái)變得更為困難。本文將討論常見(jiàn)的調(diào)試問(wèn)題以及預(yù)防和檢查這些故障問(wèn)題的一些方法。
  從歷史角度上來(lái)看,嵌入式應(yīng)用代碼的調(diào)試流程可以分為兩類(lèi)。第一類(lèi)調(diào)試流程是回答 “我的代碼現(xiàn)在執(zhí)行到哪里?” 的問(wèn)題。當(dāng)開(kāi)發(fā)商依靠打印語(yǔ)句或者LED的閃爍來(lái)指示應(yīng)用程序執(zhí)行到某個(gè)節(jié)點(diǎn)的調(diào)試方法時(shí),往往就屬于這種情形。如果開(kāi)發(fā)工具支持這種調(diào)試方法,可以沿著應(yīng)用應(yīng)當(dāng)程序應(yīng)當(dāng)執(zhí)行的路徑插入斷點(diǎn)。第二類(lèi)調(diào)試流程是幫助回答“我看到的這一數(shù)值是從哪里來(lái)的?”這一問(wèn)題。在這種情況下,人們往往依靠寄存器顯示窗口觀(guān)察變量信息處理器內(nèi)存的內(nèi)容。人們還可以嘗試單步執(zhí)行,并且觀(guān)察所有這些數(shù)據(jù)窗口以了解某個(gè)寄存器狀態(tài)何時(shí)出現(xiàn)錯(cuò)誤,內(nèi)存位置何時(shí)得到錯(cuò)誤的數(shù)據(jù),抑或指針何時(shí)出現(xiàn)了誤用。
  當(dāng)開(kāi)發(fā)商寫(xiě)完全部代碼后,如果無(wú)需了解網(wǎng)絡(luò)基礎(chǔ)設(shè)施,也沒(méi)有操作系統(tǒng)的任務(wù)調(diào)度需要考慮,那么就可以利用這些調(diào)試方法使一個(gè)應(yīng)用程序運(yùn)行起來(lái)。然而,現(xiàn)在的情況并非如此。嵌入式處理器以超過(guò)600 MHz的速度運(yùn)行,并且擁有可支持EthernetUSB等協(xié)議的嵌入式外設(shè),它們支持功能齊備的操作系統(tǒng),例如uClinux,而且這些操作系統(tǒng)所調(diào)度的各種應(yīng)用程序是由數(shù)千行代碼構(gòu)成。使用打印語(yǔ)句和利用LED來(lái)調(diào)試是不現(xiàn)實(shí)的,因?yàn)楝F(xiàn)在常常有如此之多的功能在執(zhí)行是不可能的,或者它們會(huì)影響標(biāo)準(zhǔn)I/O口,從而造成處理器性能大幅度下降。
  也可能發(fā)生這樣的情況:處理器的工作速度是如此之快,以至于LED的亮滅速度會(huì)快到人眼無(wú)法察覺(jué)。另外現(xiàn)代的嵌入式系統(tǒng)通常支持?jǐn)帱c(diǎn)的設(shè)定,但是伴隨這些處理器所運(yùn)行的代碼數(shù)量,使得這種類(lèi)型的斷點(diǎn)調(diào)試難以駕馭。中斷和多線(xiàn)程系統(tǒng)在代碼的任何一點(diǎn)上設(shè)置一個(gè)斷點(diǎn),可能都無(wú)法指示系統(tǒng)的正確狀態(tài)。由于斷點(diǎn)設(shè)置在物理內(nèi)存的某個(gè)地址上,索引不必了解線(xiàn)程的狀態(tài)。如果使用寄存器顯示方法,那么局部變量窗口和內(nèi)存窗口都將有助于隔離出所載入的不恰當(dāng)?shù)牧恐担牵捎谶@些是靜態(tài)化的工具,不能給出有意義的運(yùn)行中的調(diào)試信息,其適用性也常常很有限。
  實(shí)時(shí)嵌入式系統(tǒng)軟件最常見(jiàn)的調(diào)試問(wèn)題可以大致劃分為如下幾類(lèi):
  1. 同步問(wèn)題
  2. 內(nèi)存和寄存器訛誤(corruption)
  3. 與中斷相關(guān)的問(wèn)題
  4. 硬件配置問(wèn)題
  5. 異常情況
  同步問(wèn)題
  在任何系統(tǒng)中,只要有多串序線(xiàn)程或者進(jìn)程都在運(yùn)行,而且是異步共享數(shù)據(jù),則系統(tǒng)必然存在同步問(wèn)題。對(duì)于共享數(shù)據(jù)的全部操作必須是原子化的,也就是說(shuō),只有在一個(gè)線(xiàn)程或者進(jìn)程完成對(duì)數(shù)據(jù)的操作后,其它的線(xiàn)程才能對(duì)數(shù)據(jù)進(jìn)行操作。
  以圖1為例,線(xiàn)程A和線(xiàn)程B對(duì)共享變量“counter”進(jìn)行操作,A讓counter 增加,而B(niǎo)則讓counter減少。下方示出了線(xiàn)程A的counter++和線(xiàn)程B counter—的匯編代碼。假設(shè)線(xiàn)程B的優(yōu)先級(jí)要高于線(xiàn)程A,而線(xiàn)程A目前正在運(yùn)行,則線(xiàn)程B將被阻止。
  實(shí)時(shí)嵌入式系統(tǒng)調(diào)試解析
  舉例來(lái)說(shuō),假設(shè)初始的計(jì)數(shù)值是2,而線(xiàn)程A是執(zhí)行線(xiàn)程。則線(xiàn)程A讀入計(jì)數(shù)值,并送入一個(gè)寄存器,在使其增加一個(gè)增量后,再將其寫(xiě)回計(jì)數(shù)器變量上。
  在可搶先的多線(xiàn)程系統(tǒng)中,高優(yōu)先級(jí)的線(xiàn)程的執(zhí)行可以搶先于低優(yōu)先級(jí)的線(xiàn)程。例如,假定線(xiàn)程A執(zhí)行Reg1 = Reg1+1指令后,一個(gè)事件喚醒線(xiàn)程B。此時(shí),Reg1儲(chǔ)存量值3。現(xiàn)在線(xiàn)程B被喚醒(正如藍(lán)線(xiàn)所標(biāo)示的那樣),并讀入計(jì)數(shù)器的量值2(它尚未被線(xiàn)程A刷新)并將其量值減小到1。正如棕色的線(xiàn)所顯示的那樣,經(jīng)過(guò)一段時(shí)間,線(xiàn)程A恢復(fù)運(yùn)行,將Reg1寫(xiě)入計(jì)數(shù)器中,而該計(jì)數(shù)器的儲(chǔ)存量值為3。 在這個(gè)過(guò)程中,線(xiàn)程B的減量操作結(jié)果被丟棄。計(jì)數(shù)器存儲(chǔ)的量值變?yōu)?,即線(xiàn)程A進(jìn)行一次增量后,線(xiàn)程B又進(jìn)行了一次減量操作。被竄改的鏈接表則是另一個(gè)例子。如果數(shù)據(jù)被一個(gè)線(xiàn)程和中斷例程共享,則也會(huì)出現(xiàn)上面的問(wèn)題,因?yàn)橹袛嗟膱?zhí)行與線(xiàn)程的執(zhí)行之間是異步關(guān)系。
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1TC358743XBG評(píng)估板參考手冊(cè)
  2. 1.36 MB  |  330次下載  |  免費(fèi)
  3. 2開(kāi)關(guān)電源基礎(chǔ)知識(shí)
  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ī)開(kāi)發(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開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21548次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
  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ū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  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é)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183278次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)
主站蜘蛛池模板: 在线观看亚洲一区| 亚洲高清不卡视频| 免费看国产精品久久久久| 久久精品隔壁老王影院| 国产美女视频黄a视频免费全过程 国产美女视频黄a视频全免费网站 | 天天宗合网| 日本又粗又长一进一出抽搐| 免费成人黄色| 91福利网winktv| 亚洲综合在线观看一区www| bl高h文| 色最快国产| 美国色天使| 成人久久精品| 天天爱天天插| 五月婷婷六月丁香激情| 欧美美女福利视频| 天天噜噜噜| 欧美精品久久久久久久小说| 成人伊人亚洲人综合网站222| 天天干天天爽天天操| 1000部禁片黄的免费看| 九九热精品在线视频| 婷婷综合久久| 久久综合九色综合欧美狠狠| 18年大片免费在线| 国产精品久久精品福利网站| 欧美性色黄大片四虎影视| 婷婷6月| 狠狠色丁香婷婷综合久久片| 午夜免费视频| 日本三人交xxx69视频| 在线观看亚洲成人| 女人张开腿 让男人桶个爽 免费观看| 成人欧美一区二区三区视频| 神马午夜影院| 中文字幕视频二区| 特黄特色三级在线观看| 国产福利乳摇在线播放| 狼人射综合| 国产亚洲欧美一区二区|