USB端口仿真是如何被破坏的?
近两日在学习、比较STC8H8K64U的传统串口仿真和USB端口仿真。程序是一台测量设备运行的程序,不到6K。编译后无警告、无错误。使用传统串口调试(STC8H8K64U先写成串口调试模式仿真器)正常,无论是使用P3.0/3.1还是P3.6/3.7。进入仿真模式再退出仿真。
使用USB端口调试(STC8H8K64U先写成USB模式仿真器),在Keil中正常进入USB仿真界面。如果不运行被调试程序,可以正常退出仿真模式、但是一旦全速运行(F5)被调试程序,几秒后电脑就出现无法识别USB设备提示。也无法正常退出仿真调试了。
我判断是被调试程序运行破坏了USB仿真监控程序。我用一片打狗棍,使用STC-Link1D带的USB线模拟调试也是如此。
上述情况可能的问题出在哪里? 参考一下这个帖子:
【仿真】仿真注意事项总结
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=108
(出处: 国芯论坛-STC全球32位8051爱好者互助交流社区)
此外,系统时钟切换、系统时钟停止(休眠)、软件复位、看门狗复位和LVR复位,这些功能都无法仿真。 谢谢回复。上面链接中讲述的几点都仔细检查过。串口1改变到P3.6/3.7了。程序也没有修改系统时钟。程序代码小于6K,也没有大量使用XDATA。完全相同的程序使用串口P3.0/3.1仿真调试可以,用USB仿真调试,可以进入。没运行被调试程序可以再退出、再次正常进入。一旦运行被调试程序,几秒钟电脑就提示不能识别的USB设备了。 目前的测试表明,相同的硬件和软件情况下,使用串口P3.6/3.7仿真器可以正常调试程序。使用USB仿真器调试程序,可正常进入仿真状态。可是一旦全速运行被调试程序,几秒后电脑就显示无法识别的USB设备了。我也使用USB仿真器调试过一些演示小程序。目前还是使用串口P3.0/3.1或P3.6/3.7作为仿真串口吧。
页:
[1]