瑞芯微RV1126B开发板(EASY-EAI-PI2) OTG切换成U盘模式
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系统SDKubuntu_sdk源码主要是kernel源代码的下载可以参考《嵌入式底层开发/ubuntu系统SDK/编译说明》一文2.3 修改内核Device Drivers ---[ ] USB support ---* DesignWare USB2 DRD Core SupportRV1126B 默认支持该核心驱动DWC2 Mode Selection (Dual Role mode) ---选择双角色模式* USB Gadget Support ---保留默认Maximum VBUS Power usage (2-500 mA) 设为 500保留默认Number of storage pipeline buffers 设为 2M USB functions configurable through configfs[*] Mass storage开启大容量存储功能M Gadget Filesystem Function FilesystemM 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.kodrivers/usb/gadget/legacy/gadgetfs.kodrivers/usb/gadget/legacy/g_mass_storage.kodrivers/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值如count800对应 0.8GBdd if/dev/zero of/userdata/mydisk/udisk.img bs1M count1600安装依赖工具sudo apt-get update sudo apt-get install dosfstools -y格式化镜像为 PC 可识别的 vfat 格式mkfs.vfat /userdata/mydisk/udisk.img3.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 removable14. 功能测试基础数据交互测试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则会被禁用

相关新闻

单片机毕设项目:基于嵌入式交互的红蓝队赛事综合计时系统 基于 STM32 单片机篮球全流程赛事计时计分系统(015101)

单片机毕设项目:基于嵌入式交互的红蓝队赛事综合计时系统 基于 STM32 单片机篮球全流程赛事计时计分系统(015101)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/10/13 17:14:12 阅读更多 →
算法身陷重围:巨头们的“注意力经济”迎来清算时刻

算法身陷重围:巨头们的“注意力经济”迎来清算时刻

上周,布鲁塞尔、波士顿和奥克兰的法庭上,几乎同时响起了针对科技巨头的严厉控诉。尽管这三地的监管机构和法律团队事先并无沟通,但他们使用的指控语言却惊人地一致。欧盟委员会与波士顿市政府在短短48小时内做出了相同的诊断:那些…

2026/10/13 17:14:22 阅读更多 →
专科生AI降重工具对比:千笔与WPS AI实测分析

专科生AI降重工具对比:千笔与WPS AI实测分析

1. 项目概述:专科生如何选择适合自己的AI降重工具作为一名在学术写作领域摸爬滚打多年的老手,我见过太多学生被查重率折磨得焦头烂额。最近市面上出现了两款针对专科生的AI降重工具——千笔降AIGC助手和WPS AI,它们都号称能有效降低论文的AI生…

2026/10/2 8:11:51 阅读更多 →

最新新闻

基于微信小程序的付费自习室预约小程序设计与实现

基于微信小程序的付费自习室预约小程序设计与实现

选题背景与意义 随着社会节奏的加快和学习压力的增加,越来越多的人开始重视自我提升与终身学习的理念。尤其是在职场竞争激烈、知识更新迅速的背景下,自主学习已成为个人成长的重要途径。然而,传统的学习环境往往存在干扰因素多、缺乏专注氛围…

2026/10/13 17:15:18 阅读更多 →
1949-1990年草地NPP时间序列重建:从降水利用效率到R1数据集的实践

1949-1990年草地NPP时间序列重建:从降水利用效率到R1数据集的实践

我们在做某个长时间尺度草地生态系统分析时,接到的第一个任务就让人头疼:需要一份南非图文巴地区1949—1990年的草地净初级生产力(NPP)时间序列。当时所有人都以为这只是从数据库里下载一行数据的事,结果查了一圈&…

2026/10/13 17:15:18 阅读更多 →
暴雪MPQ文件查看器源码解析:从格式拆解到批量提取实战

暴雪MPQ文件查看器源码解析:从格式拆解到批量提取实战

简介:暴风雪公司MPQ文件查看器是一款面向游戏开发与逆向分析人员的专用工具,用于打开和解析暴雪旗下魔兽争霸、星际争霸、暗黑破坏神等游戏采用的MPQ压缩格式文件。普通文件浏览器无法直接读取MPQ内部结构,该工具恰好填补这一空白&#xff0c…

2026/10/13 17:15:18 阅读更多 →
PPspliT 动画拆页实战:按放映时序拆分 PPT 动画为静态页

PPspliT 动画拆页实战:按放映时序拆分 PPT 动画为静态页

简介:PPspliT 是一款面向 PowerPoint 用户的加载项工具,专为解决幻灯片动画无法逐帧导出这一痛点而设计。它基于 VBA 与 NSIS 安装脚本实现,可将演示文稿中每张幻灯片的动画过程拆解为一系列独立幻灯片,使每个中间动画步骤都能以静…

2026/10/13 17:15:18 阅读更多 →
数据库课设经典题:图书管理系统表结构与事务实现

数据库课设经典题:图书管理系统表结构与事务实现

简介:《数据库课程设计——图书管理系统》是一份软件工程与数据库课程设计的任务书及完整设计指导文档,面向高校计算机类专业学生,用于完成图书管理系统的数据库建模与系统开发任务。文档围绕学生借阅、续借、归还、查询和管理员对图书、学生…

2026/10/13 17:15:18 阅读更多 →
Fama-French三因素模型实战:从因子构建到Python回归的A股应用

Fama-French三因素模型实战:从因子构建到Python回归的A股应用

1. 从"一只股票涨了"到"为什么涨":三因素模型的出场逻辑很多人做投资分析时,习惯盯着单只股票的涨跌找原因——公司发了财报、行业出了政策、大盘情绪好。但如果你同时持有几十只甚至上百只股票,这种"一只一只找原因…

2026/10/13 17:14:15 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →