嵌入式爱好者

嵌入式爱好者 门户 知识库 查看内容

如何确定6ull是否改写了eFUSE,以及eFUSE具体的值?

2024-1-31 16:37| 发布者: 奥卡姆剃刀| 查看: 145| 评论: 0

类目:  >  知识库     文档编号: 1297

决定是否使用efuse的有两个地方:

BOOT_MODE[10]的值,当为10时,表示boot typeInternal Boot。此时既可以通过eFUSE值,也可以通过GPIO来选择启动设备。而Boot eFUSE descriptions中有一位,BT_FUSE_SEL表示,当它的值为0,会通过GPIO来选择启动设备;当BT_FUSE_SEL1时就会通过eFUSE来选择启动设备。

 

如图可以看到eFUSE BOOT_CFG1[7:0]对应GPIOLCD1_DATA00-07

而启动哪些设备可以靠BOOT_CFG1[7:4]来选择,如图:

 

BOOT_CFG[7:4]如何对应BOOT_MODE[1:0]不太清楚,但是这4位决定从什么设备中启动。

下一步就是读出这4位:

由于eFUSE是一块独立的物理存储空间,不在CPU内部的可寻址空间范围内,要查看以及操作需要借助OCOTP控制器,而eFUSE的地址和OCOTP里的地址映射关系是eFuse address = OCOTP index * 0x10 + 0x400。查看boot eFUSE描述,

 

此处FUSE地址是0x450[7:4],也就是偏移地址为0x450,对应的OCOTP 影子寄存器是OCOTP_CFG4

 

进入文件系统查看影子寄存器OCOTP_CFG4的值,

 

7-4位为0110,即emmc启动


已解决

未解决

只是看看

最新评论

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2025-6-27 11:20

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

返回顶部