Forum: Compiler & IDEs Bootloader zu normalem Projekt "dazulinken"


von Markus B. (markus_b77)


Lesenswert?

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)

von Klaus der 3. (Gast)


Lesenswert?

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

von Markus B. (markus_b77)


Lesenswert?

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.

von Klaus der 3. (Gast)


Lesenswert?

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

von Helfer (Gast)


Lesenswert?

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

von Martin (Gast)


Lesenswert?

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?

von Markus B. (markus_b77)


Lesenswert?

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*

von Ingo S. (ingo-s)


Lesenswert?

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

von Ludger (Gast)


Lesenswert?

Im hier installierten WinAVR gibt es unter den binaries (bin) den
srec_cat.

Der kann so ziemlich alles in alles umwandeln und auch 
aneinanderhaengen.

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.