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