NXP MCU 技术william hill官网
直播中

早知

9年用户 1177经验值
擅长:光电显示 存储技术
私信 关注
[问答]

im6ull使用linux将uboot刷入emmc,但没有成功是为什么?

我有 im6ull 板并使用最新的基于 yocto 的图像,想从 u-boot 本身升级 eMMC uboot。有一次我尝试使用“dd”命令从 Linux 更新 eMMC 中的 uboot,它成功了,但下一次就失败了. 但我需要将新的 uboot 映像从 uboot 本身升级或闪存到 eMMC。
比如,从 SD 卡启动并停在 uboot,然后将 uboot 二进制文件写入 eMMC。

Issue1: 现在我无法从 eMMC 启动,但 SD 卡启动仍然有效。
问题 2:尝试使用 linux 将 uboot 刷入 emmc,但没有成功
问题 3:尝试使用 uboot(SD 卡启动模式)将 uboot 刷入 emmc,但没有成功

能够在 uboot 擦除 eMMC:
=> mmc 开发 1 1
=> mmc 擦除 0 0x4000
在 u-boot 中将 u-boot 闪存到 emmc(不工作)
=> setenv ipaddr 192.168.0.192;setenv serverip 192.168.0.106;tftpboot 0x80800000 u-boot-emmc-2020.04-r0.imx
=> mmc dev 1 1
=> mmc write 0x80800000 0x2 0x700        => uboot size/051ccc =>0 0x666
在 Linux 中将 u-boot 闪存到 emmc(不工作)
echo 0 > /sys/block/mmcblk1boot0/force_ro
//dd if=/u-boot-emmc-2020.04-r0.imx of=/dev/mmcblk1boot0 bs=512 seek=2; sync -> 第一种方法
dd if=/u-boot-emmc-2020.04-r0.imx of=/dev/mmcblk1boot0 bs=1k seek=1;sync -> 第二种方法
mmc bootpart enable 1 1 /dev/mmcblk1
使用“uuu”工具刷入 uboot:
sudo ./uuu -b emmc u-boot-emmc-2020.04-r0.imx
刷机成功,但仍然无法从 eMMC 启动 uboot。

sudo ./uuu u-boot-emmc-2020.04-r0.imx -> 这是将 uboot 加载到 RAM 中

实际上我只是在 uboot 中使用了“ mmc partinfo ”命令,如下所示,这些命令可能会导致任何问题并且无法恢复吗?
mmc partconf 1 1 1 0
mmc partconf 1 1 0 0

eMMC 在 dev1 中。

u-boot版本为2020.0-r0
=> mmc 列表
FSL_SDHC: 0
FSL_SDHC: 1 (eMMC)
=>
PS:我没有对该 imx6 开发板进行任何物理更改。它不是定制板,imx6 开发板。
日志:
root@imx-6ull:~#
root@imx-6ull:~# mmc extcsd 读取/dev/mmcblk1 | grep -e BOOT_INFO -e BOOT_SIZE_MULTI -e PARTITION_CONFIG -e BOOT_BUS_CONDITIONS
引导信息 [BOOT_INFO: 0x07]
引导分区大小 [BOOT_SIZE_MULTI: 0x20] 引导
配置字节 [PARTITION_CONFIG: 0x48] 引导
总线条件 [BOOT_BUS_CONDITIONS: 0x0a]
root@imx-6ull: ~#
root@imx-6ull:~#
root@imx-6ull:~#
root@imx-6ull:~# echo 0 > /sys/block/mmcblk1boot0/force_ro
root@imx-6ull:~#
root@imx-6ull :~# dd if=/u-boot-emmc-2020.04-r0.imx of=/dev/mmcblk1boot0 bs=512 seek=2; sync
1638+0 records in
1638+0 records out
838656 bytes (839 kB, 819 KiB) 复制,0.286735 s,2.9 MB/s
root@imx-6ull:~# echo 1 > /sys/block/mmcblk1boot0/force_ro
root@imx-6ull:~# mmc bootpart enable 1 1 /dev/mmcblk1
root@imx-6ull:~# mmc bootbus set single_hs x1 x8 /dev/mmcblk1将ext_csd[ BOOT_BUS_CONDITIONS ]
从 0x0a 更改为 0x0a grep -e BOOT_INFO -e BOOT_SIZE_MULTI -e PARTITION_CONFIG -e BOOT_BUS_CONDITIONS引导信息 [BOOT_INFO: 0x07]引导分区大小 [BOOT_SIZE_MULTI: 0x20] 引导配置字节 [PARTITION_CONFIG: 0x48] 引导总线条件 [BOOT_BUS_CONDITIONS: 0x0a]

更多回帖

发帖
×
20
完善资料,
赚取积分