快速上手
1. 概述
1.1 功能简介
本文档介绍 M5-R2A 开发板的首次开机、系统登录、基本功能验证、第一个程序运行和 NPU 推理验证。
1.2 前置条件
在开始本文档之前,请确保:
2. 硬件准备
2.1 硬件清单
| 组件 | 数量 | 备注 |
|---|---|---|
| M5-R2A 主板(已烧录系统) | 1 | 预装 Linux 或 Android |
| HDMI 显示器 | 1 | 支持 1080p 以上分辨率 |
| HDMI 线缆 | 1 | |
| 4V/5A 电源适配器 | 1 | 误差 ±5% |
| USB 转 TTL 串口线 | 1 | 可选,调试用 |
| 以太网线 | 1 | 可选,网络连接用 |
2.2 硬件连接
- 连接 HDMI 线:开发板 J2 → 显示器
- 连接串口线(可选):USB 转 TTL → 开发板 J7(调试串口)
- 连接网线(可选):开发板 J3 → 路由器
- 连接电源适配器,开发板上电
3. 首次开机
3.1 开机步骤
- 连接所有外设后,接通电源
- 观察指示灯:
- 红色 PWR 灯常亮 → 电源正常
- 绿色 RUN 灯闪烁 → 系统启动中
- 等待约 30~60 秒,系统启动完成
3.2 登录系统
通过串口终端登录:
# 串口终端显示登录提示后,输入默认账户
# Ubuntu 镜像(主机名 RK3588)
RK3588 login: root
# 密码 123456
# Debian 镜像(主机名 linaro-alip)
# linaro-alip login: linaro,密码 linaro或通过 SSH 登录:
# 先查看开发板 IP 地址(串口或显示器上查看)
ssh root@192.168.1.1003.3 系统信息确认
# 查看内核版本
uname -a预期输出(具体版本号取决于固件):
Linux rk3588 6.1.x #1 SMP ... aarch64 GNU/Linux# 查看 CPU 负载
uptime# 查看磁盘空间
df -h4. 基本功能验证
4.1 网络功能验证
# 查看 IP 地址
ip addr show eth0# 测试网络连通性
ping -c 4 114.114.114.114预期输出:
PING 114.114.114.114 (114.114.114.114): 56 data bytes
64 bytes from 114.114.114.114: seq=0 ttl=64 time=10 ms
...4.2 显示功能验证
# 查看当前显示模式
cat /sys/class/drm/card0-HDMI-A-1/mode预期输出(分辨率取决于显示器和固件配置):
1920x1080# 测试 GPU 渲染(glmark2 需先安装:apt install glmark2-es2)
glmark2-es2预期输出会显示 OpenGL 渲染画面,并输出性能评分。
4.3 多媒体功能验证
# 播放测试视频(使用 gstreamer,系统运行 X11 图形环境)
gst-launch-1.0 videotestsrc ! autovideosink预期输出:显示器上出现彩色测试图案。
4.4 USB 功能验证
# 查看 USB 设备
lsusb预期输出:
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
...4.5 NPU 功能验证
# 检查 NPU 设备节点
ls /dev/dri/renderD128
# 查看 NPU 驱动信息
dmesg | grep rknpu预期输出:
[ 1.234567] rknpu: RKNPU driver probed successfully5. 运行第一个程序
5.1 编写 Hello World 程序
在开发板上直接编写并编译:
# 创建 C 程序文件
cat > /tmp/hello.c << 'EOF'
#include <stdio.h>
int main() {
printf("Hello, M5-R2A!\n");
printf("Running on %s\n", "RK3588");
return 0;
}
EOF5.2 编译并运行
# 使用开发板自带的 GCC 编译器
gcc -o /tmp/hello /tmp/hello.c
# 运行程序
/tmp/hello预期输出:
Hello, M5-R2A!
Running on RK35885.3 交叉编译(在电脑上编译后运行)
如果在开发环境搭建好了交叉编译器,也可以在电脑上编译后传到开发板运行:
# 在电脑上交叉编译
aarch64-linux-gnu-gcc -o hello hello.c
# 通过 ADB 推送到开发板
adb push hello /tmp/
adb shell chmod +x /tmp/hello
adb shell /tmp/hello6. NPU 运行验证
6.1 NPU 驱动确认
# 检查 NPU 设备节点
ls /dev/dri/renderD128
# 查看 NPU 驱动信息
dmesg | grep rknpu6.2 运行 RKNN 示例
# 进入 RKNN Lite 示例目录
cd /usr/share/rknn-toolkit2/examples/inference_with_lite
# 运行 resnet18 图像分类示例(识别 space_shuttle_224.jpg)
python3 test.py预期输出(对 space_shuttle 图片分类,Top1 类别 812 即航天飞机):
resnet18
-----TOP 5-----
[812]: 0.9996696710586548
[404]: 0.0002492684288881719
[657]: 1.632158637e-05
[833]: 1.0159346857108176e-05
[466 895]: 9.02384545042878e-06
done6.3 NPU 性能测试
# 查看 NPU 工作频率
cat /sys/class/devfreq/fdab0000.npu/cur_freq预期输出(单位 Hz,频率随负载动态调节):
1000000000RK3588 NPU 算力 6 TOPS(INT8),支持 INT4/INT8/INT16 混合运算。NPU 开发方法见 NPU 架构与性能概览。
7. 常见问题
7.1 开机后显示器无画面
现象: 开发板上电,PWR 灯亮,RUN 灯闪烁,但显示器无画面
原因: HDMI 分辨率不兼容或显示器未切换输入源
解决方案:
- 确认显示器已切换到 HDMI 输入
- 尝试使用 1080p 显示器
- 通过串口查看内核日志:
dmesg | grep -i hdmi
7.2 ping 不通外网
现象: 网络连接正常,但无法 ping 通外网
原因: DNS 未配置或网关地址错误
解决方案:
# 检查路由表
route -n
# 手动添加默认网关
route add default gw 192.168.1.1
# 配置 DNS
echo "nameserver 114.114.114.114" > /etc/resolv.conf7.3 NPU 驱动加载失败
现象: dmesg | grep rknpu 无输出
原因: 内核未启用 NPU 驱动或设备树未配置 NPU 节点
解决方案:
- 确认内核配置中
CONFIG_ROCKCHIP_NPU=y - 确认设备树中
rknpu节点status = "okay" - 重新编译内核并烧录
相关文档
- 产品简介 — 硬件接口说明
- 开发环境搭建 — 串口、ADB、网络工具配置
- SDK下载与编译环境搭建 — SDK 编译
- 核心板参数 — 核心板和底板硬件规格
