ESP32の書き込みで嵌った話
家の押し入れで積み板になってたESP32を、デュアルショック4とマイコンのインターフェースに使いたくて引っ張り出して来たら、書き込みに嵌ったからそれの対処を記録しとく。
開発環境
ボード | ESP32-WROOM-32Eマイコンボード(K-16108) |
---|---|
USBtoシリアル変換モジュール | CH340E USBシリアル変換モジュール Type-C(K-14745) |
IDE | Aruduino IDE 2.2.1 |
嵌ったポイント
まずポート指定忘れた。(アホ
PICとSTMしか使ったことないから、Aruduinoなんか分かんない...
時間をとられたのが、ESP32をブートローダをFirmware Download mode(書き込み可状態)にする方法がわからなかったことだ。
どうやら、秋月が作ってるこのボードは自動ブートローダに対応していないみたいで、手動で書き込み可能状態にする必要があるみたい。
対処
bootピンとENピンがスイッチでロジックをローにできるようになってる。ボードの電源が入った状態で、以下のようなシーケンスを行うと書き込み可能状態になる。
前提として、bootは内部プルアップ、ENピンはボード上でプルアップがされている。
シーケンス | boot | EN |
---|---|---|
初期状態 | 1 | 1 |
1 | 0 | 1 |
2 | 0 | 0 |
3 | 0 | 1 |
4 | 1 | 1 |
のようにすることで書き込み可能状態とすることができる。
外部回路を追加して自動化できると思うけどめんどい。
参考文献
ESPRESSIF社公式より
Boot Mode Selection
・"Manual Bootloader"の項に記載あり。また、"Automatic Bootloader"の項も、自動で書き込みできるはずのボードでできないときのトラブルシューティングになりそう。
Troubleshooting
・トラブルシューティングの"Bootloader Won't Respond"内にブートモードちゃんと設定してる?って聞いてる項がある。