找回密码
 立即注册
查看: 696|回复: 9

关于8H8K64U的FLASH读取的一个非常奇怪的问题!

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2024-11-21 08:42:01

1

主题

4

回帖

33

积分

新手上路

积分
33
发表于 2024-11-17 22:57:12 | 显示全部楼层 |阅读模式
本帖最后由 Gage_hu 于 2024-11-17 22:56 编辑

芯片:STC8H8K64U-45I-TSSOP20
固件版本:D
现象描述:
  一个显示屏的应用,之前是用8H1K08芯片一切正常,最近因功能升级改用了8H8K64U。
  程序上电会从FLASH读取数据(如果发现数据区没初始化则会写入一些初始数据之后再读取),其中有一部分数据(360字节左右)会显示到LCD屏上。
  故障现象是,新芯片第一次烧录后程序运行(仅限新芯片第一次烧录后自动复位运行不断电),读取到的FLASH数据全部是0x04,再读一次又全部变成0x88,往后读就一直是0x88了(都不是正确的数据,读取地址确认过没错),只是不断电问题就一直存在,重新上电就能正常读取了,原本以为是FLASH数据初始化问题,重新检查程序后也排除了此可能。更奇怪的是重新烧录运行也都正常,之前的问题没有了,换全新芯片就会出现,百思不解啊,烧录选项已截图,有没有大神遇到过同样的情况或者知道原因的请多指教,谢谢了!


  

烧录参数

烧录参数
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:452
  • 最近打卡:2025-05-01 06:20:50
已绑定手机

13

主题

1257

回帖

2971

积分

金牌会员

积分
2971
发表于 2024-11-17 23:58:58 | 显示全部楼层
本帖最后由 21cnsound 于 2024-11-18 00:03 编辑

难道是重新设置了不同于之前的EEPROM大小必须断电、上电才能生效?----不生效就是EEPROM起始地址还是之前的设置,。


第二次烧录(即经过了断电、上电的过程)时,EEPROM的大小应该没变,所以不需要断电、上电。

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15611
发表于 2024-11-18 00:54:30 | 显示全部楼层
截图202411180053548349.jpg


截图202411180054253373.jpg

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2024-11-21 08:42:01

1

主题

4

回帖

33

积分

新手上路

积分
33
发表于 2024-11-18 11:02:51 | 显示全部楼层
21cns*** 发表于 2024-11-17 23:58
难道是重新设置了不同于之前的EEPROM大小必须断电、上电才能生效?----不生效就是EEPROM起始地址还是之前的 ...

试过修改用户EEPROM大小,增加和减小都试过,全部OK,只要不是第一次烧录问题就不会出现
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2025-04-24 08:05:57

7

主题

19

回帖

457

积分

中级会员

积分
457
发表于 2024-11-18 11:29:34 | 显示全部楼层
这个我之前也遇到,我猜测烧录程序时,它的内部程序对FLASH寄存器进行了相关设置。导致如果不断电,就会和自己的程序不兼容。
微信qsssuv
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2024-11-21 08:42:01

1

主题

4

回帖

33

积分

新手上路

积分
33
发表于 2024-11-18 11:44:24 | 显示全部楼层
青穗*** 发表于 2024-11-18 11:29
这个我之前也遇到,我猜测烧录程序时,它的内部程序对FLASH寄存器进行了相关设置。导致如果不断电,就会和 ...

感谢分享,就是遇到这种问题心里没底,害怕是自己程序哪里出错,一旦批量损失就大了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2024-11-21 08:42:01

1

主题

4

回帖

33

积分

新手上路

积分
33
发表于 2024-11-18 20:18:55 | 显示全部楼层
自己来结个帖吧,原因找到了:
今天烧录程序的时候,偶然瞥见芯片初始设置的用户EEPROM大小是0.5K(之前从不注意这些信息的),因为重新上电前我设置的用户EEPROM大小不会生效,所以还是按0.5K的起始位置去,我读取的EEPROM地址明显超出这个大小了,所以读出的数据就不可预测了!虽然之前我也试过改变用户EEPROM大小,但也没试过这么小,重新测试设置0.5K之后再次上电复现了故障,算是确定了原因!经此一事也算是长了小小经验,供大家参考吧。



附:烧录时读取的芯片初始配置:
正在检测目标单片机 ...
  单片机型号: STC8H8K64U

当前芯片的硬件选项为:
  . 系统ISP工作频率: 23.808MHz
  . 内部振荡器的频率未调节
  . 掉电唤醒定时器的频率: 36.000KHz
  . 振荡器放大增益使能
  . 用户EEPROM大小被设置为 0.5 K
  . P3.2和P3.3与下次下载无关
  . 上电复位时增加额外的复位延时
  . 复位引脚用作普通I/O口
  . 检测到低压时不复位,可产生低压中断
  . 低压检测门槛电压 : 2.70 V
  . 上电复位时,硬件不启动内部看门狗
  . 上电自动启动内部看门狗时的预分频数为 : 64
  . 空闲状态时看门狗定时器停止计数
  . 下次下载用户程序时,将用户EEPROM区一并擦除
  . 下次下载用户程序时,没有相关的端口控制485
  . 下次下载时不需要校验下载口令
  . 未使能芯片的仿真功能
  . 内部参考电压: 1190 mV (参考范围: 1100~1300mV)

  单片机型号: STC8H8K64U
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:350
  • 最近打卡:2025-05-01 00:32:14
已绑定手机

130

主题

1520

回帖

1855

积分

金牌会员

积分
1855
发表于 2024-11-18 23:51:14 来自手机 | 显示全部楼层
你看看是不是设置那个iap大小的问题,我从 8h1k08换到 8h8k64u也碰到过,之前 8h1k08是固定 4k eeprom,换8h8k64u后要设置相同的 4k eeprom才行
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2024-11-21 08:42:01

1

主题

4

回帖

33

积分

新手上路

积分
33
发表于 2024-11-19 13:52:29 | 显示全部楼层
vb2*** 发表于 2024-11-18 23:51
你看看是不是设置那个iap大小的问题,我从 8h1k08换到 8h8k64u也碰到过,之前 8h1k08是固定 4k eeprom,换8 ...

嗯,不过不是设置的问题,是芯片出厂设置iap太小,然后没断电新设置的大小没生效,读取地址超出的原因。详细可以看我上一楼说的
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民I
  • 打卡总天数:78
  • 最近打卡:2025-04-29 08:19:44
已绑定手机

4

主题

153

回帖

300

积分

中级会员

积分
300
发表于 2025-1-11 11:21:12 | 显示全部楼层
需要断电,重新上电
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-1 23:06 , Processed in 0.118410 second(s), 117 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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