- PVSM.RU - https://www.pvsm.ru -
В нашу инженерную лабораторию попала демоплата Baikal BFK Rev 1.6 [1] на основе первого российского процессора для коммерческих разработок — SOM Baikal-T1 MIPS [1].
Двухъядерный процессор «Байкал-Т1» на архитектуре MIPS Warrior P-class P5600 MIPS 32 был анонсирован еще в 2015 году в рамках программы по импортозамещению, его разработчик — российская фаблес-компания «Байкал Электроникс». Эта система на кристалле была создана для проектирования промышленных и потребительских устройств: маршрутизаторов и сетевых накопителей, тонких клиентов, мультимедийных центров, систем ЧПУ и т.п.
Откроем коробку и посмотрим, как работает стандартный пакет поддержки платформы (BSP) на тестовой плате:
Подключаем плату и загружаем установочный файл 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
Выглядит это примерно так:
Запускаем сборку BSP, используя команду:
$ cd ~/baikal-bsp/baikal/usr/scripts
$ ./build-boot-img.sh bfk –a
По окончанию сборки получаем:
Готовим плату для запуска:
Прошиваем. Для прошивки используется спецификация 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
Лог прошивки выглядит примерно так:
Пример загрузки устройства:
Собираем 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.
В целом, впечатления от демонстрационного комплекта остались положительные. Будем использовать.
Автор: 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
Нажмите здесь для печати.