Замените код, сгенерированный из моделей Simulink

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

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

  • Интегрирование с существующим кодом приложения.

  • Податливость стандарту, такому как AUTOSAR.

  • Изменение поведения кода, например, включение или отключение нефинитной или встроенной поддержки.

  • Требования к коду конкретного применения или проекта, такие как исключение math.h, файлы системных заголовков или вызовы memcpy или memset, или использование BLAS.

Подготовка к замене кода

1. Убедитесь, что MATLAB ®, Simulink ®, Simulink Coder™ и компилятор C установлены в вашей системе. Некоторые библиотеки замещения кода, доступные в среде разработки, могут потребовать Embedded Coder ®.

Для установки продуктов MathWorks ® см. документацию по установке MATLAB. Если вы установили MATLAB и хотите увидеть, какие другие продукты MathWorks установлены, в Командном окне, введите ver.

2. Идентифицируйте существующую модель Simulink или создайте модель, для которой вы хотите, чтобы генератор кода заменил код.

Выбор библиотеки замещения кода

По умолчанию генератор кода не применяет библиотеку замены кода. Вы можете выбрать из библиотек, которые предоставляет MathWorks ® и которые вы создаете и регистрируете с помощью продукта Embedded Coder ®. Список доступных библиотек зависит от:

  • Установленные пакеты поддержки.

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

  • Создание и регистрация библиотек с помощью продукта Embedded Coder ®.

Библиотеки, включающие GNU99 расширения, предназначены для использования с компилятором GCC. Если вы используете одну из этих библиотек с другим компилятором, сгенерированный код может не скомпилироваться.

В зависимости от имеющихся лицензий на продукт, могут быть доступны и другие библиотеки. Если у вас есть лицензия Embedded Coder, можно просматривать и выбирать из других библиотек и создавать пользовательские библиотеки замещения кода.

Сконфигурируйте генератор кода, чтобы использовать библиотеку замены кода

1. Сконфигурируйте генератор кода, чтобы применить библиотеку замены кода во время генерации кода для модели. Выполните одно из следующих действий:

  • В диалоговом окне Параметров конфигурации на панели Генерации кода > Интерфейс выберите библиотеку для параметра библиотеки замещения Кода.

  • Установите CodeReplacementLibrary параметр в командной строке или программно.

2. Сконфигурируйте генератор кода, чтобы производить только код (не создавать исполняемую программу), чтобы можно было проверить замену кода перед созданием исполняемой программы. Выполните одно из следующих действий:

  • В диалоговом окне Параметры конфигурации на панели Генерация кода выберите Только Генерация кода.

  • Установите GenCodeOnly параметр в командной строке или программно.

Включите информацию о замене кода в отчет генерации кода

Если у вас есть лицензия Embedded Coder, можно настроить генератор кода, чтобы включить раздел замены кода в отчет генерации кода. Дополнительная информация может помочь вам проверить замену кода.

1. Сконфигурируйте генератор кода, чтобы сгенерировать отчет. В диалоговом окне Параметры конфигурации на панели Генерация кода > Отчет выберите Создать отчет генерации кода. Рассмотрите автоматическое открытие отчета. Выберите Открыть отчет автоматически.

2. Включите раздел замещения кода в отчет. Выберите Summarize, какие блоки инициировали замену кода.

Сгенерируйте код замены

Сгенерируйте код C/C + + из модели и, если вы сконфигурировали генератор кода соответственно, отчет генерации кода. Например, в окне модели нажмите Ctrl + B.

Генератор кода производит код и отображает отчет.

Проверьте замену кода

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

Подробнее о