реклама на сайте
подробности

 
 
> Отсчёт времени/тактов в симуляторах Keil и IAR, Какое-то сплошное враньё!?
Dimonira
сообщение Jun 26 2007, 20:29
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 405
Регистрация: 4-10-04
Пользователь №: 777



Контроллер ADuC7024.
Делал сначала софт в IAR 4.41. Мне нужна была дубовая функция задержки с параметром в миллисекундах. Чтобы "настроить" её, я запустил программу в симуляторе, через профайлер посмотрел сколько выполняется функция задержки и исходя из этого скорректировал вычисление нужного счётчика в функции.
Но в реальности мне показалось, что задержки выполняются дольше рассчитанного времени. На глаз показалось, что на треть. Получилось, что симулятор IAR врёт в более быструю сторону.

Потом решил код частично отладить в Keil mdk 3.10, т.к. там удобнее (чем в IAR) в симуляторе смотреть такты и время выполнения отдельных строчек кода. Начал как раз с функции задержки, т.к. она простая. И тут выяснилось, что та же функция выполняется (по симулятору) вдвое дольше. Количество тактов и время выполнения в симуляторе соответствуют друг другу (проверил на всякий). Решил посмотреть на реальном выполнении. В результате задержка, которая в симуляторе была 20с (по тактам и счётчику времени), реально выполнялась где-то за 14.3с. Получается, что симулятор насчитывает больше тактов, чем проходит в реальности. Подобрал расчёт счётчика в функции задержки по реальному выполнению. Теперь задержка в 10с в симуляторе проходит за 14.3с. Получилось, что пришлось уменьшить значение счётчика примерно на столько, на сколько мне казалось медленнее работает задержка в реальном выполнении в IAR.

Короче, в итоге, реальная задержка выполняется одинаково, что после Keil, что после IAR.
А вот симуляторы врут, причём в разные стороны и довольно прилично.

В чём тут трабл? Или изначально ориентироваться на временные отсчёты в симуляторах не стоило?

Просто мне бы надо отработать/отладить "трудоёмкий" код, где вычисления с плавающей точкой и хотелось бы иметь достаточно правдивый "инструмент" замера тактов/времени.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Dimonira   Отсчёт времени/тактов в симуляторах Keil и IAR   Jun 26 2007, 20:29
- - rezident   "По-уму" точные задержки обычно формирую...   Jun 26 2007, 20:38
- - Dimonira   Да мне не задержки точные нужны, это не проблема. ...   Jun 27 2007, 04:51
- - rezident   Тогда наверное стоит почитать что-нибудь про саму ...   Jun 27 2007, 09:56
- - Dimonira   Блин, такие советы я и сам могу давать кому угодно...   Jun 27 2007, 11:12
- - rezident   Если вы хорошо знаете архитектуру, то попробуйте п...   Jun 27 2007, 11:32
|- - Wano   Кароче это фуфло я узнал ещё давно. Как мне показа...   Jun 27 2007, 11:52
- - vetal   Сделать такой симулятор, который будет со 100% точ...   Jun 27 2007, 12:23
- - Dimonira   Ну, я ж говорю не про работу симулятора в реальном...   Jun 27 2007, 18:32
|- - rezident   Цитата(Dimonira @ Jun 28 2007, 00:32) Есл...   Jun 27 2007, 19:00
|- - Сергей Борщ   Цитата(Dimonira @ Jun 27 2007, 21:32) Уж ...   Jun 27 2007, 22:07
- - vetal   ЦитатаТем более, что эти продукты (Keil и IAR) сто...   Jun 27 2007, 19:03
- - WhiteFang   Хочу оценить время выполнения участка программы (о...   Jul 18 2010, 06:09
|- - sergeeff   Цитата(WhiteFang @ Jul 18 2010, 09:09) Хо...   Jul 18 2010, 10:29
|- - WhiteFang   Цитата(sergeeff @ Jul 18 2010, 13:29) Пис...   Jul 18 2010, 10:54
|- - rezident   Цитата(WhiteFang @ Jul 18 2010, 16:54) А ...   Jul 18 2010, 11:11
||- - WhiteFang   Цитата(rezident @ Jul 18 2010, 15:11) Пот...   Jul 18 2010, 11:22
|- - VslavX   Цитата(WhiteFang @ Jul 18 2010, 13:54) В ...   Jul 18 2010, 11:34
- - scifi   Цитата(Dimonira @ Jun 27 2007, 00:29) Мне...   Jul 18 2010, 17:33


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 16:27
Рейтинг@Mail.ru


Страница сгенерированна за 0.01346 секунд с 7
ELECTRONIX ©2004-2016