Сравните системную поддержку конечного файла через продукты

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

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

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

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

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

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

Для пользовательской системной разработки конечного файла, 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, включая:

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

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

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

  • Сокращение структуры данных, чтобы минимизировать ее размер (только ERT-выведенные системные конечные файлы)

Для описания rtModelструктура данных, смотрите Использование Структура данных Модели реального времени.

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

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

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

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

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

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

Имена файлов

Ссылка

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

ert.tlc
ert_shrlib.tlc

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

Создайте визуальный C ++® файл решения для Embedded Coder

ert.tlc

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

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

Embedded Coder для AUTOSAR

autosar.tlc

Разработайте Модель, которая Выполняет Стандарт AUTOSAR (Embedded Coder)

Типовой В реальном времени (для 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-функции

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

rtwsfcn.tlc

Ускорьте симуляцию, код повторного использования, или защитите интеллектуальную собственность при помощи цели S-функции

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

rtwsfcn.tlc

Ускорьте симуляцию, код повторного использования, или защитите интеллектуальную собственность при помощи цели S-функции

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

rtwsfcn.tlc

Ускорьте симуляцию, код повторного использования, или защитите интеллектуальную собственность при помощи цели S-функции

Определение данных ASAM-ASAP2

asap2.tlc

(Будет удален в будущем релизе. Используйте grt.tlc или ert.tlc с параметром конфигурации ASAP2 Interface, выбранный вместо этого.)

Экспортируйте файл ASAP2 для измерения данных и калибровки

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++ (.sln) файл с Настройкой отладочного процесса, выберите RTW.MSVCBuild в поле make-файла Шаблона.

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

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

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

Системный конечный файл

Стиль кода

Цель

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

Встроенный

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

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

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

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

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

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

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

S-функция

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

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

Simulink Desktop Real-Time

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

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

Simulink Real-Time

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

Запускает модель в режиме реального времени на рабочем компьютере, запускающем Ядро Simulink Real-Time.

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

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

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

Сравните функции генерации кода Simulink Coder по сравнению с Embedded Coder

Функция

Simulink Coder

Embedded Coder

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

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

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

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

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

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

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

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

Генерация кода с CSCs поддерживается

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

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

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

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

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

Подробное управление сгенерированными символами

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

Поддерживаемый

Поддерживаемый

Генерация оконечной функции

Сгенерированный

Опция, чтобы подавить оконечную функцию

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

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

Опция, чтобы сгенерировать объединенную функцию выхода/обновления

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

Не доступный

Опции, чтобы подавить генерацию ненужного кода инициализации для памяти с нулевым знаком, портов I/O, и так далее

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

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

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

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

Не поддерживаемый

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

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

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

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

Пользовательские типы

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

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

Группировка уровня

Не поддерживаемый

Поддерживаемый

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

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

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

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

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

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

Ограничительные опции программного обеспечения

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

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

Продолжительность жизни приложения

Значения по умолчанию к inf

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

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

Поддерживаемый

Поддерживаемый

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

Поддерживаемый

Поддерживаемый

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

Поддерживаемый

Поддерживаемый

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

Не поддерживаемый

Поддерживаемый

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

Поддерживаемый

Поддерживаемый

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

Поддерживаемый

Поддерживаемый

Сравните функции сгенерированного кода STF

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

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

Приложение

Системный конечный файл (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

 

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

X

X

 

X

X

X

X

 

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

X

X

 

X

X

X

X

X

Минимизируйте использование RAM/ROM

 

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

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

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

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

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

  5. В диалоговом окне Configuration Parameters, для поля Code interface packaging, выбирают Reusable function.

Похожие темы