找回密码
 立即注册
查看: 347|回复: 3

用户系统区操作eeprom的方法

[复制链接]
  • 打卡等级:偶尔看看III
  • 打卡总天数:33
  • 最近打卡:2025-04-10 08:59:03

15

主题

30

回帖

433

积分

中级会员

积分
433
发表于 2024-11-11 21:59:45 | 显示全部楼层 |阅读模式
一直没有找到官方的用户系统区操作eeprom的例程,自己就把这部分当作黑盒测试,有如下发现。



空间分布,地址从0000开始依次是用户程序区(ROM)、EEPROM、用户系统区。如下图所示:

空间分布

空间分布


在用户程序区,就是正常运行程序,按照官方例程可以通过IAP或MOV的方式正常操作EEPROM。
但是在用户系统区,就会出现问题。

经过反复测试发现,在用户系统区的程序可以通过IAP方式操作EEPROM,但是但是但是地址和通用的方式是不同的。
这里的地址要是绝对地址,也就是0xFF0000开始的地址。

假设ROM设置为52K,EEPROM为8K,用户系统区为4K。这里通过工具设置时,EEPROM要写12K。
EEPROM的首字节相对地址为0x0000,绝对地址为0xFFD000,
在ROM里使用IAP方式时是使用0x0000的,但是在用户系统区就要使用0xFFD000了。

并且在用户系统区的程序,可以直接操作0xFF0000---0xFFEFFF直接的空间(假设用户系统区为4K,这4K是被保护的),不需要考虑EEPROM的设置。

以上是个人测试发现的现象,由于水平有限,如有不当之处请谅解。

回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:154
  • 最近打卡:2025-04-30 08:40:57
已绑定手机

15

主题

630

回帖

730

积分

高级会员

积分
730
发表于 2024-11-12 08:00:17 来自手机 | 显示全部楼层
6️⃣,坐等官方回复
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:163
  • 最近打卡:2025-05-02 13:26:59
已绑定手机

56

主题

1319

回帖

2942

积分

荣誉版主

无情的代码机器

积分
2942
发表于 2024-11-12 09:42:54 | 显示全部楼层
在“用户系统区”和“用户程序区”读写eeprom,代码上的差异是什么?能不能分享下学习学习。手册里貌似只能找到“用户程序区”读写eeprom方法。
截图202411120941513657.jpg
三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:33
  • 最近打卡:2025-04-10 08:59:03

15

主题

30

回帖

433

积分

中级会员

积分
433
发表于 2024-11-12 11:25:54 | 显示全部楼层
erci*** 发表于 2024-11-12 09:42
在“用户系统区”和“用户程序区”读写eeprom,代码上的差异是什么?能不能分享下学习学习。手册里貌似只能 ...

代码上没有差异,例程“19-通过串口发送命令读写EEPROM测试程序”就可以测试,区别是在两个操作空间运行时,eeprom的地址不同。
假设EEPROM的大小是4K,在用户程序区用IAP操作,对应的地址是0:0000h,而在用户系统区同样使用IAP操作,对应的地址需要改成FF:F000h。
回复 支持 1 反对 0

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-3 03:06 , Processed in 0.171796 second(s), 73 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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