Простой ответ - да, вам нужно достаточно блоков флэш-памяти для поддержки загрузчика и образов A / B-кода, если вы хотите высокую надежность. Прежде чем активировать новый образ, вы можете написать все, проверить его и, возможно, повторить попытку.
Однако это является дорогостоящим / надежная стратегия , и есть вещи , которые вы можете сделать , чтобы уменьшить накладные расходы. Низкоуровневая поддержка обновлений OTA также может входить в состав встроенного ПО или ОС устройства, поэтому вы можете избежать самостоятельной установки, если не хотите учиться. Эта функция может быть описана как FOTA
.
Разбиение базы кода позволяет производить постепенные обновления, в лучшем случае загрузчик может установить сетевое соединение, загрузить и проверить код без необходимости использовать какой-либо резервный код пользователя. С помощью локального шлюза управление этой задачей может быть делегировано с недорогих конечных точек.
Многие устройства имеют небольшое количество флэш-памяти для стирания слов, и даже если это не удастся, обычно можно установить биты, не стирая целый блок. Эти функции можно использовать для манипулирования таблицами переходов и сшивания кода, который обновляется в блоках размеров блоков. Даже если вы изначально планировали полное кодовое пространство A / B, вам может понадобиться более сложная схема, когда база кода слишком сильно увеличивается.
Чтобы прояснить функциональные возможности, которые могут быть достигнуты с помощью сложного решения для микропрограммного обеспечения, загрузчик и, возможно, первичный стек связи могут оставаться резидентными, в то время как все оставшееся пространство пользовательского приложения повторно мигает. Это не требует каких-либо накладных расходов (особенно, если разбиение блока является мягким). В сценарии, где необходимо обновить стек связи, область, обычно используемая для кода приложения, может временно использоваться во время загрузки и проверки. Достижение этого требует некоторой поддержки в SoC, но устройства 2-го и 3-го поколения, разработанные с учетом этого, уже существуют.