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

📄 descriptors.h

📁 基于ADSP-BF535 USB驱动应用程序
💻 H
字号:
/*----------------------------------------------------------------------------------
*
* COPYRIGHT (c) 2001 by Singing Electrons, Inc. All rights reserved.
*
* This document contains confidential proprietary trade secrets of Singing Electrons, Inc.  
* No distribution of the contents of this file is allowed except by written permission by an officer 
* of Singing Electrons, Inc.
*
* Module Name			: C:\se\adi\audioclass\vdsp\descriptors.h
*
* Description			: Contains descriptors for use with the USB device.
*
*
* Revision History	: At bottom of the file.
*
*---------------------------------------------------------------------------------*/

//
// String Descriptors		
//
enum {
	STRING_DEVICE = 1,
	STRING_PRODUCT,
	STRING_SERIALNO,
	TOTAL_STRING_DESCRIPTORS
};

UCHAR gTheLangIDArray[] =
	{
		0x04,//bLength
		USB_STRING_DESCRIPTOR, //bDescriptorType
		0x09, 0x04 // 0x409 - English!
	};

UCHAR *gTheStringDescriptors[] =
	{
		"Analog Devices",
		"BlackFin Mass Storage Class Reference Implementation",
		"123456789012"
	};


#define OFFSET_VENDOR_ID 0x08
#define OFFSET_PRODUCT_ID 0x0A
#define OFFSET_RELEASE 0x0C
#define OFFSET_REPORT_DESCRIPTOR_LENGTH 25


//
// The Device Descriptor
//
UCHAR gTheDeviceDescriptor[] =
{
	0x12, //Length
	USB_DEVICE_DESCRIPTOR, //bDescriptorType
	0x00, 0x01, //bcdUSB - USB Spec 1.0
	0x00, //bDevice Class
	0x00, //bDeviceSubClass
	0x00, //bDeviceProtocol
	CONTROL_PIPE_PACKET_SIZE, //bMaxPacketSize0
	0x00, 0x00, //LOBYTE(VENDOR_ID), HIBYTE(VENDOR_ID),//idvendor
	0x00, 0x00, //LOBYTE(PRODUCT_ID), HIBYTE(PRODUCT_ID),//idProduct
	0x00, 0x00, //LOBYTE(DEVICE_RELEASE), HIBYTE(DEVICE_RELEASE),//bcdDevice
	STRING_DEVICE,//iManufacturer
	STRING_PRODUCT,//iProduct
	STRING_SERIALNO,//iSerialNumber
	1//bNumConfigurations
};

#define CONFIG_DESCRIPTOR_LEN 0x09
#define INTERFACE_DESCRIPTOR_LEN 0x09
#define ENDPOINT_DESCRIPTOR_LEN 0x07
#define TOTAL_CONFIG_DESCRIPTOR_LEN \
	(CONFIG_DESCRIPTOR_LEN + INTERFACE_DESCRIPTOR_LEN + ENDPOINT_DESCRIPTOR_LEN + ENDPOINT_DESCRIPTOR_LEN)

//
// The Configuration Descriptor
//
UCHAR gTheConfigDescriptor[] =
	{
	CONFIG_DESCRIPTOR_LEN,			// Configuration Descriptor Length
	CONFIG_DESCR,	// Descriptor Type
	LOBYTE(TOTAL_CONFIG_DESCRIPTOR_LEN),	// Everything!
	HIBYTE(TOTAL_CONFIG_DESCRIPTOR_LEN),	// Everything!
	0x01,			// # of interfaces
	0x01,			// configurationValue
	0x00,			// Configuration String
	0x40,			// Attributes: Self power and RWU
	0x00,     // max Power

    // Interface descriptor - MassStorage BulkOnly
    INTERFACE_DESCRIPTOR_LEN, // length
    USB_INTERFACE_DESCRIPTOR,	// descriptorType
    INTERFACE_FOR_BULKONLY,		        // interfaceNumber
    ALTSETTING_FOR_BULKONLY,		        // alternateSetting
    2,		        // numEndpoints
    USBMS_CLASS,		        // interfaceClass
    USBMS_SUBCLASS_SCSI_TRANSPARENT,		        // interfaceSubClass
    USBMS_INTERFACE_PROTOCOL_BULKONLY,		        // interfaceProtocol
    0,		        // interface string index

			//The Bulk IN endpoint
			ENDPOINT_DESCRIPTOR_LEN,			// Endpoint Descriptor Length
			USB_ENDPOINT_DESCRIPTOR,		// Descriptor Type
			USB_ENDPOINT_DIRECTION_IN (1) | EP_FOR_IN_TRANSFERS,// EP #	and direction
			EP_BULK,		// Endpoint Type
			LOBYTE (BULKEP_MAX_PACKET_SIZE),			// Maximum packet size (LSB)
			HIBYTE (BULKEP_MAX_PACKET_SIZE),			// Maximum packet size (MSB)
			0,			// Polling Interval

			//The Bulk OUT endpoint
			ENDPOINT_DESCRIPTOR_LEN,			// Endpoint Descriptor Length
			USB_ENDPOINT_DESCRIPTOR,		// Descriptor Type
			USB_ENDPOINT_DIRECTION_IN (0) | EP_FOR_OUT_TRANSFERS,	// EP #	and direction
			EP_BULK,		// Endpoint Type
			LOBYTE (BULKEP_MAX_PACKET_SIZE),			// Maximum packet size (LSB)
			HIBYTE (BULKEP_MAX_PACKET_SIZE),			// Maximum packet size (MSB)
			0,			// Polling Interval

	};





/*----------------------------------------------------------------------------------
* $Log: descriptors.h,v $
* Revision 1.1  2003/03/03 18:13:45  Devendra
* First Rev, the device enumerates as Mass Storage Class
*
*
*---------------------------------------------------------------------------------*/

⌨️ 快捷键说明

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