OTA(Over The Air Updates)
OTA 프로세스 개요
OTA 업데이트 메커니즘을 사용하면 일반 펌웨어가 실행되는 동안(예: Wi-Fi 또는 Bluetooth를 통해) 수신된 데이터를 기반으로 장치를 업데이트할 수 있다.
OTA는 최소 2개의 "OTA App slot" 파티션(즉, ota_0 및 ota_1 )과 "OTA Data 파티션"으로 장치의 파티션 테이블을 구성해야 한다.
OTA 작동 기능은 현재 부팅을 위해 선택되지 않은 OTA 앱 슬롯에 새 앱 펌웨어 이미지를 쓰고, 이미지가 확인되면 OTA 데이터 파티션을 업데이트하여 이 이미지를 다음 부팅에 사용하도록 지정한다.
OTA 데이터 파티션
OTA 데이터 파티션(type "data", subtype "ota")은 OTA 기능을 사용하는 모든 프로젝트의 파티션 테이블에 포함되어야 한다.
공장 부팅 설정의 경우 OTA 데이터 파티션에는 데이터가 없어야 한다(모든 바이트는 0xFF로 지워짐). 이 경우 esp-idf 소프트웨어 부트로더는 파티션 테이블에 있는 경우 factory app을 부팅한다. 파티션 테이블에 factory app이 포함되어 있지 않으면 사용 가능한 첫 번째 OTA 슬롯(일반적으로 ota_0)이 부팅된다.
첫 번째 OTA 업데이트 후 OTA data 파티션이 업데이트되어 다음에 부팅해야 하는 OTA 앱 슬롯 파티션을 지정합니다.
OTA data 파티션은 2개의 플래시 섹터(0x2000바이트) 크기로 기록 중 정전이 발생할 경우 문제를 방지한다. 섹터는 독립적으로 삭제되고 일치하는 데이터로 기록되며, 일치하지 않는 경우 카운터 필드를 사용하여 가장 최근에 기록된 섹터를 결정한다.
참고
0 comments:
댓글 쓰기