Присоединяйтесь!
Авторизация
spi    flashrom   

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

01 June 2016 - Автор dym

Всем привет!

Как-то раз мне потребовалось прошить чип Flash памяти типа 25x40 Если прошивка заливается в чип через SPI интерфейс, то я обычно использую дешёвый китайский программатор CH341A. Но в этот раз чип никак не хотел прошиваться, хотя статусная полоска прогресса записи добегала до 100% без ошибок.

Тогда я решил подключить чип к SPI линии Raspberry Pi и прошить чип при помощи RasPi и программы Flashrom Сделать это оказалось несложно. Для тех, кто захочет использовать RasPi в качестве программатора я приведу в этом блоге небольшую инструкцию.

Подключаем чип к Raspberry Pi

CS - SPI_CE0
DO - MISO
WP - 3.3V
GND - GND
VCC - 3.3V
HOLD -3.3V
CLK - SPI_CLK
DIO - MOSI

Устанавливаем Flashrom

Перед установкой активируем SPI-интерфейс через raspi-config, либо подгружаем spi-модули ядра вручную при помощи modprobe Устанавливаем необходимые пакеты, от которых зависит успешная компиляция Flashrom:sudo apt-get install subversion pciutils pciutils-dev libusb-0.1 libusb-1.0 libusb-1.0-dev 

Скачиваем последнюю версию исходников Flashrom из SVN репозитория, компилируем, устанавливаем 

$ svn co svn://flashrom.org/flashrom/trunk flashrom 
$ cd flashrom 
$ make 
$ sudo make install

Прошиваем чип

Flashrom умеет определять тип подключенного чипа, стирать чип, записывать/считывать прошивку, верифицировать (проверять соответствие файла прошивки с записанной в чип информацией) чип.

Для прошивки чипа используется команда:sudo flashrom -w /home/pi/firmware.bin -V -p linux_spi:dev=/dev/spidev0.0 здесь -w - команда на запись прошивки (write), после неё указывается путь до файла с прошивкой (/home/pi/firmware.bin), -p - тип программатора. Если в качестве программатора выступает Raspberry Pi, то тип будет 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 

Если запустить flashrom без параметров, то он попытается определить тип подключенного чипа sudo flashrom -p linux_spi:dev=/dev/spidev0.0 Более подробно о командах flashrom можно прочитать тут: man flashrom 

https://www.flashrom.org/Supported_hardware - на этой странице можно найти список чипов, с которыми flashrom реально тестировался

На этом всё. Всем добра! 

01 June 2016
dym
автор статьи

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

  1. Chchmf

    20 September 2016 - Ответить

    Хорошая, годная статья. За небольшим косяком с компиляцией flashrom. указанный пакет зависимостей ее не удавлетворяет.

  2. Chchmf

    20 September 2016 - Ответить

    Но в целом, статья помогла мне прошиться. За что огромное спасибо. Избавило меня от постройки программатора на юсб.

  3. andr

    20 February 2019 - Ответить

    Спасибо за статью, прошил eeprom w25q64 (от телевизора). В текущей версии armbian программа есть в репозитории, т.е. для установки достаточно выполнить sudo apt-get install flashrom

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

Авторизуйтесь для отправки комментария

Присоединяйтесь
Новые сообщения
  • Raspberry pi 4 не включается
    27 June, 2020
    @antonabsatarov#6188 что ты имеешь введу под "правильным" форматированием флешки? Все же исправно работало, а в один момент...…
  • Raspberry pi 4 не включается
    27 June, 2020
    @x6vital#6185 я сам столкнулся со схожей проблемой. Решил правильным форматированием флэшки (криво устанавливалась ОС), а...…
  • Как запустить X без монитора?
    22 June, 2020
    Как вы поняли, что они не запускаются? …
  • Как запустить X без монитора?
    22 June, 2020
    Добрый день, поставил на малину расбери ос с рабочим столом, если она загружается без монитора то не стартуют приложения...…
  • Raspberry pi 4 не включается
    19 June, 2020
    @mojo#6171 дело в том что она вообще неадекватно себя как то ведёт. Просто в один момент перестала включаться. Пробую...…
  • Troyka Cap
    19 June, 2020
    Всем спасибо вопрос больше не актуален …
  • Troyka Cap
    19 June, 2020
    @mojo#6178 спасибо скорее всего я уже нашёл ответ: Подключение Платформа устанавливается сверху на одноплатник Raspberry...…
  • rap os без Х + twinkle + service чо происходит
    18 June, 2020
    Добрый день, подскажите пожалуйста, установил настроил twinkle на малину(rasp os linux 10), запускаю через терминал twinkle...…
  • Troyka Cap
    18 June, 2020
    @mojo#6178 держу в курсе) я гулять пошёл и по этому от меня связи не будет до след дня надеюсь что Вы сможете помочь …
  • Troyka Cap
    18 June, 2020
    @mojo#6178 да и как могут быть проблемы с пинами Pi если вентелятор работает от тройка кэп просто от других пинов вопрос...…
  • Troyka Cap
    18 June, 2020
    @mojo#6175 дело не в разбери пинах так как я пробовал ставить вентилятор на саму разбери и он работал и на тройке он...…
  • Troyka Cap
    18 June, 2020
    нет. проблема врядли в токе. Там 1 светодиод, ему вполне хватит питания от RasPi …
  • Troyka Cap
    18 June, 2020
    @mojo#6176 просто в видео у амперки где обзор на тройку обзор там доп блок питания может просто не хватает тока? …
  • Troyka Cap
    18 June, 2020
    В самом Cap'е врядли могут быть проблемы. Там почти нет ничего такого, что может не работать. …
  • Troyka Cap
    18 June, 2020
    На схеме есть соответствие пинам Cap'а пинам на Raspberry Pi Попробуй модуль со светодиодом подключить напрямую к RasPi...…
  • Troyka Cap
    18 June, 2020
    > @Artem90056#6167 какие подробности я не сказал? Никаких. Я в принципе не понимаю, как ПИН может не работать....…
  • Troyka Cap
    18 June, 2020
    @mojo#6170 возможно что я не втыкаю в тройку кэп доп зарядник и мне не хватает мощности? …
  • Troyka Cap
    18 June, 2020
    @mojo#6170 http://wiki.amperka.ru/продукты:raspberry-troyka-cap пролистни чуть ниже проект маячок дана схема и код …
  • Raspberry pi 4 не включается
    18 June, 2020
    так и должно быть. Без SD карты горят все светодиоды Скорее всего не тот образ записал на карту …
  • Troyka Cap
    18 June, 2020
    Скидывай код и схему к какому пину Troyka Cap и что ты подключаешь …
  • Troyka Cap
    18 June, 2020
    @sv-lary#6166 не работают пины на troyka cap беру пример кода с амперки делаю всё по схеме но результата нет …
  • Troyka Cap
    18 June, 2020
    @sv-lary#6166 скажи что тебе ещё сказать? …
  • Troyka Cap
    18 June, 2020
    @sv-lary#6166 какие подробности я не сказал? я то знаю почему пины не работают да? …
  • Troyka Cap
    18 June, 2020
    > @Artem90056#6165 Troyka Cap не хочет работать И? А можно - хоть какие-то подробности? Или Вы предполагаете, что...…
  • Troyka Cap
    18 June, 2020
    Добрый день, подскажите пожалуйста в чём проблема. У меня заказана Troyka Cap с amperka.ru и Raspberry Pi 4b . Проблема в...…