Добавил -mstrict-X и -maccumulate-args - раздувает...
Цитата
Device: atmega32
Program: 32842 bytes (100.2% Full)
(.text + .data + .bootloader)
Data: 880 bytes (43.0% Full)
(.data + .bss + .noinit)
Только -mstrict-X:
Цитата
Device: atmega32
Program: 32466 bytes (99.1% Full)
(.text + .data + .bootloader)
Data: 880 bytes (43.0% Full)
(.data + .bss + .noinit)
Мой оригинальный вариант, что я приводил ранее:
Цитата
Device: atmega32
Program: 32476 bytes (99.1% Full)
(.text + .data + .bootloader)
Data: 880 bytes (43.0% Full)
(.data + .bss + .noinit)
Насчет задач... В промышленных вариантах я бы не подставлялся под ограничение ПЗУ, так как развитие функциональности всегда возникает... и заполняет всю предоставленную память. Способ снижения себестоимости за счет процессора - на мой взгляд спорно. Тут можно и с каждой функцией индивидуально заняться, хотя это вопрос к взаимодействию с заказчиком. К примеру выяснилось, что использование резисторных сборок вместо отдельных деталей снижает стоимость сборки на станке. Общеизвестно, что трухольные компоненты тоже удорожают.
Цитата
У вас просто нет задачи уложить весьма функциональную прошивку в 8 или 16 килобайт
Есть одна конструкция - радиолюбительское связное устройство SW2011..SW2013 в разных модификациях. Его автор собирает и рассылает с Украины. В трансивере стоит ATMEGA32. И всякие доработки программы должны оставить возможность перешить прошивку на новую не заменяя процессор. Программу для этого устройства делал я, вот и стараюсь утрамбовать. Косвенно, хорошая оптимизация -OS положительно и на производительности сказывается, разумеется за исключением таких способов как -mcall-prologues.
Сообщение отредактировал Genadi Zawidowski - Sep 16 2014, 09:37