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

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

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

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

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

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

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

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

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

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

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

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

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

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

Поддержка: комплексные номера (Embedded Coder)

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

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

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

Поддержка: непрерывное время (Embedded Coder)

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

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

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

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

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

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

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

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

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

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

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

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

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

Размещение массива (Simulink Coder)

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

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

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

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

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

Сгенерируйте API на C для: параметры (Simulink Coder)

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

Сгенерируйте API на C для: состояний (Simulink Coder)

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

Сгенерируйте API на C для: Ввод-вывод корневого уровня (Simulink Coder)

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

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

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

Режим external mode (Simulink Coder)

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

Транспортный слой (Simulink Coder)

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

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

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

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

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

Статический buffer size памяти (Simulink Coder)

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

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

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

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

Версия ARM Compute Library (Simulink Coder)

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

Архитектура ARM Compute Library (Simulink Coder)

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

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

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

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

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

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

Стандартная математическая библиотека (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-функций (Embedded Coder)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Существующий общий код (Embedded Coder)

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

Удалите функцию disable (Embedded Coder)

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

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

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

Struct объекта LUT для четных интервалов (Simulink Coder)

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

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

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

Сгенерируйте деструктор (Embedded Coder)

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

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

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

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

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

Игнорируйте пользовательские классы памяти (Embedded Coder)

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

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

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

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

Создайте уникальные переменные для каждой операции чтения/записи блока 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 (Simulink Coder)

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.

Похожие темы