winavr(gcc快速入门)

Winavr gcc快速入门指南:Winavr配置和makefile一直是初学者的两大难点。经过详细的测试,我们建议您不需要任何配置,并介绍如何用最简单的方式创建自己的makefile。使用这篇文章,你可以在十分钟内开始使用WinAVR /GCC。我网站R&D部统一使用WinAVR (GCC)。我们将在所有初学者入门示例和应用示例中使用GCC开发代码。详细原因、软件下载安装方法请参考:AVR开发软件的选择与安装。软件安装完成后,可以在电脑上看到如下功能菜单:描述如下:名称描述程序员记事本GCC语言编辑器。可以提供应用程序接口。MfileGCC需要一个名为makefile的参数文件来编译。Mfile是一个允许用户轻松修改makefile上的参数的工具。但是我们不建议使用。我们建议直接用记事本打开makefile进行编辑。AVR Insight仿真调试工具TkInfoGNU的超文本浏览器卸载WinAVR卸载WinAVR软件WinAVR用户手册WinAVR用户手册GNU Maunals Online GNU的在线帮助AVR-libc手册AVR GCC的C语言函数库帮助手册从上表可以看出,WinAVR的函数好像很多。但是我们只推荐使用PN(程序员记事本)。让我们演示如何使用PN来编辑和编译GCC代码。第一步:打开PN工具第二步:写C源代码菜单文件-打开打开预先放在C:\avr_test目录下的C源文件。这个源文件来自我们新手入门的第一个例子,文件名是main.c你可以点击这里下载这个C文件压缩包(需要解压后才能使用,不要重命名)。为了方便阅读,我们把这个main.c排版成了彩色的网页格式。也可以直接点击这里查看main.c的具体内容,打开main.c后,看到如下界面,可以直接编辑main.c。编辑保存后,我们可以进行如下编译。第三步:准备Makefile文件,编译生成代码、仿真调试文件等。可以被AVR执行的。你可能会惊讶,上面的main.c代码并没有告诉电脑AVR芯片的型号和工作频率。计算机是怎么知道这些数据的?WinAVR/GCC使用一个名为Makefile的文件来存储这些参数。WinAVR上还有一个叫mfile的应用来处理这个Makefile。但是我们测试的时候发现mfile有很多缺陷,不好用,容易出错。我们建议你用记事本等直接编译这个文件。为了方便阅读和修改,我们把最常用的内容放在了Makefile的前面,并用中文做了注释。可以点击这里下载这个makefile文件的压缩包((需要解压后才能使用,不要重命名))。为了便于阅读,我们将这个makefile排版成彩色的网页格式。也可以点击这里直接查看Makefile的具体内容。在我们的演示Makefile中,您将看到以下内容。建议您只修改以下四项:单片机类型、系统时钟频率、目标文件名、C源文件名。

请参考我们的演示修改:#这是一个简单的makefile仅供初学者使用#修改了WINAVR20050214中生成的makefile #简单实验,只需更改[MCU类型][目标文件名][C源文件名][系统时钟频率] #修改完参数后,保存到MCU程序所在的目录下,然后执行[make all]命令#生成*。燃烧闪光的十六进制。eep为烧EEPROM,参考格式为*。精灵文件## www。OurAVR.com# MCU名称#用于调试的MCU类型为:atmega 8/at90s 2313/attyny 15 mu=atmega 16 #处理器频率。#系统时钟频率(Hz),用于生成delay _delay_us() _delay_ms()参见delay.h #这将在所有源代码文件中定义一个与#处理器频率相等的符号f _ CPU。然后,您可以在源代码中使用这个符号来#计算计时。不要在末尾加上“UL”,这将#自动在源代码中创建一个32位的值。f _ CPU=1000000 #目标文件名(不带扩展名)。#目标文件名(即生成的。十六进制/的文件名。eep/。elf) target=main #在这里列出c源文件。(依赖项是自动生成的。)# c源文件名(不带路径)#用空格分隔多个文件名。比如SRC=file1.c file2.c file3.c#不需要添加H头文件SRC=$(TARGET)。c# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * output format。(可以是srec,ihex,binary) # outputburning文件格式=ihex # optimizationlevel,可以是[0,1,2 S]。#优化级别#.以下内容在此省略.下载我们的演示Makefile,并将其复制到c:\avr_test目录。上面我们设置了ATmega16芯片,工作频率1M。主文件叫做main.c,只有一个文件。第四步:按照下图编译(Make All)。编译成功后,会有如下的进程退出代码信息:0。如果结果不是0,说明编译有问题。请检查您的c:\avr_test目录中是否有main.c和Makefile两个文件。编译成功后,原来只有2个文件的目录现在变成了如下图所示的文件列表:重要提示:如果需要重新编译一次,最好先运行Make Clean,确保编译不受干扰。比如修改Makefile的MCU类型,如果不使用Make Clean,就会得到错误的结果。第五步:完成。刻录(ISP下载)、运行、JTAG调试方法请参考我们初学者入门中的相关例子。