Re: watchdog - pytanie ?



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: Grzegorz Redlarski <gred_at_nospam_kki.net.pl>
Subject: Re: watchdog - pytanie ?
Date: Mon, 01 Oct 2001 01:50:24 +0200


Thu, 20 Sep 2001 17:54:44 +0200 "stavi" <stavi_at_nospam_zeus.polsl.gliwice.pl>
napisal(a):

2. Podczas startu sprawdza zawartośc tej komórki. Jesli jest tam 1234 to
gorący restart, jeśli jakieś śmieci to zimny.

hmm... właśnie zachwyt minął. nie miałem okazji tego jeszcze przetestować w
praktyce, ale uświadomiłem sobie, że piszę w C :) i kompilator sam mi
dorzuca śmieci do programu związane z inicjalizacją pamięci. I teraz nie
wiem, czy uda mi się to wyłączyć (: ?!
A używam Archimedesa. Ta nazwa nie była jeszcze na grupie poruszona ani
razu. Jeśli ktoś wie jak w nim wyłączyć dołączanie kodu do zerowania
zmiennych to będę wdzięczny za wskazówkę.

Archimedes, czyli poprzednik IAR-a? A moze niezaleznie rozwija sie
dalej? Z ktorego roku jest program? (BTW, ta nazwa z pewnoscia sie tu
pojawila :-) ).
Tak pytam, bo mam gdzies helpa do jakiegos dosc wczesnego IAR-a, ktory
byl bardzo podobny do Archimedesa (obecnie sporo sie zmienilo, ale i
podobienstw troche tez zostalo). W tym helpie AFAIR byl opisany modul
cstartup i jak go podmienic w bibliotece. M.in. robilem to kiedys po
to, by wylaczyc zerowanie zmiennych (mozna tez stosowac deklaracje
noinit ale to juz inna sprawa).
Jesli masz Archimedesa, to powinien byc do niego dolaczony program
zrodlowy CSTARTUP.S03 .
Wylaczenie zerowania zmiennych nie powinno byc problemem, nawet majac
tylko kod wynikowy. We wspomnianym pliku jest dokładnie opisane co
należy wyciąć (lub wy-NOP-ować w binarce).

Jeśli chodzi o Twoje pytanie, to ja to robię podobnie jak to napisał
SpeedBit. Wpisuję jakieś słowo kontrolne i sprawdzam jego poprawność.
Ponadto, zmienne informujące o "stanie programu" (cos w rodzaju
zmiennych w algorytmach drabinkowych), przechowywane sa z kopiami
(zanegowanymi) lub objete sa suma kontrolna. Jesli cos sie nie zgadza,
to sorry, ale zimny restart...

Ponadto, czasem korzystam z "timera" zaniku napiecia zasilajacego
wykorzystując komparator z kosci MAX691A. Jak program pracuje, to
doladowuje kondensator 100 uF, a po restarcie sprawdzam czy sie nie
rozladowal. Chodzi o rozroznienie krotkotrwalego (t < 4 s) zaniku
napiecia od celowego wylaczenia zasilania. W tym czasie RAM zewnetrzny
tez jest podtrzymywany kondensatorem.

Jesli na pokladzie jest RTC (i bateria lub DLC 1F), to sprawa wyglada
troche inaczej, ale tu chyba wiadomo co z tym mozna zrobic.

gr


Poprzedni Następny
Wiadomość
Spis treści
From: "stavi" <stavi_at_nospam_zeus.polsl.gliwice.pl>
Subject: Re: watchdog - pytanie ?
Date: Mon, 1 Oct 2001 13:05:37 +0200


Archimedes, czyli poprzednik IAR-a? A moze niezaleznie rozwija sie
dalej? Z ktorego roku jest program? (BTW, ta nazwa z pewnoscia sie tu

nie mam pojęcia, a z którego roku to teraz nie sprawdzę. Jak nie zapomnę to
zobaczę w domu.

Tak pytam, bo mam gdzies helpa do jakiegos dosc wczesnego IAR-a, ktory
byl bardzo podobny do Archimedesa (obecnie sporo sie zmienilo, ale i
podobienstw troche tez zostalo). W tym helpie AFAIR byl opisany modul
cstartup i jak go podmienic w bibliotece. M.in. robilem to kiedys po

możesz podesłać ?

to, by wylaczyc zerowanie zmiennych (mozna tez stosowac deklaracje
noinit ale to juz inna sprawa).

miałem to sprawdzić, ale musiałem remont (z)robić.

Jesli masz Archimedesa, to powinien byc do niego dolaczony program
zrodlowy CSTARTUP.S03 .
Wylaczenie zerowania zmiennych nie powinno byc problemem, nawet majac
tylko kod wynikowy. We wspomnianym pliku jest dokładnie opisane co
należy wyciąć (lub wy-NOP-ować w binarce).

Jeśli chodzi o Twoje pytanie, to ja to robię podobnie jak to napisał
SpeedBit. Wpisuję jakieś słowo kontrolne i sprawdzam jego poprawność.
Ponadto, zmienne informujące o "stanie programu" (cos w rodzaju
zmiennych w algorytmach drabinkowych), przechowywane sa z kopiami
(zanegowanymi) lub objete sa suma kontrolna. Jesli cos sie nie zgadza,

warto zapamiętać !

to sorry, ale zimny restart...

Jesli na pokladzie jest RTC (i bateria lub DLC 1F), to sprawa wyglada
troche inaczej, ale tu chyba wiadomo co z tym mozna zrobic.

nie wiadomo ?


gr




Poprzedni Następny
Wiadomość
Spis treści
From: Grzegorz Redlarski <gred_at_nospam_kki.net.pl>
Subject: Re: watchdog - pytanie ?
Date: Tue, 02 Oct 2001 01:19:04 +0200


On Mon, 1 Oct 2001 13:05:37 +0200, "stavi"
<stavi_at_nospam_zeus.polsl.gliwice.pl> wrote:

Tak pytam, bo mam gdzies helpa do jakiegos dosc wczesnego IAR-a, ktory
byl bardzo podobny do Archimedesa (obecnie sporo sie zmienilo, ale i
podobienstw troche tez zostalo). W tym helpie AFAIR byl opisany modul
cstartup i jak go podmienic w bibliotece. M.in. robilem to kiedys po

możesz podesłać ?

W krotce pojdzie na priv.

Jesli na pokladzie jest RTC (i bateria lub DLC 1F), to sprawa wyglada
troche inaczej, ale tu chyba wiadomo co z tym mozna zrobic.

nie wiadomo ?

Mozliwosci jest duzo. Np. RAM w RTC mozna wykorzystac do
przechowywania stanu. W tym mozna zapisywac kiedy ostatni raz
przebiegalismy petle programu. Jesli uplynelo zbyt duzo czasu, to
nalezy domniemywac, ze procesor mial wylaczone zasilanie.

gr