Пользовательские шаблоны обработки файлов (CFP)

Для поддержки пользовательской обработки файлов предоставляются следующие файлы:

После создания шаблона CFP необходимо интегрировать его в процесс генерации кода с помощью поля редактирования шаблона индивидуальной настройки файла. См. «Задание шаблонов для генерации кода».

Структура шаблона пользовательской обработки файлов (CFP)

Пользовательский шаблон обработки файлов (CFP) накладывает простую структуру на процесс генерации кода. Шаблон, файл шаблона генерации кода (CGT), разделяет код, сгенерированный для каждого файла, на несколько разделов. Эти разделы представлены во встроенных лексемах CGT и соответствующих секциях кода и подразделах, определенных для встроенных разделов.

Код для каждого раздела собирается в буферы и затем излучается в указанном порядке в создаваемый файл.

Чтобы сгенерировать раздел файла, ваш шаблон CFP должен сначала собрать код, который будет сгенерирован в буфер. Затем, чтобы излучить раздел, ваш шаблон вызывает функцию TLC

LibSetSourceFileSection(fileH, section, tmpBuf)

где

  • fileH - ссылка на файл, который генерируется.

  • section является секцией кода или подразделом, которому должен быть выдан код. раздел должен быть одним из имен разделов или подсекций, перечисленных в подразделах, определенных для встроенных разделов.

    Определите section аргумент следующего содержания:

  • tmpBuf - буфер, содержащий код, который будет испускаться.

Нет необходимости генерировать все доступные разделы. Ваш шаблон должен сгенерировать только разделы, которые вы требуете в конкретном файле.

Обратите внимание, что проверка легальности или синтаксиса не выполняется для пользовательского кода в каждом разделе.

Типичные примеры использования см. в разделе «Генерация исходных и заголовочных файлов с помощью пользовательского шаблона обработки файлов (CFP)».

Сгенерируйте дополнительные файлы, необходимые для интерфейса с приложением

Embedded Coder ® предоставляет расширяемый API для увеличения сгенерированного кода и генерации дополнительных файлов. Параметр конфигурации модели Шаблон индивидуальной настройки файла задает пользовательский скрипт Target Language Compiler (TLC), который выполняется в конце процесса генерации кода. Используя этот скрипт, можно сгенерировать дополнительный код для интерфейса с кодом приложения.

В этом примере файл скрипта TLC rtwdemofileprocess.tlc создает дополнительную функцию точки входа, rtwdemo_fileprocess, который вызывает функцию step и инициализирует модель, при необходимости. Функция инициализации прозрачна для вызывающего абонента.

1. Откройте пример модели rtwdemo_fileprocess.

open_system('rtwdemo_fileprocess');

2. Проверьте, что для параметра конфигурации модели File customization template задано значение rtwdemofileprocess.tlc дважды кликнув желтую кнопку с меткой View Templates Configuration.

3. Сгенерируйте код.

4. Смотрите сгенерированный код. Дополнительная функция, rtwdemo_fileprocess, появляется в конце сгенерированного файла rtwdemo_fileprocess.c. Точка входа объявлена extern в rtwdemo_fileprocess.h как rtwdemofileprocess.tlc задает скрипт.