网站导航: 首页 > 设计参考 > 正文 文章搜索
WinAVR(GCC)快速入门教程
 
文章编号:
090113215231
文章分类: 单片机 AVR
点 击:
...
关 键 词: WinAVR,GCC,软件,编译器,入门
文章来源:
网络
摘 要:
导读:WinAVR 的配置与 makefile 一直是新手入门的两个难点。我们经过详细的测试,推荐大家不需要作任何的配置, 并且介绍了如何用最简单的方法创建自己的 makefile 文件。利用本文,十来分钟你就能入门 WinAVR /GCC

步骤三: 准备 Makefile 文件

编译能生成可供AVR执行的代码、仿真调试文件等。

可能大家会奇怪,上面的main.c 代码,没有告诉电脑AVR芯片的型号、工作频率等,电脑如何知道这些数据?

WinAVR/GCC 使用一个叫 Makefile 的文件,存放这些参数。在WinAVR上也有一个叫mfile的应用程序去处理这个Makefile 文件。但我们测试时发现,mfile 的缺陷很多,不好用,并且容易弄错。我们推荐大家直接用记事本等,直接编译这个文件。为了方便阅读与修改,我们将最常用的内容,放到Makefile的最前面,并且作了中文注解。

你可以点击此处下载这个makefile文件的压缩包((需要解压后才能使用,不要改名))。

在我们的示范Makefile,会看到以下的内容。建议大家只修改:单片机的类型、系统时钟频率、目标文件名及C源文件名这四项。大家可参考我们的示范修改:

#这是一个简单makefile,仅用于初学者使用
#修改于WINAVR20050214所生成的makefile
#简单实验只需更改 [单片机类型][目标文件名][C源文件名][系统时钟频率]即可
#修改好参数后另存到单片机程序所在目录,然后执行[make all]命令
#生成 烧录FLASH的*.hex,烧录EEPROM的*.eep,调试用的*.elf 文件
#

# MCU name
# 单片机类型 参考格式是:atmega8 / at90s2313 / attiny15

MCU = atmega16

# Processor frequency.
# 系统时钟频率(Hz),用于生成延时 _delay_us() _delay_ms() 见delay.h
# This will define a symbol, F_CPU, in all source code files equal to the
# processor frequency. You can then use this symbol in your source code to
# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
# automatically to create a 32-bit value in your source code.

F_CPU = 1000000

# Target file name (without extension).
# 目标文件名(即生成的.hex/.eep/.elf的文件名)

TARGET = main

# List C source files here. (C dependencies are automatically generated.)
# C源文件名(不带路径)
# 多个文件名间用空格隔开 例如 SRC = file1.c file2.c file3.c
# 不需要加上 h头文件

SRC = $(TARGET).c
 

#**************后面内容基本不需要修改,除非你是老手*****************************#
 

# Output format. (can be srec, ihex, binary)
# 输出烧录文件格式

FORMAT = ihex

# Optimization level, can be [0, 1, 2, 3, s].
# 优化级别
# ...... 下面的内容此处省略 ....

将我们这个示范的 Makefile 文件,下载后拷贝到 c:\avr_test 目录中。上面我们已经设置了ATmega16芯片,工作在1M的频率里,主文件名叫 main.c ,只有一个文件。

步骤四:编译 (Make All)

按下图操作。

编译成功后,会有如下的 Process Exit Code: 0 的信息。

如果结果不是0,表明编译有问题,请检查你的 c:\avr_test 目录是否有main.c 与 Makefile 两个文件。

编译成功后,原来只有2个文件的目录,现在变成了如下图的文件清单:

重要说明:如果你需要重新编译一次,最好先运行一下 Make Clean ,以保证编译不受干扰。比如你修改了 Makefile 的MCU类型,如果你不使用 Make Clean, 就会得出错误的结果。

步骤五: 完成。

烧录(ISP下载)、运行,与JTAG调试方法,请参考我们的新手入门中的有关范例。

 

 
相关文章:

上一页 12
 
最新开源项目
 
 
  查看更多...  
 
本站相关产品   淘宝网店
 




 
  查看更多...  

 

本站程序由百合电子工作室开发和维护
Copyright @ baihe electric studio
渝ICP备09006681号-4