2016-12-22 14 views
2

Немой вопрос ... Я сшиваю различные части (ядро, FS и т. Д.), Чтобы создать изображение прошивки, которое будет мигать на вспышке NOR. Прямо сейчас я заполняю оставшееся пространство нулями. Есть ли какое-либо соглашение/преимущества использования других дополнений?Что делать с flash-изображениями?

+0

Я всегда использовал нули. Просто убедитесь, что вы остаетесь последовательным, так как вам нужно будет контролировать контрольную сумму/CRC, чтобы убедиться, что ничего не получилось. –

+0

Большинство устройств, которые я использовал, были стерты все 0xFF, хотя через 10-20 лет я, наконец, наткнулся на стирание с помощью устройства нулей. это не должно иметь большого значения в великой схеме вещей, где вы, вероятно, не имеете дело. как уже упоминалось, если у вас есть контрольная сумма, большинство убедитесь, что заполнение достаточно глубокое. –

+0

одно место, где это может помочь, например, все это неверная инструкция ARM, я не изучал другие наборы инструкций. Поэтому, если ваш код перейдет в эту область флэш-памяти (если это возможно даже в вашей среде), то, если его ARM, он перейдет к неопределенной инструкции. все нули (в зависимости от набора команд руки) являются действительной инструкцией, поэтому она будет работать до конца вспышки или до конца вашего дополнения или вспышки или обертывания. Можете не навредить, но неопределенный при первом извлечении может помочь отладки. YMMV с другими архитектурами/ISA. –

ответ

3

Я предпочитаю 0xFF (на тех устройствах, где это стертое состояние), по нескольким причинам.

  • Запись на вспышку будет идти быстрее, так как неиспользуемая область не должна изменяться.
  • Некоторые устройства имеют ограничение на количество циклов повторной вспышки. Я предпочитаю не писать, если мне это не нужно.
  • На многих устройствах, если область уже стерта, вам не нужно проходить цикл стирания, чтобы записывать новые данные. Это может быть удобно, особенно когда вы пишете данные, а не код. Вы вряд ли захотите добавить код, не перезаписывая его все, но можете добавить к данным параметров, которые хранятся во флэш-памяти.