Raspberry Pi 3でOpenOCDをビルドしてみた。
$ git clone git://repo.or.cz/openocd.git $ cd openocd/ $ ./bootstrap $ ./configure --enable-sysfsgpio --enable-bcm2835gpio $ make -j4
上記コマンドを実行する。ビルドにそんなに時間はかからなかったと思う。終わったら、tarに固めて、手元にあるRaspberry Pi Zero Wに転送して、使った。
秋月のAE-TYBLE16のFlashを読み取るのには成功したと思う。書き込みはまだ試していない。ちなみに、openocd.cfgの内容は下記の通り。Raspberry Pi Zero Wなので、初代RasPiと同じCPUを積んでいて、GPIOのメモリアドレスは初代のものを使う。adafruitの記事を真似て書いた。そちらの記事にも書いてあるが、下記のopenocd.cfgだと、SWDIOがBCM24ピン、SWDCLKがBCM25ピンになる。なお、Raspberry Pi 2以降で使う別のファイルであるinterface/raspberrypi2-native.cfgだと標準でSWDのピンが選ばれていたと思うので、openocd.cfgでわざわざ指定しなくてもSWDIOがBCM24ピン、SWDCLKがBCM25ピンになるはず。(2019年1月追記:ピンヘッダでは18ピンと22ピンになる)
source [find interface/raspberrypi-native.cfg] transport select swd bcm2835gpio_swd_nums 25 24 bcm2835gpio_trst_num 7 bcm2835gpio_srst_num 18 source [find target/nrf51.cfg]
Debianのopenocdパッケージのソースを見てみたが、普通に--enable-bcm2835gpio
ってconfigureのフラグに普通にあったので、多分RasPiで使える。
時間がない方や急いでいる人は、Debian(もしかしたらRaspbianも?)のパッケージをインストールすると良いかもしれない。試していないので、動くかどうかはよくわからない。