你好!这里是风筝的博客,
欢迎和我一起交流。
启动uboot时,可以看到我们的启动输出界面显示:
Error: CS8900-0 address not set
这是因为我们的网卡是DM9000而不是CS8900,所以这里肯定报错了.
我们先解决一下这个错误,不然看着很不舒服!
a.vi drivers/net/Makefile命令,找到DM9000,可以看出,DM9000的宏为:CONFIG_DRIVER_DM9000.
所以我们在smdk2440.h中取消CONFIG_CS8900宏增加CONFIG_DRIVER_DM9000宏
b.make编译,出现大量错误,可以看到这些错误都是没有定义DM9000_DATA、DM9000_IO宏造成的.
我们可以grep查看别人都是怎么写的,输入命令:
grep "DM9000_DATA" * -nR
c.查看别的单板的代码,我们可知,在smdk2440.h中,我们除了把CS8900的相关宏去掉,我们还需要把DM9000的相关宏添加上:
#define CONFIG_DRIVER_DM9000
#define CONFIG_DM9000_BASE 0x2c000000
#define DM9000_IOCONFIG_DM9000_BASE
#define DM9000_DATA(CONFIG_DM9000_BASE + 4)//加4是因为DM9000上的CMD脚接到了LADDR2上
d.编译烧写,我们发现出现了一个新的提示:
Net: No ethernet found.
这个我们先不管,我们先继续完善我们Nor启动.使他支持Nor Flash.