Stlink: STM32F103は点滅しません

作成日 2017年01月25日  ·  11コメント  ·  ソース: stlink-org/stlink

こんにちは、

STM32F407ディスカバリーボードを使用してSWD経由でSTM32F103ボードをフラッシュしようとしています。 残念ながら、STM32F103ボードでのみ機能するわけではありません。

  • [x]プログラマー/ボードタイプ:Stlink / v2
  • [x]オペレーティングシステム:Mac OS X
  • [x] Stlinkツールバージョンstlink:安定した1.2.0(ボトル入り)、HEAD、2015-10-04にボトルから注がれました
  • [x] Stlinkコマンドラインツール名: st-flash
  • [x]ターゲットチップ(およびオプションのボード):例:STM32F103C

出力:

st-flash write prog.bin 0x8000000
2017-01-24T18:44:14 INFO src/stlink-common.c: Loading device parameters....
2017-01-24T18:44:14 INFO src/stlink-common.c: Device connected is: F1 High-density device, id 0x10036414
2017-01-24T18:44:14 INFO src/stlink-common.c: SRAM size: 0x10000 bytes (64 KiB), Flash: 0 bytes (0 KiB) in pages of 2048 bytes

ご覧のとおり、意外なものが出てきます
Flash: 0 bytes (0 KiB) in pages of 2048 bytes

st-info --probe
Found 1 stlink programmers
 serial: 303030303030303030303031
openocd: "\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x31"
  flash: 0 (pagesize: 2048)
   sram: 65536
 chipid: 0x0414
  descr: F1 High-density device

誰かがそれを解決する方法を知っていますか?
前もって感謝します。

generadocumention omacOS programmestlinkv2 staturesolved targestm32f1

最も参考になるコメント

こんにちは、openocdターミナルセッションで次のコマンドを使用してstm32bluepillsのロックを解除することに成功しました。

リセット停止
フラッシュバンク
stm32f1x mass_erase 0
stm32f1xロック解除0

その後、デバイスを再度プログラムする準備が整いました。

全てのコメント11件

STリンクユーティリティで解決

ボードは_書き込み保護_されていました

あなたの報告に感謝します、私は他の人々がこれで失敗しないようにこれをドキュメントに追加すると思います。

こんにちは、それについて私を助けてくれませんか? 書き込み保護を無効にするにはどうすればよいですか? MacOSXを使用しています。 公式のSt-linkユーティリティツールはWindows専用ですよね?

おそらく最初に一括消去することができ、次に書き込み保護がクリアされると思いました。 または、いくつかのopenocdコマンドを使用します(texane / stlinkよりも多くの機能があります)。

迅速な回答ありがとうございます。 フラッシュを消してみましたが、うまくいきました。 ただし、問題は残っています。 私は何が起こるかを見るためにいくつかのウィンドウズコンピュータを使用しようとします。 :\

READMEでこれを見たことがありますか?
https://github.com/texane/stlink/commit/0f9e4990ba0cdc295875b219b354fdf42f30a9aa

OpenOCDを使用する場合、おそらくmonitor stm32f1x unlock 0コマンドを呼び出すことができます(テストされていません)。 http://openocd.org/doc/html/Flash-Commands.htmlを参照してください

ST-LINKユーティリティ(Windows上)を実行し、[ターゲット]> [オプションバイト...]> [読み出し保護を無効にする(コンボボックス)]に移動しました。 完了、問題は解決しました。

次のリンクをたどって、openOCDを使用して読み出し保護を無効にする手がかりを見つけることができました: http ://www.openstm32.org/forumthread562

こんにちは、openocdターミナルセッションで次のコマンドを使用してstm32bluepillsのロックを解除することに成功しました。

リセット停止
フラッシュバンク
stm32f1x mass_erase 0
stm32f1xロック解除0

その後、デバイスを再度プログラムする準備が整いました。

@jeroavfありがとう! これは私にとってはうまくいき、 --probe65536 (数少ない64kbモデルの1つを入手したように見えます)を返すだけでなく、正しく点滅します。

楽しいビットです。 mass_eraseステップを実行すると、128kbだとさえ思われますが、気にしないでください。

STM32 flash size failed, probe inaccurate - assuming 128k flash
flash size = 128kbytes

おかげで、WindowsのST-Linkユーティリティを使用してフルチップ消去でSTM32F437のブリックを解除することができました。これは、Linuxのst-linkで再び機能します:-)

このページは役に立ちましたか?
0 / 5 - 0 評価