exponenta event banner

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

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

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

Различные типы системных целевых файлов поддерживают выбор сгенерированных функций кода. В системном целевом файле значение 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структура данных, см. раздел Структура данных модели в реальном времени.

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

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

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

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

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

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

Имена файлов

Ссылка

Встроенный кодер (для ПК или UNIX ®)

ert.tlc
ert_shrlib.tlc

Настройка целевого системного файла (встроенный кодер)

Создание файла решения Visual C++ ® для встроенного кодера

ert.tlc

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

Настройка целевого системного файла (встроенный кодер)

Встроенный кодер для AUTOSAR

autosar.tlc

Разработка модели, соответствующей стандарту AUTOSAR (встроенный кодер)

Общий режим реального времени (для платформ 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 в реальном времени

sldrt.tlc
sldrtert.tlc

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

Симулинк Real-Time™

slrealtime.tlc

Панель параметров Simulink в реальном времени (Simulink Real-Time)

Примечание

Чтобы создать и построить файл решения Visual C++ (.sln) с конфигурацией Debug, выберите RTW.MSVCBuild в поле Template makefile.

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

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

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

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

Стиль кода

Цель

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

Вложенный

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

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

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

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

Быстрое моделирование (RSim)

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

Обеспечивает моделирование в режиме, отличном от реального времени, на настольном компьютере и высокоскоростное или пакетное моделирование.

S-функция

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

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

Настольный компьютер Simulink в реальном времени

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

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

Симулинк в реальном времени

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

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

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

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

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

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

Особенность

Симулинк-кодер

Встроенный кодер

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

  • Полный rtModel структура создана

  • Объявление переменной GRT: rtModel_model model_M_;

  • rtModel оптимизирован для модели

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

  • Объявление переменной ERT: RT_MODEL_model model_M_;

Пользовательские классы хранения (CSC)

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

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

Отчет о создании кода HTML

Базовый отчет по созданию HTML-кода

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

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

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

Детальный контроль над сгенерированными символами

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

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

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

Формирование функции завершения

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

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

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

Создаются отдельные функции вывода/обновления

Возможность создания комбинированной функции вывода/обновления

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

Недоступно

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

Формирование комментариев

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

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

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

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

Расширенные возможности настройки кода См. раздел «Имена типов управляющих данных в сгенерированном коде» (встроенный кодер) и «Свойства объекта данных MPT» (встроенный кодер).

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

Требуется полное tmwtypes.h файл заголовка

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

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

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

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

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

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

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

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

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

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

Многократное (многоэкземплярное) создание кода

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

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

Параметры программных ограничений

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

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

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

По умолчанию: inf

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

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

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

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

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

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

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

Формирование кода GNU ® -C/C + +

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

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

Создать скалярные встроенные параметры как #DEFINE заявления

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

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

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

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

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

Обмен данными: C API, ASAP2, внешний режим

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

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

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

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

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

Приложение

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

Фиксированное или переменное ускорение

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

Развертывание в режиме реального времени с фиксированным шагом

GRT, ERT, Simulink в реальном времени, Simulink Desktop в реальном времени,...

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

Функции, поддерживаемые в коде, создаваемом для системных целевых файлов (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

 

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

X

X

 

X

X

X

X

 

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

X

X

 

X

X

X

X

X

Минимизация использования ОЗУ/ПЗУ

 

X

 

 

 

 

X2

X

Поддерживает внешний режим

X

X

 

 

X

X

X

 

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

X

 

 

 

 

X

X

X

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

 

X

 

 

 

 

X2

X

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

Пакетная настройка параметров и методы Monte Carlo

 

 

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 в реальном времени

    • slrealtime.tlc - Simulink в реальном времени

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

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

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

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

  5. В диалоговом окне Параметры конфигурации в поле Упаковка интерфейса кода выберите Reusable function.

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