完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
RV1109_RV1126型号EVB板使用说明
由于最近在做有关开发板的相关工作,苦于网络上关于RV1126型号的相关资料太少,且之前从来没有接触过嵌入式等相关内容,故在踩了无数坑之后总结如下,希望能够帮助到有需要的新手朋友们(高手大可不必!!!)。 一、Windows系统安装adb串口调试 首先,对于RV1126型号开发板来说,最首先的任务是能够进入到开发板内部的系统之内,才能更好的方便之后的算法部署等开发工作。 基于上述原因,具体步骤如下: # 下载安装adb相关文件,并将开发板与PC主机通过USB相连 # 进入cmd命令 # 进入adb所在目录,执行下述命令 cd adb adb shell 通过上述,即可顺利进入RV1126开发板系统内部(也可通过linux终端进入),之后可根据需求利用linux命令在开发板内部快乐的遨游!!! 二、RV1126开发板SDK编译 2.1 在PC端安装ubuntu16.04 其他版本的ubuntu系统应该也可以,由于相关文档推荐,故采用了ubuntu16.04系统,大家也可以尝试其他更新的系统进行测试。 2.2 解压SDK源码 关于SDK的获取这里不再介绍,大家可以从官方渠道获取。当获取到SDK包后,可打开ubuntu的终端,按步骤进行如下操作。 # 解压RV1126开发板SDK源码 mkdir rv_1126_rv1109 tar xjf rv1126_rv1109_linux_sdk_v1.0.0_20200616.tar.bz2 -C rv1126_rv1109 cd rv1126_rv1109 .repo/repo/repo sync -l .repo/repo/repo sync -c 2.3 安装相关依赖 在解压完成后,需要进行编译环境的搭建,并进行相关依赖库的安装。 sudo apt-get install repo git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler gcc-aarch64-linux-gnu mtools parted libudev-dev libu***-1.0-0-dev python-linaro-image-tools linaro-image-tools autoconf autotools-dev libsigsegv2 m4 intltool libdrm-dev curl sed make binutils build-essential gcc g++ bash patch gzip gawk bzip2 perl tar cpio python unzip rsync file bc wget libncurses5 libqt4-dev libglib2.0-dev libgtk2.0-dev libglade2-dev cvs git mercurial rsync openssh-client subversion asciidoc w3m dblatex graphviz python-matplotlib libc6:i386 libssl-dev expect fakeroot cmake 2.4 编译RV1126开发板SDK 方式1:进行全自动编译(包括U-BOOT、Kernal、Buildroot、Recovery编译) sudo ./build.sh all 注:第一次编译会花费很多时间,尽可能保持网络畅通 方式2:分别进行编译 sudo ./build.sh uboot # U-BOOT编译 sudo ./build.sh kernel # Kernal编译 sudo ./build.sh buildroot # Buildroot编译 sudo ./build.sh recovery # Recovery编译 注:在编译完成后可进行板子的固件烧录,由于我拿到的开发板是已经烧录好的,故没有进行具体的烧录工作。 三、安装RKNN-Toolkit工具包 由于这块板子后续需要进行相关算法的部署,在查阅了相关资料以及开发文档后,选择安装RKNN-Toolkit安装包,为后续的算法部署打好基础。 3.1 在ubuntu16.04上操作 3.2 创建rk_env环境 # 通过anaconda3创建rk_env环境,方便管理该python版本下的环境 conda create -n rk_env python=3.6.6 source activate rk_env 3.3 安装pip3 # 由于在创建环境时anaconda默认安装了pip,直接使用也可以 sudo apt-get install python3-pip 3.4 获取RKNN-Toolkit安装包 # 进入SDK包内external/rknn-toolkit/packages cd packages/ # 安装python相关依赖 pip3 install tensorflow-gpu==1.11.0 # tensorflow GPU版本 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 # 安装RKNN-Toolkit pip install rknn_toolkit-1.4.0-cp36-cp36m-linux_x86_64.whl # 检查RKNN-Toolkit是否安装成功 python3 from rknn.api import RKNN # 如果导入模块没有失败,说明安装成功 四、在PC上仿真运行实例 在安装完rknn工具包后,可通过SDK中的相关demo进行测试,此部分主要是利用PC的CPU 以及rknn环境进行测试。 # 进入examples/tflite/mobilenet_v1目录 cd .. cd /examples/tflite/mobilenet_v1 # 执行test.py脚本 python3 test.py 图1 mobilenet_v1结果图 图2 mobilenet_v1网络层运行时间 五、在RV1126开发板上运行实例 此部分将RV1126开发板连接至PC端,利用PC平台进行开发板的模型算法测试,此处利用的是开发板上的NPU。 # 查询RV1126开发板的设备编号 # 将RV1126通过USB连接到PC上,查看设备编号 adb devices # 进入examples/tflite/mobilenet_v1目录 cd examples/tflite/mobilenet_v1 # 修改test.py脚本里的config参数和init_runtime参数 vim test.py # 找到脚本里调用模型配置接口 config 的地方,如下: rknn.config(channel_mean_value='128 128 128 128', reorder_channel='0 1 2') # 注意,channel_mean_value的值默认初始值,不需要修改 # 修改该接口的参数 rknn.config(channel_mean_value='128 128 128 128', reorder_channel='0 1 2', target_platform=['rv1126']) # 找到脚本里初始化环境变量的方法 init_runtime,如下: ret = rknn.init_runtime() # 修改该方法的参数 ret = rknn.init_runtime(target='rv1126', device_id='xxx') # 这里的xxx填之前找到的设备编号 # 保存修改并退出 # 执行test.py脚本 python3 test.py 图3 mobilenet_v1结果图 六、将模型文件上传至板子上运行 此处是将写好的模型算法push到开发板上,通过adb调试进入板子系统内部进行算法的运行,与上述两种测试有本质上的不同。 6.1 安装交叉编译器 # 下载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 6.2 修改gcc编译路径 回到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下面路径修改如下 图4 修改路径图片 6.3 build编译模型 在rv1126_rv1109/external/rknpu/rknn/rknn_api/examples/rknn_mobilenet_demo目录下,执行如下命令: ./build.sh 6.4 将模型push到RV1126开发板上 adb shell cd userdata mkdir -p examples/rknn_mobilenet_demo adb push install/rknn_mobilenet_demo /userdata/examples/rknn_mobilenet_demo/ 6.5 在RV1126上运行模型 adb shellcd userdata/examples/rknn_mobilenet_demo./rknn_mobilenet_demo model/mobilenet_v1_rv1109_rv1126.rknn model/dog_224x224.jpg 图5 运行结果 七、yolo3测试 7.1 基于PC测试 # 激活环境 source activate rk_env # 打开yolov3根目录 cd rv1126_rv1109/external/rknn-toolkit/examples/darknet/yolov3/ # 安装matplotlib库(已有则忽略) pip install matplotlib # 运行yolo3测试文件 python3 test.py 图6 运行结果 7.2 基于PC-RV1126测试 # 激活环境 source activate rk_env # 打开yolov3根目录 cd rv1126_rv1109/external/rknn-toolkit/examples/darknet/yolov3/ # 修改test.py文件参数 # 找到脚本里调用模型配置接口 config 的地方,如下: 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']) # 找到脚本里初始化环境变量的方法 init_runtime,如下: ret = rknn.init_runtime() # 修改该方法的参数 ret = rknn.init_runtime(target='rv1126', device_id='xxx') # xxx为设备编号 # 保存修改并退出 # 运行yolo3测试文件 python3 test.py 图7 运行结果 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1842 浏览 1 评论
synopsys 的design ware:DW_fpv_div,浮点数除法器,默认32位下,想提升覆盖率(TMAX),如果用功能case去提升覆盖率呢?
2298 浏览 1 评论
RK3588 GStreamer调试四路鱼眼摄像头四宫格显示报错
5115 浏览 1 评论
【飞凌嵌入式OK3576-C开发板体验】RKNN神经网络-YOLO图像识别
254 浏览 0 评论
【飞凌嵌入式OK3576-C开发板体验】SSH远程登录网络配置及CAN通讯
1336 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 15:13 , Processed in 0.947516 second(s), Total 73, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号