QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1512|回复: 0

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

[复制链接]
发表于 2007-10-30 19:42:09 | 显示全部楼层 |阅读模式
我使用的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 -> 33F981CC  BSS: -> 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[0] = bootm                                                                  
arg[1] = 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函数进行打印。

有谁遭遇到这怪事呢?给我些指点吧!谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-2 12:37 , Processed in 0.053155 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表