avr-sizex: Unable to find the .eeprom section

Gast #741860
Lesenswert?

Hallo!

Habe folgendes Problem:
Benutze avr-sizex habe die Einbindung wie beschrieben gemacht (Also exe 
in bin-Ordner und in der makefile die Änderungen).

Beim Compilieren sagt er dann:

avr-sizex: Unable to find the .eeprom section.
make.exe: *** [sizeafter] Error 3


Im Anhang hab ich mein makefile.
Angehängte Dateien:
Gast #741863
Lesenswert?

Hab mal was anderes ausprobiert, und zwar statt folgenden code in der 
makefile:


# Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) -A $(TARGET).elf
SIZEX = avr-sizex --mcu=$(MCU) $(TARGET).elf

sizebefore:
  @echo
  @if [ -f $(TARGET).elf ]; then echo; echo $(MSG_SIZE_BEFORE); 
$(ELFSIZE); echo; fi

sizeafter:
  @echo
  @if [ -f $(TARGET).elf ]; then echo; echo $(MSG_SIZE_AFTER); 
$(ELFSIZE); echo; fi ;$(SIZEX)


Wenn ich diesen hier verwende, funktioniert es zwar, ich hab aber eine 
andere anzeige und weiss nicht ob die stimmt:


# Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) -A $(TARGET).elf
AVRMEM = avr-mem.sh $(TARGET).elf $(MCU)

sizebefore:
  @echo
  @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); 
$(ELFSIZE); \
  $(AVRMEM) 2>/dev/null; echo; fi

sizeafter:
  @echo
  @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); 
$(ELFSIZE); \
  $(AVRMEM) 2>/dev/null; echo; fi



Die andere Ausgabe des 2. codes sieht dann so aus:


AVR Memory Usage:
-----------------
Device: atmega8

Program:    7304 bytes (89.2% Full)
(.text + .data + .bootloader)

Data:        177 bytes (17.3% Full)
(.data + .bss + .noinit)


Stimmt diese Anzeige so auch oder ist die neuere besser?

mfg
Gast #887883
Lesenswert?

Hi,

avr-sizex ist leider pingelig wenn eine der memory-sections nicht 
gefunden wird.
Dem kann man aber leicht abhelfen. In deinem Fall verwendest du einfach 
eine EEPROM dummy Variable, damit der compiler eine eeprom section 
anlegt.

Include mal den header
1
#include <avr/eeprom.h>
und Definiere die globale Variable
1
uint8_t dummyEE EEMEM;

Dann sollte nach erneutem kompilieren avr-sizex auch eine eeprom section 
finden :)

Rev

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren