Команды U-Boot

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

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

protect *


Включить или отключить защиту от записи FLASH (enable or disable FLASH write protection)

Help: => help protect protect - enable or disable FLASH write protection Usage: protect on start end - protect FLASH from addr 'start' to addr 'end' protect on start +len - protect FLASH from addr 'start' to end of sect w/addr 'start'+'len'-1 protect on N:SF[-SL] - protect sectors SF-SL in FLASH bank # N protect on bank N - protect FLASH bank # N protect on all - protect all FLASH banks protect off start end - make FLASH from addr 'start' to addr 'end' writable protect off start +len - make FLASH from addr 'start' to end of sect w/addr 'start'+'len'-1 wrtable protect off N:SF[-SL] - make sectors SF-SL writable in FLASH bank # N protect off bank N - make FLASH bank # N writable protect off all - make all FLASH banks writable =>

  • protect on start end - защитить FLASH от адреса 'start' до адреса 'end'
  • protect on start+len - защитить FLASH от адреса 'start' до конца с адресом 'start'+'len'-1
  • protect on N:SF[-SL] - защитить сектора SF-SL в банке FLASH # N
  • protect on bank N - защитить банк FLASH # N
  • protect on all - защитить все банки FLASH
  • protect off start end - сделать FLASH доступным для записи от addr 'start' до addr 'end'
  • protect off start+len - сделать FLASH доступным для записи от addr 'start' до конца сектора w/addr 'start'+'len'-1 wrtable
  • protect off N:SF[-SL] - сделать сектора SF-SL доступными для записи в банк FLASH # N
  • protect off bank N - сделать банк FLASH # N доступным для записи
  • protect off all - сделать все банки FLASH доступными для записи
  • Команда protect - еще одна сложная. Он используется для установки определенных частей флэш-памяти в режим только для чтения или для того, чтобы сделать их снова доступными для записи.

    «Защищенная» (только для чтения) флэш-память не может быть записана с помощью команды cp или стерта с помощью команды erase .

    Защищенные области помечаются как (RO) (только для чтения) в выводе команды flinfo :


    => fli Bank # 1: CFI conformant FLASH (16 x 16) Size: 64 MB in 512 Sectors AMD Standard command set, Manufacturer ID: 0x01, Device ID: 0x227E Erase timeout: 16384 ms, write timeout: 2 ms Buffer write timeout: 5 ms, buffer size: 32 bytes Sector Start Addresses: FC000000 E FC020000 E FC040000 E FC060000 E FC080000 E FC0A0000 E FC0C0000 E FC0E0000 E FC100000 E FC120000 E FC140000 E FC160000 E FC180000 E FC1A0000 E FC1C0000 E FC1E0000 E FC200000 E FC220000 E FC240000 E FC260000 E FC280000 E FC2A0000 E FC2C0000 E FC2E0000 E FC300000 E FC320000 E FC340000 E FC360000 E FC380000 E FC3A0000 E FC3C0000 E FC3E0000 E FC400000 E FC420000 E FC440000 E FC460000 E FC480000 E FC4A0000 E FC4C0000 E FC4E0000 E FC500000 E FC520000 E FC540000 E FC560000 E FC580000 E FC5A0000 E FC5C0000 E FC5E0000 E FC600000 E FC620000 E FC640000 E FC660000 E FC680000 E FC6A0000 E FC6C0000 E FC6E0000 E FC700000 E FC720000 E FC740000 E FC760000 E FC780000 E FC7A0000 E FC7C0000 E FC7E0000 E FC800000 E .................... FFCC0000 E FFCE0000 E FFD00000 E FFD20000 E FFD40000 E FFD60000 E FFD80000 E FFDA0000 E FFDC0000 E FFDE0000 E FFE00000 E FFE20000 E FFE40000 E FFE60000 E FFE80000 E FFEA0000 E FFEC0000 E FFEE0000 E FFF00000 E FFF20000 E FFF40000 E FFF60000 RO FFF80000 RO FFFA0000 RO FFFC0000 RO FFFE0000 RO => prot on 0xFF900000 0xFF97FFFF Protected 4 sectors => fli Bank # 1: CFI conformant FLASH (16 x 16) Size: 64 MB in 512 Sectors AMD Standard command set, Manufacturer ID: 0x01, Device ID: 0x227E Erase timeout: 16384 ms, write timeout: 2 ms Buffer write timeout: 5 ms, buffer size: 32 bytes Sector Start Addresses: FC000000 E FC020000 E FC040000 E FC060000 E FC080000 E FC0A0000 E FC0C0000 E FC0E0000 E FC100000 E FC120000 E FC140000 E FC160000 E FC180000 E FC1A0000 E FC1C0000 E FC1E0000 E FC200000 E FC220000 E FC240000 E FC260000 E FC280000 E FC2A0000 E FC2C0000 E FC2E0000 E FC300000 E FC320000 E FC340000 E FC360000 E FC380000 E FC3A0000 E FC3C0000 E FC3E0000 E FC400000 E FC420000 E FC440000 E FC460000 E FC480000 E FC4A0000 .................... FF620000 E FF640000 E FF660000 E FF680000 E FF6A0000 E FF6C0000 E FF6E0000 E FF700000 E FF720000 E FF740000 E FF760000 E FF780000 E FF7A0000 E FF7C0000 E FF7E0000 E FF800000 E FF820000 E FF840000 E FF860000 E FF880000 E FF8A0000 E FF8C0000 E FF8E0000 E FF900000 E RO FF920000 E RO FF940000 E RO FF960000 E RO FF980000 E FF9A0000 E FF9C0000 E FF9E0000 E FFA00000 E FFA20000 E FFA40000 E FFA60000 E FFA80000 E FFAA0000 E FFAC0000 E FFAE0000 E FFB00000 E FFB20000 E FFB40000 E FFB60000 E FFB80000 E FFBA0000 E FFBC0000 E FFBE0000 E FFC00000 E FFC20000 E FFC40000 E FFC60000 E FFC80000 E FFCA0000 E FFCC0000 E FFCE0000 E FFD00000 E FFD20000 E FFD40000 E FFD60000 E FFD80000 E FFDA0000 E FFDC0000 E FFDE0000 E FFE00000 E FFE20000 E FFE40000 E FFE60000 E FFE80000 E FFEA0000 E FFEC0000 E FFEE0000 E FFF00000 E FFF20000 E FFF40000 E FFF60000 RO FFF80000 RO FFFA0000 RO FFFC0000 RO FFFE0000 RO => era 0xFF900000 0xFF97FFFF - Warning: 4 protected sectors will not be erased! done Erased 4 sectors => prot off 1:455 Un-Protect Flash Sectors 455-455 in Bank # 1 => fli Bank # 1: CFI conformant FLASH (16 x 16) Size: 64 MB in 512 Sectors AMD Standard command set, Manufacturer ID: 0x01, Device ID: 0x227E Erase timeout: 16384 ms, write timeout: 2 ms Buffer write timeout: 5 ms, buffer size: 32 bytes Sector Start Addresses: FC000000 E FC020000 E FC040000 E FC060000 E FC080000 E FC0A0000 E FC0C0000 E FC0E0000 E FC100000 E FC120000 E FC140000 E FC160000 E FC180000 E FC1A0000 E FC1C0000 E FC1E0000 E FC200000 E FC220000 E FC240000 E FC260000 E FC280000 E FC2A0000 E FC2C0000 E FC2E0000 E FC300000 E FC320000 E FC340000 E FC360000 E FC380000 E FC3A0000 E FC3C0000 E FC3E0000 E FC400000 E FC420000 E FC440000 E FC460000 E FC480000 E FC4A0000 E FC4C0000 E FC4E0000 E FC500000 E FC520000 E FC540000 .................... FFD00000 E FFD20000 E FFD40000 E FFD60000 E FFD80000 E FFDA0000 E FFDC0000 E FFDE0000 E FFE00000 E FFE20000 E FFE40000 E FFE60000 E FFE80000 E FFEA0000 E FFEC0000 E FFEE0000 E FFF00000 E FFF20000 E FFF40000 E FFF60000 RO FFF80000 RO FFFA0000 RO FFFC0000 RO FFFE0000 RO => era 1:455 Erase Flash Sectors 455-455 in Bank # 1 . done =>

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

    В большинстве случаев U-Boot обеспечивает простую программную защиту, то есть предотвращает случайное стирание или перезапись важных вещей (например, сам код U-Boot или переменные среды U-Boot), но не может помешать вам обойти эти ограничения.

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

    Кроме того, в большинстве случаев эта защита эффективна только при запуске U-Boot, т.е. любая операционная система не будет знать о «защищенных» областях флэш-памяти и с радостью сотрет их, если потребуется.