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.
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:
Then specify: When enabling only UART1:
Then specify: |
-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 |