zynq启动过程
demi 在 周三, 10/23/2019 - 13:37 提交
本文主要介绍zynq启动过程,主要包括BootROM和FSBL等的执行过程。
本文主要介绍zynq启动过程,主要包括BootROM和FSBL等的执行过程。
之前介绍了Zynq中的SPI控制器。本文再系统总结下对SPI协议的理解,加强对其认识。最后再说明Zynq中如果配置和使用SPI控制器。
建立zcu102的Vivado工程,新建Block Design,并且添加zynq模块;运行Run Block Automation,双击打开zynq模块配置查看SD接口配置。
本文简单介绍Zynq中的SPI控制器。本文将“master”称为“主机”;将“slave”称为“从机”;将“slave slect”从机选择简称为SS。
网上关于vivado开发zynq的资料很多,总结以下操作流程,以SD模式为例。
首先来理清楚MIO与EMIO的关系。MIO是PS的I/O引脚,一共有54个,分为Bank0与Bank1,可以接许多外设比如UART、SPI或GPIO等,另外可以引脚复用。
Zynq中的UART支持轮询和中断驱动两种模式。本文给出使用中断驱动模式的例子,完成与26篇中轮询模式下相同的功能,即UART收到8字节数据后执行某项操作。对比之下,体会中断驱动模式的特点。
Zynq-7000AP SOC器件有效利用了片上CPU来帮忙配置。在没有外部JTAG的情况下,处理系统(PS)与可编程逻辑(PL)都必须依靠PS来完成芯片的初始化配置。ZYNQ的两种启动模式:从BootROM主动启动,从JTAG被动启动。
Zynq中的UART支持轮询和中断驱动两种模式。本文给出两个使用轮询模式的例子,在24篇程序框架的基础上进行改动(贴出主要改动代码,改动很小的地方,如函数接口变化导致函数声明也要改,相信你可以根据我的代码和设计目的自己完成),最后再讨论一下轮询模式的特点。
在ZYNQ进阶之路3中我们讲解了PL端UART 发送的设计,本节我们讲解PL端实现串口UART的接收设计。