【前言】
OpenOCD 是一个用于嵌入式开发的开源工具,它通过调试器(如 J-Link、ST-Link)与目标板通信,用于调试、烧录和分析嵌入式设备的运行状态。它支持多种接口(如 JTAG、SWD)和架构(如 ARM Cortex-M、RISC-V)。
主要功能:
芯片烧录(Flash 编程)
在线调试(配合 GDB)
芯片寄存器操作
支持多核系统
2. 工作原理
OpenOCD 充当调试器和目标芯片之间的桥梁:
Host 端: 运行 OpenOCD 和 GDB。
Interface: 调试器硬件(如 J-Link)。
Target: 目标芯片。
【安装】
我记得在以前的macos下面安装openocd是有点小麻烦的,而且,如果大家安装过一些如RT-Thread Studio他也会安装一个openocd。
这里我尝试使用brew来安装
brew install openocd
结果非常顺利的安装上了。
在安装之前,安装了非常多的依赖:
==> Auto-updating Homebrew... Adjust how often this is run with HOMEBREW_AUTO_UPDATE_SECS or disable with HOMEBREW_NO_AUTO_UPDATE. Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`). ==> Auto-updated Homebrew! Updated 2 taps (homebrew/core and homebrew/cask). ==> New Formulae codesnap ==> New Casks font-nanum-square macai font-nanum-square-neo serial-studio font-nanum-square-round ==> Fetching dependencies for open-ocd: libunistring, gettext, capstone, hidapi, icu4c@76, xz, lz4, zstd, boost, confuse, libusb and libftdi ==> Fetching libunistring ==> Downloading https://mirrors.ustc.edu.cn/homebrew-bottles/libunistrin ################################################################# 100.0% ==> Fetching gettext ==> Downloading https://mirrors.ustc.edu.cn/homebrew-bottles/gettext-0.2 ################################################################# 100.0% ==> Fetching capstone ==> Downloading https://mirrors.ustc.edu.cn/homebrew-bottles/capstone-5. ################################################################# 100.0% ==> Fetching hidapi ==> Downloading https://mirrors.ustc.edu.cn/homebrew-bottles/hidapi-0.14 ################################################################# 100.0% ==> Fetching icu4c@76 ==> Downloading https://mirrors.ustc.edu.cn/homebrew-bottles/icu4c%4076- ################################################################# 100.0% ==> Fetching xz ==> Downloading https://mirrors.ustc.edu.cn/homebrew-bottles/xz-5.6.3.ar ################################################################# 100.0% ==> Fetching lz4 ==> Downloading https://mirrors.ustc.edu.cn/homebrew-bottles/lz4-1.10.0. ################################################################# 100.0% ==> Fetching zstd ==> Downloading https://mirrors.ustc.edu.cn/homebrew-bottles/zstd-1.5.6. ################################################################# 100.0% ==> Fetching boost ==> Downloading https://mirrors.ustc.edu.cn/homebrew-bottles/boost-1.87. ################################################################# 100.0% ==> Fetching confuse ==> Downloading https://mirrors.ustc.edu.cn/homebrew-bottles/confuse-3.3 ################################################################# 100.0% ==> Fetching libusb ==> Downloading https://mirrors.ustc.edu.cn/homebrew-bottles/libusb-1.0. ################################################################# 100.0% ==> Fetching libftdi ==> Downloading https://mirrors.ustc.edu.cn/homebrew-bottles/libftdi-1.5 ################################################################# 100.0% ==> Fetching open-ocd ==> Downloading https://mirrors.ustc.edu.cn/homebrew-bottles/open-ocd-0. ################################################################# 100.0% ==> Installing dependencies for open-ocd: libunistring, gettext, capstone, hidapi, icu4c@76, xz, lz4, zstd, boost, confuse, libusb and libftdi ==> Installing open-ocd dependency: libunistring ==> Pouring libunistring-1.3.arm64_sequoia.bottle.tar.gz