开发板官网:https://sophon.cn/product/introduce/edb.html
官方教程:https://sophon-edge.gitbook.io/project/overview/edge-tpu-developer-board 。但是该教程有一些细节地方没有描述清楚,现在一步步手把手教程。
笔者手里拿到一块最新BM1880边缘开发板。根据官网介绍,该开发板介绍如下
Processor | Sophon BM1880 |
System Memory | LPDDR4 1GB |
Flash Memory | 8GB eMMC + micro SD card slot |
Connectivity | Gigabit Ethernet(RJ-45), Wi-Fi, Bluetooth |
USB | USB 3.0 x 3 (support camera, U-disk..etc) |
I/O Expansion | 40-pin 96Boards low-speed expansion header |
Audio | I2S x 2 (included in 40-pin header) |
H.264 decoder, MJPEG encoder/decoder | 1x 1080p @60fps or 2x 1080p @30fps H.264 decoder, 75fps for FHD images |
该教程目的:在USB模式下,Edge Developer Board(EDB)作为USB设备角色,BMNNSDK安装在X86主机上,并调用EDB的计算进行深度学习,环境要求如下。
前期准备:
1.电脑(带usb端口的X86_64主机)
Bitmain SophonTM Edge开发板(EDB)
操作系统:Ubuntu * 16.04操作系统
2.下载工具
官方sdk和交叉工具编译链都放在github上,所以在github上可以下载
下载官方usb sdk
git clone https://github.com/BM1880-BIRD/bm1880-bmnnsdk-usb.git
下载官方交叉编译工具链
请到官网下载:https://www.sophon.cn/drive/36.html
3.执行以下命令安装包
sudo apt-get install libgoogle-glog-dev libboost-all-dev libprotobuf-dev libusb-1.0-0-dev
4.安装usb 工具
进入相关安装目录,本教程按照1.0.3.1版本来安装,其他版本请笔者行者脑补。
cd bm1880-bmnnsdk-usb
//其他版本请自行脑补
cd bmtap2-bm1880-usb_1.0.3.1
找到install.sh文件,请执行以下安装
sudo ./install.sh
5.将开发板DIP开关设置为位[1:8] = 11000001,以配置usb端口在设备模式下工作。
6.基本功能测试
Basic函数测试使用网络模型和数据包含在神经网络推理的安装包中,测试结果将输出到当前目录的out子目录,请确保用户具有当前目录的写权限。
进入usb sdk源码目录下 test,找到test_bmnet.sh文件
进行环境变量配置
source test_bmnet.sh
之后会输出
按照以下图示插上USB线,
然后执行
run_test_bmnet_bm1880
如果以上配置成功后,会显示以下数据
有部分Ubuntu执行test_bmnet.sh出现找不到libprotobuf.so.9动态库,请参考以下教程解决
原因:缺少安装protobuf库
1.请到github https://github.com/protocolbuffers/protobuf release分支下载protobuf-2.6.0版本
2.解压后执行以下操作
./autogen.sh
./configure --prefix=/usr/local/protobuf
make
make check
3.然后在查找protobuf-2.6.0->src->.libs下libprotobuf.so.9文件
4.复制该动态库到/usr/local/lib文件夹下。
5.修改ld.so.conf文件,添加一行
/usr/local/lib
6.保存退出该文件,然后执行
ldconfig
这样子可以解决缺少动态库。