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

 
 
> 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
Dog Pawlowa
сообщение Jan 4 2010, 16:15
Сообщение #9


Гуру
******

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



Цитата(zltigo @ Jan 4 2010, 18:53) *
Не катит smile.gif. Потом "из-за помех" точно-также будет болтаться в WD "бесконечно". Получаем неработоспособную вещь и без разницы, где она там "бесконечно болтается" sad.gif, главное, что по любому НЕ РАБОТАЕТ.

Катит, ибо разница есть. Прорвавшись в основную программу без запуска ВДТ, программа включит чего-нить такое, от чего станет кисло.
Я не фантазирую - на моем счету несколько прискорбных случаев из-за недостаточной защищенности от зависаний. Никого не убило, так... залило больничку... Всего-то открылся клапан воды.
Конечно, вероятность невелика, но она есть.


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


Гуру
******

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



Цитата(Dog Pawlowa @ Jan 4 2010, 19:15) *
Катит, ибо разница есть. Прорвавшись в основную программу без запуска ВДТ, программа включит чего-нить такое, от чего станет кисло.

Кусок сбоящего дерьма и после долей миллисекунды-секунды проведенных в startup ДОЛЖЕН будет часами-годами работать и тогда уж за это время гарантированно "включит чего-нить такое, от чего станет кисло" и WD не тявкнет даже. Да и за время срабатывания WD сошедший с ума по независящим от него причинам контроллер напахать может очень даже не мало - чай не арифмометр и команды быстро может выдавать.
Цитата(Dog Pawlowa @ Jan 4 2010, 19:15) *
Никого не убило, так... залило больничку... Всего-то открылся клапан воды.

В качестве оффтопика по защитам от зависаний.. Несколько лет назад один знакомый молодой человек подался, не от хорошей жизни, в эксплуатацию разных там сигнализаций. В том числе в сферу его обслуживания входило новейшее офисное здание. Копаясь в оборудовании он обнаружил два отключеных тумблера относящихся к пожарной сигнализации... Ну и включил. Раздалась сирена, голосовое оповещение о пожаре. Выключить сразу не удалось. Испугался, выскочил, но к счастью даже народ сидящий рядом в Кафе никак на это представление не реагировал и главное, вода нигде не лилась. При дальнейшем обследовании системы в одной из коморок обнаружился силовой щит на котором были отключены все автоматы двигателей приводящих в действие вентили пожарных трубопроводов. Но и это еще не все, как потом выяснилось, сами вентили имели и параллельный ручной привод, каждый из которых был аккуратно заклинен пожарным ломиком. А Вы говорите WD smile.gif smile.gif smile.gif


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


Гуру
******

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



Цитата(zltigo @ Jan 4 2010, 19:54) *
Кусок сбоящего дерьма

У нас есть "модифицированный рашпиль" для проверки. Не видел такой электроники, которая бы не превращалась в "кусок сбоящего дерьма" при проверках.
Я просто за то, что если есть возможность уменьшить потери, то лучше это сделать.
А вот из-за Вашей точки зрения Чернобыль и взорвался! wink.gif


--------------------
Уходя, оставьте свет...
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
||||- - 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
||- - demiurg_spb   Цитата(zltigo @ Jan 4 2010, 18:53) Еще ра...   Jan 6 2010, 10:41
||- - zltigo   Цитата(demiurg_spb @ Jan 6 2010, 13:41) Я...   Jan 6 2010, 12:09
||- - _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
||- - Dog Pawlowa   Цитата(zltigo @ Jan 6 2010, 15:09) очень ...   Jan 7 2010, 14:39
|- - 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 - 16:26
Рейтинг@Mail.ru


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