USB HCD驱动问题

毛毛虫   2008-12-16 10:45 楼主
S3C2440的平台,WINCE5.0,在USB HCD 驱动文件中2440_ohci.c中,有没有熟悉这个驱动的朋友,我想知道在这个驱动中哪个地方或者说哪个函数中将S3C2440的USB寄存器物理地址转换为虚拟地址并配置的,这个里面的代码我反复看过,但是因为以前没搞过USB,所以确实不知道。。。

回复评论 (10)

自问自答,哈哈,在一个叫DDKReg_GetWindowInfo的函数,应该是这个里面,我在仔细看看,看来还是要靠串口啊!
点赞  2008-12-16 11:23
DDKReg_GetWindowInfo和函数DDKReg_GetIsrInfo都不开源,USB寄存器地址是如何传递过去的呢?不知道,继续努力。。。。
点赞  2008-12-16 11:29
老大,我研究这个问题很长时间了,你为什么不问我呢?哈哈

看注册表 和GetRegistryPhysicalMemSize()、ConfigureOHCICard()函数
;================= USB =================
; @CESYSGEN IF CE_MODULES_USBD
IF BSP_NOUSB !
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\OHCI]
   "InterfaceType"=dword:0     ; Internal
   "Prefix"="HCD"
   "Dll"="ohci2.dll"
   "Index"=dword:1
   ;"Order"=dword:1                 ;2
   "Order"=dword:25
   "Irq"=dword:1a                ; 26
   "SysIntr"=dword:11                ; (SYSINTR_FIRMWARE+1)
   "MemBase"=dword:49000000
   "MemLen"=dword:1000
   "UseExistingSettings"=dword:0
   "HcdCapability"=dword:4      ;HCD_SUSPEND_ON_REQUEST
ENDIF

不知道我的回答能不能满足你的要求?哈哈(忘记说了,我用的是三星的平台)
点赞  2008-12-17 08:54

5楼 yxc 

兄弟一语惊醒梦中人啊,原来物理地址是通过注册表传递进来的,DDKReg_GetWindowInfo和函数DDKReg_GetIsrInfo正是从注册表获得信息,继续往下看,串口确认哈,分都给你啦,帖子暂时不揭,有问题还想交流哈,先看,有问题再说,哈哈,分不够,我可以追加的,放心,哈哈,太感谢啦 !!
点赞  2008-12-17 10:56
好好,一起学习一起进步。。。
点赞  2008-12-17 12:47
Seven_zhangxw :你有没有看到在USB HCD驱动中那里有设置USB中断边沿触发或者电平触发的代码,我只看到//Setup ISR handler这里有些代码,不过也只是设置了系统中断地址,和中断屏蔽地址之类,因为上次论坛里面说我的问题,网友解答如下:所以我一直都在找HCD驱动中设置中断的位置,不知道你知不知道?或者是USB驱动比较特别,我理解有问题?先谢了
问:环境:S3C2440+WINCE5.0 如题,上电前,把U盘插在S3C2440板上,进入系统只有不能识别U盘,但是上电之后将没有识别的U盘拔下,重新插上,系统立即识别,我感觉应该是驱动的问题,可能在初始化的时候未做检测....不知道有谁碰到过同样的问题.大家说说,准备看看WINCE下的USB驱动,看看是怎么回事!

答:驱动是识别一个IO口的沿(上升或下降),如果先插U盘再上电,那么加载驱动时,此IO口已经是固定电平。而有插拔动作的话,就会产生沿。 修改方式:初始化时判断一下IO的电平。其他时间靠沿触发中断。
点赞  2008-12-17 15:19

8楼 xss 

顶,顶
点赞  2008-12-18 17:12
mark
点赞  2008-12-18 17:15
引用: 引用 6 楼 fan227 的回复:
Seven_zhangxw :你有没有看到在USB HCD驱动中那里有设置USB中断边沿触发或者电平触发的代码,我只看到//Setup ISR handler这里有些代码,不过也只是设置了系统中断地址,和中断屏蔽地址之类,因为上次论坛里面说我的问题,网友解答如下:所以我一直都在找HCD驱动中设置中断的位置,不知道你知不知道?或者是USB驱动比较特别,我理解有问题?先谢了
问:环境:S3C2440+WINCE5.0 如题,上电前,把U盘插在S3C2440板上,进入系统只有…


楼主这段话我没有看明白,是想问问题,还是把有用的东西贴出来让大家看的?感觉像是自问自答啊,呵呵
点赞  2008-12-19 09:29
我想问的是:USB HCD驱动中那里有设置USB中断边沿触发或者电平触发的代码,我没有找到?只看到了//Setup ISR handler相关的一些东西,但是没有看到如何设置USB中断触发方式的代码位置
点赞  2008-12-19 11:14
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复