Цель курса:
Курс позволит слушателям освоить создание и настройку встраиваемой Linux® системы для пользовательского таргета Zynq®.
Рассматриваемые темы:
- Создание проекта (reference design) в Vivado и SDK;
- Программная анатомия системы Zynq®;
- Система сборки Zynq;
- Сборка пользовательского образа Linux для Zynq;
- Интеграция драйверов устройств пользовательского пространства в Simulink.
Предварительная подготовка:
Курс Программирование Zynq из MATLAB и Simulink.
Продолжительность курса - 2 дня.
Программа курса:
День 1 из 2
Создание Reference Design в Vivado и SDK.
Цель: создать блок-диаграмму Vivado ® и проект SDK для таргетирования программируемой логики и процессорной системы.
- Создание блок-диаграммы Vivado для программируемой логики;
- Экспорт аппаратной части в SDK и создание пакета поддержки отладочной платы;
- Создание программного приложения для ARM;
- Автоматизация процесса сборки посредством скриптов TLC.
Программная анатомия системы Zynq.
Цель: познакомиться с различными программными компонентами, такими как FSBL, u-boot, ядром и пространством пользователя.
- Обзор embedded Linux;
- Знакомство с компонентами загрузочного образа.
Система сборки Zynq.
Цель: познакомиться с различными программными компонентами для формирования образа системы и процесса автоматизации.
- Знакомство с загрузчиками системы;
- Генерация различных бинарных файлов, включая .elf, .bit и open source-сборку с buildroot;
- Знакомство со схемой устройства хранения данных;
- Использование системы сборки MathWorks для простоты настройки битстрима/FSBL, devicetree и конфигурации ядра.
День 2 из 2
Система сборки Zynq (продолжение).
Цель: создать пользовательский образ Linux с драйверами устройств для различной периферии, интегрированной с процессорной системой или программируемой логикой.
- Обновление devicetree для включения новых маппингов;
- Модификация ядра для запуска драйвера;
- Создание boot.bin и генерация пользовательского образа для SD-карты.
Интеграция драйверов устройств пользовательского пространства в Simulink.
Цель: интегрировать С-код драйвера периферийного устройства в Simulink для связи с пользовательским образом Linux.
- Обзор сгенерированной функции main.c, таймингов планировщика и потоков POSIX;
- Создание пользовательского системного объекта;
- Использование coder.ceval и системных объектов для интеграции С-кода;
- Взаимодействие с пользовательским образом Linux из Simulink;
- Создание независимого приложения как части загрузочного образа.