User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 170
UG585 (v1.11) September 27, 2016
Chapter 6: Boot and Configuration
APU Initialization
The BootROM configures the APU and MIO multiplexer to support the boot process. The state of the
MIO pins for each boot mode is described in tables in the Boot Device sections (for example,
Table 6-9 for Quad-SPI). The BootROM uses the CPU 0 to execute the ROM code. CPU 1 executed the
WFE instruction. The caches and TLBs are invalidated. The BootROM configures the MMU and other
system resources to meet the needs of the BootROM execution. The state of the APU is described in
section 6.3.13 Post BootROM State.
Note: FSBL/User code and operating system software must configure the APU for their own needs
and should consider the CPU initialization steps described in section Chapter 3, Application
Processing Unit.
6.3.2 BootROM Header
The BootROM requires a header for all master boot modes (flash devices). In JTAG slave boot mode,
the BootROM Header is not used and the BootROM does not load the FSBL/User code.
The BootROM Header parameters are shown in Table 6-5 with their word number, byte address
offset, and applicability for the three types of device boot modes.
Table 6-5: BootROM Header Parameters
Header Address
32-bit
Word
Parameter
Boot Device
Secure
Usage
Non-Secure
Usages
OCM OCM
Execute In
Place
(6)
0x000 - 0x01F 0 - 7
Interrupt Table for
Execution-in-Place
no no yes
0x020 8 Width Detection Quad-SPI Quad-SPI Quad-SPI
0x024 9 Image Identification yes yes yes
0x028 10 Encryption Status yes yes yes
0x02C 11 FSBL/User Defined
(3)
~~~
0x030 12 Source Offset yes yes ~
0x034 13 Length of Image yes yes set = 0
0x038 14 Reserved, set to 0. ~ ~ ~
0x03C 15 Start of Execution yes yes yes
0x040 16 Total Image Length note
(1)
note
(2)
set = 0
0x044 17 Reserved, set to 0. ~ ~ ~
0x048 18 Header Checksum yes yes yes