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

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

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

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

  1. Программируйте команду генерации кода сообщения.

  2. Задайте команду генерации кода сообщения.

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

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

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

Создайте информационный объект

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

  • Параметры компилятора

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

  • Опции компоновщика

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

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

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

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

Программируйте команду генерации кода сообщения

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

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

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

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

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

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

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 и переместите сгенерированный код к внешней среде

В этом примере показано, как использовать интерфейс программирования информации о сборке и команду генерации кода Сообщения параметра конфигурации модели (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 функция, введите:

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 диалогового окна Configuration Parameters.

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

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

Смотрите также