wcg6268 发表于 2013-2-21 23:52:16

WINAVR+GCC编译器太痛苦了

第一点,我差不多的程序,另外一个芯片做的,编译不到5K,GCC弄出来快8K了,已经用的是0s, 差点就放不下.

第二点,稍微复杂的算法,编译调试不行,整半天看完反汇编不对,调整下才能行。非常痛苦,非常的郁闷,这么强大的芯片不能只用来做简单的控制吧。

期待大神弄个其他编译器,共享下。

xwkm 发表于 2013-2-23 14:44:12

算法不一样空间也不一样。指令集不一样占用空间不一样。AVR的代码密度和51能比吗

Elec_Ramble 发表于 2013-4-21 10:28:33

个人感觉还行,以前一直用WinAVR
来自:amoBBS 阿莫电子论坛 Windows Phone 7 客户端

liuqian 发表于 2013-5-31 20:18:45

GCC编译器都不行,估计没什么编译器能达到你的要求了

i55x 发表于 2013-5-31 20:29:00

果断换iar,当年用iar编出来的代码如果有100%大的话,gcc -O2的大小要有160%,-O3要有135%,但是-O3出来的代码经常不能用。

wcg6268 发表于 2013-5-31 20:56:25

liuqian 发表于 2013-5-31 20:18 static/image/common/back.gif
GCC编译器都不行,估计没什么编译器能达到你的要求了

用事实说话才有根据。如果编译后代码远小于芯片代码当然无所谓,同样的8K,别的芯片用IAR可以完成,GCC就搞不定,你才会知道痛苦。

wcg6268 发表于 2013-5-31 20:56:46

i55x 发表于 2013-5-31 20:29 static/image/common/back.gif
果断换iar,当年用iar编出来的代码如果有100%大的话,gcc -O2的大小要有160%,-O3要有135%,但是-O3出来的 ...

{:handshake:}

dupeiyuan 发表于 2013-5-31 21:05:43

IAR我还是非常喜欢的,就是贵!
另外我觉得,AVR的代码密度,可以比得上51.

nuoya99 发表于 2013-5-31 22:32:09

论坛以前好像有个gcc和iar的编译效果对比啊
当时看了那个对比,才学gcc的,这....

shawn_bu 发表于 2013-5-31 22:39:58

我这里WinAVR-20100110在windows7 64位机器上面编译特别慢哪位大神知道怎么回事?clean all操作也非常慢,差不多要等一分钟。在XP上面刷刷的几秒钟的事情。

yubsh@163.com 发表于 2013-5-31 23:20:53

gcc编译的代码量确实不如IAR,如果有浮点运算,差别更是明显。

WINAVR不如换成ATMEL STUDIO或者AVR STUDIO,反正都是GCC编译器,早换早省事。

millwood0 发表于 2013-5-31 23:29:09

WINAVR+GCC编译器太痛苦了

Without specific code demonstrating the flaws you are implying about the compiler, it is just whining.

No matter how good a compiler is, in the hands of incompetent programmers, it can always perform badly.

moon0213 发表于 2013-6-1 00:32:30

millwood0 发表于 2013-5-31 23:29 static/image/common/back.gif
Without specific code demonstrating the flaws you are implying about the compiler, it is just whin ...

I agree with you!

kanprin 发表于 2013-6-1 01:57:04

gcc是需要调教滴。好用在于规则由你定。

时代还怪 发表于 2013-9-10 11:09:54

shawn_bu 发表于 2013-5-31 22:39 static/image/common/back.gif
我这里WinAVR-20100110在windows7 64位机器上面编译特别慢哪位大神知道怎么回事?clean all操作也非常慢, ...

同问,我的机器win7 64也是

lryylryy 发表于 2013-9-10 11:53:11

本帖最后由 lryylryy 于 2013-9-10 11:54 编辑

你要是有时间,可以跑跑TI的测试代码,本来TI是用于MSP430的对比测试,我拿来测试了一下不同编译器的风格。具体搜索SLAA205这个PDF。

这些小段程序,IAR的code尺寸比gcc是有明显优势。但是你得考虑boot code和library尺寸的区别。越是自己构建的、越大的系统,生成的代码尺寸差别越不明显。

我对比了IAR和GCC(时间久远版本忘记了)生成的代码,并用模拟器跑了一下看看运算周期,得到的结论大致如下:

IAR的整点算术运算性能稍强,浮点运算能力强很多
GCC的循环和分支能力强大约25%

当然,如果你有时间,可以自己优化gcc的浮点运算库。考虑价格,我还是觉得gcc更适合使用。

ab1212144 发表于 2013-9-11 14:39:34

确实很痛苦,听了楼上各位所讲…。

malsvent 发表于 2013-9-11 16:04:45

编译很慢很多时候是杀毒软件造成的
gccavr在win7 64下算是很快了

如果你试过iccavr等那些带dongle的
你才真的会等到想翻桌

liumaojun_cn 发表于 2013-9-11 17:09:39

觉得还是IAR好。

leexy 发表于 2013-9-11 19:39:39

话说IAR开发环境如何看代码调用关系啊,只能看到定义关系啊

qlb1234 发表于 2013-9-11 21:28:00

這是很簡單的問題嘛。
如果證明IAR好過GCC,那就花錢買一套IAR吧。
但同時需要考慮,如果不買IAR,那就將這部份資金,用來將8k flash的型號,升級成16k的型號,還要注意計算最終產量。
兩者比較一下,哪種方式省錢,就用哪種吧。

yzz163 发表于 2013-9-12 10:06:37

IAR好,多少钱一套呀。。。
WinAVR +Gcc 多少钱一套,哪个开发资料多?!

你的产品用量有多大? 在乎多1K flash,时间要求严格吗?

玩的话,就无所谓了。
页: [1]
查看完整版本: WINAVR+GCC编译器太痛苦了