在WinCE 6.0平台上启用ehci USB驱动程序

时间:2014-03-28 16:32:38

标签: windows-ce

我在WinCE R3上有一个开发板(FriendlyARM Mini210)及其各自的BSP。我需要将电路板连接到USB设备,根据供应商的说法,该设备需要使用ehci作为主机驱动程序。然而,BSP使用OHCI代替。

我的问题是如何在我的平台上“替换”OHCI for ehci驱动程序?为了记录,这是platform.reg中的USB部分看起来像:

IF BSP_NOUSBHCD !
IF BSP_NOUSBHCD
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\EHCI]
    "InterfaceType"=dword:0; Internal
    "Prefix"="HCD"
    "Dll"="ehci.dll"
    "Index"=dword:1
    "Order"=dword:2
    "Irq"=dword:90       ; USB EHCI Host Virtual IRQ = 144 (0x90), Physical IRQ = 55 (0x37)
    "SysIntr"=dword:12       ; (SYSINTR_FIRMWARE+1)
    "MemBase"=dword:EC200000    ;Physical Address
    "MemLen"=dword:1000
    "UseExistingSettings"=dword:0
    "HcdCapability"=dword:4      ; HCD_SUSPEND_ON_REQUEST
    "IntThreshCtrl"=dword:1      ; to check interrupt signal faster
ENDIF BSP_NOUSBHCD

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\OHCI]
    "InterfaceType"=dword:0; Internal
    "Prefix"="HCD"
    "Dll"="Ohci2.dll"
    "Index"=dword:2
    "Order"=dword:1
    "Irq"=dword:5b       ; USB OHCI Host Virtual IRQ = 91 (0x5B), Physical IRQ = 55 (0x37)
    "SysIntr"=dword:11       ; (SYSINTR_FIRMWARE+1)
    "MemBase"=dword:EC300000    ;Physical Address
    "MemLen"=dword:1000
    "UseExistingSettings"=dword:0
    "HcdCapability"=dword:4      ; HCD_SUSPEND_ON_REQUEST
ENDIF BSP_NOUSBHCD !

1 个答案:

答案 0 :(得分:1)

标准OHCI(和UHCI)或EHCI驱动程序用于x86设备,当然,您需要具有通常通过PCI连接的兼容控制器。 在ARM设备上,您可以拥有完全自定义的USB控制器或控制器,类似于基于PC的控制器或控制器,但您仍然需要自定义驱动程序来管理时钟,GPIO复用等。如果您的SOC没有提供USB 2.0 hi速度控制器(这可能隐含在" ECHI"定义中)您可能无法连接该设备,或者至少以预期的速度传输数据(该设备也可以作为USB 1.0或1.1,只是降低速度而不是使用高速传输而只是全速传输。)