EmbeddedRelated.com
Forums
Memfault Beyond the Launch

which C-compiler produces the smallest code size?

Started by rattencremesuppe September 14, 2004
Hi,

I'm about to start my first MSP430 project. I'll have to write a
fairly complex firmware but can only use the 60K on-chip flash.

I've used the GCC in some Linux projects and while it's a standard and
a portable solution, I suspect that commercial compilers may
outperform it w.r.t smaller code size of compiled C-code.

What compilers do you use, when code size is crucial?

Regards,
Patrick





Beginning Microcontrollers with the MSP430

Assembler.

rattencremesuppe wrote:

> Hi,
> 
> I'm about to start my first MSP430 project. I'll have to write a
> fairly complex firmware but can only use the 60K on-chip flash.
> 
> I've used the GCC in some Linux projects and while it's a
standard and
> a portable solution, I suspect that commercial compilers may
> outperform it w.r.t smaller code size of compiled C-code.
> 
> What compilers do you use, when code size is crucial?
> 
> Regards,
> Patrick
> 
> 
> 
> 
> 
> 
> 
> .
> 
>  
> Yahoo! Groups Links
> 
> 
> 
>  
> 
> 


Patrick,

As Arnie says, "I have extensive files..." 

--
Paul Curtis, Rowley Associates Ltd http://www.rowley.co.uk
CrossWorks for MSP430, ARM, and (soon) Atmel AVR processors 

> -----Original Message-----
> From: rattencremesuppe [mailto:tricknology@tric...] 
> Sent: 14 September 2004 06:49
> To: msp430@msp4...
> Subject: [msp430] which C-compiler produces the smallest code size?
> 
> Hi,
> 
> I'm about to start my first MSP430 project. I'll have to 
> write a fairly complex firmware but can only use the 60K 
> on-chip flash.
> 
> I've used the GCC in some Linux projects and while it's a 
> standard and a portable solution, I suspect that commercial 
> compilers may outperform it w.r.t smaller code size of 
> compiled C-code.
> 
> What compilers do you use, when code size is crucial?
> 
> Regards,
> Patrick
> 
> 
> 
> 
> 
> 
> ------------------------ Yahoo! Groups Sponsor 
> --------------------~-->
> $9.95 domain names from Yahoo!. Register anything.
> http://us.click.yahoo.com/J8kdrA/y20IAA/yQLSAA/CFFolB/TM
> --------------------------
> ------~-> 
> 
> .
> 
>  
> Yahoo! Groups Links
> 
> 
> 
>  
> 
> 
> 

<LMFAO>

You just won't let it lie, eh?! <G>


Assembler.

rattencremesuppe wrote:

> Hi,
> 
> I'm about to start my first MSP430 project. I'll have to write a
> fairly complex firmware but can only use the 60K on-chip flash.
> 
> I've used the GCC in some Linux projects and while it's a
standard and
> a portable solution, I suspect that commercial compilers may
> outperform it w.r.t smaller code size of compiled C-code.
> 
> What compilers do you use, when code size is crucial?
> 
> Regards,
> Patrick
> 
> 
> 
> 
> 
> 
> 
> .
> 
>  
> Yahoo! Groups Links
> 
> 
> 
>  
> 
> 




.

 
Yahoo! Groups Links



 



Robert Wood wrote:
> <LMFAO>
> 
> You just won't let it lie, eh?! <G>

You can't teach an old dog new tricks!

Al

> 
> 
> Assembler.
> 
> rattencremesuppe wrote:
> 
> 
>>Hi,
>>
>>I'm about to start my first MSP430 project. I'll have to write
a
>>fairly complex firmware but can only use the 60K on-chip flash.
>>
>>I've used the GCC in some Linux projects and while it's a
standard and
>>a portable solution, I suspect that commercial compilers may
>>outperform it w.r.t smaller code size of compiled C-code.
>>
>>What compilers do you use, when code size is crucial?
>>
>>Regards,
>>Patrick
>>
>>
>>
>>
>>
>>
>>
>>.
>>
>> 
>>Yahoo! Groups Links
>>
>>
>>
>> 
>>
>>
> 
> 
> 
> 
> 
> .
> 
>  
> Yahoo! Groups Links
> 
> 
> 
>  
> 
> 
> 
> 
> 
> .
> 
>  
> Yahoo! Groups Links
> 
> 
> 
>  
> 
> 


Hi Patrick,

I have done a comparison between GCC 3.2.3 and the IAR compiler that was
packaged with my FET kit. (I don't know what version)

GCC produced significantly smaller code, as the IAR compiler pulled in
library functions to handle shift operations and simple integer maths.

In my opinion, GCC is a very capable and efficient compiler.

Regards
Shaun

-----Original Message-----
From: rattencremesuppe [mailto:tricknology@tric...]
Sent: Tuesday, September 14, 2004 8:49 AM
To: msp430@msp4...
Subject: [msp430] which C-compiler produces the smallest code size?


Hi,

I'm about to start my first MSP430 project. I'll have to write a
fairly complex firmware but can only use the 60K on-chip flash.

I've used the GCC in some Linux projects and while it's a standard and
a portable solution, I suspect that commercial compilers may
outperform it w.r.t smaller code size of compiled C-code.

What compilers do you use, when code size is crucial?

Regards,
Patrick







.

 
Yahoo! Groups Links



 


NOTICE OF CONFIDENTIALITY

The information contained in this e-mail message and in the documents
attached herewith (hereinafter "the message") is intended only for the
individual or the entity named above and is intended to be confidential.

The reading of the message or any retention, copying, dissemination,
distribution, disclosure of the existence of the message or of its contents,
or any other use of the message or any part thereof, by anyone other than
the intended recipient is strictly prohibited.  If you received this message
and you are not the intended recipient or agent responsible for the delivery
of this message to the intended recipient, please refrain from reading it
and notify us immediately by telephone +27 (11) 921-7900, so that we can
co-ordinate with you, erasure of the message.

Although this e-mail and its attachments are believed to be free of any
virus or other defect, it is the responsibility of the recipient to ensure
that they are virus-free, and no responsibility is accepted by this firm for
any loss or damage arising from receipt or use thereof.



Hi,

i generally aggree but if the code has dozenz of floats gcc produces bigger
code.

Rolf

msp430@msp4... schrieb am 15.09.04 08:44:41:
> 
> Hi Patrick,
> 
> I have done a comparison between GCC 3.2.3 and the IAR compiler that was
> packaged with my FET kit. (I don't know what version)
> 
> GCC produced significantly smaller code, as the IAR compiler pulled in
> library functions to handle shift operations and simple integer maths.
> 
> In my opinion, GCC is a very capable and efficient compiler.
> 
> Regards
> Shaun
> 
> -----Original Message-----
> From: rattencremesuppe [mailto:tricknology@tric...]
> Sent: Tuesday, September 14, 2004 8:49 AM
> To: msp430@msp4...
> Subject: [msp430] which C-compiler produces the smallest code size?
> 
> 
> Hi,
> 
> I'm about to start my first MSP430 project. I'll have to write a
> fairly complex firmware but can only use the 60K on-chip flash.
> 
> I've used the GCC in some Linux projects and while it's a
standard and
> a portable solution, I suspect that commercial compilers may
> outperform it w.r.t smaller code size of compiled C-code.
> 
> What compilers do you use, when code size is crucial?
> 
> Regards,
> Patrick
> 
> 
> 
> 
> 
> 
> 
> .
> 
>  
> Yahoo! Groups Links
> 
> 
> 
>  
> 
> 
> NOTICE OF CONFIDENTIALITY
> 
> The information contained in this e-mail message and in the documents
> attached herewith (hereinafter "the message") is intended only
for the
> individual or the entity named above and is intended to be confidential.
> 
> The reading of the message or any retention, copying, dissemination,
> distribution, disclosure of the existence of the message or of its
contents,
> or any other use of the message or any part thereof, by anyone other than
> the intended recipient is strictly prohibited.  If you received this
message
> and you are not the intended recipient or agent responsible for the
delivery
> of this message to the intended recipient, please refrain from reading it
> and notify us immediately by telephone +27 (11) 921-7900, so that we
can
> co-ordinate with you, erasure of the message.
> 
> Although this e-mail and its attachments are believed to be free of any
> virus or other defect, it is the responsibility of the recipient to ensure
> that they are virus-free, and no responsibility is accepted by this firm
for
> any loss or damage arising from receipt or use thereof.
> 
> 
> 
> 
> 
> .
> 
>  
> Yahoo! Groups Links
> 
> 
> 
>  
> 




Shaun,

> Hi Patrick,
> 
> I have done a comparison between GCC 3.2.3 and the IAR 
> compiler that was packaged with my FET kit. (I don't know 
> what version)
> 
> GCC produced significantly smaller code, as the IAR compiler 
> pulled in library functions to handle shift operations and 
> simple integer maths.

Actually, if you use some real benchmarks such as MiBench or the TI
benchmarksm GCC produces the worst code of the lot...  In one case, on
an MSP430F149, it won't fit an application into flash, whereas all other
compilers do.

What does that say?  Just that benchmarks are very subjective.  However,
GCC produces code far inferior to IAR, IMO.

--
Paul Curtis, Rowley Associates Ltd http://www.rowley.co.uk
CrossWorks for MSP430, ARM, and (soon) Atmel AVR processors 

Hi Shaun,

> I have done a comparison between GCC 3.2.3 and the
IAR compiler
that was
> packaged with my FET kit. (I don't know what
version)
> 
> GCC produced significantly smaller code, as the IAR compiler pulled
in
> library functions to handle shift operations and
simple integer
maths.

Thank you very much for your answer. I didn't really expect anymore to
get a sensible on-topic reply to my question and was about to
unsubscribe.
Now I'm convinced that this mailing list can still be helpful.

Thanks,
Patrick


Good day all,

The floating point comment is interest, thanks for that.
I have not as yet used floating point in an embedded design and so cannot
comment.
I always try to stick with fixed point arithmetic.

My benchmark used "real world code" from an existing project.
It was basically a collection of CRC, BIN to BCD and a bunch of other non
platform specific code.

Regards
Shaun

-----Original Message-----
From: Paul Curtis [mailto:plc@plc@...]
Sent: Wednesday, September 15, 2004 9:41 AM
To: msp430@msp4...
Subject: RE: [msp430] which C-compiler produces the smallest code size?


Shaun,

> Hi Patrick,
> 
> I have done a comparison between GCC 3.2.3 and the IAR 
> compiler that was packaged with my FET kit. (I don't know 
> what version)
> 
> GCC produced significantly smaller code, as the IAR compiler 
> pulled in library functions to handle shift operations and 
> simple integer maths.

Actually, if you use some real benchmarks such as MiBench or the TI
benchmarksm GCC produces the worst code of the lot...  In one case, on
an MSP430F149, it won't fit an application into flash, whereas all other
compilers do.

What does that say?  Just that benchmarks are very subjective.  However,
GCC produces code far inferior to IAR, IMO.

--
Paul Curtis, Rowley Associates Ltd http://www.rowley.co.uk
CrossWorks for MSP430, ARM, and (soon) Atmel AVR processors 



.

 
Yahoo! Groups Links



 


NOTICE OF CONFIDENTIALITY

The information contained in this e-mail message and in the documents
attached herewith (hereinafter "the message") is intended only for the
individual or the entity named above and is intended to be confidential.

The reading of the message or any retention, copying, dissemination,
distribution, disclosure of the existence of the message or of its contents,
or any other use of the message or any part thereof, by anyone other than
the intended recipient is strictly prohibited.  If you received this message
and you are not the intended recipient or agent responsible for the delivery
of this message to the intended recipient, please refrain from reading it
and notify us immediately by telephone +27 (11) 921-7900, so that we can
co-ordinate with you, erasure of the message.

Although this e-mail and its attachments are believed to be free of any
virus or other defect, it is the responsibility of the recipient to ensure
that they are virus-free, and no responsibility is accepted by this firm for
any loss or damage arising from receipt or use thereof.




Memfault Beyond the Launch