嵌入式开发之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 re
  • 2
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值