|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
我准备在AT91RM9200上移植2.6内核,其实我是2.6.12和17都试了, 最后在串口的打印都是
## Booting image at 10080000 ...
Image Name:
Image Type: ARM Linux Kernel Image (gzip compressed)
Data Size: 1123317 Bytes = 1.1 MB
Load Address: 20008000
Entry Point: 20008000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
Starting kernel ...
然后就什么都没有打印了.........
我想应该是串口设置的问题,PATCH后arch/arm/mach-at91rm9200/board-dk.c源码是:
/*
* Serial port configuration.
* 0 .. 3 = USART0 .. USART3
* 4 = DBGU
*/
static struct at91_uart_config __initdata dk_uart_config = {
.console_tty = 0, /* ttyS0 */
.nr_tty = 2,
.tty_map = { 4, 1, -1, -1, -1 } /* ttyS0, ..., ttyS4 */
};
参考网络上文章中说最终修改如下:
====================================================
static struct at91_uart_config __initdata dk_uart_config = { .console_tty = 0, /* ttyS0 */
.nr_tty = 5,
.tty_map = { 4, 1, 0, 2, 3 } /* ttyS0, ..., ttyS4 */ };
否则,新内核没有ttyS4设备,而我们的serialconsole正是基于ttyS4的,所以ramdisk解压后由于找不着ttyS4而死掉。
=============================================================
我当然用的串口1,就是ttyS0吧,联接的是DEBUG端口,按注释应该是PORT 4,那按照我的理解:你修改的地方主要是:nr_tty这个差数,从2改到了5,什么意思呢
这个参数是什么
我自己把终端和端口可能搞胡涂了,ttyS0应该是串口的端口1, 4 = DBGU 应该是对应.tty_map= { 4, 1, -1, -1,-1 } 中的第一个,这样理解应该没问题吧,可我的终端打印都是到Starting kernel ...就永远的完了
刚转行搞LINUX,希望高手指点
另外:
1: 编译内核时会出现
drivers/video/console/vgacon.c:289:error: for each function it appears in.)
的错误,我想这个属于video模块,就把内核中的 Devices Drivers--->Graphics support中的所由模块去掉了才解决这个错误,反正图型界面不影响串口的文字打印吧
2: /drivers/serial/s3c2410.c 已更改#define SERIAL_S3C2410_NAME "ttyS" ,问题依然
|
|