找回密码
 立即注册
查看: 139|回复: 24

请教大佬8G1K08的Debug调试问题

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2025-05-07 08:59:21
已绑定手机

13

主题

23

回帖

107

积分

注册会员

积分
107
发表于 4 天前 | 显示全部楼层 |阅读模式
您好大佬,我的8G1K08一直不能Debug调试,用的是USB-Link1D,我按照手册里的步骤做的,但是依旧不可以

我将我完整的操作步骤复现给您,您帮我看看是哪一步不对吧

前提:代码中没有用到P3.1和P3.0,电路外也没有外接任何器件如下图:
截图202505061131187157.jpg
截图202505061128442103.jpg


下面是我的Debug操作顺序:
1.首先是我的硬件的链接方式,如下:
这样链接,经实测可以正常的下载程序。
截图202505061107423782.jpg

2.通过ISP软件下载程序,下载成功后给单片机断电

3.打开ISP软件,进行仿真芯片的制作
截图202505061111515275.jpg
点击下载按钮后,会出现下图所示现象:
截图202505061112373696.jpg
然后给单片机上电,显示出操作成功:
截图202505061113287844.jpg

4.选择CDC1:
ISP软件识别出的CDC1对应的COM是COM4:
截图202505061114108597.jpg
所以Keil里面的也选择COM4
截图202505061115337448.jpg



在将所选单片机成功设置为仿真芯片后,我的单片机一直保持的是上电状态,按上图设置好Keil后,点击Debug,依旧会报错:
截图202505061123037634.jpg
截图202505061123168119.jpg

请您帮我看看是硬件连接或者接线的问题,还是我的操作落下了哪一步,感谢您期待您的回复!!



截图202505061106054473.jpg
回复

使用道具 举报 送花

3

主题

1102

回帖

915

积分

等待验证会员

积分
915
发表于 4 天前 | 显示全部楼层
针对您描述的STC8G1K08调试异常问题,经分析可能涉及硬件连接、仿真配置、软件参数设置等多个环节。现提供系统性排查方案如下:

一、硬件连接验证(关键检查项)
1. 调试器接口规范
确认USB-Link1D与目标板的TXD/RXD交叉连接:调试器TXD应接MCU的P3.0(RXD),调试器RXD接P3.1(TXD)
检查VCC供电稳定性:建议在调试阶段使用外部独立电源供电(3.3V/5V),避免USB-Link1D供电不足
测量P3.0/P3.1电压:在未连接调试器时,两引脚电压应≤0.1V(浮空状态)

2. 物理层干扰排除
使用示波器观测串口波形:正常通信时应有标准UART波形(波特率建议设置为115200)
检查PCB走线:P3.0/P3.1走线长度应<5cm,避免与高频信号线平行
建议在P3.0/P3.1增加1kΩ上拉电阻(部分批次芯片内部弱上拉可能不足)

二、仿真芯片制作流程复查
1. ISP操作时序验证
烧录仿真固件时应严格遵循断电时序:
  
  1. 点击下载按钮 → 完全断电(含VCC/GND)→ 重新上电 → 完成握手
复制代码
确认ISP软件版本≥6.91H(早期版本存在调试协议兼容性问题)

2. 参数配置校验
核对IRC频率设置:必须与工程代码中配置的主频完全一致(误差≤±1%)
选择正确的芯片型号:STC8G1K08-38I-SOP16(注意尾缀匹配封装)

三、Keil开发环境配置
1. 调试驱动配置
在Options for Target → Debug中:
选择STC Monitor-51 Driver
Port选择CDC对应的COM口(需与设备管理器一致)
Baudrate建议设置为115200(需与ISP设置同步)
检查Settings → Memory Map中的地址范围:XRAM建议设置为0x0000-0x07FF

2. 工程配置冲突排查
确认未启用代码优化(建议调试阶段关闭所有优化选项)
检查启动文件STARTUP.A51:确保未修改初始化堆栈设置
验证中断向量表:调试模式下不可使用中断向量重定向

四、典型故障现象分析
根据您提供的错误提示(Error: Target DLL has been cancelled),建议重点排查:
1. 握手协议失败
使用STC-ISP的串口助手功能发送握手指令:0x7F 0x7F(应收到芯片ID响应)
若无响应,检查硬件链路阻抗:TXD/RXD对地阻抗应>1MΩ

2. 供电时序异常
测量上电瞬间电压波形:要求VCC上升时间<1ms(避免电源缓升导致初始化失败)
建议在VCC与GND间并联100μF电解电容+100nF陶瓷电容

五、进阶诊断方案
1. 协议层抓包分析
使用逻辑分析仪捕获调试通信数据:
正常握手序列应包含3次协议交互
观察ACK/NACK响应码(正常为0x5A)

2. 替代方案验证
尝试更换同型号芯片排除个体故障
使用STC-USB Link1D的HID模式调试(需更新固件至v1.12以上)

六、推荐调试配置参数
  1. c
  2. // 工程配置参考(Keil μVision)
  3. pragma OPTIMIZE(0)
  4. define DEBUGMODE 1
  5. void SystemInit(void) {
  6.     PSW2 |= 0x80;  // 使能扩展寄存器访问
  7.     IRC24MCR = 0x82; // 校准24MHz内部振荡器
  8.     // 其他外设初始化代码...
  9. }
复制代码

若经上述排查仍无法解决,建议提供以下信息以便进一步分析:
1. 电源上电波形截图(时间轴:200ms/div)
2. ISP软件制作的HEX文件MD5值
3. Keil工程配置的完整截图(含C51/Device/Target选项卡)

注:根据STC官方技术通告(TN2023022),使用SOP16封装时需特别注意P5.4引脚必须接地,该管脚在调试模式下具有特殊功能。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:527
  • 最近打卡:2025-05-10 07:50:25
已绑定手机

48

主题

1758

回帖

2760

积分

金牌会员

积分
2760
发表于 4 天前 | 显示全部楼层
写入为仿真芯片后需要重新上电
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2025-05-07 08:59:21
已绑定手机

13

主题

23

回帖

107

积分

注册会员

积分
107
发表于 4 天前 | 显示全部楼层
jw*** 发表于 2025-5-6 13:52
写入为仿真芯片后需要重新上电

您好,断电之后再进,确实可以进入到Debug模式当中,如下图:

截图202505061359102698.jpg

但是进行单步运行后,只能执行几步,就会报错,然后就弹出错误,被迫退出Debug模式:
截图202505061401006653.jpg

截图202505061401389381.jpg


运行到EA=1;这一步,再执行一步,就会弹出错误,从而退出Debug模式
截图202505061402551410.jpg

您看为什么会导致这个问题呀?按道理说进入了这个界面就可以Debug了吧



回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:527
  • 最近打卡:2025-05-10 07:50:25
已绑定手机

48

主题

1758

回帖

2760

积分

金牌会员

积分
2760
发表于 4 天前 | 显示全部楼层
使用了串口1?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:527
  • 最近打卡:2025-05-10 07:50:25
已绑定手机

48

主题

1758

回帖

2760

积分

金牌会员

积分
2760
发表于 4 天前 | 显示全部楼层
uart_config();
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:127
  • 最近打卡:2025-05-10 08:37:18

13

主题

438

回帖

2402

积分

超级版主

积分
2402
发表于 4 天前 | 显示全部楼层
鉴于部分坛友在仿真过程中会遇到仿真失败的问题,总结可能导致的原因如下:
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中)修改,如果需要设置时钟的话,可以在烧录时通过硬件选项进行设置。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2025-05-07 08:59:21
已绑定手机

13

主题

23

回帖

107

积分

注册会员

积分
107
发表于 4 天前 | 显示全部楼层
jw*** 发表于 2025-5-6 14:31
使用了串口1?

没有的,用的是串口2的P1.1和P1.0

点评

上传工程看看  详情 回复 发表于 4 天前
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:171
  • 最近打卡:2025-05-10 08:33:49
已绑定手机

58

主题

1372

回帖

3066

积分

荣誉版主

无情的代码机器

积分
3066
发表于 4 天前 | 显示全部楼层
平*** 发表于 2025-5-6 16:43
没有的,用的是串口2的P1.1和P1.0

上传工程看看
三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2025-05-07 08:59:21
已绑定手机

13

主题

23

回帖

107

积分

注册会员

积分
107
发表于 4 天前 | 显示全部楼层

这是我的工程,您帮忙看一下吧

根据解码程序流程写的代码.zip

378.41 KB, 下载次数: 1

点评

测试正常 [attachimg]97558[/attachimg]  详情 回复 发表于 4 天前
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-10 20:24 , Processed in 0.172208 second(s), 118 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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