仿真注意事项总结

鉴于部分坛友在仿真过程中会遇到仿真失败的问题,总结可能导致的原因如下:
1.  制作完仿真芯片后没有重新给 MCU 进行上电复位,就开始仿真。
     制作完仿真芯片后必须停电再上电,新的设置项[仿真芯片]才会生效
2.  如果使用 U8W/U8W -Mini 进行仿真的话,需要先设置“直通模式” ,
     具体方法参考官网https://www.stcai.com/gjrj 工具使用说明5.9 章节介绍。
3.  仿真程序不能使用 P3.0/P3.1 口。仿真监控程序占用 P3.0/P3.1 口,但不占用串口 1,用户可以将串口 1 切换到其它通道再使用。
4.  仿真监控程序占用内部扩展 RAM(XDATA)的最后 768 字节,如果程序使用 XDATA+768 字节大于芯片 XDATA 的上限,也会出错。
5.  不能仿真时钟/复位相关的功能。例如程序里面不能修改系统时钟频率,不能开启看门狗,不能进入休眠/空闲模式。
6.  P3.0/P3.1 口数据受到干扰。 仿真通过 P3.0/P3.1 口与 KEIL 驱动进行通信, 如果数据受到干扰会导致仿真出错。故障排查参考:
1)  使用优质的 USB 线、串口工具与目标板连接线;
2)  P3.0/P3.1 口外围电路上不要接影响通信的元器件;
3)  如果使用台式机的话,连接机箱背后的 USB 接口,尽量不要使用延长线;
4)  板子上如果有电机等干扰比较大的器件,仿真之前先断开。
7.   如果不是用STC-USB Link1D进行SWD仿真 ,那么不能进行 单步仿真 DPTR
8. 使用串口或USB仿真时,当停止运行用户代码时,定时器0~4会全部停止。此时和定时器相关的硬件都会停止,
   包括串口时钟、定时器中断、定时器时钟输出等。
9.芯片的时钟不能在仿真的时候(Keil中)修改,如果需要设置时钟的话,可以在烧录时通过硬件选项进行设置。

第3点和第4点,特别是第4点经常会注意不到,内部扩展RAM超过768字节,导致出错,可以首先排查这个原因。
另,不建议使用U8W或U8W-Mini仿真,建议用最新的STC-USB Link1D工具仿真。
STC-USB Link1D, STC 官方仿真烧录工具
可以支持 STC32系列 SWD仿真, 在线下载,脱机下载,及 再扩展一组 USB-CDC 串口
可以支持 STC8 系列 串口仿真,在线下载,脱机下载,及 再扩展一组 USB-CDC 串口

STC-USB Link1D  = SWD仿真         +        USB-CDC 串口
STC-USB Link1D  = USB-CDC 串口1         +         USB-CDC 串口2
STC-USB Link1D  = U8W-Mini         +         USB-CDC 串口

首页    常见问题    仿真注意事项总结