Возможность обновления прошивки может быть настроена не только во время начальной установки на сайте клиента, но также после установки продукта на сайте могут быть добавлены новые функции / функции, и любые проблемы с программным обеспечением могут быть исправлены во время использования. Компоненты энергозависимой памяти имеют воспроизводимые возможности записи и являются чрезвычайно надежными и часто используются в качестве программного обеспечения для программного обеспечения.
Переписывая прошивку компонента и меняя часть программы (компонент использует энергонезависимую память), производитель может легко обновить функции или обновления устройства. Когда вы хотите обновить прошивку, нужно рассмотреть три вопроса, а именно обновление. Что / сколько кода программы, частота обновления и время, необходимое для выполнения обновления (скорость).
Сначала рассмотрим количество обновлений программного кода прошивки
При начальном времени проектирования устройства IoT необходимо учитывать, что / сколько программ прошивки обновлено. Относительно не обновляемой части обновляемая часть прошивки должна храниться в отдельной области компонента флэш-памяти NOR. Для обновления любого сегмента флэш-памяти NOR требуется сначала Этот раздел памяти стирается, и в этот раздел записывается новая информационная программа. Флэш-память NOR разделена на секции, называемые разделами и блоками, и их размеры различны.
Компоненты флэш-памяти NOR (например, компоненты, использующие технологию SST SuperFlash) делятся на несколько блоков размером 4 КБ. Каждый блок можно индивидуально удалить и перезаписать (4 КБ = 4 × 1024 × 8 бит = 32,762 бит). Его также можно разделить на Для больших разделов размером 8 КБ, 32 КБ и 64 КБ эти разделы также могут быть удалены отдельно.
Таким образом, размер 8 КБ имеет 2 блока, размер 32 Кбайт имеет 8 блоков, а размер 64 КБ имеет 16 блоков. На рисунке 1 показано, что SST26VF064B использует 860 КБ / 64 Кбайт области памяти, и каждая область может также Индивидуальная защита. Перед выполнением любых обновлений в любой части флэш-памяти область в этой части должна быть незащищенной, чтобы разрешить операции стирания и записи.

Рисунок 1 Структура памяти SST26VF064B (изображение) состоит из 8 разделов 8 КБ, 2 секции 32 КБ и 126 секций 64 КБ.
После завершения обновления эти разделы тщательно защищены, чтобы избежать случайной записи или стирания этих областей. Обновляемая часть прошивки должна быть разделена на секции и блоки достаточно гибким образом для поддержки ограниченного числа одновременно. Максимальное количество обновлений функций / функций.
Поскольку скорость выполнения определяется количеством секторов и блоков, которые необходимо стереть и перезаписать, лучше всего учитывать скорость и гибкость при организации обновляемой части прошивки.
На рисунке 2 показан пример организации памяти как обновляемых и не обновляемых частей. Незащищенные части, такие как код начальной загрузки, хранятся в защищенной области.

Рисунок 2 разделяет организацию памяти на несколько не обновляемых частей (например, код загрузчика) и обновляемые части (такие как программный код функции / характеристики, код программы изображения и программный код параметра).
Обновляемая часть прошивки, такая как функции / функции и т. Д., Делится на более мелкие секции или большие секции в соответствии с требованиями гибкости. Обновляемое изображение хранится в большем разделе с обновляемыми переменными / Параметры хранятся в небольших разделах.
Основным ограничением частоты обновления прошивки является количество записей в памяти, используемых в приложении. Технологическая память SuperFlash (например, SST26VF064B) может выдерживать 100 000 записей, что означает, что каждый сектор может записывать и стирать 100 000 раз. раз.
Вычислить частоту обновления резервной копии встроенного ПО
Прошивка может обновляться 100 000 раз. Это звучит много, однако многие устройства IoT собирают данные во время использования и сохраняют информацию в флэш-памяти NOR, поэтому это необходимо учитывать при расчете максимального предела допустимости записи.
Учитывая количество записей, в памяти должно быть выделено достаточное количество сегментов. Как будет показано ниже, предполагается, что устройство IoT собирает и хранит 16 байтов информации, и ожидается, что информация будет собираться и храниться в течение всего срока службы продукта. 100 миллионов раз.
Таким образом, количество разделяемых разделов может быть рассчитано следующим образом:
. 1 раздел = 4 КБ
Предположим, что все единицы адреса в сегменте используются для хранения информации (по 16 байт данных за раз), а затем записываются в новое местоположение адреса до достижения конца сегмента (например, 0x0000-0x000F. , 0x0010-0x001F, 0x0020-0x002F и т. Д.).
Поскольку 4 КБ / 16 байт = 256, это количество раз, когда емкость может быть записана на носитель данных до достижения емкости раздела и удаления любых данных в этом разделе.
. Предел сопротивления вытиранию 1 зоны = 100 000 раз.
Поэтому, если один сектор можно записать 256 раз, а число устойчивых к царапинам - 100 000, тогда можно собрать и сохранить 25,6 млн. Данных.
Если приложение необходимо собирать и хранить данные в 100 миллионов раз, количество сегментов, которые должны быть выделены, составляет 100 000 000/25 600 000 = 3.9. Поэтому в этом примере необходимо выделить четыре сегмента для решения 100 миллионов жизненных циклов. Байт данных.
Инженеры оборудования IoT должны выполнить аналогичные вычисления, чтобы распределить достаточное количество секций и блоков для параметров регистрации данных, чтобы избежать превышения пределов допуска для записи их флэш-компонентов NOR.
Сократите время обновления и сократите время простоя машины
Скорость обновления может быть рассчитана на основе количества секторов и блоков, которые необходимо удалить и перезаписать. Предположим, что необходимо переписать код / данные прошивки 1Mb, 2Mb или 4Mb, хранящиеся в нескольких разделах 64KB SST26VF064B, программный код / данные Он может состоять из кода прошивки, файлов изображений или другого программного кода, который необходимо обновить.
Процесс обновления включает в себя выполнение ряда инструкций команд во флэш-памяти. Последовательность начинается с снятия защиты сегментов памяти, затем их стирания, сжигания с обновленным кодом данных / программ и, наконец, их повторного воспроизведения.
SST26VF064B использует технологию SuperFlash, которая может обеспечить лучшую производительность стирания. По сравнению с традиционной флэш-памятью, лучшая производительность стирания, обеспечиваемая технологией SuperFlash, очень полезна для сокращения времени обновления.
Максимальная частота поддержки 104MHz SST26VF064B, в максимальной степени время стирания 25мс, что соответствует максимальному времени записи на стр 1,5 мс. Кроме того, каждая команда выдается команда из флэш-памяти, чтобы работать на частоте 104MHz, задержка промежуточного потребность 12ns (СЕ Высокое время).
Конкретные методы представлены в таблице 1 и таблице. Эти расчеты должны быть сделаны для оценки инженеров устройств ИТНО выполнить скорость обновления, цель сокращения максимальной степени во время обновления устройства, показанном на фигах 2 IoT простоя.


Выберите подходящие энергонезависимые устройства памяти для повышения гибкости IoT
Разработчики устройств IoT должны обеспечить некоторую гибкость при обновлении кода приложения и данных. Что / сколько обновления программного кода, частота обновления и скорость обновления являются проблемами, которые необходимо решить при проектировании устройств IoT, выбор энергонезависимой памяти повлияет на эти Проблемы и играйте ключевую роль в вычислении времени и скорости обновления программного кода.