MCUboot
Открытый платформенно-независимый загрузчик для 32-разрядных микроконтроллеров, запускающий только прошивку с действительной подписью.
MCUboot вырос из проекта Apache Mynewt, а сейчас живёт под крылом Trusted Firmware. Флеш делится на два слота: основной, из которого идёт запуск, и вторичный, куда скачивается новый образ. При следующей загрузке MCUboot проверяет подпись (RSA, ECDSA или Ed25519), меняет образы местами и запускает новый.
Самое умное здесь — тестовый режим. Новая прошивка должна сама подтвердить, что работает; если к следующему сбросу этого не произошло, MCUboot откатывает обмен. Неудачное OTA-обновление стоит одной лишней перезагрузки, а не «окирпиченного» устройства. Zephyr, NuttX и RIOT поддерживают его из коробки, и MCUboot стал почти стандартом там, где никто из производителей не захотел писать свой.