U-Boot.2009.8在Mini2440上的移植--支持DM9000网卡(五)

     这篇文章主要是写DM9000APE网卡的移植。对于U-Boot2009.08这个版本,现在已经支持DM9000的驱动,不过在配置的时候,默认的是配置的CS8900的网卡,所以还是需要稍微的修改就可以。首先在/include/configs/mini2440.h文件中,添加关于DM9000网卡的配置变量。

/*
 * Hardware drivers
 */

//注释掉原来对CS8900网卡的支持,
//#define CONFIG_DRIVER_CS8900    1    /* we have a CS8900 on-board */

//#define CS8900_BASE        0x19000300

//#define CS8900_BUS16        1 /* the Linux driver does accesses as shorts */
// 配置对DM9000网卡的支持,其中,
CONFIG_DM9000_BASE宏是最重要的,因为这个就网卡的地址,不同的网卡有不同的地址,DM9000访问的基址为0x20000000,之所以再偏移0x300是由它的特性决定的。一般情况下,只有配正确这个地址,网卡的移植就会很顺利。mini2440的BACK4连接的外设就是网卡DM9000,BANK4的基地址就是0x20000000和0x20000004
#define CONFIG_DRIVER_DM9000 1
#define CONFIG_NET_MULTI 1
#define CONFIG_DM9000_NO_SROM 1
#define CONFIG_DM9000_BASE 0x20000300
//网卡片选地址
#define DM9000_DATA (CONFIG_DM9000_BASE + 4)
#define DM9000_IO CONFIG_DM9000_BASE
#define CONFIG_DM9000_USE_16BIT
#undef CONFIG_DM9000_DEBUG

配置一下IP 地址

#define CONFIG_BOOTDELAY    3
/*#define CONFIG_BOOTARGS    "root=ramfs devfs=mount console=ttySA0,9600" */
#define CONFIG_ETHADDR    08:00:3e:26:0a:5b
#define CONFIG_NETMASK 255.255.255.0
#define CONFIG_IPADDR          10.27.10.29
#define CONFIG_SERVERIP        10.27.10.25
#define CONFIG_GATEWAYIP       10.27.10.1
#define CONFIG_OVERWRITE_ETHADDR_ONCE
/*#define CONFIG_BOOTFILE    "elinos-lart" */
/*#define CONFIG_BOOTCOMMAND    "tftp; bootm" */
//给u-boot加上ping命令,

#include <config_cmd_default.h>

#define CONFIG_CMD_CACHE
#define CONFIG_CMD_DATE
#define CONFIG_CMD_ELF
#define CONFIG_CMD_NAND
#define COFNIG_CMD_PING


添加DM9000网卡的初始话代码,在文件/board/frank/mini2440/mini2440.c中添加。

#ifdef CONFIG_DRIVER_DM9000
int board_eth_init(bd_t *bis)
{
    return dm9000_initialize(bis);
}
#endif

到此,网卡的移植就结束了,重新编译一下,下载到NandFlash中,就可以看到有一个变化,就是看到了Net:dm9000,说明网卡已经可以被识别出来了。
 
101204171605.jpg
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值