ARM開(kāi)發(fā)板的調試方法概述
使用集成開(kāi)發(fā)環(huán)境開(kāi)發(fā)基于A(yíng)RM的應用軟件,包括編輯、編譯、匯編、鏈接等工作全部在PC機上即可完成,調試工作則需要配合其他的模塊或產(chǎn)品方可完成,目前常見(jiàn)的調試方法有以下幾種:
1、指令集模擬器
部分集成開(kāi)發(fā)環(huán)境提供了指令集模擬器,可方便用戶(hù)在PC機上完成一部分簡(jiǎn)單的調試工作,但是由于指令集模擬器與真實(shí)的硬件環(huán)境相差很大,因此即使用戶(hù)使用指令集模擬器調試通過(guò)的程序也有可能無(wú)法在真實(shí)的硬件環(huán)境下運行,用戶(hù)最終必須在硬件平臺上完成整個(gè)應用的開(kāi)發(fā)。
2、駐留監控軟件
駐留監控軟件(Resident Monitors)是一段運行在目標板上的程序,集成開(kāi)發(fā)環(huán)境中的調試軟件通過(guò)以太網(wǎng)口、并行端口、串行端口等通訊端口與駐留監控軟件進(jìn)行交互,由調試軟件發(fā)布命令通知駐留監控軟件控制程序的執行、讀寫(xiě)存儲器、讀寫(xiě)寄存器、設置斷點(diǎn)等。
駐留監控軟件是一種比較低廉有效的調試方式,不需要任何其他的硬件調試和仿真設備。ARM公司的Angel就是該類(lèi)軟件,大部分嵌入式實(shí)時(shí)操作系統也是采用該類(lèi)軟件進(jìn)行調試,不同的是在嵌入式實(shí)時(shí)操作系統中,駐留監控軟件是作為操作系統的一個(gè)任務(wù)存在的。
駐留監控軟件的不便之處在于它對硬件設備的要求比較高,一般在硬件穩定之后才能進(jìn)行應用軟件的開(kāi)發(fā),同時(shí)它占用目標板上的一部分資源,而且不能對程序的全速運行進(jìn)行完全仿真,所以對一些要求嚴格的情況不是很適合。
3、JTAG仿真器
JTAG仿真器也稱(chēng)為JTAG調試器,是通過(guò)ARM芯片的JTAG邊界掃描口進(jìn)行調試的設備。JTAG仿真器比較便宜,連接比較方便,通過(guò)現有的JTAG邊界掃描口與 ARM CPU 核通信,屬于完全非插入式(即不使用片上資源)調試,它無(wú)需目標存儲器,不占用目標系統的任何端口,而這些是駐留監控軟件所必需的。另外,由于JTAG調試的目標程序是在目標板上執行,仿真更接近于目標硬件,因此,許多接口問(wèn)題,如高頻操作限制、AC和DC參數不匹配,電線(xiàn)長(cháng)度的限制等被最小化了。使用集成開(kāi)發(fā)環(huán)境配合JTAG仿真器進(jìn)行開(kāi)發(fā)是目前采用最多的一種調試方式。
4、在線(xiàn)仿真器
在線(xiàn)仿真器使用仿真頭完全取代目標板上的CPU,可以完全仿真ARM芯片的行為,提供更加深入的調試功能。但這類(lèi)仿真器為了能夠全速仿真時(shí)鐘速度高于100MHz的處理器,通常必須采用極其復雜的設計和工藝,因而其價(jià)格比較昂貴。在線(xiàn)仿真器通常用在A(yíng)RM的硬件開(kāi)發(fā)中,在軟件的開(kāi)發(fā)中較少使用,其價(jià)格高昂也是在線(xiàn)仿真器難以普及的因素。
評論