Команды U-Boot

  Инфо    Память      Хранилище      Выполнение    Загрузка    Окружение    FDT    Sunxi  

    erase      fatinfo    fatload    fatls    fatsize    fatwrite    flinfo    gpt    mmc    mmcinfo    protect    pst  

erase *


Стереть FLASH память (erase FLASH memory)

Help: => help erase erase - erase FLASH memory Usage: erase start end - erase FLASH from addr 'start' to addr 'end' erase start +len - erase FLASH from addr 'start' to the end of sect w/addr 'start'+'len'-1 erase N:SF[-SL] - erase sectors SF-SL in FLASH bank # N erase bank N - erase FLASH bank # N erase all - erase all FLASH banks =>

Примечание. Для Opi Zero2 команда не проверена.


Команда erase (короткая era ) используется для стирания содержимого одного или нескольких секторов флэш-памяти.

Это одна из самых сложных команд; help выход показывает это.

Вероятно, наиболее частое использование этой команды - передача начального и конечного адресов удаляемой области:


=> era 0xFF900000 0xFF95FFFF ... done Erased 3 sectors =>

  !   Внимание ! Обратите внимание, что и начальный, и конечный адреса для этой команды должны указывать точно на начальный, и соответственно, конечные адреса флеш-секторов. В противном случае команда не будет выполнена.

Другой способ выбора определенных областей флэш-памяти для команды erase использует обозначение флэш- банков и секторов. Банк - это область памяти, реализованная одной или несколькими микросхемами памяти, которые подключены к одному и тому же сигналу выбора микросхемы ЦП, а флеш- сектор или блок стирания - это наименьшая область, которая может быть стерта за одну операцию.

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

Это может быть более эффективным (быстрее), чем стирание одной и той же области по секторам.

Примечание. Это зависит от фактического типа микросхем флэш-памяти, используемых на плате, если такой алгоритм быстрого стирания банка существует, и от реализации драйвера флэш-памяти, если он действительно используется.

В U-Boot банки флэш-памяти нумеруются, начиная с 1 , а секторы флэш-памяти начинаются с 0 .

Чтобы стереть ту же область флэш-памяти, которая указана с использованием начального и конечного адресов в приведенном выше примере, вы также можете ввести:


=> era 1:455-456 Erase Flash Sectors 455-456 in Bank # 1 .. done =>

Чтобы стереть весь банк флэш-памяти, вы можете использовать такую команду:


=> era bank 1 Erase Flash Bank # 1 - Warning: 5 protected sectors will not be erased! ........................................ done =>

  !   Внимание ! Обратите внимание, что выводится предупреждающее сообщение, потому что в этом банке флэш-памяти существуют некоторые защищенные от записи сектора, которые были не стерты.

С помощью команды:


=> era all Erase Flash Bank # 1 - Warning: 5 protected sectors will not be erased! .........................................done =>
можно стереть всю флеш-память (кроме защищенных от записи секторов).