- PVSM.RU - https://www.pvsm.ru -

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

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

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

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

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


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

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

В качестве хост-системы используется 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Получаем и применяем патч для поддержки демонстрационной платы 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

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

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

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

$ 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

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

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

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

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

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

    $ ifconfig eth0 up 10.54.4.250
    $ iperf -c 10.54.4.61

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

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

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

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

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

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

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

Автор: Promwad

Источник [4]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/programmirovanie/238817

Ссылки в тексте:

[1] Baikal BFK Rev 1.6: http://www.baikalelectronics.ru/upload/iblock/3c2/baikal_t1_brief_ru.pdf

[2] bsp_baikal_mips_4_00_08.run: http://www.baikalelectronics.ru/upload/iblock/a20/bsp_baikal_mips_4_00_08.run

[3] спецификация USB DFU: http://www.usb.org/developers/docs/devclass_docs/DFU_1.1.pdf

[4] Источник: https://habrahabr.ru/post/320840/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best