- esp32 invalid magic byte 우회하기 목차
개요
esp32 ota를 개발하면서 암호화된 파일을 다운로드를 해야 했습니다.
esp32는 binary file의 시작을 0xE9로 시작을 하여야 합니다.
일명 magic byte입니다.
magic byte를 검사하는 파일 및 처리
2군데에서 magic byte를 검사합니다.
uart 다운로드인 경우에는 components/bootloader_support/src/esp_image_format.c
ota인 경우에는 components/app_update/esp_ota_ops.c
2군데에서 검사를 하는데, 저는 ota를 수행함으로 esp_ota_ops.c를 수정하였습니다.
#if 0 // 시험용 magic byte 검사 제거
if (it->wrote_size == 0 && it->partial_bytes == 0 && size > 0 && data_bytes[0] != //ESP_IMAGE_HEADER_MAGIC) {
#else
if (it->wrote_size == 0 && it->partial_bytes == 0 && size > 0 ) {
#endif
ESP_LOGE(TAG, "OTA image has invalid magic byte (expected 0xE9, saw 0x%02x)", data_bytes[0]);
return ESP_ERR_OTA_VALIDATE_FAILED;
}
위처럼 수정하였습니다.
https://power-of-optimism.tistory.com/1051
'wifi' 카테고리의 다른 글
[esp32]E (33101) HTTP_CLIENT: No transport found (0) | 2023.10.18 |
---|---|
node js 파일 오픈 에러(ECONNABORTED) (0) | 2023.10.10 |
esp32 ota 실행에서 나온 에러(invalid magic byte) (0) | 2023.10.06 |
esp32 HTTP_CLIENT: Error parse url (0) | 2023.09.15 |
FreeRTOS에서 한 Task내에서 타이머 기능 구현 (0) | 2023.08.09 |