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

📄 usbmass.h

📁 ubi9021的51驱动程序
💻 H
字号:

#ifndef NULL
#define NULL 					((void*)0)
#endif


#define		UMO_READ_USB1_PACKET_UNIT	1		//1=if device is USB1.1 read in packet unit

/******************************************************************************
 *	SCSI Commands
 ******************************************************************************/

#define  SCSI_CMD_FORMATUNIT		0x04
#define  SCSI_CMD_INQUIRY			0x12
#define  SCSI_CMD_STARTSTOP			0x1B
#define  SCSI_CMD_MODESELECT6		0x15	//subClass=6(SCSI-2)
#define  SCSI_CMD_MODESELECT10		0x55	//subClass!=6
#define  SCSI_CMD_MODESENSE6		0x1A	//subClass=6(SCSI-2)
#define  SCSI_CMD_MODESENSE10		0x5A	//subClass!=6
#define  SCSI_CMD_PREVENTALLOW		0x1e
#define  SCSI_CMD_READ10			0x28
#define  SCSI_CMD_READCAPACITY		0x25
#define  SCSI_CMD_READFORMATCAP		0x23
#define  SCSI_CMD_REQUESTSENSE		0x03
#define  SCSI_CMD_REZEROUNITPOS		0x01
#define  SCSI_CMD_SEEK10			0x2B
#define  SCSI_CMD_SENDDIAGNOSTIC	0x1D
#define  SCSI_CMD_TESTUNITREADY		0x00
#define  SCSI_CMD_VERIFY			0x2F
#define  SCSI_CMD_WRITE10			0x2A
#define  SCSI_CMD_WRITENVERIFY		0x2E
#define  SCSI_CMD_TO_STALL_EPIN		0xFF	//not a SCSI command!!


	
/******************************************************************************
 *	SCSI Command Byte Wrapper
 ******************************************************************************/

#define	READ_FLAG	((U16)0x8000)	//for "SCSI_StartReadWrite(,,*)"
#define	WRITE_FLAG	((U16)0)		//for "SCSI_StartReadWrite(,,*)"


#define  SET_CBW_SIZE(dwSz)			(gCBW[8]=(U8)(dwSz),gCBW[9]=(U8)((dwSz)>>8),\
									 gCBW[10]=(U8)((dwSz)>>16),gCBW[11]=(U8)((dwSz)>>24))
#define  SET_CBW_BULKIN()			(gCBW[12]=(U8)0x80)
#define  SET_CBW_BULKOUT()			(gCBW[12]=(U8)0x00)
#define  SET_CBW_LUN(bLun)		(gCBW[13]=bLun )
#define  SET_CBW_LENGTH(bLn)		(gCBW[14]=(U8)bLn)
#define  SET_CBW_CMD(bCmd)			(gCBW[15]=(U8)(bCmd))
#define  SET_CBW_PAGEADDR(dwPA)		(gCBW[17]=(U8)((dwPA)>>24),\
									 gCBW[18]=(U8)((dwPA)>>16),\
									 gCBW[19]=(U8)((dwPA)>>8),\
									 gCBW[20]=(U8)(dwPA))
#define  SET_CBW_PAGECNT(wPN)		(gCBW[22]=(U8)((wPN)>>8),gCBW[23]=(U8)(wPN))

	
	
	#define	SCSI_Inquiry(pBuf)				SCSI_CMD(SCSI_CMD_INQUIRY,pBuf)
	#define	SCSI_ReadFormatCapacity(pBuf)	SCSI_CMD(SCSI_CMD_READFORMATCAP,pBuf)
	#define	SCSI_ModeSense(bPgCode,pBuf)	SCSI_CMD(SCSI_CMD_MODESENSE6,pBuf)
	#define	SCSI_PreventAllow(fPrev)		SCSI_CMD(SCSI_CMD_PREVENTALLOW,(U8*)fPrev)
//	#define	SCSI_RequestSense(pBuf)			SCSI_CMD(SCSI_CMD_REQUESTSENSE,pBuf)
	#define	SCSI_ReadCapacity(pBuf)			SCSI_CMD(SCSI_CMD_READCAPACITY,pBuf)
	#define	SCSI_TestUnit()					SCSI_CMD(SCSI_CMD_TESTUNITREADY,NULL)

#define	DEV_WriteRegMultiWithZero(reg,cnt)	DEV_WriteRegMulti(reg,cnt,TxNULL)
#define	DEV_ReadRegMultiAndDiscard(reg,cnt)	DEV_ReadRegMulti(reg,cnt,TxNULL)
	


	U8	UM_InitMultiLun(U8* tBUF);
	U8 SCSI_GetDataIn(U16 totBytCnt, U8* buf);
	U8 SCSI_SafeCSW(void);
	U8 SCSI_RequestSense(void);
	int USB_boot_setup();
	int UBI9021_read_sector_lba(short *buf, int stSec, int secCnt);
	U8		DEV_WaitForIrqV(U8 bIRQ);

⌨️ 快捷键说明

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