Zynq-7000 PS Arguments for QEMU - 2022.2 English

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

Document ID
UG1393
Release Date
2022-12-07
Version
2022.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-7000 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-7000 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-7000 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-7000 devices