Генерация кода при помощи Embedded Coder

Технология генерации кода

MathWorks® технология генерации кода производит код C or C++ и исполняемые программы для алгоритмов. Можно программно записать алгоритмы при помощи MATLAB® или графически в Simulink® окружение. Можно сгенерировать код для функций MATLAB и блоков Simulink, которые полезны для приложений реального времени и встраиваемых приложений. Сгенерированные исходный код и исполняемые программы для алгоритмов с плавающей точкой соответствуют функциональному поведению выполнения кода MATLAB и симуляциям Simulink с высокой степенью точности. Используя продукт Fixed-Point Designer, можно сгенерировать код с фиксированной точкой, который обеспечивает побитовое соответствие для симуляции модели результатов. Такая широкая поддержка и высокая степень точности возможны, потому что генерация кода тесно интегрирована с механизмами выполнения и симуляции MATLAB и Simulink. Встроенные ускоренные режимы симуляции в Simulink используют технологию генерации кода.

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

Чтобы узнать о шаблонах проекта модели, которые включают блоки Simulink, Stateflow® Графики и функции MATLAB и сопоставление с обычно используемыми конструкциями C, см. Шаблоны моделирования для Кода С.

Рабочие процессы генерации кода с Embedded Coder

Embedded Coder® продукт расширяет продукты MATLAB Coder™ и Simulink Coder с помощью функций, которые можно использовать для встроенного программного обеспечения разработки. Используя продукт Embedded Coder, можно сгенерировать код, который имеет ясность и эффективность рукописного кода. Для примера можно:

  • Сгенерируйте компактный и быстрый код, который необходим для симуляторов в реальном времени, плат быстрого прототипирования, микропроцессоров, используемых в массовом производстве, и встраиваемых систем.

  • Настройка внешнего вида сгенерированного кода.

  • Оптимизируйте сгенерированный код для определенного целевого окружения.

  • Интеграция существующих приложений, функций и данных.

  • Включите опции трассировки, создания отчетов и тестирования, которые облегчают верификацию кода.

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

Доступны другие продукты, поддерживающие генерацию кода, такие как программное обеспечение Stateflow.

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

Чтобы реализовать алгоритмы как блоки Simulink и диаграммы Stateflow в модели Simulink и сгенерировать код C or C++, смотрите Генерацию кода из моделей Simulink.

Генерация кода из кода MATLAB

Генерация кода из рабочего процесса кода MATLAB с Embedded Coder требует следующих продуктов:

  • MATLAB

  • MATLAB CODER

  • Embedded Coder

MATLAB Coder поддерживает подмножество основных функций языка MATLAB, включая конструкции управления программой, функции и матричные операции. Чтобы сгенерировать код C or C++, можно использовать проекты MATLAB Coder или ввести функцию codegen в Командном Окне MATLAB. Embedded Coder предоставляет дополнительные опции и расширенные оптимизации для мелкозернистого управления функциями сгенерированного кода, файлами и данными. Для получения дополнительной информации об этих опциях и оптимизации смотрите Embedded Coder Capabilities for Генерация Кода from КОД MATLAB.

Для получения дополнительной информации о генерации кода из кода MATLAB, смотрите Рабочий процесс Генерации кода.

Чтобы начать генерацию кода из кода MATLAB с помощью Embedded Coder, смотрите Embedded Coder Capabilities для генерации кода из кода MATLAB Code.

Генерация кода из моделей Simulink

Генерация кода из рабочего процесса моделей Simulink с Embedded Coder требует следующих продуктов:

  • MATLAB

  • MATLAB CODER

  • Simulink

  • Simulink Coder

  • Embedded Coder

Можно реализовать алгоритмы как блоки Simulink и диаграммы Stateflow в модели Simulink. Чтобы сгенерировать код C or C++ из модели Simulink, Embedded Coder предоставляет функции для реализации, настройки и проверки вашей модели для генерации кода.

Если у вас есть алгоритмы, написанные в коде MATLAB, можно включить код MATLAB в модель Simulink или подсистему при помощи блока MATLAB Function. Когда вы генерируете код C or C++ для модели Simulink, код MATLAB в блоке MATLAB Function генерируется в код C or C++ и включается в сгенерированный исходный код.

Чтобы начать генерировать код из моделей Simulink с помощью Embedded Coder, смотрите Генерация кода С из моделей Simulink.

Чтобы узнать, как смоделировать и сгенерировать код для обычно используемых конструкций C, используя блоки Simulink, диаграммы Stateflow и функции MATLAB, смотрите Шаблоны моделирования для кода С