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

77 990 ₽

Сложность: средний
Продолжительность: 3 дня
Формат участия: в классе/онлайн
Расписание: по согласованию

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

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

Кому будет полезен курс?
Инженерам, заинтересованным в разработке и внедрении систем, разработке программного обеспечения, отладке программ на основе автономных библиотек 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: Системный отладчик

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

День 3

– Операционные системы: знакомство и концепции
– 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.

записаться на обучение