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

 
 
 
Reply to this topicStart new topic
> Проблема с AVR Studio, команда wdr не обнуляет счётчик сторожевого таймера
Nikkolaj
сообщение May 26 2012, 18:12
Сообщение #1


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

Группа: Участник
Сообщений: 147
Регистрация: 25-09-08
Пользователь №: 40 467



Добрый день.
При отладке программы на AVR Studio, versia 4.19
команда wdr (watch dog reset) не обнуляет счётчик сторожевого таймера.
Для отладки программы пришлось выключить сторожевой таймер.
Не подскажете, в чём может быть причина?
Go to the top of the page
 
+Quote Post
_Артём_
сообщение May 26 2012, 18:19
Сообщение #2


Гуру
******

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



Цитата(Nikkolaj @ May 26 2012, 21:12) *
Добрый день.
При отладке программы на AVR Studio, versia 4.19
команда wdr (watch dog reset) не обнуляет счётчик сторожевого таймера.


Где вы там нашли счётчик watchdog-а?
Отродясь его там не было?

Цитата(Nikkolaj @ May 26 2012, 21:12) *
Для отладки программы пришлось выключить сторожевой таймер.
Не подскажете, в чём может быть причина?

Тут главное вызывался ли сброс или нет.

PS Какой контроллер?
Go to the top of the page
 
+Quote Post
V_G
сообщение May 26 2012, 18:33
Сообщение #3


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

Группа: Свой
Сообщений: 1 818
Регистрация: 15-10-09
Из: Владивосток
Пользователь №: 52 955



Счетчик вочдога есть всегда, иначе чего сбрасывать?
Другое дело, что вочдог перед применением следует разрешить, и на разных процах эта процедура может быть разной.
Вочдог однозначно работает при отладке на фирменном эмуляторе. А вот про симулятор не помню, но вроде тоже работал
Go to the top of the page
 
+Quote Post
Nikkolaj
сообщение May 27 2012, 04:25
Сообщение #4


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

Группа: Участник
Сообщений: 147
Регистрация: 25-09-08
Пользователь №: 40 467




Цитата
Где вы там нашли счётчик watchdog-а?

В AVR Studio, в окне Processor есть Stop Watch именно он и не сбрасывается
по ассемблерной команде wdr.
В результате симулятор через определённое время делает Reset.

Цитата
PS Какой контроллер?

Контроллер ATmega16.

Цитата
Другое дело, что вочдог перед применением следует разрешить, и на разных процах эта процедура может быть разной.

Вочдог в программе конечно разрешён,
возможно его сброс нужно дополнительно разрешать какими то опциями в симуляторе?
Go to the top of the page
 
+Quote Post
_Артём_
сообщение May 27 2012, 04:39
Сообщение #5


Гуру
******

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



Цитата(Nikkolaj @ May 27 2012, 07:25) *
Processor есть Stop Watch именно он и не сбрасывается
по ассемблерной команде wdr.

Откуда дровишки?
В смысле что сбрасывается?

Цитата(Nikkolaj @ May 27 2012, 07:25) *
В результате симулятор через определённое время делает Reset.
Контроллер ATmega16.

Нет, это у вас почему-то в программу он не сбрасывается в отведённый период.

Цитата(Nikkolaj @ May 27 2012, 07:25) *
Вочдог в программе конечно разрешён,
возможно его сброс нужно дополнительно разрешать какими то опциями в симуляторе?

Не нужно. Он либо поддержан симулятором (в основном так и есть), либо нет (не встречалось такое).

Из help-а:
Цитата
Stop Watch
The stop watch is showing time used. This is a product of the cycle counter and the frequency. Right click on the value to reset the stopwatch and toggle between microseconds and milliseconds.



Go to the top of the page
 
+Quote Post
Nikkolaj
сообщение May 27 2012, 08:14
Сообщение #6


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

Группа: Участник
Сообщений: 147
Регистрация: 25-09-08
Пользователь №: 40 467



Согласен, действительно Stop Watch в окне Processor не имеет отношения к вотчдогу.
Тут я ошибся.

Но команда wdr всё равно не обнуляет счётчик сторожевого таймера.
Это я чётко вижу при симуляции программы.
Go to the top of the page
 
+Quote Post
_Артём_
сообщение May 27 2012, 08:41
Сообщение #7


Гуру
******

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



Цитата(Nikkolaj @ May 27 2012, 11:14) *
Но команда wdr всё равно не обнуляет счётчик сторожевого таймера.
Это я чётко вижу при симуляции программы.

Как вы это видите?
Программа сбрасывается?
WDRF установлен на старте?
Тогда проблема в программе скорей всего.
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение May 27 2012, 19:52
Сообщение #8


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

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



Цитата(Nikkolaj @ May 27 2012, 12:14) *
Это я чётко вижу при симуляции программы.

Смотрим на модель своего процессора , здесь Вы его не указали, лезем в HELP STUDIO раздел симмулятор и смотрим, а поддерживается ли симмулятором watshdog для Вашего проца.
Выходим из симмулятора и забываем его как кошмарный сон


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

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
GDI
сообщение May 28 2012, 07:54
Сообщение #9


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

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



Я просто отключал Watchdog при симуляции в студии. Ну не сбрасывается он и что с того? В железе то правильно работает. Если почитаете хэлп, как выше советовали, то много чего еще найдете что не работает и о чем честно предупреждают разработчики. Спокойней надо относиться к багам и фичам симулятора.


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post
Nikkolaj
сообщение May 29 2012, 10:34
Сообщение #10


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

Группа: Участник
Сообщений: 147
Регистрация: 25-09-08
Пользователь №: 40 467



В HELP STUDIO действительно указано что watshdog поддерживается не для всех контроллеров.
Правда, для моего ATmega16 написано что поддерживается.
Но это уже не имеет большого значения, попробовал программу в железе, она работает, это главное.
Будем считать что это баг симулятора, и следуя разумному совету от GDI, буду спокойнее к ним относится.
Спасибо всем за советы.

To ILYAUL.
Цитата
Выходим из симмулятора и забываем его как кошмарный сон

Хорошо, а чем пользуемся взамен симулятора?

Кстати, подскажите как Вы вставляете в текст цитаты.
Я щёлкаю по иконке цитата, затем копирую нужный текст, и вставляю его между двух quote.
При этом цитата получается без верхне заглавной строчки.

Go to the top of the page
 
+Quote Post
Navovvol
сообщение May 29 2012, 10:43
Сообщение #11


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

Группа: Участник
Сообщений: 105
Регистрация: 9-09-11
Пользователь №: 67 080



Возможно в железе вы не замечаете перезапуска программы.
Да и АВР Студию можно поновее поставить. Где хоть откапали этого динозавра ?
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение May 29 2012, 11:06
Сообщение #12


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

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



Цитата(Nikkolaj @ May 29 2012, 14:34) *
To ILYAUL.
Хорошо, а чем пользуемся взамен симулятора?

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

Цитата(Navovvol @ May 29 2012, 14:43) *
Возможно в железе вы не замечаете перезапуска программы.
Да и АВР Студию можно поновее поставить. Где хоть откапали этого динозавра ?

Отличная студия , глюков практически нет. А по новее это шестёрка и опыт подсказывает , что хоть типа и финал , но наверняка не финал.


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

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
Nikkolaj
сообщение May 29 2012, 11:46
Сообщение #13


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

Группа: Участник
Сообщений: 147
Регистрация: 25-09-08
Пользователь №: 40 467



Цитата
Возможно в железе вы не замечаете перезапуска программы.

Это исключено, при перезапусках она бы просто не работала.
Go to the top of the page
 
+Quote Post
Maik-vs
сообщение Jun 5 2012, 05:33
Сообщение #14


Местный
***

Группа: Участник
Сообщений: 246
Регистрация: 4-12-06
Пользователь №: 23 101



Там же два симулятора - simuator1 и simulator2. Вот первый и не поддерживает вочдога и много чего ещё. Выберите второй ( но он не позволяет внаглую менять биты в регистрах TWI, SPI и т.п.
Вообще-то не представляю, как симулировать wdog. Он работает асинхронно, медленно, поэтому может вылезти в любом месте программы, ну перестартует. Что там отлаживать? Поставьте точку выполнения на старт вручную - вот вам и wdog. Его надо просто выключать при отладке. Могучая конструкция #define debug - #ifdef debug ... переключит всё, что надо одной кнопкой.

Сообщение отредактировал Maik-vs - Jun 5 2012, 05:35
Go to the top of the page
 
+Quote Post

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

 


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


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