AVR学习札记之工具选择篇
自己开始学习AVR也已经有半年时间了,大多数时间处于自己摸苦苦索的状态,其实AVR和51相比并没有多少难度,但自己着实走了不少的弯路。现在的AVR开发环境有许多种,经过自己这么些时间的尝试,找到了这样一篇新手入门的文章拿来和大家分享,同时把自己的点滴小建议。
1. 获得必须的软件
请从Atmel官方获得最新版本的AVR Studio(此帖发表时所能获得的为4.13及其Service Pack 1)
http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725
请从WinAVR官方获得最新版本的WinAVR(此帖发表时所能获得的为WinAVR-20070525)
http://sourceforge.net/project/showfiles.php?group_id=68108
也可以在http://sourceforge.net主页上搜索WinAVR
注意:WinAVR和AVR Studio是2个不同的软件,前者是开源项目,不属于Atmel所有,后者是Atmel版权所有的。
2. 安装步骤
1)安装WinAVR
2)安装AVR Studio
3)安装AVR Studio的Service Pack(如果有的话)
3. 新建测试工程
1)启动AVR Studio
2)选择"New Project"
3)"Project type"里选择"AVR GCC",单击"Location"旁的按钮,选择工程保存位置(这里假设为C:/),避免路径中有中文,
在"Project name:"里填入工程名test01,把"Create initial file"的钩去除,把"Create folder"钩上,
单击"Next>>"
4)"Debug platform:"里选择"AVR Simulator","Device:"里选择"Atmega128",单击"Finish"
5)菜单File->New File,建立空白文档,复制以下代码到该文档中(注意:最后一个“}”下面还有一个空行):
#include "avr/io.h"
int main(void)
{
while(1);
}
6)菜单File->Save,在“另存为”对话框里选择工程保存的路径下工程名命名的文件夹下(这里假设为C:/test01/),
你会看到已经有一个test01.aps文件存在了,那是AVR Studio的工程文件。“文件名”里填入“main.c”,保存。
7)在"AVR GCC"工程管理窗格内的"Source Files"上单击右键,右键菜单里选择"Add Existing Source File(s)...",
在"Add Source File"里选择刚刚建立的main.c文件。会看到工程管理窗格内的"Source Files"下多了个main.c文件。
8)菜单Project->Configuration Oprions,在"General"下(默认就是),确认"Use External MakeFile"没有钩上,
"Frequency:"填入频率“8000000”,"Optimiztion"选择"-00",确认"Create Hex File"已经钩上,
然后单击确定(请勿修改其它设置)
9)菜单Build->ReBuild All,编译工程。如果操作正确,应该没有警告和错误。
10)菜单Debug->Start Debugging,顺利的话,软件仿真已经启动。
11)至此,测试工程已成功。可以在工程保存目录下看到一个default文件夹,打开后有test01.elf(AVR Studio的支持的仿真调试文件格式之一),
test01.hex(烧写时要用的文件)
4. 给新手的建议:
如果书中/资料中以命令行方式编译文件,请跳过这些例子中的命令行操作,改为用AVR Studio新建工程来编译。
如果有Makefile方面的讲解,也请跳过。因为这些讲解可能太过于简略,而难以理解。
1)不要去用WinAVR带的mfile所产生的Makefile文件,只使用AVR Studio菜单Project->Configuration Oprions来配置工程,
(不要钩上"Use External MakeFile")
2)工程保存路径中不要有中文名,即只在英文名文件夹下(包括其上各级文件夹也是英文)
3)始终使用Build->ReBuild All,编译工程
4)新建工程时,工程名不要用Makefile(不论何种大小写组合)
5)新建工程时,不要钩上"Create initial file"
6)不要修改"Output File"里的文件名
7)现在,中断程序是以ISR(...)方式声明的,书和资料可能落后于WinAVR的更改,
请随时通过开始菜单里WinAVR下的avr-libc Manual [WinAVR]查看目前WinAVR的各种函数和头文件说明
5. 进一步学习:
当你比较熟悉用AVR Studio完成你的工程编译过程后,可以考虑学习Makefile:
《一步一步学写makefile》http://blog.csdn.net/Jiangfriend/archive/2007/06/27/1669206.aspx
《Makefile学习教程: 跟我一起写 Makefile》http://www.stlchina.org/twiki/bin/view.pl/ScriptProgram/LearnMakefile