LGT JTAGICE使用PC2(SWC)和PC3(SWD)后恢复调试功能
这2天玩LGT,虽然借鉴了好多前辈的经验,但代码方面还是老郁闷了。由于本人案子IO使用较多,必须使用PC2和PC3.看别人没说到这块,也来抛砖引玉。 看完资料,资料要使用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的仿真功能又恢复正常了。
做个记号,后期使用中肯定会用的上 这个有用。 标记,待用
页:
[1]