Сравнение системной поддержки целевых файлов между продуктами

Когда вы выбираете системный целевой файл (например grt.tlc), выбор определяет окружение выполнения и функции генерации кода. Идентифицируйте функции системного целевого файла, которые соответствуют целям рабочего процесса генерации кода.

Генератор кода использует системный целевой файл, чтобы получить код, предназначенный для выполнения на определенном целевом компьютере или на определенной операционной системе. Системный целевой файл вызывает другие файлы среды выполнения. Для получения дополнительной информации о настройке параметров генерации кода модели для целевого компьютера, смотрите Configure Run-Time Опции.

Различные типы системных целевых файлов поддерживают выбор сгенерированного кода функций. В системном целевом файле значение CodeFormat Переменная TLC и соответствующие rtwgensettings.DerivedFrom значение поля идентифицирует тип системного целевого файла и сгенерированного кода функции. Эти выбора применяют решения генерации кода для управления в нескольких точках процесса генерации кода. Выбранные вами варианты включают в себя то, генерирует ли и как сборка модели:

  • Определенные структуры данных (для примера, SimStruct или rtModel)

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

  • Вызов интерфейса для сгенерированных функций модели

Для разработки пользовательских системных целевых файлов CodeFormat значение отличается между целевыми объектами генерации кода:

  • Если системный целевой файл не содержит значение для CodeFormat Переменная TLC, значение по умолчанию RealTime для типового целевого устройства в реальном времени (GRT). Соответствующий rtwgensettings.DerivedFrom значение поля grt.tlc (значение по умолчанию).

  • Если вы разрабатываете пользовательский системный целевой файл и у вас есть программное обеспечение Embedded Coder, рассмотрите установку CodeFormat TLC- значения переменных для Embedded-C для встроенного целевого устройства в реальном времени (ERT). Соответствующий rtwgensettings.DerivedFrom значение поля ert.tlc. Целевой файл системы ERT поддерживает более сгенерированный код функции, чем целевой файл системы GRT.

Этот пример показывает, как значение для CodeFormat Переменная TLC и соответствующие rtwgensettings.DerivedFrom значение поля задано в ert.tlc.

%assign CodeFormat = "Embedded-C"

/%
  BEGIN_RTW_OPTIONS
  rtwgensettings.DerivedFrom = 'ert.tlc';
  END_RTW_OPTIONS
%/

Примечание

Используйте значение для CodeFormat Переменная TLC с соответствующим rtwgensettings.DerivedFrom значение поля, чтобы сгенерировать код для модели. Если вы не выбираете значение явным образом, применяются значения по умолчанию. Для rtwgensettings.DerivedFrom поле, использование 'ert.tlc' или 'grt.tlc'. Для получения дополнительной информации см. Системная целевая структура файла.

Описание оптимизированного интерфейса вызова, сгенерированного по умолчанию для целевых файлов системы GRT и ERT, смотрите в Сконфигурируйте генерацию кода C для функций точки входа модели.

Генерация кода с помощью целевых файлов системы GRT и ERT использует структуру данных модели реального времени (rtModel). Эта структура инкапсулирует специфическую для модели информацию в гораздо более компактной форме, чем структура симуляции, SimStruct. Многие эффективные функции сгенерированного кода зависят от генерации rtModel а не SimStruct, включая:

  • Целочисленные абсолютные и прошедшие услуги синхронизации

  • Независимые таймеры для асинхронных задач

  • Генерация улучшенного кода C API для контроля сигнала, состояния и параметра

  • Обрезка структуры данных для минимизации ее размера (только производные от ERT системные целевые файлы)

Описание rtModelструктура данных, см. Структура данных модели реального времени.

Сравнение целевых файлов системы продуктов

Можно выбрать из области значений системных целевых файлов с помощью System Target File Browser. Этот выбор позволяет экспериментировать с опциями строения и сохранять модель с различными строениями.

Вы не можете создавать или генерировать код для целевых файлов, отличных от GRT, если у вас нет необходимого программного обеспечения в системе. Для примера вам требуется Embedded Coder® для целевых файлов системы ERT, Simulink® Desktop Real-Time™ для целевых файлов системы SLDRT и так далее.

Выбор системного целевого файла для модели выбирает либо подход набора инструментальных средств, либо подход make-файла шаблона для управления процессом сборки. Дополнительные сведения об этих подходах см. в разделах Выбор подхода к сборке и Настройка процесса сборки.

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

Поддерживаемый системный целевой файл

Имена файлов

Ссылка

Embedded Coder (для ПК или UNIX® платформы)

ert.tlc
ert_shrlib.tlc

Сконфигурируйте системный целевой файл (Embedded Coder)

Создайте Visual C++® Файл решения для Embedded Coder

ert.tlc

(Требует RTW.MSVCBuild как TMF. См. примечание.)

Сконфигурируйте системный целевой файл (Embedded Coder)

Embedded Coder для AUTOSAR

autosar.tlc

Разрабатывайте модель, которая соответствует стандарту AUTOSAR (Embedded Coder)

Generic Real-Time (для платформ PC или UNIX)

grt.tlc

Сравнение Сгенерированного кода функций по STF

Создайте файл решения Visual C++

grt.tlc

(Требует RTW.MSVCBuild как TMF. См. примечание.)

Сравнение Сгенерированного кода функций по STF

Быстрая симуляция (по умолчанию для платформ PC или UNIX)

rsim.tlc

Ускорение, уточнение и тестирование гибридной динамической системы на Хост-компьютер при помощи целевого файла системы RSim

Быстрая симуляция для компилятора LCC

rsim.tlc

Ускорение, уточнение и тестирование гибридной динамической системы на Хост-компьютер при помощи целевого файла системы RSim

Быстрая симуляция для платформ UNIX

rsim.tlc

Ускорение, уточнение и тестирование гибридной динамической системы на Хост-компьютер при помощи целевого файла системы RSim

Быстрая симуляция для компилятора Visual C++

rsim.tlc

Ускорение, уточнение и тестирование гибридной динамической системы на Хост-компьютер при помощи целевого файла системы RSim

S-функция для платформ PC или UNIX

rtwsfcn.tlc

Ускорение симуляции, повторного использования кода или защиты интеллектуального свойства при помощи S-Function Target

S-функция для LCC

rtwsfcn.tlc

Ускорение симуляции, повторного использования кода или защиты интеллектуального свойства при помощи S-Function Target

S-функция для платформ UNIX

rtwsfcn.tlc

Ускорение симуляции, повторного использования кода или защиты интеллектуального свойства при помощи S-Function Target

S-функция для компилятора Visual C++

rtwsfcn.tlc

Ускорение симуляции, повторного использования кода или защиты интеллектуального свойства при помощи S-Function Target

ASAM-ASAP2 определений

asap2.tlc

(Будет удалено в следующем релизе. Смотрите Сгенерировать файлы калибровки ASAP2 и CDF для получения информации о том, как сгенерировать файлы A2L)

Сгенерируйте файлы калибровки ASAP2 и CDF

Simulink Desktop Real-Time

sldrt.tlc
sldrtert.tlc

Установите параметры генерации кода режима external mode (Simulink Desktop Real-Time)

Функции Simulink Real-Time™

slrealtime.tlc

Панель Options Simulink Real-Time (Simulink Real-Time)

Примечание

Чтобы создать и создать файл Visual C++ Solution (.sln) с строением Debug, выберите RTW.MSVCBuild в поле Template make-файла.

Сравнение стилей кода и поддержки STF

Генератор кода создает два стиля кода. Один стиль кода подходит для быстрого прототипирования (и симуляции с помощью генерации кода). Другой стиль подходит для встраиваемых приложений. Эта таблица сопоставляет системные целевые файлы с соответствующими стилями кода.

Стили кода, перечисленные системным целевым файлом 

Системный целевой файл

Стиль кода

Цель

Встроенный кодер Embedded Coder в реальном времени (ERT)

Вложенный

Отправная точка для разработки встраиваемых приложений сгенерированного кода C/C + +.

Simulink Coder™ типовой режим реального времени (GRT)

Быстрое прототипирование

Отправной точкой для создания целевого оборудования быстрого прототипирования, которое не использует примитивы задач операционной системы в реальном времени, и для проверки сгенерированного кода C/C + + на рабочем компьютере.

Быстрая симуляция (RSim)

Быстрое прототипирование

Обеспечивает симуляцию в реальном времени на вашем рабочем компьютере и высокоскоростной или пакетный инструмент симуляции.

S-функция

Быстрое прототипирование

Создает S-функцию C MEX для симуляции в другой модели Simulink.

Simulink Desktop Real-Time

Быстрое прототипирование

Запускает модель в реальном времени на уровне прерывания, в то время как ваш рабочий компьютер работает под управлением Microsoft® Windows® в фоновом режиме.

Simulink Real-Time

Быстрое прототипирование

Запускает модель в реальном времени на рабочий компьютер, на которой работает ядро Simulink Real-Time.

Сторонние поставщики поставляют дополнительные системные целевые файлы для поддержки генерации кода для своих продуктов. Для получения дополнительной информации о сторонних продуктах смотрите веб-сайт поставщика или веб-страницу программы MathWorks Connections: https://www.mathworks.com/products/connections.

Сравнение Сгенерированного кода характеристик по продукту

Процесс генерации кода для целевых файлов системы в реальном времени (таких как GRT) обеспечивает много оптимизации встроенного кода. Выбор целевого файла системы ERT обеспечивает более обширные функции, чем GRT. Выбор системного целевого файла определяет доступные функции для продукта генерации кода. Когда вы выбираете цель генерации кода, которая соответствует вашему процессу разработки, используйте эту таблицу, чтобы сравнить функции генерации кода, доступные с Simulink Coder и функции, доступные с Embedded Coder.

Сравнение функций генерации кода для Simulink Coder и Embedded Coder

Функция

Simulink Coder

Embedded Coder

rtModel структура данных

  • Полная rtModel структура сгенерирована

  • Объявление переменной GRT: rtModel_<reservedrangesplaceholder0 > model_M_;

  • rtModel оптимизируется для модели

  • Необязательное подавление поля состояния ошибки и полей логгирования данных

  • Объявление переменной ERT: RT_MODEL_<reservedrangesplaceholder0 > model_M_;

Пользовательские классы памяти (CSC)

Генерация кода игнорирует CSC. Объектам по умолчанию присваивается CSC Auto класс памяти.

Поддержка генерации кода с CSC

HTML генерации кода отчет

Основной отчет генерации кода HTML

Расширенный отчет с дополнительной подробностью и гиперссылками на модель

Форматирование символов

Символы (для сигналов, параметров и так далее) генерируются в соответствии с жестко закодированным значением по умолчанию

Детальное управление сгенерированными символами

Определенная пользователем максимальная длина идентификатора для сгенерированных символов

Поддержанный

Поддержанный

Генерация функции завершения

Произведенный

Опция подавления функции завершения

Функция комбинированного вывода/обновления

Сгенерированы отдельные функции вывода/обновления

Опция для генерации комбинированной функции вывода/обновления

Оптимизированная инициализация данных

Недоступно

Опции для подавления генерации ненужного кода инициализации для памяти с нулевым значением, портов ввода-вывода и так далее

Генерация комментариев

Основные опции для включения или подавления генерации комментариев

Опции для включения описаний блоков Simulink, Stateflow® описания объектов и описания объектов данных Simulink в комментариях

Упаковка модуля Функций (MPF)

Не поддерживается

Обширные функции индивидуальной настройки кода См. Имена типов данных управления в Сгенерированном коде (Embedded Coder) и Свойствах объекта данных MPT (Embedded Coder).

Системный файл заголовка типов данных, оптимизированных для целевого файла

Требует полного tmwtypes.h заголовочный файл

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

Определяемые пользователем типы

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

Пользовательские псевдонимы типов данных поддерживаются в генерации кода

Группировка скоростей

Не поддерживается

Поддержанный

Автоматическая генерация основного программного модуля

Не поддерживается. Предусмотрен статический основной программный модуль.

Поддерживается автоматизированная и настраиваемая генерация основного программного модуля (также доступна статическая основная программа)

Многоразовый мультиобразец кода

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

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

Программные ограничения опций

Поддержка чисел с плавающей точкой, комплексных и нефинитных чисел включена

Опции для включения или отключения поддержки чисел с плавающей точкой, комплексных и нефинитных чисел

Срок службы приложения

По умолчанию это значение inf

Заданный пользователем. Определяет наиболее эффективный размер слова для целочисленных таймеров

ANSI®Генерация кода -C/C + +

Поддержанный

Поддержанный

ISO®Генерация кода -C/C + +

Поддержанный

Поддержанный

GNU®Генерация кода -C/C + +

Поддержанный

Поддержанный

Сгенерируйте скалярные inlined параметры как #DEFINE операторы

Не поддерживается

Поддержанный

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

Поддержанный

Поддержанный

Обмен данными: C API, ASAP2, режим external mode

Поддержанный

Поддержанный

Сравнение Сгенерированного кода функций по STF

Генератор кода поддерживает выбор сгенерированного кода функций для различных типов системных целевых файлов. В каждом системном целевом файле значение CodeFormat Переменная определяет набор функций.

В этой таблице описывается поддержка различных системных целевых файлов приложениями.

Приложение

Системный целевой файл (STF)

Ускорение с фиксированным или переменным шагом

RSIM, S-функция, модель-ссылка

Шаговое развертывание приложений

GRT, ERT, Simulink Real-Time, Simulink Desktop Real-Time,...

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

Функции, поддерживаемые в коде, сгенерированном для системных целевых файлов (STF)

 Системные целевые файлы (STF)

Функция

grt.tlc

(См. примечание 1.)

ert.tlc

(См. примечание 1.)

ert_shrlib.tlc

(См. примечание 1.)

rtwsfcn.tlc

(См. примечание 1.)

rsim.tlc

(См. примечание 1.)

sldrt.tlc

(См. примечание 1.)

slrealtime.tlc

(См. примечание 1.)

Другое

(См. примечание 1.)

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

X

X

 

 

 

X

X

X

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

X

(См. примечания 4, 5.)

X

(См. примечания 4, 5.)

 

X

X

 

X

 

Непрерывное время

X

X

 

X

X

X

X

 

C/C + + MEX S-функции
(не встроенный)

X

X

 

X

X

X

X

 

S-функция (встроенная)

X

X

 

X

X

X

X

X

Минимизируйте использование ОЗУ/ПЗУ

 

X

 

 

 

 

X2

X

Поддерживает режим external mode

X

X

 

 

X

X

X

 

Быстрое прототипирование

X

 

 

 

 

X

X

X

Производственный код

 

X

 

 

 

 

X2

X

(См. примечание 3.)

Настройка пакетных параметров и методы Монте-Карло

 

 

X

 

X

 

 

 

Симулятор уровня системы

 

 

X

 

 

 

 

 

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

X

(См. примечание 3.)

X

(См. примечание 3.)

 

 

 

X

X

X5

Исполняемый файл в нереальном времени включен

X

X

 

 

X

 

 

 

Несколько образцы модели

X

(См. примечания 4, 5.)

X

(См. примечания 4, 5.)

 

X4

 

 

X

(См. примечания 4, 5.)

X

(См. примечания 4, 5.)

Поддерживает решатели с переменным шагом

 

 

 

X

X

 

 

 

Поддерживает SIL/PIL

X

X

 

 

 

 

 

X

Примечания

  1. Целевые системные файлы:

    • grt.tlc - типовая цель в реальном времени

    • ert.tlc - встроенный целевой объект в реальном времени

    • ert_shrlib.tlc - встроенная целевая общая библиотека в реальном времени)

    • rtwsfcn.tlc - S-функция

    • rsim.tlc - быстрая симуляция

    • sldrt.tlc - Simulink Desktop Real-Time

    • slrealtime.tlc - Simulink Real-Time

    • Other - Встроенные возможности в режиме реального времени в Simulink Coder поддерживают другие системные целевые файлы

  2. Не применяется к системным целевым файлам на основе GRT. Применяется только к системным целевым файлам на основе ERT.

  3. GRT и ERT по умолчанию rt_main файлы эмулируют выполнение жесткого реального времени. При явном соединении с часами реального времени они выполняются в жестком режиме реального времени.

  4. Можно сгенерировать код для нескольких образцов диаграммы или подсистемы Stateflow, содержащей график, за исключением тех случаев, когда график содержит экспортированные графические функции или модель Stateflow содержит события с пометкой машины.

  5. В диалоговом окне Параметров конфигурации для поля Code interface packaging выберите Reusable function.

Похожие темы