本文将介绍香橙派4B在Linux系统下使用NPU的方法:
1、烧写固件
烧录固件为:OrangePi_4_ubuntu_bionic_desktop_linux4.4.179_NPU_v1.0.img
此固件已经安装opencv3.2
烧录方法:可参考用户手册“Linux固件烧录章节”
2、开发板操作
请将烧写了固件的SD卡插入OrangePi 4B并连接鼠标和键盘,然后上电开机。
首先参考用户手册方法扩容,避免空间不足引起问题。
Linux SDK已经放到orangepi用户主目录
cd /home/orangepi/GTISDK-Linux_aarch64_v4.5.1.0

目录结构说明
GTISDK-Linux_aarch64_v4.5.1.0
├── Apps
│   ├── Data                 存放视频素材文件目录
│   ├── Demo       Linux平台Demo测试程序
│   ├── liteDemo             liteDemo测试程序
│   ├── Models                存放神经网络模型文件目录
│   ├── PipelineDemo
│   └── Python               python测试源码
├── Bin
│   └── Linux
├── Build
│   ├── aarch64_cross.env     环境配置文件
│   └── GTISDK.env
├── data
│   ├── Image_Lite               
│   └── Models
├── Documents
│   ├── GTI2801-2803-5801_SDK_v4.5.1.0.pdf
│   └── GTI5801_Firmware_Release_Notes.pdf
├── End_User_License_Agreement.pdf
├── Firmware
│   └── 5801
├── Include
│   ├── GTILib.h                GTI相关头文件
│   └── GtiLog.h
├── Lib
│   └── Linux                   GTI相关的库文件
├── Python
│   ├── Lib
│   ├── README_release.txt
│   └── Samples
├── README.txt
├── Samples
│   └── Sample
├── SourceMe.env                    环境配置文件
├── Terms_of_Service.pdf
├── Thirdparty
│   ├── download
│   ├── libusb
│   ├── libusb-aarch64
│   ├── libusb-android
│   └── libusb-armv7l
├── Third_Party_Terms_and_Open_Source_Terms.pdf
└── Tools                                 
    ├── eusbTool                  GTI提供的测试工具
    ├── hwTool
    ├── imageTool
    ├── modelTool
    └── usbTool
36 directories, 12 files
3、编译及运行
1)切换到root用户
$ su
2)确定NPU设备节点存在
$ ls /dev/sg*
/dev/sg0
3)SDK的编译环境检测和环境配置
source SourceMe.env

4)编译Demo
cd Apps/Demo
make
5)运行Demo
rm /dev/mmcblk1               删除mmcblk1节点
./demo
slideshow ../Models/2801/gti_gnet3_fc20_2801.model ../Data/Image_bmp_c20/
demo1.png
窗口左上角会显示出正确的识别结果
6)编译liteDemo
cd Apps/liteDemo
make
7)运行liteDemo
./liteDemo  ../Models/2801/gti_gnet3_fc20_2801.model ../Data/Image_lite/bridge_c20.bin
deomo2.png