Raspberry Pi конструктор и программатор микросхем

Raspberry Pi: детский конструктор и программатор микросхем SPI Flash

Высокой популярностью пользуется миниатюрный компьютер (умещается в ладони руки), получивший название Raspberry Pi. Аппарат, сделанный в виде набора конструктора и предназначенный, в первую очередь для подростков, купить можно всего за 300-2000 руб. (в зависимости от серийной модели). Рассмотрим этот продукт на возможное применение в деле.

Кратко о бюджетном конструкторе Raspberry Pi

Продукт Raspberry Pi — детский конструктор и программатор, по факту является полноценным компьютером. Аппарат сравним по техническим параметрам с моделями среднего класса ПК настольной конфигурации. Обработка видео, графики, погружение в игры и т.д. – для этой «машинки» не проблема.

Авторский прототип устройства изобретатели сделали в 2011 году. Спустя ещё год, стартовало серийное производство. За пять прошедших лет (2012-2017 гг.) разработчики создали несколько серийных моделей конструктора Raspberry Pi (8 серийных моделей на момент 2017 года).

Мини компьютер конструктор программатор
Raspberry Pi помещённый в корпус. Но даже в таком виде девайс свободно помещается на ладони руки и ещё оставляет место для шариковой ручки

Самые молодая модель мини компьютера получила имя «Raspberry Pi Zero». Причём эта серия – представитель уже «Pi 3» поколения конструктора для детей. Правда, детским развлечением подобное устройство назвать сложно. Может быть, юношеским?

Особенности сборки миниатюрного ПК

Сборка конструктора выполнена на базе четырёхслойной печатной платы. Потому как мини компьютер по умолчанию рассматривается детским конструктором, будущим пользователям доступно купить каждую деталь сборки в отдельности:

  • печатную плату;
  • корпус компьютера;
  • адаптер питания;
  • жёсткий диск SSD;
  • клавиатуру, мышь, кабели;
  • карту SD, MMC, SDIO (8 ГБ и более);
  • модули расширения.

Есть возможность получить в подарок любую серийную модель, но не бесплатно, как часто позиционируется в сети. Подарком девайс оформляется через подписку на новости сайта разработчиков. Подписка платная от $5 до $90, исходя из периодики.

Техническое оснащение Raspberry Pi

Конфигурация мини компьютера, с точки зрения технических параметров, определяется серийными версиями. Тройка первых моделей сделана на базе микропроцессора Broadcom BCM2835 архитектуры ARM11. Максимально допустимая тактовая частота для этих аппаратов — на уровне 700 МГц.

Две серии компьютера Raspberry
Два устройства, выпущенные в рамках разных серий: 1 — самая первая серия «А» без поддержки интерфейса GPIO; 2 — одна из последних моделей выпуска серии «В+», значительно продвинутая модель

Конструктивно процессор Raspberry Pi («А», «А+», «В») BCM2835 выполнен по технологии «package-on-package». Этой технологией поддерживается размещение модулей оперативной памяти непосредственно на теле чипа микропроцессора. Поддерживаются модули на объём 256-512 МБ.

Для следующих серий детских конструкторов Raspberry Pi разработчики внедрили уже более мощные компоненты. К примеру, серия «2В» наделена четырёхядерным микропроцессором типа Cortex-A7.

Этим чипом поддерживается 1 ГГц тактовой частоты и до 1ГБ оперативной памяти. А серийный ряд Raspberry Pi3 (разработки 2017 года) оснащается CPU на основе четырехядерной архитектуры ARMv8 с частотным диапазоном до 1,2 ГГц.

Также, с учётом конструкторской сборки соответствующей версии, изменяется число и назначение системных портов. Так, если модель «А» имеет один порт USB 2.0, версия «2В» оснащена уже четырьмя интерфейсами USB и дополнена каналом Ethernet.

Модель Raspberry Zero
Модель Raspberry Zero: 1 — SD карта; 2 — интерфейс GPIO (40); 3 — размер платы 65х30х5 мм; 4 — контакты кнопки сброса; 5 — RSA видео; 6, 7 — порт USB; 8 — процессор; 9 — мини HDMI

Видеосигнал выводится методом подключения монитора или ТВ через кабель RCA либо путём цифрового интерфейса HDMI. Опять же поддержка того или иного способа вывода видеосигнала индивидуально организована для каждой версии компьютера Raspberry Pi.

Программное обеспечение – установка, применение

Базовое программное обеспечение уникальный детский конструктор получил от Linux. Между тем не исключена возможность оснастить компьютер программной средой Windows (в частности, Windows 10 IOT). Явно поддерживаемые ОС следующие:

  • Raspbian
  • Raspbmc (OSMC)
  • Fedora
  • OpenELEC
  • RISC OS

Есть ещё целый ряд «операционок» (более десятка), подходящих к мини компьютеру. Однако этот список не считается официально признанным и распространяется на условиях «как есть».

Применять (загружать) операционные системы на компьютер рекомендуется при помощи утилиты NOOBS (создаёт образ ОС) с последующей развёрткой образа ОС на карте SD. Но в принципе образ можно создать любой другой подходящей программой.

Утилиты для Raspberry Pi
Утилита создания образа операционной системы для компьютера конструктора. Созданный образ впоследствии загружается через SD карту

Однако главная особенность уникального компьютера конструктора для детей – это наличие GPIO – портов ввода-вывода. Именно благодаря интерфейсу GPIO, Raspberry Pi 2-й и 3-й серий лёгким движением рук превращается в программатор микросхем EEPROM и FLASH.

Прошивка (чтение) памяти через Raspberry Pi 3 (Pi 2)

Интерфейс GPIO конструктора открывает широкие возможности для контроля и мониторинга периферийных устройств. Соответственно, есть возможность подключаться к электронным схемам, в частности – программировать (читать и прошивать) чипы памяти.

Детский мини компьютер через порт GPIO учит детей управлять светодиодами, запускать миниатюрные двигатели, выполнять многие другие простые действия, характерные для электроники.

Но компьютер конструктор Raspberry Pi 3 – это также реальный инструмент для прошивки BIOS, благодаря интерфейсу GPIO и поддержке технологии SPI.

Модели плат из новой серии детского конструктора  имеют 40-пиновый интерфейс GPIO. Более старые версии оснащены 26-пиновым разъёмом.

Интерфейс для программирования микросхем
Функциональность этого интерфейса разносторонняя. Но для электронщиков прежде всего интересна та сторона, которая даёт возможность прошивать чипы памяти

Для прошивки (программирования) микросхем памяти разного типа подходят все версии плат с разъёмами 26 и 40 контактов. Исключение составляет версия «А» компьютера конструктора, где отсутствует интерфейс GPIO.

Как прошить flash память SPI

Здесь описывается пример прошивки микросхемы flash памяти MX25L1605 в корпусе SOIC-8. Такая память установлена, к примеру, на материнской плате ноутбука Lenovo ThinkPad X60/T60, а также Apple Macbook 2.1.

Для доступа к микросхеме BIOS MX25L1605 необходима разборка ноутбука Lenovo. Здесь поможет руководство на техническое обслуживание моделей X60/T60. Там же в руководстве имеются сведения по работе с Libreboot.

 Libreboot — бесплатное программное обеспечение, нацеленное на замену фирменной прошивки BIOS.  Устанавливается на многих компьютерах без ограничений. Функционально представляет собой упрощённую систему загрузки-запуска современных 32-разрядных или 64-разрядных операционных систем.

Расположение чипа BIOS MX25L1605 планшетов X60 – нижняя область материнской платы. Микросхема обычно закрыта защитной лентой чёрного цвета.

Подключение чипа прищепкой
Разобранный планшет Lenovo ThinkPad X60, извлечённая материнская плата и заветный ПЗУ, который теперь нужно через подключение «прищепкой» прочитать и затем прошить новым содержимым

На материнской плате планшета Lenovo модели T60 чип памяти находится под опорной панелью и закреплён дюралюминиевой рамкой. Крепёж нужно снять, рамку демонтировать.

На следующем этапе подключение микросхемы памяти к интерфейсу GPIO мини компьютера конструктора Raspberry Pi 3.

Чип подключается, оставаясь непосредственно на плате, без выпаивания, через пружинный контактор (прищепка). Соединения проводников следует выполнять согласно раскладке:

Раскладка интерфейса GPIO
Подключение MX25L1605 на 8 ножек: 1 ножка (CS) — 24 контакт; 2 ножка (MISO) — 21 контакт; 3 ножка — не используется; 4 ножка (GND) — 25 контакт; 5 ножка (MOSI) — 19 контакт; 6 ножка (CLK) — 23 контакт; 7 ножка — не используется; 8 ножка (3.3В) — 17 контакт

Питание на микросхему можно подать одним из двух способов:

  1. Через адаптер ноутбука, подключив низковольтный разъём адаптера к материнской плате, а его сетевой разъём в розетку 220В.
  2. От внешнего источника питания на 3.3В, плюсовой шиной на 8 ножку, минусовой на 4 ножку, соответственно.

Чтение подключенного ПЗУ MX25L1605

Рекомендуется точно определить производителя чипа BIOS, прежде чем пытаться начинать процедуру чтения содержимого.

Затем необходимо загрузить на компьютер Raspberry Pi и скомпилировать утилиту Flashrom. Делается это посредством следующего кода:

Кодовые строки 1
Кодовая комбинация 1

Далее для ПЗУ производства SST, выполнить команду:

Кодовые строки 2
Кодовая комбинация 2

Для ПЗУ производства Macronix выполнить последовательность:

Проверить контрольную сумму командой:

Кодовая комбинация 3
Кодовая комбинация 3

Повторно запустить утилиту Flashrom командой проверки контрольной суммы и следом выполнить команду на тест содержимого BIOS:

Кодовая комбинация 4
Кодовая комбинация 4
Кодовая комбинация 5
Кодовая комбинация 5

Если в результате выполненных операций контрольная сумма совпадает, это свидетельствует о точном прочтении дампа утилитой Flashrom.

Прошивка микросхемы flash серии 25хх

После удачных операций чтения дампа и сверки контрольной суммы, остаётся только выполнить завершающее действие – прошить микросхему памяти – записать в чип новую информацию, необходимую пользователю.

Для ПЗУ производства SST нужна команда:

Кодовая комбинация 6
Кодовая комбинация 6

Для ПЗУ производства Macronix нужна команда:

Кодовая комбинация 7
Кодовая комбинация 7

При этом путь к файлу «.rom» следует указывать по существу. То есть, если дамп прошивки лежит по пути: «/bin/x60/libreboot_usqwerty.rom», значит так и нужно указывать вместо строки: «/path/to/libreboot.rom».

После успешно завершённой операции, утилита выдаёт последовательность сообщений:

  1. Чтение старого содержимого чипа…успешно.
  2. Очистка и запись в чип…успешно.
  3. Проверка флеш…проверено.

Если операция завершилась неудачно, с частично исполненными командами, процедуру следует повторить. Иногда с первого раза чипы не прошиваются, особенно если производители памяти не относятся к фирмам, обозначенным здесь.

Аналогичным способом прошиваются ПЗУ других моделей планшетных компьютеров, а также чипы памяти из категории EEPROM и FLASH. Возможны определённые отклонения или дополнения в операциях с другими чипами в зависимости от конфигураций и требований. Однако в целом алгоритм процедуры сохраняется.

Raspberry Pi 3: видео-обзор как инструкция начинающим