新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 業(yè)界動(dòng)態(tài) > 在Eclipse IDE 環(huán)境下使用Lauterbach公司的TRACE32調(diào)試工具

在Eclipse IDE 環(huán)境下使用Lauterbach公司的TRACE32調(diào)試工具

作者: 時(shí)間:2010-11-08 來(lái)源:電子產(chǎn)品世界 收藏

  當(dāng)需要使用Trace32軟件調(diào)試多個(gè)Eclipes項(xiàng)目是,可以把選項(xiàng):“Use this launch for all projects”, 選上,就可以實(shí)現(xiàn)多個(gè)項(xiàng)目在同一個(gè)Trace32應(yīng)用實(shí)例軟件內(nèi)的調(diào)試。 Trace32提供的Eclipse插件同樣可以支持對(duì)多內(nèi)核系統(tǒng)的調(diào)試, 具體配置請(qǐng)參考文檔:

本文引用地址:http://2s4d.com/article/114291.htm

  http://www.lauterbach.com/eclipse/doc/int_eclipse.pdf.

  這樣通過(guò) 提供的Trace32 Eclipse插件,就可以擴(kuò)展許多的新的功能屬性,例如:從Eclipse啟動(dòng)配置中啟動(dòng)Trace32調(diào)試軟件,支持多項(xiàng)目/多核的調(diào)試,同步Eclipse IDE 和軟件中的斷點(diǎn),從Trace32調(diào)試軟件界面中調(diào)用/打開原代碼文件或者反之依然等。接下來(lái)我們將以實(shí)際的項(xiàng)目來(lái)介紹

  這些方便而強(qiáng)大的功能。

  三:使用實(shí)例

  1. 創(chuàng)建嵌入式系統(tǒng)應(yīng)用程序

  在Eclipse IDE環(huán)境下,我們可以很方便的創(chuàng)建各種工程,也可以根據(jù)需要選擇不同的編譯器和連接器。用戶可以使用相同的GUI編輯不同的應(yīng)用程序, 配置完成后,我們只需要點(diǎn)擊“build”按鈕就可以生成我們所需要的可執(zhí)行文件。接下來(lái)我們要做的就是運(yùn)行和調(diào)試該可執(zhí)行程序。

  2. 運(yùn)行和調(diào)試可執(zhí)行程序

  要運(yùn)行可執(zhí)行程序,就需要把可執(zhí)行程序下載到目標(biāo)系統(tǒng)上才可以運(yùn)行和調(diào)試. 通常情況下有兩種方式,一種是通過(guò) Trace32硬件連接用戶的目標(biāo)板, 另外一種方式是利用Lauterbach Trace32軟件仿真功能. 也可以通過(guò)Lauterbach Trace32軟件直接連接用戶的原型軟件,使得用戶早期程序開發(fā)和芯片設(shè)計(jì)并行進(jìn)行.配置完成后,這些操作都可以通過(guò)在Eclipse IDE 界面中一鍵完成.所有這些情況都可以配置成一鍵操作模式,對(duì)用戶來(lái)講是完全透明的概念. 只需要執(zhí)行/點(diǎn)擊”Debug”按鈕,就可以啟動(dòng)Trace32調(diào)試界面.并且跳到用戶希望的程序狀態(tài).

  3. 斷點(diǎn)同步機(jī)制

  Eclipse Trace32插件一個(gè)重要的應(yīng)用就是可以提供同步斷點(diǎn), 該斷點(diǎn)同步機(jī)制允許用戶在Eclipse的編輯窗口中編輯程序的時(shí)候設(shè)置斷點(diǎn).但因?yàn)镋clipse的編輯器只能識(shí)別原代碼,無(wú)法識(shí)別內(nèi)存地址,匯編指令等,所以同步斷點(diǎn)限于高級(jí)語(yǔ)言程序斷點(diǎn)的概念。和Trace32軟件類似, 任何設(shè)置在沒有執(zhí)行指令的原代碼行的斷點(diǎn),都將自動(dòng)設(shè)定到下一帶有執(zhí)行指令的原程序行。例如在如下代碼的第一行設(shè)置的斷點(diǎn),會(huì)自動(dòng)被轉(zhuǎn)移當(dāng)?shù)谌写a的地址上。

  1: #define DOO 1

  2: #define FOO “hello.c”

  O 3: int main(int argc, char** argv)

  同步斷點(diǎn)顯然可以為工程師提供了極大的方便,因?yàn)楣こ處熆梢栽谧约菏煜さ木庉嬡浖h(huán)境下,在編寫代碼的同時(shí)在需要的地址上設(shè)置斷點(diǎn),并且利用編輯軟件的專業(yè)屬性可以很快捷的找到所需代碼或函數(shù)/變量的位置。即時(shí)在編輯窗口中的修改和調(diào)整代碼,提高程序調(diào)試的效率。 但是在如下兩種情況下,當(dāng)研發(fā)人員在Eclips代碼編輯窗口中設(shè)置斷點(diǎn)時(shí),就會(huì)出現(xiàn)斷點(diǎn)設(shè)置或者無(wú)法識(shí)別符號(hào)信息等錯(cuò)誤。

  1. 目標(biāo)板系統(tǒng)在被正常初始化完成之前(例如:片選寄存器,時(shí)鐘,堆棧等)。

  2. 符號(hào)表信息被加載之前。

  針對(duì)這些特殊情況的需求,Lauterbach 提供了專用的命令:

  setup.breaktransfer [on | off] default: OFF

  該命令可以默認(rèn)是關(guān)閉的狀態(tài),所以需要在腳本中或手動(dòng)的輸入命令激活該屬性,在該屬性激活之前,沒有斷點(diǎn)會(huì)被同步轉(zhuǎn)換,但是卻也可以在Eclipse的編輯窗口中設(shè)置斷點(diǎn),Eclipse IDE會(huì)把斷點(diǎn)都記錄下來(lái),在條件滿足的情況下,一旦該屬性被打開,立刻就會(huì)被同步轉(zhuǎn)換到Trace32調(diào)試軟件環(huán)境中。請(qǐng)參考如下的實(shí)例腳本:斷點(diǎn)轉(zhuǎn)換的屬性一開始是關(guān)閉的狀態(tài),在經(jīng)過(guò)必要的目標(biāo)系統(tǒng)初始化和符號(hào)表加載之后,再打開斷點(diǎn)同步轉(zhuǎn)換的屬性。以保證編輯窗口和調(diào)試窗口信息的正確結(jié)合。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉