SD-Card Atmel 64 Bootloader arbeitet nicht zuverläsig

Gast #1759202
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

Antwort schreiben

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.

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.