Translate

2017/02/12

Программатор из Orange Pi Zero

Появилась необходимость прошить несколько SPI NOR Flash W25Q64 для модулей HiLink HLK-RM04. Захотелось проверить, можно ли прошить через Orange Pi Zero. На плате разведено место под SPI NOR Flash, решил сразу не паять, мало ли... 

SPI NOR Flash W25Q64
SPI NOR Flash W25Q64
Убрал оплеткой олово с дорожек и просто прижал чип к дорожкам. Для этого использовал пластиковый прутик и канцелярскую резинку. Чип хорошо прижался к плате, подобный колхоз меня устроил. Теперь дело за софтом. В linux есть хорошая программа flashrom, она умеет работать через linux_spi используя spidev модуль ядра. В арсенале программы куча поддерживаемых флешек, W25Q64 была в их числе. Для опытов на SD карте уже был залит образ на ядре 4.9.4 ночная сборка ubuntu. Однако, как оказалось, без танцев с бубном, ядро в упор не хотело видеть устройства /dev/spidevX.Y, чтобы не тратить время, взял стабильный образ debian на ядре 3.4.113, в котором прекрасно работал  spidev из коробки. Флешки успешно были прошиты, скорость прошивки меня очень порадовала. Впоследствии, третий чип припаял на плату и прошил в него загрузчик для Orange Pi Zero для дальнейших опытов. Вот результаты:
root@orangepizero:~# time flashrom -p linux_spi:dev=/dev/spidev0.0 -E
flashrom v0.9.9-r1954 on Linux 3.4.113-sun8i (armv7l)
flashrom is free software, get the source code at https://flashrom.org

Calibrating delay loop... OK.
Found Winbond flash chip "W25Q64.V" (8192 kB, SPI) on linux_spi.
Erasing and writing flash chip... Erase/write done.

real    1m7.162s
user    1m2.980s
sys     0m0.690s

root@orangepizero:~# time flashrom -p linux_spi:dev=/dev/spidev0.0 -w openwrt.img
flashrom v0.9.9-r1954 on Linux 3.4.113-sun8i (armv7l)
flashrom is free software, get the source code at https://flashrom.org

Calibrating delay loop... OK.
Found Winbond flash chip "W25Q64.V" (8192 kB, SPI) on linux_spi.
Reading old flash chip contents... done.
Erasing and writing flash chip... Erase/write done.
Verifying flash... VERIFIED.

real    0m40.877s
user    0m9.480s
sys     0m10.560s

Для установки flashrom нужно в файл /etc/apt/sources.list добавить строчку:
deb http://httpredir.debian.org/debian unstable main
 Дальше все как обычно apt-get update && apt-get install flashrom.

Комментариев нет:

Отправить комментарий