ラズパイ3をJTAGでリモートデバッグするために必要なものはずばりJTAGインターフェースとUSBを変換するケーブルである。 ARM-USB-TINY-HとRaspberry Pi 2でJTAGデバッグした実績はあった。
http://qiita.com/yamanekko/items/3b1eae1934c4ead618cf
しかしRaspberry Pi 3ではこのインターフェースではデバッグできなかったという情報もちらっと見かけた。
でまあ、いろいろネットを探った結果、FTDI社のUSB-シリアル変換ボードをMPSSEモードで動かせば、何とかなるのではないかという結論に達した。よくわかってないのにね。。
それでそういうボードを探したら、秋月電子でFT232HLボードというのが1200円で売っていて、これはMPSSEに対応しているし安いので失敗してもそんなに損失はないし、成功すれば非常に安価にベアメタル・リモートデバッグができるので、会社帰りに猛ダッシュで秋月電子に買いに行ったのである。
なぜ猛ダッシュかといえば、秋月電子は18:30閉店だからである。私の会社からはどんなに頑張っても25分くらいかかる。17:40に会社をダッシュで飛び出しても18:05着で、物色しているうちに閉店してしまうため、秋月電子の店舗情報を入手し、ブツの棚位置を事前に確認しておいた。そして5分で購入し、アキバを後にした。
で、買ったものはこれ。
ボード自体はこれ。
ハンダごては家にあった。いらなかったよ。。もったいない。。
で、さっそく組み立てて動かそうとしたところ、USBのポートがMini Bだった。このタイプのケーブルは家にあると思って買わなかったのだが、家にあるのはみなMicro Bだった。。慌てて近くの家電量販店にケーブルを購入した。
でFTDI社のホームページからドライバーをダウンロードしてインストール。ケーブルを繋いでみるとうんともすんともいわない。ああ、ハンダごての熱でいかれたかなあ。。と思ったが、ジャンパーを取り付けるのを忘れていた。マニュアルに書いてあったよ。。
■JP3、JP4について■
JP3で、5VOへの電源供給を設定し、JP4でVCCIOへの電源供給を設定します。 それぞれジャンパーピン(ショートピン)で設定します。 通常は、それぞれジャンパーを取り付けて、使用します。
付けたら、COM3で認識しているのが確認できた。とりあえずボードは正常に動いているようである。
で、これからどうするのか
とりあえず考えているシナリオは以下のとおりである
- MPSSEモードにする
- ピンに機能がアサインされるのでRaspberry Piとジャンパーケーブルでつなぐ
- OpenOCDやらツールチェインやらを使って何やらいろいろ設定する
- そうするとGDBでデバッグできるようになる
成功するかどうかは正直わからない。。 お金の余裕のある人はJTAGデバッガーと謳っている商品を購入することをお勧めする。。