当前位置: 代码迷 >> 驱动开发 >> 在u-boot-1.3.4没法调用内核
  详细解决方案

在u-boot-1.3.4没法调用内核

热度:174   发布时间:2016-04-28 10:50:49.0
在u-boot-1.3.4无法调用内核?
在u-boot-1.3.4无法调用内核?

U-Boot> bootm 0x100000
  No valid image found at 0x00100000
Wrong Image Format for bootm command
ERROR: can't get kernel image!


我用SAM-BA下载内核到0x100000后,断电重启开发板,但是uboot无法自动启动linux内核,用bootm命令也没用,用go命令:
U-Boot> go 0x100000
## Starting application at 0x00100000 ... 之后就停在此了。

我的nand flash 是K9F1G08U0B 128M的。核心板是AT91SAM9261 B板。

内核烧到地址0x100000 (0xa0000都试过)
内核复制到0x20000000 (21500000、222 00000也试过)

U-Boot> set bootcmd nand read 0x222 00000 0x100000 0x00200000;bootm 0x222 00000
Wrong Image Format for bootm command
ERROR: can't get kernel image!

求各位帮帮忙,谢谢!解决马上结贴!!!



------解决方案--------------------
No valid image found at 0x00100000
Wrong Image Format for bootm command
ERROR: can't get kernel image!

应该是内核没有被正确放置到内存的问题。
在bootm之前,先看一下内核是否被正确读到内存中。
------解决方案--------------------
同意1楼,除了这个可能外,另外也可能是制作uImage时的参数不正确造成的。
------解决方案--------------------
启动Linux Image是需要几个参数的。
R0存放的0
R1存放的machine ID
R2存放的Tag参数的起始地址。
这3个参数是内核启动之后首先会判断的!
所以还是1楼的可能性比较大~!
------解决方案--------------------
U-Boot>nand read 0x内存地址 0x内核下载地址 0x内核大小
U-Boot>bootm 0x内存地址

试试这样行不行?

  相关解决方案