Разработка программного обеспечения
для встраиваемых процессорных систем

ЗАПИСАТЬСЯ НА ОБУЧЕНИЕ

Описание курса

Этот двухдневный курс познакомит с проектированием и разработкой программного обеспечения для Xilinx Zynq SoC с помощью Software Development Kit (SDK). Узнаете основные концепции, инструменты и методы, необходимые на этапе проектирования программного обеспечения. Тема является всеобъемлющей, охватывающей разработку и реализацию пакетов поддержки аппаратуры (BSP) для доступа и управления ресурсами автономной библиотеки Xilinx. Основные темы включают использование драйверов устройств, отладку и интеграцию пользовательского приложения. В курсе также даются практические советы по реализации, чтобы разработчик мог принимать правильные решения по проектированию и сократить циклы проектирования до минимума. Дается достаточно практической информации, чтобы начать разработку приложений для ARM® Cortex-A9 и MicroBlaze процессоров. Кроме того, этот курс охватывает разработку программных приложений для встраиваемых систем Xilinx, основанных на процессоре MicroBlaze.

Продолжительность

2 дня

Кому будет полезен курс?

Инженерам, заинтересованным в разработке и внедрении систем, разработке программного обеспечения, отладке программ на основе автономных библиотек Xilinx

Что нужно знать заранее?

Опыт программирования на C или C++, включая основные приемы отладки
Полное понимание встраиваемых процессорных систем, включая драйверы устройств, обработку прерываний, написание/изменение сценариев, пользовательских программ и действий загрузчика

Программное обеспечение

Vivado Design Suite

Отладочная плата

Zynq-7000 ZedBoard или Kintex-7 FPGA KC705

По завершении курса вы будете иметь все необходимые навыки для того чтобы:

Эффективно использовать инструменты Xilinx SDK
Писать базовые пользовательские приложения в Xilinx SDK и запускать их на встраиваемых процессорных системах
Использовать отладчик приложений
Применять техники программирования для улучшения функциональности
Сохранять и обновлять приложения при изменении аппаратной части встраиваемых процессорных систем

Структура курса

День 1
Обзор разработки программного обеспечения для встраиваемых систем
Методология быстрого проектирования встраиваемых систем
Лабораторная работа 1: Знакомство с архитектурой системы на кристалле Zynq7000
Лабораторная работа 2: Знакомство с архитектурой MicroBlaze
Лабораторная работа 3: Работа с инструментами SDK
Лабораторная работа 4: Системный отладчик
Лабораторная работа 5: Разработка автономного приложения (Standalone/BareMetal/без ОС)
Поддержка C для автономных приложений (Standalone/BareMetal/без ОС)
Лабораторная работа 6: Файловая система (для Standalone)
Лабораторная работа 7: Работа со скриптом линковщика
Введение в механизмы прерывания
Лабораторная работа 8: Прерывания: особенности программного обеспечения

День 2
Операционные системы: знакомство и концепции
Linux: основы
Лабораторная работа 9: Обзор разработки приложения для Linux
Написание кода с применением середы Xilinx для Linux
Лабораторная работа 10: Знакомство с загрузкой
Лабораторная работа 11: Знакомство с профилированием
Пояснение организации драйвера для устройств
Лабораторная работа 12: Разработка собственного драйвера

Описание лабораторных работ

Лабораторная работа 1.
Знакомство с архитектурой системы на кристалле Zynq7000. Работа с Vivado IP Integrator для создания проекта под систему на кристалле Zynq и настройки процессора.

Лабораторная работа 2.
Знакомство с архитектурой MicroBlaze. Работа с Vivado IP Integrator для создания проекта под процессор MicroBlaze и исследование зависимости производительности от настроек ядра.

Лабораторная работа 3.
Работа с инструментами SDK. Знакомство с инструментами Eclipse чаще всего используемых при разработке приложений.

Лабораторная работа 4.
Системный отладчик. Работа с системным отладчиком в SDK, контроль выполнения программы и изменений в памяти.

Лабораторная работа 5.
Разработка автономного приложения (Standalone/BareMetal/без ОС). Создание простейшего приложения на основе вложенных файлов. Проверка настроек BSP и генерация скрипта линковщика. Использование документации на API для завершения логики программы. Проверка работы программы на отладочной плате.

Лабораторная работа 6.
Файловая система (для Standalone). Создание приложения, работающего с файловой системой XilMFS.

Лабораторная работа 7.
Работа со скриптом линковщика. Правка скрипта линковщика для повышения производительности системы за счет использования различных участков памяти.

Лабораторная работа 8.
Прерывания: особенности программного обеспечения. Замещение циклического опроса таймера работой по прерываниям. Добавление поддержки работы с таймером в исходный код. Загрузка и проверка приложения.

Лабораторная работа 9.
Обзор разработки приложения для Linux. Работа с портами ввода/вывода (GPIO), подключенным в отладочной плате.

Лабораторная работа 10.
Знакомство с загрузкой. Создание загрузочного образа на основе предлагаемого bit-файла и приложения.

Лабораторная работа 11.
Знакомство с профилированием. Профилирование программы, анализ отчетов и проверка производительности при множественных вызовах.

Лабораторная работа 12.
Разработка собственного драйвера. Создание шаблона для драйвера и добавление предоставляемого драйвера для LCD в BSP.

ЗАПИСАТЬСЯ НА ОБУЧЕНИЕ