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

 
 
> avr-gcc 4.9.2, windows бинарники
Genadi Zawidowsk...
сообщение Sep 12 2014, 19:10
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Взято тут: http://netcologne.dl.sourceforge.net/proje...-12_mingw32.zip

gcc version 4.9.2 20140912 (prerelease) (GCC):

Цитата
AVR Memory Usage
----------------
Device: atmega644pa

Program: 32754 bytes (50.0% Full)
(.text + .data + .bootloader)

Data: 936 bytes (22.9% Full)
(.data + .bss + .noinit)



gcc version 4.7.2 (AVR_8_bit_GNU_Toolchain_3.4.2_939):

Цитата
AVR Memory Usage
----------------
Device: atmega644pa

Program: 32942 bytes (50.3% Full)
(.text + .data + .bootloader)

Data: 936 bytes (22.9% Full)
(.data + .bss + .noinit)


Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Genadi Zawidowsk...
сообщение Sep 15 2014, 15:30
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Ну честно скажу, такую "простыню" я пробовал крайне давно засовывать в проект. Сейчас мои флаги выглядят так:

Цитата
avr-gcc -mmcu=atmega644pa -Wall -gdwarf-2 -std=gnu99 -flto -DF_CPU=10000000UL -Os -fsigned-char -MD -MP -MT st7735.o -MF dep/st7735.o.d -c ../st7735.c


И не забыть -Os -flto линкеру сказать.

Сообщение отредактировал Genadi Zawidowski - Sep 15 2014, 15:33
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Sep 16 2014, 06:33
Сообщение #3


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(Genadi Zawidowski @ Sep 15 2014, 19:30) *
Ну честно скажу, такую "простыню" я пробовал крайне давно засовывать в проект. Сейчас мои флаги выглядят так:

Это вы зря.
Там есть воистину убойные ключи:
Цитата
CFLAGS += -mcall-prologues
CFLAGS += -mstrict-X
CFLAGS += -maccumulate-args
CFLAGS += -flto
CFLAGS += -ffunction-sections
CFLAGS += -fdata-sections
CFLAGS += -mrelax
Первый из них, конечно снижает производительность прошивки в целом, но когда надо впихнуть невпихуемое без него никак...
Вторые два ключика появились в gcc-4.7.0 и тоже работают волшебно.
Собственно как и остальные.

У вас просто нет задачи уложить весьма функциональную прошивку в 8 или 16 килобайт для снижения себестоимости серийного изделия.
Поэтому вы и не используете всевозможные оптимизации.

Цитата
И не забыть -Os -flto линкеру сказать.
Ну это разумеется:
Код
%.elf: $(OBJ)
    @echo $(MSG_LINKING) $@
    $(CC) $(ALL_CFLAGS) $^ --output $@ $(LDFLAGS)


PS: Я считаю, что имеет смысл сравнивать разные версии компиляторов на максимально возможной оптимизации (по скорости или объёму - кому что нужно).


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 02:17
Рейтинг@Mail.ru


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