10174|35

72

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

S3C2440 Wince5.0 ActiveSync无法同步 [复制链接]

使用同一个Eboot,开发板上下ce4.2的nk可以同步,说明硬件没问题

ce5.0如下配置

PB添加了以下组件
end user ActiveSync
shell Network end user
RAS/PPP
TAPI2.0 Unimodem
USB Fuction Seriel

USB Fuction Controller 驱动使用三星原版

注册表按一下设置
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SC2440USBFN]
   "Dll"="sc2440usbfn.dll"
   "Prefix"="UFN"
   "Priority256"=dword:64
   "IoBase"=dword:B1200000
   "IoLen"=dword:1000        ; Use one page
   "Irq"=dword:19
   "BusIoctl"=dword:2a0048
   "IClass"=multi_sz:"{E2BDC372-598F-4619-BC50-54B3F7848D35}=%b","{6F40791D-300E-44E4-BC38-E0E63CA8375C}=%b"

[HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers]
   "DefaultClientDriver"=- ; erase previous default
   "DefaultClientDriver"="Serial_Class"

[HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\Serial_Class]
   "FriendlyName"=LOC_USBFN_SERIAL_NAME
   "idVendor"=dword:0547
   "Manufacturer"=LOC_USBFN_SERIAL_MANUFACTURER
   "idProduct"=dword:2720
   "Product"=LOC_USBFN_SERIAL_PRODUCT
   "Index"=dword:5

[HKEY_CURRENT_USER\ControlPanel\Comm]
        "Cnct"="`USB"

#include "$(_TARGETPLATROOT)\Files\rasbook.reg" 建立了名为`USB的连接

USB Fuction Controller 驱动中的ISTMain函数
在启动时usb device中断响应了两次,之后再插拔USB一点反应都没有,PC端一直提示无法识别的USB设备

麻烦哪位高人在ce5.0使用USB Fuction Controller/client方式成功实现同步的
请给点提示,说明一下具体实现方法
或者把usb function controller驱动和注册表设置发到我邮箱
yangyong9608@163.com 感谢感谢!!
此帖出自WindowsCE论坛

最新回复

问题解决了,BSP在一个很隐蔽的地方改动了MISCCR寄存器的配置,导致了一系列的奇怪问题 如果同步中发生619错误,把下面那两项加上就行了 [HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\Serial_Class]    "idVendor"=dword:0547    "idProduct"=dword:2720 或者改pc端的inf文件 连不上也有可能是设备方的时间不对,pc端activesync又选择了同步时间 结贴   详情 回复 发表于 2010-1-20 13:13
点赞 关注
 

回复
举报

70

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
MARK,学习下
此帖出自WindowsCE论坛
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
4.2和WinCE5.0的同步的驱动可能不一样,
很早以前在2410下也碰到类似的问题。
此帖出自WindowsCE论坛
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

4
 
是不一样
4.2就是实现了一个usb转uart的驱动
5.0这个有了mdd pdd的架构了,先是function controller 之后才是 function client

昨天折腾了一天,现在发现启动时候那两个中断不插usb线也会触发,感觉还是function controller的驱动有问题,等待高人出现,paol_chao和gooogleman都去哪了?不做技术,自己创业去了?呵呵
此帖出自WindowsCE论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

5
 
对了,我把4.2的function驱动挪到5.0试了一下,中断用的静态映射
插入usb线会触发一次中断,之后就没动静了
拔出usb线没有中断触发

这是什么原因呢,4.2的nk在插入和拔出时都会有中断触发的,驱动是一样的,真是奇怪了
此帖出自WindowsCE论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

6
 
MARK,以前配到过,没仔细想过
此帖出自WindowsCE论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

7
 
居然沉了,高手都去哪了?
返回USBDUIR_RESET是PC的问题,换了USB口就返回RX_INTR了
但是DMA部分还需要静态映射一下,估计今天能搞定4.2的驱动在5.0下用了

5.0带的function驱动还是不好使,谁有调好的发给兄弟吧,谢谢了
此帖出自WindowsCE论坛
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

8
 
没人理啊,问题太低级?

5.0那个function controller驱动就是有问题,ep的中断都给clear了,居然没恢复,怪不得没中断呢

也不知道同事都是从哪找的驱动,午饭前再没人给我传驱动就只能自己动手改了,唉
此帖出自WindowsCE论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

9
 
完,看错了

EnableEndpointInterrupt提供使能中断的接口了

我还是仔细看看再回复吧,免得再丢人
此帖出自WindowsCE论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

10
 
5.0的BSP里面的IRQ-到-Sysintr 是动态申请的,所以,如果你还是用的4.2的OAL,那么这一部分就要更换了,要静态指定,
建议吧MDD的代码 copy到BSP下,然后打开所有的打印函数,自然知道哪里卡主了!
此帖出自WindowsCE论坛
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

11
 
真是学习啦
此帖出自WindowsCE论坛
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

12
 
4.2移植到5.0的function驱动里

DMA传输的v_pDMAregs->rDCDST3一直是0,造成死循环了

我打印了所有的DMA3的寄存器,跟4.2的一模一样,就是DMA不传输数据,真是郁闷死了

有哪位遇到过类似问题吗?
此帖出自WindowsCE论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

13
 
被逼无奈放弃了DMA,直接用USB EP4的FIFO把数据给读取了,同步是同步上了,可就是纳闷,为啥DMA不好使呢,问了几个人,都没碰上过这样的事儿,我把寄存器设置贴上,麻烦各位给看看

USB的

*(volatile BYTE *)&pHWHead->pUSBCtrlAddr->EP4DTL=USBD_GLOBALS_BUF_SIZE&0xff;
        *(volatile BYTE *)&pHWHead->pUSBCtrlAddr->EP4DTM=(USBD_GLOBALS_BUF_SIZE>>8)&0xff;
        *(volatile BYTE *)&pHWHead->pUSBCtrlAddr->EP4DTH=(USBD_GLOBALS_BUF_SIZE>>16)&0x0f;

        *(volatile BYTE *)&pHWHead->pUSBCtrlAddr->OCSR2=
        *(BYTE *)&pHWHead->pUSBCtrlAddr->OCSR2 | (BYTE)EPO_AUTO_CLR /*| EPO_OUT_DMA_INT_MASK*/;  
        //AUTO_CLR(OUT_PKT_READY is cleared automatically), interrupt_masking.

        *(volatile BYTE *)&pHWHead->pUSBCtrlAddr->EP4DU=0x01; //DMA transfer unit=1byte
        *(volatile BYTE *)&pHWHead->pUSBCtrlAddr->EP4DC=UDMA_OUT_DMA_RUN|UDMA_DMA_MODE_EN;

DMA3的

v_pDMAregs->DISRCC3 = (1<<1)|(1<<0);                   //src=APB, srcAddr=fixed
        v_pDMAregs->DISRC3 = REAL_PHYSICAL_ADDR_EP4_FIFO; //srcAddr=EP4_FIFO
        v_pDMAregs->DIDSTC3 = (0<<1)|(0<<0);                   //dst=AHB(memory),increase,

#if (DRIVER_GLOBALS_PHYSICAL_MEMORY_START<0xA0000000 || DMA_BUFFER_BASE<0xA0000000)
        GENERATE_ERROR
                           //The above two address should be non-cacheable area.
#endif         

        realPhysicalAddr_UsbdRxBuf = \
                (ULONG)&((DRIVER_GLOBALS *)DRIVER_GLOBALS_PHYSICAL_MEMORY_START)->usbd.usbdRxBuf \
                - DMA_BUFFER_BASE + DMA_PHYSICAL_BASE;       
        //USBDMSG( 1, (TEXT( "[USBD:RPA_URxBuf=%x]"),realPhysicalAddr_UsbdRxBuf) );
        //Real physical address of usbdShMem->usbdRxBuf

        if(bufIndex==0)
        {
                   v_pDMAregs->DIDST3=realPhysicalAddr_UsbdRxBuf+0+bufOffset;
        }
        else
        {
                v_pDMAregs->DIDST3=realPhysicalAddr_UsbdRxBuf+(USBD_GLOBALS_BUF_SIZE/2)+bufOffset;
        }

           v_pDMAregs->DCON3=(USBD_GLOBALS_BUF_SIZE-bufOffset)|(1<<31)|(0<<30)|(1<<29)|(0<<28)|(0<<27)|(4<<24)|(1<<23)|(1<<22)|(0<<20);
        //handshake,requestor=APB,CURR_TC int enable,unit transfer,
        //single service,src=USBD,H/W request,no_autoreload,byte,CURR_TC

        v_pDMAregs->DMASKTRIG3=(1<<1);        //DMA 3 on

DMA3的寄存器的值打印出来都是跟4.2里面一样的配置,可就是DCDST3 DSTAT一直是0

REAL_PHYSICAL_ADDR_EP4_FIFO明明都有数据到了,DMA就是不拷贝,不用DMA直接读就正确了,郁闷啊
此帖出自WindowsCE论坛
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

14
 
这份BSP放在我这两年了,一直没怎么改过,本来就想把function controller驱动加上,没想到整这么麻烦

周一开始调那个function controller驱动,那个驱动中断还没触发呢,唉~~

有高手路过给讲讲吧
此帖出自WindowsCE论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

15
 
菜鸟飘过,友情帮顶!
此帖出自WindowsCE论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

16
 
自己顶一把,DMA不工作的问题还是没有解决,盼望有人能参与
此帖出自WindowsCE论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

17
 
可以说你usb Function的问题,昨天我还在为这个苦恼呢?你找个好的bsp改下吧!我的现在好了!
此帖出自WindowsCE论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

18
 
重新建个工程,再NK
此帖出自WindowsCE论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

19
 
xuefeng_baggio兄弟能否将你的function driver发到我邮箱呢?

yangyong9608@163.com,我的cpu是S3C2440的

帮个忙吧,谢谢
此帖出自WindowsCE论坛
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

20
 
已经发给你了!你看看行不行!
此帖出自WindowsCE论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表