嵌入式开发之zynqMp ---Zynq UltraScale+ MPSoC 图像编码板zcu102

1.1 xilinx zynqMp 架构

1.1.1 16nm 级别工艺

  Zynq UltraScale+  MPSoC架构

    Xilinx新一代Zynq针对控制、图像和网络应用推出了差异化的产品系,这在Xilinx早期的宣传和现在已经发布的文档里已经说得很清楚了。她的产品系如图2所示。

 

图2 产品表

        从图2看到,这个系列的Zynq算是8核(或9核)异构产品:四核的ARM-CortexA53 CPU、双核的Cortex-R5 RPU、Mali-400 GPU(一个Geometry核,两个像素核)、PL逻辑以及视频编解码器Codec核。

        在表2中,ZU2E、ZU3E为针对控制类应用,逻辑和Block RAM资源较少,没有Video Codec和高速收发器。ZU4E、ZU2E和ZU7E针对视频类应用,有内部的UltraRAM资源、Video Codec和GTH高速收发器。其他型号针对网络应用,除了Video Code没有外,其它高大上的东西都有,比如更高速的收发器GTY,还有150G Interlaken和100G Ethernet  MAC/PCS/RS-FEC等。

         熊猫君是做图像的,下面的描述都是针对图像版的Zynq UltraScale+而言的。

         因为PS部分的资源是固定的,大家都一样,在后面一起说就行。PL部分因为有这三个东西,将使设计如虎添翼:

        a)大量的Block RAM和Ultra RAM资源,小20Mb的内部RAM资源,对分块处理图像,那应该会带来不少的便捷;

        b)Video Code:这个东西是集成在PL侧的硬核,有了它,图像压缩和解压缩都不用愁了;

        c)GTH:PL端集成的GTH收发器,对SDI、DP等图像接口接入那是十分的方便,当然也可以做PCIe咯。

不多说了,熊猫君从Xilinx官方文档UG1085上截一个图来表示这个高大上通用SoC的系统级架构,也就是下面的图3啦。

 

图3  Zynq UltraScale+ MPSoC系统架构图

 

http://blog.csdn.net/haoxingheng/article/details/50098777

时隔三年,Xilinx推出了其全新的异构SoC,大名叫ZynqUltraScale+。相比它的前辈Zynq-7000,这款SoC功能显得更加强劲:最显著的变化是新加入了GPU和视频编解码器,而且编解码器在PL端,PS端的高速接口更加丰富。按照Xilinx官方的说法,Zynq UltraScale+主要针对控制、图像和网络这三大块,比如说汽车辅助驾驶、8K图像、100G网、物联网等等领域(兵马未动,粮草先行啦,Xilinx早早的就针对这些差异化应用推出了SDx集成开发环境)。

                         图4  系统简图

 

从图4可以看到,这是一个带SDI接口的IP相机。大致分为两大块:

    a)PL负责原始数据采集、Bayer域处理、ISP和图像编码;

    b)PS负责对PL的管理、控制和协处理、RTSP服务器、千兆网和SD卡数据存储。

http://blog.csdn.net/haoxingheng/article/details/50076591

 

1.2 xilinux zynqMp 开发环境搭建

1.2.1 移植petaLinux之安装petalinux

    • start.安装虚拟机,在虚拟机里安装linux系统(ubuntu16)

      • 虚拟机里磁盘尽量留大点,建议60G,我的是80G
      • sudo passwd命令,设置超级用户su时的密码
      • 建议安装VMware Tools
      • 开发工具:vivado2017.1(Windows下) + petalinux 2017.1(Linux下)
    • a.更新apt-get(可选,加速用,同传统方式移植那篇文章的第二节)

    • b.安装petalinux的依赖环境 
      安装petalinux的必要依赖环境,直接复制粘贴下面的命令行到shell中,系统自动下载安装下面的工具:

      sudo apt-get install build-essential vim tofrodos \ 
      iproute2 gawk gcc git make net-tools zlib1g-dev \ 
      libssl-dev flex bison libselinux1 libncurses5-dev \ 
      tftpd lib32z1 lib32ncurses5 libbz2-1.0:i386 \ 
      lib32stdc++6 xvfb chrpath socat autoconf libtool

    • c.修改/bin/sh 
      shell中输入:dpkg-reconfigure dash,在出现的界面中选择‘否’

    • d.下载petalinux 
      去官网下载petalinux-v2017.1-final-installer.run(文件8个G,上传不了)

    • e.安装petalinux

      • 在一个用户目录下(我的是:home/hlf/mnt),用鼠标右键,新建一个文件夹petalinux
      • 在普通用户下(非root模式下,即命令行是:hlf@hlf-virtual-machine:~/mnt$这样的),shell中输入命令:./petalinux-v2017.1-final-installer.run ./petalinux
      • 经过漫长的等待,安装到一半的时候,提醒查看许可,按回车查看,按q退出,退出后输入y,回车,如此重复三次,才开始正式安装(这个步骤要很小心,如果没有输入y,就回车,就要重新了)
      • 安装的时候提示,提示有几个库没装,不过没关系,等petalinux安装完之后,再补也不迟,静候一直到安装完毕 
        这里写图片描述
    • f.补一些库的安装

      • 懒人直接只看这一点即可(可以跳过下面两点),把下面命令粘贴到shell中回车即可: 

        apt-get install texinfo gcc-multilib libsdl1.2-dev libglib2.0-dev zlib1g:i386 libncurses5 libncurses5-dev libc6:i386 libstdc++6:i386 zlib1g:i386 libssl-dev tftpd tftp openbsd-inetd

      • 先安装刚刚安装时,提示缺少的库:

        apt-get install texinfo gcc-multilib libsdl1.2-dev libglib2.0-dev zlib1g:i386

      • 安装一些之后需要的库,全都安装了避免麻烦:

        • 在运行petalinux-config -c kernel会出现错误,需安装: 
          apt-get install libncurses5 libncurses5-dev
        • 编译时可能会出现错误arm-xilinx-linux-gnueabi-gcc: Command not found,需安装: 
          apt-get install libc6:i386 libstdc++6:i386 zlib1g:i386
        • 提示缺少zlib和openssl,需安装: 
          apt-get install libssl-dev
        • 出现警告(警告而已,强迫症可以处理一下),提示No tftp server found - please refer to “PetaLinux SDK Installation Guide” for its impact and solution,需安装: 
          apt-get install tftpd tftp openbsd-inetd,安装完成后,编辑一下/etc/inetd.conf里的东西: 
          直接shell中输入gedit /etc/inetd.conf,打开了文件,并在文件最后一行增加: 
          tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftproot 然后保存并退出 ,之后再进行一些简单操作: 
          mkdir /tftproot 
          chmod 777 /tftproot 
          /etc/init.d/openbsd-inetd restart 
          输入netstat -an | more | grep udp命令,以确定成功(打印出udp 0 0 0.0.0.0:69 0.0.0.0:*
    • g.验证是否安装成功 
      source /home/hlf/mnt/petalinux/settings.sh 
      成功定位不报错的话,基本是成功了的 
      echo $PETALINUX 
      命令行会打印出安装路径/home/hlf/mnt/petalinux

1.2.2 搭建硬件环境

新建工程,选择对应的芯片型号,并新建一个 BD 原理图文件(命名为system),然后添加一个ZYNQ Processing system的IP核,并设置好与硬件相符合的PS和PL时钟以及DDR型号

然后右键单击 Block 文件,文件选择 Generate the Output Products,然后右键单击 Block 文件,选择 Create a HDL wrapper,根据 Block 文件内容产生一个 HDL 的顶层文件,并选择让 vivado 自动完成

经Vivado综合,实现后,在Vivado中导出硬件,输出PetaLinux所需要的硬件描述文件 
输出的文件就在“/(工程文件夹)/(工程名).sdk”这个文件夹下,这个文件夹下的system_wrapper.hdf待用

 

1.2.3 搭建petalinux bsp工程

    • a.定位目录 
      先在shell中找一个准备存放工程的地方,(我的是home/hlf/PRO),命令行cd home/hlf/PRO

    • b.定位编译链 
      根据安装petalinux的路径: 
      source /home/hlf/mnt/petalinux/settings.sh

    • c.创建petalinux工程 
      将在PRO目录下面,创建一个工程: 
      petalinux-create --type project --template zynq --name h1_petalinux_test 
      h1_petalinux_test是工程名,该命令会自动在PRO文件夹里创建h1_petalinux_test文件夹

    • d.引用刚才输出的硬件描述文件 
      把之前导出的硬件描述文件system_wrapper.hdf拷贝到虚拟机中的h1_petalinux_test工程文件夹下,然后: 
      petalinux-config --get-hw-description=/home/hlf/PRO/h1_petalinux_test 
      会进入一个配置界面,在里面我们可以配置一些系统参数,主要的配置包括:启动方式,启动存储器分区表,启动文件名称等等,本文暂不对其修改(默认是从SD卡中启动),然后等待其配置(时间较长)

    •  

       

       

      上图可以进行基本项配置,

    • e.获取文件夹权限 
      在上一步完成后,输入命令sudo chmod -R 777 /home/hlf获取文件夹权限(工程文件夹和petalinux的安装文件夹),否则编译的时候,会发生错误

    • 目前为止,在shell中的命令既可以以超级用户su的身份运行也可以以普通用户的方式运行(建议全部都用普通用户的方式,免得切换),但是等下编译u-boot和kernel以及rootfs的时候,必须以普通用户的身份运行命令行,否则会报错的

    • f.编译u-boot 
      注意:到此处的时候,不能再用超级用户了,要切换到普通用户下,之后的所有操作都在普通用户下 
      普通用户的shell中输入petalinux-config -c u-boot(依然要事先输入source /home/hlf/mnt/petalinux/settings.sh命令),然后等待GUI出来,这里暂时不改动啥,直接save(save为u-boot.config,名字随便取但不要留空),然后继续等(新建工程要等的时间还是比较长的,后来就会好的) 
      这里写图片描述

    •  

    • g.编译kernel 
      命令petalinux-config -c kernel,操作同上(save为kernel.config

    •  

    •  

    • h.编译rootfs 
      命令petalinux-config -c rootfs,操作同上(save为默认即可)

    •  

    • i.设备树配置 
      若要修改,直接在工程文件夹下,Ctr+F搜索.dts就可以找到相关文件,做出相应修改” 
      暂时默认吧,不修改,按照它自动生成的设备树

    • j.编译工程 
      配置完成后可以生成适配该硬件的fsbl,u-boot,kernel,rootfs等文件, 输入命令petalinux-build,等待即可,最后生成的文件在 image/linux下

    •  

    • k.生成BOOT.BIN 
      把shell定位到image/linux目录下,执行命令 
      petalinux-package --boot --format BIN --fsbl zynq_fsbl.elf --fpga system_wrapper.bit --u-boot,在文件夹下就可以发现,多了一个BOOT.BIN

    • l.将如下文件拷入SD卡 
      这里写图片描述

    • m.开机 
      将SD卡,插回,开机,串口打印信息为:

       ....

     n。生成完启动文件后可以进行模拟适配

      如果不想连接开发板可以先用模拟题运行u-boot,kernel,看看是不是正确

      petalinux-boot –qemu –u-boot

    petalinux-boot –qemu –kernel  

密码:root

如果模拟器运行没问题就可以用jtag下载到zynq板子上进行后续调试了,命令参看ug1157-petalinux-tools-command-line-guide

http://blog.csdn.net/zhaoxinfan/article/details/57530627

 

 

 

http://blog.csdn.net/long_fly/article/details/78727813

1.3.Xilinx zynqMP开发基本步骤

a)使用Vivado 工具生成 .hdf文件,比如ZU9_cpu.hdf

b)使用SDK工具生成FSBL。FSBL的作用主要是初始化PLL,DDR,MIO管脚分配,烧写FPGA,运行uboot等。核心代码代码位于psu_init.c中。

c)生成uboot

d)使用bootgen工具生成BOOT.BIN文件,bootgen需要使用.bif文件做输入。bif指导那个文件用作输入,targets等

//arch = zynqmp; split = false; format = BIN
the_ROM_image:
{
 [fsbl_config]a53_x64
 [bootloader]C:\cpu_test\cpu_test\cpu_test.sdk\fsbl\Debug\fsbl.elf
 [destination_device = pl]C:\cpu_test\cpu_test\cpu_test.sdk\cpu_test_wrapper_hw_platform_0\cpu_test_wrapper.bit
 [destination_cpu = a53-0]C:\cpu_test\cpu_test\cpu_test.sdk\uboot.elf
}

e)把BOOT.BIN,system.dtb和Image文件copy到SD卡第一分区,把rootfs解压到SD卡ext4分区。

http://blog.csdn.net/ambercctv/article/details/69945902

1.3.1 zynq MP的启动

(1)启动过程

  下图时xilinx手册上摘录的图,描述了zynqMP 上的linux的整个boot过程 
这里写图片描述
  系统复位后,首先PMU(Platform Management Unit)会执行PMU ROM中固化代码,执行完后会启动CSU处理核,CSU会负责从启动存储介质中加载FSBL(First Stage Boot Loader)至on-chip ram中,FSBL可以由RPU负责执行也可由APU负责执行,须在制作FSBL时确定。继而,CSU激励RPU或APU执行FSBL。FSBL会加载PMU Frameware交付PMU执行。继而FSBL执行完成后切换至ATF(Arm Trusted Frame),ATF于APU上执行。然后ATF启动u-boot,u-boot为linux配置好运行环境将执行权交付给Linux内核。 

  

  可以看出和Zynq-7000类似,ZynqUltraScale+ MPSoC也是三级启动方式,只是Xilinx又给它们起了一个新名字,启动分为以下三级:

        a) Pre-configuration:复位后执行PMU ROM代码,讲外部FSBL代码搬到内部的OCM。相当于Zynq 的Boot ROM执行。

        b) Configuration:在内部的OCM代码,系统根据BOOTHeader的内容选择在CPU(Cortex-A53)还是RPU(Cortex-R5)上执行。负责初始化必要的时钟、内存和外设,加载Bit文件和用户代码等。

         c) Post-configuration:执行用户代码。

http://blog.csdn.net/haoxingheng/article/details/50099373

(2)启动文件详解

对于ZYNQ MPSoC有以下几个文件,

a.FSBL 

这个FSBL跟zynq-7000的fsbl是一样的,用户可以选择用cortex-a53制作启动的fsbl文件,也可以选择用cortex-r5来制作启动的fsbl文件。

b.PMUFW (pmufw.elf)

PMU的配置文件,但这个不是必须的,用户是可选的,MPSOC有LPD.FPD.PL三路电源轨,PMU是为了更好的管理电源和控制功耗,一般情况下,大部分客户不需要修改这个elf文件,这个文件不是制作BOOT.bin必须要的。

c.ARM Trusted Firmware(bl31.elf)

ARM Trusted Firmware文件,是一个arm加密固件,用户根据需要来定制,这个文件不是制作BOOT.bin必须要的。

d.PL bitstream(design_1_wrapper.bit)

这是FPGA端的bit配置文件,用户根据自己的需要来配置bit文件,这个文件不是制作BOOT.bin必须要的。

e.uboot(u-boot.elf)

uboot文件,目前我使用的是version是2016.7,制作BOOT.bin需要这个文件。

f.image.ub

这个文件是由petalinux-package --image 打包kernel rootfs device-tree这个三个文件合成的image.ub文件,也就是说,当你启动mpsoc的时候,你最终只需要两个文件BOOT.bin image.ub。

http://blog.csdn.net/luhao806/article/details/58591497

1.3.2 uboot 的生成

MPSOC系列基于ZCU102 uboot的编译生成

  查看board/xilinx/zynqmp/zynqmp.c 中board_late_init

  这里需要检查了zynqMP的启动方式,并设置了环境参数 modeboot ,此次测试使用sd卡boot,故modeboot 会被设置为sdboot,故u-boot会执行run sdboot命令,其中sdboot 环境参数设置在include/configs/xilinx_zynqmp.h中定义,

  此处还实现了TFTP形式的boot以及nfs文件系统,这里就不解释TFTP Boot及nfs(xilinx默认配置是从sd卡第一分区(FAT格式)读取devicetree以及Image实现boot,并以sd卡第二分区(ext4格式)作为系统的跟文件系统)。

  uboot 生成:

cd $u-boot-xlnx-dir

export ARCH=arm64

export CROSS_COMPILE=aarch64-linux-gnu-

make distclean

make xilinx_zynqmp_zcu102_rev1_0_defconfig

make -j4 #-jn 为你要运行的核数

http://blog.csdn.net/baidu_23935667/article/details/79099803

or:

      从git.xilinx.com上下载uboot源码
          $ git clone https://github.com/Xilinx/u-boot-xlnx
          2. 设置本地环境变量
          $ source petalinux2017.2/settings.sh
          3.配置uboot
          $ make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- xilinx_zynqmp_zcu102_config
          4.编译uboot
          $ make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-
           
 
          编译完成之后会看到文件名u-boot.elf的二进制文件,在合成BOOT.BIN的时候我们会用到这个文件。
http://blog.csdn.net/luhao806/article/details/77896547
 

1)windows vivado sdk create uboot.bin

打开vivado工程并生成bit stream
导入到 sdk
打开sdk
创建预置的fsbl工程
Xilinx Tools>Creat Boot Image
选择BIF file path
选择Output path
在Boot image partitions中
add>fsbl.elf
add>XXX.bit
add>u-boot.elf
Creat Image

其中bif为路径配置文件:

  bif文件如下所示:

//arch = zynqmp; split = false; format = BIN
the_ROM_image:
{
    [fsbl_config]a53_x64
    [bootloader]PROJECT_DIR/project_1.sdk/fsbl/Debug/fsbl.elf
    [pmufw_image]PROJECT_DIR/project_1.sdk/pmu/Debug/pmu.elf
    [destination_device = pl]PROJECT_DIR/project_1.sdk/design_1_wrapper_hw_platform_0/design_1_wrapper.bit
    [destination_cpu = a53-0, exception_level = el-3]PROJECT_DIR/project_1.sdk/bl31.elf
    [destination_cpu = a53-0, exception_level = el-2]PROJECT_DIR/project_1.sdk/u-boot.elf
}

 

  其中PMU、FSBL由SDK中生成 

http://blog.csdn.net/aostas/article/details/78149300

2)petalinux 合成 boot.bin

 

$ petalinux-package --boot --fsbl images/linux/zynqmp_fsbl.elf --u-boot=images/linux/u-boot.elf --pmufw no --atf --force 
下面是输入命令之后的打印信息:
INFO: File in BOOT BIN: "/home/luhao/xilinx/peta_project/xilinx-zcu102-2016.4/images/linux/zynqmp_fsbl.elf"
INFO: File in BOOT BIN: "/home/luhao/xilinx/peta_project/xilinx-zcu102-2016.4/images/linux/bl31.elf"
INFO: File in BOOT BIN: "/home/luhao/xilinx/peta_project/xilinx-zcu102-2016.4/images/linux/u-boot.elf"
INFO: Generating zynq binary package BOOT.BIN...
INFO: Binary is ready.
petalinux-package --boot 用来生成一个BOOT.bin目标文件;
--fsbl images/linux/zynqmp_fsbl.elf 代表着fsbl的路径;
--u-boot=images/linux/u-boot.elf 代表着u-boot.elf的路径;
--pmufw no 表示禁用pmufw,如果不加no,默认路径就是image/linux/pmufw.elf;
--force是覆盖之前生成的BOOT.bin文件;
bl31.elf是atf文件,arm加密固件;
 
如果需要加入bit文件,请加入如下选项
--fpga images/linux/design_1_wrapper.bit 
http://blog.csdn.net/luhao806/article/details/58594632

1.3.3 MPSOC系列基于ZCU102的linux的kernel的编译

cd linux-xlnx

export ARCH=arm64

export CROSS_COMPILE=aarch64-linux-gnu-

make xilinx_zynqmp_defconfig

make menuconfig make -j4 #-jn n为你要运行的核数

http://blog.csdn.net/baidu_23935667/article/details/79099803

or:

       a.从git.xilinx.com上下载kernel源码
          $ git clone https://github.com/Xilinx/linux-xlnx
          b. 设置本地环境变量
          $ source petalinux2017.2/settings.sh
          c.配置kernel
          $ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- xilinx_zynqmp_defconfig
          c.编译kernel
          $ make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- -j4
          e.进入Image所在目录
          $ cd arch/arm64/boot
          我们可以看到Image文件,此为linux内核文件
          f.进入dts目录
          $ cd arch/arm64/boot/dts/xilinx
          我们可以看到zynqmp-zcu102-revB.dtb文件,在SD启动的时候可能需要改名为devicetree.dtb或者system.dtb。
http://blog.csdn.net/luhao806/article/details/77896761
 
1.4  Zynq UltraScale+ MPSoC新鲜出炉
1.4.1 区别zynq mp和zynq
时隔三年,Xilinx推出了其全新的异构SoC,大名叫ZynqUltraScale+。相比它的前辈Zynq-7000,这款SoC功能显得更加强劲:最显著的变化是新加入了GPU和视频编解码器,PS端的高速接口更加丰富。按照Xilinx官方的说法,Zynq UltraScale+主要针对控制、图像和网络这三大块,比如说汽车辅助驾驶、8K图像、100G网、物联网等等领域(兵马未动,粮草先行啦,Xilinx早早的就针对这些差异化应用推出了SDx集成开发环境)。

手头必备的TRM UG1085(http://www.xilinx.com/support/documentation/user_guides/ug1085-zynq-ultrascale-trm.pdf

寄存器手册(http://www.xilinx.com/support/documentation/registers/ug1087/ug1087-zynq-ultrascale-registers.html

http://blog.csdn.net/kkk584520/article/details/50042757

https://wiki.trenz-electronic.de/pages/viewpage.action?pageId=14746264

 

1.4.2
 选择PetaLinux的原因
 在详细介绍具体做法之前,有必要花点时间来探讨针对基于FPGA的嵌入式系统提供的操作系统选项。PetaLinux是FPGA上最常用的操作系统,另外还有μClinux 和Xilkernel。μClinux为Linux发行版,是一款包含小型Linux内核的移植型Linux操作系统,适用于无存储器管理单元(MMU)的处理器[1]。μClinux配备有各种库、应用和工具链。Xilkernel就其本身而言,是一款小型、高稳健性、模块化内核,能够提供高于μClinux 的定制性能,有助于用户通过定制内核来优化其设计尺寸与功能[2]。同时,PetaLinux也是一款完整的Linux发行版及开发环境,适用于基于FPGA的片上系统(SoC)设计。PetaLinux包含预配置二进制可引导映像、面向赛灵思器件的完全可定制Linux 以及配套提供的PetaLinux软件开发套件(SDK)[3]。其中SDK包括用于自动完成配置、构建和部署过程中各种复杂工作的工具和实用程序。赛灵思提供可免费下载的PetaLinux开发包,其中包括针对各种赛灵思FGPA开发套件而设计的硬件参考项目。同时包含在内的还有适用于赛灵思FPGA的内核配置实用程序、交叉编译器等软件工具、硬件设计创建工具以及大量其它设计辅助功能。据报道,Xilkernel 的性能优于μClinux[4],而PetaLinux的性能又优于Xilkernel [5]。由于这个原因,特别是由于已针对我们赛灵思目标板提供的软件包原因,我们为我们的项目选择了PetaLinux。移植PetaLinux的另一大优势是用户可以轻松实现远程编程。这就意味着用户可使用远程接入方式,通过远程登录,采用新的配置文件(或比特流文件)加载FPGA目标板。有两种方法可以创建用于构建PetaLinux系统的软件平台:在Linux终端上使用PetaLinux命令或通过下拉菜单使用GUI。
http://www.elecfans.com/emb/fpga/20171117581662_a.html

 

 

 

 

附录:

1. zcu102 Linux 完整打印信息log

http://blog.csdn.net/luhao806/article/details/58602337

2. http://www.wiki.xilinx.com/        
(提供 了几乎所有的学习资料,包括:创建FSBL,配置编译内核,配置编译u-boot,编译生成dtb,制作根文件系统,linux 设备驱动程序,设计例程等等)

3.zc702 学习总结

http://blog.csdn.net/Klaus_Wei/article/details/38063349

4. zcu102 pcie视频传输方案

http://blog.csdn.net/vacajk/article/details/78970368

5.zcu102 

ZCU102 HDMI Demo测试:

http://blog.csdn.net/vacajk/article/details/78970533

6. zcu102 xen 开源视频监视

http://blog.csdn.net/telantan/article/details/78872451

7.

闲话Zynq UltraScale+ MPSoC(连载4)——IO资源

http://blog.csdn.net/haoxingheng/article/details/50100573

闲话Zynq UltraScale+ MPSoC (连载3)——启动加载

http://blog.csdn.net/haoxingheng/article/details/50099373

闲话Zynq UltraScale+ MPSoC (连载2)——架构和电源要求

http://blog.csdn.net/haoxingheng/article/details/50098777

Zynq UltraScale+ MPSoC新鲜出炉

http://blog.csdn.net/kkk584520/article/details/50042757

8. zynq petalinux编译用户自定义系统

http://blog.csdn.net/shichaog/article/details/51544173

9.ZYNQ跑系统 系列(二) petalinux方式移植linux

http://blog.csdn.net/long_fly/article/details/78727813

10 ZCU102开发 (1) 运行基于ubuntu文件系统的Linux

http://blog.csdn.net/telantan/article/details/73928695

【Zynq学习笔记3】petaLinux使用

http://blog.csdn.net/wt881010/article/details/71597478

zynq之petalinux安装和编译

http://blog.csdn.net/shichaog/article/details/51074980

将PetaLinux移植到FPGA上的原因和步骤详解 - 全文

http://www.elecfans.com/emb/fpga/20171117581662_a.html

11. xlinux官网资料

http://china.xilinx.com/products/boards-and-kits/ek-u1-zcu102-g.html#documentation

https://china.xilinx.com/search/support-keyword-search.html?searchKeywords=PetaLinux%20Tools%20Documentation

https://china.xilinx.com/support/documentation/sw_manuals/xilinx2017_4/ug1156-petalinux-tools-workflow-tutorial.pdf

http://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/embedded-design-tools.html

https://china.xilinx.com/support/documentation/sw_manuals/xilinx2017_4/ug1144-petalinux-tools-reference-guide.pdf

 
 

 

posted @ 2018-03-14 20:42  midu  阅读(14291)  评论(0编辑  收藏  举报