Zynq-7000 PS Arguments for QEMU - 2021.2 English

Vitis Unified Software Platform Documentation: Application Acceleration Development (UG1393)

Document ID
UG1393
ft:locale
English (United States)
Release Date
2021-12-15
Version
2021.2 English

Zynq-7000 PS(a9) is emulated by qemu-system-aarch64 QEMU binary. Most common command line switches of PS are captured in qemu_args.txt.

Table 1. Zynq-7000 Options for qemu_args.txt
Switch Name Value Description Source of the Config How to Extract the Info
-M arm-generic-fdt-7series Indicates the QEMU machine to create. arm-generic-fdt-7series tells QEMU to parse dtb for machine generation, passes by -hw-dtb user.dtb. Static Hard coded for Zynq devices
-serial -serial /dev/null -serial mon:stdio Redirect the serial port to specified char dev (i.e., stdio, tcp port, file, etc.) Based on the UART configuration of the Zynq IP.

Zynq has two UARTs.

When enabling UART0:
CONFIG.PCW_UART0_PERIPHERAL_ENABLE = 1 
CONFIG.PCW_UART1_PERIPHERAL_ENABLE = 0 or 1

Then specify: -serial mon:stdio

When enabling only UART1:
CONFIG.PCW_UART1_PERIPHERAL_ENABLE = 1

Then specify: -serial null -serial mon:stdio

-device loader,addr=0xf8000008,data=0xDF0D,data-len=4 -device loader,addr=0xf8000140,data=0x00500801,data-len=4 -device loader,addr=0xf800012c,data=0x1ed044d,data-len=4 -device loader,addr=0xf8000108,data=0x0001e008,data-len=4 -device loader,addr=0xF800025C,data=0x00000005,data-len=4 -device loader,addr=0xF8000240,data=0x00000000,data-len=4 Register writes to SLCR block, to set PLL and CLK_CTRL regs (required for Linux). Static Hard coded for Zynq devices
-boot mode=5 Boot mode 5 is for SD boot. v++ -p  
-kernel <u-boot.elf> Guest software to load during boot up. Static <u-boot.elf> is replaced with the absolute path of u-boot.elf from the target platform
-machine linux=on Make QEMU itself a loader of the Linux image. Static Hard coded for Zynq devices