Suche Bootloader für Atmega644p

OP #5009842
Lesenswert?

Was braucht ihr noch für Spezifikationen?
Bisher habe ich einen Arduino Nano mit einem 328p und dem 
Arduino-Bootloader verwendet. Das hat immer gut funktioniert. Nun ist er 
mir zu klein geworden und ich versuche auf einen Atmega644p 
auszusatteln.
Für den Bootloader stehen zur Verfügung TXD0 und RXT0 und DTR über einem 
Kondensator an Reset. Den Quarz kann ich zwischen 16MHz und 20 MHz 
anpassen.

Mit den Informationen von Suchdepp kann ich leider nichts anfangen. Auf 
dieser Seite sind die Boodloader-Hex Files sehr versteckt und 
funktionieren nicht und die Dokumentation ist für mich icht 
verständlich. Eine der Files lässt sich auch nicht fehlerfrei brennen.
#5009893
Lesenswert?

Hallo,

wenn Du das MightyCore Package (da sind u.a. die großen ATMega drin) in 
der Arduino-IDE installiert hast, sind die Bootloader doch alle dabei...
Irgendwo in ...\packages\MightyCore\hardware\avr\1.0.8\bootloaders
Auch für den 644p und auch für Deine gewünschten Taktfrequenzen.

Die Fusebits kann man sich aus der zugehörigen boards.txt raussuchen 
wenn man den Bootloader nicht aus der Arduino-IDE flashen will.

Gruß aus Berlin
Michael
Gast #5009945
Lesenswert?

Suchdepp schrieb:
> Pappnase.

ja sorry ich überprüfe nicht alle Links auf dessen Inhalt. Aus dem Text 
war es nicht rauszulesen.

Auf jeden Fall funktionieren die Sources, hab mir damit selbst schon 
Bootloader für den 644p erzeugt. Kann mir deshalb auch nicht vorstellen, 
dass die beiliegende hex nicht funktioniert. Die ist ja für 16Mhz.
OP #5009988
Lesenswert?

Ich frage mich, warum einige User so agressiv schreiben??? Ist das die 
neue gute Kinderstube?

"---Da müsste er ja selbst was tun. Das wäre zuviel verlangt.
Er will ja die gebratenen Tauben die ihm in den Mund fliegen."

oder

"- ist dein Gugel kaputt?     - zu faul zum suchen?
SCNR."

Ich bedanke mich natürlich für alle Hilfestellungen, auch wenn bei mir 
momentan noch nichts funktioniert ;-)

Natürlich habe ich vorher gesucht und bin mit den Ergbnissen aber leider 
nicht zurecht gekommen. Natürlich hätte ich mir einen Bootloader selbst 
kompiliert, wenn ich es schonmal gemacht hätte. Dann wäre ich doch schon 
lange am Ziel.

Der Vorteil von einer Nachfrage in diesem Forum ist, dass man eine 
Empfehlung oder echte Hilfe zur Selbsthilfe  bekommen kann.

Mit dem Links zu Sanguino oder mikrocontroller.net (die mir schon vorher 
bekannt waren) komme ich leider nicht weiter. Auch für Optiboot benötige 
ich Hilfestellung um zu einem fertiges Ergebnis zu bekommen - also so 
etwas wie eine intensive Anschubhilfestellung.

Mich wundert, dass ich trotz meiner umfangreichen Suche im Netz keine 
Seiten gefunden habe, die für mehrere ATMEGAs die Bootloadere fertig zur 
Verfügung stellen. Jeder von uns ist doch auf irgendeinem Gebiet 
Fachmann oder Fachfrau und gibt sein Wissen weiter.

Wisst ihr vielleicht wie sich die Bootloader aus dem MightyCore Package 
unterscheidet zu dem Bootloader von Optiboot? Oder steckt im dem 
MightyCore  ein Optiboot-Bootloader

Ich probiere mich gerade an dem Bootloadeer aus dem MightyCore Package. 
Eine boards.txt kann ich aber nicht finden. Daher probiere ich die 
entsprechenden Fusebits einfach aus ;-). Irgendwie ist da noch der Wurm 
drin.
Ich verwende dieses File aus dem Package 
"optiboot_flash_atmega644p_115200_16000000L.hex"
#5010008
Lesenswert?

Joern D. schrieb:
> Mich wundert, dass ich trotz meiner umfangreichen Suche im Netz keine
> Seiten gefunden habe, die für mehrere ATMEGAs die Bootloadere fertig zur
> Verfügung stellen.

Das dich das wundert, mag sein. Die Erklärung ist trotzdem ganz einfach.

Ein Bootloader ist ein ganz normales Pogramm wie jedes andere auch. Wer 
den nicht kompilieren kann, kann auch kein anderes Programm kompilieren, 
und braucht daher gar keinen Bootloader.

Oliver
#5010013
Lesenswert?

Hallo,

Joern D. schrieb:
> Wisst ihr vielleicht wie sich die Bootloader aus dem MightyCore Package
> unterscheidet zu dem Bootloader von Optiboot? Oder steckt im dem
> MightyCore  ein Optiboot-Bootloader


Warum mag der Ordner wohl optiboot_flash heißen?

> Ich probiere mich gerade an dem Bootloadeer aus dem MightyCore Package.
> Eine boards.txt kann ich aber nicht finden. Daher probiere ich die
> entsprechenden Fusebits einfach aus ;-). Irgendwie ist da noch der Wurm
> drin.

Muß ich Dir den Ausschnitt der boards.txt auf meine alten Tage jetzt 
wirklich hier noch reinkopieren?

# Clock frequencies
644.menu.clock.16MHz_external=16 MHz external
644.menu.clock.16MHz_external.upload.speed=115200
644.menu.clock.16MHz_external.bootloader.low_fuses=0xf7
644.menu.clock.16MHz_external.bootloader.high_fuses=0xd6
644.menu.clock.16MHz_external.bootloader.file=optiboot_flash/{build.mcu} 
/optiboot_flash_{build.mcu}_{upload.speed}_{build.f_cpu}.hex
644.menu.clock.16MHz_external.build.f_cpu=16000000L

Die boards.txt liegt in dem Ordner wo auch der Ordner bootloaders 
liegt...

PS: Du hast am Anfang "Schön wäre ein Arduino-Bootloader." gesagt.
Das MightyCore ist Zubehör zur Arduino-IDE, läßt sich also aus dem 
Boardmanager nachinstallieren und nutzen.
Die Suche nach Arduino Mega644 bringt ausreichend passende Treffer.

Gruß aus Berlin
Michael
OP #5010075
Lesenswert?

Mit dem kompilierten Code aus dem MightyCore Package funktiert es nun.
Der Fehler warum es nicht schon vorher funktioniert hat, war ein 
gebrochener SMD-Kondensator an dem 5V Pin des ATMEGAs. Der Hinweis zu 
den richtigen Fuse-Bits hat dann auch geholfen.
Vielleicht hätte es auch mit dem Sanguino-Bootloader geklappt, wenn ich 
den defekten Kondensator eher entdeckt hätte.

Selbst kompilieren war mir mit zu vielen Unbekannten verbunden, da ich 
in den dafür notwendigen Programmierumgebungen nicht zuhause bin. Ich 
arbeiten mit LunaAVR und bin sehr zufrieden damit. Der 
Ardunio-Bootloader kann über Avrdude direkt und bequem angesprochen 
werden.

Vielen herzlichen Dank für eure Hilfe.
Gast #5010083
Lesenswert?

Oliver S. schrieb:
> Ein Bootloader ist ein ganz normales Pogramm wie jedes andere auch. Wer
> den nicht kompilieren kann, kann auch kein anderes Programm kompilieren,
> und braucht daher gar keinen Bootloader.

Nicht ganz .... ein Bootloader verlangt ein paar wenige
Linker-Einstellungen die eine vorfertigende IDE nicht hergibt.

Man muss mit den Adressen also schon wissen was man tut,
sonst liegt der selbst compilierte Bootloader bei Adresse
Null, und das ist mehr als sub-optimal.

Auch die Bootsize und die Baudrate muss stimmen ... ein paar
Compiler-Flags setzen ....
.... ja es gibt ein paar Fallstricke .... auf den Build-Knopf
zu drücken alleine reicht nicht.
OP #5010090
Lesenswert?

"... ja es gibt ein paar Fallstricke .... auf den Build-Knopf zu drücken 
alleine reicht nicht."

Das ist auch der Grund, warum ich um Hilfe gebeten hatte. Bei zu vielen 
Unbekannten in einem unbekannten Gebiet "Bootloader", kann man sonst 
endlos probieren. Letztlich habt ihr auch hier mich auf den richtigen 
Weg geleitet, was sonst sehr viel länger gedauert hätte. Da ich mir nun 
recht sicher sein  konnte, dass alles rund um die Software richtig war, 
konnte ich auch erst den Hardwarefehler finden, der sich in Verbindung 
mit einer direkten Programmierung (ISP) nicht gezeigt hatte. Defekte 
Kondensatoren sind immer extrem schwer zu finden.
#5010707
Lesenswert?

Hi

Es dürfte aber recht egal sein, wie gut Andere irgend einen Bootloader 
finden - Der muß bei Dir passen!
Auch sollte zum Bootloader was zum Lesen dabei sein - ein Stück 
unbekannte Software aus noch unbekannterer Quelle kann hier nicht 
plötzlich der heilige Gral für Alles sein.

Wie im Leben:
Millionen von Fliegen können nicht irren: Schei?e schmeckt gut

... würdest Du deshalb diesen Millionen von zufriedenen Fliegen folgen??

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren