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

 
 
 
Reply to this topicStart new topic
> Прошивка работает только из под отладчика
Kruger69
сообщение Jul 31 2009, 17:26
Сообщение #1





Группа: Новичок
Сообщений: 10
Регистрация: 13-04-09
Пользователь №: 47 590



Здравствуйте. Нуждаюсь в Ваших советах, многоуважаемый, ALL
Написал программу. Процессор: AT91SAM7X. Отладил её с помощью j-link. Запустил тесты, час удачной работы: не разу не ушло ни в аборт никуда, все как и планировалось. Так вышло что тестирование происходило из под отладчика. Выключаю питание. Включаю. Естевственно плата начинает работу уже без отладчика. И происходит следующее: через 20 секунд происходит сброс, прошивка начинает работать с самого начала: снова происходит инициализация и прочее.
Запускаю ИАР, в настройках отладчика выставляю "Attach to program" (чтобы прошивка не обновлялась а отладчик просто verify существующую и начал работу с ней). В общем запускаю плату из под отладчика и все снова работает: хотя прошивку не менял все осталось прежним. Отключаю отладчик все по-старому.

Помогите понять, просто теоретически из-за чего может случаться такая ситуация??? Это учитывая ещё то что в программе нет сброса ни по собаке, ни пользовательского сброса, такое ощущение что как бы питание пропадает.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jul 31 2009, 17:33
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



По умолчанию WD сработает через 16 секунд, при работе под отладчиком он отключен.
Go to the top of the page
 
+Quote Post
Kruger69
сообщение Jul 31 2009, 17:49
Сообщение #3





Группа: Новичок
Сообщений: 10
Регистрация: 13-04-09
Пользователь №: 47 590



Спасибо, aaarrr, вы пиво пьете? Сколько? smile.gif
Дело решилось всего-лишь строчкой "AT91C_BASE_AIC->AIC_IDCR = 0xFFFFFFFF;"
А под отладчиком оно работало потому что в *.mac файле была строчка "Watchdog();" которая отключает его.
Спасибо. А я уже столько фантастических вариантов нафантазировал.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jul 31 2009, 20:06
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Kruger69 @ Jul 31 2009, 21:49) *
Спасибо, aaarrr, вы пиво пьете? Сколько? smile.gif

Не-а, не пью почти smile.gif Но за предложение спасибо.

Цитата(Kruger69 @ Jul 31 2009, 21:49) *
Дело решилось всего-лишь строчкой "AT91C_BASE_AIC->AIC_IDCR = 0xFFFFFFFF;"

Не очень понятно, как запрещение прерываний могло повлиять на сброс по WD. Отключается он так, если что:
Код
    *AT91C_WDTC_WDMR = AT91C_WDTC_WDDIS;
Go to the top of the page
 
+Quote Post
head_sk
сообщение Jul 31 2009, 20:07
Сообщение #5


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

Группа: Участник
Сообщений: 80
Регистрация: 3-07-09
Пользователь №: 50 897



Помню и сам таким страдал smile.gif)) Было по ярой молодости, когда писал программы ещё не зная толком архитектуры. В свое время именно этот баг заставил меня полностью разобраться во всей архитектуре изучаемого мною микроконтроллера.

Сообщение отредактировал head_sk - Jul 31 2009, 20:09
Go to the top of the page
 
+Quote Post
Kruger69
сообщение Jul 31 2009, 20:11
Сообщение #6





Группа: Новичок
Сообщений: 10
Регистрация: 13-04-09
Пользователь №: 47 590



Цитата(aaarrr @ Jul 31 2009, 23:06) *
Не очень понятно, как запрещение прерываний могло повлиять на сброс по WD.
Ой, то если честно когда писал пост не ту строчку с листинга программы скопировал. Извиняюсь.

З.Ы. Сам алкоголь не употребляю вообще
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jul 31 2009, 20:16
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Kruger69 @ Aug 1 2009, 00:11) *
Ой, то если честно когда писал пост не ту строчку с листинга программы скопировал. Извиняюсь.

Я почему-то так и подумал.

Цитата(Kruger69 @ Aug 1 2009, 00:11) *
З.Ы. Сам алкоголь не употребляю вообще

Это очень правильно smile.gif
Go to the top of the page
 
+Quote Post

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

 


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


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