幾種嵌入式ARM的調(diào)試方法
掃描二維碼
隨時(shí)隨地手機(jī)看文章
越來(lái)越多的人選擇從事嵌入式開(kāi)發(fā)工作,伴隨而來(lái)的便是各種對(duì)硬件和寄存器的抓耳撓腮。你真的認(rèn)為你現(xiàn)在的調(diào)試方式就是最合適的嗎?何不看看小粥為你帶來(lái)的嵌入式調(diào)試實(shí)用秘籍呢!
ARM應(yīng)用軟件的開(kāi)發(fā)工具根據(jù)功能的不同,分別有編譯軟件、匯編軟件、鏈接軟件、調(diào)試軟件、嵌入式實(shí)時(shí)操作系統(tǒng)、函數(shù)庫(kù)、評(píng)估板、JTAG仿真器、在線(xiàn)仿真器等,目前世界上約有四十多家公司提供以上不同類(lèi)別的產(chǎn)品。下面就由福州卓躍教育具體介紹。
使用集成開(kāi)發(fā)環(huán)境開(kāi)發(fā)基于ARM的應(yīng)用軟件,包括編輯、編譯、匯編、鏈接等工作全部在PC機(jī)上即可完成,調(diào)試工作則需要配合其他的模塊或產(chǎn)品方可完成,目前arm培訓(xùn)班常見(jiàn)的調(diào)試方法有以下幾種:
1、指令集模擬器
部分集成開(kāi)發(fā)環(huán)境提供了指令集模擬器,可方便用戶(hù)在PC機(jī)上完成一部分簡(jiǎn)單的調(diào)試工作,但是由于指令集模擬器與真實(shí)的硬件環(huán)境相差很大,因此即使用戶(hù)使用指令集模擬器調(diào)試通過(guò)的程序也有可能無(wú)法在真實(shí)的硬件環(huán)境下運(yùn)行,用戶(hù)最終必須在硬件平臺(tái)上完成整個(gè)應(yīng)用的開(kāi)發(fā)。
2、 駐留監(jiān)控軟件
駐留監(jiān)控軟件(Resident Monitors)是一段運(yùn)行在目標(biāo)板上的程序,集成開(kāi)發(fā)環(huán)境中的調(diào)試軟件通過(guò)以太網(wǎng)口、并行端口、串行端口等通訊端口與駐留監(jiān)控軟件進(jìn)行交互,由調(diào)試軟件發(fā)布命令通知駐留監(jiān)控軟件控制程序的執(zhí)行、讀寫(xiě)存儲(chǔ)器、讀寫(xiě)寄存器、設(shè)置斷點(diǎn)等。駐留監(jiān)控軟件是一種比較低廉有效的調(diào)試方式,不需要任何其他的硬件調(diào)試和仿真設(shè)備。ARM公司的Angel就是該類(lèi)軟件,大部分嵌入式實(shí)時(shí)操作系統(tǒng)也是采用該類(lèi)軟件進(jìn)行調(diào)試,不同的是在嵌入式實(shí)時(shí)操作系統(tǒng)中,駐留監(jiān)控軟件是作為操作系統(tǒng)的一個(gè)任務(wù)存在的。
3、 JTAG仿真器
JTAG仿真器也稱(chēng)為JTAG調(diào)試器,是通過(guò)ARM芯片的JTAG邊界掃描口進(jìn)行調(diào)試的設(shè)備。JTAG仿真器比較便宜,連接比較方便,通過(guò)現(xiàn)有的JTAG邊界掃描口與 ARM CPU 核通信,屬于完全非插入式(即不使用片上資源)調(diào)試,它無(wú)需目標(biāo)存儲(chǔ)器,不占用目標(biāo)系統(tǒng)的任何端口,而這些是駐留監(jiān)控軟件所必需的。另外,由于JTAG調(diào)試的目標(biāo)程序是在目標(biāo)板上執(zhí)行,仿真更接近于目標(biāo)硬件,因此,許多接口問(wèn)題,如高頻操作限制、AC和DC參數(shù)不匹配,電線(xiàn)長(zhǎng)度的限制等被最小化了。
4. 在線(xiàn)仿真器
在線(xiàn)仿真器使用仿真頭完全取代目標(biāo)板上的 CPU ,可以完全仿真 ARM 芯片的行為,提供更加深入的調(diào)試功能。但這類(lèi)仿真器為了能夠全速仿真時(shí)鐘速度高于 100MHz 的處理器,通常必須采用極其復(fù)雜的設(shè)計(jì)和工藝,因而其價(jià)格比較昂貴。在線(xiàn)仿真器通常用在 ARM 的硬件開(kāi)發(fā)中,在軟件的開(kāi)發(fā)中較少使用,其價(jià)格高昂也是在線(xiàn)仿真器難以普及的因素。