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';

Примечание

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

 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