1、连接好设备后,打开AVR Studio软件,选择Tools菜单栏 ->Program AVR ->"Connect"选项。
<ignore_js_op>
2、在左边选择"JTAGICE mkII",在右边选择"Auto"(或具体的COM口),然后点击"Connect"进行联机。
<ignore_js_op>
3、主面板简介
<ignore_js_op>
正常联机后,将弹出如上窗口:
●Device and Signature Bytes
Device里面选择好对应的芯片类型,后面的Erase Device可以擦除芯片。
Signature Bytes,芯片型号标识位,点右边的Read读按钮可以读出芯片内的ID。如果在编程面板里面选的芯片型号与读出的芯片型号对应,下面会提示Signature matches selected device,如果不匹配会出现WARNING: Signature does not match selected device。
●Programming Mode and Target Settings
左边的下拉框:注意这里选择:ISP mode,表示用的ISP编程模式。
右边的Settings:编程速率设定,这里可以读写编程器内ISP编程的速率。注意速率一定要小于芯片时钟频率的1/4,否则无法正确编程。
注:USB AVR JTAGICE XPII同时支持JTAG下载与ISP下载,您可根据此下拉框选择
●状态指示区
4、编辑面板简介
<ignore_js_op>
●Device
Erase Device Before Program:编程前先擦除芯片,建议选上,如果不选芯片内部残留的程序可能会对新的程序造成干扰。
Verity Device After Program:下载完毕后校验程序内容,建议选上。
●Flash
Input HEX File:找到要写的hex文件格式为*.hex。
Program:点此按钮,将会把Input HEX File对应文件下载到芯片中去,如果路径有错误或者文件格式不正确会有提示报警。
Verify:校验命令,用于检测芯片内程序是否和文件中的一致。
Read:读命令,此命令可以读出未加密芯片内的程序,自动弹出一个对话框提示保存。
●EEPROM
Input HEX File:找到要写的hex文件格式为*.eep。
Program、Verify、Read:请参见Flash部分。
●ELF Production File Format
ELF文件,它可以包括Flash、EEPROM、熔丝位、锁定位等信息。
5、熔丝位设置面板简介
<ignore_js_op>
特别注意:
(1)配置熔丝位有一定的危险性,可能锁死芯片,在不知道具体在做什么操作之前,请不要急于动手。
(2)熔丝位状态显示框,显示芯片的各个熔丝位的详细状况,AVR的熔丝位打勾表示0,表示启用该选项;取消表示1,表示不启用该选项。
(3)为了安全起见,在ISP模式下,SPIEN熔丝是不允许编程的,所以,当使用ISP进行编程时,复选框不可选。
(4)芯片锁死的主要原因是设错熔丝位,主要有两种情况:
1)JTAGEN和SPIEN两个熔丝位都为1(不打勾),不能再进行编程,此时只能用高压并行编程或者有源晶振恢复。
2)将熔丝位选择了外部晶振或外部RC振荡,而没有接外部晶振或外部RC振荡,或者外接的振荡频率不匹配,导致芯片不能工作,这种情况,需要外挂相应晶体才能再次操作芯片,用户应尽量记起当时设错熔丝的情况,比如错误设置成了外部3-8M晶振,那么外挂一个3-8M晶振即可进行相应操作。
当然还有其它方面的原因导致芯片锁死,在此处不再一一赘述。
下面对窗口信息进行注解:
●熔丝位状态表(上面部分)
每个熔丝位代表的意思请参见芯片的PDF
状态设置说明:
<ignore_js_op>
●熔丝位状态表(下面部分)
HIGH、LOW:它们的值是由上面熔丝位的状态决定
●下面的设置部分
Auto Read:会自动读一次,并刷新主窗口的熔丝状态,建议选上。
Smart Warning:在对一些特殊的具有一定危险性的熔丝位进行编程时会弹出警告信息,建议选上。
Verity after program:写完程序后会进行校验一次,确保正确写入,建议选中。
Program:编程
Verify:校验
Read:读取
正确的配置熔丝的方法是先读取,修改需要修改的地方,再编程。
6、锁定位设置面板简介
<ignore_js_op>
特别注意:
(1)通过编程锁定位,允许用户对AVR芯片内数据进行加密,不同的锁定位对应不同的加密保护程度,加密位共有三位,每位的数越大加密程度越高,否则越低。
(2)被加密后的芯片依然可以读出熔丝位和加密位的情况,一旦试图对加密位进行修改,芯片内的程序将会被修改或擦除,不能再使用。
(3)加密位可以通过编程界面的芯片擦除功能擦除到初始状态,使得芯片可以重复使用。
(4)锁定位编程界面有与熔丝位编程界面相同的选项和操作按钮,功能类似,不再赘述。
下面对窗口信息进行注解:
●锁定位状态表(上面部分)
每个锁定位代表的意思请参见芯片的PDF
●锁定位状态表(下面部分)
LOCKBIT:它的值是由上面锁定位的状态决定
7、高级设置面板简介
<ignore_js_op>
●Oscillator Calibration Byte
Calibrate for frequency:内部RC振荡校准,这里选择不同的频率,点Read,可以读出对应的频率下的校准值。选择将校准值写到Flash还是EEPROM,点击Write,即可 完成对应频率下的内部RC振荡校准。
说明:写入到flash区域的校准字芯片启动时自动读取并校准RC振荡,如果写到EEPROM中,需要程序中进行处理。
8、硬件设置面板简介
<ignore_js_op>
●Voltages
VTarget:目标板电压
ARef:模拟参考电压
AREF 1:如果存在AREF1,那么这里可以读取到模拟参考电压
●Clock Generator
时钟生成器,在AVRISP模式下不可用,在STK500或STK600模式下可设置输出某个设定的频率。
●Firmware Upgrade
"Upgrade"按钮为可用状态时,可以点击它进入自动升级。
9、硬件信息面板简介
<ignore_js_op>
●Hardware and Firmware Revision
硬件信息及固件程序版本信息,用于了解编程器信息,无功能作用。
10、自动烧写面板简介
<ignore_js_op>
特别注意:
(1)自动烧写面板用于批量烧写,程序会记录上次进行批处理的各个选项,一旦设置好之后,可以连续进行烧写。
(2)请慎用本功能,在不知情的情况下使用本功能,锁死芯片的几率将大大增加。
(3)自动处理:擦除芯片、检测芯片ID号、写flash、写EEPROM、写熔丝位、写锁定位以及他们对应的校验,一次完成,状态栏会显示正在进行的操作。
(4)所有的操作需要在前面对应的面板设置好,比如选择好下载的HEX及EEPROM文件,选好熔丝位,选好锁定位,写好内部RC校正位等。请一定确保各个选项正确,特别 是熔丝需要格外小心,可以先在每个面板里面进行操作确认没有问题再进行批处理操作。
(5)在进行批处理之前,请先在高级选项里面设置好通讯速率,确保速率小于晶振的四分之一,否则会出错。
(6)可以选中右边的Log to file选项从而记录操作日志。