6
3

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 3 years have passed since last update.

ESP32 に同じバイナリを連続書き込みする方法

Posted at

はじめに

Arduinoでコンパイルしたバイナリを複数のESP32に連続書き込みする方法です。
毎回,コンパイル→リンク→UPLOADすると時間がかかり過ぎますが,
esptool.exe に引数を書くのは難しく,ある程度,簡単に実現できる方法をメモします。

開発環境

Arduino IDE 2.00(beta.9) on windows10  2021/07/21 確認
IDE のバージョンは問わないと思いますので読み替えてください。

手順

1.Arduino IDE 設定

コンパイルの詳細表示をオンにします。
[image.png]

2.コンパイル→書き込みスクリプトコピー

1回目は通常のコンパイル→UPLOADを実行します。
成功するとUPLOADスクリプトが生成され実行され ESP32に書き込まれるので,
画像の行をクリップボードにコピーします。
ダブルクリックすると1行まるごと選択されますが,かなり長いです。

[image.png]

3.スクリプト編集

(Arduino 1.x 系はここは不要と思います)
スクリプトにダブルクオーテーション(") が含まれるので消去します。
メモ帳を開き,コピーしたスクリプトをペースト。
編集(E)→置換(R) (CTRL+H) により(") を消去します。
[image.png]

4.upload

コマンドプロンプトを開き,3で修正したスクリプトを実行します。
・スタートメニューに"cmd" と入力するとコマンドプロンプト(通称:黒い画面)が現れます。
・コピーしたスクリプトはコマンドプロンプト画面で右クリックすると,いきなり実行されますので,ESP32を接続しておくと良いでしょう。

5.繰り返し

コマンドプロンプト画面でカーソルの上を押すたびに履歴が表示されますので,1つ前の履歴を表示,そのままENTERキーで連続書き込みができます。
後は無心で書込マシーンになりましょう。

何をやっているの?

スクリプトを見てみます。
esptool.exe を実行,大量の引数が生成されていて,
おおまかに以下の2ブロックになっています。
・ESP32の設定 (ArduinoIDE の設定から変更できます)
・それぞれのアドレスに4つのバイナリを書込

C:\Users\xxxx\-------\esp32\tools\esptool_py\3.0.0/esptool.exe
 --chip esp32
 --port COM3
 --baud 921600
 --before default_reset
 --after hard_reset write_flash
 -z
 --flash_mode dio
 --flash_freq 40m
 --flash_size detect
  0xe000 C:\Users\xxxx-------\esp32\1.0.6/tools/partitions/boot_app0.bin
  0x1000 C:\Users\xxxx-------\esp32\1.0.6/tools/sdk/bin/bootloader_qio_40m.bin
  0x10000 C:\Users\----\Temp\arduino-sketch-xx/ABCD.ino.bin
  0x8000 C:\Users\-----\Temp\arduino-sketch-xx/ABCD.ino.partitions.bin

書込アダプタに依存しますが,baud 1500000 などでちょっとだけ高速化できます。

まとめ

ESP系は特にコンパイルが遅いので何台か作る時は有効なので,覚えておくと良いでしょう。

注意事項

・書込エラーを見逃しやすいので,注意しましょう。

参考資料

6
3
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
6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?