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

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

В диалоговом окне Configuration Parameters следующие параметры конфигурации находятся на панели Code Generation > Interface.

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

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

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

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

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

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

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

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

Задайте, генерировать ли данные и операции с плавающей точкой.

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

Задайте, генерировать ли не конечные данные и операции на не конечных данных.

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

Задайте, генерировать ли комплексные данные и операции.

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

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

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

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

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

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

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

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

Диагностика ошибок мультиобразца

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

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

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

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

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

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

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

Размещение массива

Задайте размещение данных массива для генерации кода как основной столбец или большая строка

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

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

Сгенерируйте C API для: сигналов

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

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

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

Сгенерируйте C API для: состояний

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

Сгенерируйте API на C для: root- ввода-вывода

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

ASAP2 интерфейс

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

Режим external mode

Сгенерируйте код для интерфейса данных режима external mode.

Транспортный слой

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

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

Укажите аргументы для передачи в режим external mode Файла MEX интерфейса для связи с выполняющими целевыми объектами.

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

Управляйте буфером памяти для связи в режиме external mode.

Статический buffer size памяти

Укажите buffer size памяти для связи в режиме external mode.

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

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

cuDNN или TensorRT требуется лицензия GPU Coder.

Версия ARM Compute Library

Укажите версию ARM® Вычислите библиотеку.

Архитектура ARM Compute Library

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

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

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

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

Эти параметры конфигурации находятся под Advanced parameters.

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

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

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

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-функций.

Максимальный размер слова

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

Buffer size динамического размера строки (байт)

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

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

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

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

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

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

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

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

Укажите, нужно ли генерировать model_step функция.

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

Укажите, нужно ли генерировать model_terminate функция.

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

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

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

Логгирование MAT-файлов

Задайте логгирование MAT-файлов.

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

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

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

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

Удалите функцию disable

Удалите недоступные (dead-code) образцы disable функции из сгенерированного кода для основанных на ERT систем, которые включают иерархии ссылок на модели.

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

Удалите недоступные (dead-code) образцы reset функции из сгенерированного кода для основанных на ERT систем, которые включают иерархии ссылок на модели.

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

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

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

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

Сгенерируйте деструктор

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

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

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

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

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

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

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

Игнорируйте сигналы тестовой точки

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

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

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

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

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

Управляйте, генерирует ли генератор кода код с общими константами и общими функциями. По умолчанию это on. Когда повернут offгенератор кода не генерирует общие константы.

InferredTypesCompatibility

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

TargetLibSuffix
character vector - ''

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

Примечание

Этот параметр не применяется к сборкам моделей, которые используют подход набора инструментальных средств, см. Library Control Parameters

TargetPreCompLibLocation
character vector - ''

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

IsERTTarget

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

CPPClassGenCompliant

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

ConcurrentExecutionCompliant

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

UseToolchainInfoCompliant

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

ModelStepFunctionPrototypeControlCompliant

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

ParMdlRefBuildCompliant

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

CompOptLevelCompliant
off, on

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

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

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

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

Для целевых объектов ERT этот параметр находится на панели Code Generation > Templates.

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

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

Похожие темы