You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

QEMU模拟飞思卡尔i.MX6Q SABRE Lite板U-Boot引导设备识别异常求助

问题解决方案汇总

SD/MMC设备无法识别问题

该问题是主线下游U-Boot的imx6 ESDHC驱动与QEMU模拟硬件的兼容性问题导致:主线下游U-Boot默认开启SD卡检测、写保护引脚的电平校验逻辑,但QEMU模拟的sd-card设备并未挂载对应的虚拟GPIO引脚,导致U-Boot直接跳过SD卡识别流程。你可以通过两种方式修复:

  • 编译U-Boot前修改配置:在mx6sabrelite.h配置文件中添加宏定义#define CONFIG_MMC_BROKEN_CD关闭卡检测逻辑,同时注释掉写保护检测相关的配置宏,编译后生成的U-Boot即可正常识别QEMU挂载的SD卡。
  • 直接使用Boundary Devices官方维护的U-Boot分支:该分支针对sabrelite板型做了QEMU兼容适配,无需修改配置即可直接识别SD、USB设备,实测2020.04到2022.07的分支版本均可正常使用。

SPI NOR flash启动问题

你当前的参数缺少启动设备指定配置,QEMU的sabrelite机器默认从SD卡启动,要从SPI NOR flash启动需要添加参数-M sabrelite,bootrom=spi,配合你已有的sst25vf016b设备参数即可正常引导。注意需要提前给U-Boot镜像添加i.MX6专用的IVT启动头,不能直接使用编译生成的原始u-boot.bin烧录到flash.bin中。

USB设备无法识别问题

该问题是U-Boot的USB驱动要求控制器节点存在dr_mode属性,但QEMU自带的sabrelite设备树未配置该属性导致,你可以在U-Boot的设备树中给两个USB控制器节点添加dr_mode = "host";配置即可修复,或者使用上述Boundary Devices维护的U-Boot分支,该分支已经默认处理了该兼容问题。

真实硬件U-Boot版本支持说明

真实i.MX6Q SABRE Lite板对U-Boot版本兼容性很强,2017.03之后的主线下游U-Boot版本都可以正常运行,如需同时兼容QEMU模拟环境,优先使用Boundary Devices维护的对应分支即可。


内容的提问来源于stack exchange,提问作者Evgeni Lipatov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 06:12:02