Flash-Diagnose

Gast #127854
Hallo,

ich verwende einen ATMega88 und möchte beim Start des Programms eine
Flash-Diagnose durchführen. Hierzu habe ich mir eine Routine
geschrieben, welche mir den Speicherinhalt des Flashs von Adresse
0000-1FFD aufsummiert (arithmetische Summe, 2Byte). Der verwendete
IAR-Linker erzeugt mir ebenfalls eine entsprechende Summe des obigen
Speicherbereichs und legt diese am Ende des Flash (1FFE-1FFF) ab.
Leider unterscheiden sich die beiden Summen. Klar, es kann sein, dass
tatsächlich ein Defekt vorliegt, aber vielleicht habe ich auch einen
Denkfehler gemacht.

Meine Routine habe ich als Anhang beigefügt.

Sieht hier jemand einen Fehler oder habe ich das Thema gar komplett
versiebt.

Danke für eure Bemühungen.

Gruß
Ralf
Angehängte Dateien:
Gast
Ok, ich weiß jetzt, dass es mit den Breakpoints des AVRStudio
zusammenhängt. Diese werden wohl beim Debugging im Flash abgelegt. Ich
gehe mal davon aus, dass man dies nicht umgehen kann. Falls doch, wäre
ich für eine Antwort dankbar.

Gruß
Ralf
Gast
Ändere die Zählschleife so ab das sie Word-basiert über den Code
zusammenzählt. Nun kannst du vorher überprüfen ob der Opcode ein
Breakpoint ist. Ich weis leider nicht was AVRStudio als Opcode dafür
benutzt. Statt nun diesen Opcode aufzusummieren summierst du 0xFFFF
oder 0x0000 auf, also den Code der im HEX als Filler genommen wird.

Deine Zählschleife summiert also statt der Breakpoints den Wert für
eine unbenutzte Speicherzelle zusammen.

Gruß Hagen
Gast
Hallo Hagen,

vielen Dank für deinen Tipp. Leider ist das Problem nicht so einfach zu
lösen. Das AVRStudio fügt nicht einfach einen einzelnen Befehl für den
Breakpoint ein, sondern modifiziert das Programm mit Sprungbefehlen und
verschiebt sogar einige Programmteile. D.h. ein einfaches Überschreiben
ist nicht möglich. Aber wenn das Programm keine Breakpoints enthält,
funktioniert ja die Flash-Diagnose.

Aber troztdem danke für die Antwort.

Gruß
Ralf

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 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.