суббота, 25 июля 2015 г.

Reading of WRTnode SPI flash with Flashrom

Есть такой интересный компьютер WRTnode. Он построе на базе SoC с MIPS-процессором.
Много периферии в нём выведено на разъемы и на контактные площадки. Есть и контактная прощадка для подключения к микросхеме SPI NOR Flash. Т.е. к этой микросхеме можно получить доступ, не выпаивая её из платы (и затем использовать программатор).
Решил попробовать подключиться к этой микросхеме. Для этого собрал программно-аппаратный стенд из следующих компонентов:
1) flashrom;
2) FT2232H breakout board;
3) WRTnode;
4) Breakout.
Для коммутации WRTnode и FT2232H breakout использовалась документация следующая документация:
1) WRTnode pin map;
2) FT2232H chip datasheet;
3) Инструкции по коммутации SPI chip и FT2232H chip.
В результате получилось так:


Установил в своем дистрибутиве Linux пакет flashrom.
Подключил подготовленный стенд к компьютеру. Выполнил команду:
flashrom -p ft2232_spi:type=2232H,port=A

Результат выполнения:
Calibrating delay loop... OK.
Found Winbond flash chip "W25Q128.V" (16384 kB, SPI) on ft2232_spi.
No operations were specified.

Модель чипа памяти точно совпадает.

Выполнил чтение образа командой:
flashrom -p ft2232_spi:type=2232H,port=A -r wrtnode.bin

Чтение выполнялось примерно 2 минуты на моём компьютере.

Примечание. Неудобно, что нет отображения динамики процесса считывания во время работы программы flashrom.

Обновлённый стенд (27.07.2015):

Длина линии передачи - 20см.