User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 152
UG585 (v1.11) September 27, 2016
Chapter 6: Boot and Configuration
Software Developers Guide and Kit
The boot modes and operations are summarized in chapter 3 of the UG821 Zynq-7000 Software
Developers Guide. The chapter describes boot methods and ways to program the hardware using the
FSBL. The software developers guide also discusses software architectures, tools, and various boot
environments, including Linux U-Boot.
The software developers kit (SDK) can be used to develop and debug bare-metal applications. It can
also be used to create FSBL/User code boot images and application programs running on an
operating system.
6.1.1 PS Hardware Boot Stages
The PS hardware boot stages include power supply ramping, clocking, resets, pin strap sampling and
PLL initialization. The PL can be powered up while the PS boots up. The PL boot process is described
in section 6.1.7 PL Boot Process.
External PS Control Pins
Within several clock cycles of the PS_CLK reference clock, the hardware samples the seven Boot
Mode strap pins (see Figure 6-4) and stores their settings in read-only registers. The strap pins
define the initial voltage sensitivity for the MIO input buffers, select the JTAG chain route, and select
the flash device that contains the boot image. Development boards automatically deassert the
PS_POR_B reset pin after the board is powered-up. These boards also include a POR reset button that
can be used to generate a POR reset. A non-POR system reset can be generated using the PS_SRST_B
reset pin. The details of the PS hardware boot functions are described in section 6.2 Device Start-up.
PS PLL Initialization
The PS PLLs are enabled by MIO pin 6, the BOOT_MODE[4] strap pin. When the PLLs are enabled, the
execution of the BootROM is delayed until the PLL outputs lock. If the PLLs are not enabled, the
PS_CLK reference clock input pin is bypassed around the PLLs and the clock subsystem is driven at
the frequency of PS_CLK input. The PLL clocks are described in section 6.2.3 Clocks and PLLs and in
Chapter 25, Clocks.
6.1.2 PS Software Boot Stages
The PS software boot process is controlled by the BootROM and then the FSBL/User code. The
BootROM operation is influenced by the boot strap pins, the BootROM Header, and what the
BootROM detects in the system.
Stage 0 (BootROM: BootROM Header)
Hard-coded BootROM executes on the primary CPU (CPU 0) after a power-on reset (POR) or
non-POR system reset (PS_SRST_B, debug, watchdog, software). The BootROM reads the BootROM
Header programmed into the boot flash device to determine the boot flow and transitions to
stage 1. After the hardware boot sequence, both CPUs start executing the same BootROM code