bluefishhttp://blog.yesky.com/Blog/vincentzhou/复制地址
公告栏
专注wince底层开发,学习linux 为生活而奋斗!
控制面板
日历
<2008年4月>
SuMoTuWeThFrSa
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910
留言簿(8)
文章分类
文章档案
日记档案
向强人学习

多么无辜的一周啊,原本想十一回来之后这个问题顶多半天就能搞定的。呵呵,还是太高估我自己了。

下面说下问题,s3c2440的bsp在wince5上面跑,由于要通过pc装些东西,所以要提供activesync以连接pc。我的做法(最初当然得玩最低级的了)是新建一个基于usb的拨号连接,然后在pc connetion中选中这个连接,拔插一下usbd口的线。问题出现了:经典的拨号连接对话框闪了一下就不见了,taskbar上也没有连接的图标了。串口消息:RASCS_Disconnected: Ecode=619,查看ms的help文档意思是:ERROR_PORT_DISCONNECTED。

至此,郁闷了。试了很多办法,可以证明硬件是好的,usbd口的各脚电压也是ok的。wince4.2的nk在这块板子上跑起来完全可以正常连接pc,证明pc端的activesync没有问题。问题肯定出在bsp中的相关代码上,因为在这种情况下就不要怀疑ms了。

实在是没有办法了,就先从最基本的做起吧,都被逼到这份上了。首先看下中断,打开kernal\oal\intr.c,OALIntrStaticTranslate(SYSINTR_USBD, IRQ_USBD);这不是都加上了吗?靠,还是我加的呢(赖也赖不掉啊,注释中还有修改人和时间呢)。经过在OEMInterruptHandler函数中加几条测试消息看这个中断到底有没有正常工作。不看不知道,一看下一跳,在第一次拔插usb线(指d口)有中断产生,没有处理。第二次连中断都没有。这就对了,第一次产生的中断还在那耗着呢,能再产生那才有问题呢。很明显,上面的irq和sysintr影射的不对,中断没有正常被处理。

恨自己啊,没有事你瞎加什么啊,懂不懂啊你!去掉上面的影射,按正常的sysgen and build。再创建拨号连接,拔插usb线,终于看到pc端的activesync动了,连接正常。

无意中写的这么一句,整整搞了5天,这TMD什么事!


作者:bluefish 阅读() 评论()  编辑 发表于:2007-10-12 15:55
相关内容
文章评论

  • # re: 画蛇添足之error of activesync over usb link to pc
  • 今天在调试2410的时候,连接activesync又出现了一个619的error。这次由于是在wince4.2下面,所以直接比对了下2440和2410的usb-ser的代码,发现2410下面没有对MISCCR的相应位设置。spec对该寄存器的解释为:Pads related USB are conrolled by this register for USB host, or for USB device.
    bluefish | 2008-04-01 16:00

    发表评论
    标题 *  
    姓名 *  
    内容 *  
       验证码: *       
           
    版权声明:天极是本Blog托管服务提供商。如本文牵涉版权问题,天极不承担相关责任,请版权拥有者直接与文章作者联系解决。
    Powered by:

    Copyright © bluefish