[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Qemu Xilinx Zynq A9 baremetal

From: Benjamin
Subject: Qemu Xilinx Zynq A9 baremetal
Date: Fri, 21 Feb 2020 18:33:18 -0700

My goal is to be able to debug a baremetal program running on a Qemu-simulated Zynq A9 processor.

Current progress:
    `qemu-system-arm -M xilinx-zynq-a9 -cpu cortex-a9 -nographic -kernel /home/bjames/coast/tests/radTest2019/pynq/standalone_hello/helloworld.build/helloworld.elf -m 512M -serial mon:stdio -s -S`
to host the GDB server, and
    `arm-none-eabi-gdb helloworld.elf`
    `target remote :1234`
to connect to the server.

Following the execution with GDB shows that the code does execute, but I do not see any messages printed on the terminal.  I also tried adding the flag `-semihosting`, but that did not seem to make any difference.

The code that I am trying to run is compiled with a modified version of the Xilinx toolchain.  An example of the bootup code that is being compiled can be found at: https://github.com/Xilinx/embeddedsw/blob/master/lib/bsp/standalone/src/arm/cortexa9/gcc/boot.S

I verified that the device tree has UART peripherals using the `info mtree` command:
    00000000e0000000-00000000e0000fff (prio 0, RW): uart
    00000000e0001000-00000000e0001fff (prio 0, RW): uart
I also verified that the code buried under `xil_printf` writes to the same address as this (as in https://github.com/Xilinx/embeddedsw/blob/master/XilinxProcessorIPLib/drivers/uartps/src/xuartps_hw.c#L74).

My conclusion is that I must not be calling/setting up Qemu correctly, but I'm not sure what else to try.  Any suggestions for how to get the output to the terminal?  Or to another TCP connection would be fine too.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]