Прошивка SBL-TL в SPI EEPROM (mcom03-flash)

Состав tl-образов для загрузки с помощью BootROM RISC0 из QSPI0:

  • образ <BOARD>-bootrom.sbimg (загружается с помощью BootROM);

  • образ sbl-tl-<DTB>.sbimg (загружается с помощью вторичного загрузчика sbl-tl);

  • конфигурация загрузчика (sbl-tl-otp.bin).

flash-tl

Для записи образов используется команда flash-tl утилиты mcom03-flash:

mcom03-flash --port /dev/ttyUSBx flash-tl qspi0 \
  <path_to>/*-bootrom.sbimg <path_to>/sbl-tl-*.sbimg <path_to>/sbl-tl-otp.bin

Справочник:

$ mcom03-flash flash-tl --help
usage: mcom03-flash flash-tl [-h] [--voltage18]
                             {qspi0,qspi1} *-bootrom.sbimg sbl-tl*.sbimg sbl-tl-otp.bin

positional arguments:
  {qspi0,qspi1}    QSPI controller to use
  *-bootrom.sbimg  Path to BootROM SBIMG to flash to SPI
  sbl-tl*.sbimg    Path to SBL-TL SBIMG to flash to SPI
  sbl-tl-otp.bin   Path to sbl-tl-otp.bin

options:
  -h, --help       show this help message and exit
  --voltage18      Setup QSPI1 to 1.8V. Not used for QSPI0

flash-tl-dir

Для записи образов из определенной директории используется команда flash-tl-dir:

mcom03-flash --port /dev/ttyUSBx flash-tl-dir qspi0 <tl_images_dir> \
  [ *-bootrom.sbimg sbl-tl-*.sbimg sbl-tl-otp.bin ]

Примечание

Имеет значение порядок перечисления образов после указанной директории. Если образы не указаны, используется список образов по умолчанию:

*-bootrom.sbimg, sbl-tl-*.sbimg, sbl-tl-otp.bin

Для игнорирования записи любого образа можно использовать символ «_» вместо имени образа. В примерах ниже будет записан только образ sbl-tl.sbimg:

mcom03-flash flash-tl qspi0 _ <path_to>/sbl-tl-*.sbimg _
mcom03-flash flash-tl-dir qspi0 <tl_images_dir> _ sbl-tl-*.sbimg _

Справочник:

$ mcom03-flash flash-tl-dir --help
usage: mcom03-flash flash-tl-dir [-h] [--voltage18] {qspi0,qspi1} tl_images_dir [tl_images ...]

positional arguments:
  {qspi0,qspi1}  QSPI controller to use
  tl_images_dir  Path where to search tl images
  tl_images      List of tl images (paths relative to images dir).'_' placeholder can be used to
                 skip image flashing

options:
  -h, --help     show this help message and exit
  --voltage18    Setup QSPI1 to 1.8V. Not used for QSPI0

flash-tl-image

Для записи образов из архива tl-image используется команда flash-tl-image:

mcom03-flash --port /dev/ttyUSBx flash-tl-image qspi0 <path_to>/*.tl-image

В состав архива *.tl-image входит описание пакета package.toml, представляющее собой набор профилей. Профилем по умолчанию является первый найденный профиль в package.toml. Каждый профиль содержит набор действий. Действием по умолчанию является all. При этом выполняются все действия профиля. Весь перечень профилей и действий см. в package.toml.

Выбор профиля осуществляется передачей аргумента --profile:

mcom03-flash --port /dev/ttyUSBx flash-tl-image --profile <profile> qspi0 <path_to>/*.tl-image

Выбор сценария профиля осуществляется передачей аргумента --action:

mcom03-flash --port /dev/ttyUSBx flash-tl-image --profile <profile> --action <action> qspi0 \
  <path_to>/*.tl-image

Примечание

При вызове команд flash-tl, flash-tl-dir или flash-tl-image не допускается использование параметров qspi1 и --voltage18. Такой запрос вернет ошибку.

Важно

Для загрузки в режиме BootROM RISC0/QSPI0 необходимо установить переключатели в положение, указанное ниже, и нажать кнопку Reset:

  • на модуле NGFW-CB (BOOT2,1,0): ON, ON, OFF

  • на модуле MCom-03 BuB (BOOT2,1,0): OFF, OFF, ON

  • на модуле Trustphone (BOOT2,1,0): ON, ON, OFF

Опционально, в режиме загрузки BootROM RISC0/UART можно перевести процессор в режим загрузки BootROM RISC0/QSPI0 вводом команды boot 1.

Справочник:

$ mcom03-flash flash-tl-image --help
usage: mcom03-flash flash-tl-image [-h] [--voltage18] [--profile PROFILE] [--action ACTION]
                                   {qspi0,qspi1} tl_image

positional arguments:
  {qspi0,qspi1}      QSPI controller to use
  tl_image           Path to tar package with tl images

options:
  -h, --help         show this help message and exit
  --voltage18        Setup QSPI1 to 1.8V. Not used for QSPI0
  --profile PROFILE  The profile of a package description to be used
  --action ACTION    The action of a profile of a package description to be used