Booting image at 02030000 ... Image Name: Linux-2.6.9-Centaur Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 855828 Bytes = 835.8 kB Load Address: 00008000 Entry Point: 00008000 Verifying Checksum ... OK OK No initrd ## Transferring control to Linux (at address 00008000) ...
Starting kernel ...
Uncompressing Linux........................................................ done , booting the kernel.
执行过程如上,然后就死机了,看了网上的**,说是u-boot和linux中的参数不匹配, 但是我的U-BOOT中设置的波特率是38400,bootargs=console=ttyAM0,38400;
linux中的串口驱动: static int __init ks8695_console_setup(struct console *co, char *options) { struct uart_port *port; int baud = 38400; int bits = 8; int parity = 'n'; int flow = 'n';
/* * Check whether an invalid uart number has been specified, and * if so, search for the first available port that does have * console support. */ port = uart_get_console(ks8695_uart_ports, UART_NR, co);
if (options) uart_parse_options(options, &baud, &parity, &bits, &flow); else ks8695_console_get_options(port, &baud, &parity, &bits);
/* The spinlock is setup in uart_add_one_port function but that function is not called yet. */ spin_lock_init(&port->lock); return uart_set_options(port, co, baud, parity, bits, flow); } 照目前看,两边的波特率是一样的。
问题: 1.死机的原因是由波特率的不同造成的吗?
2.我这样的分析对吗?
3.还有其它的原因及其解决方法吗? |