Chinaunix首页 | 论坛 | 博客
  • 博客访问: 140254
  • 博文数量: 24
  • 博客积分: 672
  • 博客等级: 上士
  • 技术积分: 330
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-29 09:28
文章分类

全部博文(24)

文章存档

2011年(24)

我的朋友

分类: LINUX

2011-07-08 17:15:37

    昨天把u-boot弄到了板子的nor flash中,测试各项功能基本正常,于是想弄到nand中试试,移植过程基本顺利。
    移植完开机测试,令人兴奋的打印U-Boot...出现,迫不及待的敲入ping测试,问题来了,出现错误提示:
 
*** ERROR: `ethaddr' not set,from here
ping failed; host 192.168.3.49 is not alive
 
奇怪,在nor中运行正常的u-boot,搬到nand中的时候关于网络部分的代码没做任何改动,怎么就会出现这种错误呢?查看u-boot的原代码,找了很久也看不出问题,在代码中加入打印调试信息以跟踪问题,发现加入打印MAC地址的信息没有打印出来。原因是没有定义CONFIG_ETHADDR,可代码中明明定义了,而且在nor中的时候也很正常,于是做出以下两个操作:
    1. 修改CONFIG_ETHADDR定义的值
    2. 来个make mrproper,重新编译出u-boot.bin,
    3. 再次下载之前把nand全部擦除
下载到nand中测试,问题搞定。原因可能是编译器的问题,也可能是原来nand中保存环境变量的地方有其他内容。
 
阅读(3196) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~