реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> WinAVR 20081205 AVR Memory Usage, в послежней версии не выводит информацию по Memory Usage
TechMike
сообщение Jan 25 2009, 17:29
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 130
Регистрация: 30-07-08
Из: Moscow
Пользователь №: 39 302



Раньше работа с WinAVR 20050214, перешел на WinAVR20081205 и теперь при компиляции не выдает в конце удобную информацию по используемой памяти.
Как вернуть вывод блока "AVR Memory Usage" ?
Пробовал добавить ключ -dm, не помогло.

Было так:
Size after:
bat_meter.elf :
section size addr
.text 648 0
.data 6 8388704
.bss 13 8388710
.noinit 0 8388723
.eeprom 0 8454144
.debug_aranges 20 0
.debug_pubnames 203 0
.debug_info 370 0
.debug_abbrev 134 0
.debug_line 484 0
.debug_str 224 0
Total 2102

AVR Memory Usage:
-----------------
Device: attiny13
Program: 654 bytes (63.9% Full)
(.text + .data + .bootloader)
Data: 19 bytes (29.7% Full)
(.data + .bss + .noinit)
-------- end --------
Build succeeded with 0 Warnings...

Сейчас:
Size after:
bat_meter.elf :
section size addr
.text 1130 0
.data 8 8388704
.bss 19 8388712
.debug_aranges 32 0
.debug_pubnames 302 0
.debug_info 510 0
.debug_abbrev 134 0
.debug_line 666 0
.debug_frame 64 0
.debug_str 291 0
Total 3156
-------- end --------
Build succeeded with 0 Warnings...
Go to the top of the page
 
+Quote Post
aesok
сообщение Jan 25 2009, 20:22
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 596
Регистрация: 26-05-06
Из: Москва
Пользователь №: 17 484



Обратите внимание на размер секции .text. Он больше чем размер флеш.

Цитата(TechMike @ Jan 25 2009, 20:29) *
Сейчас:
Size after:
bat_meter.elf :
section size addr
....
.text 1130 0
...


Анатолий.
Go to the top of the page
 
+Quote Post
TechMike
сообщение Jan 25 2009, 20:25
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 130
Регистрация: 30-07-08
Из: Moscow
Пользователь №: 39 302



Цитата(aesok @ Jan 25 2009, 23:22) *
Обратите внимание на размер секции .text. Он больше чем размер флеш.



Анатолий.


Это я для примера сделал выдержки из проектов, что под рукой были.
"было" для timy13, "сейчас" для mega16, т.е. 1130 байт для mega16 это семечки.
Go to the top of the page
 
+Quote Post
aesok
сообщение Jan 25 2009, 20:27
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 596
Регистрация: 26-05-06
Из: Москва
Пользователь №: 17 484



Тогда нужен Ваш Makefile, для анализа.

Анатолий.
Go to the top of the page
 
+Quote Post
TechMike
сообщение Jan 26 2009, 07:08
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 130
Регистрация: 30-07-08
Из: Moscow
Пользователь №: 39 302



Цитата(aesok @ Jan 25 2009, 23:27) *
Тогда нужен Ваш Makefile, для анализа.

Анатолий.


Присоединил, сразу скажу, что при переходе на "новый" gcc, ничего не менял в нем. Может в этом и проблема.
Go to the top of the page
 
+Quote Post
kurtis
сообщение Jan 26 2009, 15:54
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 466
Регистрация: 21-06-05
Пользователь №: 6 205



Покажите с какими ключами у вас avr-size вызывается. Попробуйте подкорректировать Makefile для avr-size по такому шаблону (взято из примеров для scmRTOS http://sourceforge.net/project/showfiles.p...ckage_id=210853 )
Код
SIZE    := avr-size
...
ELFSIZE = $(SIZE) --format=avr --mcu=$(MCU)
...
printok:  $(TRGELF)
    echo ======== All OK,  project size:; $(ELFSIZE) $<
Go to the top of the page
 
+Quote Post
EvgenWL
сообщение Jan 26 2009, 16:06
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 88
Регистрация: 20-10-06
Из: Иваново
Пользователь №: 21 504



TechMike

В WinAVR 20050214 использовался файл avr-mem.sh в подкаталоге WinAVR\bin\ Но в следующей версии его вроде убрали.

а в makefile строки его вызова:
Код
# Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) -A $(TARGET).elf
AVRMEM = avr-mem.sh $(TARGET).elf $(MCU)

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

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


Сообщение отредактировал EvgenWL - Jan 26 2009, 17:01
Прикрепленные файлы
Прикрепленный файл  avr_mem.rar ( 1.12 килобайт ) Кол-во скачиваний: 29
 
Go to the top of the page
 
+Quote Post
TechMike
сообщение Jan 26 2009, 21:15
Сообщение #8


Частый гость
**

Группа: Свой
Сообщений: 130
Регистрация: 30-07-08
Из: Moscow
Пользователь №: 39 302



Цитата(EvgenWL @ Jan 26 2009, 19:06) *
TechMike

В WinAVR 20050214 использовался файл avr-mem.sh в подкаталоге WinAVR\bin\ Но в следующей версии его вроде убрали.

а в makefile строки его вызова:
Код
# Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) -A $(TARGET).elf
AVRMEM = avr-mem.sh $(TARGET).elf $(MCU)

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

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


Подложил файлик в bin, все стало отображаться. Респект EvgenWL!
Тема закрыта, всем спасибо.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th June 2025 - 17:53
Рейтинг@Mail.ru


Страница сгенерированна за 0.01411 секунд с 7
ELECTRONIX ©2004-2016