펌웨어 빌드 후 하나로 합치는 법 (esptool Merge)
펌웨어 빌드 - 하나로 머지 - 0x0으로 라이팅 방법
ESP32는 build한 후, 여러개의 Bin파일을 생성합니다.
하나로 모으기가 힘이 드는데, 아래와 같이 간단하게 한개로 합칠수 있습니다.
ESPTOOL.PY는 먼저 설치가 되어 있어야 합니다.
IDF 사용자는 이미 설치가 되어 있습니다. 아두이노의 경우, Python을 설치하고, 따로 설치 해야 합니다.
Build폴더에서 esptoo.py를 실행하여 정상적으로 실행되는 지 확인 해야 합니다.
https://github.com/espressif/esptool
GitHub - espressif/esptool: Serial utility for flashing, provisioning, and interacting with Espressif SoCs
Serial utility for flashing, provisioning, and interacting with Espressif SoCs - espressif/esptool
github.com
ESP-IDF에서
Build 폴더의 flash_args 파일을 이용
아래와 같이 build폴더에서 명령을 하면 1개로 합쳐 줍니다.
아래 예제는 esp32s3 타겟을 경우 merged-flash.bin으로 합쳐주고, 0x0으로 라이팅 하면 됩니다.
cd build
esptool.py --chip esp32s3 merge_bin -o merged-flash.bin @flash_args
아두이노 혹은 구 버전 ESP-IDF의 경우 빌드시 나오는 메세지를 활용
빌드시 나오는 로그상에 아래와 같이 esptool 로 펌웨어 라이팅하는 부분이 나온다. 이를 이용하여 머지할 수 있다.

이 정보를 이용하여 아래와 같이 실행 하면 한개로 합쳐 집니다.
esptool.py --chip esp32c3 merge_bin -o merged-flash-at-c3.bin 이후 위 --flash_mode 부터 전체를 붙여 놓는다.

--chip : Target IC 정보 : ESP32, ESP32S2, ESP32C3 등
merge_bin -o : 하나로 합쳐진 파일 명
이제 생성된 한개의 bin 파일만 0x0에서 다운 하면 됩니다.
esptool.py --chip esp32c3 merge_bin -o merged-flash-at-c3.bin --flash_mode dio --flash_freq 40m --flash_size 4MB 0x8000 partition_table/partition-table.bin 0xd000 ota_data_initial.bin 0xf000 phy_init_data.bin 0x0 bootloader/bootloader.bin 0x60000 esp-at.bin 0x1e000 at_customize.bin 0x1F000 customized_partitions/ble_data.bin 0x25000 customized_partitions/server_cert.bin 0x27000 customized_partitions/server_key.bin 0x29000 customized_partitions/server_ca.bin 0x2b000 customized_partitions/client_cert.bin 0x2d000 customized_partitions/client_key.bin 0x2f000 customized_partitions/client_ca.bin 0x31000 customized_partitions/factory_param.bin
'개발팁 > 펌웨어' 카테고리의 다른 글
| ESP32 펌웨어 다운로드(라이팅)이 안될 경우 첫번째 확인 사항 (0) | 2023.11.02 |
|---|---|
| ESP32 펌웨어 개발 방법(2) - ESP-IDF (0) | 2023.10.31 |
| ESP32 펌웨어 개발 방법(1) - SDK 종류에 대하여 (0) | 2023.10.31 |








