roboforum.ru

Технический форум по робототехнике.

время выполнения программы на AVR

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Сообщение Master » 13 сен 2007, 13:07

А почему бы не сделать чтобы после выполнения программы на скажем PORTA.1 выдавался высокий уровень и отсимулировать это в VBlab и по шкале времени посмотреть когда появится высокий уровень на ножке?
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Сообщение avr123.nm.ru » 13 сен 2007, 14:07

Master писал(а):А почему бы не сделать чтобы после выполнения программы на скажем PORTA.1 выдавался высокий уровень и отсимулировать это в VBlab и по шкале времени посмотреть когда появится высокий уровень на ножке?


Это и предложено тут выше и в задаче 3 курса  - измерение временных интервалов.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение matracc » 13 сен 2007, 14:47

да, в симуляторе тоже удобно считать, он сам выдает время, не нужно ничего самому подсчитывать -- но все таки профайлер специально для этого и предназначается
правда, если алгоритм сложный все таки проще всего держать в голове количество тактов на каждую ветку/процедуру, а не симулировать -- в наихудший случай вы просто можете не попасть при отладке
matracc
 
Сообщения: 40
Зарегистрирован: 18 ноя 2006, 20:13
Откуда: Москва

Сообщение avr123.nm.ru » 13 сен 2007, 15:03

matracc писал(а):если алгоритм сложный все таки проще всего держать в голове
количество тактов на каждую ветку/процедуру, а не симулировать


Ну у вас и ГОЛОВА ! Не голова а дом советов.  Я такое врядли запомню.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение Виталий » 13 сен 2007, 15:49

Хех ребята, софт конечно хорошо, эмуляторы тоже, но ничто не заменит реальных измерений осциллографом =)
Вот например у меня есть несколько моментов которые работают в протеусе и не работаю в реале и наоборот.
Все новости о моих проектах http://savethebest.ru
Аватара пользователя
Виталий
 
Сообщения: 2114
Зарегистрирован: 08 окт 2004, 16:43
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий

Сообщение avr123.nm.ru » 13 сен 2007, 15:58

Виталий писал(а):ничто не заменит реальных измерений осциллографом =)


Конечною Но осцилы разные бывают - я уже выше написал.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение avr123.nm.ru » 13 сен 2007, 15:59

Виталий писал(а):у меня есть несколько моментов которые работают в протеусе и не работаю в реале и наоборот.


И в студии не работают ? и в VMLAB ?

А "наоборот" зачем мерить если в железе не работает ВААААЩЕ ?!
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение matracc » 13 сен 2007, 17:27

спасибо за голову, очень польщен)))
держать в голове отчасти означает и записывать в комментариях к коду))
Я все же считаю, и навряд ли меня кто переубедит, что рассчитывать время выполнения надо на стадии проектирования, а не написать, а потом в лабораторных условиях мерить то, что написали. Все таки, если алгоритм сложный и некоторые ветки требуют специальных условий, а вы об этом не задумались, когда писали программу - навряд ли вы все эти условия переберете с щупом в руках. Не даром всякие методологии программирования настаивают на том, чтобы тесты программ писались до разработки их алгоритма.
Кстати, кто-нибудь знает профайлер к avr?? Я порылся в своей памяти и не нашел.
matracc
 
Сообщения: 40
Зарегистрирован: 18 ноя 2006, 20:13
Откуда: Москва

Re: время выполнения программы на AVR

Сообщение Strijar » 10 окт 2007, 21:50

Пришла в голову забавная идея. Забиваем в файл все процесорные команды и сколько тактов выполняются. Потом пишется простенький скрипт (например на perl) который натравливается на оттранслированый Си код (до asm) - и он сам в автомате считает, что-где и сколько выполняется. На днях попробую написать! ;)
Аватара пользователя
Strijar
 
Сообщения: 664
Зарегистрирован: 28 авг 2006, 17:09
Откуда: Всеволожск (СПб)
прог. языки: С, C++, Python, Lua, VHDL, Verilog, Forth
ФИО: Олег Белоусов

Re: время выполнения программы на AVR

Сообщение avr123.nm.ru » 10 окт 2007, 22:43

Ждемс !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: время выполнения программы на AVR

Сообщение Myp » 10 окт 2007, 23:00

а для разных МК время на команду одинаковое??
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: время выполнения программы на AVR

Сообщение steel_monkey » 10 окт 2007, 23:55

А что с циклами делать, и ветвлениями?
Аватара пользователя
steel_monkey
 
Сообщения: 346
Зарегистрирован: 14 июл 2007, 23:38
Откуда: SPb
прог. языки: немного албанский

Re: время выполнения программы на AVR

Сообщение Myp » 10 окт 2007, 23:58

циклы считать...
а ветвления...хз

но можно выводить время каждой процедуры, цикла или ветвления отдельно
и уже самому на бумажке суммировать в зависимости от режима работы

всё лучше чем на глаз прикидывать
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: время выполнения программы на AVR

Сообщение Vooon » 11 окт 2007, 00:18

steel_monkey писал(а):А что с циклами делать, и ветвлениями?

идем дальше, и пишем интерпретатор комманд, потом доделываем графическую оболочку,
и получаем нечто похожее на вмлаб.

теперь вопрос: стоит ли это трудов? хотя попробовать стоит :)
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

Re: время выполнения программы на AVR

Сообщение The_Kurs » 11 окт 2007, 10:41

Можно и осциллографом там где точность не нужна )))
А вот мой вариант измерения скорости циклов:
Компилируем в кодевижене. При компиляции образуется файл ассемблера asm.
И открывает его в проекте АВРстудии. Запускаем дебагер и смотрим )))
В асм файле потеряться нельзя там все отмечано и помечано ))) даже самого асемблера можно не знать. А в дебагере авр студии тав вообще все и регистры и частота кварца и скорость выполнения одной каманды в микросекундах , циклы то же можно измерять , в общем все что угодно для души )))) Сам недавно этим занимался перекидывал асм файл из кодевижена в дебагер авр студии ))))
The_Kurs
 
Сообщения: 161
Зарегистрирован: 16 фев 2007, 16:33
Откуда: Петропавловск-Камчатский

Пред.След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8