Forum: Mikrocontroller und Digitale Elektronik Bootloader des Butterfly resp AVRStudio


von Zacc (Gast)


Lesenswert?

Moeglicherweise bin ich etwas zu schnell beim Suchen und war bisher 
nicht erfolgreich. Das Butterfly board von AVR hat einen bootloader 
drauf, der zusammen mit dem AVRStudio funktioniert. Sehr interessant. 
Irgendwie fand ich  nirgendwo Informationen ueber dessen Implemenation. 
S'muss nicht unbedingt Souircecode sein, ein pdf waere genuegend.

von Joerg X. (Gast)


Lesenswert?

atmel -> appnotes

von Zacc (Gast)


Lesenswert?

Danke, welche denn ?

von Joerg X. (Gast)


Lesenswert?

oh, hab das: 
http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3146
mit der Note AVR109 (da ist ein zumindest Bootloaderbeispiel drin) 
verwechselt.
Außerdem liefert G. als 3. oder 4. Treffer das: 
http://www.siwawi.arubi.uni-kl.de/avr_projects/#bf_app , falls das 
interessant ist.
hth. -Jörg

von Zacc (Gast)


Lesenswert?

Danke Joerg, die AVR109 hab ich. Irgendwas mit open source downloader, 
es gibt nochmals ein paar downloader, die AVR230, DES-downloader und 
AVR231, AES downloader. Plus noch ein paar Hilfsarikel. Alles schoen. 
aber welcher, wenn ueberhaupt ist in AVRStudio implementiert ?

Am Artikel der Uni koennte was dran sein.

von Zacc (Gast)


Lesenswert?

Unter anderem Bezieht sich der Artikel der Uni auch auf den Atmel 
bootloader
http://www.atmel.com/products/AVR/butterfly , welcher nur als hex 
vorliegt. So eine Hexschwarte mag grosszuegig erscheinen, ist es aber 
nicht wenn man bedenkt, dass die fuses, somit auch die 
clockgeschwindigkeit, nicht Teil des Hex sind.
Ich schau weiter.......

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

Tatsächlich wohl etwas "zu schnell beim Suchen", vielleicht auch zu 
schnell beim Lesen...
Bootloader auf dem Butterfly ist kompatibel zum in AppNote AVR109 
beschriebenen Protokoll, implementiert nicht alle aber die notwendigen 
Befehle.  Die Seite "der Uni" ist vom mir. Wenn man ein klein wenig mehr 
auf dieser Seite liest, findet man eine gcc-Portierung des 
Bootloader-Quellcodes für den Butterfly. Atmel hatte den IAR-EWAVR 
Quellcode des Bootloaders vor Zeitem mal zum Download angeboten und das 
war die Basis für meine Portierung. Auf meiner Seite findet man 
weiterhin den Code für einen "AVRProg Bootloader", den ich auf Basis des 
Butterfly Bootloader-Codes zusammengebastelt habe und in den inzwischen 
einige Verbessungen von Dritten eingeflossen sind. Dieser nutzt auch das 
in AVR109 beschriebene Protokoll und ist somit zusammen mit AVR 
Studio/Tools/AVRProg (avrprog.exe) verwendbar.

Martin Thomas

von Zacc (Gast)


Lesenswert?

Martin,
vielen Dank. Das war umfassend. Zumindest die Referenzen. Worauf 
beziehen sich denn die Bootloader ? Keiner gibt ein Clocksetting, noch 
eine Baudrate vor. Wenn nur eines von beiden nicht stimmt, ist nichts. 
Das Butterfly board laeuft warhrscheinlich standardmaessig mit dem 1MHz 
RC.

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

>Worauf beziehen sich denn die Bootloader?
In Bezug auf was beziehen?

>Keiner gibt ein Clocksetting, noch eine Baudrate vor.
Das stimmt nicht. Wahrscheinlich wieder zu schnell beim Lesen. Im 
Butterfly Bootloader gcc-Port ist das so eingestellt, wie im 
Originalcode und kompatibel zum vorinstallierten Bootloader. 
Einstellung/"Clocksetting" wird aus den Registereinstellungen, dem 
Quellcode und den Kommentaren ersichtlich. Einfach den Code von main.c 
mal durchlesen. Wie man das "Clocksetting" im AVRprog-Bootloader 
übersehen kann, ist mir schleierhaft. Vgl. F_CPU (muss natürlich mit dem 
tatsächlichen Takt übereinstimmen) und BAUDRATE in main.c.

>Wenn nur eines von beiden nicht stimmt, ist nichts.
Was soll denn konkret nicht stimmen? "Ist nichts"... nun, es ist 
vielleicht einfach nicht für jeden verständlich. Codes sind aber zu oft 
von anderen und mir in Geräten genutzt worden um "nichts" zu sein. Aber 
einerlei, einfach meinen Kram links liegen lassen und nach was anderem 
suchen. Ich beantworte gerne Frage zu den von mir bereitgestellten Codes 
aber habe den Eindruck, als wären die Codes bestenfalls 20 Sekunden 
überflogen worden. (Oder da Ganze ist einfach nur ein 
Feiertags-Trolling).

> Das Butterfly board laeuft warhrscheinlich standardmaessig mit dem 1MHz
> RC.
BF "läuft mit" internem RC-Oszillator, ja. BF Schaltplan überhaupt mal 
angeschaut? Die 8MHz am Ausgang des internen RC (Teiler-Fuse ist nicht 
programmed) werden durch 8 geteilt und die resultierenden 1MHz dann 
mittels des auf dem BF vorhandenen 32kHz Quarzes kalibriert. Die 
Einstellung der Baudratenregister ist 9600bps bei 1MHz (U2X beachten, 
vgl. ATmega169 Datenblatt). Die RC-Teilereinstellung wird zum Betrieb 
des UARTs zum Kontakt mit AVRProg auf 4 gesetzt. Grund: 1MHz -> geringer 
Stomverbrauch, 2MHz -> schnellere Übertragung mit 2*9600=19200bps, vgl. 
Tabelle in einem AVR Datenblatt, Error-Spalte.

Martin Thomas

von Zacc (Gast)


Lesenswert?

Vielen Dank Martin,
ich hab mich nur geaergert, dass Atmel wenn sie schon den Code fuer den 
Bootloader nicht veroeffentlichen, nicht wenigstens die Parameter 
bekanntgeben. Das sollte doch dabei sein. Clock & Baud. Ich hab den Code 
zugegebenermassen noch nicht angeschaut, da die Clock- und anderen Fuses 
nicht Teil des Codes sind. Die Fuses hab ich auf deiner Seite gefunden, 
aber der Clock war irgendwie nicht dabei. Int RC ja, aber nichts von 
Geschwindigkeit. ClkSel[3..0] fehlen - oder gibt's die gar nicht ?
Hintergrund ist, ich moechte den BF Bootloader benutzen weil er zum 
AVRStudio passt. Dadurch koennen Kunden ohne spezielle Software nehmen 
zu muessen einen Firmwareupdate selbst vornehmen. In einer naechsten 
Stufe sollte ich den Firmwareupgrade von einem Stueck Software machen 
lassen, und daher kann ich nicht einfach den Bootloader und das Studio 
nehmen und's damit sein lassen.

Doch, ich denke deine Resourcen werden mir weiterhelfen. Vielen Dank 
Nochmals

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.