Создание пакетов программной поддержки для процессоров собственной разработки (Роман Ставцев, LVEE-2019) — различия между версиями

Материал из 0x1.tv

{{LinksSection}}
* [ Talks page]
<!-- <blockquote>[©]</blockquote> -->


{{vklink|1430}}                                          
{{fblink|2421189171467423}}                                          
<references/>

[[Категория:LVEE-2019]]
[[Категория:Байкал]]
{{stats|disqus_comments=0|refresh_time=2020-01-22T21:56:5428T14:34:35.475536896969|vimeo_plays=112|youtube_comments=0|youtube_plays=17}}

Версия 11:34, 28 января 2020

Докладчик
Роман Ставцев.jpg
Роман Ставцев

The software development kit creating process for our own processors.

Видео

on youtube


Презентация

Создание пакетов программной поддержки для процессоров собственной разработки (Роман Ставцев, LVEE-2019).pdf Создание пакетов программной поддержки для процессоров собственной разработки (Роман Ставцев, LVEE-2019).pdf Создание пакетов программной поддержки для процессоров собственной разработки (Роман Ставцев, LVEE-2019).pdf Создание пакетов программной поддержки для процессоров собственной разработки (Роман Ставцев, LVEE-2019).pdf Создание пакетов программной поддержки для процессоров собственной разработки (Роман Ставцев, LVEE-2019).pdf Создание пакетов программной поддержки для процессоров собственной разработки (Роман Ставцев, LVEE-2019).pdf Создание пакетов программной поддержки для процессоров собственной разработки (Роман Ставцев, LVEE-2019).pdf Создание пакетов программной поддержки для процессоров собственной разработки (Роман Ставцев, LVEE-2019).pdf Создание пакетов программной поддержки для процессоров собственной разработки (Роман Ставцев, LVEE-2019).pdf Создание пакетов программной поддержки для процессоров собственной разработки (Роман Ставцев, LVEE-2019).pdf Создание пакетов программной поддержки для процессоров собственной разработки (Роман Ставцев, LVEE-2019).pdf Создание пакетов программной поддержки для процессоров собственной разработки (Роман Ставцев, LVEE-2019).pdf Создание пакетов программной поддержки для процессоров собственной разработки (Роман Ставцев, LVEE-2019).pdf Создание пакетов программной поддержки для процессоров собственной разработки (Роман Ставцев, LVEE-2019).pdf

Thesis

АО «Байкал Электроникс» фаблесс-компания специализируется на проектировании систем на кристалле (СнК) и интегральных микросхем. Основной продукцией является СнК BE-T1000 и BE-M1000. Процессоры Baikal производятся на фабрике компании TSMC. Вспомогательной продукцией является программные пакеты (Software Development Kit, SDK) и оценочные платы.

Микропроцессор BE-T1000, другое название Байкал-Т1 относится к типу Система-на-кристале. Микропроцессор содержит два ядра MIPS32r5 P5600 Warrior.

Lvee2019-Stavtsev1.png

Перечислим некоторые технические характеристики:

  • 2 ядра P5600 MIPS 32 r5, максимальная частота до 1,2 ГГц
  • Кэш L2 1 Мбайт
  • Контроллер памяти DDR3-1600
  • Энергопотребление не более 5 Вт *Технологический процесс 28 нм

Интегрированные интерфейсы:

  • 1 порт 10 Gb Ethernet
  • 2 порта 1 Gb Ethernet
  • контроллер PCIe Gen.3
  • 2 порта SATA 3.0
  • USB 2.0

Микропроцессор BE—M1000, другое название Байкал-M1 относится к типу Система-на-кристале.


Lvee2019-Stavtsev2.png

Перечислим некоторые технические характеристики:

  • 4 кластера по 2 ядра ARM Cortex-A57, максимальная частота до 1,5ГГц
  • Кэш L2 объемом 1 Мбайт на кластер
  • Когерентный кэш L3 объемом 8 Мбайт
  • 2 контроллера памяти DDR4-2400
  • Графический процессор ARM Mail-T628 с поддержкой кэш L2 128 Кбайт на кластер
  • 2 видеоконтроллера с поддержкой LVDS и HDMI2.0 интерфейсов
  • Аппаратный 4K видео-декодер
  • Аудио-подсистема HDAudio
  • Подсистема управления загрузкой
  • Технологический процесс 28 нм
  • Корпус FCBGA 1521

Интегрированные интерфейсы:

  • 3 контроллера PCIe Gen3 (x8/x4/x4)
  • 2 контроллера SATA 6G
  • 2 контроллера XGb Ethernet
  • 2 контроллера 1Gb Ethernet
  • 2 контроллера USB 3.0/2.0 6 портов

Низкоскоростная периферия:

  • eMMC/SD/SDIO
  • SPI/eSPI
  • SMBus
  • GPIO32
  • UART

Программные пакеты SDK (Software Development Kit) для процессоров семейства Baikal, концентрируется на простоте установки и использования, предоставляя при этом необходимы инструментарий. В большей части SDK опирается на свободное программное обеспечение. Для каждого типа СнК выпускается свой SDK. SDK для BE-T1000 был основан на наборе собственных сборочных скриптов. Такой подход позволил создать автономную систему с минимумом зависимостей. Однако имеются и существенные ограничения в нашем решении, основное сложность создания изменяемых сборок с пользовательскими приложениями. При разработке SDK для BE-M1000 мы сохранили прежний принцип построения, понимая и принимая все плюсы и минусы такого решения.

Рассмотрим схожие компоненты SDK. В состав SDK входят средства разработки программ для целевого процессора, средства отладки, полный набор исходных кодов, комплект поддержки для отладочных/оценочных плат (BFK), образ встраиваемой операционной системы на основе ядра Linux и набора busybox, средства автоматизации сборки различных образов и прошивок для устройств на процессорах семейства Baikal.

Состав SDK выглядит следующим образом:

  • Загрузчик
  • Ядро Linux
  • Образ initrd встраиваемой ОС на основе пакета busybox
  • Образ initramfs для запуска «больших» дистрибутивов ОС Linux
  • Прошивка для загрузочной флеш-памяти
  • Образ файловой системы для эмулятора QEMU
  • Скрипты автоматизации сборки
  • Тулчейн
  • Вспомогательные утилиты
  • Программный эмулятор
  • Скрипты поддержки/автоматизации для эмулятора
  • Исходные коды

Основные компоненты немного подробнее.

Загрузчик

Мы используем модифицированную версию загрузчика U-BOOT для BE-T1000. Начинали с U-BOOT v2014.10 Мы используем для BE-M1000 UEFI tianocore основанный на «UEFI Development Kit» UDK2017.

Ядро Linux

для BE-T1000 были внесены дополнения в следующие ветки ядра Linux:

для BE-M1000 были внесены дополнения в следующие ветки ядра Linux

  • 4.9.180 — в разработке

Тулчейн

Пакет средств кросс-компиляции на основе GNU gcc, binutils и т.д.

  • gcc–8.3.0, binutils–2.32 (для BE-T1000, SDK-4.18)
  • gcc 6.3.0, binutils 2.28 (для BE-M1000)

Средства отладки (gdb)

  • gdb–8.2.1 (для BE-T1000, SDK-4.18)
  • gdb 7.12.1 (для BE-M1000)

Предсобранные исполнимые файлы и библиотеки (sysroot) на основе glibc

  • glibc–2.29 (для BE-T1000, SDK-4.18)
  • glibc 2.25 (для BE-M1000)



Создание пакетов программной поддержки для процессоров собственной разработки (Роман Ставцев, LVEE-2019)!.jpg

Примечания и ссылки

  • [ Talks page]


Plays:29   Comments:0