mikrocontroller.net

Forum: Compiler & IDEs Chip45boot Bootloader


Autor: Frank Heluk (avrnooby)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich arbeite gerade mit dem chip45boot Bootloader am ATmega168 ( 
http://www.chip45.com/chip45boot ).

Das Funktioniert auch soweit ganz gut.

Das Problem ist, dass das EEPROM immer mir 0 beschrieben wird, auch wenn 
ich nur das Flash programmiere und das EEPORM eigentlich stehen bleiben 
sollte.

Die Fuse EESAVE ist so gesetzt, dass das EEPROM eigentlich bleiben 
sollte.

Habt Ihr einen Tip wo ich die Fehlersuche beginnen könnte ?

MfG

Autor: Ulrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du könntest im Quellcode anfangen ;-)

Ich habe auch schon mit diesem Bootloader gearbeitet. Allerdings mit dem 
Crumb128

Hatte damals gute Erfahrung mit dem bootloader gemacht. Da er STK500V1 
spricht habe ich mit avrdude gearbeitet. Mit welchem Progeramm 
programmierst du?

Autor: Frank Heluk (avrnooby)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich schicke das srec im Moment noch mit Hyperterminal. Werd dann aber 
später ein kleines VisualBasic-Programm schreiben.

Bin immer noch ratlos an welcher Stelle genau er das EEPROM beschreibt.


Wenn ich erst dan Bootloader mit AVR-Studio programmiere. Dann das 
Hauptprogramm über den Bootloader programmiere und danach das EEPROM 
beschreibe und dann wieder mit dem AVR-Studio den Bootloader flashe 
bleibt das Hauptprogramm und das EEPROM drin. Es ist also definitiv der 
Bootloader selbst der das EEPROM beschreibt.

Autor: Frank Heluk (avrnooby)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Um das Problem weiter zu verdeutlichen:

Im EEPROM sind verschiedene Kalibrierwerte für das jeweilige Gerät drin 
und die sollen erhalten bleiben, auch wenn die Firmware ein Update über 
den Bootloader bekommt.

Autor: Frank Heluk (avrnooby)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab jetzt alle Funktionen aus dem Bootloader gelöscht die auf das EEPROM 
zugreifen könnten. Hat leider nicht geholfen, das EEPROM wird immer noch 
mit Null beschrieben :(

Autor: Frank Heluk (avrnooby)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die einzigen Funktionen die ich jetzt noch benutze um das Flash zu 
schreiben sind:
boot_page_erase(writeBaseAddress);  // do a page erase
boot_spm_busy_wait();  // wait for page erase done

boot_page_write(writeBaseAddress);  // do a page write
boot_spm_busy_wait();  // wait for write completed

boot_rww_enable();  // reenable rww section again

Autor: Frank Heluk (avrnooby)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat niemand einen Tip ?

Autor: Erik Lins (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

es gibt einen neuen Bootloader von chip45: chip45boot2. Er ist komplett 
überarbeitet und liest nun direkt Intel Hex Files über einen UART ein 
(kein SREC Erzeugen mehr notwendig) und stellt seine Baudrate 
automatisch ein! Es gibt viele vorkompilierte Hexfiles, die nur vom 
Controllertyp und vom UART abhängig sind, ansonsten aber unabhängig von 
jeglicher Clock Einstellung laufen!

www.chip45.com/chip45boot2

Viele Grüße,
ER!K

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.