Как в Keil померять время выполнения участка кода?

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
Открыл глаза
Сообщения: 67
Зарегистрирован: Ср май 28, 2008 14:33:11
Откуда: Россия, Саров

Сообщение Карась »

Всем привет!
Запустил свежеприсланную плату STM32F4-Discovery. Помигал всласть светодиодами, а теперь интересует сабж: есть ли в Кейле какое-то средство на подобие окна StopWatch в MPlab?
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

Нет и не к чему оно. В Cortex M3 есть DWT , а сие не показометр от пЫк ... :)))
Реклама
Вымогатель припоя
Аватара пользователя
Сообщения: 535
Зарегистрирован: Вт авг 28, 2012 22:21:33

Сообщение menzoda »

Если уж очень надо померить, то есть два варианта:
1. Аналитический. Смотришь, какие инструкции сгенерировал компилятор (опция --asm). Заглядываешь в даташит на свое ядро и смотришь сколько тактов выполняется каждая команда. Подсчитываешь общее количество тактов и соотносишь с частотой, на которой у тебя работает ядро. Готово! Если имеются инструкции чтения/записи из/в память, то не забудь учесть время доступа к ней.

2. Экспериментальный. В начале и в конце интересуещего участка кода переключаешь состояние какого-нибудь порта и смотришь осциллографом длительность импульса.
Открыл глаза
Сообщения: 67
Зарегистрирован: Ср май 28, 2008 14:33:11
Откуда: Россия, Саров

Сообщение Карась »

menzoda писал(а):Если уж очень надо померить...
Бывает надо. Например, может понадобиться, чтобы время выпонения обработчика прерывания было детерминированным.
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Вымогатель припоя
Аватара пользователя
Сообщения: 535
Зарегистрирован: Вт авг 28, 2012 22:21:33

Сообщение menzoda »

Да я знаю, что бывает нужно. Сам иногда измеряю.
Реклама
Ответить

Вернуться в «ARM»