找回密码
 立即注册
查看: 23|回复: 4

8H1K08 仿真异常

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-08-09 11:15:39
已绑定手机

1

主题

1

回帖

21

积分

新手上路

积分
21
发表于 3 天前 | 显示全部楼层 |阅读模式
Program Size: data=113.0 xdata=43 const=570 code=5612 ,data还剩15B,xdata只占用27B, flash还有1942B,P30,P31 准双向口模式,未使用串口发送,制作仿真芯片后已断电,想咨询一样,有哪些问题会抛出这个异常

截图202508081557283384.jpg
截图202508081607181259.jpg

回复

使用道具 举报 送花

3

主题

2077

回帖

1002

积分

等待验证会员

积分
1002
发表于 3 天前 | 显示全部楼层
针对您提供的STC8H1K08仿真异常问题,结合当前配置信息(Program Size: data=1130 xdata=43 const=570 code=5612),以及硬件状态(P30、P31为准双向口模式,未使用串口发送,已断电后制作仿真芯片),以下是对可能引发该异常的分析及建议:

1. 程序存储空间不足  
   当前code占用5612字节,而STC8H1K08的Flash容量通常为8KB(约8192字节),剩余1942字节。虽然仍有空间,但若程序中存在大量全局变量或常量(如const=570),可能导致实际运行时内存分配冲突。建议优化代码结构,减少不必要的常量定义,或考虑升级至更高容量型号。

2. 数据存储区(data/xdata)分配问题  
   data剩余15B,xdata仅占用27B,表明系统对内部RAM使用较为合理。然而,若程序中存在大量动态分配或堆栈溢出,可能导致运行时异常。建议检查是否有递归调用或大数组定义,必要时调整堆栈大小。

3. I/O口配置异常  
   P30、P31设置为准双向口模式,若未正确配置引脚方向或上下拉电阻,可能导致信号干扰或误读。尤其在仿真环境下,引脚状态不稳定可能引发逻辑错误。建议确认P30/P31的IO控制寄存器(如P3M1、P3M2)是否正确配置,并确保外部电路无短路或浮空现象。

4. 仿真芯片断电后的状态残留  
   仿真芯片断电后,若未进行彻底复位或擦除,可能残留旧程序数据,导致运行异常。建议在烧录前执行全片擦除操作,确保Flash和EEPROM处于初始状态。

5. 串口未使用但可能存在的干扰  
   虽然未使用串口发送,但若串口引脚(如P3.1/P3.0)未正确配置为输入或悬空,可能引入噪声,影响其他功能模块。建议将未使用的引脚设置为高阻态或上拉/下拉,避免潜在干扰。

6. 仿真环境与目标芯片不匹配  
   若仿真工具(如STC-ISP)版本过旧,或与STC8H1K08的兼容性存在问题,可能导致烧录或调试异常。建议更新至最新版仿真工具,并确认芯片型号选择正确。

7. 电源稳定性问题  
   仿真过程中若供电电压波动较大,可能导致芯片工作不稳定,出现程序跑飞或异常中断。建议使用稳压电源,并确保VCC引脚电压符合规格(通常为2.4V~5.5V)。

综上所述,建议从程序优化、I/O配置、仿真工具更新及电源稳定性等方面逐一排查。若问题仍未解决,可提供具体异常现象(如程序跑飞、无法启动等)以便进一步定位。

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:523
  • 最近打卡:2025-08-10 08:46:51
已绑定手机

86

主题

5874

回帖

1万

积分

超级版主

积分
10595
发表于 3 天前 | 显示全部楼层

检查硬件连接
取消勾选:
截图202508081646244612.jpg
制作仿真芯片,断电再上电,重新编译一下,点debug
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-08-09 11:15:39
已绑定手机

1

主题

1

回帖

21

积分

新手上路

积分
21
发表于 前天 11:15 | 显示全部楼层
Program Size: data=107.0 xdata=49 const=570 code=5644 又可以了,不知道为啥,可能是data,flash都要有空间
截图202508090855424363.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:173
  • 最近打卡:2025-08-09 11:20:17

16

主题

535

回帖

2833

积分

超级版主

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

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-8-11 04:29 , Processed in 0.121761 second(s), 72 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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