Микрокомпьютер Module MB 77.07 — русский ответ Raspberry Pi

Статья, опубликованная на habrahabr.ru
Читая новости о запрете на поставку электронной компонентной базы из США для отдельных производителей в РФ, мы решили рассказать об одноплатном микрокомпьютере Module МВ 77.07, который был разработан в российском научно-техническом центре «Модуль» на базе одного из наиболее производительных российских процессоров архитектуры ARM. Также мы рассмотрим установку Linux-дистрибутива Debian на этот микрокомпьютер.  
МВ 77.07 построен на базе системы на кристалле К1879ХБ1Я, которая также является разработкой НТЦ «Модуль». И хотя схема К1879ХБ1Я, в первую очередь, предназначена для использования в качестве декодера видеосигнала в различных ТВ-приставках, устройствах для видеонаблюдения и системах «умного дома», сам микрокомпьютер МВ 77.07 с этим процессором на борту позиционируется в том числе как система для энтузиастов-программистов и учебная плата для студентов. Таким образом, можно сказать, что это русский аналог Raspberry Pi. Давайте кратко разберем основные характеристики процессора К1879ХБ1Я, а затем — и самой платы.
Система на кристалле К1879ХБ1Я построена на основе двух процессорных ядер — ARM11 (ARM1176JZF-S ) и дополнительного DSP-процессора оригинальной архитектуры NeuroMatrix, который входит в блок декодирования аудиосигналов. 
 
Рабочая частота ARM-процессора — 324 МГц (и DSP — тоже), не самая большая по современным меркам, однако мы смогли убедиться на собственном опыте, что она позволяет комфортно запускать ОС Linux и пользоваться достаточно богатой периферией процессора: аппаратными видеодекодерами H.264, MPEG-2, VC-1; 2D-видеоускорителем; 8-канальным аудиопроцессором на основе DSP; блоком демультиплексирования TS-потока; криптопроцессором с поддержкой алгоритмов AES и 3DES. 
К1879ХБ1Я оснащен следующими интерфейсами: 
DDR2 SDRAM,
NAND и SPI Flash,
хостом HS USB 2.0,
10M/100M Ethernet,
HDMI 1.2,
I2S,
S/PDIF,
UART,
SPI,
I2C,
JTAG,
TS,
GPIO.
 
 
Функциональная схема SoC К1879ХБ1Я
Перейдем к описанию самой платы МВ 77.07: её размер — 80x80 мм, помимо самого процессора на плате установлено 128 МБ системной памяти и 128 МБ видеопамяти (обе — DDR2-667 SDRAM), а также 1 ГБ NAND-памяти. Плата имеет следующие разъемы интерфейсов: 
10М/100М Ethernet,
два порта USB 2.0,
HDMI 1.2.
 
Кроме этого, на «гребенки» по бокам выведены следующие интерфейсы:
I2S,
SPI Flash,
TS (интерфейс транспортного потока),
8 GPIO,
на отдельных разъемах UART, JTAG и два USB-порта.
 
Питание платы — 5 В, оценочная стоимость — в пределах 30 долларов.
 
В настоящее время для платы портированы загрузчик U-Boot и ядро Linux 2.6.33, разработаны драйвера для всех периферийных устройств, также сейчас завершается процесс портирования драйверов для Linux 3.10. Разработан ряд элементов конвейера gstreamer с поддержкой различных периферийных устройств (в частности, видеодекодера и видеоконтроллера). Для разработки под DSP-процессор существует NeuroMatrix SDK. Исходные коды U-Boot, Linux, а также сборочной системы Buildroot можно получить по запросу у НТЦ «Модуль».
1. Разворачиваем базовую Debian-систему
Для разворачивания корневой файловой системы Debian воспользуемся утилитой debootstrap, которая «признана официальным способом установки базовой системы Debian» (см. инструкцию на debian.org и wiki.debian.org). 
Разворачивание целевой файловой системы с помощью debootstrap проходит в две стадии: первая выполняется в окружении хост-системы (на этой стадии скачиваются и распаковываются необходимые пакеты, но не устанавливаются); вторая стадии выполняется на целевой системе (здесь происходит конфигурация и установка пакетов).
Будем устанавливать Debian 7.0 Wheezy для архитектуры armel, система будет развернута в директории debrootfs.
Первая стадия debootstrap выполняется командой
 sudo debootstrap --verbose --foreign --arch=armel wheezy debrootfs ftp://ftp.ru.debian.org/debian 
 
Для выполнения второй стадии нам понадобится эмулятор QEMU в режиме syscall, его можно установить командой
 sudo apt-get install qemu qemu-user-static 
 
Затем надо скопировать qemu-arm-static с хост-системы на целевую систему:
 sudo cp /usr/bin/qemu-arm-static debrootfs/usr/bin 
 
После этого можно выполнить вторую стадию debootstrap:
 sudo chroot debrootfs /debootstrap/debootstrap --second-stage 
 
Далее можно удалить директорию debrootfs/debootstrap, которая нам больше не нужна.
2. Настраиваем Debian
Зададим пароль root-a и смонтируем виртуальные файловые систему на целевую систему:
sudo chroot debrootfs /usr/bin/passwd root
 sudo mount -t proc none debrootfs/proc sudo mount -t sysfs none debrootfs/sys sudo mount -t devpts none debrootfs/dev/pts 
 
Теперь можно chroot-ся в целевую систему:
 sudo chroot debrootfs 
 
Необходимо добавить список источников пакетов в etc/apt/sources.list (изначально он пустой):
 deb http://ftp.ru.debian.org/debian/  wheezy main contrib non-free deb http://http.ru.debian.org/debian  wheezy main contrib non-free 
 
И обновить индекс пакетов командой
 apt-get update 
 
После этого можно начать устанавливать нужные пакеты, например ssh-сервер и клиент:
 apt-get install openssh-server openssh-client 
 
Завершить работу с целевой системой можно командой
 exit 
 
После этого необходимо размонтировать виртуальные файловые системы, которые были смонтированные ранее:
 sudo umount rootfs-dir/proc sudo umount rootfs-dir/sys sudo umount rootfs-dir/dev/pts 
 
Также нужно скопировать модули ядра, с которым будет использоваться целевая rootfs, в директорию debrootfs/lib/modules.
Для возможности логинится на COM-порт, раскомментируйте строку в файле debrootfs/etc/inittab: 
 #T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100 
 
И установите нужную скорость, например, 38400:
 T0:23:respawn:/sbin/getty -L ttyS0 38400 vt100 
 
После этого можно создать, скажем, UBI-образ rootfs и прошить его в NAND-флеш или загрузится по NFS.
 
 
 



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

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

CAPTCHA
Защита от спама
11 + 3 =
Решите эту простую математическую задачу и введите результат. Например, для 1+3, введите 4.