【仿真】仿真注意事项总结 | 大家帮继续总结
【仿真】仿真注意事项总结 | 大家帮继续总结鉴于部分坛友在仿真过程中会遇到仿真失败的问题,总结可能导致的原因如下:
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 串口
可以试试
有2个疑问:
1、设置为仿真芯片后,用仿真下载了程序,之后断开连接,PCB重新上电,能正常跑之前下载的软件?
2、设置为仿真芯片后,如何取消作为仿真芯片的功能; 2、设置为仿真芯片后,如何取消作为仿真芯片的功能;
===重新 ISP 下载用户程序,仿真功能就取消了
1、设置为仿真芯片后,用仿真下载了程序,之后断开连接,PCB重新上电,能正常跑之前下载的软件?
===在等KEIL的命令,有命令才跑,否则等 神农鼎 发表于 2023-2-11 23:45
2、设置为仿真芯片后,如何取消作为仿真芯片的功能;
===重新 ISP 下载用户程序,仿真功能就取消了
谢谢! ben 发表于 2023-2-11 23:40
有2个疑问:
1、设置为仿真芯片后,用仿真下载了程序,之后断开连接,PCB重新上电,能正常跑之前下载的软 ...
不用取消仿真,直接下载程序。 程序打开看门狗后无法仿真,是什么原因
你不及时喂狗,狗就咬你/复位 STC51仿真, 一键取消全部断点功能, 建议 官方有时间能加上, 方便用户使用.
原STC32仿真, 一键取消全部断点功能, 也是没有的, 后来提了建议, 官方已加, 现在使用很方便. 有网友问:单步仿真的时候,定时器是同时单步还是连续运行的?