The Uart of vc707 has no output

Hi,
I only program the mcs file of vc707, and then power on the vc707. The uart of vc707 has no output. The file sd.c contains the following code:
int main(void)
{
REG32(uart, UART_REG_TXCTRL) = UART_TXEN;

kputs("INIT");
sd_poweron();

Why can’t I see the output of kputs function through UART? Thank you very much!

Sorry for the delayed response,

Are you sure that you are looking at the correct serial port with the correct baud rate (115200)? You should see some sort of output whether or not the sd initialization is successful. Pressing the reset button on the vc707 will trigger it to restart the sequence for easier testing.

Another possibility, do you have the Hitech Global FMC PCIe card? If you made the default fpga image and don’t have this, the core will be stuck in reset. You can change the makefile to point to “VC707BaseShell” instead of “VC707PCIeShell” to avoid this if this is the issue.

Thank you for your reply. I have the Hitech Global FMC PCIe card, but the uart still can’t output any data. The FAE analysis FMC card should be good. Is there any way to further analyze whether it is related to the card?

I’d double check the clock/DIP switch settings on the FMC PCIe card… I seemed to have misplaced mine.

Alternatively, you can build the later versions of the freedom U500 without PCIe support just to sanity check things.

The current master builds without PCIe if you do a “MODEL=VC707BaseShell make -f Makefile.vc707-u500devkit verilog” and then “MODEL=VC707BaseShell make -f Makefile.vc707-u500devkit verilog”. I have built with up to Vivado 2019.1.

1 Like

One important thing for the FMC PCIe Card – there needs to be a jumper wire placed between TDO and TDI on the jtag pins (these are board debug signals, not the SiFive Debug Module signals)