📄 usb_drv.lis
字号:
0001 USB_CB_SRC_h2d_cls_ifc_02: equ USB_NOT_SUPPORTED
0001 USB_CB_SRC_h2d_cls_ifc_03: equ USB_NOT_SUPPORTED
0001 USB_CB_SRC_h2d_cls_ifc_04: equ USB_NOT_SUPPORTED
0001 USB_CB_SRC_h2d_cls_ifc_05: equ USB_NOT_SUPPORTED
0001 USB_CB_SRC_h2d_cls_ifc_06: equ USB_NOT_SUPPORTED
0001 USB_CB_SRC_h2d_cls_ifc_07: equ USB_NOT_SUPPORTED
0001 USB_CB_SRC_h2d_cls_ifc_08: equ USB_NOT_SUPPORTED
0002 USB_CB_SRC_h2d_cls_ifc_09: equ USB_UM_SUPPLIED
0002 USB_CB_SRC_h2d_cls_ifc_10: equ USB_UM_SUPPLIED
0002 USB_CB_SRC_h2d_cls_ifc_11: equ USB_UM_SUPPLIED
0001 USB_CB_SRC_h2d_cls_ifc_12: equ USB_NOT_SUPPORTED
0000
0000 ;-----------------------------------------------
0000 ; 1st Tier Dispatch--Standard Requests
0000 ;-----------------------------------------------
0001 USB_CB_h2d_std_dev: equ 1
0001 USB_CB_h2d_std_ifc: equ 1
0001 USB_CB_h2d_std_ep: equ 1
0000 USB_CB_h2d_std_oth: equ 0
0001 USB_CB_d2h_std_dev: equ 1
0001 USB_CB_d2h_std_ifc: equ 1
0001 USB_CB_d2h_std_ep: equ 1
0000 USB_CB_d2h_std_oth: equ 0
0000
0000 ;-----------------------------------------------
0000 ; 1st Tier Dispatch--Class Requests
0000 ;-----------------------------------------------
0000 USB_CB_h2d_cls_dev: equ 0
0001 USB_CB_h2d_cls_ifc: equ 1
0000 USB_CB_h2d_cls_ep: equ 0
0000 USB_CB_h2d_cls_oth: equ 0
0000 USB_CB_d2h_cls_dev: equ 0
0001 USB_CB_d2h_cls_ifc: equ 1
0000 USB_CB_d2h_cls_ep: equ 0
0000 USB_CB_d2h_cls_oth: equ 0
0000
0000 ;-----------------------------------------------
0000 ; 1st Tier Dispatch--Vendor Specific Requests
0000 ;-----------------------------------------------
0000 USB_CB_h2d_vnd_dev: equ 0
0000 USB_CB_h2d_vnd_ifc: equ 0
0000 USB_CB_h2d_vnd_ep: equ 0
0000 USB_CB_h2d_vnd_oth: equ 0
0000 USB_CB_d2h_vnd_dev: equ 0
0000 USB_CB_d2h_vnd_ifc: equ 0
0000 USB_CB_d2h_vnd_ep: equ 0
0000 USB_CB_d2h_vnd_oth: equ 0
0000
0000 ;-----------------------------------------------
0000 ; 1st Tier Dispatch--Reserved Requests
0000 ;-----------------------------------------------
0000 USB_CB_h2d_rsv_dev: equ 0
0000 USB_CB_h2d_rsv_ifc: equ 0
0000 USB_CB_h2d_rsv_ep: equ 0
0000 USB_CB_h2d_rsv_oth: equ 0
0000 USB_CB_d2h_rsv_dev: equ 0
0000 USB_CB_d2h_rsv_ifc: equ 0
0000 USB_CB_d2h_rsv_ep: equ 0
0000 USB_CB_d2h_rsv_oth: equ 0
0000
0000 ;-----------------------------------------------
0000 ; Endpoint event flags
0000 ;-----------------------------------------------
0002 NO_EVENT_ALLOWED: equ 2
0001 EVENT_PENDING: equ 1
0000 NO_EVENT_PENDING: equ 0
0000
0000 IN_BUFFER_FULL: equ NO_EVENT_PENDING
0001 IN_BUFFER_EMPTY: equ EVENT_PENDING
0001 OUT_BUFFER_FULL: equ EVENT_PENDING
0000 OUT_BUFFER_EMPTY: equ NO_EVENT_PENDING
0000
0000 ;-----------------------------------------------
0000 ; HID Descriptor Types
0000 ;-----------------------------------------------
0021 DESCR_TYPE_HID_CLASS: equ 0x21
0009 DESCR_SIZE_HID_CLASS: equ 9
0022 DESCR_TYPE_HID_REPORT: equ 0x22
0023 DESCR_TYPE_HID_PHYSICAL: equ 0x23
0000
0000 ;-----------------------------------------------
0000 ; Transfer Completion Notification
0000 ;-----------------------------------------------
0000 USB_XFER_IDLE: equ 0x00
0001 USB_XFER_STATUS_ACK: equ 0x01
0002 USB_XFER_PREMATURE: equ 0x02
0003 USB_XFER_ERROR: equ 0x03
0000
0000 ; This macro is used to allocate a completion status block
0000 ; for all Requests. The macro parameter is used
0000 ; to prefix the two data elements.
0000 USB_XFER_STATUS: equ 0
0001 USB_XFER_LENGTH: equ 1
0000 MACRO USB_XFER_STATUS_BLOCK
0000 BLK 1 ; Completion Status
0000 BLK 2 ; Transfer Length
0000 USB_VSR_SUPPORT: EQU 0
IF USB_CB_h2d_vnd_dev
USB_VSR_SUPPORT: EQU 1
ENDIF
IF USB_CB_h2d_vnd_ifc
USB_VSR_SUPPORT: EQU 1
ENDIF
IF USB_CB_h2d_vnd_ep
USB_VSR_SUPPORT: EQU 1
ENDIF
IF USB_CB_h2d_vnd_oth
USB_VSR_SUPPORT: EQU 1
ENDIF
IF USB_CB_d2h_vnd_dev
USB_VSR_SUPPORT: EQU 1
ENDIF
IF USB_CB_d2h_vnd_ifc
USB_VSR_SUPPORT: EQU 1
ENDIF
IF USB_CB_d2h_vnd_ep
USB_VSR_SUPPORT: EQU 1
ENDIF
IF USB_CB_d2h_vnd_oth
USB_VSR_SUPPORT: EQU 1
ENDIF
; end of file USB.inc
;-----------------------------------------------
; Global Symbols
;-----------------------------------------------
export _USB_EP0_ISR
export USB_InitControlRead
export USB_InitControlWrite
export USB_InitNoDataStageControlTransfer
export USB_NoDataStageControlTransfer
;-----------------------------------------------
; Macro Definitions
;-----------------------------------------------
;-----------------------------------------------
; Constant Definitions
;-----------------------------------------------
;-----------------------------------------------
; Variable Allocation
;-----------------------------------------------
AREA bss (RAM,REL)
;----------------------------------------------------------------------------
; Current Device
;----------------------------------------------------------------------------
EXPORT USB_bCurrentDevice
0000 USB_bCurrentDevice: BLK 1 ; Current Device
0001 ;----------------------------------------------------------------------------
0001 ; Current Configuration
0001 ;----------------------------------------------------------------------------
EXPORT USB_Configuration, _USB_Configuration
0001 _USB_Configuration:
0001 USB_Configuration: BLK 1 ; Current Configuration
0002 ;----------------------------------------------------------------------------
0002 ; Current Device Status
0002 ;----------------------------------------------------------------------------
EXPORT USB_DeviceStatus
0002 USB_DeviceStatus: BLK 1 ; Current Device Status
0003 ;----------------------------------------------------------------------------
0003 ; Interface Setting
0003 ;----------------------------------------------------------------------------
EXPORT USB_InterfaceSetting
0003 USB_InterfaceSetting: BLK 1 ; Interface Setting
0004 ;----------------------------------------------------------------------------
0004 ; Endpoint Status--USB Status
0004 ;----------------------------------------------------------------------------
EXPORT USB_EndpointStatus
0004 USB_EndpointStatus: BLK USB_NUM_ENDPOINTS ; Endpoint Status
0007 ;----------------------------------------------------------------------------
0007 ; Last Packet Size
0007 ;----------------------------------------------------------------------------
EXPORT USB_LastSize
0007 USB_LastSize: BLK 1 ; Last Packet Size
0008 ;----------------------------------------------------------------------------
0008 ; Control Transfer State Machine
0008 ; State values for Control Write
0008 ; State values for Control Read
0008 ;----------------------------------------------------------------------------
EXPORT USB_TransferType
0008 USB_TransferType: BLK 1 ; Control Transfer State Machine
0009 ;----------------------------------------------------------------------------
0009 ; Control Transfer Intermediate Buffer--Shared among the requests
0009 ;----------------------------------------------------------------------------
EXPORT USB_TransferBuffer
0009 USB_TransferBuffer: BLK 8
0011 ;----------------------------------------------------------------------------
0011 ; Transfer Descriptor Data for Control Transfer
0011 ; --The following data have the same format as the first 5 bytes of the TD_ENTRY
0011 ;----------------------------------------------------------------------------
0011 ; Control Transfer Data Source
0011 ; USB_DS_ROM
0011 ; USB_DS_RAM
0011 ; USB_DS_RAM_AS_NEEDED
0011 ;----------------------------------------------------------------------------
EXPORT USB_CurrentTD, _USB_CurrentTD
0011 USB_CurrentTD:
0011 _USB_CurrentTD:
EXPORT USB_DataSource, _USB_DataSource
0011 USB_DataSource:
0011 _USB_DataSource: BLK 1
0012 ;----------------------------------------------------------------------------
0012 ; Control Transfer Data Size
0012 ;----------------------------------------------------------------------------
EXPORT USB_TransferSize, _USB_TransferSize
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -