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

 
 
> IAR EWAVR v5.30.6 и WDT, таймаут WDT до main (длинная инициализация)
ivainc1789
сообщение Dec 14 2009, 13:42
Сообщение #1


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

Группа: Свой
Сообщений: 1 175
Регистрация: 5-01-05
Пользователь №: 1 807



Размер программы в ATmega324P превысил 15 kB и с некоторых пор попытки запрограммировать fuse WDTON безуспешны: программа не стартует. С незапрограммированным все нормально работает. Скорее всего случается таймаут WDT на полпути к main. C такой ситуацией столкнулся впервые и прошу подсказать как ее грамотно преодолеть в IAR? Как получить доступ к коду инициализации, чтобы одной из первых инструкций вставить обращение к переинициализации WDT?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Xenia
сообщение Jan 3 2010, 08:50
Сообщение #2


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Зачем было включать WDTON на фузах? Задача решается гораздо проще, если этот фуз не включать, а watch dog включить программно в cамом начале main(). Тогда, каким бы ни был продолжительным по времени setup(), watch dog работает нормально. А на сетапе прога не застрянет - он умными людьми писан smile.gif.
P.S. Пока я не прочла эту тему, то думала, что все делают так, как я.
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Jan 3 2010, 20:59
Сообщение #3


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(Xenia @ Jan 3 2010, 11:50) *
А на сетапе прога не застрянет - он умными людьми писан smile.gif
Количество ума не влияет на это никак. Если произошёл сбой хода выполнения программы из-за сбоя аппаратных средств (а память и регистры тоже являются таковыми), то при отключенном WDT можно и на startup загнуться.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
Xenia
сообщение Jan 4 2010, 03:41
Сообщение #4


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(demiurg_spb @ Jan 3 2010, 23:59) *
Если произошёл сбой хода выполнения программы из-за сбоя аппаратных средств (а память и регистры тоже являются таковыми), то при отключенном WDT можно и на startup загнуться.


Перед смертью не надышишься - если у вас память и регистры сбоят, то watch dog вам не поможет. Даже лучше будет, если такой дерьмовый проц не запустится, чем если он начнет что-то делать с такими регистрами и памятью. Дурью, господа, маетесь. стараясь запустить проц, который не может пройти setup без ошибок.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 4 2010, 08:35
Сообщение #5


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Xenia @ Jan 4 2010, 05:41) *
Дурью, господа, маетесь. стараясь запустить проц, который не может пройти setup без ошибок.
Давайте не будем столь категорично оценивать друг друга. Ведь зачем-то этот фуз вставили в процессор? Значит есть такие задачи, где WDT должен быть включен при исполнении стартапа.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jan 4 2010, 10:21
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Сергей Борщ @ Jan 4 2010, 11:35) *
Значит есть такие задачи, где WDT должен быть включен при исполнении стартапа.

Возможно. Назовешь, хоть одну? Типа отлаживались без WD медленно и печально а потом fuse включили (главное не забыть) и отдали в серию? Но тут startup ни причем.... У меня до сих пор фантазии как-то не хватило и включаю WD ручками, если включаю. Если вдруг должен будет включен во время startup, то там не только проинициализирую, но и включу. Позицию разработчиков некоторых контроллеров, которые по reset всегда WD включают и дают потом возможность один раз отключить или перенастроить я еще понимаю, но зачем разновариантность вводить-то?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Jan 4 2010, 11:11
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(zltigo @ Jan 4 2010, 13:21) *
Назовешь, хоть одну?

Да элементарно.
Из-за помех контроллер болтается в стартапе бесконечно, или, если такая версия не устраивает, поболтавшись там, улетает в бесконечный цикл в основной программе, минуя включение WDT.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jan 4 2010, 15:53
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Dog Pawlowa @ Jan 4 2010, 14:11) *
Из-за помех контроллер болтается в стартапе бесконечно....

Не катит smile.gif. Потом "из-за помех" точно-также будет болтаться в WD "бесконечно". Получаем неработоспособную вещь и без разницы, где она там "бесконечно болтается" sad.gif, главное, что по любому НЕ РАБОТАЕТ.

Цитата(Сергей Борщ @ Jan 4 2010, 13:50) *
Даже ты допускаешь возможность их существования.

Ну после того, как даже от тебя ответа не получил smile.gif вероятность существования сколь-нибудь разумных причин для меня еще уменьшилась.


Цитата(demiurg_spb @ Jan 4 2010, 18:23) *
К Вашему сведению, помеха обычно просто искажает данные в ячейках памяти а не сами ячейки.

Еще раз и помедленнее, что такое "искажает сами ячейки"?

Цитата(demiurg_spb @ Jan 4 2010, 18:23) *
И я включаю WDT фьюзм, ибо мои приборы и проекты используются не только в гражданских целях.

Круто! Несчастные потребители получают "приборы" выживающие только за счет WD. А туда еще добавить много много еще сбитых ячеек памяти НЕ приведут к срабатыванию WD, но к "глюкам".... А как-же вообще разработчики на других плаформах НЕ имеющих дивного фьюза, как класс, разрабатывают свои изделия?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Jan 6 2010, 10:41
Сообщение #9


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(zltigo @ Jan 4 2010, 18:53) *
Еще раз и помедленнее, что такое "искажает сами ячейки"?
Это значит, что помеха искажает содержимое ячейки памяти (был 0 стал 1 и наоборот), а сама ячейка _физически_ остаётся исправной.
Ну и упёртый народsmile.gif Я вот не пойму даже с чем Вы спорите?
С включенным через fuse wdt контроллер не проводит фактически времени без неусыпного взгляда собаки, а с отключенным проводит.
Мало, но проводит. Да шанс мал словить грабли за это время, но он ЕСТЬ. Так зачем же сознательно закладывать это шанс?
И, к вопросу: "А если нет встроенного wdt?" - мой ответ: ставить однозначно внешний! И это не религиозные соображения.
Не следует пренебрегать благами прогресса, мы ведь с вами не аскеты и не секта.
В конце концов, мы давно не считаем на логарифмической линейке, а используем по большей части компьютерsmile.gif


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jan 6 2010, 12:09
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(demiurg_spb @ Jan 6 2010, 13:41) *
Я вот не пойму даже с чем Вы спорите?

Но тем не менее пытаетесь рассказывать, как "надо трясти пальму" sad.gif. WD это есть последний. САМЫЙ последний шанс за живучесть. Причем далеко не всегда однозначно безболезненно применимый и всенепременно пользоваться этим шансом на первых микросекундах полета совершенно не обязательно. Как впрочем, как и вообще пользоваться WD - меня, например, ну очень расстроит переферийный контроллер втихаря перезапустившийся по собственному WD и забывший все, что ему приказывали делать.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Jan 7 2010, 14:39
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(zltigo @ Jan 6 2010, 15:09) *
очень расстроит переферийный контроллер втихаря перезапустившийся

Ну, причина сброса может быть обработана.
Разница наших подходов в общем-то понятна - у меня контроллер моторчика или нескольких помп/клапанов, а у Вас коммуникационный контроллер, обвешанный защищенными интерфейсами.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- ivainc1789   IAR EWAVR v5.30.6 и WDT   Dec 14 2009, 13:42
- - Сергей Борщ   Цитата(ivainc1789 @ Dec 14 2009, 15:42) к...   Dec 14 2009, 13:50
- - ivainc1789   Насколько я понял, для решения задачи нужно создат...   Dec 14 2009, 15:42
|- - mdmitry   Цитата(ivainc1789 @ Dec 14 2009, 18:42) Н...   Dec 14 2009, 16:06
|- - Сергей Борщ   Цитата(ivainc1789 @ Dec 14 2009, 17:42) Н...   Dec 14 2009, 16:24
- - ivainc1789   Большое спасибо, это совсем другое дело! Правд...   Dec 14 2009, 16:49
- - VladislavS   Инициализационные код в IAR-вских библиотеках дост...   Jan 3 2010, 07:09
|- - ivainc1789   Цитата(VladislavS @ Jan 3 2010, 10:09) Ск...   Jan 3 2010, 21:58
||- - Xenia   Цитата(Сергей Борщ @ Jan 4 2010, 11:35) В...   Jan 4 2010, 09:12
|||- - Сергей Борщ   Цитата(Xenia @ Jan 4 2010, 11:12) Очень в...   Jan 4 2010, 09:50
||- - Сергей Борщ   Цитата(zltigo @ Jan 4 2010, 12:21) Возмож...   Jan 4 2010, 10:50
||- - Dog Pawlowa   Цитата(zltigo @ Jan 4 2010, 18:53) Не кат...   Jan 4 2010, 16:15
|||- - zltigo   Цитата(Dog Pawlowa @ Jan 4 2010, 19:15) К...   Jan 4 2010, 16:54
||||- - Dog Pawlowa   Цитата(zltigo @ Jan 4 2010, 19:54) Кусок ...   Jan 4 2010, 17:08
||||- - zltigo   Цитата(Dog Pawlowa @ Jan 4 2010, 20:08) А...   Jan 4 2010, 17:12
|||- - rezident   Цитата(Dog Pawlowa @ Jan 4 2010, 21:15) К...   Jan 4 2010, 18:05
|||- - Dog Pawlowa   Цитата(rezident @ Jan 4 2010, 22:05) как ...   Jan 5 2010, 08:07
||- - _Pasha   Цитата(zltigo @ Jan 6 2010, 16:09) меня, ...   Jan 6 2010, 15:18
|||- - zltigo   Цитата(_Pasha @ Jan 6 2010, 18:18) Надо ф...   Jan 6 2010, 16:44
||- - demiurg_spb   Цитата(zltigo @ Jan 6 2010, 15:09) Но тем...   Jan 6 2010, 18:42
|||- - zltigo   Цитата(demiurg_spb @ Jan 6 2010, 21:42) А...   Jan 6 2010, 19:00
|||- - ivainc1789   Цитата(zltigo @ Jan 6 2010, 22:00) Это не...   Jan 7 2010, 00:13
|- - demiurg_spb   Цитата(Xenia @ Jan 4 2010, 06:41) Перед с...   Jan 4 2010, 15:23
- - _Pasha   Никогда не стартовал с отключенной собакой. Никогд...   Jan 6 2010, 07:14
|- - zltigo   Цитата(_Pasha @ Jan 6 2010, 10:14) Наверн...   Jan 6 2010, 08:36
- - Xenia   А может дело в том, что сам setup слишком долог? М...   Jan 6 2010, 16:58
- - rezident   Цитата(Xenia @ Jan 6 2010, 21:58) А может...   Jan 6 2010, 17:43


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

 


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


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