In the master boot method, the CPU loads and executes the external boot images from non-volatile memory into the processor system (PS). Different kinds of non-volatile memories such as QSPI, NAND, NOR flash, and SD cards are used to store boot images. In this method, the master boot method is further divided into secure and non-secure modes. Refer to the Zynq 7000 SoC Technical Reference Manual (UG585) for more details.
The boot process is initiated by one of the Arm® Cortex™-A9 CPUs in the processing system (PS) and it executes on-chip ROM code. The on-chip ROM code is responsible for loading the first stage boot loader (FSBL). The FSBL does the following:
Configures the FPGA with the hardware bitstream (if it exists)
Configures the MIO interface
Initializes the DDR controller
Initializes the clock PLL
Loads and executes the Linux U-Boot image from non-volatile memory to DDR memory
The U-Boot loads and starts the execution of the kernel image, the root file system, and the device tree from non-volatile RAM to DDR. It finishes booting Linux on the target platform.