寒武纪MLU220在ARM平台上的使用

本文主要讲述MLU220在ARM平台EMA IVP220_A3边缘端的使用,包括环境搭建,交叉编译和运行程序实例等。
 

简要介绍

IVP220 是英码科技推出的一套以寒武纪 MLU220 处理器为核心设计的智能 NVR 方案主板,内 置 NPU 算力高达 16Tops,由 4 个 A55 构建的 4 核 CPU,支持 caffe、TensorFlow、mxnet、 pytorch 等深度学习框架。IVP220 模组的视频处理性能优越,支持 H264、H265、VP8、VP9 编解 码,解码最大可支持 16 路 1080@30p,编码最大可支持 8 路 1080@30p 等。

主板提供丰富的接口资源,如wifi/usb3.0/HDMI等,参考如下图示。

   
                                                                       产品外观图

资源图解:

正面

    

背面

    


应用领域

可基于 IVP220 主板设计智能 NVR 设备,应用于智能安防、智慧交通、无人超市、智慧社区、智慧楼宇、电力安全等领域中。

 

环境搭建

将IVP220用12v电源适配器接入到开关电源,并用type-c线连接到主机端,以便于后面调试,硬件连接如下图所示:

 

使用EMA官方提供的串口驱动程序CH340SER.EXE 安装在windows主机中,这里使用putty工具打开IVP220串口。windows主机中查看设备管理器中显示的串口号,波特率设置为115200,参考下图信息设置,然后打开进入串口。

  


出现这个界面说明串口设置OK。此时可使用cnmon命令检查下系统安装的mlu220驱动。默认已经安装好驱动和cntoolkit。

 


交叉编译

准备一台已经安装好ubuntu18.04系统的主机,这里使用远程登录工具putty进入到系统。可以从FTP服务器上下载交叉编译工具链,sample例程,以及上面所提到的串口驱动程序,联系barret.bi@wpi-group.com获取。



确认ubuntu主机中安装有cmake,若无,可以使用sudo apt intall cmake进行安装。解压IVP02D-cross_compile.zip和prj_220_arm.tar.gz。进入到prj_220_arm目录下,在CMakeLists.txt中指定交叉编译器所在路径,这里的路径参考如下:

 

使用vi打开app目录下的main.cpp,修改测试程序如下

 

因为IVP220 系统中没有提供GTK图形界面,所以这里选择test_ssd_threads_batch()模型程序进行测试。
修改完成后再交叉编译:
执行命令cd build && cmake .. && make
编译成功结果如下:

 

最后,将编译好的prj_220_arm打包prj_220_arm-test.tar.gz,拷贝到IVP220上运行:
tar -zcvf prj_220_arm-test.tar.gz prj_220_arm

 

运行模型

切换到上面准备好的串口窗口,挂载u盘到系统中,操作如下:

mkdir /cambricon/prj-arm

mkdir /cambricon/mnt

mount /dev/sda1 /cambricon/mnt

 

解压prj_220_arm-test.tar.gz到/cambricon/prj-arm目录下

tar -zxvf /cambricon/mnt/prj_220_arm-test.tar.gz -C /cambricon/prj-arm

设置第三方库到环境变量:

export LD_LIBRARY_PATH=/cambricon/prj-arm/prj_220_arm/3rd/opencv/lib34:/cambricon/prj-arm/prj_220_arm/3rd/opencv/lib:/cambricon/prj-arm/prj_220_arm/3rd/cncv/lib:/cambricon/prj-arm/prj_220_arm/3rd/cambricon/lib:$LD_LIBRARY_PATH

 

运行模型:

cd /cambricon/prj-arm/prj_220_arm/build

./run

结果如下

 


参考资料

IVP220规格说明书.pdf

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

参考来源

评论