3.2 RDK X5 Module
RDK X5 Module出厂前已安装ubuntu 22.04,若在开发过程中有需要重新安装系统,请参考如下内容
系统烧录
RDK X5 Module 目前提供Ubuntu 22.04系统镜像,有desktop,server两个版本可供选择;
desktop:带有桌面的Ubuntu系统,可以外接屏幕、鼠标操作;
server:无桌面的Ubuntu系统,可以通过串口、网络远程连接操作。
镜像下载
RDK X5 Module出厂已经烧写测试版本系统镜像,为确保使用最新版本的系统,建议参考本文档完成最新版本系统镜像的烧写。
点击 下载镜像,进入版本选择页面,选择最新版本目录,进入系统下载页。
下载完成后, 需要解压出Ubuntu系统镜像文件,如ubuntu-preinstalled-desktop-arm64.img
在板烧录
长按AI REC按键,使用USB线将AI USB 2.0 接口与PC端连接,连接后AI 算力模块会自动上电,等待5s,进入烧录模式,核心板自带的eMMC会被映射成U盘。
在Ubuntu系统上,文件管理会出现CONFIG和rootfs两个文件夹

在Ubuntu系统PC端可以选择balenaEtcher工具进行烧录

启动系统
供电
在没有外接其他任何设备时,为方便SSH调试,可通过载板上AI USB 3.0接口给RDK X5 Module供电,需要使用支持5V/5A的电源适配器或电脑USB口为载板供电。
若需要外接其他设备如鼠标、键盘、显示器或摄像头、雷达等传感器,则需要使用AI PWR的XT30接口通过配套的USP10电源模块进行供电。
存储
RDK X5 Module 核心板自带eMMC
显示
RDK X5 Module开发板支持HDMI显示接口,通过HDMI线缆连接底板和显示器,可安装Ubuntu 22.04 Desktop 桌面版,以支持图形化桌面显示。
网络连接
RDK X5 Module 带有以太网、Wi-Fi两种网络接口,用户可通过任意接口实现网络连接功能。
具体过程
首先保持开发板断电,并通过HDMI线缆连接开发板与显示器,最后给开发板上电。
系统首次启动时会进行默认环境配置,整个过程持续45秒左右,配置结束后会在显示器输出Ubuntu系统桌面。
- 绿色 指示灯:点亮代表硬件上电 正常 如果开发板上电后长时间没有显示输出(2分钟以上),说明开发板启动异常。需要通过串口线进行调试,查看开发板是否正常。
Ubuntu Desktop 版本系统启动完成后,会通过 HDMI 接口在显示器上输出系统桌面,如下图:

常见问题
首次使用开发板时的常见问题如下:
- 上电不开机 :请确保使用供电中推荐的适配器供电;请确保X5 Module的eMMC已经烧录过Ubuntu系统镜像
注意事项
- 禁止带电时拔插除 USB、HDMI、网线之外的任何设备
- 选用正规品牌的USB Type C 口供电线,否则会出现供电异常,导致系统异常断电的问题
更多问题的处理,可以查阅 常见问题 章节,同时可以访问 D-Robotics 开发者官方论坛 获得帮助。
板砖烧录
mmc dev 0
mmc erase 0 0x1000
mmc part
ums 0 mmc 0
建议在win系统平台进行操作,在ubuntu系统识别不到U盘映射目录
要理解 mmc dev 0、mmc erase 0 0x1000、mmc part、ums 0 mmc 0 这四条命令,首先需要明确它们的运行环境:这些是 U-Boot 引导程序 中的 mmc 子命令(部分嵌入式 Linux 终端也支持简化版),用于操作 MMC 存储设备(如 eMMC 芯片、SD 卡)—— 这是嵌入式系统(如开发板、路由器、智能设备)中最常见的存储介质操作方式。
下面逐一拆解每条命令的作用、参数含义及使用场景,结合嵌入式开发的实际需求说明:
1. mmc dev 0:切换 / 选择 MMC 设备
核心作用
指定当前操作的 MMC 存储设备(类似电脑中 “选择磁盘”,如 “切换到 D 盘”)。
参数解析
mmc:U-Boot 中操作 MMC 设备的命令前缀(类似 “磁盘管理工具” 的入口)。dev:device的缩写,子命令功能是 “选择 / 切换 MMC 设备”。0:MMC 设备编号(关键参数)。嵌入式系统中可能存在多个 MMC 设备(如 “0 号是板载 eMMC,1 号是外接 SD 卡槽”),编号由硬件设计和 U-Boot 驱动定义(可通过mmc list查看所有可用设备)。
示例与场景
bash
# 1. 查看当前系统中所有 MMC 设备(确认编号)
mmc list
# 输出可能类似:
# mmc0: SDHC/SDXC at 0:0 (eMMC) # 0 号设备:板载 eMMC
# mmc1: SDHC/SDXC at 0:1 (SD card) # 1 号设备:外接 SD 卡
# 2. 选择 0 号 eMMC 作为当前操作设备
mmc dev 0
# 输出反馈:mmc0 is current device (表示已切换成功)
注意
- 后续所有
mmc命令(如erase、part)都会作用于 “当前选中的设备”,若不执行mmc dev,U-Boot 会默认选择第一个检测到的 MMC 设备(通常是0号)。
2. mmc erase 0 0x1000:擦除 MMC 设备指定区域
核心作用
物理擦除 MMC 设备中指定地址范围的存储区域(MMC 存储的 “擦除” 是强制操作,擦除后数据不可恢复,需格外谨慎)。
参数解析
erase:子命令功能是 “擦除 MMC 存储块”(MMC 存储以 “块” 为最小擦除单位,通常 1 块 = 512 字节或 4096 字节,由设备决定)。0:起始块地址(十六进制或十进制,默认十六进制)。表示从 MMC 设备的 “第 0 块” 开始擦除(0 块是 MMC 设备的起始地址,通常包含分区表、引导程序等关键数据)。0x1000:擦除块数量(十六进制,0x1000换算为十进制是 4096 块)。
关键计算:擦除大小
擦除总大小 = 擦除块数量 × 单块大小(以常见的 “1 块 = 512 字节” 为例):0x1000(4096 块) × 512 字节/块 = 2,097,152 字节 = 2MB即这条命令会从 MMC 设备的起始位置(0 块)开始,擦除后续 2MB 的存储区域。
场景与风险
- 使用场景:嵌入式开发中用于 “清空设备引导区”(如刷写新系统前,擦除旧的 U-Boot 或分区表)。
- 极高风险:
- 若擦除范围包含 引导程序(U-Boot) 或 分区表,可能导致设备无法启动(变 “砖”)。
- 擦除后数据无法通过常规工具恢复(MMC 擦除会清除存储单元的电荷)。
3. mmc part:查看 MMC 设备的分区表
核心作用
读取并显示当前选中 MMC 设备的 分区信息(类似电脑中 “磁盘管理” 查看分区列表,如 C 盘、D 盘的大小和起始位置)。
参数解析
part:partition的缩写,子命令功能是 “列出分区表”。无额外参数(仅作用于当前通过mmc dev选中的设备)。
示例输出与解读
bash
# 先选中 0 号 eMMC 设备,再查看分区
mmc dev 0
mmc part
# 输出可能类似:
Partition Map for MMC device 0 -- Partition Type: DOS
Part Start Sector Num Sectors UUID Type
1 2048 102400 5f808181-01 83 (Linux)
2 104448 2048000 5f808181-02 83 (Linux)
- 关键字段解读:
Part:分区编号(1、2、3...)。Start Sector:分区起始扇区(扇区 = 块,与mmc erase的 “块地址” 对应)。Num Sectors:分区总扇区数(× 单块大小 = 分区实际容量)。Type:分区类型(如83表示 Linux 数据分区,ef表示 EFI 引导分区)。
场景
- 开发中确认 “分区是否正确创建”(如刷写系统后,检查
/boot分区、根分区是否存在)。 - 配合
mmc erase使用:通过mmc part查看分区的起始 / 结束块,避免误擦除有效分区。
4. ums 0 mmc 0:将 MMC 设备模拟为 USB 大容量存储(U 盘)
核心作用
通过 USB 端口 将当前选中的 MMC 设备(如 eMMC、SD 卡)模拟为 “U 盘”,供电脑(或其他主机)通过 USB 直接读写(无需通过网络或串口传输文件)。
参数解析
ums:USB Mass Storage的缩写,子命令功能是 “启动 USB 大容量存储模式”。- 第一个
0:USB 控制器编号。嵌入式设备可能有多个 USB 口(如 “0 号是 Type-A 口,1 号是 Type-C 口”),通常填0(默认第一个 USB 控制器)。 mmc:指定要模拟的设备类型(这里是 MMC 存储,其他类型如nand对应 NAND 闪存)。- 第二个
0:MMC 设备编号(与mmc dev 0中的编号一致,即要模拟的 MMC 设备)。
操作流程与场景
-
硬件连接:用 USB 线将嵌入式设备的 USB 口与电脑连接(需确保设备支持 USB 从模式)。
-
执行命令:
bash
ums 0 mmc 0 # 将 0 号 MMC 设备通过 0 号 USB 控制器模拟为 U 盘 -
电脑识别:执行后电脑会自动识别到一个 “新 U 盘”,可直接在 “我的电脑” 中打开,复制 / 粘贴文件(如将系统镜像写入 MMC 设备)。
-
退出模式:在电脑中 “安全弹出 U 盘” 后,在 U-Boot 中按
Ctrl+C终止ums命令,恢复 MMC 设备的本地操作权限。
注意
- 仅支持 “有 USB 从模式” 的嵌入式设备(如大多数开发板,无 USB 从功能的设备无法使用)。
- 执行
ums期间,U-Boot 会暂停其他操作,直到终止命令(Ctrl+C)。
四条命令的关联场景(嵌入式开发示例)
以 “给开发板刷写新 Linux 系统” 为例,四条命令可能的配合流程:
mmc list→ 查看所有 MMC 设备,确认要刷写的是0号 eMMC。mmc dev 0→ 选中0号 eMMC 作为当前操作设备。mmc part→ 查看当前分区表,确认旧分区的起始位置(避免误擦除)。mmc erase 0 0x1000→ 擦除 eMMC 起始 2MB 区域(清空旧的 U-Boot 和分区表)。ums 0 mmc 0→ 将 eMMC 模拟为 U 盘,电脑识别后写入新系统镜像。- 写入完成后,
Ctrl+C终止ums,mmc part验证新分区表是否正常。
通过以上解读,可明确这四条命令是嵌入式开发中 “MMC 设备管理” 的核心操作,需结合硬件特性和操作目的谨慎使用(尤其是 mmc erase,避免数据丢失或设备变 “砖”)。