dm9000在wince6.0上的移植过程

发 布 时 间 : 2009-11-04    来 源 : 来自网络    作 者 : 佚名   浏 览 :
1、dm9000a文件夹放到\WINCE600\PLATFORM\zylonite_mhlv\SRC\DRIVERSMzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
并做以下修改MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
A、g_szDm9ConfigParams[]修改如下MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
{ CID_IO_BASE_ADDRESS, 0x14000300, NDIS_STRING_CONST("IoAddress")},MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
这项又硬件而定,ZW310dm9000地址为0x14000300MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
B、dm9isa.h中修改如下MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
#defineMzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
DM9000_DATA_OFFSETMzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
0x02
MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
这个参数取决于CMD接在A几上,A12A24MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
2、打开在driver目录下的dirs文件,在该文件里将dm9000加入到dirsMzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
如:MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
….MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
dm9000a\MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
3、添加dm9000注册项到系统中,在platform.reg添加如下,MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
IF BSP_NODM9000 !MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
[HKEY_LOCAL_MACHINE\Comm\DM9CE]MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
"DisplayName"="DM9000A/9010 ISA Fast Ethernet Adapter"MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
"Group"="NDIS"MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
"ImagePath"="dm9isa.dll"MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
[HKEY_LOCAL_MACHINE\Comm\DM9CE\Linkage]MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
"Route"=multi_sz:"dm9ce1"MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
[HKEY_LOCAL_MACHINE\Comm\DM9CE1]MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
"DisplayName"="DM9000A/9010 ISA Fast Ethernet Adapter"MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
"Group"="NDIS"MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
"ImagePath"="dm9isa.dll"MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
[HKEY_LOCAL_MACHINE\Comm\Tcpip\Linkage]MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
"Bind"="dm9ce1"MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
[HKEY_LOCAL_MACHINE\Comm\DM9CE1\Parms]MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
"BusNumber"=dword:0MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
"BusType"=dword:1MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
"XmitBuffer"=dword:20MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
"RecvBuffer"=dword:20MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
"IrqNumber"=dword:17 MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
"SysIntr"=dword:17MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
[HKEY_LOCAL_MACHINE\Comm\DM9CE1\Parms\TcpIp]MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
"EnableDHCP"=dword:0MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
"UseZeroBroadcast"=dword:0MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
"DefaultGateway"="192.168.0.1"MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
"IpAddress"="192.168.0.11"MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
"Subnetmask"="255.255.255.0"MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
"DNS"="192.168.0.1"MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
ENDIF BSP_NODM9000 !
MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
注: MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
l"IrqNumber"=dword:17MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
感觉这个地方没有什么用,我就随便写了个,我试过写成别的值,也是可以的MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
l"SysIntr"=dword:17MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
这个要写成dm9000int端的中断产生的逻辑中断值,ZW310用的是GPIO102,逻辑中断值要用静态的。添加方法如下:MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
bsp_cfg.h
中添加 MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
#define SYSINTR_DM9000  (SYSINTR_FIRMWARE+7)    // 23MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
BSPIntrInit
()函数中添加 MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
OALIntrStaticTranslate(SYSINTR_DM9000,IRQ_GPIO_SHARE(PXA_GPIO_DEBUG_ETH_INT_ID));
MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
lOEMInterruptDisable()、OEMInterruptDone()、OEMInterruptEnable()、OEMInterruptHandler()中部需要添加对GPIO102的处理,对GPIO的所有pinBSP都已经统一实现,以后会对怎么实现,单独写一篇总结进行介绍。MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
4、dm9isa.dll编译进系统,修改platform.bib如下:MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
IF BSP_NODM9000 !MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
dm9isa.dll    $(_FLATRELEASEDIR)\dm9isa.dll    NK SHKMzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
ENDIF BSP_NODM9000 !
MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
5、zylonite_mhlv.bat中添加并设置环境变量如下:MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
set BSP_NODM9000=MzýŸn€ÇÃ2zhanwei.seaskyer.netŽ¼Ò»²È2`Ä
6、验证有没有成功移植  可以ping 192.168.0.11

上一篇:浅谈S3C6410裸板调试       下一篇:Linux USB gadget设备驱动解析(2)---驱动调试