Если вам просто нужно создать код ANSI ® C или C++ из моделей Simulink ®, вам не нужно знать, как подготовить файлы для компилятора целевого языка. Если необходимо настроить выходные данные, необходимо запустить компилятор целевого языка. С помощью компилятора целевого языка можно:
Настройте набор параметров, заданных системным целевым файлом.
Встроить код для S-функциональных блоков.
Создание дополнительных или различных типов файлов.
Функциональный блок MATLAB и продукт Embedded Coder ® облегчают настройку кода различными способами. С их помощью можно выполнить необходимые задачи без необходимости записи файлов TLC. Однако необходимо подготовить файлы TLC, если предполагается встроить S-функции .
См. следующие разделы.
Создание настраиваемых выходных данных с помощью компилятора целевого языка помогает понять, как блоки выполняют свои функции, какими типами данных манипулируют, структуру и как изменить целевые файлы для получения требуемых выходных данных. Директивы и встроенные функции в компиляторе целевого языка описывают директивы целевого языка и связанные с ними конструкции. Вы будете использовать директивы и конструкции компилятора целевого языка для изменения существующих целевых файлов или создания новых в зависимости от ваших потребностей. Дополнительные сведения о целевых файлах см. в разделе Файлы TLC.model.rtw
Примечание
Не следует настраивать файлы TLC в папке несмотря на то, что для этого существует возможность. Такие настройки TLC могут не применяться во время процесса создания кода и могут привести к непредсказуемым результатам.matlabroot/rtw/c/tlc
Компилятор целевого языка предоставляет большую свободу для изменения, оптимизации и улучшения созданного кода. Одна из наиболее важных функций TLC заключается в том, что она позволяет встроить S-функции, записываемые для добавления собственных алгоритмов, драйверов устройств и пользовательских блоков в модель Simulink.
Чтобы создать S-функцию, необходимо написать код после четко определенного интерфейса прикладной программы (API). По умолчанию компилятор целевого языка создает неинлинговый код для S-функций, который вызывает их с помощью того же API. Этот обобщенный интерфейс несет значительную часть накладных расходов из-за наличия большой структуры данных, называемой SimStruct для каждого экземпляра каждого блока S-Function в модели. Кроме того, при каждом вызове методов (функций) в пределах S-функции используются дополнительные накладные расходы времени выполнения. Вы можете устранить эти издержки, используя компилятор целевого языка для встраивания S-функции, создав файл TLC с именем который генерирует исходный код для S-функции, как если бы она была встроенным блоком. Включение S-функции повышает эффективность генерируемого кода и уменьшает использование памяти.sfunction_name.tlc
Определенные форматы данных, например вложенные структуры, не могут быть созданы с использованием стандарта Unstructured и FlatStructure типы классов хранения. Если требуется создать другие типы данных, можно определить расширенный класс хранения. Создание расширенного класса хранения требует понимания программирования TLC и использования специального расширенного режима конструктора пользовательских классов хранения. Дополнительные сведения см. в разделе Точное представление данных путем записи кода TLC для класса хранения (встроенный кодер). Обратите внимание, что для этой поддержки требуется лицензия Embedded Coder.