从版本1.3.0升级到2.3.2的完整指南
在开始更新之前,请确保您已准备好以下内容:
本教程将指导您完成RK3568开发板上RKNNPU驱动的更新过程。RKNNPU是Rockchip的神经网络处理单元,用于加速AI推理任务。更新到最新版本可以获得更好的性能、更多的算子支持和更好的兼容性。
注意:在更新驱动前,请务必备份重要数据。虽然此操作通常不会导致数据丢失,但预防措施总是必要的。
首先,我们需要查看开发板上当前安装的RKNN驱动版本。通过ADB连接到开发板并执行以下命令:
执行后,您应该会看到类似下面的版本信息:
重要:请确保rknn_server和librknnrt.so的版本号完全一致,否则RKNNPU可能无法正常工作!
在您的主机上,找到RKNN-Toolkit2开发包中的驱动文件,然后使用ADB将其推送到开发板:
提示:如果开发板上的/usr/lib或/usr/bin目录是只读的,您可能需要先重新挂载文件系统为可写模式:adb shell mount -o remount,rw /
文件推送完成后,需要设置执行权限并重启rknn_server服务:
或者,您也可以使用以下命令直接重启服务:
更新完成后,再次检查版本号以确保更新成功:
如果两个版本号都显示为2.3.2(或您安装的其他新版本),并且版本号一致,说明驱动更新成功!
问题1:执行adb push时提示"Read-only file system"
解决方法:重新挂载文件系统为可写模式:adb shell mount -o remount,rw /
问题2:重启rknn_server服务失败
解决方法:检查文件权限是否正确,或尝试手动杀死进程后重启:
adb shell "pkill rknn_server && /usr/bin/start_rknn.sh"
问题3:版本号不一致或更新后RKNN模型无法运行
解决方法:确保rknn_server和librknnrt.so来自同一个RKNN-Toolkit2版本,必要时重新推送两个文件并重启服务。
问题4:找不到rknn-toolkit2目录或驱动文件
解决方法:从Rockchip官方网站或GitHub仓库下载最新的RKNN-Toolkit2开发包:
https://github.com/rockchip-linux/rknn-toolkit2
建议同时更新RKNN-Toolkit2到对应版本(2.x.x),以确保开发环境和运行环境的一致性,避免兼容性问题。