На этом семинаре вы узнаете, как генерировать высококачественный и оптимизированный C/C++ код из моделей Simulink для использования в серийных системах. Вы также узнаете, как осуществлять сборку, профилирование и верификацию сгенерированного кода на целевых процессорах.
Во время семинара будет показан процесс разработки модели в Simulink, автоматизированного перевода модели в арифметику с фиксированной точкой, автоматической генерации кода и верификации кода на примере целевого процессора Миландр.
Показанные инструменты и приёмы применимы для любых встраиваемых систем на базе микропроцессоров и ОСРВ.
Во время семинара будут затронуты следующие вопросы:
Функциональная верификация скомпилированного кода производится при помощи тестирования в режиме Процессор-в-контуре (Processor-in-the-Loop, PIL). В рамках семинара будет показано, как благодаря PIL можно удостовериться в соответствии поведения скомпилированного кода и исходной модели. Уделяется внимание оценке быстродействия скомпилированного кода для объективного понимания требований к вычислительным ресурсам. Для учета функциональных ограничений и требований к вычислительным ресурсам показана интеграция оптимизированных под процессор библиотек и некоторых других способов повышения эффективности сгенерированного кода.
Данный семинар в первую очередь полезен инженерам, для которых тема модельно-ориентированного проектирования и генерации кода производственного качества является новой, но которые уже имеют опыт работы в Simulink. Семинар НЕ предназначен для студентов или интересующихся ради личного хобби.
Введение в модельно-ориентированное проектирование
Введение в автоматическую генерацию кода
a) Построение модели ПО в MATLAB/Simulink/Stateflow
б) Настройка параметров генерации кода
в) Двусторонняя трассируемость между моделью и кодом
г) Генерация кода из MATLAB
Автоматизированный перевод в арифметику с фиксированной запятой
Кофе-брейк
Переход к целевой платформе
а) Подходы к переносу сгенерированного кода на целевой процессор
б) Пакеты поддержки целевых процессоров (демонстрация пакета поддержки процессора Миландр)
в) Блоки в библиотеке Simulink для поддержки периферии процессора
Оптимизация и верификация сгенерированного кода
а) Использование технологии подстановки кода и генерация кода, оптимизированного под конкретный процессор
б) Запуск сгенерированного кода на целевом процессоре в режиме Процессор-в-контуре: верификация функциональной эквивалентности модели и кода, измерение времени выполнения кода и измерение покрытия кода
Сервисы компании Экспонента, ответы на вопросы
Ведущий инженер ЦИТМ Экспонента по прототипированию алгоритмов в реальном времени, а также по процессам верификации и валидации при проектировании встраиваемых систем повышенной надежности. Михаил имеет квалификацию магистра по специальности "Системный анализ, управление и обработка информации" в МГУЛ. Михаил имеет многолетний опыт работы с инструментами MathWorks в области разработки алгоритмов управления и является профессиональным тренером по модельно-ориентированному проектированию. До перехода в ЦИТМ Экспонента, он работал в мировых автомобильных компаниях, разрабатывая системы управления для двигателей внутреннего сгорания.
Москва, 2-й Южнопортовый проезд,д. 31, стр. 4
Пн.-Пт., с 9:00 до 18:00
Сферы применения: Системы управления