none
WinCE5.0的目录问题 RRS feed

  • 问题

  • 小弟想做一个WinCE5.0的usb串口驱动,在msdn上查到这么一段话
    Porting   the   PXA27X   USB   Function   Controller   Driver   PDD
    The   PXA27X   USB   function   controller   driver   is   in   %_WINCEROOT%\Public\Common\OAK\CSP\ARM\Intel\PXA27X\USBFN.   The   driver   is   implemented   as   a   base   class.   To   port   this   driver   to   a   specific   hardware   platform,   inherit   data   and   functions   from   the   base   class   and   use   the   inherited   data   and   functions   to   implement   functionality   that   is   specific   to   your   hardware   platform.   The   Intel   Mainstone   II   development   platform   inherits   from   the   PXA27X   USB   function   controller   driver   and   then   implements   any   hardware   platform   specific   functionality.   The   Intel   Mainstone   II   USB   function   controller   driver   is   in   %_WINCEROOT%\Platform\Mainstoneii\Src\Drivers\USBFN.   Any   hardware   platform   can   inherit   from   the   PXA27X   USB   function   controller   driver   base   class.

    This   driver   uses   the   bus   agnostic   driver   framework   to   retrieve   information   from   the   registry.   For   an   example   of   hardware   platform   specific   registry   keys,   see   %_WINCEROOT%\Platform\Mainstoneii\Files\Platform.reg.   For   more   information,   see   Bus   Agnostic   Drivers.
    现在的问题是WINCEROOT%\Public\Common\OAK\CSP\ARM\Intel\PXA27X\USBFN和%_WINCEROOT%\Platform\Mainstoneii\Src\Drivers\USBFN下的代码实现的似乎是usb   massstorage的功能,而我要实现的是将usb虚拟为串口和activesync链接的功能,大侠们能给指个路框架代码去哪里找吗?
    还有就是WINCEROOT\PUBLIC\COMMON\OAK\DRIVERS\USBFN\CLASS\SERIAL下的代码是干什么用的?mainstoneii下的usbfn的代码可以用吗?

    2008年1月2日 9:12

答案

  • 要是这样,那你太幸福了,呵呵。

     

    我是这样认为的,除非你的芯片中的USB模块和Intel的PXA27X中的USB模块用的是同一个IP,或者说是同一家公司提供的IP,那倒是有这个可能,也只能说你们的驱动会非常接近。

     

    如果你的BSP中没有USB Slave的驱动,那你就是要写一个USB Slave的驱动,也许你的驱动可以参考其他的USB Slave的代码,我觉得你还是踏下心来,看看PB的文档,然后看看微软提供的源代码,理解了,然后再开发你自己的驱动。我认为这样会比较好,呵呵。

     

     

     

     

     

    2008年1月4日 3:04

全部回复

  • USB Serial的效率也许不太高,我建议你看看USB RNDIS,把USB虚拟成网卡。Mainstone III里面有实现。

    USBFN里面的代码是USB的基本实现,Serial等可以说是USB应用层的协议。

    2008年1月2日 10:08
  •  

    我觉得你只需要开发USB Slave驱动,至于Massstorage,Serial和RNDIS都是上层应用,WinCE已经提供了这些功能了。你只需要在PB里面的Catalog选上这些功能就可以了。所以,我觉得你不需要关心"WINCEROOT\PUBLIC\COMMON\OAK\DRIVERS\USBFN\CLASS"下面的代码。你只需要开发USB Slave驱动,关于USB Slave驱动,我建议你看看NET2280的参考代码:

    "\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\USBFN\CONTROLLER\NET2280“

     

    个人建议,仅供参考。

    2008年1月3日 1:28
  • 小弟拙见,我以为只要找到微软和intel提供的代码,放到D:\WINCE500\PLATFORM\BSPNAME\src\drivers\USB\Function下,改一下中断对应的值,改一下注册表就可以用了,请楼上两位批评指正。

    2008年1月4日 2:47
  • 要是这样,那你太幸福了,呵呵。

     

    我是这样认为的,除非你的芯片中的USB模块和Intel的PXA27X中的USB模块用的是同一个IP,或者说是同一家公司提供的IP,那倒是有这个可能,也只能说你们的驱动会非常接近。

     

    如果你的BSP中没有USB Slave的驱动,那你就是要写一个USB Slave的驱动,也许你的驱动可以参考其他的USB Slave的代码,我觉得你还是踏下心来,看看PB的文档,然后看看微软提供的源代码,理解了,然后再开发你自己的驱动。我认为这样会比较好,呵呵。

     

     

     

     

     

    2008年1月4日 3:04
  • 呵呵,我做的就是PXA270的板子,所以我才会这么想,虽然显得很偷懒,但是尽快实现才行啊

    2008年1月7日 3:18
  • 这样啊!那你改起来应该容易一些,祝你好运!

    2008年1月7日 7:22