Forum: Mikrocontroller und Digitale Elektronik Flashspeicher auslesen im Butterfly


von Stephan (Gast)


Lesenswert?

Hallo,

ich möchte ein kleines Windows Tool basteln, welches über die serielle 
Schnittstelle den Flashspeicher des Schmetterlings ausliest.
Kann mir da vielleicht jemand hilfreiche Tipps geben?

Gruß Stephan

von Sigint 112 (sigint)


Lesenswert?

Meinst du den Dataflash, oder den Programmflash?
Beim ersten musst du in der Tat ein Tool schreiben, beim zweiten sollte 
der interne Bootloader normalerweise vollkommen ausreichen.

Ich hab mir vor ewigkeiten mal ein ASM-Tool geschrieben, das den Inhalt 
des Flashspeichers ausgibt. War nur zum testen... aber vielleicht hilft 
es:

[quote]

dump_mem:
push r20   ;Register retten
push r21
push ZL
push ZH
ldi ZL,0    ;Z-Pointer auf Flash-Start
ldi ZH,0
print_line:    ;Eine Zeile ausgeben
rcall getchar_noblock  ;Zeichen von Serial holen
cpi ACCU,0x03    ;CTRL-C ?
breq end_dump   ;wenn ja, dann ausgabe abbrechen

ldi r21,0x10  ; 0x10 Werte pro Zeile
mov r20,ZH    ; ZH als HEX-Wert   (00-FF)
rcall print_byte ;auf Serial augeben
mov r20,ZL
rcall print_byte


ldi ACCU,':'
rcall putchar  ; ":" ausgeben als Trennzeichen

print_values:
lpm r20,Z+    ;Wert von Speicherstelle Z in R20 laden und Z++
rcall print_byte ; Wert als HEX-Zahl ausgeben
ldi ACCU,' '
rcall putchar  ;Leerstelle ausgeben
dec R21
brne print_values ;0x10 Werte ausgegeben?
ldi ACCU,0x0D
rcall putchar
ldi ACCU,0x0A
rcall putchar  ;CR+LF ausgeben
cpi ZH,0x20   ;Speicherstelle 0x2000 erreicht?
brne print_line
end_dump:

pop ZH
pop ZL
pop R21
pop R20
ret

[/quote]

Gruß,
  SIGINT

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.