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

 
 
> Несанкционированый сброс отладчика в AVR Studio 4.16, Сброс при выполнении отладки на метку RESET
MaksimYrievich
сообщение Jan 2 2010, 18:32
Сообщение #1


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

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



Здравствуйте! Меня зовут Максим. Всеръез занимаюсь программированием. Может есть кто специалисты. Подскажите пожалуйста. Я пишу программу в AVR Studio на ассемблере. Программирую AtMega32. Так вот не могу понять почему при отладке программы - в дебаг режиме происходит сброс программы на метку RESET через определенные промежутки времени (262,14ms)? МОЖЕТ КТО ВСТРЕЧАЛ ТАКУЮ ПРОБЛЕМУ?

P.S. Причем команда WDR расставлена по листингу самой программы через каждые два шага, Со стеком программа работает корректно. Мной ошибки не выявлены. Если кто заинтересовался прикрепляю листинг своей программы (хотя , конечно не все поймут ее содержимое, просто на всякий случай). (Содержимое из файла копируется в созданный в AVR Studio 4.16 проект на AtMega32 8.00 мегагерц. Втыкаете листинг в проект и можно переходить в режим отладки).

Никогда ранее не сталкивался с проблемами непроизвольного сброса отладчика в AVR Studio 4.16. И не могу понять по какому событию в WatchDoge происходит сброс выполнения програмы. Инициализирую WatchDog в программе так:

Код
wdr
ldi       r16,       15       ; Или 0b00001111 в двоичном виде "Сброс через около 2 сек"
out      WDTCR,  r16
wdr

и все через 262,14ms выполнения программы я снова на метке RESET. Если сбрасываю WDE то программа выполняется без проблем строго следуя операторам вызова подпрограмм и возврата из них. НО С НЕИНИЦИАЛИЗИРОВАННЫМ WATCHDOGOM Что не приемлемо для меня по условию задачи.
Причина редактирования: Оформление кода

Прикрепленные файлы
Прикрепленный файл  ph_controller_m16.rar ( 16.91 килобайт ) Кол-во скачиваний: 19
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
MaksimYrievich
сообщение Jan 3 2010, 18:26
Сообщение #2


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

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



Спасибо за подсказку. Видимо мне действительно не хватает внимания - признаю. Иначе бы я здесь не был. Кстати вы не могли бы подсказать чем или как вы находите такие ошибки (применительно к AVR Studio) ведь в отладчике равнозначно работает команда "ldi" и "in" ОДИНАКОВО ПРАВИЛЬНО. Хотя правильно, конечно, ldi т.к. SREG регистр ввода-вывода как минимум, а не константа. Но я еще раз хочу подчеркнуть, что отладчику AVR Studio побарабану и работают две команды. В этом случае классический анализ загрузки, выгрузки - в, из РВВ не подходит. Может я чего то просто не знаю, существует ли автоматический метод обнаружения таких проблем в AVR Studio. Мой отладчик молчит, тупо пояснив мне, что "Assembly complete, 0 errors. 0 warnings".
С уважением, Максим.
Go to the top of the page
 
+Quote Post
galjoen
сообщение Jan 3 2010, 19:13
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Автоматически ничего не обнаружится - это ассемблер.
Вдумчиво пройтись отладчиком - это значит после нажатия Ctrl+F7 открыть окошко "Proceccor", а в нём "Registers" и, нажимая кнопку F11, смотреть имеются ли различия в том, что должна была делать эта команда по задумке, и что происходит реально. И при этом, конечно, следить в т.ч. и за флагами в SREG, и за содержимым регистров и т.д.
Перед тестовыми вызовами подпрограммы обработки прерывания заполнить (вручную) регистры (например, первый раз AA, второй 55, третий C3 и т.д.), SREG (тоже поразному) и ук-ль стека (можно одинаково). После возврата всё должно стать так-же.

И не экономте время на отладке. Написали кусочек, пока не забыли что зачем - сразу отладчиком его. В итоге кучу времени съэкономите. AVR-Studio для этого вполне нормальные возможности даёт.
А понажимав как следует на F11, вы и код оптимальнее составлять начнёте. С этим у вас тоже проблеммы...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- MaksimYrievich   Несанкционированый сброс отладчика в AVR Studio 4.16   Jan 2 2010, 18:32
- - galjoen   Цитата(MaksimYrievich @ Jan 2 2010, 21:32...   Jan 2 2010, 19:52
- - MaksimYrievich   Интересно, а в каком датасшите написано про это? И...   Jan 2 2010, 20:06
|- - galjoen   В любом даташите на AVR, в разделе про ватчдог. Бо...   Jan 2 2010, 20:18
- - MaksimYrievich   Цитата; ***** WATCHDOG ********************* ; WDT...   Jan 2 2010, 20:33
|- - galjoen   Цитата(MaksimYrievich @ Jan 2 2010, 23:22...   Jan 2 2010, 20:34
- - MaksimYrievich   Попробовал но ни к чему не привело все равно выкид...   Jan 2 2010, 20:45
|- - galjoen   Цитата(MaksimYrievich @ Jan 2 2010, 23:45...   Jan 2 2010, 20:53
- - MaksimYrievich   Сейчас попробуем!? Ничего не изменилось. Я в...   Jan 2 2010, 21:30
|- - galjoen   Цитата(MaksimYrievich @ Jan 3 2010, 00:30...   Jan 2 2010, 21:49
- - MaksimYrievich   Значит у вас не вываливается мой листинг программы...   Jan 2 2010, 22:11
|- - galjoen   Цитата(MaksimYrievich @ Jan 3 2010, 01:11...   Jan 2 2010, 23:08
|- - MaksimYrievich   В приведенном мной листинге программа специально з...   Jan 3 2010, 00:20
|- - galjoen   Цитата(MaksimYrievich @ Jan 3 2010, 03:20...   Jan 3 2010, 16:38
- - MaksimYrievich   Может кините код какой нибудь взглянуть как надо р...   Jan 3 2010, 19:43
- - galjoen   Там ещё глюки есть... Но не надо добиваться чтобы ...   Jan 3 2010, 21:14
- - MaksimYrievich   galjoen Ещё как пригодится!!! А как вы...   Jan 3 2010, 22:48


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

 


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


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