瑞芯微 RV1126B ADB 调试命令完全指南
瑞芯微 RV1126B 是一款面向 AIoT、智能视觉领域的高性能四核 Cortex-A7 处理器。在开发过程中,ADB(Android Debug Bridge)是最常用的调试工具之一——尽管 RV1126B 通常运行 Linux 系统(如 Buildroot、Yocto),但其完善的 ADB 支持可实现文件传输、Shell 访问、日志抓取等核心功能,大幅提升开发效率。本文将详细介绍 RV112
瑞芯微 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),执行:
adb devices
若输出类似以下内容,说明连接成功:
List of devices attached
<设备序列号> device
二、RV1126B 常用 ADB 命令详解
ADB 命令功能丰富,按使用场景可分为基础连接、文件管理、Shell 访问、日志调试、系统控制等类别。以下是 RV1126B 开发中最常用的命令及实战说明。
1. 基础连接命令
(1)查看已连接设备
adb devices
-
输出说明:
-
第一列:设备序列号(RV1126B 通常为芯片 ID 或自定义字符串)。
-
第二列:设备状态,
device表示正常连接,offline表示设备离线,unauthorized表示未授权(需在开发板上允许 USB 调试)。
-
(2)重启 ADB 服务
若连接异常,可重启 ADB 服务:
adb kill-server # 停止 ADB 服务
adb start-server # 启动 ADB 服务
(3)连接多设备时指定目标
若电脑连接了多个 ADB 设备,需用 -s 参数指定 RV1126B 设备:
adb -s <设备序列号> <命令>
例如:
adb -s RV1126B001 shell
2. 文件管理命令
文件传输是 ADB 最常用的功能之一,可方便地将算法模型、配置文件推送到开发板,或从开发板拉取日志、测试数据。
(1)推送文件到开发板(adb push)
adb push <本地文件路径> <开发板目标路径>
-
示例:将本地
model.rknn模型文件推送到开发板的/userdata目录:adb push D:\models\model.rknn /userdata/ -
注意:若开发板路径无写入权限,可先推送到
/tmp目录,再通过 Shell 移动到目标位置。
(2)从开发板拉取文件(adb pull)
adb pull <开发板文件路径> <本地目标路径>
-
示例:将开发板的
/userdata/test.log日志文件拉取到本地桌面:adb pull /userdata/test.log C:\Users\Username\Desktop\
(3)查看开发板文件列表(通过 Shell)
ADB 没有直接的 ls 命令,需结合 Shell 使用:
adb shell ls /userdata/
3. Shell 访问命令
通过 adb shell 可直接进入 RV1126B 的 Linux Shell,执行各类 Linux 命令,是调试系统、运行程序的核心方式。
(1)进入开发板 Shell
adb shell
执行后终端提示符将变为开发板的 Shell 提示符(如 # 或 $),此时可直接运行 Linux 命令:
# 查看 CPU 信息
cat /proc/cpuinfo
# 查看内存使用情况
free -h
# 查看 NPU 状态(RV1126B 特定命令)
cat /sys/class/misc/rknpu/device/status
(2)直接执行单条 Shell 命令
无需进入 Shell,可通过 ADB 直接执行命令并返回结果:
adb shell <命令>
-
示例:查看开发板 IP 地址:
adb shell ifconfig
(3)获取 Root 权限
若开发板支持 Root,可通过以下命令切换到 Root 用户:
adb root
adb remount # 若需修改系统分区,执行此命令重新挂载为可读写
注意:adb remount 需在 adb root 后执行,且仅对可读写的系统分区有效。
4. 日志调试命令
日志是定位问题的关键,ADB 提供了完善的日志抓取功能,支持查看系统日志、内核日志等。
(1)查看系统日志(adb logcat)
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 设备)非常重要:
adb shell dmesg
-
实时查看内核日志:
adb shell dmesg -w -
保存内核日志到文件:
adb shell dmesg > kernel_log.txt
5. 系统控制命令
(1)重启开发板
adb reboot # 正常重启
adb reboot recovery # 重启到 Recovery 模式(若支持)
adb reboot bootloader # 重启到 Bootloader 模式(用于烧录固件)
(2)查看系统属性
RV1126B 的系统属性包含固件版本、硬件配置等信息:
adb shell getprop # 查看所有属性
adb shell getprop ro.build.version # 查看固件版本
(3)挂载/卸载分区
若需修改系统分区,可先重新挂载为可读写:
adb root
adb shell mount -o remount,rw / # 重新挂载根分区为可读写
6. 网络调试命令
(1)端口转发(adb forward)
将电脑的端口转发到开发板,方便访问开发板上的服务(如 Web 界面、SSH):
adb forward tcp:<电脑端口> tcp:<开发板端口>
-
示例:将电脑的 8080 端口转发到开发板的 80 端口,访问
http://localhost:8080即可打开开发板的 Web 服务:adb 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 移动到目标位置:adb 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
-
更多推荐
所有评论(0)