MathWorks® технология генерации кода производит код C or C++ и исполняемые программы для алгоритмов. Можно программно записать алгоритмы при помощи MATLAB® или графически в Simulink® окружение. Можно сгенерировать код для функций MATLAB и блоков Simulink, которые полезны для приложений реального времени и встраиваемых приложений. Сгенерированные исходный код и исполняемые программы для алгоритмов с плавающей точкой соответствуют функциональному поведению выполнения кода MATLAB и симуляциям Simulink с высокой степенью точности. Используя продукт Fixed-Point Designer, можно сгенерировать код с фиксированной точкой, который обеспечивает побитовое соответствие для симуляции модели результатов. Такая широкая поддержка и высокая степень точности возможны, потому что генерация кода тесно интегрирована с механизмами выполнения и симуляции MATLAB и Simulink. Встроенные ускоренные режимы симуляции в Simulink используют технологию генерации кода.
Технология генерации кода и связанные с ней продукты обеспечивают инструменты, которую можно применять к V-модели для разработки. V-модель является представлением разработки системы, которое подчеркивает шаги верификации и валидации в процессе разработки. Дополнительные сведения см. в разделе Валидация и верификация для разработки системы.
Чтобы узнать о шаблонах проекта модели, которые включают блоки Simulink, Stateflow® Графики и функции MATLAB и сопоставление с обычно используемыми конструкциями C, см. Шаблоны моделирования для Кода С.
Embedded Coder® продукт расширяет продукты MATLAB Coder™ и Simulink Coder с помощью функций, которые можно использовать для встроенного программного обеспечения разработки. Используя продукт Embedded Coder, можно сгенерировать код, который имеет ясность и эффективность рукописного кода. Для примера можно:
Сгенерируйте компактный и быстрый код, который необходим для симуляторов в реальном времени, плат быстрого прототипирования, микропроцессоров, используемых в массовом производстве, и встраиваемых систем.
Настройка внешнего вида сгенерированного кода.
Оптимизируйте сгенерированный код для определенного целевого окружения.
Интеграция существующих приложений, функций и данных.
Включите опции трассировки, создания отчетов и тестирования, которые облегчают верификацию кода.
Генератор кода поддерживает два рабочих процессов для разработки, реализации и верификации сгенерированного кода C or C++. На следующем рисунке показаны опции окружения проекта и развертывания.
Доступны другие продукты, поддерживающие генерацию кода, такие как программное обеспечение Stateflow.
Чтобы разработать алгоритмы с кодом MATLAB для генерации кода, смотрите Генерацию кода из кода MATLAB.
Чтобы реализовать алгоритмы как блоки Simulink и диаграммы Stateflow в модели Simulink и сгенерировать код C or C++, смотрите Генерацию кода из моделей Simulink.
Генерация кода из рабочего процесса кода 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 с 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, смотрите Шаблоны моделирования для кода С