[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [avr-gcc-list] WINAVR with GCC 4.3.3
From: |
larry barello |
Subject: |
RE: [avr-gcc-list] WINAVR with GCC 4.3.3 |
Date: |
Mon, 22 Jun 2009 09:53:45 -1000 |
I have spent a fair amount of time trying out various compiler options and
this is what I settled on for large projects. A lot of suggested options
made no significant difference in my projects however, your mileage may
vary, so give em a try and see what happens:
CFLAGS += -funsigned-bitfields -fpack-struct -fshort-enums
CFLAGS += -fno-inline
#CFLAGS += -fno-inline-small-functions
#CFLAGS += -finline-limit=3
#CFLAGS += --param inline-call-cost=2
#CFLAGS += -fno-if-conversion
#CFLAGS += -fno-split-wide-types
CFLAGS += -mcall-prologues
CFLAGS += -Wall -Wstrict-prototypes
For a small project (e.g. tiny26) I think explicit inlining works best. For
larger projects (as above) the biggest win was call-prologues. The
"inline-limit=2" worked as well or better than explicit inlining, but since
I inline for specific reasons, I just keep it explicit.
you might find this #define useful
#define _INLINE_ static inline __attribute__((always-inline))
as in
_INLINE_ void SomeFunction(void) {}
-----Original Message-----
From: address@hidden
[mailto:address@hidden On Behalf Of
Royce Pereira
Sent: Monday, June 22, 2009 6:37 AM
To: address@hidden
Subject: Re: [avr-gcc-list] WINAVR with GCC 4.3.3
Hi,
I have a project built around a Tiny26.
It was compiled with WinAVR-20070525.
I'd stuck to this version for a long time, until recently when I upgraded to
20090313.
Soon after, I had to recompile my project due some change in specs.
Imagine my shock when AVRstudio complained that the hex file was too big for
the device !
Upon further checking I found the code size at 2234 bytes - correctly too
big for the tiny26.
I quickly compiled with the older WinAVR, and the code size was back to
original- 1760 bytes ...whew - tears of relief !!
The new WinAVR bloated the code by about 500 bytes . Wow.
Various posts on this list have indicated that each new release bloats the
code ??
If that is true, then, by 2012, I'll have to redesign my current Tiny2313 /
Tiny26 projects around a Mega128 :-)) !!!
(lol)
Regards,
--Royce.
_______________________________________________
AVR-GCC-list mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/avr-gcc-list
No virus found in this incoming message.
Checked by AVG - www.avg.com
Version: 8.5.339 / Virus Database: 270.12.78/2185 - Release Date: 06/22/09
06:54:00