平一帆 发表于 2024-12-9 11:26:27

求大神解答,keil5的degbug问题,我按文档里的硬件仿真顺序完成了

<p>我的单片机是STC8G1K08的型号,烧录工具使用的是STC-Link1D,现在想进行keil5里面的硬件仿真。我完全按照文档里的顺序完成了   1.添加STC仿真器的固件和芯片型号到KEIL中。并显示MCU添加成功   2.STC-USB Link1D连接上STC8的单片机,将STC8的单片机设置成仿真芯片,并且上电烧录进去显示操作成功。在keil5中魔术棒的debug也设置的是COM5和1152000并且选择了STC-Monitor51 Driver。</p>
<p>问题就是,有时能debug有时不能,不能debug的时候,它会显示Connection to target system lost!Please reset your target system and try again.。有时又可以debug,进入debug后但是点击按行运行它还是会显示Connection to target system lost!Please reset your target system and try again.并且退出debug。</p>
<p><img src="data/attachment/forum/202412/09/112612b7y7rss5i75jozsd.png" alt="image.png" title="image.png" /></p>
<p>求大神解答,可能是什么原因造成的,以及该怎么办呢?谢谢!!</p>

AI芯 发表于 2024-12-9 11:48:42


如果你在设置了仿真芯片后又进行了下载程序操作,那需要重新设置下仿真芯片,检查下第6步 com port有没有选错

鉴于部分坛友在仿真过程中会遇到仿真失败的问题,总结可能导致的原因如下:
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中)修改,如果需要设置时钟的话,可以在烧录时通过硬件选项进行设置。

DebugLab 发表于 2024-12-9 12:03:55

https://www.stcaimcu.com/forum.php?mod=redirect&goto=findpost&ptid=12566&pid=128179

soma 发表于 2024-12-9 12:36:04

link1d的串口是1在后2在前,有没有可能选错串口
页: [1]
查看完整版本: 求大神解答,keil5的degbug问题,我按文档里的硬件仿真顺序完成了