本指南汇总了 Milk-V Duo S (基于 SG2000 主控芯片) 的硬件特性、系统烧录、基本配置及参考资源,帮助你快速上手开发。
产品概述与硬件对比 (Overview)
Milk-V Duo S 是 Duo 系列的全面升级型号,升级了 SG2000 主控芯片,拥有 512MB 内存和更丰富的外部接口。其主要特性包括:
- 双核/双架构启动:支持 RISC-V 核心 (C906@1Ghz + C906@700MHz) 或 ARM 核心 (Cortex-A53@1GHz)(通过硬件拨码开关切换,不能同时运行)。
- 多媒体与视觉:支持双路摄像头输入 (2x MIPI CSI 2-lane 5M@30fps) 以及 MIPI DSI 视频输出 (4-lane)。
- 网络与无线:板载 100Mbps RJ45 以太网口(支持配合 PoE HAT 使用 PoE),可选板载 WI-FI 6 / BT 5。
- 存储与接口:板载 MicroSD 卡槽和 eMMC 贴片焊盘,配备 USB 2.0 Type-A HOST 接口与 Type-C 接口(可通过指令切换)。
Duo 家族硬件规格对比
| 规格 | Duo S | Duo 256M | Duo |
|---|---|---|---|
| 主控 SoC | SG2000 | SG2002 | CVITEK CV1800B |
| RISC-V 核心 | C906 @ 1GHz + C906 @ 700MHz | C906 @ 1GHz + C906 @ 700MHz | C906 @ 1GHz + C906 @ 700MHz |
| ARM 核心 | Cortex-A53 @ 1GHz | Cortex-A53 @ 1GHz | 不支持 (N/A) |
| MCU | 8051 @ 8KB SRAM | 8051 @ 6KB SRAM | 8051 @ 6KB SRAM |
| 内存 (SIP) | 512MB | 256MB | 64MB |
| 算力 (TPU) | 0.5 TOPS @ INT8 | 1 TOPS @ INT8 | 0.5 TOPS @ INT8 |
| 存储扩展 | MicroSD / eMMC 焊盘 | MicroSD / 板载 SD NAND | MicroSD / 板载 SD NAND |
| 无线网络 | 板载 WI-FI 6 / BT 5 (选配) | 不支持 (N/A) | 不支持 (N/A) |
| 以太网 | 板载 100M 网口 (RJ45) | 100M PHY (需外接板) | 100M PHY (需外接板) |
| USB 接口 | Type-C / USB 2.0 A口 HOST | Type-C | Type-C |
| 摄像头接口 | 2x MIPI CSI (2-lane) | 1x MIPI CSI (2-lane) | 1x MIPI CSI (2-lane) |
| 显示输出 | MIPI DSI 4-lane (排针引出) | 不支持 (N/A) | 不支持 (N/A) |
开发板接口与引脚分配 (Pinout)
Duo S 的 GPIO 逻辑电平在不同的排针上有所不同:
- 排针 J3:GPIO 使用 3.3V 逻辑电平。
- 排针 J4:GPIO 使用 1.8V 逻辑电平。
[!WARNING] 请注意连接外设时的电压匹配,防止损坏芯片。
J3 引脚定义 (部分核心功能)
| 功能 (I2C/UART/PWM) | 引脚编号 | 引脚名称 | 引脚编号 | 功能 (MIPI/SPI/JTAG) |
|---|---|---|---|---|
| 3V3 电源输出 | 1 | VSYS (5V) | 2 | 5V 输入/输出 |
| I2C4_SCL / PWM3 | 3 | VSYS (5V) | 4 | 5V 输入/输出 |
| I2C4_SDA | 5 | GND | 6 | 地 (GND) |
| I2C1_SCL | 7 | GPIO A16 | 8 | UART0_TX / PWM4 |
| 地 (GND) | 9 | GPIO A17 | 10 | UART0_RX / PWM5 |
| I2C1_SDA / UART2_TX | 11 | GPIO B19 | 12 | UART2_TX / PWM2 |
注:在 V1.1 硬件版本中引脚 9 为 GPIO 低电平,在 V1.2 及以上版本修改为 GND。
系统镜像下载与烧录 (Flashing OS)
系统可以通过 MicroSD 卡启动,也可以在 eMMC 版本上烧录启动。以下是常规的 MicroSD 卡启动 步骤:
准备工作
- Milk-V Duo S 开发板。
- 1张容量大于 1GB 的 MicroSD 卡。
- 电脑与 USB Type-C 数据线。
- 镜像烧录工具,推荐使用 balenaEtcher 或 Rufus。
下载系统镜像
我们提供了针对 Duo S 深度优化的 定制系统镜像(eMMC 与 SD 卡两个版本),下载地址:
[!NOTE] 定制镜像基于官方 SDK v2.0.1 构建,修复了官方镜像存在的一些问题,并新增了多项实用功能,详见使用我们的定制镜像。
烧录镜像
- 将 MicroSD 卡插入电脑的读卡器。
- 打开
balenaEtcher。 - 点击 Flash from file 选择刚才下载 of 系统镜像。
- 点击 Select target 选择你的 MicroSD 卡。
- 点击 Flash! 开始写入。写入并校验完成后,拔出 MicroSD 卡并插入 Duo S 的卡槽中。
eMMC 版本固件烧录 (USB Download)
eMMC 版本出厂未烧录固件,需要通过 PC 的 USB 接口烧录。官方提供 Windows 命令行烧录工具 CviBurn_v2.0_cli_windows(usb_dl.exe),Linux 下同样支持——SDK 中自带了 Linux 版的烧录工具。
[!NOTE] eMMC 固件版本需为 V1.1.3 或更新版本才支持 USB 烧录。
准备工作
- 从 定制镜像下载页 下载 eMMC 版固件(
milkv-duos-musl-riscv64-emmc_*.zip),解压后得到:boot.emmc fip.bin rootfs_ext4.emmc partition_emmc.xml - 若从源码编译 SDK,烧录工具位于:(该目录下同时提供 Windows 版
duo-buildroot-sdk-v2/build/tools/common/usb_dl/Linux/usb_dl duo-buildroot-sdk-v2/build/tools/common/usb_dl/Linux/cv_dl_magic.binusb_dl.exe)
Linux 烧录命令
Windows 与 Linux 命令几乎一致,唯一区别是芯片参数:
# Windows: usb_dl.exe -s linux -c cv181x -i .\rom
# Linux:
./usb_dl -s linux -c 181x -i /path/to/rom
-c 181x:SG2000 系列芯片(Windows 版为cv181x)-s linux:操作系统类型-i <dir>:固件所在目录(-i直接指向包含上述 4 个固件文件的目录)
操作步骤
- 拔下 SD 卡(若有),按住开发板上的 recovery 按键。
- 用 Type-C 数据线连接 Duo S 与电脑。
- 松开 recovery 按键,开发板上电并进入烧录模式,终端实时显示烧录进度:
[INFO] Waiting for USB device connection: --- [INFO] found usb device vid=0x3346 pid=0x1000 [INFO] downloading file: ./rom/boot.emmc [INFO] CVI_USB_PROGRAM [INFO] updated size: 3384664/213100824(1%) ... [INFO] USB download complete - 烧录完成后开发板自动重启,蓝色 LED 闪烁即表示系统正常启动。
常见问题
- USB 权限不足:设备 VID/PID 为
3346:1000。若普通用户无权限访问,可用sudo运行,或添加 udev 规则:SUBSYSTEM=="usb", ATTR{idVendor}=="3346", ATTR{idProduct}=="1000", MODE="0666" - 工具报错:Linux 版芯片参数需用
181x(不要带cv前缀),否则报please specify choose chip among 180x, 181x, 182x, 183x。 - 依赖:Linux 版
usb_dl为静态链接 x86-64 ELF,无需额外安装 libusb 等依赖。
网络连接与首开机配置 (Initial Setup)
开机引导
- 使用 Type-C 数据线将 Duo S 连接到电脑的 USB 口,或使用 5V 适配器供电。
- 上电后,板载的蓝色 LED 将会开始闪烁。
[!TIP] 如果上电后蓝色 LED 没有闪烁,说明系统没有正常运行,这通常是由于 MicroSD 卡烧录错误或读写故障引起的,请尝试重新格式化并再次烧录。
登录系统 (SSH via CDC-NCM)
默认情况下,Duo S 的官方镜像开启了 CDC-NCM USB 网卡功能:
- 使用网线连接板载网口,或者通过 Type-C 数据线将开发板的虚拟网口映射到电脑中。
- 电脑会自动识别出一个虚拟以太网卡,其默认网段 IP 地址为
192.168.42.1。 - 在电脑终端运行以下命令通过 SSH 登录开发板:
ssh root@192.168.42.1 - 系统的默认密码为:
milkv
关闭蓝色 LED 闪烁 (可选)
如果不希望蓝色 LED 持续闪烁,可以在开发板登录后运行以下指令将其关闭:
mv /mnt/system/blink.sh /mnt/system/blink.sh_backup && sync
# 重启后 LED 将不再闪烁
reboot
使用我们的定制镜像 (Custom Image)
我们为 Duo S 提供了深度优化的定制系统镜像,可直接替代官方镜像使用:
- 下载地址: https://qtopie.space/releases/domour-copilot/milkv-duos
- 适用版本:eMMC 版(
milkv-duos-musl-riscv64-emmc)与 SD 卡版(milkv-duos-musl-riscv64-sd) - 烧录方式:与系统镜像下载与烧录章节完全相同(SD 卡用 Etcher/Rufus 写入,eMMC 用 usb_dl 烧录)
修复了哪些问题
| 问题 | 官方镜像表现 | 定制镜像修复 |
|---|---|---|
| WiFi AP 关联失败 | SDK 自带 rtw 定制 hostapd 误判 device_ap_sme=1,手机/电脑连上热点后立即断开 | 内置标准 hostapd 2.11,关联握手完全正常(WPA2 / WPA3-Personal 均通过验证) |
| 新批次芯片崩溃 | AIC8800D80 批次在旧驱动下以 150MHz SDIO 时钟运行,易触发 SG2000 mmc2 中断崩溃 | 统一锁定 50MHz 标准时钟,驱动运行时自动识别 AIC8800DC / AIC8800D80 并加载对应固件,全自动自适应 |
| MAC 地址漂移 | 无配置文件时每次开机随机生成 MAC,导致 DHCP 分配的 IP 频繁变化 | 首次开机自动生成唯一 MAC 并固化,终身不变 |
| 双 DHCP 客户端冲突 | 系统自带 dhcpcd 与 netguard 的 udhcpc 同时运行,ARP 广播风暴导致网络不稳 | 禁用 dhcpcd,由 netguard 统一管理 DHCP 与路由 |
| DNS 解析超时 | 依赖路由器 DNS 递归解析,境外/CDN 域名解析常超时卡顿 | 注入阿里/腾讯公共 DNS 极速解析池,解析耗时 < 15ms |
| 跨国传输限速 | 默认套接字缓冲仅 208KB,150-200ms 延迟下单连接被卡在约 8.3Mbps | TCP 缓冲区提升至 4MB + 窗口缩放 + TFO,单连接传输性能大幅提升 |
新增了哪些功能
- 首次配置 WiFi 零门槛(Portal 配网):无屏无键盘也能配网。设备首次上电自动弹出配置热点,手机连接后打开
http://192.168.5.1/填写 WiFi 信息即可完成配网。 - 开箱即用的 WiFi 热点:标准 hostapd 2.11 支持 WPA2 / WPA3-Personal 加密,实测手机(Galaxy S23)关联、DHCP、数据全链路稳定。
- 内置 NAS 存储中心(Blackhole):SMB3 / NFSv4 / WebDAV / HTTP 多协议即插即用,macOS Finder、Windows 资源管理器可直接访问。
- edge 边缘节点(cosmos-star):集成 SQLite3 与嵌入式 Dapr,支持云端 OTA 自动升级与健康回滚,跨平台组件自动更新。
- 全盘自动扩容:首次开机自动将 eMMC / SD 卡存储空间扩展至 100%,无需手动分区。
- eBPF / iptables / TUN / 蓝牙:内核级能力全面开放,支持高级网络与系统开发场景。
[!TIP] 以上所有优化均已固化在镜像中,下载后按系统镜像下载与烧录章节烧录即可直接使用,无需任何额外配置。
相关参考链接 (References)
在开发过程中,如需查询更详细的配置、功能说明或下载最新资源,请查阅以下官方资料链接:
- Duo S 硬件产品介绍页面: https://milkv.io/duo-s
- Duo S 官方上手指南文档: https://milkv.io/zh/docs/duo/getting-started/duos
- 从 MicroSD 卡启动指南: https://milkv.io/zh/docs/duo/getting-started/boot
- Buildroot SDK v2 固件与工具下载 (GitHub Releases): https://github.com/milkv-duo/duo-buildroot-sdk-v2/releases/
- Buildroot SDK v2 源码仓库: https://github.com/milkv-duo/duo-buildroot-sdk-v2