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.
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
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.
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.......
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
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.
>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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.