Компания «Байкал Электроникс» представляет тестовый комплект ТК-Т1, предназначенный для ознакомления с возможностями и функциональностью новейшего российского коммуникационного процессора Baikal-T1 на основе ядра mips32r5.
Основным элементом комплекта ТК-Т1 является отладочная плата с установленной на ней закорпусированной системой-на-кристалле (СнК) Baikal-T1. Отладочная плата выполнена в формате microATX и предназначена для разработки прикладного и системного программного обеспечения и макетирования схемотехники на основе СнК.
Hardware Features
Отладочная плата предоставляет доступ ко всему набору интерфейсов, реализованных в СнК Baikal-T1 для взаимодействия с внешними компонентами. Среди интерфейсов есть как предназначенные для взаимодействия с внешними активными устройствами (10GbE и GbE, USB, SATA, PCIe), так и интерфейсы для подключения различных датчиков, реле и другого оконечного оборудования (GPIO, UART, I2C, SPI). Для диагностики и отладки предусмотрены интерфейсы JTAG, EJTAG и DFU.
- Процессор: Инженерный образец Baikal-T1, 2 ядра Р5600, архитектура mips32r5
- Кэш-память 2-го уровня: 1Мб
- Оперативная память: 4 ГБ DDR3-1600 без ЕСС
- Энергонезависимая память: 16 МБ NAND Flash (boot), 128 МБ Flash (data), разъем под карту microSD
- Ethernet: 1 х 10GbE (10GBASE-KR), 2 x 1GbE
- 1 x PCIe Gen.3 x4, 2 x SATA 3.0, 2 × USB 2.0
- 2 × SPI, 2 × UART, 2 × I2C, 32 x GPIO, JTAG, EJTAG, DFU
- Формат питания: ATX
- Форм-фактор: microATX
Помимо отладочной платы с установленной на ней СнК в комплект поставки входит необходимая документация, а также средства разработки ПО (компилятор, ядро Linux, образ минимальной файловой системы). Приобретателям тестового комплекта предоставляется техническая поддержка силами инженеров компании «Байкал Электроникс».
Toolchain
Компания «Байкал Электроникс» поставляет SDK, в состав которого входит toolchain, созданный на основе GCC версии 5.2.0, загрузчик U-Boot и ядро Linux.
Во вводной статье мы говорили о недостатках использования сторонних toolchain-ов и, естествено, в нашей работе, мы используем toolchain-ы собственной сборки.
Готовый toolchain для работы на 64-разрядных Linux машинах можно получить на нашем FTP-сервере в каталоге toolchains/x86_64. Выбирать здесь нужно последнюю версию архива с именем 'mipsel-P5600-linux-glibc-*.tar.gz'.
Для самостоятельной сборки toolchain-а, необходимо получить срез репозитория toolchains, например,
$ svn co svn://radix-linux.su/toolchains/branches/toolchains-1.1.x toolchains
И выполнить команду make в соответствующем каталоге:
$ cd toolchains/products/P5600-glibc/1.1.2 $ make -j8
Напомним здесь, что перед сборкой необходимо подготовить каталог для инсталляции toolchain-а так, как это описано в разделе, посвященном загрузке toolchain-ов с нашего FTP-сервера.
Source Code
К сожалению, компания «Байкал Электроникс» не предоставляет доступ к репозиториям исходного кода ядра Linux и загрузчика, а лишь поставляет SDK в виде самораспаковывающегося архива. Это обстоятельство приводит к тому, что сторонние разработчики должны хранить громоздкие архивы вместо того, чтобы получать необходимые срезы репозиториев непосредственно перед сборкой.
Для обеспечения непрерывного процесса разработки мы сохраняем на своем FTP сервере ядро и загрузчик в виде отдельных архивов в каталогах linux и u-boot, соответственно.
Kernel
Порядок сборки и приготовления отчуждаемого пакета, можно найти в каталоге boot/kernel/bt1/4.4.24-4.08.84 репозитория платформы Radix.pro. Здесь представлена сборка ядра Linux версии 4.4.24. Суффикс 4.08.84 имени каталога соответствует версии SDK от компании «Байкал Электроникс».
Рассмотрев текст Make-файла в каталоге 4.4.24-4.08.84, нетрудно видеть порядок сборки ядра, а также то, что для отладочной платы комплекта ТК-Т1 следует выбирать конфигурацию ядра и дерево устройств с именами baikal_bfk*.
U-Boot
Сборка загрузчика осуществляется в каталоге boot/u-boot/bt1.
Поскольку мы не имеем отладочной платы ТК-Т1 и работаем по удаленному соединению со стендом компании «Байкал Электроникс», мы не можем обеспечить полную конфигурацию нашего загрузчика, достаточную для прошивки на целевое устройство. Однако в этом нет острой необходимости, поскольку загрузка операционной системы может быть осуществлена с помошью команд загрузчика уже прошитого в память.
Например, для загрузки с диска, подключенного к плате через SATA интерфейс, достаточно при включении питания войти в консоль загрузчика (с помощью клавиши <Enter>) и выполнить следующие команды:
BAIKAL # ext4load sata 0:1 0x85000000 /boot/uImage BAIKAL # ext4load sata 0:1 0x85d00000 /boot/baikal_bfk.dtb BAIKAL # setenv bootargs 'console=ttyS0,115200n8 ro root=/dev/sda1 rootfstype=ext4 earlyprintk=uart8250,mmio32,0x1F04A000,115200 maxcpus=2 nohtw nocoherentio ieee754=relaxed board_name=BFK board_serial=1603010451161110268 board_rev=1.6' BAIKAL # bootm 0x85000000 - 0x85d00000
Пользователям системы Radix.Linux нет необходимости самостоятельно заботиться о порядке размещения данных на диске. Как мы говорили в разделе Products Release вводной статьи, для записи загрузочного образа достаточно получить свежие файлы с FTP сервера, например, из каталога 1.1.630/p5600-glibc/bt1 и выполнить две следующие операции:
# cat bt1.boot-records bt1.ext4fs > HD.img # dd if=HD.img of=/dev/sdc
Оставшееся место на диске можно распределить с помощью утилиты fdisk, например, создав дополнительный раздел для размещения домашних каталогов пользователей.
В заключение, необходимо отметить, что компания «Байкал Электроникс» уделяет большое внимание поддержке разработчиков программного и аппаратного обеспечения для устройств на базе процессора Baikal-T1.
Более того, в офисе компании «Байкал Электроникс» был развернут демонстрационный стенд оценочной платы процессора Baikal-T1 с удалённым доступом. Это даёт возможность разработчикам оборудования на базе данного процессора, не имеющим возможность приобрести плату, провести необходимое тестирование и оценить возможности продукта.
Основная цель демонстрационного стенда – проводить функциональное и нагрузочное тестирование приложений в необходимом окружении с моделированием различных типов нагрузки и возможных сценариев использования.