ARM 開(kāi)發(fā)的調(diào)試方法概述
用戶(hù)選用 ARM 處理器開(kāi)發(fā)嵌入式系統(tǒng)時(shí),選擇合適的開(kāi)發(fā)工具可以加快開(kāi)發(fā)進(jìn)度,節(jié)省開(kāi)發(fā)成本。因此一套含有編輯軟件、編譯軟件、匯編軟件、鏈接軟件、調(diào)試軟件、工程管理及函數(shù)庫(kù)的集成開(kāi)發(fā)環(huán)境( IDE )一般來(lái)說(shuō)是必不可少的,至于嵌入式實(shí)時(shí)操作系統(tǒng)、評(píng)估板等其他開(kāi)發(fā)工具則可以根據(jù)應(yīng)用軟件規(guī)模和開(kāi)發(fā)計(jì)劃選用。
使用集成開(kāi)發(fā)環(huán)境開(kāi)發(fā)基于 ARM 的應(yīng)用軟件,包括編輯、編譯、匯編、鏈接等工作全部在 PC 機(jī)上即可完成,調(diào)試工作則需要配合其他的模塊或產(chǎn)品方可完成,目前常見(jiàn)的調(diào)試方法有以下幾種:
指令集模擬器
部分集成開(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ā)。
駐留監(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ù)存在的。
駐留監(jiān)控軟件的不便之處在于它對(duì)硬件設(shè)備的要求比較高,一般在硬件穩(wěn)定之后才能進(jìn)行應(yīng)用軟件的開(kāi)發(fā),同時(shí)它占用目標(biāo)板上的一部分資源,而且不能對(duì)程序的全速運(yùn)行進(jìn)行完全仿真,所以對(duì)一些要求嚴(yán)格的情況不是很適合。
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ù)不匹配,電線長(zhǎng)度的限制等被最小化了。使用集成開(kāi)發(fā)環(huán)境配合 JTAG 仿真器進(jìn)行開(kāi)發(fā)是目前采用最多的一種調(diào)試方式。
在線仿真器
在線仿真器使用仿真頭完全取代目標(biāo)板上的 CPU ,可以完全仿真 ARM 芯片的行為,提供更加深入的調(diào)試功能。但這類(lèi)仿真器為了能夠全速仿真時(shí)鐘速度高于 100MHz 的處理器,通常必須采用極其復(fù)雜的設(shè)計(jì)和工藝,因而其價(jià)格比較昂貴。在線仿真器通常用在 ARM 的硬件開(kāi)發(fā)中,在軟件的開(kāi)發(fā)中較少使用,其價(jià)格高昂也是在線仿真器難以普及的因素。
文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。