Семин 0 25 июня, 2013 Опубликовано 25 июня, 2013 · Жалоба Когда-то специально дал процессору несуществующую команду, хотел посмотреть что получится. Собака не помогла, только общий сброс. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 25 июня, 2013 Опубликовано 25 июня, 2013 · Жалоба Непредусмотренное стечение обстоятельств потому так и называется, что его невозможно предусмотреть. Мне кажется что непредусмотренное стечение обстоятельств это как раз такое стечение обстоятельств которое забыл или не смог предусмотреть программист. А для обстоятельств которые предусмотреть невозможно должно быть другое определение. Именно из-за таких программистов потерян был "Фобос-грунт". После сеанса связи станция осталась ориентированной на Землю, бесконечно ждала сигнала "конец связи", который оператор просто забыл выдать. А гениальная программа не следила в это время за состоянием бортовых батарей. Если это действительно так, то именно из за непредусмотренной ситуации это и произошло. "Абсолютно любое" поведение датчиков не знают даже их разработчики. Чтобы это поведение не приводило к зависанию программы существует сторожевой таймер. Сторожевой таймер существует не для предотвращения зависания а для выхода из оного. Что поделать, слаб человек: и на МКС бортовые ЭВМ, бывает, зависают. Да что там далеко ходить, даже в уютном восьмибитном мирке не все справляются. Давайте не будем трогать MKC,windows и т.д. а только восьмибитный мирок (согласно ветке форума) А если Вы полагаете, что "полностью представляете все реально происходящие процессы", значит, надо или переходить к более сложным процессам, или отказываться от иллюзий :) Вот в этом и пытаюсь разобраться. У добросовестно написанной программы, занимающейся, условно говоря, управлением светодиодом от кнопки - возможно; в объемной и разветвленной системе, активно взаимодействующей с внешним миром, Дайте критерий программы активно взаимодействующей с внешним миром. Программа анализирующая кнопку и управляющая светодиодом тоже считает себя активно взаимодействующей с внешним миром. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
toweroff 1 25 июня, 2013 Опубликовано 25 июня, 2013 · Жалоба Когда-то специально дал процессору несуществующую команду, хотел посмотреть что получится. Собака не помогла, только общий сброс. так если нет Undefined exception, с чего бы собаке виснуть? проц как распознал, так и выполнил, а прерывание таймера как работало, так и работает. Собака обновляется - значит и сброса нет Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Егоров 0 25 июня, 2013 Опубликовано 25 июня, 2013 · Жалоба Давайте не будем трогать MKC,windows и т.д. а только восьмибитный мирок (согласно ветке форума) Вы, похоже, плохо знаете восьмибитный мирок. "Пионер" уже ушел за пределы Солнечной системы, облетел несколько планет, открыл несколько спутников, передал массу хороших цветных фотографий, выполнил сложнейшие баллистические расчеты по маневрированию и ориентации. Так там 8-битный бортовой процессор и ..аж 8 кбайт памяти на все. И не завис за 30 лет. Сейчас не каждый программист успеет на этом два светодиода зажечь. Ладно, Вы имеете свою точку зрения на все проблемы, оставайтесь на ней. Важно, что другие люди других предупредили. Кому-то это будет повод для размышлений. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Herz 5 25 июня, 2013 Опубликовано 25 июня, 2013 · Жалоба Т.е программисту который полностью представляет все реально происходящие процессы WDT не нужен. В период обучения азам встречал у Микрочипа очень красивый пример с использованием WDT для вполне реальной задачи. Просто для переключения светодиодов. Можно было бы решить "её в лоб", но это слишком банально. А было продемонстрировано, как изящно может её решить настоящий программист. Сейчас лень искать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
artemkad 55 25 июня, 2013 Опубликовано 25 июня, 2013 · Жалоба Неужели в пять команд вместе с включением WDT ;) ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
stells 9 25 июня, 2013 Опубликовано 25 июня, 2013 · Жалоба После сеанса связи станция осталась ориентированной на Землю, бесконечно ждала сигнала "конец связи", который оператор просто забыл выдать. А гениальная программа не следила в это время за состоянием бортовых батарей. Они сели и станция замерзла. так это значит не была предусмотрена защита от полного разряда... а так вообще-то станция должна постоянно передавать свою телеметрию Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
artemkad 55 25 июня, 2013 Опубликовано 25 июня, 2013 · Жалоба Она и передавала, но ушла за горизонт, а там принимать было некому. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 25 июня, 2013 Опубликовано 25 июня, 2013 · Жалоба Так там 8-битный бортовой процессор и ..аж 8 кбайт памяти на все. И не завис за 30 лет. Интересно, а есть ли в той системе WDT и если есть то сколько раз срабатывал за 30 лет? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
artemkad 55 25 июня, 2013 Опубликовано 25 июня, 2013 · Жалоба Вообще-то срабатывание WDT для работы устройство должно быть мало заметно. А в космической технике это переход в "безопасный режим" в который эта техника падает почти по каждому чиху. Без этого режима Пионер проходя через радиационные пояса Юпитера просто бы не выжил. А так отделался только потерей данных. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 25 июня, 2013 Опубликовано 25 июня, 2013 · Жалоба проходя через радиационные пояса Опять радиация. Согласен, влияние оной действительно предвидеть невозможно. Получается что всё упирается только в радиацию? поскольку её влияние мы исключить полностью не можем нужно обязательно использовать WDT? А что если эта самая радиация "убьёт" и WDT? Зависнем навсегда? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
stells 9 26 июня, 2013 Опубликовано 26 июня, 2013 · Жалоба Получается что всё упирается только в радиацию? мы выпускаем радиометры для исследования урановых скважин, интенсивности попадаются до 20000мкР, применяю 8-битные AVR, WDT не использую Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
artemkad 55 26 июня, 2013 Опубликовано 26 июня, 2013 · Жалоба Получается что всё упирается только в радиацию? поскольку её влияние мы исключить полностью не можем нужно обязательно использовать WDT? Нет, Всё упирается в наличие человека. WDT обязателен если устройство должно работать продолжительное время без отключения и нажатия на кнопку Reset. Ну и конечно чем сложнее программа тем опаснее сбой - в простых программах сбои незаметнее. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 26 июня, 2013 Опубликовано 26 июня, 2013 · Жалоба мы выпускаем радиометры для исследования урановых скважин, интенсивности попадаются до 20000мкР, применяю 8-битные AVR, WDT не использую На чём пишете программы для этих радиометров? ... продолжительное время ... чем сложнее программа ... очень растяжимые понятия Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
stells 9 26 июня, 2013 Опубликовано 26 июня, 2013 · Жалоба На чём пишете программы для этих радиометров? ассемблер... а какая разница? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться