Target Language Compiler (TLC) работает с Simulink® программное обеспечение для генерации кода.
A TLC program является набором ASCII-файлов, называемых scripts. Поскольку TLC является интерпретированным языком, файлы объектов отсутствуют. Один целевой файл, который вызывает (с %include
директива) другие целевые файлы, используемые для программы, называются entry point.
TLC интерпретирует набор целевых файлов, чтобы преобразовать частичное представление модели Simulink (
) в целевой код.model
.rtw
Целевые файлы обеспечивают вам гибкость, чтобы настроить код, сгенерированный компилятором. Для примера, если вы используете доступные системные целевые файлы, вы производите родовые коды C or C++ из вашей модели Simulink. Этот исполняемый код не является специфичным для платформы.
Примечание
Не настраивайте файлы TLC, даже если это возможно. Такие индивидуальные настройки TLC могут не применяться в процессе генерации кода и могут привести к непредсказуемым результатам. Настройте только созданные файлы TLC.
Параметры в целевых файлах считываются из
файл и смотрел вверх при помощи блока правил определения областей видимости. Можно задать дополнительные параметры в целевых файлах при помощи model
.rtw%assign
оператор.
Используйте директивы на целевом языке для записи целевых файлов. Директивы Компилятора целевого языка содержат полное описание правил блока возможностей и директивы целевого языка.
model.rtw Файл и возможности описывают model.rtw
файл, который полезен для создания и изменения целевых файлов.
В контексте генерации кода существует два типа целевых файлов:
Системные целевые файлы
Системные целевые файлы определяют общую среду генерации кода. Они определяют, когда выполняются блоки, как регистрируются данные и так далее.
Блокируйте целевые файлы
Каждый блок имеет целевой файл, который определяет, какой код должен быть сгенерирован для блока. Код может варьироваться в зависимости от точных параметров блока или типов соединений с ним (например, широкий и скалярный входы). Для получения дополнительной информации смотрите Методы блочного файла целевого файла
Целевые файлы всей модели используются на основе всей модели. Целевые файлы всей модели предоставляют базовую информацию TLC, который преобразует
файл в целевой код.model
.rtw
Системный целевой файл является точкой входа для TLC. Это аналогично main()
стандартная программа программы на C. Системные целевые файлы контролируют весь процесс генерации кода. Например, системный целевой файл grt.tlc
настраивает некоторые переменные для codegenentry.tlc
, которая является точкой входа в системные целевые файлы. Полный список доступных системных целевых файлов см. в разделе Сравнение системных целевых файлов Поддержка продуктов.
Используйте целевые файлы для:
Встроенная S-функция
Установка S-функции означает запись блочного целевого файла, который инструктирует TLC, как сгенерировать код для этого Блока s-function. Компилятор может сгенерировать код для неинлинфицированных S-функций C MEX. Если вы вводите S-функцию C MEX, компилятор может сгенерировать более эффективный код. Неинлинфицированные S-функции C MEX выполняются с помощью программного интерфейса приложения S-функции (API) и могут быть неэффективными. Можно встроить MATLAB® файл или S-функция ФОРТРАН. TLC может сгенерировать код для S-функции в обоих случаях.
Настройте код, сгенерированный для всех моделей
Можно хотеть инструментализировать сгенерированный код для профилирования или внести другие изменения в общую генерацию кода для всех моделей. Чтобы выполнить такие изменения, измените некоторые системные целевые файлы.
Весь процесс генерации кода начинается с одного системного целевого файла, который вы задаете в диалоговом окне Параметры конфигурации (Configuration Parameters) на панели Code Generation. Нажмите кнопку Browse, чтобы активировать системный браузер целевых файлов для этой цели. Тщательное изучение системного целевого файла показывает, как происходит генерация кода. Это объявление является списком нестрок с комментариями в grt.tlc
целевой файл для генерации кода для типового исполняемого файла в реальном времени.
%selectfile NULL_FILE %assign TargetType = "RT" %assign Language = "C" %assign MatFileLogging = 1 %include "codegenentry.tlc"
Три переменные, Language
, TargetType
, и MatFileLogging
, являются глобальными переменными TLC, которые используют другие функции. Генерация кода затем инициируется вызовом к codegenentry.tlc
, основная точка входа для генерации кода.
Если необходимо изменить общую генерацию кода, необходимо изменить системный целевой файл. После начальной настройки вместо вызова codegenentry.tlc
необходимо вызвать собственные файлы TLC. Этот код показывает пример системного целевого файла, называемого mygrt.tlc
.
%% Set up variables, etc. %% Load my library functions %% Note that mylib.tlc should %include funclib.tlc at the %% beginning. %include "mylib.tlc" %include "commonsetup.tlc" %% Next, you can include TLC files that you need for %% preprocessing information about the model and to fill in %% hooks. The following is an example of including a single %% TLC file that contains custom hooks. %include "myhooks.tlc" %% Finally, call the code generator. %include "commonentry.tlc"
Сгенерированный код помещается в модель или функцию подсистемы. Соответствующие сгенерированные имена функции и их порядок выполнения описаны в Выполнении кода, сгенерированного из модели и Сконфигурируйте генерацию кода C для функций точки входа модели. Во время генерации кода выполняются функции из каждого из целевых файлов блока, и сгенерированный код помещается в функции модели или подсистемы.