瑞芯微 RV1126B 是一款面向 AIoT、智能视觉领域的高性能四核 Cortex-A7 处理器,集成 NPU 加速器,广泛应用于智能摄像头、边缘计算设备等场景。在 RV1126B 开发过程中,ADB(Android Debug Bridge)是最常用的调试工具之一------尽管 RV1126B 通常运行 Linux 系统(如 Buildroot、Yocto),但其完善的 ADB 支持可实现文件传输、Shell 访问、日志抓取等核心功能,大幅提升开发效率。
本文将详细介绍 RV1126B 开发板通过 USB 连接 ADB 的完整流程,以及各类 ADB 命令的使用方法与实战技巧。
一、RV1126B 开发板 ADB 连接
在使用 ADB 命令前,需完成开发板与电脑的连接配置,确保双方能正常通信。
1. 开发板端:验证 ADB 连接
RV1126B 开发板默认开启 ADB,需通过以下步骤启用:
打开电脑终端(CMD 或 PowerShell),执行:
Bash
adb devices
若输出类似以下内容,说明连接成功:
Plain
List of devices attached
<设备序列号> device
二、RV1126B 常用 ADB 命令详解
ADB 命令功能丰富,按使用场景可分为基础连接、文件管理、Shell 访问、日志调试、系统控制等类别。以下是 RV1126B 开发中最常用的命令及实战说明。
1. 基础连接命令
(1)查看已连接设备
Bash
adb devices
-
输出说明:
-
第一列:设备序列号(RV1126B 通常为芯片 ID 或自定义字符串)。
-
第二列:设备状态,
device表示正常连接,offline表示设备离线,unauthorized表示未授权(需在开发板上允许 USB 调试)。
-
(2)重启 ADB 服务
若连接异常,可重启 ADB 服务:
Bash
adb kill-server # 停止 ADB 服务
adb start-server # 启动 ADB 服务
(3)连接多设备时指定目标
若电脑连接了多个 ADB 设备,需用 -s 参数指定 RV1126B 设备:
Bash
adb -s <设备序列号> <命令>
例如:
Bash
adb -s RV1126B001 shell
2. 文件管理命令
文件传输是 ADB 最常用的功能之一,可方便地将算法模型、配置文件推送到开发板,或从开发板拉取日志、测试数据。
(1)推送文件到开发板(adb push)
Bash
adb push <本地文件路径> <开发板目标路径>
-
示例 :将本地
model.rknn模型文件推送到开发板的/userdata目录:Bashadb push D:\models\model.rknn /userdata/ -
注意 :若开发板路径无写入权限,可先推送到
/tmp目录,再通过 Shell 移动到目标位置。
(2)从开发板拉取文件(adb pull)
Bash
adb pull <开发板文件路径> <本地目标路径>
-
示例 :将开发板的
/userdata/test.log日志文件拉取到本地桌面:Bashadb pull /userdata/test.log C:\Users\Username\Desktop\
(3)查看开发板文件列表(通过 Shell)
ADB 没有直接的 ls 命令,需结合 Shell 使用:
Bash
adb shell ls /userdata/
3. Shell 访问命令
通过 adb shell 可直接进入 RV1126B 的 Linux Shell,执行各类 Linux 命令,是调试系统、运行程序的核心方式。
(1)进入开发板 Shell
Bash
adb shell
执行后终端提示符将变为开发板的 Shell 提示符(如 # 或 $),此时可直接运行 Linux 命令:
Bash
# 查看 CPU 信息
cat /proc/cpuinfo
# 查看内存使用情况
free -h
# 查看 NPU 状态(RV1126B 特定命令)
cat /sys/class/misc/rknpu/device/status
(2)直接执行单条 Shell 命令
无需进入 Shell,可通过 ADB 直接执行命令并返回结果:
Bash
adb shell <命令>
-
示例:查看开发板 IP 地址:
Bashadb shell ifconfig
(3)获取 Root 权限
若开发板支持 Root,可通过以下命令切换到 Root 用户:
Bash
adb root
adb remount # 若需修改系统分区,执行此命令重新挂载为可读写
注意:adb remount 需在 adb root 后执行,且仅对可读写的系统分区有效。
4. 日志调试命令
日志是定位问题的关键,ADB 提供了完善的日志抓取功能,支持查看系统日志、内核日志等。
(1)查看系统日志(adb logcat)
Bash
adb logcat
-
常用参数:
-
按日志级别过滤:
adb logcat *:E(仅显示 Error 级别日志),级别从低到高为 V(Verbose)、D(Debug)、I(Info)、W(Warning)、E(Error)、F(Fatal)。 -
按标签过滤:
adb logcat MyApp:D *:S(仅显示标签为MyApp的 Debug 日志,*:S表示屏蔽其他日志)。 -
清空日志:
adb logcat -c。 -
保存日志到文件:
adb logcat > log.txt。
-
(2)查看内核日志(dmesg)
内核日志包含驱动加载、硬件初始化等信息,对调试外设(如摄像头、USB 设备)非常重要:
Bash
adb shell dmesg
-
实时查看内核日志:
Bashadb shell dmesg -w -
保存内核日志到文件:
Bashadb shell dmesg > kernel_log.txt
5. 系统控制命令
(1)重启开发板
Bash
adb reboot # 正常重启
adb reboot recovery # 重启到 Recovery 模式(若支持)
adb reboot bootloader # 重启到 Bootloader 模式(用于烧录固件)
(2)查看系统属性
RV1126B 的系统属性包含固件版本、硬件配置等信息:
Bash
adb shell getprop # 查看所有属性
adb shell getprop ro.build.version # 查看固件版本
(3)挂载/卸载分区
若需修改系统分区,可先重新挂载为可读写:
Bash
adb root
adb shell mount -o remount,rw / # 重新挂载根分区为可读写
6. 网络调试命令
(1)端口转发(adb forward)
将电脑的端口转发到开发板,方便访问开发板上的服务(如 Web 界面、SSH):
Bash
adb forward tcp:<电脑端口> tcp:<开发板端口>
-
示例 :将电脑的 8080 端口转发到开发板的 80 端口,访问
http://localhost:8080即可打开开发板的 Web 服务:Bashadb forward tcp:8080 tcp:80
三、常见问题与解决方案
1. adb devices 找不到设备
-
排查步骤:
-
检查 USB 线是否为双公头数据线,且连接到开发板的 OTG 接口。
-
确认开发板已开启 ADB 服务(通过串口验证
adbd进程是否运行)。 -
重新安装瑞芯微 ADB 驱动,或在设备管理器中手动更新驱动。
-
更换电脑 USB 接口(建议使用 USB 2.0 接口,部分 USB 3.0 接口兼容性不佳)。
-
2. 设备显示 unauthorized
- 解决方法:在 RV1126B 开发板的屏幕(或通过串口)上,点击"允许 USB 调试"的授权提示。
3. adb push 提示权限不足
-
解决方法:
-
先推送到
/tmp目录,再通过 Shell 移动到目标位置:Bashadb push file /tmp/ adb shell mv /tmp/file /userdata/ -
若目标路径为系统分区,执行
adb root和adb remount后再推送。
-
4. 日志乱码
-
解决方法 :在执行
adb logcat前,设置终端编码为 UTF-8:-
Windows CMD:
chcp 65001 -
PowerShell:`[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
-