В этом примере показано, как можно профилировать время выполнения задачи и функциональное время выполнения приложения реального времени, работающего на целевом компьютере. Используя ту информацию, можно затем настроить ее производительность.
Профилирование особенно полезно, если приложение реального времени сконфигурировано, чтобы использовать в своих интересах многоядерные процессоры на целевом компьютере. Профилировать приложение реального времени:
В Параметрах конфигурации для модели включите набор функциональных данных времени выполнения во время выполнения.
Создайте, загрузите и выполните модель.
Запустите и остановите профилировщик.
Отобразите данные профилировщика.
Профилирование немного увеличивает время выполнения приложения реального времени.
В этом разделе моделью является dxpcmds6t
. Чтобы открыть эту модель, откройте модели подсистемы сначала:
Открытая модель dxpcmds6t
.
В топ-модели откройте диалоговое окно Configuration Parameters. Выберите Code Generation>> Verification.
Установите флажок времен выполнения функции Меры. Флажок времени выполнения задачи Меры проверяется и блокируется.
4. Нажать ОК. Сохраните модель dxpcmds6t
в локальной папке.
В этом разделе сгенерируйте данные о профиле для модели dxpcmds6t
на многожильном целевом компьютере.
Эта процедура принимает, что вы сконфигурировали целевой компьютер, чтобы использовать в своих интересах несколько ядер. Это также принимает, что вы ранее сконфигурировали модель для задачи и функционального профилирования выполнения.
Открытый, сборка и загрузка модель.
mdl = 'dxpcmds6t'; open_system(mdl); rtwbuild(mdl); tg = slrt('TargetPC1'); load(tg,mdl);
Когда вы включаете профилирование, Отчет Генерации кода сгенерирован по умолчанию. Это содержит ссылки на сгенерированный код C, и включайте файлы. Путем щелчка по этим ссылкам можно исследовать сгенерированный код и интерпретировать Отчет Профиля Выполнения кода.
2. Запустите профилировщик и затем выполните приложение реального времени.
startProfiler(tg); start(tg); pause(1) stopProfiler(tg); stop(tg);
3. Отобразите данные профилировщика.
profiler_data = getProfilerData(tg)
График Профиля Выполнения показывает выделение циклов выполнения через эти четыре процессора, обозначенные цветными горизонтальными планками. Разделы модели перечислены в Отчете Профилирования Выполнения кода. Ядра обозначаются числами под панелями.
Для получения дополнительной информации о временной шкале в графике профиля выполнения, смотрите timeline
.
Отчет Профилирования Выполнения кода отображает результаты профиля выполнения модели для каждой задачи.
Чтобы отобразить данные о профиле для раздела модели, в столбце Раздела, нажимают кнопку Membrane рядом с задачей.
Чтобы отобразить данные TET для раздела в Инспекторе Данных моделирования, нажмите кнопку данных временных рядов Графика.
Чтобы просмотреть раздел в Редакторе Simulink, щелкните по ссылке рядом с кнопкой Expand Tree.
Чтобы просмотреть линии сгенерированного кода, соответствующего разделу, нажмите кнопку Expand Tree и затем нажмите View Source button.
4. Чтобы исследовать дальнейшее совершенствование, смотрите, Улучшают Производительность Многоскоростной модели.