📄 ha_usbirq.h
字号:
#define USB_CFGINTERFACE30 (BASE_USBDEVICE+0X0A4) // ;cfg_interface register
#define USB_CFGINTERFACE31 (BASE_USBDEVICE+0X0A8) // ;cfg_interface register
#define USB_PKTPASSEDCTRL (BASE_USBDEVICE+0X0AC) // ;@valid register aera
#define USB_PKTDROPPEDCTRL (BASE_USBDEVICE+0X0B0) // ;@valid register aera
#define USB_CRCERRCTRL (BASE_USBDEVICE+0X0B4) // ;@valid register aera
#define USB_BITSTUFFERRCTRL (BASE_USBDEVICE+0X0B8) // ;@valid register aera
#define USB_PIDERRCTRL (BASE_USBDEVICE+0X0BC) // ;@valid register aera
#define USB_FRAMINGERrCTRL (BASE_USBDEVICE+0X0C0) // ;@valid register aera
#define USB_TXPKTCTRL (BASE_USBDEVICE+0X0C4) // ;@valid register aera
#define USB_STATCTRLOV (BASE_USBDEVICE+0X0C8) // ;@valid register aera
#define USB_TXLENGTH (BASE_USBDEVICE+0X0CC)
#define USB_RXLENGTH (BASE_USBDEVICE+0X0D0)
#define USB_RESUME (BASE_USBDEVICE+0X0D4)
#define USB_READFLAG (BASE_USBDEVICE+0X0D8)
#define USB_RECEIVETYPE (BASE_USBDEVICE+0X0DC)
#define USB_APPLOCK (BASE_USBDEVICE+0X0E0)
#define USB_EP0OUTADDR (BASE_USBDEVICE+0X100) // ;@ep0out register
#define USB_EP0OUTBMATTR (BASE_USBDEVICE+0X104) // ;@ep0out register
#define USB_EP0OUTMAXPKTSIZE (BASE_USBDEVICE+0X108) // ;@ep0out register
#define USB_EP0OUTIFNUM (BASE_USBDEVICE+0X10C) // ;@ep0out register
#define USB_EP0OUTSTAT (BASE_USBDEVICE+0X110) // ;@ep0out register
#define USB_EP0OUTBMREQTYPE (BASE_USBDEVICE+0X114) // ;@ep0out register
#define USB_EP0OUTBREQUEST (BASE_USBDEVICE+0X118) // ;@ep0out register
#define USB_EP0OUTWVALUE (BASE_USBDEVICE+0X11C) // ;@ep0out register
#define USB_EP0OUTWINDEX (BASE_USBDEVICE+0X120) // ;@ep0out register
#define USB_EP0OUTWLENGTH (BASE_USBDEVICE+0X124) // ;@ep0out register
#define USB_EP0OUTSYNCHFRAME (BASE_USBDEVICE+0X128) // ;@ep0out register
#define USB_EP1OUTADDR (BASE_USBDEVICE+0X12C) // ;@ep0out register
#define USB_EP1OUTBMATTR (BASE_USBDEVICE+0X130) // ;@ep0out register
#define USB_EP1OUTMAXPKTSIZRE (BASE_USBDEVICE+0X134) // ;@ep0out register
#define USB_EP1OUTIFNUM (BASE_USBDEVICE+0X138) // ;@ep0out register
#define USB_EP1OUTSTAT (BASE_USBDEVICE+0x13C) // ;@ep0out register
#define USB_EP1OUTBMREQTYPE (BASE_USBDEVICE+0X140) // ;@ep0out register
#define USB_EP1OUTBREQUEST (BASE_USBDEVICE+0X144) // ;@ep0out register
#define USB_EP1OUTWVALUE (BASE_USBDEVICE+0X148) // ;@ep0out register
#define USB_EP1OUTWINDEX (BASE_USBDEVICE+0X14C) // ;@ep0out register
#define USB_EP1OUTWLENGTH (BASE_USBDEVICE+0X150) // ;@ep0out register
#define USB_EP1OUTSYNCHFRAME (BASE_USBDEVICE+0X154) // ;@ep0out register
#define USB_EP2INADDR (BASE_USBDEVICE+0X158) // ;@ep1out register
#define USB_EP2INBMATTR (BASE_USBDEVICE+0X15C) // ;@ep1out register
#define USB_EP2INMAXPKTSIZE (BASE_USBDEVICE+0X160) // ;@ep1out register
#define USB_EP2INIFNUM (BASE_USBDEVICE+0X164) // ;@ep1out register
#define USB_EP2INSTAT (BASE_USBDEVICE+0X168) // ;@ep1out register
#define USB_EP2INBMREQTYPE (BASE_USBDEVICE+0X16C) // ;@ep1out register question?
#define USB_EP2INBREQUEST (BASE_USBDEVICE+0X170) // ;@ep1out register question?
#define USB_EP2INWVALUE (BASE_USBDEVICE+0X174) // ;@ep1out register question?
#define USB_EP1INWINDEX (BASE_USBDEVICE+0X178) // ;@ep1out register question?
#define USB_EP2INWLENGTH (BASE_USBDEVICE+0X17C) // ;@ep1out register question?
#define USB_EP2INSYNCHFRAME (BASE_USBDEVICE+0X180) // ;@ep1out register question?
#define USB_TXFIFO (BASE_USBDEVICE+0X300) //;@ data to host
#define USB_RXFIFO (BASE_USBDEVICE+0X200) //;@ data to device
//
//UPLL
//
#define PMMBASE 0X10001000
#define PLTR (PMMBASE + 0X00)
#define PMCR (PMMBASE + 0X04)
#define PUCR (PMMBASE + 0X08)
#define PCSR (PMMBASE + 0X0C)
#define PCDR (PMMBASE + 0X10)
#define PMDR (PMMBASE + 0X14)
#define Trt 0x00d000c8
#define Uplop 0X1f0f
//#define mplop 0x0504;
//#define mplop 0x0510
//
//
// P R O T O C O L R E Q U E S T
//
//
//
//control request
//
#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 // 0X40
/*#define pdc_fill_non_iso_urb(urb, handle, type, opr, buff, len, callback,priv) \
urb->next = NULL; \
urb->pipe = handle; \
urb->pipe_type = type; \
urb->operation = opr; \
urb->transfer_buffer = buff; \
urb->transfer_buffer_length = len; \
urb->actual_length = 0; \
urb->complete = callback; \
urb->req_priv = priv*/
#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
//**********************************************************************************************************
// T Y P E D E F S
//**********************************************************************************************************
typedef struct urb
{
//U32 flag;
U16 len;
U8 *fifo;
struct urb *next;
}urb;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -