Forum: Mikrocontroller und Digitale Elektronik GALPAT RAM Test auch vom Stack?


von Michael (Gast)


Lesenswert?

Hallo

Ich bin gerade dabei für eine sicherheitsrelevante Anwendung (SIL2) 
einen GALPAT RAM Test zu implementieren. Jetzt stellt sich die Frage, 
was mit dem Software Stack passieren soll. Mitprüfen ist nicht so 
einfach, weil hier ja temporäre Werte liegen, die auch während des RAM 
Tests entstehen. Aber gar nicht prüfen ist wohl auch nicht richtig. Hat 
jemand sowas schon mal gemacht?

Gruß + Danke

Michael

von Michael (Gast)


Lesenswert?

Der Link in der Anfrage ist NICHT von mir.
Wo immer das auch her kommt. Sorry

Michael

von Der (Gast)


Lesenswert?

Ich kenne den GALPAT RAM Test nicht und habe nichts auf die schnelle bei 
google gefunden...

Wenn du nur ein einzelnes Byte oder Wort testen musst, dann kannst du 
folgendermaßen den kompletten RAM prüfen, inklusive Stack. Du kopierst 
das einzelne Byte / Wort in ein Register und testet die Ramzelle. Danach 
kopierst du das Register wieder zurück auf die RAM-Zelle.
Davor solltest du natürlich die Interrupts sperren, damit eine 
Interruptfunktion nicht mit den Testwerten in der Ramzelle arbeitet.

von vom Dieter (Gast)


Lesenswert?

Der schrieb:
> Ich kenne den GALPAT RAM Test nicht und habe nichts auf die schnelle bei
>
> google gefunden...

"Einfach mal die Fresse halten?"

von Stefan R. (srand)


Lesenswert?

In der Regel wird der Stack nur auf Über- und Unterlauf geprüft.

Ein eigentlicher RAM-Test ist nicht möglich, weil die Werte 
hochdynamisch sind. Und aus eben diesem Grund auch gar nicht notwendig.

Falsche Parameter an eine Funktion erkennst du auf andere Arten, falsche 
Rücksprungadressen durch Ablaufkontrolle.

von Der (Gast)


Lesenswert?

vom Dieter schrieb:
> Der schrieb:
>> Ich kenne den GALPAT RAM Test nicht und habe nichts auf die schnelle bei
>> google gefunden...
>
> "Einfach mal die Fresse halten?"

Einfach mal richtig LESEN?

Der schrieb:
> Wenn du nur ein einzelnes Byte oder Wort testen musst, ...

von Peter D. (peda)


Lesenswert?

Michael schrieb:
> Jetzt stellt sich die Frage,
> was mit dem Software Stack passieren soll. Mitprüfen ist nicht so
> einfach, weil hier ja temporäre Werte liegen

Warum sollen sich nur Werte im Stack ändern?
Der gesamte RAM enthält Variablen, die sich jederzeit änderen können.
Man muß daher die gesamte Applikation wärend des Tests anhalten.

Um das zu umgehen braucht man mindestens 2 physisch separate 
RAM-Bausteine. Ein Baustein wird getestet, mit dem anderen wird 
gearbeitet. War der Test erfolgreich, werden die Daten umkopiert und der 
andere getestet.
Man braucht also die doppelte Menge an RAM, wie die Applikation.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.