WindowsでPicoprobe用のOpenOCDをビルドする

3 min 498 words
Suzuki Shun Placeholder text describing the default author's avatar.

基本的に公式のドキュメントに従えば良いはずなのだが, ちょこちょこ環境依存なのかエラーが出たので備忘録として残しておく.

MSYS2のインストール

まず, MSYS2をダウンロードして, インストールする.

次に, MSYS2を起動し, パッケージやコアをアップデートする.

pacman -Syu

(ちなみに, ペーストはShift+Insなので注意)

アップデート中にMSYS2が終了した場合は, 再び起動して, 上記コマンドをもう一度実行する.

依存ライブラリのインストール

OpenOCDをビルドするのに必要なライブラリをインストールする.

pacman -S mingw-w64-x86_64-toolchain git make libtool pkg-config autoconf automake texinfo mingw-w64-x86_64-libusb

Toolchainはとりあえず全部インストールする.

一旦, MSYS2を終了し, MSYS2 MinGW x64を起動する.

NOTE: MSYS2 MSYSではなく, MSYS2 MinGW x64を起動することに注意. 前者だと必要なPATHが通っていない. (自分でPATHを通しても良いが)

OpenOCDをビルド

Raspberry PiのリポジトリからOpenOCDをクローンし, ビルドする.

git clone https://github.com/raspberrypi/openocd.git --branch rp2040 --depth=1
cd openocd
./bootstrap
./configure --enable-picoprobe --disable-werror
configureのエラー対処

以下のエラーが出た場合はMSYS2 MinGW x64を使っているかを確認すること.

configure: error: libusb-1.x is required for the Raspberry Pi Pico Probe

或いは, PKG_CONFIG_PATHを設定しても良い.

export PKG_CONFIG_PATH=/mingw64/lib/pkgconfig:/mingw64/share/pkgconfig

以上が終われば, あとはビルドするだけである.

make -j8

すると, src/openocd.exeが生成される.

Install

これは趣味だが, Windowsから使いやすいように, openocd.exeを適当なところにコピーしておく.

ついでに, cfgファイル等が含まれるtclフォルダとlibusbのdllもコピーしておく.

ここでは, C直下にopenocdというフォルダを作って, そこに置くことにする.

mkdir /c/openocd
cp src/openocd.exe /c/openocd
cp -r tcl/ /c/openocd/
cp /mingw64/bin/libusb-1.0.dll /c/openocd/

最後に, C:\openocdへWindowsのPATHを通しておく.