現在、ねむいさんの環境でSTM32F4のデバッグを行なっている。
STM32F4-discoveryを使ってGDB+inghtは正常に動くのだけれど、STM32F4-nucleo のST-LINK回路+STbeeF4miniだと上手くいかない。
target setting の画面を表示しようとするとフリーズしてしまう。
似たような環境だけれど、細かい部分は全然違うので、どこから手をつけたらいいか。
まず、OpenOCDとはJTAGではなく、SWDで接続しているつもり。
STM32F4-discoveryはST-Link/V2の回路になっていて、ねむいさんのサンプルcfgファイルで接続できる。
STM32F4-nucleoもST-Link/V2の回路になって・・・・、あれ、紹介ページにはST-Link/V2-1になっている。-1ってなんだ?
ねむいさんのこのブログでは、ST-Link/V2とST-Link/V2-1は明確に使い分けされている。
なるほど。
ST-Link/V2-1用のcfgファイルも用意されているので、なんとか解決の糸口を見つけた。
STM32F4-discovery用のcfgファイルを編集するのは嫌なので、STbeeF4mini用にコピー&編集してST-Link/V2-1を使ったOpenOCDアクセス環境を作って接続!・・・・失敗。
ねむいさんのブログでは、 ST-Link/V2-1を使うときはVCPドライバ必須とある。
すでに私の環境ではWindows7からはSTM32F4-nucleoとVCPで繋がっているように見える。
けれど、手元のダウンロード保管庫には ST-Link/V2用のVCPドライバは保管してあるけれど、ST-Link/V2-1用のVCPドライバは保管されていない。
わずかな望みを掛けてST-Link/V2-1用のVCPドライバをインストールしてみた。
結果、 target setting の画面が表示されて、設定をすることもできた。
ターゲットと接続することが出来て、ステップ実行も出来た。
これで万事解決!
と思ったけれど、もう一度つなごうとしたら、やはりtarget setting の画面でフリーズする。
惜しいところまで行っていると思うのだけれど。
ST-Link/V2-1用のVCPドライバはこちら。