マイコン初心者です。
STM32F1 Value line Discovery kitというマイコンを使って勉強をしようとしているのですが、エラーが出てデバッグ出来ません。
ST-LINKという機能があり、USBで接続するとマイコンに書き込めるらしいのですが全く上手く行きません。
デバイスマネージャーを確認したところ、デバイスとして認識されてないみたいです。
ハズレのボードに当たったのかとも思ったのですが、他のボードでも同じでした。
ドキュメントも確認しましたが、英語が苦手なので読めてないところはあると思います。
発生しているエラーメッセージ
No ST-LINK detected!Please connect ST-LINK and restart the debug session.
試したこと
IDEの再インストール
他の同型ボードでも接続する
他のパソコンでも接続する
ケーブルを変える
補足情報(FW/ツールのバージョンなど)
開発環境:STM32CubeIDE1.10.1
マイコン:STM32F1 Value line Discovery kit
CubeIDEのインストール時に一緒に入ったと思いますけれど(問い合わせに拒否していなければ)、ST/Linkのドライバ単体が
https://www.st.com/ja/development-tools/stsw-link009.html
にありますので入れてみたらどうなるでしょう?
入れて再起動しましたがまだディスクドライブとして認識されています…
マスストレージとして見える事自体は問題ではないです。
ST/Linkはコンポジットデバイスで、
マスストレージと仮想COMとデバッガの3つに見えるはずなので。
https://www.st.com/resource/en/user_manual/um0919-stm32vldiscovery-stm32-value-line-discovery-stmicroelectronics.pdf
ジャンパピンとかはデフォルト設定になっているんですね?(まぁ、それだと「ターゲットがつながっていない」意のエラーメッセージになったはずだし)
特にいじってないのでデフォルトのはずです。
仮想COMとデバッガデバイスとして認識されてないみたいです。
com0comというものが入ってるのですが、何か関係があったりしますか?
ウチもcom0comは入ってますがとりあえず問題ないです。
なんのためにマニュアルを示したかというと、マニュアルに記載されたデフォルト設定と現物を見比べたらどうだろう、という話なのですが。気が付かないうちにジャンパピンが脱落してないか、とかの恐れだってあるでしょう。動かないという事実があるのだから、「大丈夫なはず」で判断しちゃだめじゃないかと思うのです。
ウチだと、NucleoG071RBオンボードのST-Linkですが、
デバイスマネージャー上では
ディスクドライブ
--MBED microcontroller USB Device
ポート(COMとLPT)
--STMicroelectronics STLink Virtual COM Port
ユニバーサルシリアルバスコントローラー
--USB Composite Device
ユニバーサルシリアルバスデバイス
--ST-Link Debug
に見えてます。(なんなら単体のST/Link V2もありますけれど、デバッグ対象繋いだりしなきゃいけないので...多分変わらないでしょう)
きっとあっても邪魔にはならないでしょうから、Cube Programmerをインストールしてみて、そちらでST/Linkを探させてみたらどうなるでしょう?
Cube Programmerをインストールして接続したところ、ST-LINK V1と出ました
> ST-LINK V1
という話だと、
https://community.st.com/s/question/0D53W00000DGpMnSAL/i-cant-use-the-stlink-in-stm32cubeide-even-after-updating-the-stlink-firmware
に
"ST-Link V1 is not supported by STM32CubeIDE or STM32CubeProgrammer."
なんて文句が見えます。公式資料では見つけられていませんが。
ST/LinkV1->V2へのアップグレードパスは正式には無いようなので(アングラではなにかあるみたいだけど)、Nucleoかなにか買っちゃうのが苦労が少ないのではないかと思います。
CubeProgrammerではメモリの読み書きはできるのでしょうか。
CubeIDEのドキュメントを見てもV1~V3を区別する記述は見つからないし、
https://github.com/stlink-org/stlink#introduction にはST-LinkV1~V3の説明の項に
"On the user level there is no difference in handling or operation between these different revisions."
とあるので、特にV1を排除する話は無さそうなのですけれど。
でも動かないとするとソコが怪しいと考えざるを得ないですかね。
CubeProgrammerでは読み書きできませんでした。
V1はいずれもサポートされてないようですし、ボードのST-LinkのLEDは点灯すらしません…。
ST-Link v2のデバッガーをつけたのですが、接続方法が悪いのかデバッグできませんでした。
> 接続方法が悪いのかデバッグできませんでした。
そう言われちゃうと正しい接続方法を確認してくださいとしか言いようがないですが。
どういう応答を期待しているのですか?
返信が遅くなってすいません。
今は使うものはそのままに、どうにかデバッグする手段がないか探しています
> 今は使うものはそのままに、どうにかデバッグする手段がないか探しています
その辺はあなたの事情なので、またご相談いただけばなにかしら応えられることもあるかも知れませんが、
とりあえずST-Link V1でダメだ、というところまでが一区切りかと思います。自己解決(解決ではありませんが解明はされたので)にでもして一旦クローズしてはいかがでしょう。
そうします。
ありがとうございました。
回答2件
あなたの回答
tips
プレビュー