wcg6268 发表于 2013-2-22 12:22:26

LGT JTAGICE使用PC2(SWC)和PC3(SWD)后恢复调试功能

这2天玩LGT,虽然借鉴了好多前辈的经验,但代码方面还是老郁闷了。由于本人案子IO使用较多,必须使用PC2和PC3.

看别人没说到这块,也来抛砖引玉。

wcg6268 发表于 2013-2-22 12:35:37

看完资料,资料要使用PC2,PC3,必须4个周期内对SWDD赋值2次,如下

MCUCR = 0x80;
asm("nop");
MCUCR = 0x80;

后面就可以正常操作了PC2和PC3的IO功能,但JTAGICE的调试和烧录功能就失效了.

我的板子上,复位脚有个按键到地,我按住按键,也就是让复位脚到地,又可以进入烧录和调试,但后面还是发现烧录和仿真不正常,所有数据都变FF了。

无意中,我一直长按复位, 进入烧录模式, 发现可以烧录,但老是报错,说地址00的数据和烧录不一致,而且每次数据变化。后面我松手无意中重烧发现居然成功了。

到这里,问题解决了。

如果要用PC2/PC3,2次置位SWDD,后面要恢复仿真功能,SWDD置0,编译,长按住复位键,进入烧录模式,烧录一次,然后松开RST,再重烧录,JTAGICE的仿真功能又恢复正常了。

whimsyB 发表于 2013-2-22 13:40:42

做个记号,后期使用中肯定会用的上

sballbobo 发表于 2013-7-27 04:24:23

这个有用。

chenxp99 发表于 2013-11-21 13:57:48

标记,待用
页: [1]
查看完整版本: LGT JTAGICE使用PC2(SWC)和PC3(SWD)后恢复调试功能