#define CONFIG_SERVERIP 192.168.31.245
#define CONFIG_NETMASK 255.255.255.0 #define CONFIG_IPADDR 192.168.31.111 #define CONFIG_SERVERIP 192.168.31.245还有取消屏蔽:
#define CONFIG_ETHADDR 08:00:3e:26:0a:5b
再次编译,通过!下载至开发板,运行测试ping和tftp命令:发现ping无效,tftp可用。原因是未添加PING命令宏定义,故在mini2440.h中添加相关宏:
#define CONFIG_COMMANDS \
(CONFIG_CMD_DFL | \
CFG_CMD_CACHE | \
/*CFG_CMD_NAND |*/ \
/*CFG_CMD_EEPROM |*/ \
/*CFG_CMD_I2C |*/ \
/*CFG_CMD_USB |*/ \
CFG_CMD_REGINFO | \
CFG_CMD_DATE | \
CFG_CMD_PING | \
再次测试,得到打印结果:
SMDK2410 # ping 192.168.31.245
dm9000 。。。。。
host 192.168.31.245 is alive
SMDK2410 # ping 192.168.31.245 dm9000 。。。。。 host 192.168.31.245 is alive至此,dm9000支持移植成功。
nand的驱动代码在 /drivers/nand 目录下面,打开此目录下的nand.c文件,看到如下代码
#include <common.h>
#if (CONFIG_COMMANDS & CFG_CMD_NAND) && !defined(CFG_NAND_LEGACY)
#include <nand.h>
所以判断使用nand驱动的宏开关为CFG_CMD_NAND。
1) 在mini2440.h中的CONFIG_COMMANDS中加入宏定义 CFG_CMD_NAND
#define CONFIG_COMMANDS \
(CONFIG_CMD_DFL | \
CFG_CMD_CACHE | \
CFG_CMD_NAND | \
/*CFG_CMD_EEPROM |*/ \
/*CFG_CMD_I2C |*/ \
然后启动编译,错误如下:
nand.c:35: error: `CFG_MAX_NAND_DEVICE' undeclared here (not in a function)
nand.c:38: error: `CFG_NAND_BASE' undeclared here (not in a function)