IMX6之emmc的u-boot无法启动调试方法

通过量测启动设备相应的管脚clock信号来判断Boot_cfg设置是否正确,而如果MFG及MFG镜像可以工作,也可以使用MFG直接读取SBMR1寄存器来获取:
1.将MFG的uboot换成正常启动的uboot,即替换掉 \Mfgtools-Rel-4.1.0_130816_MX6Q_UPDATER\Profiles\MX6Q Linux Update\OS Firmware\ u-boot-mx6q-sabresd.bin(MFG的uboot和正常启动的uboot对比一个不同就是MFG的uboot取消了等待3S输入的功能,而正常的uboot可以)
2.启动板子,进入下载模式(boot mode为下载,或是启动镜像认证失败都会进入)。
3.进入下载模式后就可以运行MFG,将正常启动的uboot镜像下载到外部内存并运行起来。
4.在串口上键入“空格”,停下uboot,然后使用uboot的”md”命令就可以读取sbmr1寄存器:”md 020d8004” (sbmr1寄存器地址),在SDP, eMMC 启动时为0x00005860,与上文我们配置的一致。
所以总结下来如果系统因为启动模式不对而进入到下载模式,我们可以通过MFG来精确确认SBMR1寄存器值,从而了解是那些Boot_Cfg GPIO配置不对。


Fuse启动模式

从EMMC SDHC4 启动,烧写fuse后,只能从EMMC启动,不可逆转。

echo 0x00005860 >/sys/fsl_otp/HW_OCOTP_CFG4

echo 0x00000010 >/sys/fsl_otp/HW_OCOTP_CFG5


你可能感兴趣的:(linux专区)