mini2440 DM9000网卡移植

在vi include/configs/mini2440.h 中添加
#define CONFIG_DRIVER_DM9000 /* we have a DM9000 on-board */
然后编译,出现如下错误
mini2440 DM9000网卡移植 - 零度冰點 - 我的学习笔记
 显然是没有定义DATA的宏,参考别的板子定义如下
#define CONFIG_DM9000_BASE 0x20000000
#define DM9000_IO CONFIG_DM9000_BASE
#define DM9000_DATA (CONFIG_DM9000_BASE + 4)
再次编译
mini2440 DM9000网卡移植 - 零度冰點 - 我的学习笔记
 向上观察代码,感觉是因为没有定义#define CONFIG_NET_MULTI 的缘故
定义后编译成功
下载到内存,出现问题着不到网卡
mini2440 DM9000网卡移植 - 零度冰點 - 我的学习笔记
 查找原因,原来是网卡没有初始化,在board/samsung/mini2440/mini2440.c 
中初始化的网卡是cs8900,修改为

#ifdef CONFIG_CMD_NET
int board_eth_init(bd_t *bis)
{
int rc = 0;

#ifdef CONFIG_DRIVER_DM9000
rc = dm9000_initialize(bis);
#endif
return rc;
}
#endif
并添加#define CONFIG_CMD_NET
还是没找到网卡
在board/samsung/mini2440/mini2440.c 加上#error123456789
竟然没编译到这个文件
察看该文件夹下Makefile发现
COBJS := smdk2410.o flash.o居然没修改
之前一直没用到这个文件
修改之后,再次编译成功
下到内存,识别出DM9000
打印环境变量print
MINI2440 # print
bootdelay=3
baudrate=115200
ipaddr=10.0.0.110
serverip=10.0.0.1
netmask=255.255.255.0
stdin=serial
stdout=serial
stderr=serial
ethact=dm9000
修改环境变量vi include/configs/mini2440.h
#define CONFIG_ETHADDR 00:E0:0C:BC:E5:60 
#define CONFIG_NETMASK          255.255.255.0
#define CONFIG_IPADDR 192.168.1.199
#define CONFIG_SERVERIP 192.168.1.110
#define CONFIG_BOOTFILE "u-boot.bin" 
并添加#define CONFIG_CMD_PING
插上网线看看是否能ping通

MINI2440 # ping 192.168.1.1
dm9000 i/o: 0x20000000, id: 0x90000a46 
DM9000: running in 16 bit mode
MAC: 00:e0:0c:bc:e5:60
could not establish link
Using dm9000 device
host 192.168.1.1 is alive
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值