查看: 15397|回复: 14

如何选择适合你学习AVR的编译器?

[复制链接]

该用户从未签到

发表于 2012-9-10 08:52:00 | 显示全部楼层 |阅读模式
分享到:
本帖最后由 玉米地的西瓜 于 2012-9-10 08:54 编辑

用过AVR单片机的同学都知道现在网络上有各种开发工具,但是选择哪一种开发工具比较好困扰着大多数人,虽然说选择适合自己的就是最好的有一定的道理,但是对各种开发工具有一定的了解个人认为是从事利用AVR开发电子项目的工程师所必须的。下面是从百度搜到的相关信息,在这里给初学者整理一下各种AVR编译器的介绍,方便初学者了解和选择。
唯一缺憾的是,没有这些编译器安装程序下载,要是哪位网友有收藏的或者正在用的,还期待在这里给小弟以及其他网友分享一下。先谢过啦~

1.AVR Studio (免费)
AVR Studio,系列是ATMEL公司免费提供的AVR单片机开发平台。它集汇编语言编译、软件仿真、芯片程序下载、芯片硬件仿真等一系列基础功能,与任一款C/C++编译器(WinAVR/GCC AVR,ICCAVR,IAR AVR...)配合使用即可完高级语言的产品开发调试。最新版本是AVR Studio6.0。咱们论坛上已经看到了有关于AVR Studio 软件的合集了,地址如下:
https://www.cirmall.com/bbs/thread-841-1-1.html
2.WinAVR/GCCAVR 编译器(免费)
  GCCAVR是一款免费的编译器,编译功能也挺强的,有一点不好就是不是那容易入手。总得来说还是一款很好的开发软件。要看懂make文件。GCCAVR相对来说难一些,对于新手来讲ICCAVR是最合适的选择。
3.IAR AVR --平台+编译器(商业,最贵的)
  IAR AVR V4.20A,IAR.Embedded.Workbench.for.Atmel.AVR.v4.20A AVR单片机C语言编译器,IAR AVR V4.20A是一款功能很强大的开发软件,软件除了C语言编译器外还集成了下载调试等功能,是一个完善的开发环境。IAR AVR V4.20A在AVR开发软件里面算的上是功能最强大的了,不过开发环境相对要复杂一些,新手不易入门。
4.ICCAVR 平台+编译器(商业)
  ICCAVR V7.16A下载,ICCAVR专业版,AVR单片机C语言开发软件。目前国内用的最广泛的AVR单片机开发软件。由于版权问题一般提供软件为试用版,没有提供破解补丁及注册机等,大家可以到网络上找到注册方法。推荐大家使用:ICCAVR V6.31A。
  ICCAVR有自动向导功能,可以生成接口的初始化代码! 使用之!
5.其它平台+编译器
6.对比
  如果你只在乎方便,那就用ICCAVR;
  如果你只在乎代码的大小,那就用IARAVR;
  如果你在乎代码量,又担心版权问题,那你就用GCC.
  用GNU(GCC)是个发展方向,我们选择第1.2两项就可以很好地开发了。
  开发ARM 走GNU的方向也很好,很方便,很火,省钱。

软件名称
类型
简介
官方网址
AVR Studio
IDE、汇编编译器
ATMEL AVR Studio集成开发环境(IDE),可使用汇编语言进行开发(使用其它语言需第三方软件协助),集软硬件仿真、调试、下载编程于一体。ATMEL官方及市面上通用的AVR开发工具都支持AVRStudio。
GCCAVR (WinAVR)
C编译器
GCC是Linux的唯一开发语言。GCC的编译器优化程度可以说是目前世界上民用软件中做的最好的,另外,它有一个非常大优点是,免费!在国外,使用它的人几乎是最多的。但,相对而言,它的缺点是,使用操作较为麻烦。
sourceforge.net
ICC AVR
C编译器(集烧写程序功能)
市面上(大陆)的教科书使用它作为例程的较多,集成代码生成向导,虽然它的各方面性能均不是特别突出,但使用较为方便。虽然ICCAVR软件不是免费的,但,它有Demo版本,在45天内是完全版。
CodeVision AVR
C编译器(集烧写程序功能)
与KeilC51的代码风格最为相似,集成较多常用外围器件的操作函数,集成代码生成向导,有软件模块,不是免费软件,Demo版为限2KB版。
ATman AVR
C编译器
支持多个模块调试(AVRStudio不支持多个模块调试)。
IAR AVR
C编译器
IAR实际上在国外比较多人使用,但它的价格较为昂贵,所以,中国大陆内,使用它的开发人员较少,只有习惯用IAR的工程师才会去使用它。

作为初学者很多人都选择ICCAVR,因为它的操作很简单,网上的资料也很多,破解版的也挺容易找的,但是用了一段时间之后,你会发现,它的编译效果没有那么好,特别是当你的程序量增加了以后。从上面的表格中可以看出,传说中GCCAVR的编译优化程度是民用软件中做得最好的,由于个人向往Linux嵌入式系统的开发,而GCC又是它的唯一开发语言,综上所述,偶决定跳槽了,但是GCCAVR的操作是比较麻烦的,据说是类似DOS的那种模式,新手入门还是从低一点的位置开始吧,先不想弄makefile什么的,为了获得ICCAVR的操作简便及GCC的编译优化,那就是采用AVR Studio+WinAVR来作为集成开发环境,同时利用JTAGICE作为硬件仿真工具。首先当然是安装好这两款软件了,网上搜一下破解版的一大堆,装好以后就可以开始编写程序了。

回复

使用道具 举报

  • TA的每日心情
    难过
    2014-11-24 23:36
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2012-9-13 12:27:15 | 显示全部楼层
    我用gcc,因为avrlib的库非常好用。icc的代码向导用来生成初始化代码。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-8-26 01:52
  • 签到天数: 120 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2012-10-16 14:22:49 | 显示全部楼层
    ICC AVR用起来傻瓜一些,AVR Studio+GCC也很好用
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-3-16 09:43
  • 签到天数: 46 天

    连续签到: 1 天

    [LV.5]常住居民I

    发表于 2014-9-15 08:14:13 | 显示全部楼层
    AVR Studio 编译环境还不是很熟,不知如何烧写程序
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-12-1 10:07
  • 签到天数: 1617 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2014-9-15 10:07:33 | 显示全部楼层
    AVR Studio还是比较容易使用的,运行几个例程,很快就能上手。新版本的AVR Studio 6比老版本的功能多,编辑功能强大,但是使用上复杂一点。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-12-1 10:07
  • 签到天数: 1617 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2014-9-15 10:09:08 | 显示全部楼层
    langtaosha 发表于 2014-9-15 08:14
    AVR Studio 编译环境还不是很熟,不知如何烧写程序

    烧入程序,在AVR Studio下需要使用支持的编程器,如AVRISP、MKII等,通过串口或USB连接。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-3-16 09:43
  • 签到天数: 46 天

    连续签到: 1 天

    [LV.5]常住居民I

    发表于 2014-9-15 15:25:01 | 显示全部楼层
    shaoziyang 发表于 2014-9-15 10:09
    烧入程序,在AVR Studio下需要使用支持的编程器,如AVRISP、MKII等,通过串口或USB连接。 ...

    哎,刚学会下载时返现板子锁住了,显示计入变成模式错误,请检查编程器与目标板的接线是否正确,怎么办
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-12-1 10:07
  • 签到天数: 1617 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2014-9-15 21:34:10 | 显示全部楼层
    本帖最后由 shaoziyang 于 2014-9-15 21:35 编辑
    langtaosha 发表于 2014-9-15 15:25
    哎,刚学会下载时返现板子锁住了,显示计入变成模式错误,请检查编程器与目标板的接线是否正确,怎么办 ...

    你使用的是哪个芯片或者开发板?什么编程器?需要更详细的描述,看看是否可以帮助你解决问题。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-3-16 09:43
  • 签到天数: 46 天

    连续签到: 1 天

    [LV.5]常住居民I

    发表于 2014-9-17 12:29:53 | 显示全部楼层
    shaoziyang 发表于 2014-9-15 21:34
    你使用的是哪个芯片或者开发板?什么编程器?需要更详细的描述,看看是否可以帮助你解决问题。 ...

    大神,我用的是 Atmega32 ICC编写 ;当时把 ISP的线卸下,用杜邦线把 ISP上的 MOSI MISO RESET SCK 直接接在板子引脚上,RESET引脚没引出,接着在ISP下载口上,板子上ISP下载电路每一个线路串了一个100欧的电阻,然后接了VCC,GND,ISP插在电脑上,烧写几个程序都没问题,之后放在一边,昨天把ISP带的线插好,电脑,M32都联好就烧不进去,用的是progisp172下载,下载时出现  “请检查编程器与目标板的接线是否正确”,一直烧不进去,换了一个板子就好,因该是锁住了,没法你了。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-12-1 10:07
  • 签到天数: 1617 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2014-9-17 21:35:17 | 显示全部楼层
    langtaosha 发表于 2014-9-17 12:29
    大神,我用的是 Atmega32 ICC编写 ;当时把 ISP的线卸下,用杜邦线把 ISP上的 MOSI MISO RESET SCK 直接 ...

    使用ISP下载时,没有把SPIEN位给清除了吧,那样就无法通过SPI下载了。
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-5-8 14:11 , Processed in 0.172807 second(s), 33 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.