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

Если просто необходимо произвести ANSI® C или Код С++ из моделей Simulink®, вы не должны знать, как подготовить файлы к Компилятору Выходного языка. Если необходимо настроить вывод, необходимо запустить Компилятор Выходного языка. С Компилятором Выходного языка вы можете:

  • Настройте набор опций, заданных вашим системным конечным файлом.

  • Встройте код для Блоков s-function.

  • Сгенерируйте дополнительные или различные типы файлов.

Блок MATLAB function и продукт Embedded Coder® упрощают индивидуальную настройку кода во множестве путей. Вы можете смочь выполнить то, в чем вы нуждаетесь с ними без потребности записать файлы TLC. Однако действительно необходимо подготовить файлы TLC, если вы намереваетесь встроить S-функции.

Смотрите следующие разделы.

Настройка Вывода

Чтобы произвести настроенный вывод с помощью Компилятора Выходного языка, помогает, понимаете ли вы, как блоки выполняют свои функции, какими типами данных управляют, структура файла model.rtw, и как изменить конечные файлы, чтобы произвести желаемый вывод. Директивы и темы Встроенных функций на Компиляторе Выходного языка, опишите директивы выходного языка и их связанные построения. Вы будете использовать Директивы компилятора Выходного языка и построения, чтобы изменить существующие конечные файлы или создать новые единицы, в зависимости от ваших потребностей. См. Файлы TLC для получения дополнительной информации о конечных файлах.

Примечание

Вы не должны настраивать файлы TLC в папке matlabroot/rtw/c/tlc даже при том, что возможность существует, чтобы сделать так. Такие индивидуальные настройки TLC не могут быть применены во время процесса генерации кода и могут привести к непредсказуемым результатам.

Встраивание S-функций

Компилятор Выходного языка обеспечивает большую свободу для изменения, оптимизации и улучшения сгенерированного кода. Одна из самых важных функций TLC - то, что это позволяет вам встроить S-функции, которые вы пишете, чтобы добавить ваши собственные алгоритмы, драйверы устройств и авторские блоки к модели Simulink.

Чтобы создать S-функцию, вы пишете код после четко определенного прикладного программного интерфейса (API). По умолчанию Компилятор Выходного языка сгенерирует невстроенный код для S-функций, который вызывает их использующий этот тот же API. Этот обобщенный интерфейс подвергается изрядному количеству издержек из-за присутствия большой структуры данных, названной SimStruct для каждого экземпляра каждого Блока s-function в вашей модели. Кроме того, дополнительное время выполнения наверху включено каждый раз, когда методы (функции) в вашей S-функции называются. Можно устранить эти издержки при помощи Компилятора Выходного языка, чтобы встроить S-функцию путем создания файла с именем TLC sfunction_name.tlc, который генерирует исходный код для S-функции, как будто это был встроенный блок. Встраивание S-функции повышает эффективность сгенерированного кода и уменьшает использование памяти.

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

Определенные форматы данных, такие как вложенные структуры, не могут быть сгенерированы с помощью стандартного Unstructured и FlatStructure пользовательские типы класса памяти. Можно задать усовершенствованный пользовательский класс памяти, если вы хотите сгенерировать другие типы данных. Создание усовершенствованный CSCs требует понимания TLC программирование и использование специального усовершенствованного режима Custom Storage Class Designer. Для получения дополнительной информации смотрите Точно Представление данных Управления путем Записи Кода TLC для Пользовательского Класса памяти (Embedded Coder). Обратите внимание на то, что эта поддержка требует лицензии Embedded Coder.

Похожие темы