OpenOCD+DAP-LINK調試ESP32的失敗經歷

来源:https://www.cnblogs.com/liteng0305/archive/2023/01/01/17018299.html
-Advertisement-
Play Games

目的 手裡有調試STM32的DAP-LINK,想試試通過JTAG調試ESP32 OpenOCD支持CMSIS-DAP DAP-LINK支持的晶元,我手上這款描述如下,應該JTAG協議的都支持 平臺 windows10 + ESP-IDF ESP-WROOM-32E模組 + 燒錄底座 DAP-LINK ...


目的

手裡有調試STM32的DAP-LINK,想試試通過JTAG調試ESP32

OpenOCD支持CMSIS-DAP

DAP-LINK支持的晶元,我手上這款描述如下,應該JTAG協議的都支持

平臺

windows10 + ESP-IDF

ESP-WROOM-32E模組 + 燒錄底座

DAP-LINK

樂鑫OpenOCD

使用樂鑫官方的OpenOCD,結果無法識別CMSIS-DAP設備

F:\Espressif\tools\openocd-esp32\v0.11.0-esp32-20220706\openocd-esp32\share\openocd\scripts>F:\Espressif\tools\openocd-esp32\v0.11.0-esp32-20220706\openocd-esp32\bin\openocd.exe -f interface/cmsis-dap.cfg
Open On-Chip Debugger  v0.11.0-esp32-20220706 (2022-07-06-15:48)
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.org/doc/doxygen/bugs.html
adapter speed: 1000 kHz

Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Error: unable to find a matching CMSIS-DAP device


F:\Espressif\tools\openocd-esp32\v0.11.0-esp32-20220706\openocd-esp32\share\openocd\scripts>

官方OpenOCD

官方介面支持CMSIS-DAP,但是晶元並不支持ESP32

有cmsis-dap.cfg

沒有esp32的cfg

使用官方OpenOCD,配置文件使用樂鑫的,CMSIS-DAP可以正常識別,但確實不支持ESP32晶元

F:\Espressif\tools\openocd-esp32\v0.11.0-esp32-20220706\openocd-esp32\share\openocd\scripts>openocd -f interface/cmsis-dap.cfg
Open On-Chip Debugger 0.11.0 (2021-11-18) [https://github.com/sysprogs/openocd]
Licensed under GNU GPL v2
libusb1 09e75e98b4d9ea7909e8837b7a3f00dda4589dc3
For bug reports, read
        http://openocd.org/doc/doxygen/bugs.html
adapter speed: 1000 kHz

Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : CMSIS-DAP: SWD  supported
Info : CMSIS-DAP: JTAG supported
Info : CMSIS-DAP: Atomic commands supported
Info : CMSIS-DAP: FW Version = 1.10
Info : CMSIS-DAP: Interface Initialised (JTAG)
Info : SWCLK/TCK = 1 SWDIO/TMS = 1 TDI = 1 TDO = 1 nTRST = 0 nRESET = 1
Info : CMSIS-DAP: Interface ready
Info : clock speed 1000 kHz
Error: session transport was not selected. Use 'transport select <transport>'
Error: Transports available:
Error: swd
Error: jtag



F:\Espressif\tools\openocd-esp32\v0.11.0-esp32-20220706\openocd-esp32\share\openocd\scripts>openocd -f interface/cmsis-dap.cfg -f board/esp-wroom-32.cfg
Open On-Chip Debugger 0.11.0 (2021-11-18) [https://github.com/sysprogs/openocd]
Licensed under GNU GPL v2
libusb1 09e75e98b4d9ea7909e8837b7a3f00dda4589dc3
For bug reports, read
        http://openocd.org/doc/doxygen/bugs.html
adapter speed: 1000 kHz

WARNING: boards/esp-wroom-32.cfg is deprecated, and may be removed in a future release.
target/esp32.cfg:53: Error: Unknown target type esp32, try one of arm7tdmi, arm9tdmi, arm920t, arm720t, arm966e, arm946e, arm926ejs, fa526, feroceon, dragonite, xscale, cortex_m, cortex_a, cortex_r4, arm11, ls1_sap, mips_m4k, avr, dsp563xx, dsp5680xx, testee, avr32_ap7k, hla_target, nds32_v2, nds32_v3, nds32_v3m, or1k, quark_x10xx, quark_d20xx, stm8, riscv, mem_ap, esirisc, arcv2, aarch64,  or mips_mips64
in procedure 'script'
at file "embedded:startup.tcl", line 26
at file "board/esp-wroom-32.cfg", line 5
at file "target/esp32.cfg", line 53

F:\Espressif\tools\openocd-esp32\v0.11.0-esp32-20220706\openocd-esp32\share\openocd\scripts>

結論

  1. 樂鑫OpenOCD不支持CMSIS-DAP

  2. 官方OpenOCD支持CMSIS-DAP,但是不支持樂鑫的晶元

  3. 寄,還是下單了ESPLink


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言: 前面的四個章節我們主要講解了MongoDB的相關基礎知識,接下來我們就開始進入使用.NET7操作MongoDB開發一個ToDoList系統實戰教程。本章節主要介紹的是如何快熟搭建一個簡單明瞭的後端項目框架。 MongoDB從入門到實戰的相關教程 MongoDB從入門到實戰之MongoDB簡介 ...
  • 在實際業務中,當後臺數據發生變化,客戶端能夠實時的收到通知,而不是由用戶主動的進行頁面刷新才能查看,這將是一個非常人性化的設計。有沒有那麼一種場景,後臺數據明明已經發生變化了,前臺卻因為沒有及時刷新,而導致頁面顯示的數據與實際存在差異,從而造成錯誤的判斷。那麼如何才能在後臺數據變更時及時通知客戶端呢... ...
  • 一、獲取微信支付碼url (1)獲取微信支付碼url主方法 /// <summary> /// 獲取微信支付二維碼 /// </summary> /// <param name="log">日誌</param> /// <param name="orderId">訂單編號</param> /// < ...
  • 目前項目當中存有 .NET Framework 和 .NET Core 兩種類型的項目,但是都需要進行容器化將其分別部署在 Windows 集群和 Linux 集群當中。在 WCF 進行容器化的時候,遇到了以下幾個問題: 1. 某些服務使用到了 WSHttpBinding 保護服務安全,要在容器里... ...
  • 主題 2 Shell工具和腳本 Shell 工具和腳本 · the missing semester of your cs education (missing-semester-cn.github.io) Shell腳本 shell 腳本是一種更加複雜度的工具。 定義變數 在bash中為變數賦值的 ...
  • 用的是全志的R528 SDK,Linux內核是5.4,新增加一個250000的非標準波特率 參考網路大神文檔,實踐並記錄寶貴的經驗。 方法: 1、修改內核的/include/uapi/asm-generic/termbits.h文件 這個CBAUD原來是0010017改為0030017,是用來做掩碼 ...
  • Linux系統下卸載mysql 停止mysql服務 systemctl stop mysqld.service 查看安裝的mysql服務 rpm -qa|grep -i mysql 刪除安裝的mysql服務 rpm -e --nodeps mysql相關服務 #例如: rpm -e --nodeps ...
  • 登陸 登陸伺服器 ssh user@hostname user: 用戶名 hostname :IP地址或功能變數名稱 第一次登陸會提示 The authenticity of host '123.57.47.211 (123.57.47.211)' can't be established. ECDSA k ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...