在at91rm9200上使用u-boot-1.1.4加载linux-2.6.17问题

GAOYUYOU   2007-10-25 09:06 楼主
我是新手请请教
     在at91rm9200上使用u-boot-1.1.4加载linux-2.6.17问题

现在的问题:
1:u-boot不能自动加载内核,必须在u-boot的命令提示符下自己输入装载命令bootm 10080000
     
    我的U-BOOT1.1.4和内核2.6.12都已经编译并下载到板子上,但是却不能自动引导内核,板子上电后会直接进入到u-boot命令提示符,连 Hit any key to stop autoboot的信息都没有打印,我在命令行直接输入启动运行命令(bootm 10080000)倒是可以启动
应该哪个文件中的是启动命令有问题吧,  大概是什么源文件呢


以下是打印:
Boot BOOT 1.0 (Mar 30 2006 - 23:09:38)

Uncompressing image...


U-Boot 1.1.4 (Oct 23 2007 - 17:27:08)

U-Boot code: 21F00000 -> 21F165C0  BSS: -> 21F33404
RAM Configuration:
Bank #0: 20000000 32 MB
Intel MILANGAGA28F128J3A (128Mbit) 16-Bit
Size: 16 MB in 128 Sectors
Flash: 16 MB
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial       [color=#FF0000]//直接跳转到下面的命令提示符
U-Boot>  [color=#FF0000]//这里可以输入bootm 100800000后运行内核

2:
使用别人比编译好的u-boot无上述问题,但是我自己编译的内核又启动不起来,论坛里也有关于zImage 到uImage的转换,我用下面两条命令编译出来的uImage 都不能正常加载
/u-boot-1.1.1/tools/mkimage  -A arm -O linux -C gzip -a 0x20008000 -e 0x20008000 -d linux.bin.gz uImage
/u-boot-1.1.1/tools/mkimage  -A arm -O linux -C gzip -a 0x20008000 -e 0x20008040 -d linux.bin.gz uImage
前者是在打印Starting kernel ...后就永远的停住了
后者编译的内核在加载时到了Starting kernel ...应该在执行bootm 1008040命令,估计是找不到适合的入口程序,所以一直重复解压uImage的过程,然后又Starting kernel ..., 不行又重来。。。。。。
======================================================================
[color=#FF0000]// 烧入 -e 0x20008000 -d linux.bin.gz uImage 命令生成的uImage后的打印

U-Boot 1.1.2 (Mar 31 2006 - 00:29:24)#                                    

U-Boot code: 21F00000 -> 21F1872C  BSS: -> 21F1CA6C                             
RAM Configuration:
Bank #0: 20000000 32 MB
Intel 28F128J3A (128Mbit) 16-Bit
Size: 16 MB in 128 Sectors
Flash: 16 MB
NAND:  64 MB
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
## Booting image at 10080000 ...
  Image Name:
  Image Type:   ARM Linux Kernel Image (gzip compressed)
  Data Size:    1215034 Bytes =  1.2 MB
  Load Address: 20008000
  Entry Point:  20008000
  Verifying Checksum ... OK
  Uncompressing Kernel Image ... OK

Starting kernel ...
======================================================================


而 烧入 -e 0x20008040 -d linux.bin.gz uImage 命令生成的uImage后的打印和上面内似,只是它不停止,而是反复上面的过程
0x200080400x20008000烧入 -e 0x20008000 -d linux.bin.gz uImage 命令生成的uImage后的打印

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复