2016年7月8日金曜日

ST-Linkの種類

現在、ねむいさんの環境で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ドライバはこちら

0 件のコメント:

コメントを投稿