一、系统烧录
驱动安装
- 下载链接🔗:瑞芯微驱动系统
- 为了所有设备都使用更新的驱动,请先选择驱动卸载,然后再选择驱动安装。
硬件进入Loader模式
- 下载链接🔗:RKDevTool.exe
- 运行RKDevTool.exe
- 连接设备并通过 RECOVERY 按键进入Loader升级模式步骤如下:
- 先断开电源适配器连接
- 使用 Type-C 数据线一端连接主机,一端连接开发板
- 按住设备上的 RECOVERY (恢复)键并保持
- 接上电源
- 大约两秒钟后,松开 RECOVERY 键
- 通过RKDevTool工具可以看到下方提示Found One LOADER Device
烧录系统
- 下载链接🔗:Ubuntu22.04
烧写统一固件 update.img 的步骤如下:
- 将RKDevTool工具切换至Upgrade Firmware页。
- 按Firmware按钮,打开要升级的固件文件。升级工具会显示详细的固件信息。
- 按Upgrade按钮开始升级。
看到进入系统了就说明烧录成功啦!
二、部署深度学习模型
部署深度学习模型需要使用 PC 端的 Ubuntu 系统,先转码生成量化模型之后再烧录到板子上,最后在板子上安装好需要的库,运行量化模型。
安装需要的软件
- 需要安装 交叉编译器、Vscode 以及 Python 3.8
安装交叉编译器
- 下载链接🔗:交叉编译器
- 进入下载目录打开终端运行下面的命令
chmod +x ./rk3588-toolchain-arm-buildroot-linux-gnueabihf-x86_64-20240506-v1.0.run
sudo ./rk3588-toolchain-arm-buildroot-linux-gnueabihf-x86_64-20240506-v1.0.run
安装Vscode
- 下载链接🔗:Vscode
- 运行下面的命令进行安装。
sudo dpkg -i code_1.96.2-1734606918_arm64.deb
- 如果缺少库没有安装成功,运行下面的命令
sudo apt-get install -f
- 安装 Cmake
sudo apt update
sudo apt install cmake
安装 Anaconda 与 Python 3.8
- 安装教程🔗:Anaconda
- 创建虚拟环境
conda create --name image python=3.8
- 进入虚拟环境的如下:
conda activate image
- 退出虚拟环境的如下:
conda deactivate
调用 bulid 接口构建 RKNN 模型
- 下载链接🔗:demo
我在学习过程中,是老师给了一个 demo,目前只了解项目开发的流程,bulid 接口怎么写还在学习中。
- 在 PC 端,打开 Vscode ,加载 cpp 目录,按快捷键 <C-`> 调用出终端。先进入虚拟环境,并运行 bulid.sh
conda activate image
bash bulid.sh
出现下图就说明运行成功啦!
使用 ADB 将生成的文件传输到板子上
- 安装 ADB
sudo apt-get install android-tools-adb
- 加入设备标识
sudo vi /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="2207", MODE="0666"
- 重新插拔 USB 线,或运行以下命令,让 udev 规则生效:
sudo udevadm control --reload-rules
sudo udevadm trigger
- 重新启动 ADB 服务器
sudo adb kill-server
adb start-server
- 检查是否连接成功
adb devices
- 将文件从 PC 传输到板子上
adb push install/rk3588_linux_aarch64/* /userdata/aidemo/
在板子上安装所需要的库
- 连接板子,打开系统
sudo apt update
sudo apt install libopencv-dev python3-opencv
- 尝试运行 rknn_yolov8_cam,后出现这样的错误
./rknn_yolov8_cam
./rknn_yolov8_cam: error while loading shared libraries: libopencv_core.so.4.5: cannot open shared object file: No such file or directory
- 解决办法:配置软连接
sudo ln -s /usr/lib/aarch64-linux-gnu/libopencv_core.so.4.5d /usr/lib/aarch64-linux-gnu/libopencv_core.so.4.5
sudo ln -s /usr/lib/aarch64-linux-gnu/libopencv_flann.so.4.5d /usr/lib/aarch64-linux-gnu/libopencv_flann.so.4.5
sudo ln -s /usr/lib/aarch64-linux-gnu/libopencv_videoio.so.4.5d /usr/lib/aarch64-linux-gnu/libopencv_videoio.so.4.5
sudo ln -s /usr/lib/aarch64-linux-gnu/libopencv_video.so.4.5d /usr/lib/aarch64-linux-gnu/libopencv_video.so.4.5
sudo ln -s /usr/lib/aarch64-linux-gnu/libopencv_highgui.so.4.5d /usr/lib/aarch64-linux-gnu/libopencv_highgui.so.4.5
sudo ln -s /usr/lib/aarch64-linux-gnu/libopencv_imgcodecs.so.4.5d /usr/lib/aarch64-linux-gnu/libopencv_imgcodecs.so.4.5
sudo ln -s /usr/lib/aarch64-linux-gnu/libopencv_imgproc.so.4.5d /usr/lib/aarch64-linux-gnu/libopencv_imgproc.so.4.5
- 更新软连接
sudo ldconfig
- 重新运行 rknn_yolov8_cam
./rknn_yolov8_cam
最终的结果为:
👍
💖
💯
💦
😄
🪙
👍
💖
💯
💦
😄
🪙
博主
洗子 @周松松博客感谢您的鼓励!
👍
💖
💯
💦
😄
🪙