jz2440使用openjtag+openocd+eclipse調試【學習筆記】


 

平台:jz2440

作者:庄澤彬(歡迎轉載,請注明作者)

說明:韋東山二期視頻學習筆記

交叉編譯工具:arm-linux-gcc (GCC) 3.4.5

eclipse版本:eclipse-cpp-luna-SR2-win32-x86_64

PC環境:win10

說明:本文主要說明如何使用openjtag調試工具,進行單步調試。

一、安裝openocd、交叉編譯工具鏈

切換到圖1所示的目錄依次安裝01.OpenOCD with GUI setup.exe、02.yagarto-bu-2.18_gcc-4.2.2-c-c++_nl-1.16.0_gi-6.8.50_20080408.exe、03.yagarto-tools-20070303-setup.exe如果安裝失敗就使用管理員的模式安裝。

圖1

二、安裝eclipse

  由於資料提供的eclipse是32版本的,因此我們需要重新下載eclipse,並且安裝zylin插件。https://www.eclipse.org/downloads/packages/release/luna/r/eclipse-ide-cc-developers在這個鏈接下載window64位版本的eclipse,本文采用的是eclipse-cpp-luna-SR2-win32-x86_64這個版本的eclipse,之前折騰了一段時間發現最新版本的eclipse安裝zyin會失敗,因此不建議使用最新版本的eclipse。還有需要注意的就是jdk版本太新也會出問題,之前采用jdk10,一直出了很多問題,后面改用jdk8解決問題。一定要注意jdk與eclipse不要采用最新版本。

三、使用openocd進行調試:

  3.1打開openocd軟件

  

 

 

圖2

  3.2 Work Dir切換到存放要調試的二進制文件所在的目錄,注意不要帶有中文字符,點擊connetc,就會識別設備,之后在點擊telnent,會彈出圖4的界面,如果系統沒有開啟telent,自己百度如果在win10打開telnet服務,切換到telnet窗口我們就可以通過openjtag調試程序.

 圖3

圖4

   3.3調試常用的命令

  poll:       查詢板子的當前狀態

  halt:         暫停程序的運行,燒錄軟件之前需要暫停。

  load_image: 燒錄指定的鏡像文件

  resum 0 :      從0地址開始運行

  step :          進行單步調試

  reg:               查看寄存器的值

  使用這種方法調試,每調試一步就得使用reg查看寄存器的值,要結合反匯編文件一起分析,使用這種方法相對來說比較麻煩.

  

  

  圖5

  

圖6

 

   3.4使用openjtag+openocd+elipse進行源碼級別的單步調試。這次的實驗是sdram上運行的,因此,我們需要先燒錄圖7所示的init.bin文件,先對sdram進行初始化,才能夠進行實驗。之后打開eclipse。

  

  圖7

   打開eclipse進行工程的相關配置:

  File->NEW->Project新建一個c project,設置工程名字以及工程的源碼以及鏡像文件所在的目錄,之后點擊finish。圖14是最后的實驗結果,能夠成功的使用openjtag進行單步調試。

  

  圖8

圖9

  如圖10所示,設置一個debug的配置選項,之后按照圖10,圖11,圖12,圖13,進行配置,配置完之后點擊圖13進行調試。

圖10

圖11

圖12

 

圖13

 

 

 

 圖14

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM