这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » JTAG 有关JTAG使能熔丝的问题

共2条 1/1 1 跳转至

JTAG 有关JTAG使能熔丝的问题

院士
2006-09-17 18:14:16     打赏
JTAG 有关JTAG使能熔丝的问题



关键词: 有关     使能     熔丝     问题    

院士
2006-12-22 22:43:00     打赏
2楼
问     ATmeg16单片机,用JTAG仿真器,JTAG的4根数据线TCK、TMS、TDI、TDO
接于单片机的PC2-PC5上
    当线路中要用到PC2-PC5作为一般的I/O口使用时,应如何处理?
资料上说:将MCUCSR的最高位JTD置‘1’即可屏蔽JTAG的数据口,作为一般的 I/O口使用。我试过了,但是软件在置JTD的同时将JTAG仿真使能的熔丝也去掉了。不知是何原因?
    JTAG仿真使能的熔丝的恢复是否只能通过另一种方式烧入?  1: JTAG使能熔丝问题已经解决!关于JTAG仿真使能熔丝的问题,通过一个晚上的摸索试验终于搞清楚了其中的来龙去脉,现将JTAG仿真的注意事项列举如下:
(所列的事项在ATmeg16上试验完全通过)
以下资料仅供参考,还请大家多多补充完善!

JTAG仿真注意事项(ATmeg16)

   JTAG仿真器在载入*.cof文件的同时已经将程序烧入到单片机中。

   要想用JTAG进行在线仿真或编程下载,必须在AVRStudio中将JTAG ICE中的Fuses选项中的On-Chip Debug Enable和JTAG Interface Enable两项熔丝选中(出厂默认选中),并且MCUCSR中的最高位JTD(JTAG Disable)必须为“0”。

   当JTAG Interface Enable选中后,与JTAG的TDI、TDO、TMS、TCK 4根线相连的单片机口线PC5、PC4、PC3、PC2就不能作为一般的I/O口线来使用。

   要想将以上4个PC口也作为一般的I/O口使用,该怎么办?

办法是:在程序的初始化中连续2次将MCUCSR的最高位JTD置“1”,这样当程序执行时即可将On-Chip Debug Enable和JTAG Interface Enable两项熔丝不选中。此时(PC2-PC5)就可以作为一般的I/O口线来使用。

   如何将JTAG Interface Enable的熔丝烧回呢?

方法一:
可以通过烧写器中的Fuses配置重新将On-Chip Debug Enable和JTAG Interface Enable两项的熔丝烧回

方法二:
可以通过JTAG仿真器将熔丝烧回。此时必须借助单片机的外部复位键,并且要确保JTAG的6脚 nSRST与单片机的RST脚(复位脚)相连。

具体的做法是:
在载入*.cof文件的同时按住外部复位键不放直到整个cof文件完全载入。此时JTAG仿真器已经把你的程序烧入到单片机中。但是熔丝位是否已经恢复了呢?

不一定!请注意以下两点:
1.    当所烧的程序中含有将MCUCSR中的JTD位置“1”的操作时,JTAG仿真熔丝无法恢复,
JTAG Interface Enable的熔丝无法烧回。程序可以仿真调试,但必须单步执行JTD置“1”的语句(MCUCSR|=0x80)。

2.    当所烧的程序中不含将MCUCSR中的JTD位置“1”的操作时,JTAG仿真熔丝可以恢复,
   即JTAG Interface Enable的熔丝可以烧回。程序可以仿真调试。

2: 谢谢小二,解决了一个我没有解决的问题。 3: 128有效么? 4: 小二,真牛.我说我的PC5、PC4、PC3、PC2怎么不好使呢.肯定是熔丝问题.
5: 获益匪浅 6: good

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]