Chinaunix首页 | 论坛 | 博客
  • 博客访问: 311794
  • 博文数量: 71
  • 博客积分: 1450
  • 博客等级: 上尉
  • 技术积分: 762
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-14 13:31
文章分类

全部博文(71)

文章存档

2014年(3)

2013年(8)

2011年(9)

2010年(38)

2009年(13)

我的朋友

分类: LINUX

2009-03-15 22:27:50

http://blog.chinaunix.net/u1/59990/showart_472030.html

u-boot本身有cs8900网卡驱动程序,所以需要修改的地方不多。由于数据通过总线传送,所以要注意地址空间的配置和总线的配置。
1) 修改/include/configs/smdk2410.h文件:

#define CONFIG_ETHADDR    08:00:3e:26:0a:5b
#define CONFIG_IPADDR        192.168.1.109
#define CONFIG_SERVERIP        192.168.1.101


CONFIG_IPADDR     宏是你开发板的IP地址。tftp client
CONFIG_SERVERIP   宏是你安装tftp server的系统的IP


确定网卡的基地址,我的开发板CS8900接在nGCS3上,而且是A24引脚为高时使能CS8900A的IO模式,所以代码为:

#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 */


2) BWSCON寄存器的设置,BANKCON3寄存器的设置
   由于网卡占用的是nGCS3之上地址,所以需要设置/board/smdk2410/lowlevel.S文件中相应寄存器的值:

#define B3_BWSCON         (DW16 + WAIT + UBLB)

#define B3_Tacs             0x0    /* 0clk */
#define B3_Tcos             0x3    /* 4clk */
#define B3_Tacc             0x7    /* 14clk */
#define B3_Tcoh             0x1    /* 1clk */
#define B3_Tah             0x0    /* 0clk */
#define B3_Tacp             0x3 /* 6clk */
#define B3_PMC             0x0    /* normal */


3) 设置完毕后可以重新编译。
4) tftp测试:
阅读(1943) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~