wozhuce
驱动小牛
驱动小牛
  • 注册日期2004-04-02
  • 最后登录2005-11-01
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1446回复:1

ResetATA和GetMaxLUN和处理处

楼主#
更多 发布于:2004-12-05 20:19
我用D12开发的MASS STORAGE,开发卡在了ResetATA和GetMaxLUN和处理处,希望那位兄弟指点:1。我觉得有问题的地方做了注释,望各位帮我看看。
2,我已经跟踪过,发现ResetATA和GetMaxLUN没执行啊,为什么?望那位兄弟指点

不好意思,没法编辑BOUNDHUB的数据啊:

CTL    80 06 00 02  00 00 2e 00  GET DESCRIPTOR                
DI     09 02 2e 00  01 01 00 a0  //描述符集应该是正确的我已经检查过了        
       32 09 04 00  00 04 08 06                  
       50 00 07 05  80 00 10 00                        
       0a 07 05 00  00 10 00 0a  ........                      
       07 05 81 03  10 00 0a 07                        
       05 01 03 10  00 0a        ......                        
URB    50 00 08 00  00 00 00 00  CONTROL TRANSFER              
       c8 17 32 81  03 00 00 00                          22.3.8        
       d4 17 32 81  03 2b 00 02                          22.3.16      
       2e 00 00 00  48 1b 3b 81                          22.3.24      
       c8 ba 2d 81  00 00 00 00                          22.3.32      
               28 43 3b 81  e8 5a 2c 81                          22.3.40      
               6c 43 3b 81  6c 43 3b 81                          22.3.48      
               00 00 00 00  00 00 00 00                          22.3.56      
               00 00 00 00  00 00 00 00                          22.3.64      
               80 06 00 02  00 00 2e 00                          22.3.72      
  16.0  CTL    00 09 01 00  00 00 00 00  SET CONFIG              23.1.0        
  16.0  URB    78 00 00 00  00 00 00 00  SELECT CONFIG           23.2.0        
               c8 17 32 81  00 00 00 00                          23.2.8        
               48 1b 3b 81  c8 32 d5 e2                          23.2.16      
               60 00 00 00  08 06 50 00                          23.2.24      
               48 cd 31 81  04 00 00 00                          23.2.32      
               10 00 80 0a  00 00 00 00                          23.2.40      
               60 cd 31 81  00 10 00 00                          23.2.48      
               00 00 00 00  10 00 00 0a                          23.2.56      
               00 00 00 00  7c cd 31 81                          23.2.64      
               00 10 00 00  00 00 00 00                          23.2.72      
               10 00 81 0a  03 00 00 00   //DO 应该出现//右边的:  
               98 cd 31 81  00 10 00 00   // 55 53 42 43  28 b5 26 81  USBC(.&.  
               00 00 00 00  10 00 01 0a   // 24 00 00 00  80 00 06 12  $.......  
               03 00 00 00  b4 cd 31 81   // 00 00 00 24  00 00 00 00  ...$....  
               00 10 00 00  00 00 00 00   // 00 00 00 00  00 00 00     .......    
                                          // 可是却出现了左边的              
  12.0  CTL    a3 00 00 00  01 00 04 00  GET STATUS              24.1.0        
  12.0  DI     03 01 00 00               ....                    24.2.0        
  12.0  URB    50 00 08 00  00 00 00 00  CONTROL TRANSFER        24.3.0        
               c8 67 67 81  03 00 00 00                          24.3.8        
               d4 67 67 81  03 00 00 00                          24.3.16      
               04 00 00 00  28 69 2c 81                          24.3.24      
               c8 ba 2d 81  00 00 00 00                          24.3.32      
               88 f4 67 81  e8 e2 7d 81                          24.3.40      
               00 00 00 00  00 00 00 00                          24.3.48      
               00 00 00 00  00 00 00 00                          24.3.56      
               00 09 01 00  00 00 00 00                          24.3.64      
               a3 00 00 00  01 00 04 00                          24.3.72      
  12.0  CTL    a3 00 00 00  02 00 04 00  GET STATUS              25.1.0        
  12.0  DI     00 01 00 00               ....                    25.2.0        
  12.0  URB    50 00 08 00  00 00 00 00  CONTROL TRANSFER        25.3.0        
               c8 67 67 81  03 00 00 00                          25.3.8        
               d4 67 67 81  03 00 00 00                          25.3.16      
               04 00 00 00  28 69 2c 81                          25.3.24      
               c8 ba 2d 81  00 00 00 00                          25.3.32      
               88 f4 67 81  e8 e2 7d 81                          25.3.40      
               00 00 00 00  00 00 00 00                          25.3.48      
               00 00 00 00  00 00 00 00                          25.3.56      
               00 09 01 00  00 00 00 00                          25.3.64      
               a3 00 00 00  02 00 04 00                          25.3.72      
  12.0  URB    24 00 02 10  00 00 00 00  //为什么出现这么多URB   26.1.0        
               30 00 00 00  00 00 00 00                          26.1.8        
               28 1f 3b 81  00 00 00 00                          26.1.16      
               66 00 65 00  72 00 65 00                          26.1.24      
               6e 00 63 00                                       26.1.32      
  12.0  URB    24 00 02 10  00 00 00 00                          27.1.0        
               30 00 00 00  00 00 00 00                          27.1.8        
               48 68 3f 81  00 00 00 00                          27.1.16      
               66 00 65 00  72 00 65 00                          27.1.24      
               6e 00 63 00                                       27.1.32      
  12.0  URB    24 00 02 10  00 00 00 00                          28.1.0        
               30 00 00 00  00 00 00 00                          28.1.8        
               08 c7 31 81  00 00 00 00                          28.1.16      
               66 00 65 00  72 00 65 00                          28.1.24      
               6e 00 63 00                                       28.1.32      
  12.0  URB    24 00 02 10  00 00 00 00                          29.1.0        
               30 00 00 00  00 00 00 00                          29.1.8        
               08 43 7e 81  00 00 00 00                          29.1.16      
               66 00 65 00  72 00 65 00                          29.1.24      
               6e 00 63 00                                       29.1.32      
  12.0  URB    14 00 01 10  00 00 00 00                          30.1.0        
               e8 48 4e 81  00 00 00 00                          30.1.8        
               28 1f 3b 81                                       30.1.16      
  12.0  URB    14 00 01 10  00 00 00 00                          31.1.0        
               e8 48 4e 81  00 00 00 00                          31.1.8        
               48 68 3f 81                                       31.1.16      
  12.0  URB    14 00 01 10  00 00 00 00                          32.1.0        
               e8 48 4e 81  00 00 00 00                          32.1.8        
               08 c7 31 81                                       32.1.16      
  12.0  URB    14 00 01 10  00 00 00 00                          33.1.0        
               e8 48 4e 81  00 00 00 00                          33.1.8        
               08 43 7e 81                                       33.1.16      
  12.0  URB    24 00 02 10  00 00 00 00                          34.1.0        
               30 00 00 00  00 00 00 00                          34.1.8        
               28 43 3b 81  00 00 00 00                          34.1.16      
               66 00 65 00  72 00 65 00                          34.1.24      
               6e 00 63 00                                       34.1.32      
  12.0  URB    14 00 01 10  00 00 00 00                          35.1.0        
               e8 48 4e 81  00 00 00 00                          35.1.8        
               28 43 3b 81                                       35.1.16      
  12.0  CTL    23 01 01 00  01 00 00 00  CLEAR FEATURE           36.1.0

//处理ResetATA和GetMaxLUN的函数
void TPBulk_ResetATA(void)
{
    single_transmit(0,0);   //在设备RESET之前,应返回NAK
    //stall_ep0();            //控制端点停止
}

void TPBulk_GetMaxLUN(void)
{
    single_transmit(0,1);  //0-没有LUN,1-传输的数据长度
    stall_ep0();           //控制端点停止
}


//调用ResetATA和GetMaxLUN的代码
if (type == USB_STANDARD_REQUEST)         //==0x00
(*StandardDeviceRequest[req])();  //已成功调用,并成功执行
else if(type == USB_CLASS_REQUEST)  //==0x20
     {
req=0xFF-req;    //
(*ClassDeviceRequest[req])();    //调用ResetATA和GetMaxLUN的代码
    }




      
  
wozhuce
驱动小牛
驱动小牛
  • 注册日期2004-04-02
  • 最后登录2005-11-01
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-12-30 09:34
这个我已经解决了,是看错了。非常感谢一些大虾对我帮助和启发!!
游客

返回顶部