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.so到paddle_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两个软链。如下图所示:
预测库更新
预测库一般放在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文件。驱动文件名称相同,为确保已经更新为最新版本,可以卸载当前驱动,然后重新加载驱动,若打印信息显示版本号为最新版本,证明驱动文件已经更新,如下图所示:
系统镜像文件更新
系统镜像文件包括(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
如下图所示: