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

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

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

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

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

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

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

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

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

  • Если вы разрабатываете пользовательский конечный файл системы, и вы имеете программное обеспечение Embedded Coder, рассматриваете установку значения переменных TLC CodeFormat к 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, чтобы сгенерировать код для модели. Если вы не выбираете значение явным образом, значения по умолчанию соответствуют. Для получения дополнительной информации смотрите Системную Структуру Конечного файла (Simulink Coder).

Для описания оптимизированного интерфейса вызова, сгенерированного по умолчанию для GRT и системных конечных файлов ERT, смотрите, Конфигурируют Генерацию кода для Образцовых Функций Точки входа (Simulink Coder).

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

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

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

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

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

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

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

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

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

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

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

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

Имена файлов

Ссылка

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

ert.tlc
ert_shrlib.tlc

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

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

ert.tlc

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

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

Embedded Coder для 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-функции (Simulink Coder)

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

rtwsfcn.tlc

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

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

rtwsfcn.tlc

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

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

rtwsfcn.tlc

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

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

asap2.tlc

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

Simulink Desktop Real-Time

sldrt.tlc
sldrtert.tlc

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

Simulink Real-Time™

slrt.tlc

Панель опций Simulink Real-Time (Simulink Real-Time)

Примечание

Чтобы создать и создать Решение для Visual C++ (.sln) файл с Настройкой отладочного процесса, выберите RTW.MSVCBuild в поле (Simulink Coder) 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 model_M_;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Не доступный

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

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

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

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

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

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

Обширные функции пользовательской настройки кода Видят Имена типов данных Управления в Generated Code and MPT Data Object Properties.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Программное обеспечение в цикле (SIL) тестирование

Цель симуляции модели - ссылки может использоваться для тестирования SIL

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

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.)

slrt.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

Примечания

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

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

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

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

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

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

    • sldrt.tlc - Simulink Desktop Real-Time

    • slrt.tlc - Simulink Real-Time

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

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

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

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

  5. Выберите значение Reusable function для Code interface packaging (Simulink Coder) в Code Generation> панель Interface в диалоговом окне Configuration Parameters.

Похожие темы