|
Виж темите без отговор | Виж активните теми
Дата и час: Вто Юли 28, 2026 1:26 am
| Автор |
Съобщение |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
Ами много зависи каква грешка става, възможно е да има грешка в променлива в следствие смущения, ако променливата се пази на две места малко вероятно е и двете да са счупени еднакво, не невъзможно, защото съм виждал как три са счупени еднакво. Виждал съм и как CRC16 не открива грешка в няколко променливи, и случайноста е че и самото CRC се е счупило така че да бъде вярно, неща всякакви се случват.
Но като цяло записът в две променливи гарантира че ако продължи, грешката е софтуерна и няма как да с еоправи хардуерно, освен да се открие, ако изчезне може би е било смущение което пък значи че може и да се бутне още малко хардуера.
Дублирането на паметта е най-бързото решение, като бъро е в всяко едно значение, и акто време за имплементиране, и като време за изпълнение дори и при наличие на хардуерен CRC модул.
|
| Вто Фев 22, 2011 7:50 pm |
|
 |
|
optron
Ранг: Ориентиран
Регистриран на: Чет Ное 20, 2008 1:49 pm Мнения: 276 Местоположение: Бургас
|
Нали си се уверил, че не се оплитат ресетите на чипа ти? Например има ли случай, при който изпълнението на програмата ти да е по-дълго от периода на стража и той да го ресетва по средата на работата му? Тогава ще имаш стражеви ресет и софтуерът ще си мисли, че го събужда, а не е авариен рестарт. Тогава трябва периодично да нулираш стража, за да не го прави.
Ако си сигурен, че няма вариант при който програмата ти да се изпълнява по-дълго, отколкото е периода на стража, тогава огледай добре софтуера за зацикляне. Ако се случи да зацикли, тогава пак ще имаш лъжливо събуждане.
Едно флагче, което да се вдига непосредствено преди да заспи ще дава индикация за лъжливо събуждане. При рестарт от страна на стража, проверяваш си този флаг и ако е вдигнат, го сваляш и си вършиш работата, ако е свален, правиш авариен рестарт.
_________________ Digitally yours: Optron
|
| Вто Мар 15, 2011 12:45 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 3 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|