0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Qiita全国学生対抗戦Advent Calendar 2023

Day 12

STM32F303Kの書き込み問題が発生した時に読むTips

Posted at

STM32F303Kで書き込めない

PlatformIOでの書き込みエラーが発生した時にどうすればいいか?とりあえず手順書を書きます。

まず試すべきこと

いつからかはわからないが何らかのアップデートの拍子でPlatformIOでF303Kに書き込めなくなったって人はこれを試そう。

platformio.iniupload_protocolmbedに設定するだけです。

upload_protocol = mbed

これで大半は治ります。

これでも治らない時

とりあえず状況を整理します。

  • 今まで書き込めていたけど書き込めない
  • パソコンを変えたら書き込めない
  • 初めての基板に書き込めない

今まで書き込めていたけど書き込めない

ST-LINKのファームウェアが何かの拍子に飛んだ可能性があります。一旦ファームウェアアップローダーを利用して焼き直してみると解決することがあります。

パソコンを変えたら書き込めない

ドライバーのインストールを忘れていませんか?インストールしないとうまく動かない場合がほとんどなのでWindows勢の人はインストールを忘れないようにしましょう。

また、PlatformIO自体の再インストールも効果があることがあります。これはVSCodeの拡張機能からのアンインストールだけでなく、ホームディレクトリにある.platformioを確実に消した方が安全です。

初めての基板に書き込めない

まずST-LINKを正しく認識しているかを確認します。Windowsだったらデバイスマネージャーを見るだけです。Macだったらこのコメント叩くだけです。

% ls -l /dev/tty.*

これがだめだったらそもそもハードウェアが死んでる可能性大です。自作基板の場合、

  • BOOT0の処理は正しいですか?
  • NRSTの処理は正しいですか?
  • 電源は供給されていますか?

だいたいこの三つが原因です。

他にも

僕が他にハマったことがある原因一覧です。

  • MicroUSBケーブルが充電専用
  • パソコンの許容電流量を超えてしまい、保護カイロが働いてしまって動かない
  • 書き込めてはいるが、プログラムがフリーズしてるだけ

特に配列の要素外を参照して止まるのはあるあるなので一回メモリを安全に扱えているかチェックしてみてください。

終わりに

終わりです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?