16887|29

190

帖子

0

TA的资源

五彩晶圆(初级)

楼主
 

第1/15原创:事无巨细,GCC AVR [复制链接]

事无巨细,GCC AVR入门详解

    乘着Cepark电子园正在搞AVR单片机开发板优惠活动,花160块钱买了他们提供的散件。近日终于收到了,虽然是散件,自己焊的也很难看,但好歹能用,足够我折腾好些日子了。希望接下去的短短日子里,能小有收获,即便是最简单的东西也希望跟大家分享。
     这是第一篇,我说说AVR的集成开发环境。也就是常说的IDE(Integrated Development Environment)。图片比较多,虽然用软件处理过体积,网页可能还是比较慢,还请见谅。
     现今世界上的AVR开发环境可以说是百花齐放了,互相当然各有长短,我们看看都有哪些:
     首当其冲的应该还是IAR,为什么呢,因为当初AVR还在ATMEL胎中酝酿的时候,IAR公司参与了AVR的设计,因此可以认为IAR有更为正统的血液,它最了解AVR,它的编译器编出来的代码应该最优秀。好比你生的孩子还是你最了解——至少相当长一段时间是这样的。事实上,IAR for AVR确实展现了这个实力,它的功能确实最为强大,无论是源代码编写还是软件乃至硬件仿真,编译出来的代码也十分优秀。但是事物总是相对存在的,优点有时就意味着缺点。IAR功能全面而强悍,代价就是它的软件界面比较复杂,设置选项多,网上的资料也比较少,最要命的是这个软件非常的贵,好吧你说你有破解版,但是破解文件一般并不通用,而且破解方法一般都稍显繁琐。以上几条,对于新接触AVR的人来说,几乎是迈不过的坎。
    接下来是官方的AVR studio,官方出品,但是一般没有人用这个软件来做开发环境,为什么呢,因为它本身不支持C语言,一般我们只用它的仿真功能搭配其他C编译器来用。
    第三个,WINAVR,又称GCC AVR。GCC AVR应该是目前使用率最高的AVR开发环境了,软件体积小,界面简单易用,教程资料很多,代码效率高,最重要的是,它是完全免费的。但是它几乎没有仿真调试的功能。所以我首要推荐GCC AVR+AVR studio搭建你的AVR IDE。
    第四个,ICC AVR,大部分AVR教材所用的示例软件,也是十分简单易用,适合新手初学,在此也推荐选用,但是它的功能一般,bug比较多,比较高级的要求它应付起来就有些吃力了。
    此外还有CODEVISION,最大的优点就是它的界面很像keil,这会吸引到众多从51转到AVR的人,不过它有2K代码限制,破解方法又不多。略过不表。
    归根结底,编译器始终不见得是最重要的,最重要的是使用编译器的人罢。只要适合你,你能用之写出优秀的程序,就是最好的。
    我选择了GCC AVR。现在我来讲讲GCC AVR的一个最简单的开发流程。首先要从网上下载WINAVR这个软件,因为是免费软件,应该很容易找到。之后一路NEXT,直到安装完毕。
    下图显示了一个完整的GCC工程的界面

可以看出来,GCC AVR有个标准的windows软件界面,有常见的菜单栏工具栏等等,选项也并不多,整个软件界面内容也不多,应该说是很亲切的界面。
    下面我们来看怎样用GCC AVR进行开发。
第一步,首先找到开始系统菜单里的WINAVR程序文件夹,双击打开Programmers Notepad,启动GCC AVR,然后点击菜单栏里的File—New Project(s),弹出以下对话框:  

将工程名和保存位置填好之后,确定,至此新建一个GCC AVR的工程完毕,可见如下界面:

第二步,添加.C文件,点击工具栏里的“新建”按钮,出现一个名字为NEW*的文本文件,而此时注意工具栏里的“保存”按钮是灰色的无法点击,所以要在这个文本里随意输入任意字符,这时可以将这个文本保存了。将文本在工程文件夹里保存为.c文件,这个就是我们将要用来编辑源代码的程序文件。第二步完成后有下图界面(非全图):

第三步,将建好的C文件添加进GCC工程里。具体操作如下:右键工程文件(注意是工程文件而不是工程文件组),选择Add Files,选择刚才新建好的C文件,确定即可实现添加,添加完毕后可以输入源程序,也可以稍后几步再输。如下三图指示,第三图为添加完毕之后所见界面:

   

第四步,添加Makefile文件。
PS:如果说GCC AVR有什么缺点的话,要用户自己配置Makefile文件应该算其中一大缺点。Makefile是配置GCC AVR的编译信息的文件,GCC就是根据这个文件的信息来编译的,里面包含了MCU信号,频率,输出信息及优化选项等信息,Makefile每个GCC工程是必须要有的。不过配置Makefile其实也非常简单。
首先找到WINAVR程序文件组里的MFile,就是一盏黄色茶壶的的图标,打开之后见如下界面:
  
接着点击File——Save as,将此文件另存到你的工程文件夹里。然后类似于添加C文件的操作,把Makefile添加至工程中。完成后有下图界面,注意看左边工程文件区:

第五步,配置Makefile文件。双击打开Makefile,找到如下地方:

   
其中MCU=“你的主控芯片型号”,F_CPU="当前主控芯片的工作频率",FORMAT=iHEX表示会输出HEX结尾的文件,可以供我们烧写,最后一个要注意(红色框),TARGET="你的C文件名,但是不要填写后缀名",如上图图所示。如实更改完以上四项信息之后(一般只需要改第一和第四项),保存Makefile文件。
第六步,接下来在你添加的C文件有了源代码之后,保存C文件。然后如下图所指,依次点击Tool——[WinAVR]Make All,这时GCC AVR就开始编辑源文件了。

编译很快完成,GCC AVR的编译速度还是过得硬的。软件会有编译结果框,里面会包含有一系列的信息,包括错误和警告信息,我们会经常根据这些信息进行程序的修改。编译结果的最后两行是此次编译的错误个数和编译时间的统计,如果Process Exit Code后面的数字为0,则表示被编译的源代码基本上不会出现什么大问题,可以保证没有大的语法错误(但是不表示你的程序功能是正常的,质量是完美的)。
  
最后,你会发现工程程序文件夹多了许多文件,值得一提的是,后缀名为elf的文件是仿真文件,可以在AVR studio里进行仿真:

至此,一个简单完整的GCC AVR工程开发流程到这里就告完结,一切复杂的过程都是这样开始的。
希望能给需要的人一些帮助。

最新回复

学习了,赞一个。   详情 回复 发表于 2019-9-18 23:29

点评

相当不错 赞  详情 回复 发表于 2012-8-5 00:14

赞赏

1

查看全部赞赏

点赞 关注(2)
 

回复
举报

6366

帖子

4928

TA的资源

版主

沙发
 
呵呵,支持原创啊
 
 
 

回复

190

帖子

0

TA的资源

五彩晶圆(初级)

板凳
 
第一次在这里发帖,图片编辑不太好使啊
没有附件批量上传,而且所见即所得模式图片是完全显示的,发出来就不是了
 
 
 

回复

2771

帖子

0

TA的资源

裸片初长成(中级)

4
 
其实,关于AVR的编译器,还是很多的,ICC AVR,CODEVERSION
GCC ,不过GCC还是相当不错的,顶一下
 
 
 

回复

2万

帖子

74

TA的资源

管理员

5
 
原帖由 losingamong 于 2010-3-10 14:37 发表
第一次在这里发帖,图片编辑不太好使啊
没有附件批量上传,而且所见即所得模式图片是完全显示的,发出来就不是了


所见即所得的模式图片是完全显示的,发出来就不是了

请详细说说。
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 

回复

190

帖子

0

TA的资源

五彩晶圆(初级)

6
 
原帖由 soso 于 2010-3-11 13:38 发表


所见即所得的模式图片是完全显示的,发出来就不是了

请详细说说。

编辑框里,图片都是完全显示的,但是现在帖子里图片的右边被挡住一点了……
 
 
 

回复

2万

帖子

74

TA的资源

管理员

7
 
原帖由 losingamong 于 2010-3-11 15:25 发表

编辑框里,图片都是完全显示的,但是现在帖子里图片的右边被挡住一点了……


好的 我们来处理下
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 

回复

190

帖子

0

TA的资源

五彩晶圆(初级)

8
 
原帖由 soso 于 2010-3-11 15:32 发表


好的 我们来处理下

有劳管理员
 
 
 

回复

537

帖子

0

TA的资源

五彩晶圆(初级)

9
 
介绍的很是详细,觉得比有些说明说说的都贴切!支持!
 
 
 

回复

2万

帖子

74

TA的资源

管理员

10
 
原帖由 losingamong 于 2010-3-11 15:49 发表

有劳管理员


已经调整了 你看下 如有问题 再联系
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 

回复

190

帖子

0

TA的资源

五彩晶圆(初级)

11
 
原帖由 soso 于 2010-3-11 18:35 发表


已经调整了 你看下 如有问题 再联系

nice,有劳管理员
这个帖子会发到15/15,请多多指教
 
 
 

回复

249

帖子

0

TA的资源

纯净的硅(中级)

12
 
支持原创,期待下期!
 
 
 

回复

2751

帖子

0

TA的资源

裸片初长成(初级)

13
 
支持楼主,顶顶
 
 
 

回复

6366

帖子

4928

TA的资源

版主

14
 
呵呵,继续哦,都在等着呢
 
 
 

回复

2955

帖子

0

TA的资源

纯净的硅(初级)

15
 
楼主真厉害............
 
个人签名不断地学习,才会有创新!
淘宝小店:手机、qq点卡、游戏点卡自动充值 http://shop63727265.taobao.com/
 
 

回复

618

帖子

0

TA的资源

一粒金砂(中级)

16
 
我都有PDF文档了!!
 
 
 

回复

1万

帖子

16

TA的资源

版主

17
 

支持下

:P
 
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 
 

回复

12

帖子

0

TA的资源

一粒金砂(初级)

18
 
好贴。要顶啊。 分享才是王道,谢谢楼主!
 
 
 

回复

7173

帖子

195

TA的资源

五彩晶圆(高级)

19
 
这个很详细哦 谢谢诶了
 
 
 

回复

5015

帖子

12

TA的资源

裸片初长成(初级)

20
 
顶起,虽然不用AVR,还是谢谢楼主
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表