尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

瑞芯微RV1126B开发板(EASY-EAI-PI2) OTG切换成U盘模式

瑞芯微RV1126B开发板(EASY-EAI-PI2) OTG切换成U盘模式
📅 发布时间:2026/7/31 12:57:12

1. 本文介绍

1.1 OTG切换成USB模式

OTG 切换 USB 模式的核心意义,在于打破传统 USB 主从角色固定的限制,让设备(如嵌入式开发板、移动终端)灵活适配不同互联场景。对 EASY EAI PI2 RV1126B 开发板而言,该功能可实现 “设备互联”,能模拟 U 盘、串口等从机(Device)模式,直接与 PC 或其他设备直连传输数据,无需额外中转设备,极大简化开发与使用流程,提升数据交互效率。

1.2 OTG基本概念

OTG 是USB On-The-Go 的缩写,该技术于2001年由USB标准化组织发布,是一种扩展 USB 功能的技术标准,核心是打破传统 USB “主从固定” 的限制,改善不同设备之间的来连接和数据交换,让设备(如开发板、手机、平板)既能作为主机连接外设,也能作为从机被其他设备访问。

2. Linux 内核驱动配置与编译

2.1 升级到最新固件

固件的下载和具体烧录步骤,若不熟练,可查阅《固件烧录与更新》一文

2.2 下载ubuntu系统SDK

ubuntu_sdk源码(主要是kernel源代码)的下载,可以参考《嵌入式底层开发/ubuntu系统SDK/编译说明》一文

2.3 修改内核

Device Drivers --->

[ ] USB support --->

<*> DesignWare USB2 DRD Core Support(RV1126B 默认支持该核心驱动)

DWC2 Mode Selection (Dual Role mode) --->(选择双角色模式)

<*> USB Gadget Support --->

(保留默认)Maximum VBUS Power usage (2-500 mA) 设为 500

(保留默认)Number of storage pipeline buffers 设为 2

<M> USB functions configurable through configfs

[*] Mass storage(开启大容量存储功能)

<M> Gadget Filesystem

< > Function Filesystem

<M> Mass Storage Gadget

进入内核找到相应的驱动配置,将其添加到RV1126b_eai.config中即可,如下所示:

*提示:RV1126b_eai.config在kernel_dev/arch/arm64/configs目录中

2.4 编译生产内核模块

若需要了解如何编译更新内核,通过阅读《嵌入式底层开发/ubuntu系统SDK/kernel》,并按照其相关的操作,进行内核的编译和更新内核。

*注意:记得要把lib_modules.tar.gz拉回开发板进行解压

编译更新完成后,会在开发板指定目录生成 4 个关键关键模块:

drivers/usb/gadget/libcomposite.ko

drivers/usb/gadget/legacy/gadgetfs.ko

drivers/usb/gadget/legacy/g_mass_storage.ko

drivers/usb/gadget/function/usb_f_mass_storage.ko

*所在目录:/lib/modules/6.1.141/kernel/drivers/usb/...

【编译更新前】

【编译更新后】

(*注意:更新一旦完成后,adb则被禁用,可使用串口或ssh进行调试)

3. OTG切换U盘配置

3.1 创建U盘镜像文件与挂载点

执行以下命令创建 1.6GB 的虚拟 U 盘镜像(可根据 RV1126B 内存大小调整,若内存小可减小count值,如count=800对应 0.8GB):

dd if=/dev/zero of=/userdata/mydisk/udisk.img bs=1M count=1600

安装依赖工具:

sudo apt-get update && sudo apt-get install dosfstools -y

格式化镜像为 PC 可识别的 vfat 格式:

mkfs.vfat /userdata/mydisk/udisk.img

3.2 加载模块并启动U盘模拟

将镜像文件与loop设备绑定(RV1126B 支持 loop7 设备,无需额外配置):

sudo losetup /dev/loop7 /userdata/mydisk/udisk.img

依次加载编译生成的内核模块:

sudo insmod gadgetfs.ko sudo insmod libcomposite.ko sudo insmod usb_f_mass_storage.ko

*注意:以上指令执行完均没有任何的提示,顺序必须和上述一致。

*.ko的所在目录:/lib/modules/6.1.141/kernel/drivers/usb/...

创建镜像文件的挂载点:

sudo mkdir /mnt/udisk

挂载镜像文件到创建的目录:

sudo mount /dev/loop7 /mnt/udisk

启动 U 盘模拟功能(执行后 PC 会提示发现新 U 盘):

sudo insmod g_mass_storage.ko file=/dev/loop7 removable=1

4. 功能测试

基础数据交互测试

1. PC端:通过USB线连接PI2 RV1126B开发板的 OTG 接口与 PC,可像操作普通 U 盘一样读写文件。

2. 开发板端:进入/mnt/udisk目录,能查看 PC 拷贝到 U 盘中的文件;在该目录写入文件后,插拔 USB 线即可在 PC 端看到。

4.1 注意事项

1. PC写入文件后开发板看不到:

执行sudo umount /mnt/udisk && sudo mount /dev/loop7 /mnt/udisk重新挂载。

2. 开发板写入文件后PC看不到:插拔一次 USB 线即可刷新。

3. 若启动了大容量存储模式使得开发板作为U盘使用,那么adb则会被禁用

相关新闻

  • 老板夜话 · 《园区十二号》第7章:限流三天
  • 大气层系统完整指南:5分钟学会Switch自制系统安装与优化
  • Python数据可视化进阶:从配色原理到高级技巧的完整指南

最新新闻

  • Android APK二次打包实战:修改包名与配置的完整工具链与流程
  • Prompt Engineering:让LLM听懂你的话 — 从硬编码到模板化到多段式
  • 代码随想录算法训练营第七天 | 344.反转字符串 541. 反转字符串II 卡码网:54.替换数字
  • 测评数据本地加密留存不上传云端|MBTI 安全自测榜单,全方位降低隐私泄露风险 - 时讯资讯
  • C#操作Excel全攻略:COM、NPOI、EPPlus、OpenXML与云API深度对比
  • Go 的 time.After 在 select 循环里内存泄漏:定时器堆积原理与 timer.Reset 正确姿势

日新闻

  • 7步掌握KMS智能激活工具:Windows和Office永久激活完整方案
  • 如何在Windows上运行iOS应用:ipasim跨平台模拟器终极指南
  • 2026年重庆工伤赔偿律师口碑推荐:洪家木律师用专业赢得信赖 - 本地品牌推荐

周新闻

  • 大连理工大学与东京大学联手打造的“主动型AI助手“
  • 170.2026年国家级科研瓶颈:超精密单点金刚石切削(SPDT)光学表面生成
  • SongBloom:革命性歌曲生成框架深度解析——如何通过交织自回归与扩散模型创作完整音乐

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号