本文从最简单的petalinux需求的vivado工程开始,创建一个能跑起来linux的vivado工程。同时将linux kernel、根文件系统部署在接到SD1接口上的emmc中,qspi-flash中放置BOOT.BIN,uboot唤起emmc中的image.ub。并填坑关于petalinux在SD0为空时,配置从SD1启动的bughtml
目录linux
1 - VIVADO工程创建
这里咱们从创建一个petalinux所要求的最小linux系统开始,从这个工程搭建咱们后面所需的PL框架。
依照UG1144中介绍,在zynq-7000系列上启动linux所须要的必备器件有如下三个:
三态时钟
外部32MB以上的内存
UART串口(用做基本串口登陆linux使用)
1.1 - PS配置
新建一个vivado工程,建立框图设计(Block Design),添加ZYNQ7 Processing System
MIO配置,添加QSPI Flash,根据你的板子来设置引脚,注意Bank0和Bank1的电平设置
MIO配置,添加外设,这里添加了一个以太网ENET0,一个USB0,SD0 和SD1分别是链接到SD卡和eMMC,UART1被选中,它将被做为linux系统基本串口登陆
Clock配置,修改IO上的外设时钟
DDR配置,修改成PS上接入的内存
1.2 - 加个AXI-GPIO
添加一个AXI GPIO IP核,用来控制板上的4个LED。将其GPIO设置为4bit地址宽度,设置GPIO为外部引脚
点击“Run Connection Automation”和“Run Block Automation”,自动链接部分信号线和自动添加缺乏的ip
完成后咱们能够点击Diagram框内的Optimiz Routing,优化一下布局