嵌入式开发之zynqMp ---Zynq UltraScale+ MPSoC 图像编码板zcu102
嵌入式开发之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可以看到,这是一个带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
- 懒人直接只看这一点即可(可以跳过下面两点),把下面命令粘贴到shell中回车即可:
先安装刚刚安装时,提示缺少的库:
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:*
)
- 在运行petalinux-config -c kernel会出现错误,需安装:
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.BINl.将如下文件拷入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-xlnx2. 设置本地环境变量$ source petalinux2017.2/settings.sh3.配置uboot$ make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- xilinx_zynqmp_zcu102_config4.编译uboot$ make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-编译完成之后会看到文件名u-boot.elf的二进制文件,在合成BOOT.BIN的时候我们会用到这个文件。http://blog.csdn.net/luhao806/article/details/778965471)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.bithttp://blog.csdn.net/luhao806/article/details/585946321.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-xlnxb. 设置本地环境变量$ source petalinux2017.2/settings.shc.配置kernel$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- xilinx_zynqmp_defconfigc.编译kernel$ make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- -j4e.进入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/778967611.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
嵌入式开发之zynqMp ---Zynq UltraScale+ MPSoC 图像编码板zcu102相关推荐
- Zynq UltraScale + MPSoC示例设计 - 在64位Linux上执行32位应用程序
目录 官方说明连接:https://china.xilinx.com/support/answers/66636.html 描述 解决方案 官方说明连接:https://china.xilinx.co ...
- zynq+linux固化程序,如何在 Zynq UltraScale+ MPSoC 上实现 Linux UIO 设计
原标题:如何在 Zynq UltraScale+ MPSoC 上实现 Linux UIO 设计 简介 作者: Alex He (何晔), 赛灵思高级嵌入式应用工程师 这里的 UIO 即 Userspa ...
- ZYNQ UltraScale+ MPSoC OpenAMP 2018.3
ZYNQ OpenAMP 2018.3 本文只是对 UG1186 "入门指南"的补充和阐明(适用于 Zynq UltraScale+ MPSoC.) 目录 ZYNQ OpenA ...
- 【ZYNQ Ultrascale+ MPSOC FPGA教程】第一章 MPSoC芯片介绍
原创声明: 本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处. 适用于板卡型号: AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E ...
- 米尔电子Zynq UltraScale MPSoC核心板资料介绍
米尔Zynq UltraScale MPSoC核心板(MYC-CZU3EG)是采用Xilinx新一代Zynq处理器.该核心板是业界最小尺寸Zynq UltraScale 核心板,采用16纳米制程,相比 ...
- 米尔电子zynq ultrascale+ mpsoc底板外设资源清单分享
米尔电子推出的国内首款zynq ultrascale+ mpsoc平台核心板(及开发板):MYC-CZU3EG吸引了人工智能.工业控制.嵌入式视觉.ADAS.算法加速.云计算.有线/无线通信等应用行业 ...
- Xilinx Zynq UltraScale+ MPSoC 介绍
文章目录 简介 软件架构 petalinux工具 开发环境搭建 简介 MYC-CZU3EG 是深圳市米尔科技有限公司推出的一款以 Xilinx XCZU3EG 作为核心的嵌入式核心板. 采用了 Xil ...
- Zynq UltraScale+ MPSoC智能视频平台1:Camera Link接收IP
Camera Link是一种串行通信协议标准,基于美国国家半导体公司的Channel-link,设计用于摄像机接口应用,目的是规范科学和工业视频而设计的产品包括相机.电缆和框架.Camera Link ...
- Zynq UltraScale+ MPSoC EV系列VCU应用通路搭建
ZCU106开发板VCU应用通路搭建 前言 编译换了台主机,果然快了很多,下面说一下VCU通路的搭建.其中最主要的是给VCU部分提供时钟,下面说一下 准备 1.petalinux 2.vivado 3 ...
最新文章
- 一键安装python3环境
- java中后端拼接字符串返回前台页面换行显示
- Redis进阶-JedisCluster初始化 自动管理连接池中的连接 _ 源码分析
- netlify 部署vue_如何使用Netlify构建和部署网站-全面的教程
- Java基础学习总结(154)——Synchronized与Volatile、Synchronized与ReentrantLock概念及区别
- 被问到一个简单的脚本后
- jquery.form 异步校验_利用jQuery.validate异步验证用户名是否存在
- R语言二分类问题案例分析:以泰坦尼克号沉船为例
- 从零开始搭二维激光SLAM --- 文章索引
- Xshell远程连接Linux无法成功连接
- texlive2020 安装_texlive测试是否安装成功
- 信息安全——密码学(上)
- unzip unbuntu 中文乱码
- 网络游戏源代码分析_为您的游戏选择正确的网络代码
- 分数换算小数补0法_小学数学概念+知识点顺口溜汇总+常用单位换算汇总
- 二极管ss14测量_开关二极管怎么测量好坏
- Flume安装部署,采集方案配置文件编写案例,启动agent采集数据
- 菜刀php教程,中国菜刀的功能介绍和使用方法
- 安装冰点还原后无法更改系统时间怎么办
- 使用python代码区分两个文档的差异,并将差异内容输出
热门文章
- Hexo历险记之五幻丽插件
- html导入wps,wps excel导入html表格数据-WPS表格里的数据怎样快速导入到wps文字里
- java里的文件显示繁体_关于在JSP页面上同时显示简体和繁体的问题(字符编码)...
- 小程序发展趋势的研究报告
- 计算机网络系统设备安装工程,第一章-计算机网络系统设备安装工程-定额(14页)-原创力文档...
- 【转载】三叠字和四叠字
- 无法把代码推到gitee故障解决(OpenSSH签名算法不兼容)
- Connecting to 192.16.0.128:22... Could not connect to '192.16.0.128' (port 22): Connection failed.
- Unity3D Shader编程】之七 静谧之秋篇: 表面着色器的写法(二)—— 自定义光照模式
- 小米Android12,小米11系列支持安卓12开发者预览版 还有一加9系列