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