Zynq Ultrascale MPSoC Multiboot and Fallback


This page will describe procedures to make images for Multiboot and fallback use case scenarios of booting on ZCU102 board.

Table of Contents

1.1 ZCU102 Mutltiboot and Fallback Procedures


1. Multiboot Procedure for A53 first then R5 in Non Secure SD boot mode
2. Multiboot Procedure for R5 first then A53 in Non Secure SD boot mode
3. Mutliboot Procedure for Standalone Application in Secure SD boot mode
4. Fallback Procedure for A53 first then R5 in Non Secure SD boot mode
5. Fallback Procedure for R5 first then A53 in Non Secure SD boot mode
6. Fallback Procedure for Standalone Application in Secure SD boot mode
Note:
1. Multiboot and fallback boot images(boot.bin, boot000x.bin) should be made with using same key
in encryption for Secure boot mode.
2. Multiboot and fallback boot images(boot.bin, boot000x.bin) should be made with using same key
in authentication for Secure boot mode.
3. Multiboot and fallback boot images(boot.bin, boot000x.bin) should be in Non-Secure mode.

1.1.1 Multiboot using A53's boot first and then R5 in Non-Secure SD boot mode


1. Refer to Generate images section of PetaLinux in Non Secure mode
2. Build the FSBL for A53 using SDK as follows




3. Build the R5 hello world app using SDK as follows






4.To select the UART1 for R5-0, configuration settings using SDK as follows.



5. Multiboot mode register should be updated with count required for the user. Modified FSBL code as follows
  • In , after fsbl init success add the XFsbl_UpdateMultiBoot() with the user required count.For example count as 2
  • Build the FSBL

Note: xfsbl_main.c file can be changed and used as reference file.
6. Create the boota53_mb.bif file as follows to boot from SD card with modified FSBL code

7. Create the boot.bin as follows

8. Create the boota53.bif file as follows to boot from SD card with the images built using PetaLinux

9. In SD card multiboot mode, boot.bin image naming convention should be boot000x.bin. So create the boot0001.bin and boot0002.bin as follows

10. Copy the boot.bin, boot0001.bin, boot0002.bin and image.ub to SD card
11. Insert the SD card and power on the board.Switch setting as follows



12. Connect the console with the following settings for both COM interface 0 as UART0 and COM interface 1 for UART1



13. Board should boot with BOOT0002.bin as follows in FSBL fetch from A53 then R5 on UART0 and Hello world message in UART1.
The following log is displayed on the screen

1.1.2 Multiboot Procedure for R5 first then A53 in Non-Secure SD boot mode


1. Refer to generate images section of PetaLinux in Non Secure mode
2. Build the FSBL for R5 using SDK as follows



3. Multiboot mode register should be updated with count required for the user. Modified FSBL code as follows
  • In , after fsbl init success add the XFsbl_UpdateMultiBoot() with the user required count.For example count as 2
  • Build the FSBL
Note: xfsbl_main.c file can be changed and used as reference file.
4. Create the bootr5_mb.bif file as follows to boot from SD card with modifed fsbl code
5. Create the boot.bin as follows

6. Create the bootr5.bif file as follows to boot from SD card with modified FSBL code
7. In SD card multiboot, boot.bin image naming convention should be boot000x.bin. So create the boot0001.bin and boot0002.bin as follows

8. Copy the boot.bin, boot0001.bin, boot0002.bin and image.ub to SD card
9. Insert the SD card and power on the board.Switch settings as follows


11. Connect the console with the following settings



12. Board should boot with BOOT0002.bin as follows in FSBL from R5 then u-boot should boot from A53

1.1.3 Multiboot Procedure using Standalone application in Secure SD boot mode


1. Build the FSBL for A53 using SDK figures as follows





2. Multiboot mode register should be updated with count required for the user. Modified FSBL code as follows
  • In , after fsbl init success add the XFsbl_UpdateMultiBoot() with the user required count.For example count as 2
  • Build the FSBL
Note: xfsbl_main.c file can be changed and used as reference file.
3. Build the A53 hello world app using SDK figures as follows




4. Refer to bbram section for key programming in BBRAM
5. Create the boota53_mb.bif file as follows to boot from SD card with modified FSBL

6. Create the boot.bin as follows

7. Create the boota53.bif file as follows to boot from SD card with modifed fsbl code

8. In SD card multiboot, boot.bin image naming convention should be boot000x.bin. So create the boot0001.bin and boot0002.bin as follows

9. Copy the boot.bin, boot0001.bin and boot0002.bin to SD card
10. Insert the SD card and power on the board.Switch settings as follows

11. Connect the console with the following settings.




12. Board should boot with BOOT0002.bin as follows in FSBL from A53

1.1.4 Fallback procedure for A53's boot first and then R5 in Non-Secure SD boot mode


1. Refer to Generate images section of PetaLinux in Non Secure mode
2. Build the R5 hello world app using SDK as follows






3.To select the UART1 for R5-0, configuration settings using SDK as follows.



4. Create a image boota53_bad.bif file as follows to boot from SD card with zynq_fsbl.elf or change the header to create a bad image
5.Create the bad boot.bin image as follows
6. Create the boota53.bif file as follows to boot from SD card with zynq_fsbl.elf

7. Create the boot0001.bin as follows

8. Copy the boot.bin, boot0001.bin and image.ub to SD card
9. Insert the SD card and power on the board. Switch settings as follows


10. Connect the console with the following settings for both COM interface 0 as UART0 and COM interface 1 for UART1


11. Board should boot with BOOT0001.bin as follows in FSBL from A53 then R5. The following log is displayed on the screen .


1.1.5 Fallback Procedure for R5 first then A53 in Non-Secure SD boot mode


1. Refer to generate images section of PetaLinux in Non Secure mode
2. Build the FSBL for R5 using SDK as follows


3. Create the bootr5_bad.bif file as follows to boot from SD card with modifed fsbl code or change the header to create a bad image.
4. Create the bad boot.bin image as follows
5. Create the bootr5.bif file as follows to boot from SD card with modifed fsbl code

6. Create the boot0001.bin as follows
7. Copy the boot.bin, boot0001.bin and image.ub to SD card
8. Insert the SD card and power on the board.Switch settings as follows


9. Connect the console with the following settings



10. Board should boot with BOOT0001.bin as follows in FSBL from R5 then A53

1.1.6 Fallback Procedure using Standalone application in Secure SD boot mode


1. Build the FSBL for A53 using SDK figures as follows





2. Build the A53 hello world app using SDK figures as follows



3. Refer to bbram section for key programming in BBRAM
4. Create the boota53_bad.bif file as follows to boot from SD card with modified FSBL or change the header to create a bad image


5. Create a bad boot.bin image as follows
6.Create the boota53.bif file as follows to boot from SD card with zynqmp_fsbl.elf
7. Create the boot0001.bin as follows
8. Copy the boot.bin and boot0001.bin to SD card
9. Insert the SD card and power on the board.Switch setting as follows

10. Connect the console with the following settings



11. Board should boot with BOOT0001.bin as follows








Related Links