功能需求:
实现轮询检测SD卡和EMMC,只要检测到SD卡存在系统,则从SD卡启动,检测到SD卡没有系统则启动EMMC的系统。
硬件Boot配置:
目前现象:
1.插入SD卡可以从SD卡启动系统;
2.参考:https://dev.ti.com/tirex/explore/node?node=A__AdNWBqCVds4ZSqU9osT1tQ__AM62-ACADEMY__uiYMDcq__LATEST 把系统烧录到EMMC;
3. 断电拔出SD卡,上电debug口没有任何输出;
4. 断电重新插入SD卡上电,可正常启动SD卡系统。
5. 把系统烧录到EMMC脚本
#!/bin/sh echo "----- formatting emmc -----" fdisk /dev/mmcblk0 <<EOF d p n y w EOF echo "----- mkfs mmc -----" yes | mkfs.ext4 /dev/mmcblk0p1 echo "----- updata boot to emmcb1k0boot0 -----" cd /lib/boot_img echo 0 > /sys/block/mmcblk0boot0/force_ro dd if=tiboot3.bin of=/dev/mmcblk0boot0 seek=0 dd if=tispl.bin of=/dev/mmcblk0boot0 seek=1024 dd if=u-boot.img of=/dev/mmcblk0boot0 seek=5120 echo "----- updata rootfs to emmc -----" cd / mkdir rootfs_temp echo "----- mount emmc -----" mount -t ext4 /dev/mmcblk0p1 /rootfs_temp/ ls /rootfs_temp/ echo "----- copy filesystem -----" tar xvpfz rootfs.tgz -C /rootfs_temp ls /rootfs_temp echo "----- umount emmc -----" umount /rootfs_temp rm /rootfs_temp -rf sync echo "====== Image updata emmc ok ======" date
目前已做的验证:
把SD卡拔出,boot切换为EMMC boot,在uboot命令模式下,执行下面指令确认可以从EMMC启动
=> setenv mmcdev 0 => setenv bootpart 0 => boot