Генерация C/C++ кода для встраиваемых систем

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

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

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

Для прохождения курса требуется

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

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

3 дня

Связанные продукты

Embedded Coder

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

Модуль 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
Настройки аппаратной реализации
Соответствие стандартам и руководствам