决定是否使用efuse的有两个地方: BOOT_MODE[1:0]的值,当为10时,表示boot type为Internal Boot。此时既可以通过eFUSE值,也可以通过GPIO来选择启动设备。而Boot eFUSE descriptions中有一位,BT_FUSE_SEL表示,当它的值为0,会通过GPIO来选择启动设备;当BT_FUSE_SEL为1时就会通过eFUSE来选择启动设备。
如图可以看到eFUSE 中BOOT_CFG1[7:0]对应GPIO:LCD1_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启动 |
|小黑屋|
飞凌嵌入式
( 冀ICP备12004394号-1 )
GMT+8, 2025-6-27 11:20
Powered by Discuz! X3.4
© 2001-2013 Comsenz Inc.