【北京迅为】itop-3562开发板在Linux系统中使用NPU
3.1 在 Linux 系统中使用 NPU
下载 rknpu2 并拷贝到虚拟机 Ubuntu,如下图所示, RKNPU2 提供了访问 RK3562 芯片
NPU 的高级接口。
下载地址为“iTOP-RK3562 开发板\02_【iTOP-RK3562 开发板】开发资料\12_NPU 使用配套
资料\01_rknpu2 工具”
对于 RK3562 来说,Linux 平台 RKNN SDK 库文件为 librknnrt.so,如下图所示:
RK3562 平台 RKNN SDK 包含了 API 使用示例程序、NPU 运行库、服务程序、文档。
服务程序称为 rknn_server,是在开发板上常驻的服务进程,用于连板推理。在 RKNN SDK
中提供了 Linux 平台的 MobileNet 图像分类、SSD 目标检测、YOLOv5 目标检测示例。这些
Demo 能够为客户基于 RKNN SDK 开发自己的 AI 应用提供参考。
在 rknpu2/examples 中还有很多其他例子,如下图所示:
下面以 rknpu2/examples 下的 rknn_yolov5_demo 在 RK3562 Linux 64 位平台(buildroot
系统)上运行为例,来讲解如何快速上手运行。整体思路分为三步:
1 在虚拟机Ubuntu20.04上交叉编译 demo程序 rknn_yolov5_demo(demo已经默认是rknn,
无需进行模型转换)
2 部署到 iTOP-RK3562 开发板
3 在开发板上运行 demo
3.1.1 设置交叉编译器
1 安装 gcc 交叉编译器,
编译器下载地址是网盘资料“iTOP-3562 开发板\02_【iTOP-RK3562 开发板】开发资料
\12_NPU 使用配套资料\03_编译所需工具\Linux”。
拷贝 gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.gz 到 Ubuntu 的/opt/目录下,
这里拷贝的路径要和作者保持一致,后面要用到交叉编译器的绝对路径。
2 解压交叉编译器压缩包
tar -vxf gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.gz
解压后如下图所示:
解压完成后备用!
3.1.2 修改编译工具路径
1 因为此章节以 rknn_yolov5_demo 在 RK3562 Linux 64 位平台上运行为例,所以修改
examples/rknn_yolov5_demo/build-XXX.sh 的编译工具路径,
2 修改 build-linux_RK3562.sh 文件,将 TOOL_CHAIN 修改为
gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu 的解压路径并保存修改文件,如下图所示。
TOOL_CHAIN=/opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu
GCC_COMPILER=$TOOL_CHAIN/bin/aarch64-none-linux-gnu
3.1.3 更新 RKNN 模型
RKNN 是 Rockchip NPU 平台(也就是开发板)使用的模型类型,是以.rknn 结尾的模型文件。
RKNN SDK 提 供 的 demo 程 序 中 默 认 自 带 了 RKNN 模 型 , 在 RKNN SDK 的
examples/rknn_yolov5_demo/model/RK3562/目录下,
如使用自己的模型需要转换成 rknn 模型,转换方法可以参考第 5 章节。
在得到 RKNN 模型之后,demo 程序使用 C 接口在 RK3562 平台开发应用,
3.1.4 编译 demo
1 在终端命令窗口进入 rknn_yolov5_demo 文件夹,输入以下命令:
3.1.4 编译 demo
1 在终端命令窗口进入 rknn_yolov5_demo 文件夹,输入以下命令:
3 编译完成之后,编译好的程序一般放在 install 目录,
4 网 盘 中 也 提 供 了 编 译 好 的 Demo , 可 以 在 网 盘 资 料 资 料 “iTOP-3562 开 发 板 \02_
【iTOP-RK3562 开发板】开发资料\12_NPU 使用配套资料\02_NPU demo\Linux”下载。
3.1.5 开发板运行 demo
1 把编译好的程序 rknn_yolov5_demo_Linux 通过 U 盘拷贝到开发板的根目录上,开发板上要
烧写 linux 系统(buildroot)。
2 进入程序所在的目录,输入以下命令:
cd /rknn_yolov5_demo_Linux
3 运行程序来识别相应的图片中物体,输入以下命令:
./rknn_yolov5_demo ./model/RK3562/yolov5s-640-640.rknn ./model/bus.jpg
4 运行完生成结果图片 out.jpg,
5 在 windows 下查看 out.jpg,如下图所示:
主要参数:
CPU:RK3562
主频:四核ARM Cortex-A53处理器 2.0GHz
内存:2GB,硬件兼容8GB
存储器:16GB EMMC
电源管理芯片:使用RK809
GPU:ARM Mali-G52 OpenGL ES 1.1/2.0/3.2, OpenCL 2.0, Vulkan 1.1
NPU:支持1T算力
多媒体:H.264解码1080p@60fps,H.265解码4K@30fps,H.264编码1080p@60fps
显示,支持MIPI、LVDS、RGB屏幕
核心板参数:
核心板尺寸:4.5*4.5cm
核心板高度:1.5mm
连接器型号:80pin AXK5F80347YG AXK6F80347YG 0.5mm
连接器高度:1.5mm
工作温度:-20℃到+60 ℃
供电参数:最小3.8V,最大4.2V,标准4V
引脚扩展:引出脚多达 240 个,满足用户各类扩展需求
核心板接口资源:
USB2.0:2路,USB2.0 Host 独立端口,与 USB3.0 不复用。
USB3.0:1,1 路 USB 3.0 Host
SPI :≤3,可配置主从模式
I2C:≤6,支持 7bits 和 10bits 地址模式,速率可达 400K bits/s
UART:≤10,支持的波特率可达4Mbp
Audio :3x I2S/PCM/TDM,2x SPDIF(8ch),8ch PDM
PWM:≤16,支持 16 通道 PWM, 32bits 定时器/计数器
TSADC:≤2,-20~120°C
SARADC:≤16,16 个单端输入通道
MIPI_DSI:1 ,1 个 4-lane MIPI 显示串行接口,支持 MIPI V1.2
MIPI_CSI :≤4,2个 4-lane MIPI-CSI 或者4个2-lane MIPI-CSI
LVDS:1,1个4-lane lvds显示接口,800x1280@60Hz
RGB :1 ,支持RGB 888,最大分辨率2048x1080@60Hz
Ethernet:≤2,支持 1 路 10/100/1000 Mbps data RGMII接口,支持 1 路10/100 Mbps data RMII 接口
SDIO:SDIO3.0,4-bit
底板参数:
尺寸:190mm*110mm
POWER:直流电源输入接口(12V供电)
SWITCH:电源开关
网口:1路千兆工业级以太网,RJ45 接口
WIFI蓝牙:支持
4G/5G模块:支持(选配)
SIM卡槽:1个
TF卡槽:1个
MIPI CAMERA:2路MIPI CSI接口
SARADC:3路
GPIO:1路
232-UART:1路(调试串口)
USB2.0:2路
USB3.0:1路
RGB:1路
RTC :实时时钟
MIPI-TX:1路
LVDS :1路
PHONE:支持耳机输出
MIC:支持MIC输入
独立按键:7个
软件参数:
系统支持:Android13 、Debian11、Buildroot、Ubuntu22
Uboot 版本:2017.09 版本
内核版本:5.10 版本
全部0条评论
快来发表一下你的评论吧 !