环境与工具:
- x86_64 ubuntu22.04主机一台
- YY3588 开发板一台
- YY3588标配电源一个
- USB typeA 转 typeC 调试线一根
YY3588开发板接上电源接口和adb调试接口,adb 另一端接上ubuntu22.04主机;如下图:

# 提示:使用普通用户即可
$ sudo apt update
$ sudo apt search python3.10
# 选择一个安装即可
$ sudo apt install xxx
# 检查安装是否成功
$ python --version
$ sudo apt install adb
# 查看开发板信息,出现开发板信息说明安装成功
$ adb devices
List of devices attached
e917a56d5822e215 device
$ mkdir yyt_RKNN_Projects
$ cd yyt_RKNN_Projects
$ mv /path/to/rknn-toolkit2 /path/to/rknn_model_zoo -t ./
查看是否安装
# 没有报错则为已经安装(已经安装可以跳过此章节)
$ python
$ from rknn.api import RKNN
安装
$ cd yyt_RKNN_Projects/rknn-toolkit2/rknn-toolkit2
$ pip install -r packages/x86_64/requirements_cp310-2.3.0.txt
$ pip install -r packages/x86_64/rknn_toolkit2-2.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
$ sudo apt install cmake
$ cd yyt_RKNN_Projects/rknn_model_zoo/examples/yolov5/model
# 可以自己下载模型,也可以使用我们下载好的模型,在RKNN相关仓库资料里面
$ ./download_model.sh
# 下载好的模型路径 model/yolov5s_relu.onnx
$ cd yyt_RKNN_Projects/rknn_model_zoo/examples/yolov5/python
$ python convert.py ../model/yolov5s_relu.onnx rk3588 i8 ../model/yolov5s_relu.rknn
$ cd Projects/rknn_model_zoo/examples/yolov5/python
# 将RKNN相关仓库资料里面的adbd.zip推送到板端
$ unzip adbd.zip
$ adb push adbd/linux-aarch64/adbd /usr/bin/adbd
$ adb shell "chmod +x /usr/bin/adbd"
$ adb reboot
# 等待板子启动后
$ sudo adb kill-server
# 调试命令
## 连板调试
$ adb shell "restart_rknn.sh"
$ python yolov5.py --model_path ../model/yolov5s_relu.rknn --target rk3588 --img_save
## 主机调试
$ python yolov5.py --model_path ../model/yolov5s_relu.onnx --img_save

两种调试结果的输出图片均在result目录下面,默认输入有2张照片(bus.jpg、women.jpg)


目前瑞芯微官方的rknpu2驱动最新为 0.9.8,在 rknn-llm 源码下。



tar -xjvf rknpu_driver_0.9.8_20241009.tar.bz2 -C kernel-6.1/
再把sdk源码下的 kernel-6.1/drivers/rknpu/rknpu_devfreq.c 一条语句注释掉

# 编译
cd kernel-6.1
make clean
cd ..
./build.sh kernel
cat /sys/kernel/debug/rknpu/version


cat /sys/kernel/debug/rknpu/version


adb push C:\Users\stack\Downloads\rknn-toolkit2-master\rknpu2\runtime\Linux /home/youyeetoo
adb shell
cd /home/youyeetoo
# 板子查看rknpu2 库和进程版本
sudo strings /usr/bin/rknn_server | grep "rknn_server version:"
sudo strings /usr/lib/librknnrt.so | grep "librknnrt version:"
# 查看下载的版本
sudo strings Linux/librknn_api/aarch64/librknnrt.so | grep "librknnrt version:"
sudo strings Linux/rknn_server/aarch64/usr/bin/rknn_server | grep "rknn_server version:"
# 如果两个版本不一样,再执行下面命令更新
sudo chmod +x Linux/rknn_server/aarch64/usr/bin/*
sudo cp Linux/rknn_server/aarch64/usr/bin/* /usr/bin/
sudo cp Linux/librknn_api/aarch64/* /usr/lib/
sudo cp Linux/librknn_api/include/* /usr/include/
sudo reboot