Цитата
Сейчас использую WinAVR 20050214, использовал 20070122, но код получался больше.
Попробуйте 2006, ИМХО на сегодня самый качественный.
Цитата
либо переносить некоторые функции на чистый ASM, либо использовать какой-нибудь продвинутый компилятор.
Не знаю, получится ли выжать 20% места, но попробуйте следующее:
Скомпилируйте в асм (или гляньте листинг) и попробуйте посмотреть, где можно ужаться. Обычно это два места - вызовы функций и start-up (gcc часто вставляет туда много лишнего). В принципе по этому же листингу можно пробежатся ручками и подсунуть асму.
Возиться с ИАРом не советую - гемора с переносом кода может быт много, а 20% разницы для хорошо написанного кода врядли даст.