亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? gfd_usb_irq.h

?? USB的驅動編程實例
?? H
字號:
/**************************************************************************************
 *
 *  (c) 2004 ASIC,all rights reserved
 *         
 *           
 *	This source code and any compilation or derivative thereof 
 *is proprietary information and is confidential in nature.
 *	Under no circumstance is this software to be exposed or placed
 *under an open source License of any type without expressed
 *written permission of ASIC.  
 *
 *filename:	HA_usbirq.h          
 *history:
 *
 *    Version         Date            Author            Comments
 *------------------------------------------------------------------------------------    
 *     1.0          2004.9.24           lmq             Initial Creation
 *	  1.1         2005.3.24	        xl               make all global var  in a USBDevice struct including USBStat,USBTrans
 										CtrlTrans ,BulkStat,CBW,BulkData,CSW  7 sub-structs.						
 **************************************************************************************/
#ifndef	__HA_usbirq_h__
#define	__HA_usbirq_h__

#include "HA_TypeDef.h"

//**********************************************************************************************************
// D E F I N E S
//**********************************************************************************************************
#ifndef GFD_USB
#define GFD_USB

#define UDISK

#define CHAN1

#ifdef CHAN1
#define CHAN 1
#define DMACCConfiguration DMACC1Configuration
#endif

#ifdef CHAN0
#define CHAN 0
#define DMACCConfiguration DMACC0Configuration
#endif

#ifdef CHAN2
#define CHAN 2
#define DMACCConfiguration DMACC2Configuration
#endif

#ifdef CHAN3
#define CHAN 3
#define DMACCConfiguration DMACC3Configuration
#endif

#ifdef CHAN4
#define CHAN 4
#define DMACCConfiguration DMACC4Configuration
#endif

#ifdef CHAN5
#define CHAN 5
#define DMACCConfiguration DMACC5Configuration
#endif
#define USBRAMDISK

//
// 端點0 bmRequestType寄存器
//

#define  descty   0x1f    
#define  reqty     0x60     


/* 讀寫成功標志*/

#define	write_success	0x80000000
#define   read_success	0x40000000

/*USB 中斷類型*/
#define	irq_none		0x00
#define	irq_setup		0x80
#define	irq_in			0x40
#define	irq_out			0x20
#define	irq_ping			0x10
#define	irq_error		0x08
#define	irq_ack			0x04
#define	irq_stat_ov		0x02
#define	irq_ctrl_err		0x01


/* 廠商和廠品ID 描述*/

#define	gfd_vendor_id		0x04CC  //0x6680 
#define	gfd_product_id		0x1A62 // 0x0100 
#define	gfd_product_string		{ 60,3, 			\
	'1',0, '3',0, '6',0, '2',0, '-',0, 'O',0, 'T',0, 'G',0, ' ',0,	\
	'M',0, 'A',0, 'S',0, 'S',0, ' ',0, 				\
	'S',0, 't',0, 'o',0, 'r',0, 'a',0, 'g',0, 'e',0, ' ',0,		\
	'P',0, 'C',0, 'I',0,						\
	' ',0, 'K',0, 'i',0, 't',0 }



#define LENGH 4/* 傳輸BUFFER 的大小為 LENGH*512 BYTE*/

/*長短批傳輸標志*/
 #define LONGBLK 0
 #define SHORTBLK 1
 
#define UNSINGLE 0
#define SINGLE 1

//
//USB狀態標志
//
#define USBDEF 0
#define USBAD  1
#define USBCG  2
//
//批傳輸方向標志
//
#define BULKIN  0
#define BULKOUT 1

//
//批傳輸狀態標志
//
#define BLKCMD 0
#define BLKPRO 1
#define BLKEND 2
//
//USB 設置標志
//
#define NSETCONFIG 0
#define SETCONFIG 1
//
//空包標志
//
#define NEMPTY 0
#define EMPTY  1 
//
//
//長短包標志
//
#define  LONGPKSTATE 0
#define  SHORTPK 1
//
//控制傳輸狀態標志
//
#define STALLINIT  0
#define STALLSET   1
#define NOSPINIT   0
#define NOSPSET    1
//
//端點標識
//
#define  EPCL     0
#define  EPBULK   1
//
//批傳輸狀態標識
//

#define BULKOUTSTAT  0
#define BULKINSTAT   1
#define BULKACKSTAT  2
 
#define BULKINDO     0
#define BULKINEND    1

#define TRANSBG      0
#define TRANSEND     1
//
//USB 中斷位標志
//

#define   SETUP        0x01  
#define   IN              0x02  
#define   OUT            0x04 
#define   PING          0x08
#define   TRAERR       0x10  
#define   ACK           0x20  
#define   STCOV        0x40  
#define   CTRAERR     0x80  
#define   RESET       0x200
#define   SUSPEND     0x100


//
//端點寄存器標志
//

#define   ep0out  0x00
#define   ep0in    0x01
#define   ep1out  0x02
#define   ep1in    0x03
#define   ep2out  0x04
#define   ep2in    0x05





 
#define  Trt    0x00d000c8
#define  Uplop  0X1f0f
//
//
//USB 協議宏定義
//

#define NAPP 0
#define APP 1

/*
 * SI
 */
#define SI 0
#define UNSI 1

//


//
//控制傳輸請求
//

#define STANDARD_REQUEST   0x00
#define CLASS_REQUEST          0x20
#define VENDOR_REQUEST       0x40

//
// bRequest
//

#define CLEAR_FEATURE       0X01         
#define GET_CONFIGURATION   0X08         
#define GET_DESCRIPTOR      0X06         
#define GET_INTERFACE       0X0A         
#define GET_STATUS          0X00         
#define SET_ADDRESS         0X05         
#define SET_CONFIGURATION   0X09         
#define SET_FEATURE         0X03         
#define SET_INTERFACE       0X0B         

//
//desc type
//

#define	GFD_DEV_DESC_TYPE		0x01
#define	GFD_CONFIG_DESC_TYPE		0x02
#define	GFD_STRING_DESC_TYPE		0x03
#define	GFD_INTF_DESC_TYPE		0x04
#define	GFD_EP_DESC_TYPE			0x05

//
//desc_len
//

#define	GFD_DEV_DESC_LEN			0x12
#define	GFD_CONFIG_DESC_LEN		0x09
#define	GFD_INTF_DESC_LEN			0x09
#define	GFD_EP_DESC_LEN			0x07

//
//mps
//

#define	GFD_BUS_NUM_CONFIG		0x01
#define	GFD_BUS_NUM_INTF		0x01
#define	GFD_BUS_NUM_STRINGS		0x03

#define  GFD_CONFIG_PIPE_MPS	GFD_CTRL_MPS
#define   GFD_CTRL_MPS          0x08  


#define         pdc_fill_non_iso_urb(urb_req,desc_ptr,desc_len)\
				urb_req->next = NULL;                 \
				urb_req->len= desc_len;                  \
				urb_req->fifo = desc_ptr








#endif

//**********************************************************************************************************
// 全局變量定義 --具體說明請參看文檔
//**********************************************************************************************************
/*USBStat defines global var used for indicating  USB device status*/
struct USBStat{
	U32 usbstate;//flag indicating device is power-status or default-status
	U32 setconstate;//flag indicating device whether set configaration
      U32 epstate;//flag indicating endpoint is control or bulk
	U32 usbdmapp;//flag indicating usb int_handle needed dma int_handle
};

/*USBTrans defines global var  used in byte-level trans */
struct USBTrans{
 	U32 *head_temp;//pointer to  data buffer
	S32	desc_len;//total length of data (in byte) will be transfered
	U32 usbmod;//mod=desc_len%64(bulk_only) or mod=desc_len%8(control trans)
	U32	longpk;//flag indicating the length (in byte) of  data whether greater than
			    // the storage of endpoint(8 - control endpoint  or 64 - bulk endpoint )		
	U8 *longurb;//pointer to buffer 
	U32 *bulkindatebuf;//start address of   the buffer in device
};
	
/*CtrlTrans defines global var used in control trans */
struct CtrlTrans{
	U32 statempty;//flag indicating device needing to output a empty pocket
	U8   command_request[8];//stores the request command
};
	
/*BulkStat defines global var  used in bulk_only trans,added by xl on 3.21*/
struct BulkStat{
	U32 blkstate;//flag indicating in which stage  of bulk_only trans:CBW,CSW or data 
	U32 blktrasstate;//flag indicating data-in or data-out trans 
	U32 unsinglepocket;//flag indicating whether needing to trans data
	S32	descactu_len;//actual length(byte) of data  in bulk trans
	U8  cbw[31];
	U32 csw[4];
};

/*CBW defines global var used in bulk cbw transfer*/
struct CBW{
	U8 cbw_direct;//defines data transfer direction 
	U32 cbw_dtl;//defines the length(in byte) of data in bulk_only trans specification
	U8 ufi_cmd[12];
	S32 requlen;//defines  the length(in byte) of data in ufi specification
	U8 RX[64];//stores the CBW recieved from host
};

/*CSW defines global var used in bulk csw transfer*/
struct CSW{
	U32 tlengh;//length of csw wrapper(13 bytes)
	U32 sing;//flag indicating the sucess  or failuretrans just as  bCSWStatus field in CSW
};

/*BulkData defines global var used in bulk data-in or data-out transfer */
struct BulkData {
	U8 temblklen; //total number of block(512 bytes) transferred 
	U32 longblk;   //flag indicating whether the sum of data greater  than Buffer(2k)
	U32 lblkaddr;//address of storage device(eg. mmc,u-flash)
	U16 blktmp;// number of block(512 bytes) transferred  in each time of bulk trans
};
	        
/*USBDevice defines the total global var used in usb_int_handle and usb_dma_int handle*/
struct USBDevice{
	struct USBStat 		dUSBStat;
	struct USBTrans 	dUSBTrans;
	struct CtrlTrans	dCtrlTrans;
	struct BulkStat    	dBulkStat;
	struct CBW			dCBW;
	struct BulkData		dBulkData;
	struct CSW			dCSW;
};	


typedef struct urb
{
	U16 len;
	U8 *fifo;
	struct urb *next;
}urb; 
#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品一区二区三区欧美| 悠悠色在线精品| 欧美女孩性生活视频| 欧美午夜片在线看| 91麻豆精品秘密| 91性感美女视频| 91天堂素人约啪| 日本韩国一区二区三区视频| 91亚洲永久精品| 欧洲精品视频在线观看| 欧美性生交片4| 欧美体内she精高潮| 欧美偷拍一区二区| 69成人精品免费视频| 欧美一区二区三区白人| 欧美成人a∨高清免费观看| 欧美成人一区二区三区在线观看| 精品日韩欧美在线| 国产精品色一区二区三区| 中文字幕乱码亚洲精品一区 | 夜夜嗨av一区二区三区| 夜夜操天天操亚洲| 狂野欧美性猛交blacked| 国产一区二区三区| 97精品久久久久中文字幕| 欧洲激情一区二区| 欧美刺激午夜性久久久久久久| 久久新电视剧免费观看| 亚洲欧美日韩电影| 日本欧美韩国一区三区| 不卡一区二区三区四区| 久久蜜桃av一区精品变态类天堂 | 免费黄网站欧美| 成人ar影院免费观看视频| 欧美无砖专区一中文字| 精品捆绑美女sm三区| 国产精品第一页第二页第三页| 亚洲一区二区精品久久av| 国内精品久久久久影院色| 一本色道a无线码一区v| 欧美xxxx老人做受| 亚洲精品乱码久久久久久久久| 日韩av电影一区| 92精品国产成人观看免费| 欧美不卡在线视频| 一区二区欧美在线观看| 韩日av一区二区| 欧美日韩国产免费| 中文字幕欧美日韩一区| 麻豆精品一区二区av白丝在线| 91在线观看视频| 久久精品视频一区| 日韩福利视频导航| 色婷婷国产精品| 日本一区二区在线不卡| 欧美96一区二区免费视频| 欧美怡红院视频| 亚洲天堂精品在线观看| 国产一区二区三区在线观看免费视频 | 日韩你懂的电影在线观看| 亚洲三级小视频| 99久久精品99国产精品| 精品久久久久香蕉网| 亚洲激情自拍偷拍| jlzzjlzz欧美大全| 久久色中文字幕| 激情文学综合网| 日韩一区二区免费在线电影| 亚洲韩国精品一区| 色天使色偷偷av一区二区| 自拍av一区二区三区| 国产成人av电影在线观看| 欧美videossexotv100| 日韩高清在线电影| 91精品国产色综合久久ai换脸| 亚洲综合久久久久| 欧美性极品少妇| 一片黄亚洲嫩模| 精品视频999| 婷婷综合另类小说色区| 欧美精品精品一区| 麻豆精品久久精品色综合| 欧美精品一卡二卡| 蜜桃视频一区二区| 久久综合色综合88| 成人精品在线视频观看| 国产女人水真多18毛片18精品视频| 精品一区二区免费| 久久久久青草大香线综合精品| 国产激情偷乱视频一区二区三区| 国产香蕉久久精品综合网| 成人动漫一区二区三区| 热久久一区二区| 欧美大胆人体bbbb| 国产99久久久国产精品免费看 | 亚洲精品免费在线观看| 91豆麻精品91久久久久久| 日韩**一区毛片| 久久综合av免费| 91碰在线视频| 美美哒免费高清在线观看视频一区二区 | 夜夜揉揉日日人人青青一国产精品| 在线观看日韩一区| 日本欧美一区二区三区乱码| 精品欧美乱码久久久久久1区2区| 国产乱码字幕精品高清av| 国产精品毛片久久久久久久 | 日本欧美在线看| 日本一区二区三区视频视频| 色成年激情久久综合| 免费看黄色91| 亚洲视频图片小说| 欧美一区二区三区人| 国产在线精品一区二区不卡了| 久久精品一区二区三区不卡牛牛| aaa欧美日韩| 美女被吸乳得到大胸91| 中文字幕亚洲在| 日韩精品一区二区三区在线播放| 成人精品国产福利| 美女视频黄 久久| 综合久久久久综合| 精品国产乱码久久久久久图片 | 欧美人妖巨大在线| 国产精品77777竹菊影视小说| 亚洲777理论| 国产精品视频你懂的| 日韩欧美国产综合一区| 色综合色狠狠天天综合色| 国内成人精品2018免费看| 五月天一区二区三区| 自拍视频在线观看一区二区| 久久久国产午夜精品| 91精品国产日韩91久久久久久| 91在线视频网址| 成人国产精品免费网站| 精品制服美女丁香| 日韩专区欧美专区| 亚洲国产精品嫩草影院| 亚洲裸体xxx| 成人免费在线视频| 中文字幕制服丝袜一区二区三区| 精品福利av导航| 欧美mv和日韩mv国产网站| 欧美精品成人一区二区三区四区| 在线一区二区观看| 91国产免费观看| 色94色欧美sute亚洲13| 99久久精品国产毛片| 91丨porny丨户外露出| 成人av网站免费| 97精品久久久午夜一区二区三区| 成人黄色片在线观看| 岛国精品在线播放| av在线免费不卡| 99久久免费国产| 日本乱人伦一区| 在线观看亚洲a| 欧美日韩免费观看一区三区| 欧美日韩激情一区二区三区| 欧美久久久久久久久中文字幕| 欧美日韩视频一区二区| 欧美日韩亚州综合| 日韩一级黄色片| 久久女同精品一区二区| 国产日韩精品一区二区三区| 国产精品欧美综合在线| 亚洲女爱视频在线| 亚洲高清免费一级二级三级| 免费成人在线播放| 国产成人无遮挡在线视频| 波多野结衣精品在线| 欧美综合一区二区| 日韩午夜三级在线| 国产色婷婷亚洲99精品小说| 亚洲图片欧美激情| 日本中文字幕一区二区视频 | 精品亚洲成a人| 成人免费看黄yyy456| 欧美日韩中文字幕一区| 日韩欧美在线网站| 国产精品美女一区二区| 亚洲国产综合在线| 国产一区二区主播在线| 色婷婷综合久色| 日韩一级免费一区| 亚洲欧美自拍偷拍| 天堂va蜜桃一区二区三区 | 欧美成人国产一区二区| 国产精品区一区二区三| 亚洲一级二级在线| 国产福利91精品| 91精品国产综合久久福利| 国产欧美日本一区视频| 天天色天天操综合| av成人老司机| 久久亚洲综合色一区二区三区| 日韩一区中文字幕| 韩国精品免费视频| 欧美老人xxxx18|