mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR RAM-Test und Interrupts


Autor: Markus Klein (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wird dieser Interrupt gepuffert

ja.
Wozu man einen RAM-Test braucht, ist mir ehrlich gesagt völlig 
schleierhaft.

Autor: spes53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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)

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.