exponenta event banner

target.Класс таймера

Пакет: цель

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

Описание

Используйте target.Timer класс для предоставления сведений о таймере для вашего процессора. Например, информация об интерфейсе и реализации функции C или C++, частоте и направлении подсчета таймеров. Чтобы предоставить информацию об инструментарии кода C или 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