Интерактивный отчет о трассируемости с использованием MATLAB Coder и Embedded Coder
Интерактивный отчет о трассируемости с использованием MATLAB Coder и Embedded Coder

Что входит в курс:

  • Генерация С кода из алгоритмов MATLAB;
  • Подготовка алгоритмов MATLAB для генерации кода;
  • Работа с данными фиксированного и переменного размера;
  • Генерация С кода из алгоритмов содержащих долговременные данные;
  • Оптимизация сгенерированного кода;
  • Подключение внешнего С кода;
  • Перевод в фиксированную точку.

Предварительная подготовка:

Для прохождения курса требуется предварительное прохождение курса MATLAB для профессионалов, а также знание языка программирования C. Курс предназначен для опытных пользователей MATLAB

Используемые инструменты:

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

Интерактивный отчет о трассируемости с использованием MATLAB Coder и Embedded Coder Интерактивный отчет о трассируемости с использованием MATLAB Coder и Embedded Coder

Программа

День 1 

  • Использование MATLAB Coder для генерации кода.
  • Подготовка кода MATLAB для кодогенерации.
  • Работа с данными фиксированного размера.
  • Работа с данными переменного размера.

День 2 

  • Работа с глобальными переменными, структурами и массивами ячеек.
  • Интеграция с внешним кодом.
  • Оптимизация сгенерированного кода.
  • Fixed Point Design (опционно).

Использование MATLAB Coder для генерации кода

Знакомство с MATLAB Coder и его применением.

  • Обзор MATLAB Coder;
  • Рабочий процесс генерации C кода из кода MATLAB;
  • Генерация C кода;
  • Просмотр полученного кода;
  • Модули сгенерированного кода.

Подготовка кода MATLAB для кодогенерации

Написание кода MATLAB, готового к генерации кода в соответствие со стандартами MATLAB Coder.

  • Перевод кода MATLAB в C код;
  • Вызов неподдерживаемых функций MATLAB;
  • Подготовка существующего кода MATLAB к кодогенерации;
  • Стратегии подготовки кода для кодогенерации.

Работа с данными фиксированного размера

Генерация C кода из кода MATLAB, работающего со входными данными фиксированного размера или константами.

  • Обзор характеристик данных;
  • Задание входов верхнего уровня фиксированного размера;
  • Задание постоянных входов верхнего уровня.

Работа с данными переменного размера

Генерация C кода из кода MATLAB, работающего со входными или локальными данными переменного размера.

  • Задание входов верхнего уровня переменного размера;
  • Задание локальных данных переменного размера;
  • Переиспользование переменных.

Работа с глобальными переменными, структурами и массивами ячеек

Генерация C кода из кода MATLAB, содержащего долговременные данные, глобальные переменные, входящие структуры.

  • Статические переменные;
  • Глобальные переменные;
  • Работа со структурами;
  • Массивы ячеек в сгенерированном коде;
  • Передача переменных по ссылке.

Интеграция с внешним кодом

Интеграция сгенерированного C кода с внешним C кодом.

  • Обзор процесса интеграции кода;
  • Точки входа в сгенерированном коде;
  • Интеграция внешнего C кода с помощью интерфейса MATLAB Coder;
  • Интеграция внешнего C кода с помощью внешней IDE;
  • Вызов внешних C функций;
  • Верификация и профилирование сгенерированного кода;
  • Отладка исходного кода.

Оптимизация сгенерированного кода

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

  • Разворачивание циклов в сгенерированном коде и выделение памяти;
  • Встраивание функции и разбиение файла;
  • Создание объекта конфигурации для MATLAB Coder;
  • Удаление не нужного кода;
  • Соглашения именам в сгенерированном коде;
  • Конвертация проекта MATLAB Coder в скрипт.

Fixed Point Design (опционно)

Переход из арифметике плавающей точкой в фиксированную. 

  • Обзор Fixed Point Design;
  • Автоматизация рабочего процесса при переходе в фиксированную точку;
  • Замена функций.