exponenta event banner

Файлы TLC

Программа TLC

Компилятор целевого языка (TLC) работает с программным обеспечением Simulink ® для создания кода.

Программа TLC представляет собой коллекцию ASCII-файлов, называемых сценариями. Поскольку TLC является интерпретируемым языком, файлы объектов отсутствуют. Один целевой файл, вызывающий (с помощью %include директива) другие целевые файлы, используемые для программы, называются точкой входа.

Доступные целевые файлы

TLC интерпретирует набор целевых файлов для преобразования частичного представления модели Simulink (model.rtw) в код, специфичный для цели.

Целевые файлы обеспечивают гибкость настройки кода, создаваемого компилятором. Например, при использовании доступных системных целевых файлов создается общий код C или 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-функционального блока. Компилятор может генерировать код для неинлинговых C MEX S-функций. Если встроить S-функцию C MEX, компилятор сможет создать более эффективный код. Неинлинные C MEX S-функции выполняются с использованием S-функционального интерфейса прикладной программы (API) и могут быть неэффективными. Можно встроить файл MATLAB ® или S-функцию Fortran. 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 для функций точки входа модели. При формировании кода выполняют функции из каждого из целевых файлов блока и генерируемый код помещают в функции модели или подсистемы.

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