uboot启动过程中IP地址是何时写到cs8900的?
时间:2009-05-31
来源:互联网
以smdk2410为例,在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 中。可见这一行并没有把IP地址写进cs8900中。
2,然后在下面有这样一行代码:cs8900_get_enetaddr (gd->bd->bi_enetaddr),我认为这是读取“cs8900外接eeprom中的MAC地址”,并把获取的MAC地址保存到gd->bd->bi_enetaddr中。可见这一行并没有把IP地址写进cs8900中。
3,然后在下面,有这样一行代码:eth_initialize(gd->bd); 我一开始以为是这个函数把IP地址写到cs8900中去的,但是后来我发现按照include/configs/smdk2410.h的配置,编译出来的eth_initialize函数是空的。就是说这一行也没有把IP地址写进cs8900中。
以上3行代码都没有把IP地址写进cs8900芯片中,那么IP地址到底是什么时候写进cs8900的呢?(据说按照smdk2410的默认配置是支持cs8900的)。还是IP地址根本就不写进网卡呢?IP地址只是给上层协议栈用的?
以上,多谢诸位兄弟了!
1,有这样一行代码:gd->bd->bi_ip_addr = getenv_IPaddr ("ipaddr"),我认为这是获取配置文件include/configs/smdk2410.h中设置的IP地址,把这个IP地址保存到gd->bd->bi_ip_addr 中。可见这一行并没有把IP地址写进cs8900中。
2,然后在下面有这样一行代码:cs8900_get_enetaddr (gd->bd->bi_enetaddr),我认为这是读取“cs8900外接eeprom中的MAC地址”,并把获取的MAC地址保存到gd->bd->bi_enetaddr中。可见这一行并没有把IP地址写进cs8900中。
3,然后在下面,有这样一行代码:eth_initialize(gd->bd); 我一开始以为是这个函数把IP地址写到cs8900中去的,但是后来我发现按照include/configs/smdk2410.h的配置,编译出来的eth_initialize函数是空的。就是说这一行也没有把IP地址写进cs8900中。
以上3行代码都没有把IP地址写进cs8900芯片中,那么IP地址到底是什么时候写进cs8900的呢?(据说按照smdk2410的默认配置是支持cs8900的)。还是IP地址根本就不写进网卡呢?IP地址只是给上层协议栈用的?
以上,多谢诸位兄弟了!
作者: shiyuzhu 发布时间: 2009-05-31
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28