Forum: Mikrocontroller und Digitale Elektronik SD-Card Atmel 64 Bootloader arbeitet nicht zuverläsig


von Holger (Gast)


Lesenswert?

Hallo,

folgendes Problem habe ich mit dem SD Card Bootloader
http://www.mikrocontroller.net/articles/MMC/SD_Bootloader_f%C3%BCr_AT_Mega
(Vielen Dank an die Erfinder, super klasse Projekt)

Nach manchen Änderungen in meiner Software kann ich den Bootloader nur 
einmalig benutzen. Dann habe ich zwei Resultate entweder, es passiert 
nix mehr, also der Atmel ist wie tot, oder meine zu letzt geupdatete 
Software funktioniert und überspringt bei jedem Neustart den Bootloder.

Der häufigste Fall ist allerdings, dass ich Änderungen machen kann ohne 
das es zu den besagten Problemen kommt.

Die Änderungen in der Software sind marginal, manchmal hilft es wenn ich 
einfach eine andere Softwareversion setze oder wenn ich bestimmte 
Funktionen außer Betrieb nehme, doppelt ausführe, eine unnütze Variable 
Inkeremntiere, oder oder usw… Bislang rette ich mich immer mit solchen 
bastelein. Dadurch ist die Funktion auch uneingeschränkt nutzbar.

Um den Fehler auf die Sprünge zu kommen habe ich den Atmega ausgelesen 
um eine Funktionierende Version mit einer Fehlerhaften zu vergleichen. 
Der Bootloaderbereich ist bei beiden Identisch.

1.Ich würde mich freuen wenn jemand mal diese Zeilen aus meinen 
Makefiles ansehen kann. Vielleicht habe ich die Zuweisung der Adressen 
oder Speicherbereiche für Bootloader falsch gemacht.
Verwendung findet einen Atmega 64 mit Programmers Notepad und der 
Aktuellen WinAVR.
Fusebytes habe ich auch High=0xD8 und Low =0xFF gestezt. Komischer weise 
gibt es bei mir keinen unterschied ob ich BOOTRST aktiv oder deaktiv 
habe.
1
# Output format. (can be srec, ihex, binary)
2
FORMAT = binary
3
4
DEVID = 0x00000001
5
SWVERSIONMAJOR = 1
6
SWVERSIONMINOR = 1
7
BOOTLDRSIZE = 0x1000
8
#FLASHSIZE - BOOTLDRSIZE - 8
9
BOOTLDRINFOSTART = 0xEFF8
Beim Bootloader habe ich folgende einstellung:
1
  # Output format. (can be srec, ihex, binary)
2
FORMAT = ihex
3
4
DEVID = 0x00000001
5
TARGET = Bootloader-V0.0
6
BOOTLOADERSTARTADR = 0xF000
7
BOOTLDRSIZE = 0x1000
2.Ich würde gerene wissen an welcher stelle ich in meinen vom Chip 
gelandenen Hexfiles die stelle finde wo die Spungadresse in den 
Bootloader steht. Wenn es owas überhaupt gibt.

3. Welche wichtigen Register sollte ich noch prüfen und auf was?


Vielen Dank für Eure Hilfe
Holger

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.