tgsigma 发表于 2007-10-30 19:42:09

请各位linux高手给予些指点!

我使用的linux内核为linux.26.20.3的版本,使用u-boot引导,ram 64M cpu s3c2410 nand flash 64M cs9800.
系统通过u-boot引导,bootargs为 console=ttySAC0,115200, mem64M(仅是作测试之用,文件系统还没有挂上)
u-boot中相关引导参数传递相关的宏,都已经设置。
u-boot锁定频率为200MHz

似乎该注意到的都已经注意到了,但是linux内核还是没有被成功引导起来。
引导信息如下:

U-Boot 1.2.0 (Oct 31 2007 - 11:42:11)               
                                                   
U-Boot code: 33F80000 -> 33F981CCBSS: -> 33F9CA84
RAM Configuration:
Bank #0: 30000000 64 MB
IN board init
NAND:    64 MB
In:    serial
Out:   serial
Err:   serial
make sure define CONFIG_DRIVER_CS8900
net id is 0x630e
eth_initialize, file: board.c, line = 400
FCLK is 200000000                                                               
eth_initialize function                                                         
Hit any key to stop autoboot:0                                                
                                                                              
NAND read: device 0 offset 262144, size 2097152 ...                           
2097152 bytes read: OK                                                         
## Booting image at 30008000 ...                                                
   Image Name:   linux-2.6.20                                                   
   Created:      2007-10-28   8:34:56 UTC                                       
   Image Type:   ARM Linux Kernel Image (uncompressed)                        
   Data Size:    1179948 Bytes =1.1 MB                                       
   Load Address: 30008000                                                      
   Entry Point:30008040                                                      
   Verifying Checksum ... OK                                                   
   XIP Kernel Image ... OK                                                      
bootargs = console=ttySAC0,115200 mem64M                                       
arg = bootm                                                                  
arg = 0x30008000                                                            
                                                                              
Starting kernel ...                                                            
                                                                              
Uncompressing Linux.............................................................

首先,为了确认是否为u-boot的问题,我将linux2.4的内核传入0x30008000,并且用u-boot的bootm引导(当然修改 console=ttyS0,115200)成功引导,并且也显示接受到了 bootargs的信息。由此应该可以排除u-boot的问题。(是否有疑问?请指出)

为了跟踪2.6.20内核是否运行正常,发现了个奇怪的问题。
在汇编跟踪阶段采用了printascii和点led并行跟踪的方式,最后跟踪到b start_kernel处(该句之前,除了mmu on后内存地址空间发生变化led不可用,之后只能用printascii跟踪,所有的调试信息都能正常出现)。
当跟踪到main.c中的start_kernel后,所有的调试方式都失去了效果,终端没有任何信息。
我是在start_kernel函数的入口处继续使用printascii函数进行打印。

有谁遭遇到这怪事呢?给我些指点吧!谢谢!
页: [1]
查看完整版本: 请各位linux高手给予些指点!