
Dear Frank,
On 2013.02/05, Frank Lombardo wrote:
Rommel,
I am using your recently posted patch to boot my custom Virtex4 board with XMD. Execution gets stuck in the NS16550_init() function. It gets stuck at this line:
So you're not jumping to random addresses anymore.
#if (!defined(CONFIG_SYS_NS16550_BROKEN_TEMT)) while (!(serial_in(&com_port->lsr) & UART_LSR_TEMT)) ; #endif
If I define CONFIG_SYS_NS16550_BROKEN_TEMT, it gets stuck in the while loop in NS16550_putc:
while ((serial_in(&com_port->lsr) & UART_LSR_THRE) == 0) ; serial_out(c, &com_port->thr);
From the GDB output, I can see it is using the correct address for the the serial port (0x84000000)
Hmmn. I've seen that before, I think. Don't define CONFIG_SYS_NS16550_BROKEN_TEMT.
Make sure you use CTS/RTS (h/w flow) control with your terminal application.
HTH.
All the best, Rommel
(gdb) target remote localhost:1234 Remote debugging using localhost:1234 NS16550_putc (com_port=0x84000000, c=13 '\r') at ns16550.c:91 91 while ((serial_in(&com_port->lsr) & UART_LSR_THRE) == 0) (gdb)
In your opinion, is your patch providing everything that I need to boot with XMD? Can you suggest what I might be doing wrong?
Thanks for any insight you may have, Frank