Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Счетчик машинных циклов
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > IAR
NewMaestro
Если я правильно понял, то EWB не предоставляет возможности посчитать сколько прошло машинных циклов от одной точки программы до другой. Люди, посоветуйте, как тайминги рассчитывать, когда такого счетчика нет. Я привык, что в MPLAB IDE он был. Это довольно удобно!

В EWB для AVR есть функция для организации задержек __delay_cycles(); А в компиляторе для NEC этой функции нет. Как сделать задержку с точностью +-1 маш.цикл без таймера, если нет функции __delay_cycles(); и если нет нет счетчика, чтобы цикл измерить?
DRUID3
Цитата(NewMaestro @ Jun 15 2007, 00:57) *
Если я правильно понял, то EWB не предоставляет возможности посчитать сколько прошло машинных циклов от одной точки программы до другой. Люди, посоветуйте, как тайминги рассчитывать, когда такого счетчика нет. Я привык, что в MPLAB IDE он был. Это довольно удобно!

В EWB для AVR есть функция для организации задержек __delay_cycles(); А в компиляторе для NEC этой функции нет. Как сделать задержку с точностью +-1 маш.цикл без таймера, если нет функции __delay_cycles(); и если нет нет счетчика, чтобы цикл измерить?

Зная тактовую - NOPами biggrin.gif ...

Шучу конечно, если модератор захочет пусть удалит smile.gif .
rezident
Во, блин, проблема - нет функции __delay_cycles() - нету так напишите сами! Кстати, шутка DRUID3 лишь отчасти. Если нужны задержки с точностью до такта, то действительно NOP-ами иногда подбирать приходится.
Насчет отсутствия счетчика циклов не совсем понял. В какой версии для какого камня отсутствует? В отладчике (debugger) такого вроде и не было, но в симуляторе ИАР счетчик циклов должен быть.
NewMaestro
Цитата
Во, блин, проблема - нет функции __delay_cycles() - нету так напишите сами!


А Вы мне блоксхемку подскажите. Так, чтоб с точностью до цикла. А то я, в отличие от Вас, новичок в этом деле.

Цитата
Кстати, шутка DRUID3 лишь отчасти. Если нужны задержки с точностью до такта, то действительно NOP-ами иногда подбирать приходится.
Насчет отсутствия счетчика циклов не совсем понял. В какой версии для какого камня отсутствует? В отладчике (debugger) такого вроде и не было, но в симуляторе ИАР счетчик циклов должен быть.


Камень NEC 78K0. Подскажите где искать в симуляторе.
IgorKossak
Цитата(NewMaestro @ Jun 15 2007, 09:45) *
Подскажите где искать в симуляторе.

Возможно View->Register->CPU Registers->CYCLES (по крайней мере для AVR).
rezident
Цитата(NewMaestro @ Jun 15 2007, 12:45) *
А Вы мне блоксхемку подскажите. Так, чтоб с точностью до цикла. А то я, в отличие от Вас, новичок в этом деле.
Камень NEC 78K0. Подскажите где искать в симуляторе.

Функция задержки с точностью до цикла зависит от архитектуры и сисемы команд целевого кристалла. К сожалению с МК фирмы NEC я не знаком даже отдаленно.
NewMaestro
Цитата
Функция задержки с точностью до цикла зависит от архитектуры и сисемы команд целевого кристалла.


AVR-вариант компилятора функцию __delay_cycles() при аргументе 1, 2 (до нескольких) представляет в виде nop-ов, а при больших значениях уже цикл генерит и память юзает. Написали ж программеры... предусмотрели все...

Цитата
К сожалению с МК фирмы NEC я не знаком даже отдаленно.


А че? Народ базарит, кто работал, что японские микроконтроллеры рулят smile.gif Ну типа NEC, Renesas - вещи что надо и что на нашем рынке они не завоевали популярность исключительно по историко-экономическим причинам. Не считали японцы нас достойыми потребителями долгое время и не целились на наш рынок. Тем не менее на мировом рынке, говорят, NEC в несколько раз рвет ATMEL. A Renesas рвет вообще всех. smile.gif
KRS
Цитата(NewMaestro @ Jun 15 2007, 22:55) *
Тем не менее на мировом рынке, говорят, NEC в несколько раз рвет ATMEL. A Renesas рвет вообще всех. smile.gif


Так то 51 от NEC, а 32 разрядные появились относительно недавно и намного позже ARM.
А по выпуску 51 филипс (теперь NXP) всегда делал NEC, а вообще по количесву еще Texas безусловный лидер ( они собственно говоря и изобрели микросхемы )

И еще от области применения зависит. Если считать не количество экземпляров, а количество разных разработок, лидеры будут совсем другими.
NewMaestro
Цитата(KRS @ Jun 15 2007, 22:51) *
Так то 51 от NEC, а 32 разрядные появились относительно недавно и намного позже ARM.
А по выпуску 51 филипс (теперь NXP) всегда делал NEC, а вообще по количесву еще Texas безусловный лидер ( они собственно говоря и изобрели микросхемы )


А я с NEC недавно познакомился и про 51 у них ничего не слышал. Может вы имели ввиду просто 8-разрядные МК? У NEC это 78K0.

Цитата
И еще от области применения зависит. Если считать не количество экземпляров, а количество разных разработок, лидеры будут совсем другими.


Вообще согласен.

А вот это как думаете, правда или нет??

Нажмите для просмотра прикрепленного файла

Нажмите для просмотра прикрепленного файла

Я смотрю Atmel там не сильно заметен вообще. smile.gif А популярен же среди российских разработчиков, что просто трындец.

Ну да ладно... отклонились от темы. Админы накажут...




Цитата(IgorKossak @ Jun 15 2007, 11:50) *
Возможно View->Register->CPU Registers->CYCLES (по крайней мере для AVR).



Спасибо. Нашел. Сейчас буду разбираться.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.