WinAVR(GCC)快速入门

发布者:Zhenai5201314最新更新时间:2016-01-14 来源: eefocus关键字:WinAVR  GCC  快速入门 手机看文章 扫描二维码
随时随地手机看文章
导读:开发avr单片机,我们以avr 8515芯片为例子,来介绍它的使用方法,希望对感兴趣的朋友有所帮助。 

WinAVR 的配置与 makefile 一直是新手入门的两个难点。我们经过详细的测试,推荐大家不需要作任何的配置,并且介绍了如何用最简单的方法创建自己的 makefile 文件。利用本文,十来分钟你就能入门 WinAVR /GCC.  

首先:下载安装WinAVR-20050214.exe软件安装好后(现在查阅最新的版本是07年的,即2007xxxx),你就能在电脑上看到如下的功能菜单:

WinAVR(GCC)快速入门 

说明如下:

名称

说明

Programmers Notepad

GCC语言编辑器。可提供应用程序接口。

Mfile

GCC需要一个叫 makefile 的参数文件才能进行编译。Mfile 是一个工具,可以让用户方便地修改 makefile 上的参数。不过我们不推荐使用它。我们推荐直接用记事本打开 makefile 进行编辑。

AVR Insight

仿真调试工具

TkInfo

GNU的超文本浏览器

Uninstall WinAVR

卸载 WinAVR 软件

WinAVR User Manual

WinAVR 用户手册

GNU Maunals Online

GNU的在线帮助

AVR-libc Manual

AVR GCC的C语言函数库帮助手册

 

步骤一:打开 PN 工具
步骤二: 在硬盘建立一个专门存放avr文件的目录, 例如,我们在D:盘新建一个AVR的目录,注意!不要用中文目录!也不要存在其他的有中文目录的路径。
在PN工具的编辑窗口中输入下面的一个简单的跑马灯程序:

在PN工具的编辑窗口中输入下面的一个简单的跑马灯程序:#include "avr/io.h"static void io_init(void)
{
PORTA = 0xff;
DDRA = 0xff;
}
void mDelay(uint16_t DelayTim)
{ uint16_t i;
for(;DelayTim>0;DelayTim--)
{ for(i=0;i<4000;i++)
{;}
for(i=0;i<3900;i++)
{;}
}
}
 
int main(void){
uint8_t i=0;
io_init();
while(1)
{ if(++i>=8)
i=0;
PORTA=~(0x01<>i可改变流水灯方向mDelay(500);}
}
然后:菜单 File -->save as..把它保存在刚刚建立的d:avr目录下,命名为led.c

 

WinAVR(GCC)快速入门

回到前面点程序菜单的winavr的mfile出现前面的界面

WinAVR(GCC)快速入门

点击主菜单Makefile->Main file name…即出现如图2所示的对话框,通常不需要更改此选项,最终产生的hex文件即main.hex。

WinAVR(GCC)快速入门

 接着点击Makefile->Mcu type,设定所用单片机的型号,如图3所示我们选择ATmega8515为我们所用的型号。

WinAVR(GCC)快速入门

点击:Make-->Debug Format:可选择输出的调试文件格式,应选择最后一项:ELF/DRARF-2(AVR Studio ELF,GDB[experimental] ),这样可以由产生供AVR studio 4以上版本调试用的ELF格式的文件。
 点击:Make-->C/C++ Source Files……出现选择文件名的对话框,如图4所示,请用“Choose file…”钮选择你所要编译的文件,注意,一定要将Include main.c前面的勾去掉,除非你的确有一个名为main.c的文件。

WinAVR(GCC)快速入门

 

图4 选择主文件

其他的项一般可以不必改动。

 更改后用File-->Save as…将该makefile文件保存至刚才所建文件夹d:avr中。

编译 (Make All):
回到Programmer Notepads中,点击:Tools->Make All,即可对该文件进行编译、链接等处理,有关信息在output窗口中呈现。如有错误,单击错误行,即可定位,以便对此进行修改,直到编译、链接完全正确为止。此时,output窗口显示:> Process Exit Code: 0 (否则程序有问题请检查)

WinAVR(GCC)快速入门

烧写程序/演示
用下载线连接好目标板上的ATmega8515L或Atmega8515,开启电源 ,  运行下载软件,如小马或者XLISP软件, XLISP软件中选择相应的芯片型号,器件配置选项中按 图6 设置

WinAVR(GCC)快速入门

按照上图选择: 单片机工作在内部时钟8MHZ

注意:熔丝位配置错误将会锁死芯片导致再编程失败。

加载编译的文件main.hex   烧写程序,正常即可观查到流水灯效果!

特别注意!由于51单片机和AVR单片机的复位信号相反,而XL600/XL1000主要设计为51单片机使用,为此, 如果按XL600/XL1000的复位键后,则停止运行, 按下不动,才重新运行。初学者请注意!另外由于软件设计的原因可能要点两次智能一键通, 才能正常的下载。

附表:Atmega8515/L的熔丝配置说明(详细资料请参考官方Datasheet)
表1.时钟源选择
WinAVR(GCC)快速入门

默认时钟源:
芯片在出厂时CKSEL = “0001”, SUT = “10”。默认时钟源为有最长启动时间的内部RC振荡器(频率1M)。默认设置可以保证用户通过系统内或并行编程得到他们期望的时钟源。

标定的片内RC 振荡器提供了固定的1.0、2.0、4.0 或8.0 MHz 的时钟。这些频率都是5V、25°C 下的标称数值。这个时钟也可以作为系统时钟,只要按照表2 对熔丝位CKSEL进行编程即可。
表2. 片内标定的RC 振荡器工作模式
WinAVR(GCC)快速入门

 

 


关键字:WinAVR  GCC  快速入门 引用地址:WinAVR(GCC)快速入门

上一篇:AVR最小系统电路图
下一篇:AVR的软件平台介绍

推荐阅读最新更新时间:2024-03-16 14:43

arm-linux-gcc 裸机程序开发(二)
NANDFLASH启动与标准库问题 把u-boot的start.S移植到我的程序上,这样程序可以用supervivi的D功能下载到内存中运行了,但是还不够。因为程序在内存里,如果掉电程序就没有了,所以我们得将程序固化在flash里面。这里我们要固化在NandFlash里,这就要求程序可以能够NandFlash启动。这里我参考了mini2440的nandlfash读写程序nand.c,里面有一个函数CopyProgramFromNand就是将Nandflash里的程序复制到内存里。在这之前我一直用u-boot默认的下载地址0x33f80000,这个是为了u-boot引导内核方便而定的,因为内核要下载到前面的内存中,既然我的程序没
[单片机]
AVR开发前准备—熔丝位(Fuse)快速入门
AVR通过熔丝来控制芯片内部的一些功能,比如JTAG,时钟的使用,掉电检测电压,是否允许调试等。 AVR Studio 中 STK500 处理熔丝位有巨大的优势:它是以功能组合让用户配置。 这种方式与小马(PnoyProg2000,SL-ISP)相比,具有以下的优势(优势是如此明显,可以用 巨大优势 来形容): 有效避免因不熟悉熔丝位让芯片锁死 (这是初学者的恶梦), 笔者曾经锁死过三片Atmega16。 不需要靠记忆与查文档,就能配置熔丝位(这也是初学者的恶梦) 动手之前:请你一定弄清楚了,你这样改会有什么后果,除非你有很多钱不在乎多锁死几个芯片。备份你的熔丝位状态,在点击Program之前再次检查熔丝位设置正确与否,不要误点了
[单片机]
AVR开发前准备—熔丝位(Fuse)<font color='red'>快速入门</font>
基于Atmega16L的简单音乐制作
一直想要搞下AVR,因为是电气而不是电子专业的,整天对着电机啊,交流调速啊,复杂的计算公式,所以学习电子类的东西比较麻烦,最近才有大块的时间来学习AVR,马潮的《AVR单片机嵌入式系统原理与应用实践》不错。 想想也算搞过一些程序了,空间里也没有贴过AVR的程序,就算来个突破下 做了一小段的《卡农》高潮部分。听着感觉不错,呵呵,以前用51的汇编写过《欢乐女神》,听上去不跑调,但是用C51来做,误差实在是太大了,根本没办法听,这次用mega16,外挂8M的晶振,做的是一小段的《卡农》,因为高音的频率太高,蜂鸣器完全受不了,直接破音(哎,什么叫能力有限),所以都降低了7度,即高音变成中音,中音变成低音。听上去还可以,但是难免有些音会
[单片机]
建立ARM交叉编译环境 (arm-none-linux-gnueabi-gcc with EABI)
昨天终于把交叉编译环境、移植内核和制作root文件系统在arm开发板上顺利跑通了。期间有的步骤很顺利,但更多的是被诸多问题困扰,比如最后一个不起眼的小问题导致文件系统无法加载,郁闷了我一个星期,最终通过分析慢慢发现了这个bug。还有各源码包版本的问题,而且网上很多介绍都是基于旧版本的。我这里全部用最新或较新的版本,当然,至于新旧版本到底哪个更好更合适,这是个智者见智的论题,不在本文讨论之列。我坚信很多人也遇到过或者即将遇到我曾经历过的错误和问题,因此我觉得把我过去两周做过的相关工作,详细地写下来,希望对大家有所帮助! 首先是平台和环境 ,我过去两周都是基于vmware 中ubuntu 10.04的,但是我发现ubuntu这个很
[单片机]
WinAVR(GCC)快速入门
导读:开发avr单片机,我们以avr 8515芯片为例子,来介绍它的使用方法,希望对感兴趣的朋友有所帮助。 WinAVR 的配置与 makefile 一直是新手入门的两个难点。我们经过详细的测试,推荐大家不需要作任何的配置,并且介绍了如何用最简单的方法创建自己的 makefile 文件。利用本文,十来分钟你就能入门 WinAVR /GCC.   首先:下载安装WinAVR-20050214.exe软件安装好后(现在查阅最新的版本是07年的,即2007xxxx),你就能在电脑上看到如下的功能菜单: 说明如下: 名称 说明 Programmers Notepad
[单片机]
<font color='red'>WinAVR</font>(<font color='red'>GCC</font>)<font color='red'>快速入门</font>
【51单片机快速入门指南】4.3: I2C读取MPU6050陀螺仪的原始数据
普中51-单核-A2 STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 串口示波器:Vofa+ 1.3.10 硬知识 摘自《ATK-MPU6050六轴传感器模块用户手册_V1.0》 特性参数 模块自带了 3.3V 超低压差稳压芯片,给 MPU6050 供电,因此外部供电可以选择:3.3V / 5V 都可以。模块通过 P1 排针与外部连接,引出了 VCC、GND、IIC_SDA、IIC_SCL、MPU_INT 和 MPU_AD0 等信号,其中,IIC_SDA 和 IIC_SCL 带了 4.7K上拉电阻,外部可以不用
[单片机]
【51单片机<font color='red'>快速入门</font>指南】4.3: I2C读取MPU6050陀螺仪的原始数据
AVR Studio 快速入门教程实例
AVR Studio 软件下载及安装方法请参考:AVR开发软件的选择与安装。 软件安装好后,你就能在电脑上看到如下的功能菜单: 功能一:编写、编译汇编工程项目。 (不推荐使用) 操作方法:在菜单 Project -- New Project 打开如下界面。输入项目名按Fishish后出现汇编代码的编辑窗口。 注意:由于本功能仅适合于汇编语言。我们不推荐使用汇编开发AVR,故不推荐大家使用这个功能。我们这里也不加描述。详细原因请参考我们网站的文章:为何开发AVR使用C而不是使用汇编? 功能二: 使用STK500、 JTAG 或JTAG mkII 下载 Connect 与 Auto Connect 的区别,是每次都会提示
[单片机]
AVR Studio <font color='red'>快速入门</font>教程实例
winavr gcc快速入门
我们网站的研发部统一使用 WinAVR(即GCC)。我们会在所有的新手入门范例、应用范例中使用GCC开发代码。详细原因、软件下载及安装方法请参考:AVR开发软件的选择与安装。 软件安装好后,你就能在电脑上看到如下的功能菜单: 说明如下: 名称 说明 Programmers Notepad GCC语言编辑器。可提供应用程序接口。 Mfile GCC需要一个叫 makefile 的参数文件才能进行编译。Mfile 是一个工具,可以让用户方便地修改 makefile 上的参数。不过我们不推荐使用它。我们推荐直接用记事本打开 makefile 进行编辑。 AVR Insight 仿
[单片机]
<font color='red'>winavr</font> <font color='red'>gcc</font><font color='red'>快速入门</font>
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved