您的位置 首页 产品

AVR单片机学习活动之带你学会WinAVR

对于GCC(注:本文中所说GCC与WINAVR是同一个概念)的介绍这里不做赘述,对于学习AVR单片机的朋友相信都听说过这款编译软件。AVR的开发软件

关于GCC(注:本文中所说GCC与WINAVR是同一个概念)的介绍这儿不做赘述,关于学习AVR单片机的朋友信任都听说过这款编译软件。AVR的开发软件很许多,下面是自己在网上查找到的关于几个编译软件的一点比较,仅供参考:


信任关于每个已经在学习AVR的朋友都有一款自己喜爱运用的编译软件,咱们引荐运用GCC,原因是它是真实的免费的,对C言语的支撑是很好的。或许许多朋友关于运用汇编编程仍是运用C言语编程都有不同的见地,在这儿咱们引荐运用相对高档的C言语进行编程,现在一个好的编译软件关于程序的优化是能够让人承受的,其编译出的程序功率足以满意咱们的要求,而且其杰出的可移植性为不同平台下的程序编写供给了便利。

这儿是GCC的下载页面: http://sourceforge.net/projects/winavr/files/

GCC关于初学者或许不是太简略入门,我在这儿做这个简略的教程,期望关于初学AVR而且想以GCC为开发软件的朋友有所协助。本教程将以如下几个部分进行:

* GCC软件的装置

* 树立并编译第一个GCC工程文件

* 装备Makefile文件

1、GCC软件的装置

假如你依照上面所说的链接下载到最新版的GCC装置软件,请找到装置软件的方位,文件名为WinAVR-20090313-install.exe。

双击运转,进行装置。在装置过程上与在WINDOWS下装置其他软件没有很大的差异,大致过程如下:

挑选装置言语,这儿挑选简体中文。

一向点下一步,然后挑选装置方位。

这儿挑选要装置的组件,假如电脑空间不是很拥堵的话主张完全装置。

点击装置进行GCC的装置。

完结装置。

装置完结之后会弹出一个,WINAVR USER MANUAL,这个关掉即可,这是一个不错的参考资料,有爱好的朋友能够细心看一看。

完结之后在开端->程序->WINAVR-20090313里边能够找到装置的GCC软件。

2、树立并编译第一个GCC工程文件

这一部分我说一下AVR GCC中怎么树立工程并修改程序代码。

点击上图中的Programmers Notepad[WinAVR],发动咱们的 AVR GCC主程序。如图:

其界面跟常用的WINDOWS下的程序是相同的,没有特其他当地,在这儿不做具体的阐明,用到的时分咱们再进行阐明。

点击File->New->Project,树立一个新的工程,如下图:

输入工程的姓名,挑选工程的寄存途径,能够有中文途径。然后点击OK按钮。

在界面中心的文本修改窗口中,敲一个空格,或许键入任何内容,在工具栏上的保存按钮将变成有用的状况(默许保存按钮是无效的!)。点击保存,在弹出的“另存为”对话框中,将文件保存为main.c文件,然后放到工程目录下(方才树立的test工程目录)。假如不小心把这个空白的默许为new的修改窗口关掉或许开端的时分就没有,能够点击file菜单下面的

按钮新建一个,保存办法同上。

在左边的工程栏窗口中,右键点击工程名test,挑选Add Files。

将刚保存的main.c文件增加进工程。

在左边的工程中能够看到目录结构:

至此,咱们就树立好了一个新的工程,咱们在这儿增加简略的代码测验。如下:

#include //AVR头文件

#include //内部函数头文件

//PB口接8个LED,PB口为低时LED亮,高时灭,

//本程序完成8个LED以1HZ的频率闪耀

int main(void)

{

PORTB = 0xff;//初始化PB口

DDRB = 0xff;//设置PB口为输出

while(1)

{

PORTB = 0xff;

_delay_ms(500);//延时500毫秒

PORTB = 0x00;

_delay_ms(500);//延时500毫秒

}

}

点击保存。

这样咱们的第一个测验程序就修改结束了。有爱好的朋友能够现在点击Tools->[WinAVR]Make All编译一下试试,看看能不能编译经过?答案是:不能经过!!提示:

> “make.exe” all

make.exe: *** No rule to make target `all. Stop.

> Process Exit Code: 2

> Time Taken: 00:00

原因是MakeFile没有编写。在GCC进行编译的时分找不到Makefile文件就会犯错。下面Makefile文件的装备办法.

3、装备Makefile文件

开端->程序->WinAVR-20090313->MFile[WinAVR],翻开Makefile的装备窗口。

点击Makefile菜单,常用的选项有:

Main file name…

MCU type

其他的能够先坚持默许。

先点击Makefile->Main file name…在弹出的对话框中输入方才咱们树立的c文件的文件名,不包括“.c”!!!只输入main即可。(有必要跟源文件名共同!!!!!)

然后,Makefile-> MCU type,挑选MCU的类型,咱们运用的是atmega16

然后点击File->Save As,在弹出的对话框中挑选保存到咱们上一节树立的工程目录下(或许先保存到其他当地然后复制曩昔)!!!

双击得到的Makefile文件(不要改文件名!!!!),在翻开方法中挑选,记事本。确认。

将F_CPU = 8000000,改成你需求的晶振频率,我的板子是7.3728MHZ,那么就改成F_CPU = 7372800,保存退出。

这样,Makefile根本的装备就完结了,然后回到WinAVR的界面中,点击Tools->[WinAVR]Make All编译,鄙人面的Output窗口中提示:

> “make.exe” all

——– begin ——–

avr-gcc (WinAVR 20090313) 4.3.2

Copyright (C) 2008 Free Software Foundation, Inc.

This is free software; see the source for copying conditions. There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PART%&&&&&%ULAR PURPOSE.

Compiling C: main.c

avr-gcc -c -mmcu=atmega16 -I. -gdwarf-2 -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=./main.lst -std=gnu99 -MMD -MP -MF .dep/main.o.d main.c -o main.o

Linking: main.elf

avr-gcc -mmcu=atmega16 -I. -gdwarf-2 -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=main.o -std=gnu99 -MMD -MP -MF .dep/main.elf.d main.o –output main.elf -Wl,-Map=main.map,–cref -lm

Creating load file for Flash: main.hex

avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock main.elf main.hex

Creating load file for EEPROM: main.eep

avr-objcopy -j .eeprom –set-section-flags=.eeprom=”alloc,load” \

–change-section-lma .eeprom=0 –no-change-warnings -O ihex main.elf main.eep || exit 0

Creating Extended Listing: main.lss

avr-objdump -h -S -z main.elf > main.lss

Creating Symbol Table: main.sym

avr-nm -n main.elf > main.sym

Size after:

AVR Memory Usage

—————-

Device: atmega16

Program: 158 bytes (1.0% Full)

(.text + .data + .bootloader)

Data: 0 bytes (0.0% Full)

(.data + .bss + .noinit)

——– end ——–

> Process Exit Code: 0

> Time Taken: 00:07

编译经过!!!在工程目录中能够看到编程之后生成的HEX文件。

到这儿AVR GCC根本运用大致就能够把握了,其他的一些功用比方和AVR Studio合作运用等在了解了之后渐渐就能够探索了,咱们后边也考虑出相应教程,欢迎咱们到时分重视http://bbs.cepark.com/index.php ,咱们会第一时间把教程发布在论坛供给给咱们下载。

这儿只给咱们简略的介绍了AVR GCC的运用,尽量以图形的方法便利咱们的学习,后边紧跟的将是下载软件的运用,咱们引荐双龙的下载软件。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/chanpin/262350.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部