找回密码
 立即注册
查看: 175|回复: 5

AI8051U 使用USB-Link1D, SWD, 600KHz进行仿真, 问题求解决

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2025-06-16 08:55:12
已绑定手机

2

主题

1

回帖

41

积分

新手上路

积分
41
发表于 2025-6-14 22:51:09 | 显示全部楼层 |阅读模式
我使用的是 USB-Link1D, SWD, 600KHz进行仿真,
在仿真界面点击运行之后,再点击停止,会发现仿真界面执行到一个奇怪的地址处
如果一直运行,不点击停止,程序就能正常运行,如果这样的话那我还怎么检查程序问题?
该如何解决?

有KEIL仿真界面出错的截图

微信图片_20250614224511.png
微信图片_20250614224521.png
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:508
  • 最近打卡:2025-06-28 10:05:05
已绑定手机
已实名认证

113

主题

2423

回帖

6135

积分

版主

积分
6135
发表于 2025-6-15 18:28:55 | 显示全部楼层
这种通常是程序跑飞,一般是因为程序中存在了数组越界或者除0等错误,此时运行指针就会乱跑然后复位,因为内部的仿真功能其实也是程序的一部分,所以单片机的运行指针乱掉了就会出现这种通信错误。
亦或者使用了C251的情况下,也有可能是由这种情况引起的复位:https://www.stcaimcu.com/thread-15631-1-1.html
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2025-06-16 08:55:12
已绑定手机

2

主题

1

回帖

41

积分

新手上路

积分
41
发表于 2025-6-16 09:03:01 | 显示全部楼层
王*** 发表于 2025-6-15 18:28
这种通常是程序跑飞,一般是因为程序中存在了数组越界或者除0等错误,此时运行指针就会乱跑然后复位,因为 ...

但是我有一个程序没有访问任何扩展寄存器,仿真的时候随便你怎么运行和停止,都不会出问题,我这个程序与之前程序的唯一区别就是使用了扩展寄存器,仿真有问题,不仿真能正常运行

点评

那么很有可能是出现了打开了中断但是没有编写对应的中断函数,这样也会导致运行的指针跑飞 你可以着重检查一下这个部分  详情 回复 发表于 2025-6-16 10:07
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:508
  • 最近打卡:2025-06-28 10:05:05
已绑定手机
已实名认证

113

主题

2423

回帖

6135

积分

版主

积分
6135
发表于 2025-6-16 10:07:50 | 显示全部楼层
lsc*** 发表于 2025-6-16 09:03
但是我有一个程序没有访问任何扩展寄存器,仿真的时候随便你怎么运行和停止,都不会出问题,我这个程序与 ...

那么很有可能是出现了打开了中断但是没有编写对应的中断函数,这样也会导致运行的指针跑飞
你可以着重检查一下这个部分
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2025-06-16 08:55:12
已绑定手机

2

主题

1

回帖

41

积分

新手上路

积分
41
发表于 2025-6-16 15:16:26 | 显示全部楼层
王*** 发表于 2025-6-16 10:07
那么很有可能是出现了打开了中断但是没有编写对应的中断函数,这样也会导致运行的指针跑飞
你可以着重检 ...

检查了,没开启中断,只是一个很简易的PWM程序,控制核心板的P2.0和P2.1上的LED

点评

可以将程序发出来我测试一下吗? 还有,可以更新到最新的STC-ISP后,使用这个按钮更新一下仿真器的驱动,可能会存在老版本有BUG的情况的 [attachimg]104664[/attachimg]  详情 回复 发表于 2025-6-16 16:26
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:508
  • 最近打卡:2025-06-28 10:05:05
已绑定手机
已实名认证

113

主题

2423

回帖

6135

积分

版主

积分
6135
发表于 2025-6-16 16:26:40 | 显示全部楼层
lsc*** 发表于 2025-6-16 15:16
检查了,没开启中断,只是一个很简易的PWM程序,控制核心板的P2.0和P2.1上的LED ...

可以将程序发出来我测试一下吗?
还有,可以更新到最新的STC-ISP后,使用这个按钮更新一下仿真器的驱动,可能会存在老版本有BUG的情况的

截图202506161625455466.jpg

回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-28 20:55 , Processed in 0.682639 second(s), 83 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表