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

Записаться

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

Этот двухдневный курс познакомит с проектированием и разработкой программного обеспечения для 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.