获取源码:
#Feb 7,2022,OpenOCD v0.11.0
git clone git://git.code.sf.net/p/openocd/code openocd-code
检查依赖:
- libtool
- libusb-1.0
- hidapi (required for cmsis-dap)
安装依赖:(Ubuntu/Debian)
sudo apt install libtool libusb-1.0.0 libhidapi-dev
Manjaro/ArchLinux:
sudo pacman -S libusb libtools hidapi
Manjaro
sduo pacman -S gcc automake autoconf make pakconf && autoconf automake aclocal pkg-config autoheader
进入Git目录,执行:
./bootstrap
正常完成的话反馈应该是这样子的:
Bootstrap complete. Quick build instructions:
./configure ....
如果出现如下错误:
fatal: 无法访问 'https://repo.or.cz/libjaylink.git/':server certificate verification failed. CAfile: none CRLfile: none fatal: 无法克隆 'https://repo.or.cz/libjaylink.git' 到子模组路径 '/home/char_x/arm/openocd-code/src/jtag/drivers/libjaylink' 克隆 'src/jtag/drivers/libjaylink' 失败。按计划重试
则执行一下命令后在执行:
export GIT_SSL_NO_VERIFY=1
bootstrap执行完成后运行configuue,出现下面的信息就说明配置完成可以开始编译了
OpenOCD configuration summary -------------------------------------------------- MPSSE mode of FTDI based devices yes (auto) ST-Link Programmer yes (auto) TI ICDI JTAG Programmer yes (auto) Keil ULINK JTAG Programmer yes (auto) Altera USB-Blaster II Compatible yes (auto) Bitbang mode of FT232R based devices yes (auto) Versaloon-Link JTAG Programmer yes (auto) TI XDS110 Debug Probe yes (auto) CMSIS-DAP v2 Compliant Debugger yes (auto) OSBDM (JTAG only) Programmer yes (auto) eStick/opendous JTAG Programmer yes (auto) Olimex ARM-JTAG-EW Programmer yes (auto) Raisonance RLink JTAG Programmer yes (auto) USBProg JTAG Programmer yes (auto) Andes JTAG Programmer yes (auto) CMSIS-DAP Compliant Debugger yes (auto) Nu-Link Programmer yes (auto) Cypress KitProg Programmer yes (auto) Altera USB-Blaster Compatible no ASIX Presto Adapter no OpenJTAG Adapter no Linux GPIO bitbang through libgpiod no SEGGER J-Link Programmer yes (auto) Bus Pirate yes (auto) Use Capstone disassembly framework no
编译安装 :
make
sudo make install
OpenOCD的使用:
root@Linux:openocd -f interface/cmsis-dap -f target/stm32f1x.cfg
DAP Adapter在前,Target在后,需要在root下运行