GALPAT RAM Test auch vom Stack?

Gast #3166514
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
Gast #3167747
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.
#3167774
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.
#3167820
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren