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

📄 dscr.a51

📁 赛普拉斯 68013芯片的固件驱动
💻 A51
📖 第 1 页 / 共 2 页
字号:
;;-----------------------------------------------------------------------------
;;   文件:     dscr.a51
;;-----------------------------------------------------------------------------
/*   
DSCR_DEVICE   		equ   1   		;; 描述符类型: 设备
DSCR_CONFIG   		equ   2   		;; 描述符类型: 配置
DSCR_STRING   		equ   3   		;; 描述符类型: 字符串
DSCR_INTRFC   		equ   4   		;; 描述符类型: 接口
DSCR_ENDPNT  	 	equ   5   		;; 描述符类型: 端点
DSCR_DEVQUAL  		equ   6   		;; 描述符类型: 设备限定

DSCR_DEVICE_LEN   equ   18			;; 设备描述符长度
DSCR_CONFIG_LEN   equ   9			;; 描述符长度
DSCR_INTRFC_LEN   equ   9			;; 接口描述符长度
DSCR_ENDPNT_LEN   equ   7			;; 端点描述符长度
DSCR_DEVQUAL_LEN  equ   10			;; 设备限定描述符长度

ET_CONTROL   		equ   0   		;; 端点类型:控制
ET_ISO       		equ   1   		;; 端点类型:同步
ET_BULK      		equ   2   		;; 端点类型:批量
ET_INT       		equ   3   		;; 端点类型:中断

public      		DeviceDscr, DeviceQualDscr, HighSpeedConfigDscr, FullSpeedConfigDscr, StringDscr, UserDscr

DSCR   SEGMENT   CODE PAGE


      rseg DSCR      				;; 将描述符表置于片上存储器中

DeviceDscr:   							;; 设备描述符
      db   DSCR_DEVICE_LEN 		;; 描述符长度
      db   DSCR_DEVICE   			;; 描述符类型
      dw   0002H      				;; 协议版本(BCD)
      db   00H        				;; 设备类
      db   00H         				;; 设备子类
      db   00H         				;; 设备子-子类
      db   64         				;; 最大包长度
      dw   4705H      				;; 制造商ID(VID)
      dw   0210H      				;; 产品ID(PID)
      dw   0000H      				;; 产品版本
      db   1        		 			;; 生产商字符串索引
      db   2         				;; 产品字符串索引
      db   0         				;; 序列号字符串索引
      db   1         				;; 配置数

DeviceQualDscr:						;; 设备限定描述符
      db   DSCR_DEVQUAL_LEN   	;; 描述符长度
      db   DSCR_DEVQUAL   			;; 描述符类型
      dw   0002H      				;; 协议版本(BCD)
      db   00H        				;; 设备类
      db   00H         				;; 设备子类
      db   00H         				;; 设备子-子类
      db   64         				;; 最大包长度
      db   1         				;; 配置数
      db   0         				;; 保留

HighSpeedConfigDscr:   				;; 高速配置描述符
      db   DSCR_CONFIG_LEN       ;; 描述符长度
      db   DSCR_CONFIG           ;; 描述符类型
      db   (HighSpeedConfigDscrEnd-HighSpeedConfigDscr) mod 256 ;; 总长度 (LSB)
      db   (HighSpeedConfigDscrEnd-HighSpeedConfigDscr)  /  256 ;; 总长度 (MSB)
      db   1      					;; 接口数
      db   1      					;; 配置数
      db   0      					;; 配置字符串
      db   10000000b   				;; 属性(b7 - buspwr, b6 - selfpwr, b5 - rwu)
      db   50      					;; 功率需求(除以2 ma)
											
											;;	接口描述符				
      db   DSCR_INTRFC_LEN      	;; 描述符长度
      db   DSCR_INTRFC         	;; 描述符类型
      db   0               		;; 该接口基于0的索引
      db   0               		;; 交替设置
      db   4               		;; 端点数
      db   0ffH            		;; 接口类型
      db   00H               		;; 接口子类
      db   00H               		;; 接口子-子类
      db   0               		;; 接口描述符字符串索引
      
;; 端点描述符(端点2)	
      db   DSCR_ENDPNT_LEN      	;; 描述符长度
      db   DSCR_ENDPNT         	;; 描述符类型
      db   02H               		;; 端点数及其方向
      db   ET_BULK            	;; 端点类型
      db   00H               		;; 最大包长度(LSB)
      db   02H               		;; 最大包长度 (MSB)
      db   00H               		;; 轮询间隔
		
;; 端点描述符(端点4)	
      db   DSCR_ENDPNT_LEN      	;; 描述符长度
      db   DSCR_ENDPNT         	;; 描述符类型
      db   04H               		;; 端点数及其方向
      db   ET_BULK            	;; 端点类型
      db   00H               		;; 最大包长度(LSB)
      db   02H               		;; 最大包长度 (MSB)
      db   00H               		;; 轮询间隔

;; 端点描述符(端点6)	
      db   DSCR_ENDPNT_LEN      	;; 描述符长度
      db   DSCR_ENDPNT         	;; 描述符类型
      db   86H               		;; 端点数及其方向
      db   ET_BULK            	;; 端点类型
      db   00H               		;; 最大包长度(LSB)
      db   02H               		;; 最大包长度 (MSB)
      db   00H               		;; 轮询间隔

;; 端点描述符(端点8)	
      db   DSCR_ENDPNT_LEN      	;; 描述符长度
      db   DSCR_ENDPNT         	;; 描述符类型
      db   88H               		;; 端点数及其方向
      db   ET_BULK            	;; 端点类型
      db   00H               		;; 最大包长度(LSB)
      db   02H               		;; 最大包长度 (MSB)
      db   00H               		;; 轮询间隔

HighSpeedConfigDscrEnd:   

FullSpeedConfigDscr:   				;; 全速配置描述符
      db   DSCR_CONFIG_LEN       ;; 描述符长度
      db   DSCR_CONFIG           ;; 描述符类型
      db   (FullSpeedConfigDscrEnd-FullSpeedConfigDscr) mod 256 ;; 总长度 (LSB)
      db   (FullSpeedConfigDscrEnd-FullSpeedConfigDscr)  /  256 ;; 总长度 (MSB)
      db   1      					;; 接口数
      db   1      					;; 配置数
      db   0      					;; 配置字符串
      db   10000000b   				;; 属性 (b7 - buspwr, b6 - selfpwr, b5 - rwu)
      db   50      					;; 功率需求 (除以 2 ma)

      db   DSCR_INTRFC_LEN      	;; 描述符长度
      db   DSCR_INTRFC         	;; 描述符类型
      db   0               		;; 该接口基于0的索引
      db   0               		;; 交替设置
      db   4               		;; 端点数
      db   0ffH            		;; 接口类型
      db   00H               		;; 接口子类
      db   00H               		;; 接口子-子类
      db   0               		;; 接口描述符字符串索引
      
;; 端点描述符(端点2)	
      db   DSCR_ENDPNT_LEN      	;; 描述符长度
      db   DSCR_ENDPNT         	;; 描述符类型
      db   02H               		;; 端点数及其方向
      db   ET_BULK            	;; 端点类型
      db   40H               		;; 最大包长度(LSB)
      db   00H               		;; 最大包长度 (MSB)
      db   00H              	 	;; 轮询间隔

;; 端点描述符(端点4)	
      db   DSCR_ENDPNT_LEN      	;; 描述符长度
      db   DSCR_ENDPNT         	;; 描述符类型
      db   04H               		;; 端点数及其方向
      db   ET_BULK            	;; 端点类型
      db   40H               		;; 最大包长度(LSB)
      db   00H               		;; 最大包长度 (MSB)
      db   00H               		;; 轮询间隔

;; 端点描述符(端点6)	
      db   DSCR_ENDPNT_LEN      	;; 描述符长度
      db   DSCR_ENDPNT         	;; 描述符类型
      db   86H               		;; 端点数及其方向
      db   ET_BULK            	;; 端点类型
      db   40H               		;; 最大包长度(LSB)
      db   00H               		;; 最大包长度 (MSB)
      db   00H               		;; 轮询间隔

;; 端点描述符(端点8)	
      db   DSCR_ENDPNT_LEN      	;; 描述符长度
      db   DSCR_ENDPNT         	;; 描述符类型
      db   88H               		;; 端点数及其方向
      db   ET_BULK            	;; 端点类型
      db   40H               		;; 最大包长度(LSB)
      db   00H               		;; 最大包长度 (MSB)
      db   00H               		;; 轮询间隔

FullSpeedConfigDscrEnd:   

StringDscr:

StringDscr0:   						
      db   StringDscr0End-StringDscr0      ;;设置描述符长度
      db   DSCR_STRING
      db   09H,04H
StringDscr0End:

StringDscr1:   
      db   StringDscr1End-StringDscr1      ;;设置描述符长度
      db   DSCR_STRING
      db   'Y',00
      db   'C',00
      db   'L',00
      db   'T',00
      db   'e',00
      db   'c',00
      db   'h',00
StringDscr1End:

StringDscr2:   
      db   StringDscr2End-StringDscr2      ;;设置描述符长度
      db   DSCR_STRING
      db   'E',00
      db   'Z',00
      db   '-',00
      db   'U',00
      db   'S',00
      db   'B',00
      db   ' ',00
      db   'F',00
      db   'X',00
      db   '2',00
StringDscr2End:

UserDscr:      
      dw   0000H
      end

*/


/*
中断描述符
;;-----------------------------------------------------------------------------
;;   File:      dscr.a51
;;   Contents:   This file contains descriptor data tables.  
;;
;;   Copyright (c) 1997 AnchorChips, Inc. All rights reserved
;;-----------------------------------------------------------------------------
   
DSCR_DEVICE   equ   1   ;; Descriptor type: Device
DSCR_CONFIG   equ   2   ;; Descriptor type: Configuration
DSCR_STRING   equ   3   ;; Descriptor type: String
DSCR_INTRFC   equ   4   ;; Descriptor type: Interface
DSCR_ENDPNT   equ   5   ;; Descriptor type: Endpoint
DSCR_DEVQUAL  equ   6   ;; Descriptor type: Device Qualifier

DSCR_DEVICE_LEN   equ   18
DSCR_CONFIG_LEN   equ    9
DSCR_INTRFC_LEN   equ    9
DSCR_ENDPNT_LEN   equ    7
DSCR_DEVQUAL_LEN  equ   10

ET_CONTROL   equ   0   ;; Endpoint type: Control
ET_ISO       equ   1   ;; Endpoint type: Isochronous
ET_BULK      equ   2   ;; Endpoint type: Bulk
ET_INT       equ   3   ;; Endpoint type: Interrupt

public      DeviceDscr, DeviceQualDscr, HighSpeedConfigDscr, FullSpeedConfigDscr, StringDscr, UserDscr

DSCR   SEGMENT   CODE PAGE

;;-----------------------------------------------------------------------------
;; Global Variables
;;-----------------------------------------------------------------------------
      rseg DSCR      ;; locate the descriptor table in on-part memory.

DeviceDscr:   
      db   DSCR_DEVICE_LEN      ;; Descriptor length
      db   DSCR_DEVICE   ;; Decriptor type
      dw   0002H      ;; Specification Version (BCD)
      db   00H        ;; Device class
      db   00H         ;; Device sub-class
      db   00H         ;; Device sub-sub-class
      db   64         ;; Maximum packet size
      dw   4705H      ;; Vendor ID
      dw   0210H      ;; Product ID (Sample Device)
      dw   0000H      ;; Product version ID
      db   1         ;; Manufacturer string index
      db   2         ;; Product string index
      db   0         ;; Serial number string index
      db   1         ;; Number of configurations

DeviceQualDscr:
      db   DSCR_DEVQUAL_LEN   ;; Descriptor length
      db   DSCR_DEVQUAL   ;; Decriptor type
      dw   0002H      ;; Specification Version (BCD)
      db   00H        ;; Device class
      db   00H         ;; Device sub-class
      db   00H         ;; Device sub-sub-class
      db   64         ;; Maximum packet size
      db   1         ;; Number of configurations
      db   0         ;; Reserved

HighSpeedConfigDscr:   
      db   DSCR_CONFIG_LEN               ;; Descriptor length
      db   DSCR_CONFIG                  ;; Descriptor type
      db   (HighSpeedConfigDscrEnd-HighSpeedConfigDscr) mod 256 ;; Total Length (LSB)
      db   (HighSpeedConfigDscrEnd-HighSpeedConfigDscr)  /  256 ;; Total Length (MSB)
      db   1      ;; Number of interfaces
      db   1      ;; Configuration number
      db   0      ;; Configuration string
      db   10000000b   ;; Attributes (b7 - buspwr, b6 - selfpwr, b5 - rwu)
      db   50      ;; Power requirement (div 2 ma)

;; Interface Descriptor
      db   DSCR_INTRFC_LEN      ;; Descriptor length
      db   DSCR_INTRFC         ;; Descriptor type
      db   0               ;; Zero-based index of this interface
      db   0               ;; Alternate setting
      db   2              ;; Number of end points 
      db   0ffH            ;; Interface class
      db   00H               ;; Interface sub class
      db   00H               ;; Interface sub sub class
      db   0               ;; Interface descriptor string index
      
;; Endpoint Descriptor
      db   DSCR_ENDPNT_LEN      ;; Descriptor length
      db   DSCR_ENDPNT         ;; Descriptor type
      db   82H               ;; Endpoint number, and direction
      db   ET_INT            ;; Endpoint type
      db   00H               ;; Maximun packet size (LSB)
      db   02H               ;; Max packect size (MSB)
      db   10H               ;; Polling interval

⌨️ 快捷键说明

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