共2条
1/1 1 跳转至页
JTAG 有关JTAG使能熔丝的问题
问
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
接于单片机的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 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 | |
【FRDM-MCXN947评测】核间通信MUTEX被打赏50分 |