allwinner-r40-tina-sd卡启动不识别核心板emmc

版权声明:本文为博主原创文章,欢迎转载,转载请注明转载地址 https://blog.csdn.net/u012839187/article/details/78873517

此问题的发现源于工厂测试r40核心板的emmc

通过命令lsblk发现并没有核心板的部分。


解决思路以及方法:

首先查看最终生成的dts。位置是:out/targetxxx/images/.sunxi.dts

sd0是sd卡

sd2是核心板的emmc

发现sd0-3四块的status都是ok


其次想办法打开PORC_DEVICETREE,这是一个kernel的选项


打开以后就可以在/proc里面查看devicetree了。

最后发现 /proc下的devicetree里面的mmc的status被disabled了

================================================

以上现象得出结论:即使我在dts文件里面把他打开了。在img生成以后的烧录以及uboot启动过程中的某个阶段,又因为代码逻辑的判断把sdc2给disabled了。

操作方式:在uboot的过程中通过fdt命令把他打开。


在u-boot里面
env set fdtcmd fdt set /soc/sdmmc@01C11000 status okay
env set bootcmd run fdtcmd setargs_mmc boot_normal
env set mmc_root=/dev/mmcblk1p7
env set partition=boot-res@mmcblk1p2:env@mmcblk1p5:boot@mmcblk1p6:rootfs@mmcblk1p7:rootfs_data@mmcblk1p8:private@mmcblk1p9:recovery@mmcblk1p10:misc@mmcblk1p11:UDISK@mmcblk1p1
setargs_mmc=setenv bootargs enforcing=1 earlyprintk=sunxi-uart,0x01c28000 initcall_debug=0 console=ttyS0,115200 loglevel=4 root=/dev/mmcblk1p7 rootwait init=/sbin/init partitions=boot-res@mmcblk1p2:env@mmcblk1p5:boot@mmcblk1p6:rootfs@mmcblk1p7:rootfs_data@mmcblk1p8:private@mmcblk1p9:recovery@mmcblk1p10:misc@mmcblk1p11:UDISK@mmcblk1p1 cma=256M
env save
env set 

至此,sd卡启动的时候能够正常识别核心板emmc并且全部文件系统挂在在sd卡上面。




猜你喜欢

转载自blog.csdn.net/u012839187/article/details/78873517