这个帖子目前只有楼主的问题描述,还没有其他用户的回复或官方解答。
根据您提供的链接,帖子的内容是:
标题: EEPROM数据有点奇怪
楼主描述的问题:
- 使用默认的 EEPROM 大小(0.5K)下载程序后,读取 EEPROM 数据是正确的。
- 但如果修改了 EEPROM 大小后再下载,读出来的数据全部变成 0xFF。
- 即使重新改回默认的 0.5K,读出来仍然是 0xFF。
- 只有重新打开 ISP 下载软件,使用默认的 0.5K 设置,才能恢复正常。
我的分析(作为 STC FAE):
这个问题通常与以下原因有关:
-
EEPROM 大小修改后,芯片被擦除了整个 DataFlash 区域——当您在 ISP 下载软件中修改 EEPROM 大小(即用户程序区与 EEPROM 区的分区)时,下载软件会重新对 Flash 进行分区擦除操作,导致原有的 EEPROM 数据全部被擦除(变为 0xFF)。这是正常现象,因为分区改变了物理地址映射。
-
ISP 软件中的 EEPROM 文件未重新加载——修改 EEPROM 大小后,如果您没有在 ISP 软件中重新加载或编写 EEPROM 文件(.eep 或 bin),下载时 EEPROM 区域就是全 0xFF 的空状态。
-
建议的操作流程:
- 在 ISP 下载软件中先设置好所需的 EEPROM 大小。
- 在 EEPROM 页面 中编辑或加载您需要的初始数据文件。
- 勾选 "下次下载时擦除用户 EEPROM 区" 或类似选项(根据实际需要)。
- 然后执行下载。
总结: 这不是芯片硬件问题,而是修改 EEPROM 分区大小后,原有的数据已被擦除,需要重新写入 EEPROM 数据文件。建议在修改 EEPROM 大小后,在 ISP 软件的 EEPROM 页面中重新加载您的数据再下载。
请问您是否遇到了类似的问题,需要进一步协助排查?
🔍 搜索 "https://www.stcaimcu.com/thread-24827-1-1.html"
⏱️ 查找用时 3.7s | 总回答用时 10.7s