关于GCC(注:本文中所说GCC与WINAVR是同一个概念)的介绍这儿不做赘述,关于学习AVR单片机的朋友信任都听说过这款编译软件。AVR的开发软件很许多,下面是自己在网上查找到的关于几个编译软件的一点比较,仅供参考:
信任关于每个已经在学习AVR的朋友都有一款自己喜爱运用的编译软件,咱们引荐运用GCC,原因是它是真实的免费的,对C言语的支撑是很好的。或许许多朋友关于运用汇编编程仍是运用C言语编程都有不同的见地,在这儿咱们引荐运用相对高档的C言语进行编程,现在一个好的编译软件关于程序的优化是能够让人承受的,其编译出的程序功率足以满意咱们的要求,而且其杰出的可移植性为不同平台下的程序编写供给了便利。
这儿是GCC的下载页面: http://sourceforge.net/projects/winavr/files/
GCC关于初学者或许不是太简略入门,我在这儿做这个简略的教程,期望关于初学AVR而且想以GCC为开发软件的朋友有所协助。本教程将以如下几个部分进行:
*
*
*
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
#include
//PB口接8个LED,PB口为低时LED亮,高时灭,
//本程序完成8个LED以1HZ的频率闪耀
int main(void)
{
}
点击保存。
这样咱们的第一个测验程序就修改结束了。有爱好的朋友能够现在点击Tools->[WinAVR]Make All编译一下试试,看看能不能编译经过?答案是:不能经过!!提示:
> “make.exe” all
make.exe: *** No rule to make target `all.
> 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.
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
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
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” \
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:
(.text + .data + .bootloader)
Data:
(.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的运用,尽量以图形的方法便利咱们的学习,后边紧跟的将是下载软件的运用,咱们引荐双龙的下载软件。