renyule的笔记 https://passport2.21ic.com/?126512 [收藏] [复制] [RSS]

日志

AVR Studio+GCC

已有 1687 次阅读2010-5-28 03:48 |个人分类:AVR|系统分类:单片机| AVR开发工具

参考网址:http://hi.baidu.com/zhaojieneu/blog/item/a14380fbe81136106c22eb44.html


  1.获得必须的软件


  请从Atmel官方获得最新版本的AVRStudio(此帖发表时所能获得的为4.13及其ServicePack1)


  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和AVRStudio是2个不同的软件,前者是开源项目,不属于Atmel所有,后者是Atmel版权所有的。


  2.安装步骤


  1)安装WinAVR


  2)安装AVRStudio


  3)安装AVRStudio的ServicePack(如果有的话)


  3.新建测试工程


  1)启动AVRStudio


  2)选择"NewProject"


  3)"Projecttype"里选择"AVRGCC",单击"Location"旁的按钮,选择工程保存位置(这里假设为C:\),避免路径中有中文,在"Projectname:"里填入工程名test01,把"Createinitialfile"的钩去除,把"Createfolder"钩上,单击"Next"。


  4)"Debugplatform:"里选择"AVRSimulator","Device:"里选择"Atmega128",单击"Finish"


  5)菜单File,NewFile,建立空白文档,复制以下代码到该文档中(注意:最后一个“}”下面还有一个空行):


  #include"avr/io.h"


  intmain(void)


  {


  while(1);


  }


  6)菜单File,Save,在“另存为”对话框里选择工程保存的路径下工程名命名的文件夹下(这里假设为C:\test01\),你会看到已经有一个test01.aps文件存在了,那是AVRStudio的工程文件。“文件名”里填入“main.c”,保存。


  7)在"AVRGCC"工程管理窗格内的"SourceFiles"上单击右键,右键菜单里选择"AddExistingSourceFile(s)...",在"AddSourceFile"里选择刚刚建立的main.c文件。会看到工程管理窗格内的"SourceFiles"下多了个main.c文件。


  8)菜单Project->ConfigurationOprions,在"General"下(默认就是),确认"UseExternalMakeFile"没有钩上,"Frequency:"填入频率“8000000”,"Optimiztion"选择"-00",确认"CreateHexFile"已经钩上,然后单击确定(请勿修改其它设置)


  9)菜单Build->ReBuildAll,编译工程。如果操作正确,应该没有警告和错误。


  10)菜单Debug->StartDebugging,顺利的话,软件仿真已经启动。


  11)至此,测试工程已成功。可以在工程保存目录下看到一个default文件夹,打开后有test01.elf(AVRStudio的支持的仿真调试文件格式之一),test01.hex(烧写时要用的文件)


  4.给新手的建议:如果书中/资料中以命令行方式编译文件,请跳过这些例子中的命令行操作,改为用AVRStudio新建工程来编译。如果有Makefile方面的讲解,也请跳过。因为这些讲解可能太过于简略,而难以理解。


  1)不要去用WinAVR带的mfile所产生的Makefile文件,只使用AVRStudio菜单Project->ConfigurationOprions来配置工程,(不要钩上"UseExternalMakeFile")


  2)工程保存路径中不要有中文名,即只在英文名文件夹下(包括其上各级文件夹也是英文)


  3)始终使用Build->ReBuildAll,编译工程


  4)新建工程时,工程名不要用Makefile(不论何种大小写组合)


  5)新建工程时,不要钩上"Createinitialfile"


  6)不要修改"OutputFile"里的文件名


  7)现在,中断程序是以ISR(...)方式声明的,书和资料可能落后于WinAVR的更改,请随时通过开始菜单里WinAVR下的avr-libcManual[WinAVR]查看目前WinAVR的各种函数和头文件说明


  8)GCC是区分文件名大小写的,.c是C文件,但是.C是C++文件


  9)当使用优化后出现程序不按预期的方式运行时,先使用-00级(即不优化)编译并测试,如果未优化时正常,那么是你的代码需要考虑像volatile之类的优化限制问题,可以搜索论坛或发帖求助,并贴出测试用代码(而不是只描述问题)。


  5.进一步学习:当你比较熟悉用AVRStudio完成你的工程编译过程后,可以考虑学习Makefile:《一步一步学写makefile》http://blog.csdn.net/Jiangfriend/archive/2007/06/27/1669206.aspx《Makefile学习教程:跟我一起写Makefile》http://www.stlchina.org/twiki/bi...ogram/LearnMakefile



本文来自:我爱研发网(52RD.com) - R&D大本营
详细出处:http://www.52rd.com/bbs/Archive_Thread.asp?SID=162823&TID=3


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)