spade7cn
驱动牛犊
驱动牛犊
  • 注册日期2004-07-13
  • 最后登录2010-08-12
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1433回复:5

关于68013的固件的一些问题,请高手指教

楼主#
更多 发布于:2004-07-13 23:31
各位高手:
    本人最近在写68013与DSP-HPI接口的固件,各端口大致配置如下:
Pipe:  0   Type: BLK Endpoint:  1 OUT  MaxPktSize: 0x40
Pipe:  1   Type: BLK Endpoint:  1 IN   MaxPktSize: 0x40
Pipe:  2   Type: BLK Endpoint:  2 OUT  MaxPktSize: 0x40
Pipe:  3   Type: BLK Endpoint:  6 IN   MaxPktSize: 0x40
其中2端口和6端口都是512x2的
但是遇到了一些奇怪的问题:
1、本人在向2端口写数的时候一次只能写128个字节,而且不能使用自动传输模式(即将2端口设置为AUTOMODE=1),要是写多余128个细节的数就需要通过0端口设置2端口的EP2BCL,很是麻烦。
2、从DSP往主机读数的时候也遇到类似情况,也是一次只能读128字节,但是可以将端口6设置为自动传输模式。

不知有哪位高人以前有这方面的经验,请指点一二,不胜感激!!!
谢谢!!
spade7cn
驱动牛犊
驱动牛犊
  • 注册日期2004-07-13
  • 最后登录2010-08-12
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-07-14 15:52
在Descr.a51里面改,找到Endpoint Descriptor,其中有一个字是设置端点maximum packet,把那个改成你想设的就行了.
 


谢谢!已经改好了!十分感谢!
brightfeng
驱动牛犊
驱动牛犊
  • 注册日期2004-01-14
  • 最后登录2005-08-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-07-14 12:18
在Descr.a51里面改,找到Endpoint Descriptor,其中有一个字是设置端点maximum packet,把那个改成你想设的就行了.
spade7cn
驱动牛犊
驱动牛犊
  • 注册日期2004-07-13
  • 最后登录2010-08-12
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-07-14 10:11
MaxPktSize设置错误,怎么只有64bytes (0x40), 应该是512(0x200).
 


对啊,我也郁闷,但不知在哪里修改这个MaxPktSize,是驱动还是固件里呢?
windrv
驱动牛犊
驱动牛犊
  • 注册日期2004-07-05
  • 最后登录2004-07-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-07-14 09:26
MaxPktSize设置错误,怎么只有64bytes (0x40), 应该是512(0x200).
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-07-14 09:26
你的设备枚举成了全速,如果硬件没有问题就可能是在默认情况下运行,你的设置没有生效。
有一个可能就是你的固件程序没有执行
你可以打开target属性卡下面有个bl51 locate选项,该页面下有两个可编辑的edit控件,分别是code:和xdata,看其中的code和xdata区域是否在0x2000以内,否则你的固件程序是不会执行的。
游客

返回顶部