调板子遇到一个问题(I.MX6):
主板的其它存储介质都可以启动,唯独EMMC无法启动。已做过以下分析:
1.EMMC可以通过OTG口烧录;
2.通过OTG启动到U-BOOT,检查SMBR1/2寄存器,设置正确,应为向EMMC启动的。但就是启动不了。
3.通过OTG启动到U-BOOT,通过BOOTI命令转向EMMC启动,可以正常启动。
4.示波器量测,启动时MCU给EMMC发了一小段触发信号就没了(CMD信号上只有几个波形的触发,没有返回)。
请教一下还有什么可能的原因会导致这类问题?谢谢!
what tool do you use to program the images to emmc? are you using mfgtool?
Is the boot mode setting correct for emmc?
I am thinking you may not writing correctly to mmcblk0boot0 partition.
For your information , this is the script in the mfgtool. You can see how the mfgtool program the u-boot to mmc boot partition.
<CMD state="Updater" type="push" body="$ dd if=/dev/zero of=/dev/mmcblk0 bs=512 seek=1536 count=16">clean up u-boot parameter</CMD>
<CMD state="Updater" type="push" body="$ echo 0 > /sys/block/mmcblk0boot0/force_ro">access boot partition 1</CMD>
<CMD state="Updater" type="push" body="send" file="files/u-boot-mx6q-sabresd.bin">Sending U-Boot</CMD>
<CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mmcblk0boot0 bs=512 seek=2 skip=2">write U-Boot to sd card</CMD>
<CMD state="Updater" type="push" body="$ echo 1 > /sys/block/mmcblk0boot0/force_ro"> re-enable read-only access </CMD>
<CMD state="Updater" type="push" body="$ echo 8 > /sys/devices/platform/sdhci-esdhc-imx.3/mmc_host/mmc0/mmc0:0001/boot_config">enable boot partion 1 to boot</CMD>
<CMD state="Updater" type="push" body="send" file="files/uImage">Sending kernel uImage</CMD>
<CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mmcblk0 bs=1M seek=1 conv=fsync">write kernel image to sd card</CMD>
Please check this may useful for you.