見出し画像

ESP32へバイナリをダウンロードするバッヂファイル

ESP32へバイナリをダウンロードするバッヂファイルをご紹介します。

基本的には、Arudino IDEが書き込み時に使っているコマンドを、バッヂファイルで実行しています。

下の絵は私が作っているWiFIコントローラーのバイナリをM5Stamp C3にダウンロードするファイルのリストです。
バッチファイルが1つ、アプリが1つ、バイナリが4つあります。

Mini_210_update,batの中身はつぎになります。

2行目がパソコンのComportの状態を出力するコマンド
3行目がESP32が接続されているComportの入力
4行目が書き込みコマンドです。

echo;
powershell -sta -ExecutionPolicy Unrestricted -Command "Get-WmiObject -Class Win32_PnPEntity -Filter \"PNPClass='Ports'\" | select Name,Manufacturer,DeviceID"
set /P PORT="WiFi DCC COM Port Number ?"
.\esptool.exe --chip esp32c3 --port COM%PORT% --baud 921600 ^
	--before default_reset --after hard_reset ^
	write_flash -z --flash_mode dio --flash_freq 80m --flash_size 4MB ^
	0x0 Mini_.ino.bootloader.bin ^
	0x8000 Mini_.ino.partitions.bin ^
	0xe000 boot_app0.bin ^
	0x10000 Mini_.ino.bin 
pause

この書き込みコマンドがどこから来たかといいますと、Arudino IDE からになります。

コマンドを調べ方ですが、環境設定でログが出力されるように設定します。
環境設定メニューを開きます。

”より詳細な情報を表示する”の”書き込み”にチェックを入れます。

これで書き込み時のログが出力されるようになります。
この状態で書き込みを行います。
Arudino IDE の下半分にログが出力されますが、その中にバイナリを書き込んでいる部分があります

C:\User\から始まる長い部分です。
改行をいれてみると、
 esptool.exeを呼び出す部分
 様々な設定
 バイナリの書き込み先アドレスとバイナリファイルのパス
で構成されていることがわかります。

C:\Users\xxxxo\AppData\Local\Arduino15\packages\m5stack\tools\esptool_py\4.2.1/esptool.exe 
--chip esp32 --port COM7 --baud 1500000 --before default_reset --after hard_reset write_flash -z 
--flash_mode dio --flash_freq 80m --flash_size 4MB 
0x1000 C:\Users\hideo\AppData\Local\Temp\arduino_build_603033/Pthrottle99.ino.bootloader.bin 
0x8000 C:\Users\hideo\AppData\Local\Temp\arduino_build_603033/Pthrottle99.ino.partitions.bin 
0xe000 C:\Users\hideo\AppData\Local\Arduino15\packages\m5stack\hardware\esp32\2.0.6/tools/partitions/boot_app0.bin 
0x10000 C:\Users\hideo\AppData\Local\Temp\arduino_build_603033/Pthrottle99.ino.bin 

ということで、適当なフォルダを作り、必要なファイルをCopyして、Arudino IDE が吐き出したログを参照しながらバッヂファイルを修正します。

最後に、バッチファイルを実行して、ESP32へバイナリファイルが書き込めたことを確認して、作業終了となります。

では、また!

この記事が気に入ったらサポートをしてみませんか?