gd102 发表于 2011-7-3 22:31:21

uboot环境下查询bdinfo部分参数为空

本帖最后由 gd102 于 2011-7-3 22:32 编辑

在网站下载最新的uboot,更换了DM9000的网卡驱动和修改smdk6410.h里面的DM9000的宏定义和IP地址。
其它文件和代码未改变。
编译后,再进行一键烧写编译好的u-boot.bin文件。
重启后发现:
Hit any key to stop autoboot:0
NAND read: device 0 offset 0x100000, size 0x500000
8388608 bytes read: OK
Boot with zImage
Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Error: unrecognized/unsupported machine ID (r1 = 0x00000000).
Available machine support:

ID (hex)      NAME
000004f6      SMDK6400
0000065a      SMDK6410

Please check your kernel config and/or bootloader.

查询单板信息,发现arch_number(保存Machine ID值),env_t....为空:
SMDK6410 # bdinfo
arch_number = 0x00000000
env_t       = 0x00000000
boot_params = 0x00000000
DRAM bank   = 0x00000000
-> start    = 0x00000000
-> size   = 0x00000000
ethaddr   = 00:40:5C:26:0A:5B
ip_addr   = 192.168.2.10
baudrate    = 115200 bps

从而导致,uboot无法向内核传递参数。

请问:如何解决????

说明:官方的u-boot.bin能够正常显示其bdinfo个变量值。

谢谢!!

gd102 发表于 2011-7-4 09:15:40

顶一下,等待回答!!!

飞凌-vxworks 发表于 2011-7-4 11:10:17

还在在飞凌提供的UBOOT基础上来修改吧,估计你的NAND驱动都没有做好,如果有了NAND启动就可以用‘saveenv‘ 保存参数了

gd102 发表于 2011-7-4 11:20:18

我就是采用凌提供的UBOOT基础上来修改的啊。
----前面说的 网上 是指飞凌的更新地址下载的:
http://bbs.witech.com.cn/thread-3809-1-1.html
唯一改变的地方:
更换了DM9000的网卡驱动和修改smdk6410.h里面的DM9000的宏定义和IP地址。
其它文件和代码未改变。

飞凌-vxworks 发表于 2011-7-4 16:01:01

可能是这里的问题:Error: unrecognized/unsupported machine ID (r1 = 0x00000000).

在源码中搜一下相关信息,machine ID是不是不对呢

gd102 发表于 2011-7-4 16:40:58

machine ID 是没有问题的,我看到uboot中的smdk6410.h
和内核的smdk6410.h 都是定义为 1626

目前是r1 = 0x00000000,不管machine ID填的对不对,至少它应该有个值才行啊。有值才能够传递到内核那边然后在比较正确如何。

因为r1 = 0x00000000 ,所以内核认为 Machine ID为 0 ,跟内核的machine id(1626) 不相同,所以提示:
Error: unrecognized/unsupported machine ID

gd102 发表于 2011-7-5 11:30:29

问题已经解决。
原因是:我使用了友善之臂的 4.5.1交叉编译器,现在换回 飞凌的 4.3.2交叉编译器后,问题解决。
疑问:为什么我使用4.5.1编译内核却没问题而且能够正常被加载进入Linux系统,而uboot虽然能编译过去,但是就出现上面的问题.
难道uboot1.1.6的版本实在太老了(2006发布的)??不同的编译器有不同的语法解析?

SMDK6410 # bdinfo
arch_number = 0x0000065A
env_t       = 0x00000000
boot_params = 0x50000100
DRAM bank   = 0x00000000
-> start    = 0x50000000
-> size   = 0x08000000
ethaddr   = 00:40:5C:26:0A:5B
ip_addr   = 192.168.2.10
baudrate    = 115200 bps
页: [1]
查看完整版本: uboot环境下查询bdinfo部分参数为空