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

 
 
 
Reply to this topicStart new topic
> cortex-m3 instruction timing, как и чем считать???
diwil
сообщение Jan 20 2010, 10:35
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 366
Регистрация: 5-09-06
Из: Санкт-Петербург
Пользователь №: 20 107



Уважаемые,

У меня есть rvds-3.0 и все что с ним связано.

Я генерю код, простенький код, который компилирую и запускаю в отладчике.
В армуляторе в connection control выбираю ISSМ и там указываю arm_cortex-m3 on ISSM.
Вроде все работает, но в привычном окне регистров нет "окна статистики".

Хорошо... конфигурю SysTickTimer и запускаю его. В окне регистров есть его значения.
Так вот эта зараза на каждую команду, включая деление и выталкивание _всех_ регистров в стэк, тикает один раз!
А мне казалось, что должен показывать реальное время исполнения одной инструкции.

Мож это как-то лечится? Кто-нибудь сталкивался с подобной проблемой?
Go to the top of the page
 
+Quote Post
adnega
сообщение Jan 20 2010, 10:43
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



А предделитель SysTickTimer равен 1?
Go to the top of the page
 
+Quote Post
diwil
сообщение Jan 20 2010, 15:10
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 366
Регистрация: 5-09-06
Из: Санкт-Петербург
Пользователь №: 20 107



Цитата(adnega @ Jan 20 2010, 13:43) *
А предделитель SysTickTimer равен 1?

да
Go to the top of the page
 
+Quote Post
adnega
сообщение Jan 22 2010, 06:46
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Страница 640 UM10360 (LPC17xx UserManual):

During a debugging session, the System Tick Timer and the Repetitive Interrupt Timers
are automatically stopped whenever the CPU is stopped. Other peripherals are not
affected. If the Repetitive Interrupt Timer is configured such that its PCLK rate is lower
than the CPU clock rate, the RIT may not increment predictably during some debug
operations, such as single stepping.

Может это и есть причина? Хотя и не должен SysTick останавливаться во время выполнения инструкции...
Go to the top of the page
 
+Quote Post
diwil
сообщение Jan 22 2010, 08:07
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 366
Регистрация: 5-09-06
Из: Санкт-Петербург
Пользователь №: 20 107



Цитата(adnega @ Jan 22 2010, 09:46) *
Страница 640 UM10360 (LPC17xx UserManual):

During a debugging session, the System Tick Timer and the Repetitive Interrupt Timers
are automatically stopped whenever the CPU is stopped. Other peripherals are not
affected. If the Repetitive Interrupt Timer is configured such that its PCLK rate is lower
than the CPU clock rate, the RIT may not increment predictably during some debug
operations, such as single stepping.

Может это и есть причина? Хотя и не должен SysTick останавливаться во время выполнения инструкции...


пробовал выполнять и блоки операций - все равно один тик на инструкцию...
что-то здесь не то...
Go to the top of the page
 
+Quote Post
adnega
сообщение Jan 22 2010, 08:22
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Можно попробовать таймер общего пользования, если есть свободный
Go to the top of the page
 
+Quote Post

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

 


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


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