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

 
 
> Несанкционированый сброс отладчика в 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 2 2010, 22:11
Сообщение #2


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

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



Значит у вас не вываливается мой листинг программы говорите? Может быть AVR Studio переустановить? А куча разных глюков вываливается в окне MESSAGE? После нажатия кнопки DEBUG чтоли?

Цитата(MaksimYrievich @ Jan 3 2010, 00:59) *
Значит у вас не вываливается мой листинг программы говорите? Может быть AVR Studio переустановить? А куча разных глюков вываливается в окне MESSAGE? После нажатия кнопки DEBUG чтоли?

Я тоже вижу что не по ватчдогу - нет его в MCUCRе по приходу на ресет. Вот сижу и не могу въехать. Первый раз с таким столкнулся. Причем , могу сказать, что если при подходе счетчика ко времени 262ms плюс, минус там сколько то , сбросить WDE не на долго и установить, то далее программа движется без вылетов

Цитата(galjoen @ Jan 3 2010, 00:49) *
На мой взгляд что-то со стеком. В результате переход на неициализированную часть флеш...

Работу стека анализировал сбоев не обнаружено. Однако, сброс не осуществляется при отключенном ватчдоге 0<<WDE. Ход программы при 0<<WDE остается нормальным далеко за пределами 5 секунд.

Сообщение отредактировал rezident - Jan 2 2010, 22:39
Причина редактирования: Нарушение п.3.4 Правил форума.
Go to the top of the page
 
+Quote Post
galjoen
сообщение Jan 2 2010, 23:08
Сообщение #3


Знающий
****

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



Цитата(MaksimYrievich @ Jan 3 2010, 01:11) *
Вот сижу и не могу въехать.

Вначале нужно от глюков избавится. Типа таких:
Код
CLOCK:
            nop
            wdr
            rjmp    clock
            ldi        r16,    ClearDispl
            call    CommandDisplay

Тут на команду ldi никогда не попадём.

Про последовательность sei reti я уже писал. Какой смысл тут в sei?
Одно это может к такому результату привести. Сразу после reti будет новое прерывание и ни одной команды из цикла CLOCK выполнено не будет. Ватчдог не сбросится.
Команду reti именно из-за этого и придумали. Чтобы хоть одна команда между двумя прерываниями выполнилась.
А так бы она не нужна была. Достаточно было бы
Код
     sei
     ret

написать.

Ну и множество других подобных глюков...
Go to the top of the page
 
+Quote Post
MaksimYrievich
сообщение Jan 3 2010, 00:20
Сообщение #4


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

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



В приведенном мной листинге программа специально зациклена для исключения ошибок в стеке просто для простоты понимания проблемы. В реальной программе конечно такой строки нет "rjmp CLOCK".
И действительно, SEI в прерывании ставить нельзя... Ситуация поправлена в исходниках спасибо за подсказку, но проблема то с вылетом остается !


У меня вылетает еще некое сообщение смысл которого я не могу разобрать - "Target not Ready". У вас есть такое? Может знаете что оно значит?

Сообщение об ошибке. Что это значит?
Причина редактирования: Бездумное цитирование

Прикрепленные файлы
Прикрепленный файл  __________10.rar ( 96.11 килобайт ) Кол-во скачиваний: 15
 
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
|- - galjoen   Цитата(MaksimYrievich @ Jan 3 2010, 03:20...   Jan 3 2010, 16:38
- - MaksimYrievich   Спасибо за подсказку. Видимо мне действительно не ...   Jan 3 2010, 18:26
- - galjoen   Автоматически ничего не обнаружится - это ассембле...   Jan 3 2010, 19:13
- - 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 Текстовая версия Сейчас: 20th July 2025 - 07:03
Рейтинг@Mail.ru


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