资源描述:
《cf无线网卡socketdriver移植小结》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、CF无线网卡SocketDriver移植小结一、首先了解什么CF卡,CF卡有多少引脚,每个引脚的功能是什么?1. 常说的CF卡分为CF存储卡和CF+卡,CF+卡的物理规格和CF卡相同,它是I/O设备,如:CF串口卡,CF网卡等等。因为我要做的是CF无线网卡,所以归属CF+卡的范畴。2. CF卡分为两类,I型和II型,二者区别就是后者比前者厚一些。CF卡有50个引脚,它工作在PCMCIA模式下有两种接口标准,存储卡接口和I/O卡接口。两种接口定义可以参考CFspc1.4.pdf。 二、硬件比较 教研室板子DM
2、A板子GPIOCF引脚CF引脚中间定义GPIONPOE_GP48OE#OE#CF_OEGPIO48NPWE_GP49WE#WE#CF_WEGPIO49NPIOR_GP50IORD#IORD#CF_IORGPIO50NPIOW_GP51IOWR#IOWR#CF_IOWGPIO51NPCE2_GP54CE2#CE2#CF_CE2GPIO54NPREG_GP55REG#REG#CF_REGGPIO55NPWAIT_GP56WAIT#WAIT#CF_WAITGPIO56NIOIS16_GP57IOIS16#IOIS16#CF_IO
3、IS16GPIO57GPIO59CD1#CD1#CF_CD1CPLDGPIO60CD2#CD2#CF_CD2CPLDGPIO102VS1#VS1#CF_VS1接地GPIO103VS2#VS2#CF_VS2浮空GPIO104RESETRESETCF_RSTGPIO13GPIO105SRKR#BVD2CF_BVD2GPIO82GPIO106STSCHG#BVD1CF_BVD1GPIO11GPIO107IREQRDY/BSYCF_IRQGPIO9PSKTSEL_GP79LVCH16245ACPLDCF_DETECGPIO10GP
4、IO101LVCH16245ACPLDCF_BUF_ONGPIO22注:1.教研室板子上PSKTSEL_GP79和GPIO101这两根GPIO程序中要强制置低,以使两个LVCH16245A锁存器使能。DMA板子上两个锁存器是硬件置低的。2.DMA板子上CPLD里设置成CF_DETEC=CF_CD1
5、
6、CFCD2;CF_BUF_ON=nPCE1&&nPCE23.教研室板子上VS1和VS2是两根GPIO控制的,所以需要在接口程序中设置。. 三、修改CF接口驱动程序(SocketDriver)1.对比DMA的CF接口驱动程序px
7、a2xx_mainstone.c(/driver/pcmcia)进行修改。(1).定义要用到中断staticstructpcmcia_irqsirqs[]={{0,IRQ_GPIO(59),"PCMCIA0CD1"},{0,IRQ_GPIO(60),"PCMCIA0CD2"},{0,IRQ_GPIO(106),"PCMCIA0STSCHG"},};(2).硬件初始化函数mst_pcmcia_hw_init()GPSR(GPIO48_nPOE)=GPIO_bit(GPIO48_nPOE)
8、//配置输出使能GPIO_bit(G
9、PIO49_nPWE)
10、//配置写使能GPIO_bit(GPIO50_nPIOR)
11、//配置读I/OGPIO_bit(GPIO51_nPIOW)
12、//配置写I/OGPIO_bit(GPIO85_nPCE_1)
13、//配置卡使能1GPIO_bit(GPIO54_nPCE_2);//配置卡使能2 pxa_gpio_mode(GPIO48_nPOE_MD);//设置POE的引脚号,第二功能代码和方向pxa_gpio_mode(GPIO49_nPWE_MD);//设置PWE的引脚号,第二功能代码和方向pxa_gpio_mode(GP
14、IO50_nPIOR_MD);//设置PIOR的引脚号,第二功能代码和方向pxa_gpio_mode(GPIO51_nPIOW_MD);//设置PIOW的引脚号,第二功能代码和方向pxa_gpio_mode(GPIO85_nPCE_1_MD);//设置PCE1的引脚号,第二功能代码和方向pxa_gpio_mode(GPIO54_nPCE_2_MD);//设置PCE2的引脚号,第二功能代码和方向pxa_gpio_mode(GPIO79_pSKTSEL_MD);//设置PSKTSEL的引脚号,第二功能代码和方向pxa_gpio
15、_mode(GPIO55_nPREG_MD);//设置PREG的引脚号,第二功能代码和方向pxa_gpio_mode(GPIO56_nPWAIT_MD);//设置PWAIT的引脚号,第二功能代码和方向pxa_gpio_mode(GPIO57_nIOIS16_MD);//设置PIOIS16的引脚号,第二功