target.Timer class

Пакет: цель

Предоставьте сведения о таймере для процессора

Описание

Используйте target.Timer класс, чтобы предоставить сведения о таймере для вашего процессора. Для примера, информация об интерфейсе функции C или C++ и реализации, частоте и направлении подсчета таймера. Чтобы предоставить информацию об инструментальном коде C or C++ для профилирования, можно связать детали таймера с target.Processor объект.

Как создать target.Timer объект, использовать target.create функция. Создайте объект, а затем используйте отдельные шаги, чтобы задать свойства. Или, используя аргументы имя-значение, создайте объект и задайте свойства за один шаг.

Свойства

расширить все

Имя таймера.

Атрибуты:

GetAccess
public
SetAccess
public

Направление счетчика таймера.

Атрибуты:

GetAccess
public
SetAccess
public

Информация о реализации API, которая используется для определения текущего времени.

Если вы используете аргументы имя-значение для создания target.Timer объект, для APIImplementation задайте эти аргументы.

ИмяОписание
'FunctionName'Обязательно. Name свойство target.Function объект.
'FunctionReturnType'Обязательно. ReturnType свойство target.Function объект.
'IncludeFiles'Обязательно. IncludeFiles свойство target.BuildDependencies объект
'FunctionLanguage'Необязательно. Language свойство target.API объект.
'SourceFiles' Необязательно. SourceFiles свойство target.BuildDependencies объект.
'IncludePaths'Необязательно. IncludePaths свойство target.BuildDependencies объект

Атрибуты:

GetAccess
public
SetAccess
public

Частота модуля, возвращаемой функцией таймера. Это значение может использоваться, чтобы преобразовать выход функции таймера в секунды. Класс помощника target.unit.Frequency содержит некоторые общие модули.

Атрибуты:

GetAccess
public
SetAccess
public

Типы данных: uint64

Примеры

свернуть все

Создайте объект-таймер для своего компьютера разработчика.

Создайте сигнатуру функции для таймера. В этом примере функция возвращает uint64 тип данных и имя функции timestamp_x86.

timerSignature = target.create('Function');
timerSignature.Name = 'timestamp_x86';
timerSignature.ReturnType = 'uint64';

Захват функции в объект API.

timerApi = target.create('API');
timerApi.Functions = timerSignature;
timerApi.Language = target.Language.C;
timerApi.Name = 'Linux Timer API';

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

timerDependencies = target.create('BuildDependencies');
timerDependencies.IncludeFiles = {'host_timer_x86.h'};
timerDependencies.IncludePaths = ...
               {'$(MATLAB_ROOT)/toolbox/coder/profile/src'};
timerDependencies.SourceFiles = {'host_timer_x86.c'};

Создайте объект, который объединяет API и зависимости.

timerImplementation = target.create('APIImplementation');
timerImplementation.API = timerApi;
timerImplementation.BuildDependencies = timerDependencies;
timerImplementation.Name = 'Linux Timer Implementation';

Создайте объект-таймер и связайте его с информацией о таймере.

timer = target.create('Timer');
timer.APIImplementation = timerImplementation;
timer.Name = 'Linux Timer';

Примечание

Используя аргументы name-value, можно создать объект-таймер с помощью этой команды.

 timer = target.create('Timer', 'Name', 'Linux Timer', ...
           'FunctionName', 'timestamp_x86', ...
           'FunctionReturnType', 'uint64', ...
           'FunctionLanguage', target.Language.C, ...
           'SourceFiles', {'host_timer_x86.c'}, ...
           'IncludeFiles', {'host_timer_x86.h'}, ...
           'IncludePaths', {'$(MATLAB_ROOT)/toolbox/coder/profile/src'})

Присвойте таймер и дополнения объекту процессора.

processor = target.get('Processor', 'Intel-x86-64 (Linux 64)');
processor.Timers = timer;

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

newTimer = target.create('Timer', ...
                         'Copy', 'Linux Timer', ...
                         'Name', 'NewTimerName', ...
                         'FunctionName', 'newFunctioName');
Введенный в R2020b