WinAVR是一套开源的开发工具的总称,用来在Windows平台开发Atmel AVR系列RISC微控制器,包括用于C和C ++的GNU GCC编译器,可以实现更强大的检查,,将它与GDB结合使用,强大又实用,觉得不错就来下载使用这款软件吧!
软件特色
LibUSB 0.1.12.1和设备驱动程序
这是一个USB库,链接到AVRDUDE和AVaRICE以允许它们连接Atmel JTAG ICE mkII和Atmel AVRISP mkII。驱动程序这些设备也包括在内。
特定包含的Cygwin项目中的某些DLL是必需的包。
注意:并非所有可执行文件都需要这些Cygwin DLL。
许多本机Win32 GNU程序和实用程序,包括make和bash。
命令行文本文件行结束转换器。
一个Makefile模板供您在项目中使用。
各种项目的文档。
用于构建各种项目的源代码补丁。
软件功能
simulavr与GDB结合使用以提供AVR仿真。
AVR32 GNU Binutils 2.19
AVR32 GNU编译器集合(GCC)4.3.2
Newlib(适用于AVR32)1.16.0
AVR32 GNU调试器(GDB)/ Insight 6.7.1
SRecord是一组用于操作EPROM加载文件的强大工具。
它读取和写入许多EPROM文件格式,并且可以执行许多不同的操纵。
MFILE
AVR GCC的自动makefile生成器。
程序员记事本2.0.8.718
编程编辑器和IDE。该编辑器包括Scintilla编辑器零件。
常见问题
1、AVRGCC不能像CVAVR或ICCAVR那样把特殊I/O口当变量来用,怎么办?
其实,使用 AVRGCC 的 inp(port) 和 outp(data,port) 宏就是最好的方法,但如果真的需要延续以往的使用方式,也可以照以下方式办理:#define dPORTA (*(unsigned char *)(PORTA + 0x20))。如此,就定义了一个 dPORTA 的伪变量,可以直接用于表达式中,并且用此种方式也可以实现类似 C51 中的 sfr 变量类型……
2、AVRGCC 不能编译带浮点函数的程序,怎么办?
很简单,在工程所在目录的makefile文件中,把LDFLAGS=项目最后加上 .-lm就可以了……
3、怎么改变目标程序的优化方式?
在makefile文件的CPFLAGS=行中,加入-Ox(x=1,2,3,s)就可以了,如果已经有了-O的项目,就改变现有的,1~3 代表优化方式,s代表按代码长度优化……
4、AVRGCC 能不能为 AT90S1200、ATTiny 系列进行 C 语言编程?
答案是肯定的!首先,需要在 makefile 的项目中,把MCU=后面的内容改成avr2其次,需要在程序所在的 c 文件中,把#include 改成#include ,#include如此,即可以直接将编译后的代码用于该两类MCU上,不过,还需要注意的是,由于该两类 MCU 没有软件堆栈和 RAM,所以,程序中*禁止*使用全局变量、局部静态变量以及中断处理以外的函数(其实在 GCC 中,中断处理程序叫做“信号”,不叫函数),并且,在中断处理过程中,最好不要开放中断,否则会引起数据错误并非不可以,但需要一些技巧)。
∨ 展开