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个变量值。
谢谢!! 顶一下,等待回答!!! 还在在飞凌提供的UBOOT基础上来修改吧,估计你的NAND驱动都没有做好,如果有了NAND启动就可以用‘saveenv‘ 保存参数了 我就是采用凌提供的UBOOT基础上来修改的啊。
----前面说的 网上 是指飞凌的更新地址下载的:
http://bbs.witech.com.cn/thread-3809-1-1.html
唯一改变的地方:
更换了DM9000的网卡驱动和修改smdk6410.h里面的DM9000的宏定义和IP地址。
其它文件和代码未改变。 可能是这里的问题:Error: unrecognized/unsupported machine ID (r1 = 0x00000000).
在源码中搜一下相关信息,machine ID是不是不对呢 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 问题已经解决。
原因是:我使用了友善之臂的 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]