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

----

 

以上忘備でした。