Target Language Compiler (TLC) является неотъемлемой частью генератора кода. Это позволяет вам настроить сгенерированный код. Посредством индивидуальной настройки можно создать специфичный для платформы код, или можно включить свои собственные алгоритмические изменения для эффективности, размера кода или совместимости с существующими методами.
TLC включает в себя:
Файлы, соответствующие подмножеству предоставленного Simulink® блоки.
Файлы для информации всей модели, которые задают заголовок и информацию о параметре.
Файлы TLC являются ASCII-файлами, которые явно управляют способом генерации кода. При редактировании TLC- файла можно изменить способ генерации кода.
Target Language Compiler предоставляет полный набор готовых к использованию файлов TLC для генерации ANSI® Код C or C++. Вы можете просмотреть файлы TLC и внести в них незначительные или обширные изменения. Это открытое окружение обеспечивает огромную гибкость для настройки сгенерированного кода.
Для получения дополнительной информации смотрите Реализация C/C + + S-функций, которая описывает, как записать обернутые и полностью встроенные S-функции, с акцентом на mdlRTW()
функция.
Примечание
Не настраивайте файлы TLC в папке
, даже если эта возможность существует. Такие индивидуальные настройки TLC могут не применяться в процессе генерации кода и могут привести к непредсказуемым результатам.matlabroot
/ rtw/c/tlc
Эта схема верхнего уровня показывает, как Target Language Compiler подходит для процесса генерации кода.
Target Language Compiler (TLC) предназначен для преобразования файла описания модели
(или подобные файлы) в специфичный для целевого объекта код или текст.model
.rtw
Компилятор Целевого Языка преобразует представление Диаграммы Simulink, называемого
, в код C or C++. The model
.rtw
файл содержит частичное представление модели. Представление описывает семантику выполнения блока на высокоуровневом языке. Для получения дополнительной информации см. Model.rtw Файл и возможности. model
.rtw
После чтения
Target Language Compiler генерирует свой код на основе target files, которые задают конкретный код для каждого блока, и model-wide files, которые задают общий стиль кода. TLC использует целевые файлы и model
.rtw
файл для генерации кода ANSI C или C++.model
.rtw
Чтобы создать целевое приложение, генератору кода требуется шаблон make-файла, который задает опции компилятора C или C++ и компилятора для процесса сборки. Генератор кода преобразует файл make-файла шаблона в целевой файл make-файла (
) путем выполнения расширения маркера, специфичного для заданной модели. Целевой make-файл является измененной версией типового model
.mkrt_main
файл (или grt_main
). Необходимо изменить grt_main
для соответствия конкретным требованиям целевого объекта, таким как стандартные программы прерывания обслуживания. См. разделы Шаблоны make-файлов и Создание Опций и Настройка Шаблонов make-файлов.
Компилятор целевого языка имеет сходство с HTML, Perl и MATLAB®. Он имеет синтаксис разметки, подобный HTML, степень и гибкость Perl и других скриптовых языков, и степень обработки данных MATLAB (TLC может вызвать функции MATLAB). Код, который сгенерировал TLC, высоко оптимизирован и полностью закомментирован. С помощью TLC можно сгенерировать код из линейных, нелинейных, непрерывных, дискретных или гибридных моделей Simulink. Модели могут включать блоки Simulink, которые автоматически преобразуются в код. Исключения составляют блоки MATLAB function и блоки s-function, которые вызывают файлы MATLAB. Целевой компилятор языка использует block target files, чтобы преобразовать каждый блок в
файл и model-wide target file для глобальной индивидуальной настройки кода.model
.rtw
Можно включать S-функции C MEX с сгенерированным кодом в исполняемый файл программы. Можно записать целевой файл для вашей C MEX S-функции, чтобы inline S-функцию (см. Inline C MEX S-Functions), улучшить эффективность, исключив вызовы функций к самой S-функции и накладные расходы на память SimStruct
S-функции. Вставка S-функции включает код Блока s-function в сгенерированный код для модели. Когда целевой файл TLC отсутствует для S-функции, это файл кода C or C++ вызывается вызовом функции. См. Встроенные S-функции. Можно также записать целевые файлы для языковых файлов MATLAB или S-функций Фортран.
Target Language Compiler работает со своими целевыми файлами и выходом кода, выводит код.
При генерации кода из модели Simulink первым шагом в автоматизированном процессе является генерация
файл. The
modelmodel
.rtw
файл включает информацию о модели, необходимую для генерации кода из модели Simulink. .rtw
передается в Target Language Compiler, который использует его в сочетании с набором включенных системных целевых файлов и блокирует целевые файлы для генерации кода.model
.rtw
Непосредственно в текущую папку записывается только последний исполняемый файл. Для других файлов, созданных во время генерации кода, включая
файл, используется папка сборки. Эта папка создается в текущей папке и имеет имя model
.rtw
. model
_ target
_rtw
является сокращение для целевого окружения target
grt
это универсальный целевой объект в реальном времени.
Файлы, помещенные в папку сборки, включают:
Тело для сгенерированного исходного кода C или C++ (
или model
.c
)model
.cpp
Заголовок файла
определение параметров и структур данных, частных сгенерированному кодуmodel
_private.h
make-файл,
, для создания приложенияmodel
.mk
Дополнительные файлы, описанные в Manage Build Process Files