Настройка обработки сборки после генерации кода

Генератор кода предоставляет набор инструментов, включая информационный объект сборки, который можно использовать, чтобы настроить обработку сборки, которая происходит после генерации кода. Можно использовать такие индивидуальные настройки для целевой разработки или интегрирования сторонних программ в среду разработки приложений.

Рабочий процесс настройки индивидуальных настроек

На следующем рисунке и последующих шагах показан общий рабочий процесс настройки индивидуальных настроек генерации посткодов.

  1. Запрограммируйте команду генерации кода посткода.

  2. Определите команду генерации кода посткода.

  3. Подавьте генерацию make-файла, если применимо.

  4. Создайте модель.

  5. Измените команду и перестроите модель, пока результаты сборки не станут приемлемыми.

Объект информации о сборке

В начале сборки модели процесс сборки регистрирует следующую опцию сборки и информацию о зависимостях во временном информационном объекте сборки:

  • Опции компилятора

  • Определения идентификаторов препроцессора

  • Опции Linker

  • Исходные файлы и пути

  • Включите файлы и пути

  • Предварительно скомпилированные внешние библиотеки

Вы можете извлечь информацию из и добавить информацию к этому объекту с помощью обширного набора функций. Список доступных функций и подробных описаний функций см. в разделе Создание Индивидуальной настройке процесса. Программа Post Генерации кода Команды объясняет, как использовать функции для управления обработкой post генерации кода build.

Программируйте команду генерации почтового кода

Для некоторых приложений можно было бы захотеть управлять аспектами процесса сборки после генерации кода. Например, можно использовать этот подход, если вы разрабатываете свой собственный целевой объект или хотите применить инструмент анализа к сгенерированному коду, прежде чем продолжать процесс сборки. Можно применить этот уровень управления к процессу сборки, запрограммировав и затем определив команду генерации кода посткода.

Команда post генерации кода является MATLAB® языковой файл, который обычно вызывает функции, которые получают данные из или добавляют данные к объекту информации о сборке модели. Можно запрограммировать команду как скрипт или функцию.

Если вы программируете команду как:Затем:
СкриптСкрипт может получить доступ к имени модели и информации о сборке непосредственно
ФункцияФункция может передать имя модели и информацию о сборке как аргументы

Если ваша команда post генерации кода вызывает пользовательские функции, убедитесь, что функции указаны в пути MATLAB. Если процесс сборки не может найти функцию, которую вы используете в своей команде, процесс сборки ошибается.

Затем можно вызвать комбинацию информационных функций сборки, как указано в Build Process Индивидуальной настройки, чтобы настроить обработку проводки генерации кода сборки модели.

В следующем примере показан фрагмент команды post генерации кода, который получает имена файлов и пути к источнику и включает файлы, сгенерированные для модели для анализа.

function analyzegencode(buildInfo)
% Get the names and paths of source and include files
% generated for the model and then analyze them.

% buildInfo - build information for my model.

% Define cell array to hold data.
MyBuildInfo={};

% Get source file information.
MyBuildInfo.srcfiles=getSourceFiles(buildInfo, true, true);
MyBuildInfo.srcpaths=getSourcePaths(buildInfo, true);

% Get include (header) file information.
MyBuildInfo.incfiles=getIncludeFiles(buildInfo, true, true);
MyBuildInfo.incpaths=getIncludePaths(buildInfo, true);

% Analyze generated code.
.
.
.

Задайте команду генерации почтового кода

После того, как вы запрограммируете команду генерации кода посткода, сообщите процессу сборки, что команда существует, и добавьте ее к обработке сборки модели. Задайте команду с помощью PostCodeGenCommand параметр конфигурации модели. Когда вы задаете команду генерации кода посткода, процесс сборки оценивает команду после генерации и записи сгенерированного кода на диск и перед генерацией make-файла.

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

Примечание

При определении команды как функции можно задать произвольное количество входных параметров. Чтобы передать имя и информацию о сборке модели в функцию, задайте идентификаторы modelName и buildInfo как аргументы.

Скрипт

set_param(model, 'PostCodeGenCommand',...
'pcgScriptName');

Функция

set_param(model, 'PostCodeGenCommand',...
 'pcgFunctionName(modelName)');

Несколько функций

pcgFunctions=...
'pcgFunction1Name(modelName);...
pcgFunction2Name(buildInfo)';
set_param(model, 'PostCodeGenCommand',...
 pcgFunctions);

Следующий вызов на set_param определяет PostCodGenCommand чтобы вычислить функцию analyzegencode.

set_param(model, 'PostCodeGenCommand',...
'analyzegencode(buildInfo)');

Настройка процесса сборки с помощью PostCodeGenCommand и перемещение сгенерированного кода во внешнее окружение

В этом примере показано, как использовать интерфейс программирования информации сборки и параметр конфигурации модели Post генерация кода command (PostCodeGenCommand), чтобы настроить процесс сборки. В данном примере для команды генерации почтового кода задано значение rtwdemo_buildinfo_data. Процесс сборки вызывает эту функцию после генерации кода.

Пример также показывает, как использовать функцию строения сборки rtwmakecfg.m.

Откройте модель примера

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

open_system('rtwdemo_buildinfo');

Сгенерируйте код из модели

Сгенерируйте код. Генератор кода создает файл BuildInfo.html, который документирует информационный объект сборки.

Исследуйте индивидуальные настройки и выход процесса сборки

Исследуйте индивидуальные настройки процесса сборки и запрос генерации почтового кода информационного объекта сборки. В веб-браузере откройте файл BuildInfo.html. Файл предоставляет гиперссылки, которые можно использовать, чтобы изучить код, произведенный для модели. Кроме того, в Командном Окне MATLAB:

  • Чтобы просмотреть функцию, сконфигурированную для выполнения на этапе пост генерации кода процесса сборки, введите:

get_param('rtwdemo_buildinfo','PostCodeGenCommand');

  • Чтобы изучить интерфейс программирования для объекта информации о сборке, введите:

rtwdemo_buildinfo_data(buildInfo);

  • Чтобы изучить, как пример использует rtwmakecfg function, введите:

edit rtwmakecfg.m;

  • Чтобы просмотреть информационные данные объекта сборки, которые процесс сборки сохраняет в buildInfo.mat откройте файл rtwdemo_<target>_rtw\buildInfo.mat.

  • Чтобы просмотреть содержимое функции генерации почтового кода rtwdemo_buildinfo_data.m, введите:

edit rtwdemo_buildinfo_data.m;

В конце файла функция вызывает packNGo упаковать исходный и объектный файлы, которые идентифицирует информационный объект сборки для перемещения.

Похожие темы

Подавление генерации make-файла

Генератор кода позволяет вам подавить генерацию make-файла в процессе сборки. Например, вы можете использовать эту поддержку, когда интегрируете инструменты в процесс сборки, которые не используют make-файлы.

Чтобы дать указание генератору кода не создавать make-файл, выполните одно из следующих действий:

  • Очистить Generate makefile опции на панели Code Generation диалогового окна Параметры конфигурации.

  • Установите значение параметра конфигурации GenerateMakefile на off.

Когда вы подавляете генерацию make-файла,

См. также