news 2026/5/23 1:29:25

新手避坑指南:用ADB给盈鹏飞T113开发板传文件,这几点不注意就白忙活了

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
新手避坑指南:用ADB给盈鹏飞T113开发板传文件,这几点不注意就白忙活了

嵌入式开发实战:T113开发板ADB文件传输避坑手册

第一次用ADB给盈鹏飞T113开发板传文件时,我盯着屏幕上"device not found"的提示发呆了半小时。后来才发现,问题出在一根看似普通的USB线上——这种Type-A to Type-A的线材在消费电子领域几乎绝迹,却是嵌入式开发的常备工具。这类"新手专属陷阱"在嵌入式开发中比比皆是,本文将用实战经验带你避开那些教科书不会写的坑。

1. 硬件连接:那些容易被忽略的物理细节

1.1 USB线材的隐藏玄机

大多数开发者第一次连接开发板时,会本能地掏出手机数据线(Type-A to Type-C/Micro USB)。但T113开发板的OTG接口采用Type-A母座设计,这意味着:

  • 必须使用Type-A公头 to Type-A公头的USB线(俗称USB双公头线)
  • 普通手机线无法直接连接开发板与电脑
  • 线材质量直接影响传输稳定性,劣质线可能导致ADB频繁断开

推荐备一根带磁环的屏蔽线,传输大文件时更稳定。我曾用某宝9.9包邮的线传100MB文件,中途断了三次,换成工业级线材后一次成功。

1.2 物理开关的致命位置

T113开发板上的SW3开关控制OTG模式切换,但它的拨动方向与直觉相反:

开关位置功能模式典型错误现象
1-2USB Device模式电脑无法识别设备
2-3USB Host模式ADB命令报"no permissions"错误

验证技巧:通过串口终端观察内核日志,正确设置为Device模式时会打印:

[ 203.818326] android_work: sent uevent USB_STATE=CONNECTED [ 203.928644] configfs-gadget gadget: high-speed config #1: c

1.3 供电不足的幽灵问题

当同时使用OTG接口和多个外设时,可能遇到:

  • 文件传输中途失败
  • 开发板随机重启
  • ADB设备列表频繁刷新

解决方案

  1. 使用带外接电源的USB Hub
  2. 降低CPU负载后再传输(top命令查看)
  3. 关闭不必要的外设(如HDMI输出)

2. 软件配置:脚本与服务的暗礁

2.1 关键脚本的复活指南

开发板默认的/etc/init.d/rcS可能未启用adb服务,需要检查:

  1. 用vi编辑rcS文件:
vi /etc/init.d/rcS
  1. 确保包含以下行(注意最后的&符号):
/etc/adb_conf.sh start&

常见踩坑

  • 忘记&符号导致启动卡死
  • 文件权限不正确(需chmod +x /etc/adb_conf.sh
  • Windows换行符导致脚本失效(可用dos2unix转换)

2.2 ADB服务的手动调试

当脚本失效时,可手动启动服务:

# 停止现有服务 killall adbd # 重新启动 adb_conf.sh start # 查看进程是否运行 ps | grep adbd

注意:部分固件版本可能需要先执行export ANDROID_ADB_SERVER_PORT=5555指定端口

2.3 防火墙的隐形拦截

在Linux主机上,UFW防火墙可能阻止ADB通信:

# 查看防火墙状态 sudo ufw status # 允许ADB端口 sudo ufw allow 5555/tcp

Windows用户需检查Windows Defender防火墙设置,临时关闭或添加ADB例外。

3. ADB命令实战:从入门到精通

3.1 路径格式的跨平台陷阱

不同操作系统下的路径差异:

  • Windowsadb push C:\Users\test\demo.txt /sdcard/
  • Linux/macOSadb push /home/test/demo.txt /sdcard/

易错点

  • 在Windows中使用\导致路径解析失败
  • Linux下忘记转义空格字符
  • 目标路径没有写权限(先adb shell chmod 777 /target

3.2 传输验证的完整流程

安全传输四步法:

  1. 检查设备连接:
adb devices # 应显示设备序列号
  1. 测试shell连接:
adb shell ls / # 查看开发板文件系统
  1. 执行推送(示例):
adb push ./app.bin /usr/local/bin/
  1. 验证文件:
adb shell "md5sum /usr/local/bin/app.bin" # 与本地文件对比 md5sum ./app.bin

3.3 大文件传输优化技巧

传输超过100MB文件时建议:

  • 先压缩再传输(开发板上用busybox解压)
  • 使用adb sync替代adb push(仅传输差异部分)
  • 启用压缩传输:
adb --compress push large_file.zip /sdcard/

4. 深度排错:当ADB罢工时的自救指南

4.1 连接失败的六步诊断法

  1. 物理层检查

    • USB线是否双公头
    • SW3开关位置
    • 接口是否有松动
  2. 内核日志观察

    dmesg | grep usb # 或直接查看串口输出
  3. USB设备枚举测试

    lsusb # 应显示Allwinner设备
  4. ADB服务状态

    adb kill-server adb start-server
  5. 端口占用检查

    netstat -tulnp | grep 5555
  6. 固件兼容性验证

    • 尝试不同版本的ADB工具
    • 检查开发板系统镜像日期

4.2 权限问题的花式解法

当遇到no permissions错误时:

Linux主机解决方案

# 创建udev规则 echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="1f3a", MODE="0666"' | sudo tee /etc/udev/rules.d/51-android.rules # 重新加载规则 sudo udevadm control --reload-rules

Windows备用方案

  1. 打开设备管理器
  2. 找到"Android Device"下的"Android ADB Interface"
  3. 右键更新驱动,选择"Android ADB Interface"

4.3 固件层面的终极解决方案

当所有方法都失效时,可能需要:

  1. 重新烧写系统镜像
  2. 更新bootloader
  3. 编译自定义内核(开启CONFIG_USB_CONFIGFS_F_ACC)

警告:此操作有风险,建议先备份重要数据

有一次我遇到ADB完全无响应的情况,最后发现是内核配置中缺少CONFIG_USB_LIBCOMPOSITE支持。重新编译内核后问题解决,整个过程耗费两天——这就是嵌入式开发的常态,每个坑都是进阶的台阶。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/23 1:29:25

OpenClaw设备监控:Qwen2.5-VL-7B识别服务器仪表盘异常

OpenClaw设备监控:Qwen2.5-VL-7B识别服务器仪表盘异常 1. 为什么需要自动化监控方案 去年夏天的一个深夜,我的个人服务器突然宕机,导致正在运行的爬虫任务全部中断。当我第二天早上发现时,已经错过了关键数据采集窗口。这次事故…

作者头像 李华
网站建设 2026/5/23 1:29:29

OpenClaw自动化测试实践:Qwen3-14b_int4_awq驱动Python脚本执行与结果分析

OpenClaw自动化测试实践:Qwen3-14b_int4_awq驱动Python脚本执行与结果分析 1. 为什么选择OpenClaw做自动化测试 去年接手一个个人开源项目时,我发现自己80%的时间都花在了重复的测试用例编写和回归测试上。每次代码变更后,手动执行测试套件…

作者头像 李华
网站建设 2026/5/23 1:29:40

灵机一物AI原生电商小程序(已上线)-AI Agent+社交裂变:电商增长闭环的技术落地全解析(附代码结构与风控方案)

作者:Maris5188摘要:AI砍价早已不是新鲜事,但传统单人对话砍价模式存在流量闭环断裂、获客成本高的痛点。本文从技术落地视角,完整拆解「AI对话砍价社交裂变」的产品技术方案,重点讲解增量架构设计、Redis热数据缓存、…

作者头像 李华
网站建设 2026/5/23 1:30:01

力扣热门100题之二叉树最大深度

描述:给定一个二叉树 返回其最大深度解题思路:(递归),对左右子树进行递归,然后返回较大的长度1,就是最大深度int maxLeft maxDepth(root.left); //获取左子树的最大长度int maxRight maxDept…

作者头像 李华
网站建设 2026/5/23 1:29:29

头歌机器学习 第1关:基于决策树模型的应用案例

任务描述 本关任务:使用决策树算法完成成人收入预测。 相关知识 为了完成本关任务,你需要掌握:1.数据特征处理,2.使用决策树算法完成成人收入预测。 数据处理及特征工程 本次任务我们将会使用成人数据集(来源于UCI数据…

作者头像 李华