VisualStudioCode/Platform I/Oで作成したfirmwareがM5Burnerでそのままだと動かなかった
ので、何をやったのかの備忘録です。
①platformio.iniファイルに行追加
extra_scripts = post:merge_bin.py
②プロジェクト直下にmerge_bin.py配置
ファイルの内容
--ここから--
Import("env")
import os
# 出力先
output_dir = os.path.join(env.subst("$BUILD_DIR"))
output_bin = os.path.join(output_dir, "merged-firmware.bin")
# 入力ファイル
bootloader = os.path.join(output_dir, "bootloader.bin")
partitions = os.path.join(output_dir, "partitions.bin")
app = os.path.join(output_dir, "firmware.bin")
# 結合コマンド
env.AddPostAction(
"buildprog",
env.VerboseAction(
'$PYTHONEXE -m esptool --chip esp32 merge_bin -o {} --flash_mode dio --flash_freq 40m --flash_size 4MB '
'0x1000 {} 0x8000 {} 0x10000 {}'.format(output_bin, bootloader, partitions, app),
"Merging firmware into merged-firmware.bin"
)
)
--ここまで--
③Platform I/Oのターミナルから以下を実行
ATOM Liteの場合
----
python -m esptool --chip esp32 merge_bin -o merged-firmware.bin ` --flash_mode dio --flash_freq 40m --flash_size 4MB ` 0x1000 .pio\build\m5stack-atom\bootloader.bin ` 0x8000 .pio\build\m5stack-atom\partitions.bin ` 0x10000 .pio\build\m5stack-atom\firmware.bin
----
ATOM S3 Liteの場合
----
python -m esptool --chip esp32s3 merge-bin -o merged-firmware.bin ` --flash-mode dio --flash-freq 80m --flash-size 8MB ` 0x0 .pio\build\m5stack-atoms3\bootloader.bin ` 0x8000 .pio\build\m5stack-atoms3\partitions.bin ` 0x10000 .pio\build\m5stack-atoms3\firmware.bin
----
以上忘備でした。