Генерация кода для встраиваемых систем с использованием Embedded Coder

Курс предназначен для пользователей Simulink, которые планируют использовать генерацию, валидацию и развертывание встраиваемого кода при помощи Embedded Coder. Курс содержит следующие темы:

  • Структура сгенерированного кода и его выполнение
  • Настройки генератора кода и параметры оптимизации
  • Интеграция сгенерированного кода с внешним кодом
  • Генерация кода для многочастотных систем
  • Настройка сгенерированного кода
  • Настройка данных сгенерированного кода
  • Развертывание кода

Для прохождения курса требуется предварительное прохождение курсов «Simulink для моделирования систем и алгоритмов» и «Командная разработка и архитектура модели в Simulink». Требуется знание языка программирования С.

Продолжительность курса 3 дня.


Программа курса

Модуль 1. Генерация встраиваемого кода.

Настройка моделей Simulink для генерации встраиваемого кода и обзор компонентов сгенерированного кода.

  • Спецификация разрабатываемой системы
  • Генерация встраиваемого кода
  • Модули кода
  • Структуры данных в сгенерированном коде
  • Процесс генерации и построения кода с Embedded Coder


Модуль 2. Интеграция сгенерированного кода во внешний код.

Изменение моделей и файлов для совместного запуска сгенерированного и внешнего кода.

  • Обзор интеграции внешнего кода
  • Обзор точек входа модели
  • Создание обвязки для выполнения кода
  • Включение пользовательских процедур
  • Настройка обмена данными с внешним кодом


Модуль 3. Выполнение в реальном времени.

Генерация кода для многочастотных систем в однозадачных и многозадачных конфигурациях.

  • Обвязка для выполнения в реальном времени
  • Схемы выполнения кода для одночастотных и многочастотных систем
  • Сгенерированный код для одночастотных моделей
  • Многочастотный однозадачный код
  • Многочастотный многозадачный код


Модуль 4. Управление прототипами функций.

Настройка прототипов функций для точек входа модели в сгенерированном коде.

  • Прототип функции в модели по умолчанию
  • Изменение прототипов функций
  • Сгенерированный код с измененными прототипами функций
  • Вызов сгенерированного кода с настроенными точками входа
  • Аспекты настройки прототипов функций в модели


Модуль 5. Оптимизация сгенерированного кода.

Выявление требований к приложению и настройка параметров оптимизации для удовлетворения этих требований.

  • Аспекты оптимизации
  • Удаление ненужного кода
  • Удаление поддержки ненужных типов данных
  • Оптимизация хранения данных
  • Требования для сгенерированного кода


Модуль 6. Настройка характеристик данных в Simulink.

Управление типами данных и классами хранения данных с использованием Simulink.

  • Характеристики данных
  • Классификация типов данных
  • Конфигурация типов данных в Simulink
  • Настройка классов хранения сигналов
  • Настройка классов хранения состояний
  • Настройка классов хранения параметров
  • Влияние классов хранения на представление данных в коде


Модуль 7. Настройка характеристик данных с использованием объектов данных (Data Objects).

Управление типами данных и классами хранения данных с использованием Data Objects.

  • Обзор Data Objects в Simulink
  • Управление типами данных при помощи Data Objects
  • Создание реконфигурируемых типов данных
  • Пользовательские классы хранения
  • Управление классами хранения при помощи Data Objects
  • Управление типами данных и именами переменных
  • Словари данных


Модуль 8. Создание пользовательских классов хранения данных.

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

  • Пользовательские настраиваемые классы хранения данных
  • Создание классов Simulink для хранения данных
  • Создание пользовательских классов хранения
  • Использование пользовательских классов хранения


Модуль 9. Шины и ссылки на модели.

Управление типами данных и классами хранения шин и использование шин при генерации кода из моделей, которые ссылаются на другие модели.

  • Шины и ссылки на модели
  • Управление типами данных шин
  • Управление классами хранения шин


Модуль 10. Настройка архитектуры сгенерированного кода.

Управление архитектурой сгенерированного кода в соответствии с требованиями приложений.

  • Архитектура моделей Simulink
  • Управление разбиением сгенерированного кода на модули
  • Генерация кода для повторного использования
  • Настройка размещения данных
  • Приоритет в управлении размещением данных


Модуль 11. Продвинутые возможности настройки.

Использование шаблонов генерации кода для управления сгенерированными файлами.

  • Обзор процесса генерации кода
  • Обзор шаблонов генерации кода
  • Пользовательская обработка файлов
  • Определение шаблонов генерации кода
  • Использование шаблонов генерации кода


Модуль 12. Развертывание сгенерированного кода.

Создание целевой поддержки для платы Arduino и развертывание кода с использованием этого целевого процессора.

  • Процесс разработки собственного пакета целевой поддержки
  • Обзор метода интеграции инструментов сборки для целевой платформы
  • Создание целевой поддержки для платформы Arduino
  • Развертывание кода на платформе Arduino


Модуль 13. Разработка драйверов устройств.

Определение рабочего процесса для разработки драйверов устройств и разработка драйверов устройств для платы Arduino.

  • Обзор драйверов устройств
  • Использование Legacy Code Tool
  • Настройка компонентов драйвера
  • Создание драйверов устройств для Arduino


Модуль 14. Улучшение эффективности и совместимости кода.

Проверка эффективности сгенерированного кода и верификация соответствия стандартам и руководствам.

  • Инструмент Model Advisor
  • Настройки аппаратной реализации
  • Соответствие стандартам и руководствам
Поделиться
*
Настоящим в соответствии с Федеральным законом № 152-ФЗ «О персональных данных» от 27.07.2006, отправляя данную форму, вы подтверждаете свое согласие на обработку персональных данных . Мы, ООО ЦИТМ "Экспонента" и аффилированные к нему лица, гарантируем конфиденциальность получаемой нами информации. Обработка персональных данных осуществляется в целях эффективного исполнения заказов, договоров и пр. в соответствии с «Политикой конфиденциальности персональных данных». * - обязательные поля