ZYNQ开发之系统启动与复位

1、介绍
\quad 复位系统包含由硬件、看门狗、JTAG控制器和软件生成的复位。硬件复位包含上电复位PS_POR_B和外部系统复位PS_SRST_B。
\quad 在PS端有三个看门狗复位。
\quad JTAG复位只有在DBUG时候才能生成。
\quad 软件复位是软件生成的子模块或系统级复位。

2、复位逻辑图
在这里插入图片描述
3、启动流程
在这里插入图片描述
1)完整复位顺序如上图所示。前两个步骤由外部系统控制,PS逻辑仅在电源接通复位(POR)被释放时才开始响应。当PS运行时,任何类型的复位都可以在POR之后发生。

2)POR_N被释放后,eFUSE控制器退出复位。它自动将一些数据应用到PLL,并向PS中的一些ram提供冗余信息。该活动对用户不可见,也不受用户影响。这个活动需要50到100 us的时间来完成。

3)POR信号可以异步的断言和释放。当POR信号被释放后,系统将使能时钟的生成,如果PLL使能则进入PLL时钟电路。BOOT_MODE引脚用来选择所有的PLLs启用和所有的PLLs禁用。当PLL被禁用时,引导过程需要更长的时间。

4)如果锁相环被启用,那么POR信号在这一点被延迟,直到锁相环时钟被锁定。如果选择了锁相环旁路模式,则POR信号不会延迟。

5)在BootROM开始执行之前,内部ram通过硬件向所有地址写入0来清除。

4、复位资源
4.1、电源复位(PS_POR_B)
\quad PS支持外部上电复位信号。上电复位是整个芯片的主复位。这个信号使设备中每一个寄存器都能够复位。当PS_POR_B保持低,所有PS I/ O保持在三态,并且在大多数MIO引脚上启用弱上拉。每个MIO引脚的上拉由MIO_PIN_xx [PULLUP]位独立控制。位12的复位值可以在SLCR寄存器汇总表中读取。

\quad PS_POR_B复位引脚保持低,直到所有PS电源都处于所需的电压水平并且PS_CLK激活。它可以异步地断言,并进行内部同步和过滤。当信号被保持为低时,滤波器防止高电平的小脉冲进入PS。当信号被设定为高电平时,它不会过滤低电平的脉冲。检测到的任何低电平脉冲都会立即复位设备。

\quad PS_POR_B信号通常连接到来自电源的良好信号。当PS_POR_B取消断言时,系统将采样引导模式引脚(boot pins)并开始其内部初始化过程。

4.2.外部系统复位
\quad 上电复位擦除所有调试配置。外部系统复位允许用户重置设备内的所有功能逻辑,而不会干扰调试环境。例如,用户先前设置的断点在外部系统重置后仍然有效。当PS_SRST_B被保持为低值时,所有的PS I/ O都被保持为三态。

\quad 出于安全考虑,系统重置会删除PS中的所有内存内容,包括OCM。PL也会在system reset中重置。系统复位不会重新采样启动模式引脚。如果这个引脚没有在系统中使用,它就应该被上拉。

4.3.系统软件复位
\quad 用户可以通过断言软件重置来重置整个系统。通过断言PSS_RST_CTRL[SOFT_RST],整个系统被重置,最终结果与用户按下PS_SRST_B pin相同(除了REBOOT_STATUS寄存器值不同)。
\quad 与其他系统重置一样,所有ram都被清除,PL也被重置。

4.4.看门狗复位
\quad 看门狗定时器复位由看门狗定时器使能并超时后内部产生。在PS中有三个不同的看门狗计时器:一个系统级计时器(SWDT)和一个私有计时器在两个ARM核心(AWDT0和AWDT1)。系统级定时器重置信号总是重置整个系统,而私有看门狗计时器可以重置各自的ARM核心,或整个系统。

4.5.安全违反锁定
\quad 当检测到安全违规时,整个PS将被重置并锁定。安全锁定发生后,PS只有通过断言和反断言PS_POR_B重置pin才能再次激活。

4.6.调试复位
\quad 来自调试访问端口(DAP)控制器的调试复位有两种类型:调试系统复位和调试复位。
\quad 调试系统复位是由JTAG控制的ARM DAP命令。这将导致系统复位,就像外部系统复位一样。
\quad 调试复位复位SoC调试块的某些部分,包括JTAG逻辑。
\quad PS不支持外部TRST,尽管它支持使用TMS断言重置序列。JTAG逻辑只有在上电复位或ARM调试访问端口(DAP)控制器(JTAG)断言CDBGRSTREQ时才会被重置。JTAG TCK时钟域的所有逻辑都被这个信号重置。

5、复位效果
在这里插入图片描述
6、PL复位
\quad 有四个单独的复位信号FCLKRESETN[3:0],路由到PL,可以用作PL逻辑的通用复位信号。这些复位信号不会被删除,直到PS退出其引导序列,并且用户代码对它们进行反断言。它们是由SLCR.FPGA_RST_CTRL寄存器控制的。当有效的总线事务存在时,不能重置连接到PS的PL逻辑,因为未完成的事务可能在PS中处于等待状态。
\quad 复位信号弱相关FCLK。如果用户需要同步重置,用户必须自己在PL中同步它(FCLK需要切换以使重置传播到PS)。

  • 0
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Zynq-7020是Xilinx推出的一款SoC(系统级芯片),其中集成了ARM Cortex-A9处理器和可编程逻辑(FPGA)。以下是Zynq-7020的启动流程概述: 1. 上电复位:当Zynq-7020芯片上电或复位时,所有寄存器和设备都会被初始化为默认状态。 2. Boot ROM(引导加载程序):Zynq-7020芯片内部有一个固化的引导加载程序,称为Boot ROM。它位于固定的内存地址上,并负责初始化系统、配置外设和加载引导加载程序。 3. FSBL(First Stage Boot Loader):引导加载程序从Boot ROM加载FSBL。FSBL是第一阶段的引导加载程序,负责初始化处理器、DDR内存控制器和外设,从而为后续的启动提供必要的环境。FSBL还负责加载下一阶段的引导加载程序。 4. Second Stage Boot Loader:第二阶段的引导加载程序(如U-Boot)被FSBL加载到DDR内存中,并执行。第二阶段引导加载程序可以执行更复杂的初始化、配置和加载任务,如加载Linux内核和文件系统。 5. Linux内核启动:第二阶段引导加载程序加载Linux内核镜像到内存中,并启动Linux操作系统。Linux内核将初始化硬件、加载驱动程序、建立进程和启动用户空间。 6. 用户空间:一旦Linux内核启动,控制权将转移到用户空间,用户可以执行应用程序和进行系统操作。 需要注意的是,Zynq-7020的启动流程可以根据具体的应用需求和系统配置进行定制和修改。开发人员可以通过配置FSBL和第二阶段引导加载程序来控制引导过程中的初始化、加载和配置操作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值