Прошивка чипов с 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
Share
Send
Pin
2017   armbian   Flashrom   GPIO   OrangePI PC   SPI
2 comments
anonim

W25Q128F не работала пока я на ногу HOLD/RESET ей единицу не подал.

Евгений

Отличная статья. Помогла биос прошить через Raspbery PI! Сначала микросхема не определялась. Оказалось нужно частоту spi понижать. flashrom -p linux_spi:dev=/dev/spidev0.0, spispeed=10000 и так добавлял в каждой команде. Спасибо.

Your comment
won’t be published

HTML will not work

Ctrl + Enter
Popular