1 post tagged

Flashrom

Прошивка чипов с SPI интерфейсом при помощи OrangePi

Flashrom – консольная утилита для идентификации, чтения, записи, проверки и стирания микросхем Flash.
на Orange Pi Zero замечательно работает Программатор из Orange Pi Zero, также и у меня на raspberry.
C OrangePi Pc пока не победил.
Отметьтесь в комментариях, у кого завелся программатор на OpiPC

Установкаf flashrom :

apt-get install pciutils-dev pkg-config
git clone https://github.com/flashrom/flashrom.git
cd flashrom

make CONFIG_INTERNAL=no CONFIG_RAYER_SPI=no CONFIG_NIC3COM=no CONFIG_GFXNVIDIA=no CONFIG_SATASII=no \
CONFIG_ATAHPT=no CONFIG_DRKAISER=no CONFIG_NICREALTEK=no CONFIG_NICNATSEMI=no \
CONFIG_NICINTEL=no CONFIG_NICINTEL_SPI=no CONFIG_OGP_SPI=no CONFIG_SATAMV=no

make install

spi_mosi = port:PC00
spi_miso = port:PC01
spi_sclk = port:PC02
spi_cs0 = port:PC03

Поддерживаемые микросхемы флэш-памяти
тест замкнкть MOSI and MISO

wget https://raw.githubusercontent.com/raspberrypi/linux/rpi-3.10.y/Documentation/spi/spidev_test.c
gcc -o spidev_test spidev_test.c
./spidev_test -D /dev/spidev0.0

root@orangepipc:~/flashrom# ./spidev_test -D /dev/spidev0.0
spi mode: 0
bits per word: 8
max speed: 500000 Hz (500 KHz)

FF FF FF FF FF FF
40 00 00 00 00 95
FF FF FF FF FF FF
FF FF FF FF FF FF
FF FF FF FF FF FF
DE AD BE EF BA AD
F0 0D


Если запустить flashrom без параметров, то он попытается определить тип подключенного чипа
-V — verbose режим (вывод служебных сообщений )

flashrom -p linux_spi:dev=/dev/spidev0.0  -V

Для прошивки чипа используется команда:

sudo flashrom -w /home/firmware.bin -V -p linux_spi:dev=/dev/spidev0.0

здесь -w — команда на запись прошивки (write), после неё указывается путь до файла с прошивкой (/home/firmware.bin), -p — тип программатора.
Если в качестве программатора выступает OrangePi, то тип будет linux_spi:dev=/dev/spidev0.0,
-V — verbose режим (вывод служебных сообщений во время прошивки)

Перед записью чип желательно очистить командой

sudo flashrom -E -p linux_spi:dev=/dev/spidev0.0

Считать прошивку в файл можно командой

sudo flashrom -r /путь_до_файла/ -p linux_spi:dev=/dev/spidev0.0

Верификация

sudo flashrom -v /путь_до_файла/ -p linux_spi:dev=/dev/spidev0.0
2017   armbian   Flashrom   GPIO   OrangePI PC   SPI