AVR RAM-Test und Interrupts

Gast #1221804
Hallo,

ich plane in meinem Controller(ATMega 32) einen Ram-Test zu verwenden.
Ich gehe folgendermaßen vor:

1. Sichere das Byte an erster RAM Adresse
2. Schreibe das Pattern 0x55 ins RAM
3. Lese dieses Pattern wieder aus dem RAM und prüfe auf gleichheit
4. Schreibe das Pattern 0xAA ins RAM
5. Lese dieses Pattern wieder aus dem RAM und prüfe auf gleichheit
6. Stelle ursprünglichen RAM Inhalt wieder her

Dieser Test wird in assembler codiert.

Bevor ich die Assembler Routine aus meinem C-Code ausführe disable ich 
die Interrupts und stelle sie anschließend wieder her.

Was passiert aber nun wenn genau ind er Zeit des RAM-Tests ein Interrupt 
z.B. von einem Timer ausgelöst wird. Wird dieser Interrupt gepuffert 
oder ist der dann verloren?

Markus
Gast
Hi

>ich plane in meinem Controller(ATMega 32) einen Ram-Test zu verwenden.

Wozu?

>2. Schreibe das Pattern 0x55 ins RAM
>3. Lese dieses Pattern wieder aus dem RAM und prüfe auf gleichheit
>4. Schreibe das Pattern 0xAA ins RAM

Etwa genau so sinnvoll wie kein Test. Dauert nur länger.

>Was passiert aber nun wenn genau ind er Zeit des RAM-Tests ein Interrupt
>z.B. von einem Timer ausgelöst wird. Wird dieser Interrupt gepuffert...

Ein Interrupt (pro Quelle) wird gespeichert. Mehrere gehen verloren.

MfG Spess
Gast
Bzgl. RAM-Test und anderer Prüfungen gibt es bei Atmel eine Application 
Note. Schaue dort einmal nach.

Wozu wird ein RAM Test überhaubt gebraucht ?

Hier fällt mir sofort folgendes ein, soll eine Software nach CLASS B 
(Z.B. EN 60335) erstellt werden, so sind zyklische Tests von RAM und 
andere µC Komponeneten zwingend erforderlich. NEC , Renesas , ST und 
andere (evtl. auch Atmel) bieten hierfür sogar kostenfrei 
(zertifizierte!) Bibliotheken an)
Gast
Hi

>Hier fällt mir sofort folgendes ein, soll eine Software nach CLASS B
>(Z.B. EN 60335) erstellt werden,...

Das lässt sich auf Grund der Fragestellung ausschliessen.

MfG spess

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.