RV1109 EVB板的使用流程
开发板型号:RV1126_RV1109_EVB_DDR3P216SD6_V12_20200515KYY
拿到板子后首先对SDK包进行编译,环境VMware:ubuntu16.04
打开终端(Ctrl+Alt+T): tar -zxvf rv1126_rv1109.tgz
sudo ./build.sh
可能会出现:
0. default BoardConfig.mk
1. BoardConfig-38x38-spi-nand.mk
2. BoardConfig-ab-v13.mk
3. BoardConfig-battery-ipc.mk
4. BoardConfig-facial_gate.mk
5. BoardConfig-robot.mk
6. BoardConfig-sl.mk
7. BoardConfig-slc-nand-v12.mk
8. BoardConfig-spi-nand.mk
9. BoardConfig-spi-nor-tb-v13.mk
10. BoardConfig-spi-nor-v12.mk
11. BoardConfig-tb-v12.mk
12. BoardConfig-tb-v13.mk
13. BoardConfig-v10-v11.mk
14. BoardConfig-v12.mk
15. BoardConfig.mk Which would you like? [0]:
根据开发板的型号选择对应的.mk文件,若出现报错,需要多执行几次sudo ./build.sh 或重启ubuntu后执行sudo ./build.sh即可。
SDK编译结束后,可打开文件夹查看rockdev里的镜像文件,若存在如下图片可执行后续操作。
用数据线连接EVB板的OTG接口与PC,连接虚拟机,打开SDK文件夹,找到/tools/linux/Linux_Upgrade_Tool,进入Linux_Upgrade_Tool文件夹,打开终端执行:
sudo ./upgrade_tool会出现下图,输入1进入rockusb模式
Rockusb>uf update.img即可进行文件镜像烧录
烧录完成,对环境进行配置:
创建虚拟环境
conda create -n rk_env python=3.6
source activate rk_env
安装pip3
sudo apt-get install python3-pip
进入SDK包:cd external/rknn-toolkit/packages
pip3 install tensorflow==1.11.0 # tensorflow CPU版本
pip3 install mxnet==1.5.0
pip3 install torch==1.2.0 torchvision==0.4.0
pip3 install opencv-python
pip3 install gluoncv
pip install rknn_toolkit-1.6.0-cp36-cp36m-linux_x86_64.whl
检查是否安装成功
python3
from rknn.api import RKNN
若导入模块没有失败,则安装成功,在电脑上进行仿真
cd examples/tflite/mobilenet_v1
python3 test.py
在开发板的NPU上运行该程序
adb devices
cd examples/tflite/mobilenet_v1
修改test.py脚本里的config参数和init_runtime参数
vim test.py或gedit test.py
把rknn.config(channel_mean_value='128 128 128 128', reorder_channel='0 1 2')
修改成rknn.config(channel_mean_value='128 128 128 128', reorder_channel='0 1 2', target_platform=['rv1126'])
把ret = rknn.init_runtime()
修改为ret = rknn.init_runtime(target='rv1126', device_id='xxx')#id='xxx'是设备编号,可通过adb devices查找
python3 test.py
安装交叉编译器
下载gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf
移动安装包至/home/xxx
解压安装包至/home/xxx/gcc目录中(此处xxx指用户名,请根据自身情况修改)
sudo tar -xvf /home/xxx/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf.tar.xz -C /home/xxx/gcc
# 解压完成后,执行下述命令,添加环境变量
vim ~/.bashrc
# 在最后添加路径
export PATH="/home/xxx/gcc/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin:$PATH"
使用source命令重新加载生效该配置文件
source ~/.bashrc
查看安装是否成功
arm-linux-gnueabihf-gcc -v
修改路径回到rv1126_rv1109/external/rknpu/rknn/rknn_api/examples/rknn_mobilenet_demo目录下,打开并修改build.sh文件,操作如下:
注释 # for rk1808 aarch64 下面的GCC_COMPILER=~/opts/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu
在# for rv1109/rv1126 armhf下面路径修改如下
把模型push到板子上
adb shell
cd userdata
mkdir -p examples/rknn_mobilenet_demo
adb push install/rknn_mobilenet_demo /userdata/examples/rknn_mobilenet_demo/
运行
adb shell
cd userdata/examples/rknn_mobilenet_demo
./rknn_mobilenet_demo model/mobilenet_v1_rv1109_rv1126.rknn model/dog_224x224.jpg
交叉编译工具可参考https://blog.csdn.net/weixin_44014740/article/details/114978872?spm=1001.2014.3001.5502