Bringing up Linux kernel of custom 405gpr board dies in serial_putc
Jerry Walden
jwalden at digitalatlantic.com
Tue Mar 18 10:56:12 EST 2003
Greetings:
I am trying to bring up the Monta Vista Kernel
(Linux-2.4.18_mvl30) on a custom 405GPr based
board. I can bring up u-boot just fine and dandy -
all the u-boot peripheral configurations work
just fine.
I am using a BDI-2000 to assist in debugging.
I perform the following steps:
1) Reset the board using the BDI
2) U-boot comes up just fine
3) I issue the halt command from the BDI
4) I issue the command - load 0x200000 vmlinux.PPCBoot BIN from the BDI
5) I issue the command - go 0x03xx_xxxx which continues the u-boot monitor
from the halt
6) I issue the imi command - imi 0x200000 - and it prints out that all is
well with the image
7) I issue the u-boot command - bootm 0x200000, and it proceeds to boot
linux and then I get not
response or output after the message (Transferring control to Linux at
address 00000000...)
So in order to investigate what could be going wrong, before I issue the
bootm command in step
7, I halt the processor using the BDI, and have set succesive breakpoints
deeper into the code
until I think I have found the function which is causing problems -the code
below crashes in serial_putc
at the first readb. It looks to me like the comport address is the same as
in my u-boot code,
as is the register offset UART_LSR.
Any ideas at what to look into further.
Kindest Regards,
Jerry
/* We assume that the UART has already been initialized by the
firmware or the boot loader */
static void
serial_putc(u8 * com_port, unsigned char c)
{
while ((readb(com_port + (UART_LSR)) & UART_LSR_THRE) == 0) ;
writeb(c, com_port);
}
static void
ppc4xx_progress(char *s, unsigned short hex)
{
char c;
#ifdef SERIAL_DEBUG_IO_BASE
u8 *com_port = (u8 *) SERIAL_DEBUG_IO_BASE;
while ((c = *s++) != '\0') {
serial_putc(com_port, c);
}
serial_putc(com_port, '\r');
serial_putc(com_port, '\n');
#else
printk("%s\r\n");
#endif
}
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-embedded
mailing list