${message}

${message}

Курс дает практические навыки генерации C кода из кода MATLAB. Рассказывается, как подготовить код MATLAB к генерации кода, и как выполнить генерацию оптимального C кода. Показан пример настройки интерфейсов и интеграции сгенерированного С кода во внешний проект.

Темы курса:

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

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

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

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

  • MATLAB Coder

  • Embedded Coder

Длительность - 2 дня.

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

День 1 

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

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

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

Модуль 2. Подготовка кода MATLAB для кодогенерации.

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

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

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

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

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

Модуль 4. Работа с данными переменного размера.

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

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


День 2 

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

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

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

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

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

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

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

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

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

Опциональный модуль. Fixed Point Design. 

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

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

Задать вопрос