最近秋月で購入したSTM32F4-Discoveryを、メーカーのサイトからダウンロードしたSTM32 ST-LINK Utilityで繋いでみると認識しない。ネットで確かめると以下のように接続できるはずなんだが、

接続成功のSTM32 ST-LINK Utility

接続成功のSTM32 ST-LINK Utility

こんな感じでエラーになる。

認識しないSTM32 ST-LINK Utility

認識しないSTM32 ST-LINK Utility

初期不良かと疑ったのだが”Atollic TrueSTUDIO for ARM Lite 3.0.0″をインストールしてプログラムを書き込んでみると問題なく書き込めてしまった。初期不良ではなさそうである。アレレである。

STM32 ST-LINK Utilityが認識しない原因が分からないまま放置してたのだが、やっと解決した。

理由がSTマイクロの掲示板に書かれてた。

これによると、STM32F4-Discovery の出荷時期によってチップのリビジョンの違いがあり、ZリビジョンはデバイスIDが違うらしく、ZリビジョンのチップをSTM32 ST-LINK Utilityはサポートしてないらしい。 😯
ビンゴ、当方のSTM32F4-DiscoveryはZリビジョン。これが原因だったのだ…  😥

しかしデバイスIDが違うって??
出荷されてるSTM32F4-DiscoveryのCPUは、少なくとも2種類はあるということなんでしょうね。

理由が書かれているスレッドには、パッチ版がアップロードされてて、これを使うと問題のSTM32F4-Discoveryが認識できた。

認識したSTM32 ST-LINK Utility

認識したSTM32 ST-LINK Utility

パッチによって以下のようにバージョンが上がった。

元のバージョン

元のバージョン

パッチ版のバージョン

パッチ版のバージョン