网卡驱动移植过程

网卡驱动移植过程

ID:44820950

大小:46.50 KB

页数:8页

时间:2019-10-30

网卡驱动移植过程_第1页
网卡驱动移植过程_第2页
网卡驱动移植过程_第3页
网卡驱动移植过程_第4页
网卡驱动移植过程_第5页
资源描述:

《网卡驱动移植过程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、今天对DM9000进行了移植,大概情况如下;首先要移植我们应该了解LINUX管理驱动的架构,这个我们在前面已经知道了;在arch/arm/plat-s3c24xx/common-smdk.c加入以下代码,登记资源和把网卡加入设备表:/*DM9000*/#ifdefined(CONFIG_DM9000)

2、

3、defined(CONFIG_DM9000_MODULE)staticstructresources3c_dm9k_resource[]={[0]={.start=S3C2410_CS4,.end=S3C2410

4、_CS4+3,.flags=IORESOURCE_MEM,},[1]={.start=S3C2410_CS4+4,.end=S3C2410_CS4+4+3,.flags=IORESOURCE_MEM,},[2]={.start=IRQ_EINT7,.end=IRQ_EINT7,.flags=IORESOURCE_IRQ,}};/*forthemomentwelimitourselvesto16bitIOuntilsome*betterIOroutinescanbewrittenandtested*/statics

5、tructdm9000_plat_datas3c_dm9k_platdata={.flags=DM9000_PLATF_16BITONLY,};staticstructplatform_devices3c_device_dm9k={.name="dm9000",.id=0,.num_resources=ARRAY_SIZE(s3c_dm9k_resource),.resource=s3c_dm9k_resource,.dev={.platform_data=&s3c_dm9k_platdata,}};#endif

6、加入到内核设备列表中staticstructplatform_device__initdata*smdk_devs[]={#ifdefined(CONFIG_DM9000)

7、

8、defined(CONFIG_DM9000_MODULE)&s3c_device_dm9k,#endif&s3c_device_nand,&smdk_led4,&smdk_led5,&smdk_led6,&smdk_led7,};现在要进行对应的代码修改了,修改哪里呢,修改dm9000_probe它完成的是硬件的枚举,即初始化的,要针对性的

9、修改,修改之前还有些东西需要知道;在mini2440的开发板上DM9000在BANK4,所以为了很好的使用DM9000,我们就要设置存储控制器BANK4相关的两个寄存器,BWSCON,BKCON4。对于BWSCON我们设置BANK4的相关4位;设置如下:#ifdefined(CONFIG_ARCH_S3C2410)/**wuxf:BANK4占用BWSCON的4*4=16位,从第16位依此设置为:位宽为16位,使用wait信号,数据掩码引脚为0*/oldval_bwscon=*((volatileunsignedi

10、nt*)S3C2410_BWSCON);*((volatileunsignedint*)S3C2410_BWSCON)=(oldval_bwscon&~(3<<16))

11、S3C2410_BWSCON_DW4_16

12、S3C2410_BWSCON_WS4

13、S3C2410_BWSCON_ST4;/**wuxf:这个需要参考S3C2440的数据手册*/oldval_bankcon4=*((volatileunsignedint*)S3C2410_BANKCON4);*((volatileunsignedint*)S3C

14、2410_BANKCON4)=0x345c;#endif关于BANCON4的:看数据手册这个上面写的是什么啊,呵呵,我们操作一个时序器件的话时序是很重要的,而那写就是操作器件时序,我们设置好了的话,以后操作硬件S3C2440会自动给相应的器件时序,这样我们就设置一次就可以了,方便吧。那么这些时序是什么意思呢?那我们来看看吧。对于器件时序那我们就要分析器件的数据手册了,我们找到dm9000的数据手册,先看写时序:T1:IOW有效之前地址信号有效的时间T2:写信号的有效期T3:数据在IOW信号消失之前数据的时间T4:

15、数据的保持时间T5:地址在IOW信号消失之前的保持时间T6:下一个写信号与这个信号结束之间的时间间隔T7:地址信号有效IO16,IO32的有效时间T8:地址信号无效IO16,IO32有效的时间各个时间段我们都看清楚了,现在我们看我们的S3C2440怎么给这个时间序了,对了,我们只要找到我们对应的连线就可以了,参考S3C2440原理图我们的S3C2440和DM9000的连线

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。