Генерация C/C++ кода из алгоритмов MATLAB

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


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

  • MATLAB® 
  • MATLAB Coder™
  • Embedded Coder


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

Продолжительность 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
  • Автоматизация рабочего процесса при переходе в фиксированную точку
  • Замена функций 



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