exponenta event banner

target.MainFunction класс

Пакет: цель

Предоставление зависимостей C и C++ для main функция целевого аппаратного приложения

Описание

Используйте target.MainFunction класс для предоставления main зависимости функций для приложения main функция, которая выполняется на целевом оборудовании. Например, код инициализации и завершения C и C++, include директивы препроцессора и спецификация main аргументы функции для приложения.

Создание target.MainFunction объект, используйте target.create функция.

Свойства

развернуть все

Имя коллекции main зависимости.

Атрибуты:

GetAccess
public
SetAccess
public

Зависимости средств сборки компилятора main , которые включают заголовочные файлы, исходные файлы и библиотеки.

Атрибуты:

GetAccess
public
SetAccess
public

Захват зависимостей аргументов командной строки во время выполнения.

Атрибуты:

GetAccess
public
SetAccess
public

Массив файлов заголовков, которые должны быть включены в целевой объект main функция с помощью директивы препроцессора #include "path-spec".

Атрибуты:

GetAccess
public
SetAccess
public

Массив файлов заголовков, которые должны быть включены в целевой объект main функция с помощью директивы препроцессора #include <path-spec>.

Атрибуты:

GetAccess
public
SetAccess
protected

Форматированная строка кода C или C++, main используется для инициализации целевых ресурсов.

Атрибуты:

GetAccess
public
SetAccess
public

Форматированная строка кода C или C++, main используется для завершения целевых ресурсов.

Атрибуты:

GetAccess
public
SetAccess
public

Примеры

свернуть все

Создать target.MainFunction объект и связать его с target.Board object, который захватывает main зависимости функций для платы Arduino ®. Рабочие процессы, такие как процессор в цикле (PIL), могут использовать эту информацию при создании main для приложения, которое работает на целевом оборудовании.

board = target.create('Board', 'Name', 'Arduino Board')
mainFunction = target.create('MainFunction');
mainFunction.Name = 'Arduino Main Dependencies';

mainFunction.IncludeFiles = { 'Arduino.h' };
mainFunction.InitializationCode = fileread('arduino_main_initialization.c');

board.MainFunctions = mainFunction;

В фрагменте кода arduino_main_initialization.c содержит код C. Например:

/* Initialize system */
init();

Этот фрагмент кода из команды «Настройка подключения PIL с использованием целевого пакета» (Embedded Coder) показывает, как можно создавать и использовать target.MainFunction объект для указания main аргументы функции, необходимые для реализации API.

comms = target.create('CommunicationInterface');
comms.Name = 'Linux TCP Interface';
comms.Channel = 'TCPChannel';
comms.APIImplementations = target.create('APIImplementation', ...
                                         'Name', 'x86 rtiostream Implementation');
comms.APIImplementations.API = target.create('API', 'Name', 'rtiostream');
comms.APIImplementations.BuildDependencies = target.create('BuildDependencies');
comms.APIImplementations.BuildDependencies.SourceFiles = ...
                                                        {fullfile('$(MATLABROOT)', ...
                                                        'toolbox', ...
                                                        'coder', ...
                                                        'rtiostream', ...
                                                        'src', ...
                                                        'rtiostreamtcpip', ...
                                                        'rtiostream_tcpip.c')};
comms.APIImplementations.MainFunction = target.create('MainFunction', ...
                                                      'Name', 'TCP RtIOStream Main');
comms.APIImplementations.MainFunction.Arguments = {'-blocking', '1', '-port', '0'};
hostTarget.CommunicationInterfaces = comms;
Представлен в R2020b