2014-03-28 2 views
1

WinCE R3에 해당 BSP가있는 개발 보드 (FriendlyARM Mini210)가 있습니다. 공급 업체에 따라 호스트 드라이버로 ehci를 사용해야하는 USB 장치에 보드를 연결해야합니다. 그러나 BSP는 대신 OHCI를 사용합니다.WinCE 6.0 플랫폼에서 ehci USB 드라이버 활성화

제 질문은 어떻게 내 플랫폼에서 ehci 드라이버 용 OHCI를 "바꿀 수 있습니까?"입니다. 공식적으로,이있는 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
물론, 당신은 준수 컨트롤러가 필요

표준 OHCI (및 UHCI) 또는 EHCI 드라이버, 86 장치에 사용된다 보통 PCI를 통해 연결됩니다. ARM 장치에서 완전히 맞춤식 USB 컨트롤러 또는 PC 기반 컨트롤러와 비슷한 컨트롤러를 사용할 수 있지만 클럭, GPIO muxing 등을 관리하는 사용자 지정 드라이버가 필요합니다. SOC에서 USB 2.0 하이브리드 기능을 제공하지 않는 경우, (이것은 "ECHI"정의에서 암시 할 수있는 것입니다) 귀하는 해당 장치를 연결하지 못하거나 최소한 예상 속도로 데이터를 전송할 수 있습니다 (장치는 USB 1.0 또는 1.1로 작동 할 수도 있습니다. 속도를 줄이고 고속 전송을 사용하지 않고 최고 속도의 전송 만 사용).

+0

ehci가 구현되었는지 확인하는 방법이 있는지 알고 있습니까? 특정 파일이 있는지 또는 파일이 재정의되었는지 확인하는 것과 같습니다. – Ferite

+0

파일의 문제가 아니라 컨트롤러 구현입니다. 2.0으로 명시되지 않으면 EHCI를 지원할 수 없습니다. 2.0이면 지원할 수 있지만 승인되지는 않습니다. –