|
Несанкционированый сброс отладчика в AVR Studio 4.16, Сброс при выполнении отладки на метку RESET |
|
|
|
Jan 2 2010, 18:32
|
Частый гость
 
Группа: Участник
Сообщений: 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 Что не приемлемо для меня по условию задачи.
Причина редактирования: Оформление кода
|
|
|
|
|
 |
Ответов
|
Jan 3 2010, 18:26
|
Частый гость
 
Группа: Участник
Сообщений: 79
Регистрация: 10-08-09
Пользователь №: 51 828

|
Спасибо за подсказку. Видимо мне действительно не хватает внимания - признаю. Иначе бы я здесь не был. Кстати вы не могли бы подсказать чем или как вы находите такие ошибки (применительно к AVR Studio) ведь в отладчике равнозначно работает команда "ldi" и "in" ОДИНАКОВО ПРАВИЛЬНО. Хотя правильно, конечно, ldi т.к. SREG регистр ввода-вывода как минимум, а не константа. Но я еще раз хочу подчеркнуть, что отладчику AVR Studio побарабану и работают две команды. В этом случае классический анализ загрузки, выгрузки - в, из РВВ не подходит. Может я чего то просто не знаю, существует ли автоматический метод обнаружения таких проблем в AVR Studio. Мой отладчик молчит, тупо пояснив мне, что "Assembly complete, 0 errors. 0 warnings". С уважением, Максим.
|
|
|
|
|
Jan 3 2010, 19:13
|
Знающий
   
Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640

|
Автоматически ничего не обнаружится - это ассемблер. Вдумчиво пройтись отладчиком - это значит после нажатия Ctrl+F7 открыть окошко "Proceccor", а в нём "Registers" и, нажимая кнопку F11, смотреть имеются ли различия в том, что должна была делать эта команда по задумке, и что происходит реально. И при этом, конечно, следить в т.ч. и за флагами в SREG, и за содержимым регистров и т.д. Перед тестовыми вызовами подпрограммы обработки прерывания заполнить (вручную) регистры (например, первый раз AA, второй 55, третий C3 и т.д.), SREG (тоже поразному) и ук-ль стека (можно одинаково). После возврата всё должно стать так-же.
И не экономте время на отладке. Написали кусочек, пока не забыли что зачем - сразу отладчиком его. В итоге кучу времени съэкономите. AVR-Studio для этого вполне нормальные возможности даёт. А понажимав как следует на F11, вы и код оптимальнее составлять начнёте. С этим у вас тоже проблеммы...
|
|
|
|
|
Jan 3 2010, 19:43
|
Частый гость
 
Группа: Участник
Сообщений: 79
Регистрация: 10-08-09
Пользователь №: 51 828

|
Может кините код какой нибудь взглянуть как надо работать? Кстати все это я сделал но все равно выкидывает из цикла основной программы
Сообщение отредактировал Omen_13 - Jan 3 2010, 22:11
Причина редактирования: Избыточное цитирование. Нарушение Правил п.3.4
|
|
|
|
Сообщений в этой теме
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   galjoen Там ещё глюки есть...
Но не надо добиваться чтобы ... Jan 3 2010, 21:14    MaksimYrievich galjoen
Ещё как пригодится!!! А как вы... Jan 3 2010, 22:48
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|