2026 寒假 任务04 “启动:硬起来的臭企鹅”


🦊 Luckfox Pico Mini B (RV1103) 嵌入式开发笔记

目标:从零开始搭建嵌入式 Linux + AI 环境
硬件:Luckfox Pico Mini B (RV1103) + SC3336 摄像头
达成:✅ 系统烧录 | ✅ 驱动排查 | ✅ SSH 连接 (ADB 隧道方案)

要跟着官方文档来玩~

🛠️ 第一章:系统镜像与烧录

Luckfox Pico Mini B 支持两种启动方式:TF 卡启动 (MicroSD)板载闪存启动 (SPI NAND Flash)
启动优先级:TF 卡 > 板载 Flash。只要插了 TF 卡,板子就会优先读卡。

1. 烧录板载 Flash (使用 SocToolKit)

适用场景:不插 TF 卡时运行的基础系统。
工具:SocToolKit (瑞芯微官方工具)。
操作要点

  1. 按住 BOOT 键连接电脑进入 MaskRom 模式。
  2. 选择 Download 模式。
  3. 选择对应的分区文件烧录。

经验:我们这一步操作是正确的。虽然我们主要用 TF 卡,但刷好 Flash 作为备用系统(救砖用)是个好习惯。

2. 烧录 TF 卡 (推荐)

适用场景:跑 Ubuntu、运行大型 AI 模型(Flash 空间不够)。
关键误区修正

  • 错误:把 TF 卡插在板子上,再把板子插电脑(电脑把板子当成 USB 设备,读不到卡)。
  • 正确:必须使用 USB 读卡器连接 TF 卡到电脑。

镜像选择:文件名包含 Mini_BMicroSDUbuntu (或 Buildroot)。
工具推荐:Win32DiskImager (比 SocToolKit 的 SD 模式更简单稳定)。
操作

  1. 打开 Win32DiskImager。
  2. 选择 .img 镜像。
  3. 选择读卡器盘符 -> Write。

🚧 第二章:RNDIS 驱动之战 (Code 56)

这是最艰难的环节。当我们试图通过 USB 虚拟网卡 (RNDIS) 连接板子时,遭遇了 Windows 的顽疾。

1. 问题现象

  • 设备管理器中显示 基于远程 NDIS 的 Internet 共享设备
  • 状态栏有黄色感叹号。
  • 报错信息:“Windows 仍在设置此设备的类配置 (代码 56)”。

2. 根本原因

软件冲突:电脑上安装的 蒲公英 VPN (OrayBox)、UU 加速器、VMware 等软件安装了底层的“网络过滤驱动”。
当 RNDIS 网卡尝试初始化时,这些过滤驱动会拦截并导致冲突,Windows 无法完成配置。

3. 尝试过的方案(避大坑)

  • 方案 A:网络重置(极度危险,会导致网卡掉驱动,且不一定能修好(一定不~))。
  • ⚠️ 方案 B:手动更新驱动(选 Microsoft -> 远程 NDIS 兼容设备)。这对普通感叹号有效,但对 Code 56 无效。
  • 方案 C:卸载冲突软件。卸载蒲公英/UU 后,驱动立刻恢复正常。(不一定,不建议)

🚀 第三章:绝处逢生 —— ADB 隧道方案

在 RNDIS 驱动无法使用(或不愿卸载 VPN)的情况下,我们找到了不需要网卡的终极替代方案。

1. 核心逻辑

ADB (Android Debug Bridge):瑞芯微芯片支持 ADB 调试。
优势:ADB 走的是调试通道,不经过网络协议栈,所以完全不受蒲公英/UU/防火墙的影响。

2. 操作步骤

Step 1: 确认连接
在 Windows PowerShell / CMD 中:

1
2
adb devices
# 输出: xxxxx device (表示已连接)

Step 2: 端口映射 这是让 SSH 跑在 USB 线上的关键命令:

1
adb forward tcp:2222 tcp:22

含义:把电脑的 2222 端口映射到板子的 22 (SSH) 端口。

Step 3: SSH 连接 使用 MobaXterm 或 PowerShell 连接:(Tabby~)

  • 主机 (Host): 127.0.0.1 (本地回环地址)
  • 端口 (Port): 2222 (映射后的端口)
  • 用户: pico
  • 密码: luckfox

命令版:

1
ssh pico@127.0.0.1 -p 2222

3. 文件传输

既然没有网卡,就不能用 SCP。改用 ADB 传输:

  • 电脑 -> 板子: adb push 本地文件 /pico/
  • 板子 -> 电脑: adb pull /pico/照片.jpg 本地路径

🔮 第四章:未来的开发模式

至此,我们的环境已经通了。接下来的 Task 7-9 (C++ 开发与 AI 部署) 将遵循以下"离线开发模式":

开发与编译

  • 在 PC (Ubuntu/WSL) 上写 C++ 代码。
  • 使用交叉编译工具链生成可执行文件。

传输

  • 通过 adb push 将可执行文件扔进板子。

运行

  • 通过 ssh -p 2222 进入板子终端。
  • 执行程序 (./my_program)。

调试

  • 板子负责跑,结果通过终端回显,图片通过 adb pull 拉回来看。

总结:绕过了 Windows 复杂的网络驱动地狱,利用 ADB 强行打通了控制隧道。虽然板子本身没网,但对于嵌入式 AI 开发来说,只要能传文件、能敲命令,就足够了!(吧)