www.mikrocontroller.net

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


Autor: Holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

folgendes Problem habe ich mit dem SD Card Bootloader
http://www.mikrocontroller.net/articles/MMC/SD_Boo...
(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.
# Output format. (can be srec, ihex, binary)
FORMAT = binary

DEVID = 0x00000001
SWVERSIONMAJOR = 1
SWVERSIONMINOR = 1
BOOTLDRSIZE = 0x1000
#FLASHSIZE - BOOTLDRSIZE - 8
BOOTLDRINFOSTART = 0xEFF8
Beim Bootloader habe ich folgende einstellung:
  # Output format. (can be srec, ihex, binary)
FORMAT = ihex

DEVID = 0x00000001
TARGET = Bootloader-V0.0
BOOTLOADERSTARTADR = 0xF000
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

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.