User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 154
UG585 (v1.11) September 27, 2016
Chapter 6: Boot and Configuration
JTAG (Slave Mode Boot)
The JTAG boot mode is considered a Slave Mode boot and is always a non-secure boot mode. The
JTAG chain can be configured in cascade or independent mode. During the boot sequence, the chain
is configured according to the setting of the MIO [2] boot strapping pin. Normally, the system is
configured for cascade mode. When the TRM refers to JTAG boot mode, it means JTAG cascade mode
unless stated otherwise. The JTAG interface is enabled in all non-secure boot modes.
Cascade JTAG chain (most popular):
°
Access DAP and TAP controllers through PL JTAG.
Independent JTAG chain (common):
°
Access TAP controller through PL JTAG.
°
Access DAP controller through EMIO JTAG via SelectIO pins after configuring the PL with a
bitstream.
Independent JTAG chain (rarely used):
°
Access TAP controller through PL JTAG.
°
Access DAP controller through MIO PJTAG.
The JTAG interfaces are discussed in section 6.4.5 PL Control via User-JTAG and detailed in
Chapter 27, JTAG and DAP Subsystem.
6.1.5 BootROM Execution
The BootROM execution begins soon after a POR or non-POR reset. A POR reset causes the Hardware
Boot stage to occur and then starts the BootROM execution. A non-POR reset skips the hardware
stage and starts the BootROM execution almost immediately.
The BootROM executes the on-chip ROM code to perform the system boot process. The BootROM
disables all access to the ROM code before transferring code execution over to the FSBL/User code.
Details of how the system memory is remapped are shown in Figure 6-11, page 202.
Early in the BootROM execution, it sets up the APU and performs some self-checking. It reads the
boot mode pin information and, if the boot mode is not JTAG, the BootROM configures the controller
for the selected boot device. The BootROM reads the BootROM Header to further configure the
system for the desired boot process. In addition to the BootROM Header, the boot device provides
the first stage boot loader (FSBL) and/or user code that takes over system control when the
BootROM is done.
The boot device can also provide an image for the operating system, refer to UG821
, Zynq-7000 All
Programmable SoC Software Developers Guide. BootROM execution is detailed in section
6.3.1 BootROM Flowchart. The BootROM Header is described in 6.3.2 BootROM Header.
Secure Boot
The BootROM can operate in non-secure or secure mode depending on the configuration setup by
the BootROM Header. In secure mode, the FSBL/User code is moved from the flash device, decrypted
and written into the OCM memory. The CPU executes the code from the OCM.