免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1295 | 回复: 0
打印 上一主题 下一主题

uboot中的网卡(cs8900)的初始化工作是在哪完成的? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-31 09:20 |只看该作者 |倒序浏览
以smdk2410为例(据说按照smdk2410的默认配置是支持cs8900的),
在lib_arm/board.c中的start_armboot函数中,
1,有这样一行代码:gd->bd->bi_ip_addr = getenv_IPaddr ("ipaddr"),我认为这是获取配置文件include/configs/smdk2410.h中设置的IP地址,把这个IP地址保存到gd->bd->bi_ip_addr 中。可见这一行并没有对网卡(cs8900)进行初始化工作。
2,然后在下面有这样一行代码:cs8900_get_enetaddr (gd->bd->bi_enetaddr),我认为这是读取“cs8900外接eeprom中的MAC地址”,并把获取的MAC地址保存到gd->bd->bi_enetaddr中。网卡(cs8900)初始化工作似乎也不是在这里完成的吧?需要注意的是,在这个函数中对网卡(cs8900)执行了一个reset的动作,会不会和初始化有关的?难道说一个reset动作就把网卡初始化了?
3,然后在下面,有这样一行代码:eth_initialize(gd->bd); 我一开始以为是这个函数把IP地址写到cs8900中去的,但是后来我发现按照include/configs/smdk2410.h的配置,编译出来的eth_initialize函数是空的。可见这一行也没有对网卡(cs8900)进行初始化工作。


以上3行代码有没有对网卡(cs8900)进行初始化呢?如果没有的话,是在哪里初始化的?

以上,多谢诸位兄弟了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP