exponenta event banner

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

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

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

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

Библиотека замены кода

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

Библиотеки замены кода

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

Размещение общего кода

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

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

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

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

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

Поддержка: комплексные числа

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

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

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

Поддержка: непрерывное время

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

Поддержка: сигналы переменного размера

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

Упаковка интерфейса кода

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

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

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

Передача ввода-вывода на корневом уровне

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

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

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

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

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

Макет массива

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

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

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

Генерация C API для: сигналов

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

Создание C API для: параметров

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

Создать C API для: состояний

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

Создание C API для: ввода-вывода на корневом уровне

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

ASAP2 интерфейс

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

Внешний режим

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

Транспортный уровень

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

Аргументы MEX-файла

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

Статическое выделение памяти

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

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

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

Целевая библиотека

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

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

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

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

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

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

Автоматическая настройка

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

Для этого параметра требуется лицензия GPU 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-функций.

Максимальная длина слова

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

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

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

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

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

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

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

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

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

Одна функция вывода/обновления

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

Требуется завершить функцию

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

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

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

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

Ведение журнала файлов MAT

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

Модификатор имени переменной файла MAT

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

Существующий общий код

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

Удалить функцию отключения

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

Удалить функцию сброса

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

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

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

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

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

Создать деструктор

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

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

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

Библиотека замены кода

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

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

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

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

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

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

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

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

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

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

InferredTypesCompatibility

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

TargetLibSuffix
character vector - ''

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

Примечание

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

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.

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