Hi, ich möchte bei einem Projekt einen Bootloader verwenden. Damit ich später nicht immer zuerst den Bootloader per ISP programmieren muss und anschließend das eigentliche Programm über den Bootloader möchte ich beides gleichzeitig programmieren. Wie muss ich da vorgehen? (avr-gcc)
Gast
#2299795
Markus B. schrieb: > Hi, ich möchte bei einem Projekt einen Bootloader verwenden. Damit ich > später nicht immer zuerst den Bootloader per ISP programmieren muss und > anschließend das eigentliche Programm über den Bootloader möchte ich > beides gleichzeitig programmieren. Und wie soll dass funktionieren, wenn der uC noch garnicht weiß wie er ohne Bootloader die Daten in empfang nehmen soll? Wenn es nicht gerade ein AVR32 o.ä. ist wo bereits standardmäßig ein Bootloader drauf ist, dann verstehe ich nicht wie dass gehen soll!? Grüße
Klaus der 3. schrieb: > Und wie soll dass funktionieren, wenn der uC noch garnicht weiß wie er > ohne Bootloader die Daten in empfang nehmen soll? Via ISP? Es geht darum, sowohl Bootloader als auch das eigentliche Programm in eine HEX Datei zu packen und in einem Rutsch zu programmieren. So kann man in der Produktion den kompletten AVR in einem Arbeitsgang programmieren und später via Bootloader neue Firmware aufspielen.
Gast
#2299809
Achso...ich hatte das anderst verstanden, deshalb die Nachfrage. Die Frage gab es hier schon öfter. Hier mal ein Beispiel: Beitrag "AVR-GCC - Bootloader & Nutzprogramm in einem. Wie?" Grüße
Gast
#2299810
Eine pragmatische Lösung wäre, einen fertig per Bootloader programmierten AVR mit ISP auszulesen und das Ergebnis als neue kombinierte HEX-Datei fürs ISP Massenprogrammieren zu benutzen. Softwaremäßig siehe http://www.mikrocontroller.net/articles/AVR_Bootloader_in_C_-_eine_einfache_Anleitung#Wie_kann_man_Bootloader_und_Anwendungsprogramm_gemeinsam_flashen.3F
Gast
#2299816
Markus B. schrieb: > So kann > > man in der Produktion den kompletten AVR in einem Arbeitsgang > > programmieren und später via Bootloader neue Firmware aufspielen. Kann das der AVR nicht sowieso ohne dass man einen Bootloader dazulinken muss?
Klaus der 3. schrieb: > Die Frage gab es hier schon öfter. > Hier mal ein Beispiel: > Beitrag "AVR-GCC - Bootloader & Nutzprogramm in einem. Wie?" Ok, der Suchbegriff "Nutzprogramm" ist mir natürlich als erstes eingefallen ;) Die Idee mit den zwei HEX Files hatte ich auch gerade. Hab mal geschaut. Der Bootloader würde zum Schluss den Reset Vektor überschreiben. Ansonsten müsste es gehen. Auf die Idee, einen fertig programmierten AVR auszulesen hätte ich auch selbst kommen können *kopf->tisch*
Hi, wenn Du dich ein wenig mit HEX Files auskennst, kannst Du beide auch in einem Editor zusammenfassen. Beim unteren Part muss man halt die Ende Kennung entfernen. Alternativ geht auch, zuerst den Bootloader (Voraussetzung der funktioniert über den Bootloader Vektor) zu Programmieren und anschliessend die Anwendung im unteren Bereich. Gruß Ingo
Gast
#2301826
Im hier installierten WinAVR gibt es unter den binaries (bin) den srec_cat. Der kann so ziemlich alles in alles umwandeln und auch aneinanderhaengen.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.