zynq linux 启动时间,ZYNQ7000 #5 - 从vivado工程开始,从emmc启动Linux

本文详细介绍了如何从一个基础的Vivado工程开始,创建一个能运行Linux的系统,重点是将Linux内核和根文件系统部署在emmc中,通过QSPI Flash加载BOOT.BIN,使用uboot启动emmc中的image.ub。同时解决了当SD0为空时,Petalinux配置从SD1启动的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文从最简单的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使用)

4d8aceb3aa5b421e689b2837e3d21311.png

1.1 - PS配置

新建一个vivado工程,建立框图设计(Block Design),添加ZYNQ7 Processing System

MIO配置,添加QSPI Flash,根据你的板子来设置引脚,注意Bank0和Bank1的电平设置

7176f9a9fccbcf83714b17de5ce67914.png

MIO配置,添加外设,这里添加了一个以太网ENET0,一个USB0,SD0 和SD1分别是链接到SD卡和eMMC,UART1被选中,它将被做为linux系统基本串口登陆

bfce263b431c8958d931f88a157c4f3a.png

Clock配置,修改IO上的外设时钟

7e5e622bc553cafaf8726e6a3bb42de9.png

DDR配置,修改成PS上接入的内存

cf6a3fa79efbd851720c0cf28e2f1304.png

1.2 - 加个AXI-GPIO

添加一个AXI GPIO IP核,用来控制板上的4个LED。将其GPIO设置为4bit地址宽度,设置GPIO为外部引脚

5bb646cf844c0fcb7e147cb82c06f7b6.png

d11f997c17698ed7f518cfd3510f5817.png

点击“Run Connection Automation”和“Run Block Automation”,自动链接部分信号线和自动添加缺乏的ip

完成后咱们能够点击Diagram框内的Optimiz Routing,优化一下布局

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值