新聞中心

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

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

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

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

        本文引用地址:http://www.104case.com/article/114291.htm

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

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

          這些方便而強大的功能。

          三:使用實例

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

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

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

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

          3. 斷點同步機制

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

          1: #define DOO 1

          2: #define FOO “hello.c”

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

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

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

          2. 符號表信息被加載之前。

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

          setup.breaktransfer [on | off] default: OFF

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



        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 海晏县| 双辽市| 永靖县| 通道| 台中市| 竹北市| 邵阳县| 天镇县| 西畴县| 商城县| 海城市| 保山市| 七台河市| 洪湖市| 灵石县| 界首市| 高尔夫| 昆山市| 怀远县| 岚皋县| 石河子市| 阿巴嘎旗| 翁牛特旗| 榆社县| 青海省| 商南县| 炉霍县| 平阴县| 奎屯市| 聂拉木县| 松滋市| 稷山县| 麻阳| 临安市| 宾川县| 廊坊市| 南华县| 高清| 通河县| 从化市| 建水县|