3.4 如何使能与禁用debugWIRE
特别注意:要明确一个概念,并不是所有的AVR芯片都拥有debugWIRE仿真功能,debugWIRE仿真功能是供给一些仅拥有ISP下载口没有JTAG下载口的AVR芯片实现仿真功能的方法。如ATmega48、ATmega88、ATmega168等。
一、使能debugWIRE功能
二、禁用debugWIRE功能
一、使能debugWIRE:
-已启用debugWIRE的器件
1、打开相应的调试文件
2、打开"*.COF"(使用ICCAVR编译器编写源代码)或"*.aps"文件(AVR Studio软件工程文件),这类文件与您需要调试的"*.C"文件所处同一文件夹。下面以ICCAVR为例,进行介绍
3、保存"*.aps"文件,该文件将记录目标芯片、文件路径等信息
4、打开项目文件时,选择"JTAG ICE mkII",选择实际使用的器件型号,点击"Finish"即可进行软件仿真
5、选择完成后,如果连线正确将弹出如下窗口
-未启用debugWIRE的器件
1、打开未启动debugWIRE的芯片,将弹出如下画面
上面窗口的意思是:"不能连接到器件,这可能是复位线路问题或debugWIRE未启用造成的,请确认复位线是空闲的在进行下步之前"
如果确保复位线路没有问题,那么请将ISP接口(MOSI、MISO、SCK)连接到MCU上,并选择"Use SPI to enable debugWire interface"选择项,然后点击"OK"。原因是:
1)要让一个AVR MCU能使用debugWIRE接口,就必须对debugWIRE的允许熔丝位(DWEN,debugWIRE Enable Fuse)编程为0(DWEN=0)
2)AVR MCU出厂时,该溶丝位是未编程的(DWEN=1)。debugWIRE接口自身不能编程此熔丝位,该熔丝位需通过ISP接口来编程实现
断开目标板供电电源两秒后,重新上电,再点击"OK",便启动了目标MCU的debugWIRE功能
注意:若硬件连接正确,确定无故障存在,却仍无法像上面步骤那样使能debugWIRE,那么:
(1)请检查目标MCU的RSTDISBL熔丝位是否为"1",(如ATmega48,RESET引脚可做RESET功能用,也可做IO功能用)若为"0"表示该引脚做IO使用,那么目标MCU的RESET功能已经被禁止,无法启用debugWIRE功能,那样只能先用高压编程的方式恢复RESET功能,再像上面那样操作一次才能使能debugWIRE功能
(2)如果MCU的lockbits 被编程,debugWIRE 的功能将不能使用,所以必须保证lockbits 在未设置的状态下设置DWEN 位,并注意不要在DWEN 位被编程的情况下设置lockbits。一旦在lockbits 被设置的情况下使能了DWEN,那么由于此时debugWIRE 功能无效,将无法返回ISP 模式,无法启用debugWIRE功能,那样只能先用高压编程的方式擦除lockbits,才能使得debugWIRE 功能启用
二、禁用debugWIRE:
-方法一:
1、连接好相关设备,打开AVRStudio,使用debugWIRE打开相关的工程调试文件,待加载完目标文件后,处于仿真状态下,点击菜单栏的"Debug"选择"JTAGICE mkII Options",如下图
2、点击"Disable debugWIRE"
3、等待几秒钟后将弹出以下窗口,点击"是(Y)",便启动了目标MCU的ISP功能,之后再点击关闭窗口,便可进行其它操作了
-方法二:
1、连接好相关设备,打开AVRStudio,打开相关的工程调试文件时,选中"Open platform options",如下图
2、点击"Disable debugWIRE"
3、等待几秒钟后将弹出以下窗口,点击"是(Y)",便启动了目标MCU的ISP功能,之后再点击关闭窗口,便可进行其它操作了
|