AVR JTAG debugWIRE与ISP

问:JTAG与ISP烧写方面有什么不同?

JTAG烧写方式仅适用于带JTAG接口的AVR,另外,JTAG对比ISP烧写方式主要有个缺点:必须占用JTAG对应的IO端口。例如,ATMEGA16必须占用PC2-PC5这几个端口。然而,有时候,缺点也是优点,因为对于IO够用的AVR来说,在产品开发过程,可以用JTAG接口来仿真调试,产品量产后,产品板预留的JTAG接口还可以用来烧写程序。

debugWIRE与ISP是怎样的关系?

AVR MCU的ISP功能和debugWIRE功能是互斥的,也就是说,使能了AVR MCU的 debugWIRE 功能后ISP功能就无法使用,使能了ISP功能后debugWIRE功能就无法使用。
那么,怎样确定AVR的RESET引脚 为ISP功能使用还是debugWIRE功能使用呢?
在具备debugWIRE 的AVR 器件中,有一个可编程的熔丝位DWEN,如果该熔丝被编程(且lockbits未被编程),则debugWIRE 功能被启用,AVR的RESET 引脚将被作为debugWIRE 功能使用,可与调试器进行debugWIRE仿真通信(此时,ISP 功能被禁用)。AVR芯片出厂时,DWEN熔丝位是未编程的,也即是说ISP 功能是使能的,debugWIRE 被禁用。使用ISP 功能时,通过调试器对debugWIRE熔丝进行编程使能,可启用debugWIRE功能;使用debugWIRE功能时,对通过调试器对debugWIRE熔丝禁止,可使能ISP 功能。