armok
发表于 2004-12-13 17:00:19
armok
发表于 2004-12-13 17:01:06
leen
发表于 2004-12-13 17:06:41
我之前一直用汇编的,前一端时间一直苦于选择哪种C语言,现在好了,既然有人提出GCC,那我也来报个名跟着学吧!
pulan
发表于 2004-12-13 17:14:24
虽然俺是初学,还是要做一回跟屁股虫
polarisdll
发表于 2004-12-13 17:16:13
前段时间也决定转到GCC了,目前还是ICC和GCC一起用用,对GCC还是不甚熟悉
jeewood
发表于 2004-12-13 17:21:25
加我一个frezgo@msn.com
lanmp
发表于 2004-12-13 17:26:36
一直想推荐别人用WinAVR,不过看到阿莫说“如果你想在本网站能找到人交流,比如与我交流的话...”很有种威胁的语气就咽回去了。
ant.
发表于 2004-12-13 17:29:20
我用GCC有二年多了,当初好象PN还很简单,只好用UE。到现在还把它忽略。
这几天试试PN,发觉也不错。
用GCC,很多人害怕它的makefile,也有很多资料教你如何编辑它,理解它。开始我也这样做了。不过后来发觉,一般用途时,根本不用这么麻烦。最简单的是步骤是:
1)从WinAVR下直接Copy来了一个makefile;
2)打开makefile改型号;
3)当*.c文件增加时,再打开makefile增加*.c文件名。
其他的不动。
armok
发表于 2004-12-13 17:30:33
ant.
发表于 2004-12-13 17:40:13
另外用GCC还有个好处,GCC有很多其他编译器,例如ARM。
我曾经做个项目,涉及AVR与ARM,都用GCC编译,简单就象做一个程序一样。
Grant
发表于 2004-12-13 17:50:12
看了jeewood的文档,也禁不起诱惑,装了个WinAVR。
发现一个好玩的地方。我new个pj,发现在左边有一个clips的标签,点了一下,发现里面可以定做类似与模板的功能。
我在winavr按照目录下找到pn\clips\里面有四个文件,打开winavr.clips一看,呵呵,都在这里。这个文档竟然是用XML写的。
我自己加了几个函数,完全可以自己定做一些函数模板,可惜不支持中文,不过没关系。
下面是我改的
<?xml version="1.0"?>
<clips name="WinAVR">
<clip name="Application"><![CDATA[
#include <avr/io.h>
static void avr_init(void);
int main(void)
{
avr_init();
for(;;)
{
// Tasks here.
}
return(0);
}
static void avr_init(void)
{
// Initialize device here.
| -->这个符号表示函数出现时光标会,默认停在这里
return;
}
]]>
</clip>
<clip name="Function"><![CDATA[
static void |(void)
{
}
]]>
</clip>
//---下面就是我加的啦,呵呵,看来以后可以定做自己函数--//
<clip name="App_1"><![CDATA[
void |(void)
{
//Add code
}
]]>
</clip>
<clip name="App_2"><![CDATA[
static void |(void)
{
}
]]>
</clip>
<clip name="App_3"><![CDATA[
void |(void)
{
}
]]>
</clip>
</clips>
armok
发表于 2004-12-13 17:53:40
bucker
发表于 2004-12-13 17:57:47
我也学一学吧,过去总是没有解决优化的问题,不知谁能叫一下怎样优化.
zieous
发表于 2004-12-13 17:58:01
hao
ant.
发表于 2004-12-13 18:03:10
AVR-GCC与AVR单片机的C语言开发 这本书广州有打折的买,翻一下,觉得新意不多。一部分是GCC帮助的,一部分是C的知识。
AVR单片机C语言开发入门指导中也提到GCC,但基本是抄GCC的帮助。
如果作为翻译资源来看,买来也不错吧。
hero219
发表于 2004-12-13 18:38:23
好啊好啊,让我也来报一个名,
一个完完全全的新人,
对用什么还没有太好的认识,
跟着大家走
lurker_soo
发表于 2004-12-13 18:43:09
看来我也得转用GCC了.因为公司最近严令禁止用盗版软件.本来已经下定决心用IAR了的,看来只有转GCC了.
Miker
发表于 2004-12-13 18:46:01
以前用winavr的时候,只在21IC上有一些讨论,大多数时间还是在老外的网站里潜水,不停地搜来搜去,苦于不通英语(只能看得懂一些,无法交流),学起来很费力。这下好了,大家互相讨论,互相提高。
jeewood
发表于 2004-12-13 19:34:07
至于Makefile GCC有makefile wizard.非常简单,只要设定几个简单项就可以了,如Main file name(最好与你的C语言主要文件名一致,否则在C/C++ source files项中设定),MCU type就可以了,当然了解一下其它选项也不错的.
lanmp
发表于 2004-12-13 19:46:53
别买那本 AVR-GCC与AVR单片机的C语言开发 ,我买了(不是自己掏钱),一点用都没有,基本上就是中文的avr-libc-user-manual,讲了一点vmlab,不过很简略,好像只有一个例子,我就是翻了几页就扔一遍了。
HJJourAVR
发表于 2004-12-13 20:23:48
虽然我现在用的是IAR。
不过我将来的选择是GCC。
因为GCC
无所不在。不但AVR,很多微处理器(包括32位的ARM)都有GCC编译器。
完全免费。
不断升级。
这段时间,我看了一下ARM方面的资料,想用任天堂的GBA掌上游戏机(RMB680)来学习ARM,比市面的ARM7学习板便宜多了,而且带大大的彩色LCD,64M卡带才RMB40多(注意:是64Mbit=8MB=4MWord)。
用GBA学习也有不好地方:硬件固定了,IO口不多,BIOS是Nintendo的。
我想,能驱动GBA也算学会了ARM.
不过现在NDS(ARM9核心,更强劲的游戏机)刚出来,GBA的价格将会跌的更厉害,再等半年吧。
(高端ARM,低端的AVR我也不会放弃的!)
http://cache.amobbs.com/bbs_upload782111/files_1/armok0116982.jpg
补充:
听说: 90%的手机都是ARM核心
确定: 我家的R410路由器就是ARM9核心。
hotpower
发表于 2004-12-13 21:06:24
阿莫今天没喝酒吧...动真格的了???
佛主慈悲为怀了...现在确实是"义举"的好时机,...不能跟着别人的感觉走呀...
这样总给人们留下宣扬"正版软件"的美名...
否则,有人问: "站长您用的ICCAVR是正版的吗???"
教主肯定会仰起头来大声地说:"Yes!!!"(转过身去脸由白转红后变紫青)...为此,腰痛了好几天...
不知者还认为教主酒精中毒了...
armok
发表于 2004-12-13 21:09:39
cpu100
发表于 2004-12-13 21:15:05
我也打算将来转向 gcc avr,毕竟是国际通用标准。只是可能移植起来会有点麻烦?那位大虾 知道?
armok
发表于 2004-12-13 21:22:47
jeewood
发表于 2004-12-13 21:30:45
移植肯定是可能的,只是工作量的问题。我可以将C的代码移入BASIC,其实这已经不叫移植,而是“参照”了!:) 另外移植主要是指从这一种硬件环境换入另一种硬件环境。如果说编译器本身技持这种硬件,移植问题几乎不存在。(主要就要看编译器涉及的面的问题了!)
-----此内容被jeewood于2004-12-13,21:40:03编辑过
hotpower
发表于 2004-12-13 21:53:10
报告教主:刚有个网友给了一个老外的链接,我竟然没有找出半个"ICCAVR"的字样,但WINAVR和GCCAVR却一大堆...好象老外只会用WINAVR(GCCAVR)....
http://www.edaboard.com/viewtopic.php?t=88483&postdays=0&postorder=asc&highlight=8051+%2CPIC+%2CAVR+%3F%3F%3F%3F%3F&start=30
testcode
发表于 2004-12-14 06:04:09
我也正在使用。Winavr其实挺好用的,生成的代码效率很高,而且是免费的。
曾试过ICCAVR,生成的代码效率很低(比较与IAR) 。
我曾用一段 ( Wait(unsigned int tenthsMS) ;//延时)代码测试,用IAR生成的代码正好产生1秒延时(Wait(10000);),但ICCAVR生成的代码(Wait(10000);)产生大约5秒延时...
但IAR设置挺烦的...
附:
void Wait(unsigned int tenthsMS)
{
long delay;
delay =tenthsMS;
delay = delay * (long)(CLOCKFREQ * 0.0001);
delay = delay - 118;
delay = delay >> 4;
while(delay > 0){
delay--;
_NOP();
_NOP();
_NOP();
_NOP();
}
}
9810956
发表于 2004-12-14 07:57:45
我现用ICC AVR 完成手头项目也加入GCC
jackiezeng
发表于 2004-12-14 07:59:50
跟着各位大哥的脚步走~~~!
Jacky
发表于 2004-12-14 08:41:15
一大早就看到这个消息,真是高兴,早就想转入GCC了,现在有好的理由了。
wamaggie
发表于 2004-12-14 11:21:02
刚从汇编转到ICCAVR,现在又要转成GCC,累啊!
不过看了lanmp的留言:阿莫说“如果你想在本网站能找到人交流,比如与我交流的话...”很有种威胁的语气就咽回去了。
算了,我还是换吧!./emotion/em019.gif
armok
发表于 2004-12-14 11:29:33
jsjh
发表于 2004-12-14 13:24:46
以前www.avrfreaks.net首页有一个使用AVR C编译器的统计调查,WinAVR使用率一直遥遥领先.只是出于商业原因国内没有对winavr提供技术支持的.
教主又将做一件大快人心的事
jiangbibo
发表于 2004-12-19 22:32:56
我也来报一个名,我以前用的是PIC,编译器为HI-TECH的PICC。
用GCC AVR,为以后真正用自由软体做准备吧,现用Windows,以后一定得用Linux
greatsnows
发表于 2004-12-19 22:43:45
加我greatsnows@hotmail.com,一起学习。
tugen
发表于 2004-12-19 23:34:47
我一直是GCC的支持者,可惜没有支持51的,所以做51的程序只能用keil。
DEF_
发表于 2004-12-20 00:14:58
我用GCC
GCC为什么没有支持51,是因为51堆栈太少移植困难
donkey
发表于 2004-12-20 21:22:43
报个名
powerboyll
发表于 2004-12-21 09:45:56
报名。
我已经成功使用gcc。并把芯艺 mod 的 timerpwm 等试验在 M16上完成。
biansf2001
发表于 2004-12-21 10:16:53
还没接触gcc,不会用阿,看看文档再说
chenpeng0407
发表于 2004-12-21 10:32:45
我也报个名,以后请大家多多支持
谢谢
fjdbj
发表于 2004-12-21 12:31:31
我也报个名,我一直在使用WINGCC
bonito
发表于 2004-12-21 19:03:39
一直都用GCC没用过别的,刚想发个帖子问问GCC有什么不足呢,为什么用的人这么少!
dengchongguang
发表于 2004-12-21 20:19:18
我也要学GCC.
mthink
发表于 2004-12-21 20:31:46
我跟了
Dong_mcu
发表于 2004-12-22 13:20:26
我一直关注着ouravr,实在仍不住要加入.
我刚作了一个程序,从ICC移植到GCC。
遇到了两个问题
1:在ICC下设的全局变量(如 i)用于在定时中断中的自加(i++;)然后在主程序中判断该变量是否加到需要值如100,( while(i!=100); )。在ICC下正常。但是移到GCC后当i应定时中断加到100时,它跳不出while(i!=100); 用avr studio仿真时就见它死在这条语句上而i还在往上加。
2: 用GCC自带的下载 Program,有时怎么没有把代码下载到AVR中只是做了擦除工作。
请各位友人帮忙,先谢了!
atommann
发表于 2004-12-22 14:04:59
while(i!=100);
能不能写成
while(i<100);
jeewood
发表于 2004-12-22 15:30:34
while(i<100)为 i在100以内不含一百.而while(i!=100)则仅在i不为一百时停止循环,i<100和i>100都将继续循环.如果你想让i从x开始到100就不在循环了,用i<100比较合适(更可靠),如果你仅在i为100时要退出循环的用while(!=100).因为i可以加,也可以减的.见下面实例:
i=0;
while(i<100){
i++;
}
i=10;
while(i<100){
i++;
}
i=1000;
while(i!=100){
i--);
}
i=1000;
while(i!=100){
if(i>100)i--;
if(i<100)i++;
}
i=50;
while(i<100){
i+=10;
}
.......
jacksmart
发表于 2004-12-22 15:58:32
我是刚开始学习GCC的,报个名先!
Dong_mcu
发表于 2004-12-22 18:35:32
谢谢atommann and jeewood .
我试了你们的方法可还是不行.程序如下:
/* MCU=mega8 */
#include "avr/io.h"
#include "avr/signal.h"
#include "avr/interrupt.h"
#include "delay.h"
unsigned int count;
//---------端口初始化-------------
void port_init(void)
{
DDRC=0xff;
PORTC=0xff;
DDRD=0xff;
PORTD=0xff;
}
//-------------------------------
void timer0_init(void)
{
TCCR0 = 0x00;
TCNT0 = 0xbe;
TCCR0 = (0<<CS02)|(1<<CS01)|(0<<CS00); //预分频比8
}
//--------------------------------
SIGNAL(SIG_OVERFLOW0)
{
TCNT2=0xbe;
count++;
}
//------------主程序---------------
int main(void)
{
TCNT2=0xbe;
port_init(); //端口初始化
timer0_init(); //初始化定时器T2
TIMSK =1<<TOIE0; //开放T0溢出中断
sei(); //开放全局中断
//========================
while(1)
{
count=0;
while(count<5);
PORTC=~PORTC;
}
}
---------------------------------------------------------------------
在AVRSTUDIO4.10中仿真:
http://cache.amobbs.com/bbs_upload782111/files_1/armok0119942.jpg
atommann
发表于 2004-12-22 19:11:56
你在前面定义了一个函数:
//--------------------------------
SIGNAL(SIG_OVERFLOW0)
{
TCNT2=0xbe;
count++;
}
其中用了count这个全局变量
这个函数没有在主函数中调用
不知道有没有影响
另外
while(count<5);
下面为什么看不到count自增呢?
比如
while(count<5);
{
PORTC=~PORTC;
count++;
}
-----此内容被atommann于2004-12-22,19:17:45编辑过
Dong_mcu
发表于 2004-12-23 12:43:03
其实这是个调试用的程序.我主要是想用定时器产生一个基时如10ms,作一个延时模块.
void delay(uint time)
{
TIMSK|=1<<TOIE0; //开放T0溢出中断
count=0;
while(count!=time) //or=while(count<time);
count=0;
TIMSK&=0xbf; //关T0溢出中断
}
以后用延时时调它就行.
下面的这个程序段是GCC中的中断处理函数(m8为例):
SIGNAL(SIG_OVERFLOW0)//定时中断0 也可写INTERRUPT(SIG_OVERFLOW0)与SIGNAL有区别.
{
TCNT2=0xbe;
count++;
}
在ICC中是:
#pragma interrupt_handler timer0_ovf_isr:10 //中断向量
...
void timer0_ovf_isr(void)
{
TCNT2=0xbe;
count++;
}
当然GCC自带的delay.h中的延时模块也挺好用(精确度较高),但终想用个下自己做的.
我就是想不明白这个方法在ICC中就行在GCC中怎么就是跳不过去.
谢谢!
lurker_soo
发表于 2004-12-23 13:54:14
請問Dong_mcu,關於GCC自帶的delay.h中的延时模块怎麼用,我用下面的方法始終不行,模擬時每次執行完PORTA=0X00;這一句就直接跳到}了。
#include <avr/io.h>
#include <avr/delay.h>
#include <inttypes.h>
int main(void)
{
uint8_t count=0xf0;
PORTA=0X00;
_delay_loop_1(count);
PORTA=0XFF;
while(1);
}
Dong_mcu
发表于 2004-12-24 13:17:35
回lurker_soo:
其实没有什么错误,是你的仿真方法有点问题.介意你用将光标执行到PORTA=0XFF;
因为你在单步执行的时候,执行到_delay_loop_1(count); 时PC指针跳到了它的内部函数代码段了(在delay.h中).如你想看的话介意你在用studio 调试时将反汇编调试窗口打开就可看到它在执行内部代码的过程了.
http://cache.amobbs.com/bbs_upload782111/files_1/armok0120462.jpg
lurker_soo
发表于 2004-12-24 14:04:08
果然是對的,謝謝Dong_mcu,這個可以實現精確定時,的確不錯,IAR也有類似的函數.
zhaoxi322
发表于 2004-12-24 14:18:34
我正准备学AVR,ICC软件试过了,停简单;再下载一个WINAVR试试吧,GCC是免费的,真好。我报名
cszhaoqm
发表于 2004-12-26 11:48:23
以前用51,现在准备用avr试试,菜鸟一只,新加入
shenxf
发表于 2004-12-31 19:57:50
Dong_mcu你的程序没有错,Makefile中的OPT=s改成OPT=0试试
zhangna_901887
发表于 2005-1-1 18:02:21
加我一个,早就想用GCC了,太好了,这里很快将是GCC的热门网站了.
zhangna_5@hotmail.com
shenxf
发表于 2005-1-1 20:28:59
也加我一个,已经用AVRGCC有一年了,希望与朋友们交流.
x_f_shen@sina.com
baplmqj
发表于 2005-1-2 09:28:23
我以前用ATmanAVR,那是傻瓜相机!!
为了提高基本功,我现在也报名用winGCC,
我如提出很菜的问题大家不要笑喔!
-----此内容被baplmqj于2005-01-02,09:31:00编辑过
1982wjn
发表于 2005-1-2 16:10:22
我喜欢免费的和不用花钱的
当然还要好的./emotion/em035.gif
zjgs_eb
发表于 2005-1-2 20:34:56
我一开始就是用的GCC,因为它免费!
qianwei
发表于 2005-2-3 20:15:44
想做GCC菜鸟
sam2004
发表于 2005-2-4 09:52:30
我也报名~
feng_zhao1983
发表于 2005-2-6 18:49:31
我刚开始使用WINAVR,就被折腾得够呛。装好软件后,在调入makefile后make all,但就是不能生成coff文件,这是怎么回事?有时候还会出现编译无法进行的现象,这是什么问题,怎么改正,我还没弄出一个coff文件来,我只用ICC弄出来过,由于刚接触AVR不久,听人说GCC挺好的,我就想学这个,还请各位大虾指点一下小弟!
madaha
发表于 2005-2-6 21:22:14
双龙告诉我GCC是免费的,但是无法生成COF文件,因此无法用AVR STDIO调试。
是真的吗?
各位用GGC编译,调试用啥?
hotpower
发表于 2005-2-6 22:28:14
哈哈,"GCC是免费的,但是无法生成COF文件,因此无法用AVR STDIO调试。"--天方夜潭不成???
如果GCC"无法生成COF文件",肯定"无法用AVR STDIO调试。"
问题是从没听说或遇到过此事!!!
uart
发表于 2005-2-7 02:06:48
我也和站长一样,也是从ICC开始的。
开始嘛,喜欢ICC简单的代码生成向导,很多东东都很方便的生成了。后来接触了GCC,而且积累的代码也多了,什么都可以捣鼓一下吧:D
个人感觉,GCC对循环的优化相当厉害(特别是空循环),居然用FOR,int 1~10000,和int 1~20000 (或者是LONG型1000000和2000000之类吧,忘了:P)的空循环时间是差不多的。后来习惯用定时器了,时间就精确得多了。
至于PN(以及PN2),对于编写单个程序是非常方便,而且易于浏览和修改,绝对是首选。但是对于多个c文件组成的一个项目程序,个人觉得还是SI方便很多:)
zhonghua_li
发表于 2005-2-7 15:15:23
<AVR-GCC与AVR单片机的C语言开发> 这本书我也买了,后来才发现上当了,完全就是对GCC用户手册的不完全翻译。我用GCC也有一个多月了,做了一个东西就是AVR模拟视频的。我想对于咱们这些要搞硬件的来说,有时候没法要与汇编打交道。所以一直想把 关于GCC混合汇编的东西给搞明白。现在会一点点了,“AVR模拟视频”就是这样做的 ,不过有些方面还不会,用户手册上也没找到例子。希望得到大家的帮助!
shenxf
发表于 2005-2-7 18:45:56
其实生成cof文件也很简单:make coff 和make extcoff 命令,make coff 生成AVR STDIO3.5的cof文件,make extcoff生成AVR STDIO4的cof文件。
feng_zhao1983
发表于 2005-2-7 19:43:40
我是在makefile里面设置生成extcoff文件,但是进行编译时就是生成不了coff文件或者说
main.o needed ,就是说软件的配置可能还存在问题。但是我不知道问题出在哪,也不知道怎么改,你们用的时候直接就成功了吗?我怎么会遇到这么多问题,奇怪了,难道WINAVR自带的makefile_template有问题?我在用demo里面的makefile进行编译时又能进行,这里这么多高手,哪位愿意出手帮小弟一把阿。
huasoft
发表于 2005-2-7 19:44:22
C/C++种类太多, GCC是通用性最强的.
版主的支持是学习GCC for AVR的绝好理由!
顶!
qwernet
发表于 2005-2-7 21:29:07
我现在也用WinAVR!
这两天写的CF卡读写程序和FAT系统都是用WinAVR写的。
shenxf
发表于 2005-2-8 14:33:37
to feng_zhao1983
你可以在Makefile文件中all:添加extcoff目标,这样就可以在make all 编译时生成extcoff文件,因为WinAvr的Makefile模板文件make all 不包括extcoff目标,因此用make all编译后,还要执行make extcoff命令
hotpower
发表于 2005-2-9 01:06:21
选用GCCAVR绝对正确...
simon
发表于 2005-2-9 23:50:23
既然GCC是免费的,那么还犹豫什么呢!算我一个哦!
xzpmcu
发表于 2005-2-10 06:50:00
我以前用汇编写AVR,C写51
现在采用GCCAVR,一步到位
爽呀,不过我还是不会用
加入菜鸟行列
有时间和大家讨论,
btw:我是搞模电的!数电比较菜!
freemanw
发表于 2005-2-10 20:33:39
刚刚开始使用,多多交流
hhh_ccboy
发表于 2005-2-11 00:02:13
这帖子被不停的顶,我当然少不了.开始是用ICCAVR的,还很喜欢他的向导功能,后来模仿其向导功能搞了个C51的向导出来呢.
现在转向了GCC了,用起来还可以,不过说实在的,就是没有一个好的IDE界面.但我想用多了就会习惯的了.WINAVR的语法还有个比较头痛的问题,就是CODE区的数组指针老是不好用,真希望以后的版本会改正这个缺点.
cyberboy
发表于 2005-2-11 10:36:24
唱个反调,用起来真的很麻烦,有IAR用时我是不会用。现在用GCC学MOTOROLA的CPU编程,没办法,只能用它,对于初学者上手慢,建议对所学MCU熟悉后再来学GCC,否则头大。
luckydog99
发表于 2005-2-13 22:17:58
我是搞PLC的,学AVR也有一段时间了,开始觉得汇编的简单,后来买了一部双龙公司的SLAVR+(RMB680)来做实验,发现好多程序都没用(我可不是照搬的,堆栈我都设了),想多找些这方面的书嘛,走遍了整个东莞,发现这方面的实在是太少了,我也找了关于GCC的,发现只有在LINUX的书上提到一些,但是我根本就没有接触过LINUX,C语言也只是在大学里学过,简单的C程序还是看得懂地,不知道我学GCC适不适合呢,那软件资料从何而来?又有哪位高人愿意指引迷津呢?
radiochina
发表于 2005-2-15 13:59:27
我是搞工控的,手上有支90S8515,想做个硬盘mp3,初步打算先用AVR,接下来再改成ARM。
先来报个名。已经下了本站的WINAVR,下一步向站长申请解码片子STA013和DA_片子CS4334,希望得到站长和大家的大力支持。谢谢了先!!!
-----此内容被radiochina于2005-02-15,14:27:56编辑过
hyk728
发表于 2005-2-18 07:55:15
我以前习惯用汇编,今报名学习C 望大家关照
zhaofree2001
发表于 2005-2-18 10:43:43
我也参加...
ljpfjfj
发表于 2005-2-18 12:50:57
我也算一个。
希望在大家的帮助下少走弯路。
lionmilk
发表于 2005-2-21 12:23:33
刚学会了WinAVR 的基本操作,感觉还不错,呵呵!
hello_lzh
发表于 2005-2-21 14:17:16
既然这么多的高手都要选用,呵呵那在下这个小菜鸟也要试一试啊,呵呵,顶
lei_yong
发表于 2005-2-26 20:06:09
本人正在用winavr做项目,希望和大家交流!
garbage_hu
发表于 2005-3-1 10:32:24
我以前用keil C 最近项目准备启用AVR单片机,我现在正在考虑选用C编译器,先顶一个
ack25
发表于 2005-3-1 19:57:52
跟哦,我就在学GCC,还谈不上心得哦,支持支持!
web110
发表于 2005-3-1 20:50:37
我用M48就够用了,好像他不支持M48?
yuefeng
发表于 2005-3-1 20:52:15
刚学avr,正在gcc的学习中,希望大家多多帮助!
susubuhui
发表于 2005-3-7 18:32:19
gcc很不错,我一直在用!susubuhui@yahoo.com.cn
mymach
发表于 2005-3-7 20:23:42
一直在学,一直没有报名,现在报个名!
csq1997
发表于 2005-3-8 15:36:13
我也买了本北航的GCC 好象不怎么样啊 前面讲的、点基本C 后面一点都不详细 不知道、大家看哪本书来学AVR GCC
lei_yong
发表于 2005-3-10 08:33:07
我正用GCC开发项目,大家一起学习!!!
wcg_sunny
发表于 2005-3-12 16:46:13
我也正在用WinAVR/gcc做项目,一起学习!
有个问题想请教:我根据书中的样例写的一个关于以I2C总线方式读写EEPROM(AT24C02)的程序。程序编译成功后,进行链接时出现如下错误提示,似乎提示我的程序中定义的每个自定义函数(包括main()函数)都重复定义了。查了半天都找不到问题在哪里。请问这是怎么回事?怎么解决它?
Linking: i2cbus.elf
avr-gcc -mmcu=atmega8 -I. -gstabs -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=i2cbus.o-std=gnu99 -Wp,-M,-MP,-MT,i2cbus.o,-MF,.dep/i2cbus.elf.d i2cbus.oD:/WinAVR/MySamples/i2cBus.o --output i2cbus.elf -Wl,-Map=i2cbus.map,--cref -lm
D:/WinAVR/MySamples/i2cBus.o(.text+0x0): In function `delay_us':
i2cbus.c:20: multiple definition of `delay_us'
i2cbus.o(.text+0x0):i2cbus.c:20: first defined here
D:/WinAVR/MySamples/i2cBus.o(.text+0xa): In function `delay_ms':
i2cbus.c:26: multiple definition of `delay_ms'
i2cbus.o(.text+0xa):i2cbus.c:26: first defined here
D:/WinAVR/MySamples/i2cBus.o(.text+0x24): In function `led_display':
i2cbus.c:35: multiple definition of `led_display'
i2cbus.o(.text+0x24):i2cbus.c:35: first defined here
D:/WinAVR/MySamples/i2cBus.o(.text+0x92): In function `led_fill':
i2cbus.c:50: multiple definition of `led_fill'
i2cbus.o(.text+0x92):i2cbus.c:50: first defined here
D:/WinAVR/MySamples/i2cBus.o(.text+0xac): In function `i2c_write':
i2cbus.c:59: multiple definition of `i2c_write'
i2cbus.o(.text+0xac):i2cbus.c:59: first defined here
D:/WinAVR/MySamples/i2cBus.o(.text+0x126): In function `i2c_Read':
i2cbus.c:84: multiple definition of `i2c_Read'
i2cbus.o(.text+0x126):i2cbus.c:84: first defined here
D:/WinAVR/MySamples/i2cBus.o(.text+0x1d0): In function `fill_buff':
i2cbus.c:115: multiple definition of `fill_buff'
i2cbus.o(.text+0x1d0):i2cbus.c:115: first defined here
D:/WinAVR/MySamples/i2cBus.o(.text+0x23a): In function `main':
i2cbus.c:127: multiple definition of `main'
i2cbus.o(.text+0x23a):i2cbus.c:127: first defined here
make.exe: *** Error 1
> Process Exit Code: 2
lei_yong
发表于 2005-3-16 22:08:48
支持