Прошивка I2C EEPROM (mcom03-eeprom)
Утилита mcom03-eeprom предназначена для прошивки I2C ID EEPROM на carrier board SMARC-модулей. Согласно SMARC HW Specification Version 2.1, I2C ID EEPROM должна быть совместима с Atmel 24C32 и использовать I2C-адрес 0x57.
Справочник:
$ mcom03-eeprom --help
usage: mcom03-eeprom [-h] [-a ADDR] [-b BUS] [-d DATASIZE] [-f FLASHER] [-l {1,2,3,4}]
[-m {text,bin}] [-p PORT] [-r REGADDR] [-s {0,1}] [-v] [--version]
{read,flasher,write} ...
Tool to write/read data to EEPROM on carrier board.
positional arguments:
{read,flasher,write}
read Read EEPROM
flasher Upload flasher to RISC0 RAM and check flasher is running
write Write new data to EEPROM
options:
-h, --help show this help message and exit
-a ADDR, --addr ADDR Address of device on I2C bus
-b BUS, --bus BUS i2c bus number
-d DATASIZE, --datasize DATASIZE
data size to read or write
-f FLASHER, --flasher FLASHER
path to Intel HEX baremetal application to be executed on RISC0(use HEX
distributed with the tool if not specified)
-l {1,2,3,4}, --length {1,2,3,4}
i2c address length in bytes
-m {text,bin}, --mode {text,bin}
i2c read mode ('text' or 'bin')
-p PORT, --port PORT Serial port on host the device UART0 is connected to
-r REGADDR, --regaddr REGADDR
i2c register address
-s {0,1}, --speed {0,1}
i2c speed (0 - slow, 1 - fast)
-v, --verbose Show UART traffic
--version show program's version number and exit
Запись
Запись строки в EEPROM:
mcom03-eeprom write <string>
Для выбора шины I2C предусмотрена опция -b. Команда с выбором шины:
mcom03-eeprom -b 0 write <string>
Перечень значений для прошивки в ID EEPROM носителей SMARC приведён в таблице:
Плата-носитель |
Имя платы для прошивки |
|---|---|
NGFW-CB r1.0 |
ngfwcb-r1.0 |
ELV-SMARC-CB r1.0 |
elvsmarccb-r1.0 |
ELV-SMARC-CB r2.9.1 |
elvsmarccb-r2.9 |
ELV-SMARC-CB r2.10 |
elvsmarccb-r2.10 |
ELV-SMARC-CB r2.10.3 |
elvsmarccb-r2.10.3 |
ELV-SMARC-CB r3.1.0 |
elvsmarccb-r3.1.0 |
ELV-SMARC-CB r3.2.1 |
elvsmarccb-r3.2.1 |
ELV-SMARC-CB r3.3.0 |
elvsmarccb-r3.3.0 |
Для носителей, не указанных в таблице, прошивка ID EEPROM не требуется.
Справочник:
$ mcom03-eeprom write --help
usage: mcom03-eeprom write [-h] name
positional arguments:
name String to write in EEPROM
options:
-h, --help show this help message and exit
Чтение
Для чтения содержимого EEPROM используется команда read утилиты mcom03-eeprom. Утилита читает
и выводит в виде строки указанное с ключом -d количество байтов, записанных в EEPROM:
mcom03-eeprom -d 128 read
Справочник:
$ mcom03-eeprom read --help
usage: mcom03-eeprom read [-h]
options:
-h, --help show this help message and exit
Загрузка flasher
Загрузить прошивальщик по UART в RISC0 CRAM и проверить, что прошивальщик ожидает команды по UART. Команда используется для отладки:
mcom03-eeprom flasher
Справочник:
$ mcom03-eeprom flasher --help
usage: mcom03-eeprom flasher [-h]
options:
-h, --help show this help message and exit