1. openocd介绍
2. 下载源码
- 使用以下指令将克隆最新的OpenOCD源码至本地:
mkdir -p ~/build; cd ~/build
git clone https://git.code.sf.net/p/openocd/code openocd
cd ~/build/openocd/
./bootstrap
- 如果克隆指定版本的OpenOCD(如),可以使用下面的指令:
git clone -b 2.20.3 --depth=1 https://git.code.sf.net/p/openocd/code openocd
- 如果缺少模块,需要更新子模块
git submodule init #初始化子模块
git submodule sync #同步子模块
git submodule update --init --recursive #下载子模块资源
3. windows平台构建
3.1 环境安装
msys安装参考已有教程
3.2 工具库安装
- 64bit平台安装
pacman -S libtool autoconf automake texinfo pkg-config make autogen git unzip bzip2 base-devel mingw-w64-x86_64-toolchain mingw-w64-x86_64-libusb mingw-w64-x86_64-libusb-compat-git mingw-w64-x86_64-hidapi mingw-w64-x86_64-libftdi mingw-w64-x86_64-arm-none-eabi-gcc mingw-w64-x86_64-capstone mingw-w64-x86_64-libjaylink
- 32bit
pacman -S libtool autoconf automake texinfo pkg-config make autogen git unzip bzip2 base-devel mingw-w64-i686-toolchain mingw-w64-i686-libusb mingw-w64-i686-libusb-compat-git mingw-w64-i686-hidapi mingw-w64-i686-libftdi mingw-w64-i686-capstone mingw-w64-i686-libjaylink
3.3 配置OpenOCD
使用以下指令配置OpenOCD,这里选择“--enable-ftdi”配置,其他配置(只要安装了相应的依赖)会默认开启:
mkdir build
cd build
../configure --enable-ftdi
执行完以上指令后,命令行窗口会最终显示:
3.4 编译OpenOCD
make
make install
3.5 strip程序
xxxstrip src/openocd.exe
4. Linux构建
4.1 本机编译
待更新
4.2 交叉编译
待更新
4.3 mingw编译
待更新
5. 异常问题
5.1 编译问题
5.1.1 模块失效
- 如果模块更新失效,如下所示
- 手动clone一下仓库到目录
# openocd为源码目录
openocd && git clone https://gitee.com/daoshengtianxia/jimtcl.git 到
cd openocd/src/jtag/drives && git clone https://gitee.com/daoshengtianxia/libjaylink.git
- 修复异常后执行效果如下