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?

ESP32S3にプログラムを書き込む際のエラーとその解消方法

Last updated at Posted at 2024-05-19

Title in English: Error and the solution when using ESP32S3 with PlatformIO.

エラー内容

terminal
A fatal error occurred: Could not open /dev/cu.usbserial-10, the port doesn't exist

ポートが存在しない(ので書き込めない)というエラー。
自分はESP32S3系に変えたらこのエラーが頻出していた。

Env

  • MacOS Sonoma
  • ArduinoIDE
  • PlatformIO (PIO)
  • ESP32-S3-WROOM-1

ESP32S3のモードについて

今まではそうではなかったと記憶しているが、ブートローダーモードと実行モードというのが存在している。公式にもそう書いてある。

モード切り替え

ボードにはBOOTボタンとRESETボタンが存在している。
デフォルトでは実行モードで起動する。
BOOTボタンを押しながらRESETボタンを1回押し、BOOTボタンを離すとブートローダーモードへ移行する。
この時に書き込みが可能になる。
RESETボタンを押すと実行モードになる。

電源投入時にもモード選択できる。
BOOTボタンを押しながら電源投入するとブートローダーモードになる。
書き込み終了後、RESETボタンを押すと実行モードになる。

RESETボタンの働きは電源を一旦落とし、再度投入する働きをする。

PlatformIOでの問題

ArduinoIDEでは以上のことをすれば書き込めるようになるのだが、PlatformIOはそうもいかなかった。
PIOでは書き込み時に手動でシリアル通信をStopする必要があった。(以下の図の"Stop Monitoring")
Screenshot 2024-05-20 at 0.11.11.png
ArduinoIDEではブートローダーモード時にシリアル通信がStopになるため、この問題は起こらなかったと考える。

終わりに

少々めんどくさいが、VScodeが使えるという利点は大きい。

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?