久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6828|回復: 0
打印 上一主題 下一主題
收起左側

嵌入式硬件調試和軟件調試

[復制鏈接]
跳轉到指定樓層
樓主
ID:155829 發表于 2016-12-20 10:53 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
相對于軟件調試而言,使用硬件調試器可以獲得更強大的調試功能和更優秀的調試性能。硬件調試器的基本原理是通過仿真硬件的執行過程,讓開發者在調試時可以隨時了解到系統的當前執行情況。目前嵌入式系統開發中最常用到的硬件調試器是ROM Monitor、ROM Emulator、In-Circuit Emulator和In-Circuit Debugger。
采用ROM Monitor方式進行交叉調試需要在宿主機上運行調試器,在目標機上運行ROM監視器(ROM Monitor)和被調試程序,宿主機通過調試器與目標機上的ROM監視器建立通信連接,它們之間的通信遵循遠程調試協議。ROM監視器可以是一段運行在目標機ROM上的可執行程序,也可以是一個專門的硬件調試設備,它負責監控目標機上被調試程序的運行情況,能夠與宿主機端的調試器一同完成對應用程序的調試。在使用這種調試方式時,被調試程序首先通過ROM監視器下載到目標機,然后在ROM監視器的監控下完成調試,目前使用的絕大部分ROM監視器能夠完成設置斷點、單步執行、查看寄存器、修改內存空間等各項調試功能。
采用ROM Emulator方式進行交叉調試時需要使用ROM仿真器,它通常被插入到目標機上的ROM插槽中,專門用于仿真目標機上的ROM芯片。在使用這種調試方式時,被調試程序首先下載到ROM仿真器中,它等效于下載到目標機的ROM芯片上,然后在ROM仿真器中完成對目標程序的調試。ROM Emulator調試方式通過使用一個ROM仿真器,雖然避免了每次修改程序后都必須重新燒寫到目標機ROM中這一費時費力的操作,但由于ROM仿真器本身比較昂貴,功能相對來講又比較單一,因此只適應于某些特定場合。
采用In-Circuit Emulator(ICE)方式進行交叉調試時需要使用在線仿真器,它是仿照目標機上的CPU而專門設計的硬件,可以完全仿真處理器芯片的行為,并且提供了非常豐富的調試功能。在使用在線仿真器進行調試的過程中,可以按順序單步執行,也可以倒退執行,還可以實時查看所有需要的數據,從而給調試過程帶來了很多的便利。嵌入式系統應用的一個顯著特點是與現實世界中的硬件直接相關,存在各種異變和事先未知的變化,從而給微處理器的指令執行帶來各種不確定因素,這種不確定性在目前情況下只有通過在線仿真器才有可能發現,因此盡管在線仿真器的價格非常昂貴,但仍然得到了非常廣泛的應用。
采用In-Circuit Debugger(ICD)方式進行交叉調試時需要使用在線調試器。由于ICE的價格非常昂貴,并且每種CPU都需要一種與之對應的ICE,使得開發成本非常高,一個比較好的解決辦法是讓CPU直接在其內部實現調試功能,并通過在開發板上引出的調試端口,發送調試命令和接收調試信息,完成調試過程。目前Motorola公司提供的開發板上使用的是DBM調試端口,而ARM公司提供的開發板上使用的則是JTAG調試端口,使用合適的軟件工具與這些調試端口進行連接,可以獲得與ICE類似的調試效果。
軟件調試
軟件調試通常要在不同的層次上進行,有時可能需要對嵌入式操作系統的內核進行調試,而有時可能僅僅只需要調試嵌入式應用程序就可以了。在嵌入式系統的整個開發過程中,不同層次上的軟件調試需要使用不同的調試方法。
嵌入式操作系統的內核調試相對來講比較困難,這是因為在內核中不便于增加一個調試器程序,而只能通過遠程調試的方法,通過串口和操作系統內置的"調試樁"(debug stub)進行通信,共同完成調試過程。調試樁可以看成是一個調試服務器,它通過操作系統獲得一些必要的調試信息,并且負責處理宿主機發送來的調試命令。具體到嵌入式Linux系統內核,調試時可以先在Linux內核中設置一個調試樁,用作調試過程中和宿主機之間的通信服務器,然后就可以在宿主機中通過調試器的串口與調試樁進行通信,并通過調試器控制目標機上Linux內核的運行。
嵌入式應用軟件的調試可以使用本地調試和遠程調試兩種方法,相對于操作系統的調試而言,這兩種方式都比較簡單。如果采用的是本地調試,首先要將所需的調試器移植到目標系統中,然后就可以直接在目標機上運行調試器來調試應用程序了;如果采用的是遠程調試,則需要移植一個調試服務器到目標系統中,并通過它與宿主機上的調試器共同完成應用程序的調試。在嵌入式Linux系統的開發中,遠程調試時目標機上使用的調試服務器通常是gdbserver,而宿主機上使用的調試器則是gdb,兩者相互配合共同完成調試過程。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 69xxx免费| 久久久久国产 | 国产精品久久欧美久久一区 | 久久久久国产 | 日韩在线观看精品 | 成人福利网站 | 久色视频在线观看 | 国产精品久久久久久网站 | 国产精品区一区二区三区 | 中文一区二区 | 国产在线一区二区 | 国产精品.xx视频.xxtv | 日韩激情在线 | 国产高清毛片 | 毛片大全| 国产精品永久久久久久久www | 毛片区 | 黄网站涩免费蜜桃网站 | 精品国产高清一区二区三区 | 国产91亚洲精品一区二区三区 | 蜜桃久久 | 色嗨嗨 | 国产精品亚洲综合 | 欧美在线a | 一区二区三区免费网站 | 欧美日韩国产精品激情在线播放 | 国产一区久久 | 国产精品日产欧美久久久久 | 91视频大全| 国产福利视频在线观看 | 天天爽夜夜爽精品视频婷婷 | 久久久91精品国产一区二区三区 | 国产一区二区三区四区 | 毛片入口 | 欧美日韩一区二区三区四区 | 五月天综合网 | 一级片av| 日本精品久久久久久久 | 久青草影院| 亚洲成人国产综合 | 欧美 日韩 亚洲91麻豆精品 |