exponenta event banner

Параметры конфигурации модели: интерфейс генерации кода

Категория «Создание кода» > «Интерфейс» включает параметры для конфигурирования интерфейса сгенерированного кода. Для этих параметров требуется лицензия Simulink ® Coder™. Дополнительные параметры, доступные для целевого объекта на основе ERT, требуют лицензии Embedded Coder ®. Создание кода для моделей глубокого обучения с использованием библиотеки глубоких нейронных сетей NVIDIA ® CUDA ® (cuDNN) или TensorRT™ высокопроизводительных библиотек вывода для графических процессоров NVIDIA требует лицензии GPU Coder™.

В диалоговом окне «Параметры конфигурации» на панели «Создание кода» > «Интерфейс» находятся следующие параметры конфигурации.

ПараметрОписание

Библиотека замены кода (Simulink Coder)

Укажите библиотеку замены кода, используемую генератором кода при создании кода для модели.

Библиотеки замены кода (Simulink Coder)

Укажите несколько библиотек замены кода, используемых генератором кода при создании кода для модели.

Размещение общего кода (Simulink Coder)

Укажите расположение для создания служебных функций, определений экспортируемых типов данных и объявлений экспортируемых данных с пользовательским классом хранения.

Поддержка: числа с плавающей запятой (встроенный кодер)

Укажите, нужно ли создавать данные и операции с плавающей запятой.

Поддержка: неграничные числа (Simulink Coder)

Укажите, нужно ли создавать неграничные данные и операции с неграничными данными.

Поддержка: комплексные номера (встроенный кодер)

Укажите, нужно ли создавать сложные данные и операции.

Поддержка: абсолютное время (встроенный кодер)

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

Поддержка: непрерывное время (встроенный кодер)

Укажите, следует ли создавать код для блоков, использующих непрерывное время.

Поддержка: сигналы переменного размера (встроенный кодер)

Укажите, следует ли создавать код для моделей, использующих сигналы переменного размера.

Упаковка интерфейса кода (Simulink Coder)

Выберите упаковку для сгенерированного интерфейса кода C или C++.

Диагностика ошибок многоэкземплярного кода (Simulink Coder)

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

Передача ввода-вывода корневого уровня как (встроенный кодер)

Управление передачей входных и выходных данных модели корневого уровня в повторно используемый model_step функция.

Удаление поля состояния ошибки в структуре данных модели в реальном времени (встроенный кодер)

Укажите, следует ли регистрировать или отслеживать состояние ошибок.

Включить типы моделей в класс модели (встроенный кодер)

Укажите, следует ли создавать определения типов моделей в классе моделей.

Компоновка массива (Simulink Coder)

Укажите макет данных массива для генерации кода в виде столбца или строки

Совместимость внешних функций для генерации большого кода строки (Simulink Coder)

Выберите действие диагностики, если Simulink обнаруживает функцию, не имеющую указанного макета массива

Генерация C API для сигналов (Simulink Coder)

Создание кода интерфейса данных API C со структурой сигналов.

Создание C API для параметров (Simulink Coder)

Создание кода интерфейса данных API C со структурами настройки параметров.

Создание C API для состояний (Simulink Coder)

Создание кода интерфейса данных API C со структурой состояний.

Создание C API для ввода-вывода на корневом уровне (Simulink Coder)

Создание кода интерфейса данных API C со структурой ввода-вывода корневого уровня.

Интерфейс ASAP2 (Simulink Coder)

Создайте код для интерфейса данных ASAP2.

Внешний режим (Simulink Coder)

Создание кода для интерфейса данных внешнего режима.

Транспортный уровень (кодер Simulink)

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

Аргументы MEX-файла (Simulink Coder)

Укажите аргументы для передачи во внешний интерфейс режима MEX-file для связи с исполняемыми целевыми объектами.

Распределение статической памяти (Simulink Coder)

Управляющий буфер памяти для связи во внешнем режиме.

Размер буфера статической памяти (Simulink Coder)

Укажите размер буфера памяти для связи во внешнем режиме.

Целевая библиотека (Simulink Coder)

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

cuDNN или TensorRT требуется лицензия кодера графического процессора.

Версия библиотеки вычислений ARM (Simulink Coder)

Укажите версию вычислительной библиотеки ARM ®.

Архитектура вычислительной библиотеки ARM (Simulink Coder)

Укажите архитектуру ARM, поддерживаемую целевым оборудованием.

Автоматическая настройка (Simulink Coder)

Используйте автоматическую настройку для библиотеки cuDNN. Включение автоматической настройки позволяет библиотеке cuDNN находить самые быстрые алгоритмы свертки.

Для этого параметра требуется лицензия GPU Coder.

Эти параметры конфигурации находятся в разделе Дополнительные параметры.

ПараметрОписание

Стандартная математическая библиотека (Simulink Coder)

Укажите стандартную математическую библиотеку для среды выполнения. Убедитесь, что компилятор поддерживает нужную библиотеку; в противном случае могут возникать ошибки времени компиляции.

C89/C90 (ANSI) - Стандартная математическая библиотека ISO ®/IEC 9899:1990 C
C99 (ISO) - Стандартная математическая библиотека ISO/IEC 9899:1999 C
C++03 (ISO) - Стандартная математическая библиотека ISO/IEC 14882:2003 C++

Поддержка встроенных S-функций (встроенный кодер)

Укажите, следует ли создавать код для неинкрементированных S-функций.

Максимальная длина слова (Simulink Coder)

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

Размер буфера строки динамического размера (байт) (Simulink Coder)

Число байтов буфера символов, сгенерированных для динамических строковых сигналов без максимальной длины.

Определения многословных типов (встроенный кодер)

Укажите, следует ли использовать определения системных или пользовательских типов для многословных типов данных в сгенерированном коде.

Классический интерфейс вызова (Simulink Coder)

Укажите, следует ли создавать вызовы функции модели, совместимые с основным программным модулем цели GRT в моделях, созданных до R2012a.

Использовать динамическое выделение памяти для инициализации модели (встроенный кодер)

Управление тем, как созданный код распределяет память для данных модели.

Функция одиночного вывода/обновления (Simulink Coder)

Укажите, нужно ли создавать model_step функция.

Требуется завершить функцию (встроенный кодер)

Укажите, нужно ли создавать model_terminate функция.

Объединение структур сигналов/состояний (встроенный кодер)

Укажите, следует ли объединять сигналы глобального блока и данные глобального состояния в одну структуру данных в сгенерированном коде

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

Ведение журнала файлов MAT (Simulink Coder)

Укажите ведение журнала MAT-файла.

Модификатор имени переменной файла MAT (встроенный кодер)

Выберите текст для добавления в имена переменных файла MAT.

Существующий общий код (встроенный кодер)

Укажите папку, содержащую существующий общий код

Удалить функцию отключения (встроенный кодер)

Удалить недоступные (мертвый код) экземпляры disable функции из сгенерированного кода для систем на основе ERT, которые включают модели, ссылающиеся на иерархии.

Удалить функцию сброса (встроенный кодер)

Удалить недоступные (мертвый код) экземпляры reset функции из сгенерированного кода для систем на основе ERT, которые включают модели, ссылающиеся на иерархии.

Порядок структуры объекта LUT для спецификации четного интервала (Simulink Coder)

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

Порядок структуры объекта LUT для явной спецификации значений (Simulink Coder)

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

Создать деструктор (встроенный кодер)

Укажите, нужно ли создавать деструктор для класса модели C++.

Использовать динамическое выделение памяти для создания экземпляра блока модели (встроенный кодер)

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

Библиотека замены кода (Simulink Coder)

Создайте пользовательские библиотеки замены кода с помощью инструмента замены кода.

Игнорировать пользовательские классы хранения (встроенный кодер)

Укажите, следует ли применять или игнорировать пользовательские классы хранения.

Игнорировать сигналы контрольных точек (встроенный кодер)

Укажите распределение буферов памяти для контрольных точек.

Реализация каждого блока хранилища данных в качестве уникальной точки доступа (встроенный кодер)

Создайте уникальные переменные для каждой операции чтения/записи блока памяти хранилища данных.

Следующие параметры в разделе Дополнительные параметры используются редко и не имеют другой документации.

ПараметрОписание
GenerateSharedConstants

Определяет, генерирует ли генератор кода код с общими константами и общими функциями. По умолчанию: on. При повороте off, генератор кода не генерирует совместно используемые константы.

InferredTypesCompatibility

Для совместимости с устаревшим кодом, включая tmwtypes.h, укажите, что генератор кода создает директиву препроцессора #define_TMWTYPES_ inside rtwtypes.h

TargetLibSuffix
character vector - ''

Управление суффиксом, используемым для именования зависимых библиотек целевого объекта (например, _target.lib или _target.a). Если указан, символьный вектор должен содержать точку (.). (Для созданных библиотек ссылок на модели по умолчанию используется суффикс библиотеки _rtwlib.lib в системах Windows ® и_rtwlib.a в системах UNIX ®.).

Примечание

Этот параметр не применяется к построениям модели, в которых используется подход, основанный на цепочке инструментов, см. раздел Параметры управления библиотекой (кодер Simulink).

TargetPreCompLibLocation
character vector - ''

Управление расположением предварительно скомпилированных библиотек. Если этот параметр не задан, генератор кода использует расположение, указанное в rtwmakecfg.m.

IsERTTarget

Указывает, является ли выбранный в данный момент целевой объект производным от целевого объекта ERT.

CPPClassGenCompliant

Указывает, поддерживает ли конечный объект возможность создания и настройки интерфейсов класса C++ для кода модели.

ConcurrentExecutionCompliant

Указывает, поддерживает ли конечный объект параллельное выполнение

UseToolchainInfoCompliant

Укажите, что пользовательская цель совместима с цепочкой инструментов.

ModelStepFunctionPrototypeControlCompliant

Указывает, поддерживает ли цель возможность управления прототипами функций инициализации и пошаговых функций, создаваемых для модели Simulink.

ParMdlRefBuildCompliant

Указывает, настроена ли модель для параллельных построений при построении модели, включающей ссылочные модели.

CompOptLevelCompliant
off, on

Установить в SelectCallback для цели, чтобы указать, поддерживает ли цель возможность использовать параметр уровня оптимизации компилятора для управления уровнем оптимизации компилятора для построения сгенерированного кода.

По умолчанию: off для пользовательских целей и on для целей, поставляемых с продуктами Simulink Coder и Embedded Coder.

ModelReferenceCompliant
символьный вектор - off, on
Установить в SelectCallback для цели, чтобы указать, поддерживает ли цель ссылку на модель.
GenerateFullHeader

Создать полный заголовок, включая метку времени.

Для целей ERT этот параметр находится на панели «Создание кода» > «Шаблоны».

Следующие параметры предназначены только для использования MathWorks.

ПараметрОписание
ExtModeTestingТолько для MathWorks.
ExtModeIntrfLevelТолько для MathWorks.
ExtModeMexFileТолько для MathWorks.

Связанные темы