Hi,
ich bin gerade an der Programmierung eines Bootloaders für einen AVR
(atmega1284p). Beim Compilieren ist mir ein "Schönheitsfehler"
aufgefallen, für den ich keine Lösung finde.
Am Ende des Compilierens lasse ich mir per makefile die Größe des
erzeugten Codes ausgeben sowie die Auslastung in % (damit ich
rechtzeitig merke, wenn ich da in Probleme laufen sollte).
Makefile sieht dazu so aus:
1 | avr-size -C --mcu=${MCU} ${TARGET}.elf
|
Bootloader-Start definiert durch Linker-Option:
1 | LDFLAGS += -Ttext=$(BOOTLOADER_START)
|
Der Schönheitsfehler:
avr-size berechnet mit die % basierend auf dem gesamten Flash, nicht auf
der max Bootloader-Größe. Eigentlich logisch und normalerweise auch
sinnvoll, nur halt nicht beim Bootloader.
Kann man das irgendwie aufhübschen? avr-size --help hat mir nicht
wirklich weitergeholfen. Wie kann ich die maximale Bootloader-Größe an
der Stelle definieren? :(
Umgebung: Ubuntu, avr-gcc 4.9.2, GNU make 4.1