На этом семинаре вы узнаете, как генерировать высококачественный и оптимизированный C/C++ код из моделей Simulink для использования в серийных системах. Вы также узнаете, как осуществлять сборку, профилирование и верификацию сгенерированного кода на целевых процессорах.

Во время семинара будет показан процесс разработки модели в Simulink, автоматизированного перевода модели в арифметику с фиксированной точкой, автоматической генерации кода и верификации кода на примере целевого процессора Миландр.

Показанные инструменты и приёмы применимы для любых встраиваемых систем на базе микропроцессоров и ОСРВ.

Во время семинара будут затронуты следующие вопросы:

  • Разработка и тестирование функциональных требований к ПО посредством симуляции;
  • Автоматическая генерация кода для контроллера и интеграция кода во внешний проект;
  • Автоматическая генерация кода полного проекта с драйверами периферийных устройств;
  • Верификация функциональных требований и требований к использованию ресурсов скомпилированного кода;
  • Оптимизация кода под конкретную целевую платформу;
  • Автоматизированная конвертация из арифметики с плавающей запятой в арифметику с фиксированной;
  • Двусторонняя трассируемость между моделью и кодом;
  • Тестирование при помощи методов Процессор-в-контуре и External Mode.

Функциональная верификация скомпилированного кода производится при помощи тестирования в режиме Процессор-в-контуре (Processor-in-the-Loop, PIL). В рамках семинара будет показано, как благодаря PIL можно удостовериться в соответствии поведения скомпилированного кода и исходной модели. Уделяется внимание оценке быстродействия скомпилированного кода для объективного понимания требований к вычислительным ресурсам. Для учета функциональных ограничений и требований к вычислительным ресурсам показана интеграция оптимизированных под процессор библиотек и некоторых других способов повышения эффективности сгенерированного кода.

Данный семинар в первую очередь полезен инженерам, для которых тема модельно-ориентированного проектирования и генерации кода производственного качества является новой, но которые уже имеют опыт работы в Simulink.


Подробная программа:

10:00-10:15 

Введение в модельно-ориентированное проектирование


10:15-11:00 

Введение в автоматическую генерацию кода

  • Построение модели ПО в MATLAB/Simulink/Stateflow;
  • Настройка параметров генерации кода;
  • Двусторонняя трассируемость между моделью и кодом;
  • Генерация кода из MATLAB.


11:00-11:30

Автоматизированный перевод в арифметику с фиксированной запятой


11:30-12:00

Перерыв


12:00-12:30

Переход к целевой платформе

  • Подходы к переносу сгенерированного кода на целевой процессор;
  • Пакеты поддержки целевых процессоров (демонстрация пакета поддержки процессора Миландр);
  • Блоки в библиотеке Simulink для поддержки периферии процессора.


12:30-13:30

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

  • Использование технологии подстановки кода и генерация кода, оптимизированного под конкретный процессор;
  • Запуск сгенерированного кода на целевом процессоре в режиме;
  • Процессор-в-контуре: верификация функциональной эквивалентности модели и кода, измерение времени выполнения кода и измерение покрытия кода.


13:30-14:00

Сервисы компании Экспонента, ответы на вопросы

06 февраля
Четверг
Москва

10:00

Прошло

Адрес

Полная карта

2-й Южнопортовый проезд, д. 31, стр. 4

Спикеры

Михаил Песельник Михаил Песельник

Михаил Песельник - ведущий инженер ЦИТМ Экспонента по прототипированию алгоритмов в реальном времени, а также по процессам верификации и валидации при проектировании встраиваемых систем повышенной надежности. Михаил имеет квалификацию магистра по специальности "Системный анализ, управление и обработка информации" в МГУЛ. Михаил имеет многолетний опыт работы с инструментами MathWorks в области разработки алгоритмов управления и является профессиональным тренером по модельно-ориентированному проектированию. До перехода в ЦИТМ Экспонента, он работал в мировых автомобильных компаниях, разрабатывая системы управления для двигателей внутреннего сгорания.

Поделиться

${message}

${message}