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

无SD卡接口时,如何将Yocto刷入VAR-SOM-MX8M-PLUS的eMMC?

VAR-SOM-MX8M-PLUS 通过USB/以太网刷写Yocto镜像到eMMC的可行方案

完全可以通过USB或以太网接口将Yocto镜像刷入VAR-SOM-MX8M-PLUS的eMMC,以下是两种官方支持的可行方案:

方案一:USB Mass Storage模式刷写

这种方式将SoM的eMMC模拟为主机端的U盘,直接通过磁盘写入工具完成镜像刷写:

  • 进入U-Boot命令行:给SoM上电时,通过串口终端打断自动启动(通常按任意键),进入U-Boot交互模式。
  • 开启USB Mass Storage功能:在U-Boot命令行执行
    ums 0 mmc 0
    
    此命令会将eMMC(mmc 0)映射为USB设备0,主机端会识别出一个新的磁盘设备。
  • 主机端写入镜像:使用dd工具(Linux/macOS)或类似磁盘写入工具(Windows需注意权限)将解压后的Yocto .wic 镜像写入识别到的磁盘设备,例如:
    dd if=yocto-image-core-var-som-mx8m-plus.wic of=/dev/sdX bs=4M status=progress
    

    注意:替换/dev/sdX为主机端识别到的eMMC设备,避免误写本地磁盘。

  • 刷写完成后,在U-Boot命令行按Ctrl+C退出USB Mass Storage模式,重启SoM即可从eMMC启动。

方案二:以太网TFTP刷写

该方案通过网络将镜像下载到SoM内存,再写入eMMC:

  1. 搭建TFTP服务器:在主机端配置TFTP服务,将Yocto镜像文件(如.wic)放在TFTP根目录下。
  2. 配置U-Boot网络参数:进入U-Boot命令行,设置网络相关环境变量:
    setenv ipaddr 192.168.1.100  # SoM的IP地址
    setenv serverip 192.168.1.10 # 主机TFTP服务器IP
    setenv loadaddr 0x40000000   # 镜像下载到内存的地址
    setenv bootfile yocto-image-core-var-som-mx8m-plus.wic
    saveenv
    
  3. 下载镜像到内存:执行TFTP下载命令:
    tftpboot ${loadaddr} ${bootfile}
    
  4. 写入eMMC:先计算镜像对应的扇区数(eMMC扇区大小通常为512字节),再执行写入:
    setenv sectors $((filesize / 512))
    mmc write ${loadaddr} 0 ${sectors}
    
  5. 设置启动顺序:确保SoM从eMMC启动,执行:
    setenv bootcmd 'run mmcboot'
    saveenv
    
    重启SoM即可完成启动。

注意事项

  • 确保使用的U-Boot支持对应功能:Variscite提供的预编译U-Boot默认开启了USB Mass Storage、TFTP和网络命令支持;若自行编译U-Boot,需开启CONFIG_USB_GADGET_MASS_STORAGE、CONFIG_CMD_NET、CONFIG_CMD_TFTP等配置项。
  • 刷写前务必备份eMMC内的重要数据,刷写操作会覆盖整个eMMC。
  • Windows主机使用USB方案时,可能需要安装对应USB Mass Storage驱动才能识别eMMC设备。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 12:15:04