嵌入式技术论坛
直播中

liujing

5年用户 34经验值
擅长:可编程逻辑 嵌入式技术
私信 关注

【米尔FZ3深度学习计算卡试用体验】在米尔FZ3深度学习计算卡上跑自己的系统

` 本帖最后由 liujing1232 于 2020-12-10 15:30 编辑

在米尔FZ3深度学习计算卡上跑自己的系统
米尔FZ3深度学习计算卡本质上是一块利用Zynq跑自定义的系统,并在其中加入FPGA深度学习计算相关的IP,通过调用该IP实现深度学习的加速,因此该板卡能够运行自定义的系统,并且可以使用Xilinx的官方系统制作工具petalinux实现。SD卡自带的系统是使用petalinux 18.1版本制作完成,因此该板卡完全能够自定义系统并自定义相关功能。为了能够在该板卡上实现自定义深度学习计算加速系统,下面接着上一期,完成自定义系统的搭建。
1 制作系统的准备
米尔FZ3深度学习计算卡资源如图所示:
1.jpg
图1 外设资源图
该板卡系统搭建需要的外设有USB、TF CARD、ETH、UART,上一期已经完成了硬件工程的搭建,并使能了相关的外设接口,硬件基础已经实现。
需求的工具以及版本号:
vivado:2020.1
vitis:2020.1
petalinux:2020.1
终端工具:Xshell
文件系统制作工具:Gparted
电脑系统:centos7.6
2 SD卡的分区
由于运行DPU深度学习加速的系统较大,整个系统难以运行在flash上,只能在SD上进行烧写,因此首先制作SD卡文件系统分区。
1- 下载Gparted
2- 在终端输入Gparted打开这个软件
3- 选中SD卡
4- Create a newpartition,设置如下
2.jpg
5- 剩余区设置如下
3.jpg
6- 保存即可
制作好的分区将能够在linux主机上可看到boot和rootfs两个硬盘。
3 petalinux系统搭建
3.1 新建工程
利用petalinux脚本指令创建一个新的工程。
petalinux-create --type project  --template zynqMP --name your_custom_plnx  cd your _custom_plnx
petalinux-config  --get-hw-description=
3.2 基本配置
利用petalinux-config配置启动环境:
earlyconconsole=ttyPS0,115200 clk_ignore_unused root=/dev/mmcblk1p2 rw rootwaitcma=512M
并加入EXT4文件系统支持选项。
为了使用方便之后不在手动配置IP地址,设置静态ip:
Subsystem AUTOHardware Settings
-->EthernetSettings
----> [ ]Obtain IP address automatically = N
------> (192.168.0.10)Static IP address (NEW)
------> (255.255.255.0)Static IP netmask (NEW)
------> (192.168.0.1)Static IP gateway (NEW)
3.3 文件系统配置
XRT相关包:
CONFIG_packagegroup-petalinux-xrt
CONFIG_xrt-dev
easy system management相关库:
CONFIG_dnf
CONFIG_e2fsprogs-resize2fs
CONFIG_parted
Vitis-AI相关库:
CONFIG_packagegroup-petalinux-vitisai
编译工具相关库:
CONFIG_packagegroup-petalinux-self-hosted
CONFIG_cmake
CONFIG_packagegroup-petalinux-vitisai-dev
CONFIG_xrt-dev
CONFIG_opencl-clhpp-dev
CONFIG_opencl-headers-dev
CONFIG_packagegroup-petalinux-opencv
CONFIG_packagegroup-petalinux-opencv-dev
Vitis-AI GUI相关库:
CONFIG_mesa-megadriver
CONFIG_packagegroup-petalinux-x11
CONFIG_packagegroup-petalinux-v4lutils
CONFIG_packagegroup-petalinux-matchbox
加入上述库文件,并开启ssh。
3.4 修改设备树文件
/include/"system-conf.dtsi"
    /{
    };
    &amba{
        zyxclmm_drm{
            compatible= "xlnx,zocl";
            status= "okay";
            interrupt-parent= <&axi_intc_0>;
            interrupts= <0  4>, <1  4>, <2 4>, <3  4>,
                     <4 4>, <5  4>, <6  4>, <7 4>,
                     <8 4>, <9  4>, <10 4>,<11 4>,
                     <12 4>, <13 4>, <14 4>,<15 4>,
                     <16 4>, <17 4>, <18 4>,<19 4>,
                     <20 4>, <21 4>, <22 4>,<23 4>,
                     <24 4>, <25 4>, <26 4>,<27 4>,
                     <28 4>, <29 4>, <30 4>,<31 4>;
        };
    };
#SD驱动设备树
&sdhci1 {
      no-1-8-v;
      disable-wp;
};
#USB驱动
&u***0 {
     status = "okay";
};
&dwc3_0 {
    status = "okay";
    dr_mode = "host";
};
3.5 编译
petalinux-build
3.6 上板测试
1- cd /images/linux/
2- petalinux-package --boot --format BIN --f***lzynqmp_f***l.elf --u-boot u-boot.elf --pmufw pmufw.elf --fpga system.bit –force
3- cp BOOT.BIN boot.scr image.ub /media/numvar/BOOT/
4- sudo tar -zxvf rootfs.tar.gz -C/media/numvar/rootfs/
5- sync
6- 打开Putty软件,设定相关的波特率和串口号,注意串口号与下面的不一定一样,需要自己在设备管理中查看。
4.jpg
启动界面如图所示:
5.jpg
成功进入U-boot。DRAM为4GB,符合板卡资源。
6.jpg
成功启动内核。
7.jpg
USB驱动成功加入。
8.jpg
完全启动,用户名和密码都是root。
DP连接显示器,画面点亮。



4 存在的问题
连接摄像头的USB驱动启动有问题,需要反复重启才能启动。


` 9.jpg

回帖(1)

liujing

2020-11-27 21:26:45
发完就无法修改是真的难受。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分