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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.