⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tpbulk.h

📁 前一段参考本程序为AT91RM9200开发板添加了一个USB MSD Bulk-Only下载接口
💻 H
字号:
/*
   //*************************************************************************
   //
   //                  P H I L I P S   P R O P R I E T A R Y
   //
   //           COPYRIGHT (c)   1999 BY PHILIPS SINGAPORE.
   //                     --  ALL RIGHTS RESERVED  --
   //
   // File Name:	TPBulk.H
   // Author:		ZhenYu Zhang
   // Created:		Feb. 1, 1999
   // Modified:
   // Revision:		0.0
   //
   //*************************************************************************
   //
   //*************************************************************************
*/


#ifndef __TPBULK_H__
#define __TPBULK_H__

#include "BasicTyp.h"

#define CSW_GOOD        0x00
#define CSW_FAIL        0x01
#define CSW_PHASE_ERROR 0x02

#ifdef  LITTLE_ENDIAN
#define CBW_SIGNATURE   0x43425355
#define CSW_SIGNATURE   0x53425355
#endif

#ifdef   BIG_ENDIAN
#define CBW_SIGNATURE   0x55534243
#define CSW_SIGNATURE   0x55534253
#endif

#define CBW_FLAG_IN     0x80

#define MAX_CDBLEN      0x10

typedef struct _COMMAND_BLOCK_WRAPPER{
    INT32   dCBW_Signature;
    INT32   dCBW_Tag;
    INT32   dCBW_DataXferLen;
    INT8    bCBW_Flag;
    INT8    bCBW_LUN;
    INT8    bCBW_CDBLen;
    CDB_RBC cdbRBC;
} CBW, *PCBW;

typedef struct _COMMAND_STATUS_WRAPPER{
    INT32   dCSW_Signature;
    INT32   dCSW_Tag;
    INT32   dCSW_DataResidue;
    INT8    bCSW_Status;
} CSW, *PCSW;

typedef union _TPBULK_STRUC {
    CBW     TPBulk_CommandBlock;
    CSW     TPBulk_CommandStatus;

}TPBLK_STRUC, * PTPBLK_STRUC;
/*
//*************************************************************************
// USB Class Request Functions
// and
// Public Functions 
//*************************************************************************
*/
/*
// Host Device Disagreement Matrix
*/
enum _HOST_DEV_DISAGREE {
CASEOK = 0,
CASE1,
CASE2,
CASE3,
CASE4,
CASE5,
CASE6,
CASE7,
CASE8,
CASE9,
CASE10,
CASE11,
CASE12,
CASE13,
CASECBW,
CASECMDFAIL
};


/*
//*************************************************************************
// C[ommand]D[ata]S[tatus] architecture for mass storage device over Bulk
// only Transport
//*************************************************************************
*/
void TPBulk_GetMaxLUN(void);
void TPBulk_ResetATA(void);


void TPBulk_CBWHandler( void );
void TPBulk_CSWHandler( void );

/*
//*************************************************************************
// Bulk Only Transport support functions
//*************************************************************************
*/
INT8 TPBulksup_ReadFrBOEP(INT8 Len);
INT8 TPBulksup_WriteToBIEP(INT8 Len);

BOOLEAN TPBulksup_IsCBWValid(void);
void TPBulksup_ErrorHandler(INT8 HostDevCase,INT16 wByteCounterDevWillXfer);

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -