Для профилирования выполнения кода процессора в цикле (PIL) необходимо создать объект-таймер, который предоставляет подробную информацию о аппаратном таймере и связанных с ним исходных файлах. Можно использовать Code Replacement Tool или Library API замены кода, чтобы задать этот аппаратный таймер.
Чтобы задать таймер с помощью Code Replacement Tool:
Откройте Инструмент замены кода. В Командном окне введите crtool
.
Составьте новую таблицу замещения кода. Выберите File > New table.
Создайте новую запись функции. В разделе Tables List щелкните правой кнопкой мыши новую таблицу. Затем в контекстном меню выберите New entry > Function.
В представлении посередине выберите новую функцию без имени.
На панели Mapping Information:
В раскрывающемся списке Function выберите code_profile_read_timer
.
Укажите направление счетчика для вашего таймера. Например, из выпадающего списка Count direction выберите Up
.
В поле Ticks per second укажите количество тактов в секунду для вашего таймера, например 1e+09
.
Значение по умолчанию 0. В этом случае программное обеспечение сообщает измерения времени с точки зрения тактов, а не секунд.
В Conceptual function разделе из списка Data type выберите uint8
, uint16
, uint32
, или uint64
.
В разделе Function prototype, в поле Name, задайте имя функции замены, например MyTimer
.
Нажмите Apply.
Чтобы подтвердить запись функции, нажмите Validate entry.
На панели Build Information укажите необходимую информацию о сборке. См. раздел «Задание информации о сборке» в разделе «Определение оптимизации библиотеки замещения кода».
Сохраните таблицу (Ctrl+S). При первом сохранении таблицы используйте диалоговое окно «Сохранить как», чтобы указать имя и расположение файла.
Вы должны сохранить таблицу в расположении, которое находится в MATLAB® путь поиска файлов. Например, можно сохранить этот файл в папке для подкласса rtw.connectivity.Config
.
Программное обеспечение хранит информацию о таймере как таблицу библиотеки замещения кода.
Предположим, что вы сохраняете таблицу следующим
, в вашем подклассеMyCrlTable
.m rtw.connectivity.Config
, добавить следующую линию:
setTimer(this, MyCrlTable)