-
        

Ergebnis 1 bis 2 von 2

Thema: Probleme Flash Bootloader AtMega2560

  1. #1

    Probleme Flash Bootloader AtMega2560

    Anzeige

    Hallo Forum,
    Ich bin derzeit dabei einen Bootloader für einen AtMega2560 zu
    schreiben,
    das Programm entspricht dem in dem Mikrocontroller-Artikel
    http://www.mikrocontroller.net/artic...ache_Anleitung
    Zusätzlich dazu frage ich lediglich den EEPROM auf eine Flag ab und
    resette am Ende eines erfolgreichen Flash-Vorgang mithilfe des
    Watchdogs.
    Allerdings würde ich hier nicht posten, wäre kein Problem aufgetreten
    und da der Fehler sehr seltsam ist, bin ich auch relativ ratlos:
    Der Flashvorgang wird erfolgreich ausgeführt (Der Parser des Bootloaders
    meldet keine Fehler beim Empfang der HEX über UART), ABER: Die ersten
    Zeichen des Flash werden nicht beschrieben, sie lauten alle 0xFF, das
    heißt, der Botloader löscht diese Zeichen, aber beschreibt sie nicht
    wieder.
    Dazu kommt, es ist immer das selbe Muster (das ich nachreichen werde,
    sobald ich nochmal Zeit dazu habe den Fehler zu reproduzieren) und ich
    habe keine Hinweise darauf gefunden, was der Fehler sein könnte, ich
    vermute mal es ist irgendwas dämliches, aber Fakt ist ich komme nicht
    drauf.
    Ich habe nichts im Internet gefunden, was mein Problem umschreibt. Es
    wurde nur irgendwo darauf hingewiesen, man solle doch die Brownout Fuse
    setzen, was das Problem ebenfalls nicht behoben hat.
    Ich habe auch mit der Optimierung rumgespielt, ebenfalls ohne Erfolg...
    Wie hoch stehen die Chancen, das das Problem nicht 50cm vorm Monitor
    sondern im AVR-GCC Compiler liegt?
    Das einzige was ich mir vorstellen kann (da ich die Funktion zum
    beschreiben des Flash nicht verändert habe) das ich irgendwo nen
    Overflow produziert habe, aber da bis auf die ersten Zeilen der Rest
    korrekt beschrieben wird, halte ich das für unwahrscheinlich.
    Wie wahrscheinlich ist es, das das auslesen des EEPROM am Anfang des
    Bootloaders und das beschreiben des EEPROMs am Ende des Bootloaders
    Einfluss auf den Flash hat?
    Würde mich sehr freuen, wenn mir jemand helfen könnte

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.08.2008
    Ort
    DE
    Beiträge
    523
    Das einzige was ich mir vorstellen kann (da ich die Funktion zum
    beschreiben des Flash nicht verändert habe) das ich irgendwo nen
    Overflow produziert habe, aber da bis auf die ersten Zeilen der Rest
    korrekt beschrieben wird, halte ich das für unwahrscheinlich.
    Was heißt nicht verändert??
    Die Register müssen für den Mega2560 angepasst werden. Zudem hat dieser µC mehr als 128kb flash. Das muss auch noch hinzugefügt werden.
    Eine Besonderheit ist zu beachten, wenn der verfügbare Flash-Speicher größer als 128kB ist. In der Regel wird der Bootloader im oberen Teil des Speichers liegen und daher ist ein einfacher Rücksprung mit normaler 2Byte Wordadressierung nicht möglich. Leider hat GCC hier einen Bug und verwendet das vom Controller zusätzlich herangezogene Register EIND nicht. Dieses Register muß daher explizit vor dem Rücksprung auf 0 gesetzt werden.
    Das sollte auch beachtet werden:
    Die erweiterten Adressräume (HEX-Zeilentyp 2 bis 5) werden noch nicht unterstützt. Für ATmega-Devices mit > 64K Flash muss der Bootloader noch erweitert werden.

    Wie wahrscheinlich ist es, das das auslesen des EEPROM am Anfang des
    Bootloaders und das beschreiben des EEPROMs am Ende des Bootloaders
    Einfluss auf den Flash hat?
    Wie wärs, wenn du einfach die E2PROM Abfrage entfernst und es dann probierst?? Wobei es aber vermutlich nicht daran liegt, sondern an einem anderem (vermutlich vorher genanntem) Problem.

    mfg

Ähnliche Themen

  1. Bootloader != Flash??
    Von Wsk8 im Forum C - Programmierung (GCC u.a.)
    Antworten: 6
    Letzter Beitrag: 31.08.2013, 14:15
  2. ATMega2560-Modul + Bootloader + AVR-Studio = ?
    Von Jaecko im Forum C - Programmierung (GCC u.a.)
    Antworten: 1
    Letzter Beitrag: 17.07.2008, 09:49
  3. Grafikdisplay (k108) macht Probleme am Atmega2560
    Von lumilux im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 29.04.2008, 19:16
  4. Bootloader für ATMega2560 (USB-Programmierung)
    Von Jaecko im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 5
    Letzter Beitrag: 17.11.2006, 18:49
  5. bootloader um Daten in Flash zu packen
    Von vajk im Forum C - Programmierung (GCC u.a.)
    Antworten: 7
    Letzter Beitrag: 19.09.2006, 15:25

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •