在Eclipse IDE 環(huán)境下使用Lauterbach公司的TRACE32調試工具
當需要使用Trace32軟件調試多個Eclipes項目是,可以把選項:“Use this launch for all projects”, 選上,就可以實現(xiàn)多個項目在同一個Trace32應用實例軟件內的調試。Lauterbach Trace32提供的Eclipse插件同樣可以支持對多內核系統(tǒng)的調試, 具體配置請參考文檔:
本文引用地址:http://www.ex-cimer.com/article/114291.htmhttp://www.lauterbach.com/eclipse/doc/int_eclipse.pdf.
這樣通過Lauterbach 提供的Trace32 Eclipse插件,就可以擴展許多的新的功能屬性,例如:從Eclipse啟動配置中啟動Trace32調試軟件,支持多項目/多核的調試,同步Eclipse IDE 和TRACE32軟件中的斷點,從Trace32調試軟件界面中調用/打開原代碼文件或者反之依然等。接下來我們將以實際的項目來介紹
這些方便而強大的功能。
三:使用實例
1. 創(chuàng)建嵌入式系統(tǒng)應用程序
在Eclipse IDE環(huán)境下,我們可以很方便的創(chuàng)建各種工程,也可以根據需要選擇不同的編譯器和連接器。用戶可以使用相同的GUI編輯不同的應用程序, 配置完成后,我們只需要點擊“build”按鈕就可以生成我們所需要的可執(zhí)行文件。接下來我們要做的就是運行和調試該可執(zhí)行程序。
2. 運行和調試可執(zhí)行程序
要運行可執(zhí)行程序,就需要把可執(zhí)行程序下載到目標系統(tǒng)上才可以運行和調試. 通常情況下有兩種方式,一種是通過Lauterbach Trace32硬件連接用戶的目標板, 另外一種方式是利用Lauterbach Trace32軟件仿真功能. 也可以通過Lauterbach Trace32軟件直接連接用戶的原型軟件,使得用戶早期程序開發(fā)和芯片設計并行進行.配置完成后,這些操作都可以通過在Eclipse IDE 界面中一鍵完成.所有這些情況都可以配置成一鍵操作模式,對用戶來講是完全透明的概念. 只需要執(zhí)行/點擊”Debug”按鈕,就可以啟動Trace32調試界面.并且跳到用戶希望的程序狀態(tài).
3. 斷點同步機制
Eclipse Trace32插件一個重要的應用就是可以提供同步斷點, 該斷點同步機制允許用戶在Eclipse的編輯窗口中編輯程序的時候設置斷點.但因為Eclipse的編輯器只能識別原代碼,無法識別內存地址,匯編指令等,所以同步斷點限于高級語言程序斷點的概念。和Trace32軟件類似, 任何設置在沒有執(zhí)行指令的原代碼行的斷點,都將自動設定到下一帶有執(zhí)行指令的原程序行。例如在如下代碼的第一行設置的斷點,會自動被轉移當?shù)谌写a的地址上。
1: #define DOO 1
2: #define FOO “hello.c”
O 3: int main(int argc, char** argv)
同步斷點顯然可以為工程師提供了極大的方便,因為工程師可以在自己熟悉的編輯軟件環(huán)境下,在編寫代碼的同時在需要的地址上設置斷點,并且利用編輯軟件的專業(yè)屬性可以很快捷的找到所需代碼或函數(shù)/變量的位置。即時在編輯窗口中的修改和調整代碼,提高程序調試的效率。 但是在如下兩種情況下,當研發(fā)人員在Eclips代碼編輯窗口中設置斷點時,就會出現(xiàn)斷點設置或者無法識別符號信息等錯誤。
1. 目標板系統(tǒng)在被正常初始化完成之前(例如:片選寄存器,時鐘,堆棧等)。
2. 符號表信息被加載之前。
針對這些特殊情況的需求,Lauterbach 提供了專用的命令:
setup.breaktransfer [on | off] default: OFF
該命令可以默認是關閉的狀態(tài),所以需要在腳本中或手動的輸入命令激活該屬性,在該屬性激活之前,沒有斷點會被同步轉換,但是卻也可以在Eclipse的編輯窗口中設置斷點,Eclipse IDE會把斷點都記錄下來,在條件滿足的情況下,一旦該屬性被打開,立刻就會被同步轉換到Trace32調試軟件環(huán)境中。請參考如下的實例腳本:斷點轉換的屬性一開始是關閉的狀態(tài),在經過必要的目標系統(tǒng)初始化和符號表加載之后,再打開斷點同步轉換的屬性。以保證編輯窗口和調試窗口信息的正確結合。
評論