ESP32 JTAG 除錯 環境搭建

2021-09-26 14:48:21 字數 3154 閱讀 2755

今天學習一下 esp32jtag 環境的搭建,並在此記錄方便後面的使用

如果你使用 esp-idf v4.0 以上版本,並使用 install.sh 進行安裝過,該安裝會自動完成以下安裝過程!!!!!

目錄

第一步 從原始碼安裝 openocd

獲取openocd

安裝編譯依賴

構建 openocd

設定 openocd_scripts 環境變數

檢查安裝版本和路徑

第二步 使用 gdb 進行除錯

啟動 openocd

啟動開發板和monitor監視器(可選)

配置gdb

開始debug除錯

第三步 使用 eclipse 軟體輔助除錯

首先找到官方的介紹文件

這裡我使用的是 esp-wrover-kit 開發板,因為它板載了 jtag 除錯介面,無需使用外部的 jtag 硬體介面卡和額外的線纜來連線 jtag 與 esp32。esp-wrover-kit 採用 ft2232h 提供的 jtag 介面,可以穩定執行在 20 mhz 的時鐘頻率,外接的介面卡很難達到這個速度。

cd ~/esp

git clone --recursive

sudo apt-get install make

sudo apt-get install libtool

sudo apt-get install pkg-config

sudo apt-get install autoconf

sudo apt-get install automake

sudo apt-get install texinfo

sudo apt-get install libusb-1.0

配置和構建 openocd 的流程如下:

cd ~/esp/openocd-esp32

./bootstrap

./configure

make

//如果沒有安裝其他的openocd 在執行下面安裝

sudo make install

這樣 openocd 才能找到配置檔案

cd ~/esp/openocd-esp32

export openocd_scripts=$pwd/tcl

推薦將環境變數寫入 .sh 檔案中,放到 etc/profile.d 目錄下,這樣就不需要每次使用前再設定環境變數了 

例如我在 etc/profile.d 目錄下 建立了 esp32_tools.sh 檔案 內容是:

這樣 openocd 環境就配置好了

連線jtag

sudo openocd -f inte***ce/ftdi/esp32_devkitj_v1.cfg -f board/esp-wroom-32.cfg
注意如果不是用sudo可能會出現失敗的問題,啟動 openocd 之後要保持此視窗開啟

補充:openocd需要使用usb,建議(需要)把/usr/local/share/openocd/contrib/60-openocd.rules ( idf 4.0 自動安裝的路徑是  .espressif/tools/openocd-esp32/v0.10.0-esp32-20190708/openocd-esp32/share/openocd/contrib/60-openocd.rules ) 拷貝到 /etc/udev/rules.d ,這樣openocd就有使用usb除錯裝置的許可權了,不用每次sudo (配置完成後需要重啟生效)

在你要除錯的工程下面 建立乙個初始化配置檔案

當啟動偵錯程式時,通常需要提供幾個配置引數和命令,為了避免每次都在命令列中逐行輸入這些命令,我們可以新建乙個配置檔案,並將其命名為gdbinit:

target remote :3333

set remote hardware-watchpoint-limit 2

mon reset halt

flushregs

c

然後執行在終端中輸入以下內容,啟動 gdb:

xtensa-esp32-elf-gdb -x gdbinit build/blink.elf
這裡的 build/blink.elf 請切換到你工程的 elf 檔案路徑

你將有如下三個終端

三個終端中分別開啟了 make flash monitor 、 openocd 和 gdb ,

至此就可以使用 gdb 指令開始愉快的除錯了。(還可以使用 eclipse 輔助,那就更愉快了)。

gdb工具雖然好用,但是因為是命令列控制,工程比較大的時候,或者不夠熟悉gdb的時候使用起來就有些麻煩了,那麼有沒有什麼好的工具能夠幫助我們快速的使用 jtag 進行除錯呢? 目前 esp32支援使用 eclipse 進行 jtag debug 進行除錯。而且官方提供了教程。

使用 jtag 進行軟體除錯是非常方便的,能夠幫助我們迅速的定位問題,找到解決方案。所以 jtag 除錯工具是開發者不可或缺的好東西。

ESP32環境搭建

1,按照虛擬機器vm 3,按照對應的虛擬機器 環境 1,esp需要的編譯環境 gcc,g 版本是5.2 2,crosstool ng是1.22.0 一,按照git指令 sudo add apt repository ppa git core ppasudo apt get updatesudo ap...

ESP32 Linux開發環境搭建

交叉編譯鏈 linux 32位系統 linux 64位系統 在ubuntu 與windows 的共享資料夾 下 如何建立ubuntu與 windows 的共享資料夾,請看上一節內容 這樣既能在 ubuntu 操作,也能在 windows 操作,因為我的 編譯是在 linux bin檔案燒寫在 win...

ESP32環境搭建

安裝依賴包 make python等,因此我們需要先將這些軟體預裝好。gz 強迫症,解壓後把工具鏈的壓縮包刪掉 gz 強迫症,解壓後把工具鏈的壓縮包刪掉 rm xtensa esp32 elf linux32 1.22 0 61 gab8375a 5.2 0.tar gzecho export pa...