«Байкал-T1»: знакомство с платой на первом в России 28-нм процессоре

Promwad 31 января в 14:23 44,1k

В нашу инженерную лабораторию попала демоплата Baikal BFK Rev 1.6 на основе первого российского процессора для коммерческих разработок — SOM Baikal-T1 MIPS.


Двухъядерный процессор «Байкал-Т1» на архитектуре MIPS Warrior P-class P5600 MIPS 32 был анонсирован еще в 2015 году в рамках программы по импортозамещению, его разработчик — российская фаблес-компания «Байкал Электроникс». Эта система на кристалле была создана для проектирования промышленных и потребительских устройств: маршрутизаторов и сетевых накопителей, тонких клиентов, мультимедийных центров, систем ЧПУ и т.п.


Откроем коробку и посмотрим, как работает стандартный пакет поддержки платформы (BSP) на тестовой плате:




Подключаем плату и загружаем установочный файл bsp_baikal_mips_4_00_08.run с сайта разработчика.


В качестве хост-системы используется Debian 8.1. Добавляем пакеты на host-систему:


$ sudo apt-get install parted kpartx libssl-dev

Готовимся к сборке. Создаем директории, даем права на исполнение .run-файла и запускаем установку BSP от Baikal:


    $ mkdir  -p ~/baikal-bsp
              $ cp  <download dir>/bsp_baikal_mips_4_00_08.run  ~/baikal-bsp/
    $ cd  ~/baikal-bsp/
$ chmod +x bsp_baikal_mips_4_00_08.run
$ ./bsp_baikal_mips_4_00_08.run

Выглядит это примерно так:




Запускаем сборку BSP, используя команду:


$ cd  ~/baikal-bsp/baikal/usr/scripts
$ ./build-boot-img.sh bfk –a

По окончанию сборки получаем:




Готовим плату для запуска:


  1. Подключаем разъем XP4 mini USB-кабелем к HOST-системе, на этом порту живет DFU Loader.
  2. Подключаем переходник RS232 -> USB к XS9 (верхний разъем), он используется для консоли.
  3. Подключаем блок питания формата ATX к разъему XP14.

Прошиваем. Для прошивки используется спецификация USB DFU.


Включаем питание платы нажатием кнопки PWR ON (SB2) и выполняем команды:


$ cd  ~/baikal-bsp
$ sudo baikal/bin/./dfu-util -D baikal/img/bfk-mips.rom -d abf0:1234 -a 0

Лог прошивки выглядит примерно так:




Пример загрузки устройства:




Собираем openwrt rootfs для демонстрационной платы.


Получаем исходный код openwrt (будет использовать Chaos Calmer 15.05)


$ cd  ~/baikal-bsp
$ git clone git://git.openwrt.org/15.05/openwrt.git



Получаем и применяем патч для поддержки демонстрационной платы Baikal BFK в openwrt (патч можно взять по ссылке 0001-add-supporting-baikal-BFK-board.patch):


$ cd  ~/baikal-bsp /openwrt
$ git checkout -b work
$ git am <download dir>/0001-add-supporting-baikal-BFK-board.patch

Собираем прошивку:


$ cd  ~/baikal-bsp /openwrt
$ cp target/linux/baikal/baikal-bfk-defconfig .config
$ make defconfig
$ make -j4

Пример лога сборки:




Прошиваем на демонстрационную плату:


$ cd  ~/baikal-bsp
$ sudo baikal/bin/./dfu-util -D openwrt/build_dir/target-mipsel_mips32_uClibc-0.9.33.2/linux-baikal_bfk-1.x/bfk-mips.rom -d abf0:1234 -a 0

Пример запуска:




Информация по процессору:




Напоследок проверим производительность Ethernet (ETH 1G) — разъем XS11, нижний коннектор:


    $ ifconfig eth0 up 10.54.4.250
    $ iperf -c 10.54.4.61

Вывод команды:




Видим, что демонстрационная плата вполне юзабельна, пакет поддержки (BSP) основан на ядре 4.4.24 (не очень старом) и загрузчике U-Boot 2014.10 — это упрощает использование сборочных систем openwrt, yokto, buildroot. При необходимости можно перейти на более свежую версию ядра.


В распоряжении инженера весь набор интерфейсов процессора «Байкал-T1»: 10GbE и GbE, USB, SATA, PCIe, GPIO, UART, I2C, SPI.




Форм-фактор платы — microATX — привычный размер материнской платы 244х244 мм. Её можно использовать для разработки ПО, макетирования схемотехники, тестирования и отладки своих инженерных решений через JTAG, EJTAG и DFU.


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

Проголосовать:
+86
Сохранить: