Ładniejszy avr-size (Mandriva)
W dystrybucji Mandriva 2010.2 program avr-size z paczki cross-avr-binutils-2.20.51.0.4 nie potrafił pokazać procentowej zajętości pamięci (dla danego procesora) - nie obsługiwał przełącznika -C.
Obszedłem problem ściągając binutils 2.20.1 który rozpakowałem
wget http://ftp.gnu.org/gnu/binutils/binutils-2.20.1.tar.bz2 tar -xjf binutils-2.20.1.tar.bz2 cd binutils-2.20.1
i na który nałożyłem łatkę (zapisałem ją sobie jako avr-size.patch):
patch -p0 < avr-size.patch
niestety część rzeczy musiałem łatać sam, bo łatka nie była dokładna (nic poważnego tylko białe znaki się nie zgadzały) a następnie skompilowałem
./configure --target=avr make
czy się udało mogłem sprawdzić poleceniem binutils/size --help które pokazało miedzy innymi:
The options are: -A|-B|-C --format={sysv|berkeley|avr} --mcu=<avrmcu> MCU name for AVR format only
Kolejnym krokiem było skopiowanie pliku do miejsca w którym nowy plik będzie miał "pierwszeństwo" przed oryginalnym. Ja wybrałem /usr/local/bin, więc polecenie (uruchomione jako root) wyglądało tak:
cp binutils/size /usr/local/bin/avr-size
W konsoli nawet zadziałało. ale okazało się, że Eclipse ma własne ustawienia więc musiałem zmienić we właściwościach projektu w C/C++ Build > Settings > Tool Settings > Print Size dwie rzeczy: zawartość pola Command z
-avr-size
na pełną ścieżkę
-/usr/local/bin/avr-size
oraz Expert settings > Command line pattern z
${COMMAND} ${FLAGS} ${INPUTS}
na
${COMMAND} ${FLAGS} -C ${INPUTS} --mcu=${AVRTARGETMCU}
(AVRTARGETMCU jest "magiczną" zmienną dostępną w Eclipse z dodatkiem AVR Eclipse Plugin) i w końcu po wciśnięciu Build zobaczyłem:
AVR Memory Usage ---------------- Device: atmega88 Program: 5456 bytes (66.6% Full) (.text + .data + .bootloader) Data: 744 bytes (72.7% Full) (.data + .bss + .noinit)
Kommentare
Bitte melden Sie sich Logan oder registrieren Sie sich um kommentieren zu können.