간단한 대답은 그렇습니다. 높은 안정성을 원할 경우 부트 로더 및 A / B 코드 이미지를 지원하기에 충분한 플래시 블록이 필요합니다. 새 이미지를 활성화하기 전에 전체 내용을 작성하고 확인한 후 재 시도하십시오.
그러나이 있다 비싼 / 신뢰할 수있는 전략은 당신이 오버 헤드를 줄이기 위해 할 수있는 일이있다. OTA 업데이트에 대한 저수준 지원도 장치 펌웨어 또는 OS의 일부로 제공 될 수 있으므로 배우기를 원하지 않는 한 롤업을 피할 수 있습니다. 이 기능은로 설명 될 수 있습니다 FOTA.
코드베이스를 분할하면 증분 업데이트가 가능하며, 부트 로더가 폴백 사용자 코드없이 네트워크 연결을 설정하고 코드를 다운로드하고 확인할 수있는 가장 좋은 경우입니다. 로컬 게이트웨이를 사용하면 저렴한 비용의 엔드 포인트에서이 작업 관리를 위임 할 수 있습니다.
많은 장치들이 소량의 단어 소거 플래시를 가지고 있으며, 이것을 실패하면 전체 블록을 지우지 않고도 비트를 설정할 수 있습니다 . 이 기능은 블록 크기 단위로 업데이트되는 점프 테이블을 조작하고 코드를 연결하는 데 사용할 수 있습니다. 처음에 전체 A / B 코드 공간을 계획 했더라도 코드베이스가 너무 커지면 더 복잡한 체계로 대체해야 할 수도 있습니다.
정교한 무선 펌웨어 솔루션으로 달성 할 수있는 기능을 명확히하기 위해 부트 로더와 잠재적으로 1 차 통신 스택은 남아있는 전체 사용자 응용 프로그램 공간이 다시 플래시되는 동안 상주 상태로 남아있을 수 있습니다. 오버 헤드가 필요하지 않습니다 (특히 블록 파티셔닝이 소프트 한 경우). 통신 스택을 업그레이드해야하는 시나리오에서 다운로드 및 확인 중에 응용 프로그램 코드에 일반적으로 사용되는 영역을 일시적으로 사용할 수 있습니다. 이를 위해서는 SoC에서 약간의 지원이 필요하지만이를 염두에두고 설계된 2 세대 및 3 세대 장치는 이미 존재합니다.