《winavr和avr studio》由会员分享,可在线阅读,更多相关《winavr和avr studio(14页珍藏版)》请在金锄头文库上搜索。
1、1楼1. 获得必须的软件 请从Atmel官方获得最新版本的AVR Studio请从WinAVR官方获得最新版本的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:),避免路径中有中
2、文, 在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:test0
3、1), 你会看到已经有一个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:
4、填入频率“8000000”,Optimiztion选择-00,确认Create Hex File已经钩上, 然后单击确定(请勿修改其它设置) 9)菜单Build-ReBuild All,编译工程。如果操作正确,应该没有警告和错误。 10)菜单Debug-Start Debugging,顺利的话,软件仿真已经启动。 11)至此,测试工程已成功。可以在工程保存目录下看到一个default文件夹,打开后有test01.elf(AVR Studio的支持的仿真调试文件格式之一), test01.hex(烧写时要用的文件) 4. 给新手的建议: 如果书中/资料中以命令行方式编译文件,请跳过这些例子中的命
5、令行操作,改为用AVR Studio新建工程来编译。 如果有Makefile方面的讲解,也请跳过。因为这些讲解可能太过于简略,而难以理解。 1)不要去用WinAVR带的mfile所产生的Makefile文件,只使用AVR Studio菜单Project-Configuration Oprions来配置工程, (不要钩上Use External MakeFile) 2)工程保存路径中不要有中文名,即只在英文名文件夹下(包括其上各级文件夹也是英文) 3)始终使用Build-ReBuild All,编译工程 4)新建工程时,工程名不要用Makefile(不论何种大小写组合) 5)新建工程时,不要钩上
6、Create initial file 6)不要修改Output File里的文件名 7)现在,中断程序是以ISR(.)方式声明的,书和资料可能落后于WinAVR的更改, 请随时通过开始菜单里WinAVR下的avr-libc Manual WinAVR查看目前WinAVR的各种函数和头文件说明 5. 进一步学习: 当你比较熟悉用AVR Studio完成你的工程编译过程后,可以考虑学习Makefile:WWW.WAVESHARE.NET如果对产品有兴趣的可以点击此链接注:本简介以ATMega48为例进行介绍。1、连接好设备后,打开AVR Studio软件,选择Tools菜单栏 -Program
7、AVR -Connect选项。2、在左边选择JTAGICE mkII,在右边选择Auto(或具体的COM口),然后点击Connect进行联机。3、主面板简介正常联机后,将弹出如上窗口:Device and Signature BytesDevice里面选择好对应的芯片类型,后面的Erase Device可以擦除芯片。Signature Bytes,芯片型号标识位,点右边的Read读按钮可以读出芯片内的ID。如果在编程面板里面选的芯片型号与读出的芯片型号对应,下面会提示Signature matches selected device,如果不匹配会出现WARNING: Signature doe
8、s not match selected device。Programming Mode and Target Settings左边的下拉框:注意这里选择:ISP mode,表示用的ISP编程模式。右边的Settings:编程速率设定,这里可以读写编程器内ISP编程的速率。注意速率一定要小于芯片时钟频率的1/4,否则无法正确编程。注:USB AVR JTAGICE XPII同时支持JTAG下载与ISP下载,您可根据此下拉框选择状态指示区4、编辑面板简介DeviceErase Device Before Program:编程前先擦除芯片,建议选上,如果不选芯片内部残留的程序可能会对新的程序造成干
9、扰。Verity Device After Program:下载完毕后校验程序内容,建议选上。FlashInput HEX File:找到要写的hex文件格式为*.hex。Program:点此按钮,将会把Input HEX File对应文件下载到芯片中去,如果路径有错误或者文件格式不正确会有提示报警。Verify:校验命令,用于检测芯片内程序是否和文件中的一致。Read:读命令,此命令可以读出未加密芯片内的程序,自动弹出一个对话框提示保存。EEPROMInput HEX File:找到要写的hex文件格式为*.eep。Program、Verify、Read:请参见Flash部分。ELF Pro
10、duction File FormatELF文件,它可以包括Flash、EEPROM、熔丝位、锁定位等信息。5、熔丝位设置面板简介特别注意:(1)配置熔丝位有一定的危险性,可能锁死芯片,在不知道具体在做什么操作之前,请不要急于动手。(2)熔丝位状态显示框,显示芯片的各个熔丝位的详细状况,AVR的熔丝位打勾表示0,表示启用该选项;取消表示1,表示不启用该选项。(3)为了安全起见,在ISP模式下,SPIEN熔丝是不允许编程的,所以,当使用ISP进行编程时,复选框不可选。(4)芯片锁死的主要原因是设错熔丝位,主要有两种情况:1)JTAGEN和SPIEN两个熔丝位都为1(不打勾),不能再进行编程,此时
11、只能用高压并行编程或者有源晶振恢复。 2)将熔丝位选择了外部晶振或外部RC振荡,而没有接外部晶振或外部RC振荡,或者外接的振荡频率不匹配,导致芯片不能工作,这种情况,需要外挂相应晶体才能再次操作芯片,用户应尽量记起当时设错熔丝的情况,比如错误设置成了外部3-8M晶振,那么外挂一个3-8M晶振即可进行相应操作。 当然还有其它方面的原因导致芯片锁死,在此处不再一一赘述。下面对窗口信息进行注解:熔丝位状态表(上面部分)每个熔丝位代表的意思请参见芯片的PDF状态设置说明:熔丝位状态表(下面部分)HIGH、LOW:它们的值是由上面熔丝位的状态决定下面的设置部分Auto Read:会自动读一次,并刷新主窗
12、口的熔丝状态,建议选上。Smart Warning:在对一些特殊的具有一定危险性的熔丝位进行编程时会弹出警告信息,建议选上。Verity after program:写完程序后会进行校验一次,确保正确写入,建议选中。 Program:编程Verify:校验Read:读取正确的配置熔丝的方法是先读取,修改需要修改的地方,再编程。6、锁定位设置面板简介特别注意:(1)通过编程锁定位,允许用户对AVR芯片内数据进行加密,不同的锁定位对应不同的加密保护程度,加密位共有三位,每位的数越大加密程度越高,否则越低。(2)被加密后的芯片依然可以读出熔丝位和加密位的情况,一旦试图对加密位进行修改,芯片内的程序将
13、会被修改或擦除,不能再使用。(3)加密位可以通过编程界面的芯片擦除功能擦除到初始状态,使得芯片可以重复使用。(4)锁定位编程界面有与熔丝位编程界面相同的选项和操作按钮,功能类似,不再赘述。下面对窗口信息进行注解:锁定位状态表(上面部分)每个锁定位代表的意思请参见芯片的PDF锁定位状态表(下面部分)LOCKBIT:它的值是由上面锁定位的状态决定7、高级设置面板简介Oscillator Calibration ByteCalibrate for frequency:内部RC振荡校准,这里选择不同的频率,点Read,可以读出对应的频率下的校准值。选择将校准值写到Flash还是EEPROM,点击Wri
14、te,即可 完成对应频率下的内部RC振荡校准。说明:写入到flash区域的校准字芯片启动时自动读取并校准RC振荡,如果写到EEPROM中,需要程序中进行处理。8、硬件设置面板简介VoltagesVTarget:目标板电压ARef:模拟参考电压AREF 1:如果存在AREF1,那么这里可以读取到模拟参考电压Clock Generator时钟生成器,在AVRISP模式下不可用,在STK500或STK600模式下可设置输出某个设定的频率。Firmware UpgradeUpgrade按钮为可用状态时,可以点击它进入自动升级。9、硬件信息面板简介Hardware and Firmware Revisi
15、on硬件信息及固件程序版本信息,用于了解编程器信息,无功能作用。10、自动烧写面板简介特别注意:(1)自动烧写面板用于批量烧写,程序会记录上次进行批处理的各个选项,一旦设置好之后,可以连续进行烧写。(2)请慎用本功能,在不知情的情况下使用本功能,锁死芯片的几率将大大增加。(3)自动处理:擦除芯片、检测芯片ID号、写flash、写EEPROM、写熔丝位、写锁定位以及他们对应的校验,一次完成,状态栏会显示正在进行的操作。(4)所有的操作需要在前面对应的面板设置好,比如选择好下载的HEX及EEPROM文件,选好熔丝位,选好锁定位,写好内部RC校正位等。请一定确保各个选项正确,特别 是熔丝需要格外小心,可以先在每