介绍如何编译windows版本的openocd。
Environment
本文是介绍在Arch Linux系统上,进行交叉编译,得到最终的exe文件,再在windows下运行openocd的方法。
Host OS: Arch Linux WSL
Compiler: mingw-w64-gcc
Library: libusb-1.0.23, automake, autoconf
Openocd: riscv-openocd
Step by step:
install arch
install mingw-w64-gcc.
1
$ pacman -S mingw-w64-gcc
download libusb-1.0.23
https://github.com/libusb/libusb/releases/download/v1.0.23/libusb-1.0.23.7z
download openocd
download submodule jimtcl
install automake autoconf
1
2$ pacman -S automake
$ pacman -S autoconf
Installation
1 | $ cd ricv-openocd |
由于编译器比较新,有些错误,所以改了CFLAG。另外还改了下src/jtag/drivers/libjaylink/config.h
1 | #define __USE_MINGW_ANSI_STDIO 1 |
=>
1 | #ifdef __USE_MINGW_ANSI_STDIO |
如果一切顺利,在/usr/local
下面生成目标文件。
1 | $ tree . |
然后把它打包整个拷贝出来
1 | $ tar czf ~/openocd.tar.gz /usr/local/ |
然后到windows把libusb的dll也拷贝到bin目录下
1 | cp /mnt/d/software/libusb-1.0.23/MinGW32/dll/libusb-1.0.dll /mnt/d/software/openocd\usr\local\bin |
然后到windows下面执行
1 | D:\software\openocd\usr\local\bin>.\openocd.exe --help |
Download
编译好的可执行文件也可以在sifive官网下载。
或者