【北京迅為】itop-3562開發(fā)板在Linux系統(tǒng)中使用NPU
3.1 在 Linux 系統(tǒng)中使用 NPU
下載rknpu2并拷貝到虛擬機(jī)Ubuntu,如下圖所示,RKNPU2提供了訪問RK3562芯片
NPU的高級接口。
下載地址為“iTOP-RK3562開發(fā)板\02_【iTOP-RK3562開發(fā)板】開發(fā)資料\12_NPU使用配套
資料\01_rknpu2工具”
對于RK3562來說,Linux平臺RKNN SDK庫文件為librknnrt.so,如下圖所示:
RK3562平臺RKNN SDK包含了API使用示例程序、NPU運(yùn)行庫、服務(wù)程序、文檔。
服務(wù)程序稱為rknn_server,是在開發(fā)板上常駐的服務(wù)進(jìn)程,用于連板推理。在RKNN SDK
中提供了Linux平臺的MobileNet圖像分類、SSD目標(biāo)檢測、YOLOv5目標(biāo)檢測示例。這些
Demo能夠?yàn)榭蛻艋赗KNN SDK開發(fā)自己的AI應(yīng)用提供參考。
在rknpu2/examples中還有很多其他例子,如下圖所示:
下面以rknpu2/examples下的rknn_yolov5_demo在RK3562 Linux 64位平臺(buildroot
系統(tǒng))上運(yùn)行為例,來講解如何快速上手運(yùn)行。整體思路分為三步:
1在虛擬機(jī)Ubuntu20.04上交叉編譯demo程序rknn_yolov5_demo(demo已經(jīng)默認(rèn)是rknn,
無需進(jìn)行模型轉(zhuǎn)換)
2部署到iTOP-RK3562開發(fā)板
3在開發(fā)板上運(yùn)行demo
3.1.1 設(shè)置交叉編譯器
1安裝gcc交叉編譯器,
編譯器下載地址是網(wǎng)盤資料“iTOP-3562開發(fā)板\02_【iTOP-RK3562開發(fā)板】開發(fā)資料
\12_NPU使用配套資料\03_編譯所需工具\(yùn)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因?yàn)榇苏鹿?jié)以rknn_yolov5_demo在RK3562 Linux 64位平臺上運(yùn)行為例,所以修改
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平臺(也就是開發(fā)板)使用的模型類型,是以.rknn結(jié)尾的模型文件。
RKNN SDK提 供 的demo程 序 中 默 認(rèn) 自 帶 了RKNN模 型 , 在RKNN SDK的
examples/rknn_yolov5_demo/model/RK3562/目錄下,
如使用自己的模型需要轉(zhuǎn)換成rknn模型,轉(zhuǎn)換方法可以參考第5章節(jié)。
在得到RKNN模型之后,demo程序使用C接口在RK3562平臺開發(fā)應(yīng)用,
3.1.4 編譯 demo
1在終端命令窗口進(jìn)入rknn_yolov5_demo文件夾,輸入以下命令:
3.1.4 編譯 demo
1在終端命令窗口進(jìn)入rknn_yolov5_demo文件夾,輸入以下命令:
3 編譯完成之后,編譯好的程序一般放在install目錄,
4網(wǎng) 盤 中 也 提 供 了 編 譯 好 的Demo, 可 以 在 網(wǎng) 盤 資 料 資 料“iTOP-3562開 發(fā) 板\02_
【iTOP-RK3562開發(fā)板】開發(fā)資料\12_NPU使用配套資料\02_NPU demo\Linux”下載。
3.1.5 開發(fā)板運(yùn)行 demo
1把編譯好的程序rknn_yolov5_demo_Linux通過U盤拷貝到開發(fā)板的根目錄上,開發(fā)板上要
燒寫linux系統(tǒng)(buildroot)。
2進(jìn)入程序所在的目錄,輸入以下命令:
cd /rknn_yolov5_demo_Linux
3運(yùn)行程序來識別相應(yīng)的圖片中物體,輸入以下命令:
./rknn_yolov5_demo ./model/RK3562/yolov5s-640-640.rknn ./model/bus.jpg
4運(yùn)行完生成結(jié)果圖片out.jpg,
5在windows下查看out.jpg,如下圖所示:
主要參數(shù):
CPU:RK3562
主頻:四核ARM Cortex-A53處理器2.0GHz
內(nèi)存: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屏幕
核心板參數(shù):
核心板尺寸:4.5*4.5cm
核心板高度:1.5mm
連接器型號:80pin AXK5F80347YG AXK6F80347YG 0.5mm
連接器高度:1.5mm
工作溫度:-20℃到+60℃
供電參數(shù):最小3.8V,最大4.2V,標(biāo)準(zhǔn)4V
引腳擴(kuò)展:引出腳多達(dá) 240個(gè),滿足用戶各類擴(kuò)展需求
核心板接口資源:
USB2.0:2路,USB2.0 Host獨(dú)立端口,與USB3.0不復(fù)用。
USB3.0:1,1路USB 3.0 Host
SPI:≤3,可配置主從模式
I2C:≤6,支持7bits和10bits地址模式,速率可達(dá)400K bits/s
UART:≤10,支持的波特率可達(dá)4Mbp
Audio:3x I2S/PCM/TDM,2x SPDIF(8ch),8ch PDM
PWM:≤16,支持16通道PWM,32bits定時(shí)器/計(jì)數(shù)器
TSADC:≤2,-20~120°C
SARADC:≤16,16個(gè)單端輸入通道
MIPI_DSI:1,1個(gè)4-lane MIPI顯示串行接口,支持MIPI V1.2
MIPI_CSI:≤4,2個(gè)4-lane MIPI-CSI或者4個(gè)2-lane MIPI-CSI
LVDS:1,1個(gè)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
底板參數(shù):
尺寸:190mm*110mm
POWER:直流電源輸入接口(12V供電)
SWITCH:電源開關(guān)
網(wǎng)口:1路千兆工業(yè)級以太網(wǎng),RJ45接口
WIFI藍(lán)牙:支持
SIM卡槽:1個(gè)
TF卡槽:1個(gè)
MIPI CAMERA:2路MIPI CSI接口
SARADC:3路
GPIO:1路
232-UART:1路(調(diào)試串口)
USB2.0:2路
USB3.0:1路
RGB:1路
RTC :實(shí)時(shí)時(shí)鐘
MIPI-TX:1路
LVDS :1路
PHONE:支持耳機(jī)輸出
MIC:支持MIC輸入
獨(dú)立按鍵:7個(gè)
軟件參數(shù):
系統(tǒng)支持:Android13、Debian11、Buildroot、Ubuntu22
Uboot版本:2017.09版本
內(nèi)核版本:5.10版本
-
Linux
+關(guān)注
關(guān)注
87文章
11292瀏覽量
209318 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5032瀏覽量
97371 -
NPU
+關(guān)注
關(guān)注
2文章
279瀏覽量
18582
發(fā)布評論請先 登錄
相關(guān)推薦
評論