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
=>
можно стереть всю флеш-память (кроме защищенных от записи секторов).