Hallo Allerseits, ich darf meinen ersten Bootloader schreiben, und da ich weder das Rad neu erfinden will noch viel Zeit in das "Projekt" versenken, bin ich auf der Suche nach Vorbildern. Dabei bin ich auf ein Paket gestoßen, das viele verwenden und das anscheinend irgendwie jeder (also fast jeder, da ich nicht) kennt. Es enthält Funktionen wie: boot_page_write und boot_page_erase. Kann mir hier jemand einen Tipp geben, wo ich das finde? BTW: Ich habe einen ATmega644 mit 20MHz, entsprechende Anpassungen mach ich mir dann schon. nochn BTW: GiDF: einige 100.000 Treffer, aber immer nur Anwendungen. Eine Source habe ich gefunden, alle Kommentare in chinesisch (oder sonstwas fernöstliches). Danke!
Was für einen Bootloader suchst du? USB, UART, I2C, ... ? siehe im Forum Codesammlung http://www.mikrocontroller.net/forum/codesammlung
Ich habe da zufällig auch einen Bootloader für den AtMega644P @ 20MHz, als Eclipse Projekt (akzeptiert ein Intel-Hexfile über UART)
Ich bin mit meinem Bootloader schon so weit, dass ich die Daten reinkriege und die Kommunikation mit dem Windows-Programm läuft auch soweit. Was noch fehlt, ist das Programmieren des Flashs. Ich bin über viele Bootloader auf Funktionen der Art: boot_page_write boot_page_erase usw usw gestoßen. Diese werden von vielen verwendet, daher denke ich, dass die auch was taugen. Daher nochmals die Frage: Wie komme ich an die Sourcen von diesen Funktionen ? (BTW: wir verwenden CodeVision, ist das vielleicht ein Bibliotheksfunktion von GCC ? )
Lodder schrieb: > (BTW: wir verwenden CodeVision, ist das vielleicht ein > Bibliotheksfunktion von GCC ? ) Ja, die Funktionen sind Bestandteil der AVR-Libc.
>> GiDF: einige 100.000 Treffer, aber immer nur Anwendungen. >> Eine Source habe ich gefunden, alle Kommentare in chinesisch (oder >> sonstwas fernöstliches). "ATmega644 Bootloade" ergibt 1.580 Treffer nicht 100.000. Der erste Treffen ist gleich mit Quelltext. Du bist einfach zu faul zum Suchen.
Angefügt die <boot.h> aus der avrlibc. Ist aber vermutlich nicht so einfach, die Assembler-Makros für CodeVison zurecht zu biegen....
Ja danke, das war hilfreich, wenn auch nicht so einfach, wie erhofft. @Martin: sorry wegen der 2 Zehnerpotenzen, aber es war mehr symbolisch gemeint. Außerdem ging meine Frage nicht nach "irgendeinem" Code, sondern nach diesem speziellen. Dieses Posting war Folge einer bereits längeren Suche. Trotzdem auch Dir meinen tiefempfundenen Dank wegen Deiner konstruktiven Kritik. In der Hilfeskala dieses Postings stehst Du damit auf Platz 13. Oder anders: wenn Du nicht helfen willst, dann halt die Tasten still.
Eigentlich hat Martin in seinem Posting den Nagel auf den Kopf getroffen. Bootloader inkl. Source gibts doch nun wirklich wie Sand am Meer. Wenn nicht sogar noch mehr. Selbst hier im Board findest du etliche Versionen, alle mit Source, wenn dir das alles noch nicht reicht, dann liegt es wahrscheinlich weniger am (reichlichen) Angebot, als vielmehr am fehlenden Verständnis deinerseits.
Warum - BITTE - kann nicht mal einer die Frage lesen !!! Es gibt um u.a. "boot_page_write". Aber diese Frage wurde ja dann doch beantwortet. Und wer sie nicht beantworten kann oder will, der soll eben nichts posten. Mein Gott ! Aber nochmals meinen tief empfundenen Dank allen die geholfen haben oder helfen wollten, und das waren dann doch die meisten Poster! (Keine Ironie!)
>Warum - BITTE - kann nicht mal einer die Frage lesen !!!
Und warum - BITTE - kannst Du nicht mal die Antworten lesen?
Lodder schrieb: >Es gibt um u.a. "boot_page_write". Aber diese Frage wurde ja dann doch >beantwortet. Wobei du die Antwort auch locker selbst hättest finden können, wenn du dich dazu durch gerungen hättest die Dokumentation der avrlibc zu lesen. Aber lesen ist ja heutzutage nicht mehr "in" :(
Auch wenn's keinen fertigen Code gaebe, so laesst sich dessen Funktionalitaet im Prozessormanual nachschlagen. Der Name spricht jeweils fuer sich.
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.