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

 
 
 
Reply to this topicStart new topic
> В чём можно посмотреть время входа в прерывание и время его выполнения?
Dikoy
сообщение Sep 4 2011, 02:58
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 253
Регистрация: 4-03-09
Из: Богота, Колумбия
Пользователь №: 45 676



Вот есть проект в IAR 4.30 для AVR.
В чём можно посмотреть время входа в прерывание и время его выполнения?
Студия, насколько знаю, показывает только время выполнения кода, но время входа/выхода учитывать не умеет. Или нет?
Мне нужно знать точное время от события на INT, до выхода в основной цикл, с учётом всех сохранений регистров, джампов и т.д. Хотя бы в тиках ядра.
Go to the top of the page
 
+Quote Post
LexaK
сообщение Sep 4 2011, 05:34
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 118
Регистрация: 3-12-06
Из: Новороссийск
Пользователь №: 23 082



Фактическое время выполнения прерывания можно увидеть так: сразу после входа выставить 1 на какой-нибудь пин, перед выходом выставить 0, посмотреть все это осциллографом и добавить время на выполнение команд, которые предваряют/завершают тело обработчика (сохранение регистров), которые можно посмотреть из листинга. А время входа в прерывание есть даташите.
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Sep 4 2011, 18:28
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Студия умеет. Надо просто сбросить таймер Stop watsh при входе и поставить break на reti


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
Marto
сообщение Sep 5 2011, 06:51
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 103
Регистрация: 17-05-09
Из: Ижевск
Пользователь №: 49 190



ну или j-tagom в студии.


--------------------
Шизоидный холерик
Go to the top of the page
 
+Quote Post
IJAR
сообщение Sep 5 2011, 08:26
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 232
Регистрация: 26-02-07
Из: г. Зеленоград
Пользователь №: 25 669



Цитата(Marto @ Sep 5 2011, 10:51) *
ну или j-tagom в студии.

В DS на процессор написано сколько тактов занимает аппаратный вход в прерывание,
насколько я помню это 4 такта, +число тактов выполнения самой длинной команды

Сообщение отредактировал IJAR - Sep 5 2011, 08:26


--------------------
Вяжешь - вой, а поедешь - песни пой.
Между "хочу" и "можно" всегда есть дистанция
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Sep 5 2011, 10:05
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(Marto @ Sep 5 2011, 09:51) *
ну или j-tagom в студии.

По таймеру?
Или ещё есть способ.
Go to the top of the page
 
+Quote Post
Marto
сообщение Sep 6 2011, 08:12
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 103
Регистрация: 17-05-09
Из: Ижевск
Пользователь №: 49 190



Цитата(IJAR @ Sep 5 2011, 13:26) *
В DS на процессор написано сколько тактов занимает аппаратный вход в прерывание,
насколько я помню это 4 такта, +число тактов выполнения самой длинной команды


В точку. Вчера, как раз таки читал этот момент в ДШ, но это с точки зрения ассэмблерных комманд.
А ведь если кодить на Си, то он развернет конструкции сохранения регистров и флагов. То есть автору нужно знать суммарное время перехода, с учетом его алгоритма.


--------------------
Шизоидный холерик
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Sep 6 2011, 11:05
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(Marto @ Sep 6 2011, 11:12) *
В точку. Вчера, как раз таки читал этот момент в ДШ, но это с точки зрения ассэмблерных комманд.
А ведь если кодить на Си, то он развернет конструкции сохранения регистров и флагов. То есть автору нужно знать суммарное время перехода, с учетом его алгоритма.

В IAR можно посмотреть листинг ассемблерного файла и высчитать время входа в тактах

Go to the top of the page
 
+Quote Post

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

 


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


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