PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Makefile für Bootloader und Anwedung



Bumbum
06.08.2013, 16:48
HAllo,

ich habe mich gerade in das Thema Bootloader eingearbeitet. Mein Bootloader läuft. Er ist ein eigenständiges Projekt im AVR Studio. Ebenso ist das Anwendungsprogramm ein eigentständiges Projekt. Aktuell prüft der Bootloader, der per gesetzter BOOTRST Fuse als erstet gestartet wird das Anwendungsprogramm auf Länge und Checksumme mit einem im EEPROM abgelegten Wert, und wenn dieser stimmt wird das Anwendungsprogramm gestartet.

Das Anwendungsprogramm lädt, wenn ein Update vorhanden ist, die neue Firmware in einen externen RAM-Baustein und startet dann den Bootloader, der den Inhalt des RAMs flashen soll. Die Kommunikation dafür läuft über das EEPROM im AVR.

Das funktioniert alles bereits im einzelnen; nun bin ich am verfeinern der Abläufe und am debuggen. Dies gestaltet sich jeddoch als sehr mühsam, da mit Bootloader jetzt immer zwei HEX-Dateien geflasht werden müssen. Und dann muss man beim flashen noch aufpassen, dass der Hacken "Erase device before flash prgramming" passend gesetzt ist.

Kurzum: Das Debuggen wird zur Folter! :-)

Ich habe etwas gegoogelt und das Stichwort Makefile scheint meine Lösung zu sein. Damit kann man scheinbar zwei Projekte kompilieren und in einer Hex-Datei zusammenfassen lassen. Allerdings scheint dieses mächtige Werkzeug einiges an Einarbeitungszeit zu fordern.

Deshalb meine Frage(n): Gibt es eine kurze, verständliche Anleitung, wie ich aus den zwei Makefiles der AVR-Studio-Projekte ein gemeinsames erzeugen kann? In meiner Theorie muss ich dieses neue gemeinsame Makefile dann nur noch in den Projekt Optionen als externes Makefile einstellen und kann dann beide Projekte gleichzeitig flashen. Ist das so?

Viele Grüße
Andreas

Bumbum
07.08.2013, 15:50
Hallo,

ich bin etwas weiter beim Problem. Ich habe das Tool Srecord heruntergeladen. Mit diesem ist es möglich die zwei Hex-Dateien zusammenzufügen, sogar per Kommandozeile.
Jetzt wollte ich den Task (ich habe mir eine .cmd-Datei geschrieben) in die Toolchain einbinden, bekomme es aber nicht auf die Reihe.

Kennt jemand eine Möglichkeit im AVR Studio 4 nach dem kompilieren noch ein zusätzliches Tools auszuführen, um die Hex-Dateien via Srecord zusammenzufügen?

Viele Grüße
Andreas