资讯 社区 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

3-软核介绍

  1. 软核版本说明
  2. 1.5.1版本软核介绍

    2.1 软核组成部分

    2.2 系统目录介绍

    2.3 软核升级工具使用

  3. 其他版本软核介绍

    3.1 软核组成部分

    3.2 系统目录介绍

    3.3 软核版本升级


软核版本说明

EdgeBoard软核版本会定期升级,由于升级后会增加和优化很多功能,所以用户在对软核升级时,需要全部替换升级文件,包括预测库、fpga驱动文件、系统镜像文件以及sample示例工程,以上文件均须在同一版本下才可正常使用。

版本
日期
更新说明
软核
示例
v1.5.1 2020-10-29 1、预测库从paddle-mobile切换为paddle-lite
2、支持转置卷积
3、支持多输入多输出模型
4、支持ResNet101、SE-ResNeXt101、SE-ResNeXt50等模型
5、增加软核更新工具
6、修复一些bug
下载FZ9A
下载FZ9B
下载FZ5A
下载FZ5B
下载FZ5C
下载FZ3A(芯驿版本)
下载FZ3B(芯驿版本)
下载
v1.4.0 2020-04-23 1、新增relu6 op 支持
2、修改elementwise-add op bug
3、支持Mobilenet-v2 网络
4、解决VGG-SSD网络bug
下载FZ9A
下载FZ9B
下载FZ5A
下载FZ5B
下载FZ5C
下载FZ3A
下载FZ3B
下载
v1.3.0 2019-12-29 1、支持空洞卷积vgg-ssd模型
2、支持fpga normalize加速
3、预处理使用FPGA scale计算
下载FZ9A
下载FZ5A
下载FZ3A
下载
v1.2.0 2019-10-28 1.新支持SE-RENEXT模型
2.修复部分mobilenet-ssd bug
下载
v1.1.0 2019-09-02 1.新支持YOLOV3模型
2.提升卷积并行度,提升网络性能30%
下载
v1.0.3 2019-06-07 1.增加Framework中间层,解耦驱动和预测框架
2.新支持mobilenet-ssd、densenet网络
3.视频输入增加mipi摄像头支持
4.bt1120和USB摄像头输入示例整合为bt1120和USB、mipi摄像头三合一sample_video
5.支持dp实时显示bt1120和USB、mipi摄像头预测结果
6.支持USB摄像头YUV数据通过FPGA硬件加速转RGB数据
下载
v1.0.1 2019-03-22 1.新验证resnet、inception等模型
2.新增sample_image_resnet、sample_image_inception、sample_image_vgg_ssd推理示例
下载
v1.0.0 2019-02-28 1.已验证vgg、ssd等模型
2.支持USB摄像头、IPC摄像头BT1120协议视频输入作为推理数据
3.sample_image、sample_easydl、sample_usb、sample_bt11200推理示例
4.usb/bt1120/dp验证工具tools
下载

1.5.1版本软核介绍

软核组成部分

​ EdgeBoard 1.5.1版本迎来重大升级,预测库由原来的paddle-mobile升级为paddlelite,内部搭载Linux系统,开发者可以基于Linux系统进行应用程序开发。应用程序获取视频输入,调用paddlelite预测库加载模型,调度模型和驱动加速模块进行计算,加速模型运行,获得运行结果。考虑到便捷二次开发,EdgeBoard软核存放于系统SD卡中,方便用户开发自己的应用程序,在批量生产场景可装载到eMMC中。

SD卡宏观上分为两个分区:一个分区装载linux文件系统,另外一个分区装载系统启动文件。

文件 分区格式 分区大小 说明
rootfs EXT4 13G左右 EdgeBoard文件系统,基于petalinux制作的linux操作环境
image.ub&BOOT.BIN FAT 2G左右 EdgeBoard软核系统启动镜像

系统目录介绍

进入系统,用户目录为:/home/root/workspace,在workspace下主要包含下列三个文件:

文件名称 目录 备注
FZxx_install_x.x.x /home/root/workspace/FZxx_install_1.5.1 软核升级安装工具
driver /home/root/workspace/driver 驱动文件
PaddleLiteSample /home/root/workspace/PaddleLiteSample 示例代码

软核升级安装工具

软核升级工具是1.5.1版本后新增的便于软核升级的一套自动化升级工具,用户只需将每次升级的工具包拷贝到workspace文件夹下,执行对应版本的安装脚本即可完成软核升级。

升级包中包含下列文件:

文件名称 备注
FZxx 包含对应型号待升级的系统镜像(BOOT.BIN、image.ub)和驱动(fpgadrv.ko)
include paddlelite头文件
libpaddle_full_api_shared.so.xxx 待升级的paddlelite动态库
PaddleLiteConfig.cmake paddlelite动态库查找配置文件
install_FZxx.sh 自动化软核安装脚本

注意:升级包中BOOT.BIN、image.ub以及fpgadrv.ko虽然在每个包中的名称相同,但为不同型号的文件,请勿混淆

升级包可实现的功能如下:

1、安装、更新、备份系统镜像 :具体实现是拷贝BOOT.BIN、image.ub 到/run/media/mmcblk1p1/分区

2、安装、更新、备份驱动:具体实现是拷贝fpgadrv.ko到~/workspace/driver/目录下,自启动脚本会加载该驱动

3、安装、更新、备份预测库:具体实现是拷贝paddle_full_api_shared.so.1.5.1到/usr/local/lib/paddle_lite/目录下,并建立paddle_full_api_shared.sopaddle_full_api_shared.so1.5.1的软链,拷贝include目录下文件到/usr/local/include/paddle_lite/目录下)

4、安装预测库查找PaddleLiteConfig.cmake文件,用于在应用程序的CMakeLists.txt中查找安装到/usr/local/目录下的PaddeleLite库,下面给出了在CMakeLists.txt使用的例子:

find_package(PaddleLite QUIET)

if (PADDLELITE_FOUND)
	message("PADDLELITE_FOUND")
	include_directories(${PADDLELITE_INCLUDE_DIR})
	LINK_DIRECTORIES(${PADDLELITE_LIBRARY})

	set(IMAGE_CLASSIFY "image_classify" )
	add_executable(${IMAGE_CLASSIFY} ${COMMON_SOURCES} src/image_classify.cpp)
	target_link_libraries(${IMAGE_CLASSIFY} ${PADDLELITE_LIBRARY})
	target_link_libraries(${IMAGE_CLASSIFY} ${OpenCV_LIBS} ) 

	set(VIDEO_CLASSIFY "video_classify" )
	add_executable(${VIDEO_CLASSIFY} ${COMMON_SOURCES} src/video_classify.cpp)
	target_link_libraries(${VIDEO_CLASSIFY} ${PADDLELITE_LIBRARY})
	target_link_libraries(${VIDEO_CLASSIFY} ${OpenCV_LIBS} ) 
else ()
	message(FATAL_ERROR "PADDLELITE NOT FOUND")
endif ()

软核升级工具使用步骤见软核升级工具使用

driver fpga驱动

文件名称 备注
fpgadrv.ko 编译好的驱动。EdgeBoard的加速功能,预测库会把计算量大的op通过驱动调用fpga进行运算,运行模型前需要加载驱动,开机加载一次即可

加载fpga驱动命令

insmod /home/root/workspace/driver/fpagdrv.ko

卸载fpga驱动命令PaddleLiteSample

rmmod fpgadrv

注意:为方便用户快速进入模型预测环节,在EdgeBoard出厂时已将驱动设置为开机自动加载模式,自动加载的驱动的文件为/home/root/workspace/driver/fpagdrv.ko。

PaddleLiteSample示例工程

在1.5.1版本后,Edgeboard升级预测库为paddlelite,相应的示例工程为PaddleLiteSample,同样的包含图像分类模型和物体检测模型示例,针对已升级到1.5.1及更高版本软核的用户可直接参考PaddleLiteSample使用方法即可,更多详情请参考PaddleLite示例介绍

软核升级工具使用

EdgeBoard软核版本会定期升级,由于升级后会增加和优化很多功能,所以用户在对软核升级时,需要全部替换升级文件,包括预测库、驱动文件、系统镜像文件,以上文件均须在同一版本下才可正常使用。在1.5.1版本后新增了软核升级安装工具,包含在每个型号的升级目录中,可一键升级软核,方便快捷。

升级工具具体使用方法如下:

1、从官网中下载待升级的软核包FZxx_install_x.x.x,拷贝到edgeboard的workspace中。拷贝文件请参考EdgeBoard传输文件方式

‘2、使用ssh链接网口或者通过串口进入edgeboard的workspace文件中,解压zip文件。设备连接方式详情请参考EdgeBoard常用连接方式

unzip FZxx_install_x.x.x.zip
//例如
unzip FZ3A_install_1.5.1.zip

3、进入到FZxx_install_x.x.x目录,执行硬件对应的脚本。如:以FZ3A升级1.5.1为例

//进入软核安装目录
cd /home/root/workspace/FZ3A_install_1.5.1
//执行自动化升级脚本
sh ./install_FZ3A.sh

如果有已经安装的版本,会先进行备份(备份到安装包目录backup),然后进行安装,最后提示安装成功即可,如果下图。

4、软核安装完成后,执行reboot,重启设备。

5、运行示例工程,升级软核示例程序不需要改动,直接运行即可,如果出错,可能是引用的/usr/local/include/paddle_lite/下的PaddleLite头文件有调整,重新编译即可。

其他版本软核介绍

软核组成部分


EdgeBoard 软核内部搭载Linux系统,开发者可以基于Linux系统进行应用程序开发。应用程序获取视频输入,调用paddlemobile预测库加载模型,调度模型和驱动加速模块进行计算,加速模型运行,获得运行结果。考虑到便捷二次开发,EdgeBoard软核存放于系统SD卡中,方便用户开发自己的应用程序,在批量生产场景可装载到eMMC中。

SD卡宏观上分为两个分区:一个分区装载linux文件系统,另外一个分区装载系统启动文件。

文件 分区格式 分区大小 说明
rootfs EXT4 13G左右 EdgeBoard文件系统,基于petalinux制作的linux操作环境
image.ub&BOOT.BIN FAT 2G左右 EdgeBoard软核系统启动镜像

系统目录介绍

进入系统,用户目录为:/home/root/workspace,在workspace下主要包含下列四个文件:

文件名称 目录 备注
paddle-mobile /home/root/workspace/paddle-mobile paddle-mobile预测库
driver /home/root/workspace/driver 驱动文件
sample /home/root/workspace/sample 示例代码
tools /home/root/workspace/tools 调试工具

paddle-mobile预测库

paddle-mobile用于存放paddlemobilen预测库文件及其创建软链接的脚本文件。正常使用存放于每个示例的lib文件夹下,在示例中进行调用,例如在/home/root/workspace/sample/classification/lib目录下,文件包含:

文件名称 备注
libpaddle-mobile.so.1.5.0 paddle-mobile预测库文件,跟随不同版本不断升级
ln.sh 预测库执行脚本,用于创建预测库软链接

在使用预测库时,需要执行sh ln.sh创建预测库的软链接,预测库即可正常调用。


driver_fpga驱动

文件名称 备注
fpgadrv.ko 编译好的驱动。EdgeBoard的加速功能,预测库会把计算量大的op通过驱动调用fpga进行运算,运行模型前需要加载驱动,开机加载一次即可

加载fpga驱动命令

insmod /home/root/workspace/driver/fpagdrv.ko

卸载fpga驱动命令

rmmod fpgadrv

sample示例工程

EdgeBoard软核提供丰富的图像分类模型和物体检测模型以及配套的示例工程,用户可以体验自带模型的预测效果,还可以将自己训练的模型集成到示例中,实现模型的快速部署,更多详情请参考PaddleMobile示例介绍


tools工具

文件名称 备注
dp DP显示系统桌面的执行脚本
video v4l2视频工具,可用于检测摄像头是否正常工作

DP桌面显示

桌面显示命令仅在设备正确连接显示器后才可正确执行,不同接口显示器需要dp转换器实现正确连接,详情请参考EdgeBoard视频输出

DP桌面打开命令:

//进入EdgeBoard系统,输入DP桌面显示命令
startx

DP桌面关闭命令:

stopx

video视频工具

EdgeBoard 支持多种接口的摄像头输入,详情请参考EdgeBoard视频输入

使用usb摄像头采集图片:

1)插入摄像头后,通过ls /dev/video* 查看设备接入情况。通过后显示如下:

 /dev/video0  /dev/video1 /dev/video2

/dev/video2为usb摄像头v4l2输出yuv数据

2)运行video工具

//读取usb摄像头,采集10张图片保存到本地 
   cd /home/root/workspace/tools/video
   ./v4l2demo -i /dev/video2 -j -n 10

图片目录存放在/home/root/workspace/tools/video

使用bt1120摄像头采集图片:

1)BT1120接口为FPC连接器,需插入摄像头后,再给EdgeBoard上电,同时摄像头不需要单独供电,BT1120为板载的视频输入接口,视频节点默认/dev/video1

  ls /dev/video*
  /dev/video0  /dev/video1

2)配置摄像头参数

  media-ctl -v --set-format '"a0010000.v_tpg":0 [RBG24 1920x1080 field:none]'

3)运行video工具

//读取BT1120摄像头,采集10张图片保存到本地 
   cd /home/root/workspace/tools/video
   ./v4l2demo -i dev/video1 -j -n 10

图片目录存放在/home/root/workspace/tools/video

使用MIPI摄像头采集图片

mipi购买链接和使用注意请参考EdgeBoard视频输入

1)板载视频通道/dev/video1默认为BT1120视频输入,如果需要调用MIPI视频输入,需要转换视频通道,使用script视频配置脚本

//进入script脚本目录
cd /home/root/workspace/sample/script

//修改video_config.sh为可执行权限
chmod +x video_config.sh

//执行脚本文件,切换到mipi视频模式
./video_config.sh 2

2)切换完成后,配置摄像头参数

  media-ctl -v --set-format '"a0010000.v_tpg":0 [RBG24 1920x1080 field:none]'

3)运行video工具

//读取mipi摄像头,采集10张图片保存到本地 
   cd /home/root/workspace/tools/video
   ./v4l2demo -i dev/video1 -j -n 10

图片目录存放在/home/root/workspace/tools/video

更多使用请查看帮助

./v4l2demo -h

软核版本升级

sample更新

1.通过网线连接设备,使其和电脑在同一局域网,EdgeBoard默认ip:192.168.1.254,用户名:root,密码:root,并使用网络协议ftp或samba拷贝文件 2.拷贝sample到/home/root/workspace/,替换原有的sample文件 3.进入每个sample目录,如果lib目录中有对应版本的paddlemobile预测库和脚本文件,请执行lib目录下的脚本创建预测库软链 sh ./ln.sh

例如:进入classification目录,并执行对应lib下的软链接

cd /home/root/workspace/sample/classification/lib
sh ./ln.sh

执行后会创建libpaddle-mobile.so&libpaddle-mobile.so.1两个软链。如下图所示:

infoflow_2020-7-8_14-51-21


预测库更新

预测库一般放在sample每个实例的lib文件夹下,在进行sample更新时,会同步更新预测库。我们也可以放到/home/root/workspace/paddlemobile目录下进行文件备份。


driver更新

1、通过网线连接设备,使其和电脑在同一局域网,EdgeBoard默认ip:192.168.1.254,用户名:root,密码:root,并使用网络协议ftp或samba拷贝文件

2、拷贝driver文件fpgadrv.ko到/home/root/workspace/driver,替换原有的fpgadrv.ko文件。驱动文件名称相同,为确保已经更新为最新版本,可以卸载当前驱动,然后重新加载驱动,若打印信息显示版本号为最新版本,证明驱动文件已经更新,如下图所示:

infoflow_2020-7-8_15-32-49


系统镜像文件更新

系统镜像文件包括(BOOT.BIN和image.ub),存放于sd卡的fat分区中,使用读卡器插入非linux系统电脑,能读到的分区就是fat分区,更新系统镜像文件有两种方法:

1、使用读卡器,将sd卡插到电脑上,拷贝最新的BOOT.BIN和image.ub替换原有的BOOT.BIN和image.ub文件。

2、使用ftp或samba网络协议,首先将BOOT.BIN和image.ub拷贝到/home/root/workspace/文件夹下,分步执行下面的命令: mount /dev/mmcblk1p1 /mnt/sdcard/ cp /home/root/workspace/BOOT.BIN /mnt/sdcard/ cp /home/root/workspace/image.ub /mnt/sdcard/ reboot

如下图所示:

infoflow_2020-7-8_16-22-55