【北京迅为】itop-3562开发板在Linux系统中使用NPU

描述

【北京迅为】itop-3562开发板在Linux系统中使用NPU

 

 

 

3.1 在 Linux 系统中使用 NPU 

下载 rknpu2 并拷贝到虚拟机 Ubuntu,如下图所示, RKNPU2 提供了访问 RK3562 芯片 

NPU 的高级接口。

Linux

 

下载地址为“iTOP-RK3562 开发板\02_【iTOP-RK3562 开发板】开发资料\12_NPU 使用配套 

资料\01_rknpu2 工具” 

对于 RK3562 来说,Linux 平台 RKNN SDK 库文件为 librknnrt.so,如下图所示:

Linux

RK3562 平台 RKNN SDK 包含了 API 使用示例程序、NPU 运行库、服务程序、文档。 

服务程序称为 rknn_server,是在开发板上常驻的服务进程,用于连板推理。在 RKNN SDK 

中提供了 Linux 平台的 MobileNet 图像分类、SSD 目标检测、YOLOv5 目标检测示例。这些 

Demo 能够为客户基于 RKNN SDK 开发自己的 AI 应用提供参考。 

在 rknpu2/examples 中还有很多其他例子,如下图所示:

 

 

Linux

 

下面以 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 

解压后如下图所示: 

Linux

 

 

解压完成后备用! 

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

Linux

 

4 运行完生成结果图片 out.jpg,

5 在 windows 下查看 out.jpg,如下图所示:

Linux

 

 

 

 

主要参数:

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 版本

 

 

 

Linux

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分