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

📄 usbdesc.lst

📁 usb声卡,采用phlips LPC2148控制器.
💻 LST
📖 第 1 页 / 共 2 页
字号:
ARM COMPILER V2.50a,  usbdesc                                                              27/03/06  17:22:54  PAGE 1   


ARM COMPILER V2.50a, COMPILATION OF MODULE usbdesc
OBJECT MODULE PLACED IN .\Obj\usbdesc.obj
COMPILER INVOKED BY: C:\Keil\ARM\BIN\CA.exe usbdesc.c THUMB DEBUG PRINT(.\LST\USBDESC.LST) TABS(4) OBJECT(.\Obj\usbdesc.
                    -obj) 

stmt  level    source

    1          /*----------------------------------------------------------------------------
    2           *      U S B  -  K e r n e l
    3           *----------------------------------------------------------------------------
    4           *      Name:    USBDESC.C
    5           *      Purpose: USB Descriptors
    6           *      Version: V1.05
    7           *----------------------------------------------------------------------------
    8           *      This software is supplied "AS IS" without any warranties, express,
    9           *      implied or statutory, including but not limited to the implied
   10           *      warranties of fitness for purpose, satisfactory quality and
   11           *      noninfringement. Keil extends you a royalty-free right to reproduce
   12           *      and distribute executable files created using this software for use
   13           *      on Philips LPC2xxx microcontroller devices only. Nothing else gives
   14           *      you the right to use this software.
   15           *
   16           *      Copyright (c) 2005-2006 Keil Software.
   17           *---------------------------------------------------------------------------*/
   18          
   19          #include "type.h"
   20          
   21          #include "usb.h"
   22          #include "audio.h"
   23          #include "usbcfg.h"
   24          #include "usbdesc.h"
   25          
   26          
   27          /* USB Standard Device Descriptor */
   28          const BYTE USB_DeviceDescriptor[] = {
   29            USB_DEVICE_DESC_SIZE,                 /* bLength */
   30            USB_DEVICE_DESCRIPTOR_TYPE,           /* bDescriptorType */
   31            WBVAL(0x0110), /* 1.10 */             /* bcdUSB */
   32            0x00,                                 /* bDeviceClass */
   33            0x00,                                 /* bDeviceSubClass */
   34            0x00,                                 /* bDeviceProtocol */
   35            USB_MAX_PACKET0,                      /* bMaxPacketSize0 */
   36            WBVAL(0xC251),                        /* idVendor */
   37            WBVAL(0x1304),                        /* idProduct */
   38            WBVAL(0x0100), /* 1.00 */             /* bcdDevice */
   39            0x04,                                 /* iManufacturer */
   40            0x20,                                 /* iProduct */
   41            0x4A,                                 /* iSerialNumber */
   42            0x01                                  /* bNumConfigurations */
   43          };
   44          
   45          /* USB Configuration Descriptor */
   46          /*   All Descriptors (Configuration, Interface, Endpoint, Class, Vendor */
   47          const BYTE USB_ConfigDescriptor[] = {
   48          /* Configuration 1 */
   49            USB_CONFIGUARTION_DESC_SIZE,          /* bLength */
   50            USB_CONFIGURATION_DESCRIPTOR_TYPE,    /* bDescriptorType */
   51            WBVAL(                                /* wTotalLength */
   64              USB_CONFIGUARTION_DESC_SIZE         +
   64              USB_INTERFACE_DESC_SIZE             +
   64              AUDIO_CONTROL_INTERFACE_DESC_SZ(1)  +
   64              AUDIO_INPUT_TERMINAL_DESC_SIZE      +
   64              AUDIO_FEATURE_UNIT_DESC_SZ(1,1)     +
   64              AUDIO_OUTPUT_TERMINAL_DESC_SIZE     +
   64              USB_INTERFACE_DESC_SIZE             +
ARM COMPILER V2.50a,  usbdesc                                                              27/03/06  17:22:54  PAGE 2   

   64              USB_INTERFACE_DESC_SIZE             +
   64              AUDIO_STREAMING_INTERFACE_DESC_SIZE +
   64              AUDIO_FORMAT_TYPE_I_DESC_SZ(1)      +
   64              AUDIO_STANDARD_ENDPOINT_DESC_SIZE   +
   64              AUDIO_STREAMING_ENDPOINT_DESC_SIZE
   64            ),
   65            0x02,                                 /* bNumInterfaces */
   66            0x01,                                 /* bConfigurationValue */
   67            0x00,                                 /* iConfiguration */
   68            USB_CONFIG_BUS_POWERED,               /* bmAttributes */
   69            USB_CONFIG_POWER_MA(100),             /* bMaxPower */
   70          /* Interface 0, Alternate Setting 0, Audio Control */
   71            USB_INTERFACE_DESC_SIZE,              /* bLength */
   72            USB_INTERFACE_DESCRIPTOR_TYPE,        /* bDescriptorType */
   73            0x00,                                 /* bInterfaceNumber */
   74            0x00,                                 /* bAlternateSetting */
   75            0x00,                                 /* bNumEndpoints */
   76            USB_DEVICE_CLASS_AUDIO,               /* bInterfaceClass */
   77            AUDIO_SUBCLASS_AUDIOCONTROL,          /* bInterfaceSubClass */
   78            AUDIO_PROTOCOL_UNDEFINED,             /* bInterfaceProtocol */
   79            0x00,                                 /* iInterface */
   80          /* Audio Control Interface */
   81            AUDIO_CONTROL_INTERFACE_DESC_SZ(1),   /* bLength */
   82            AUDIO_INTERFACE_DESCRIPTOR_TYPE,      /* bDescriptorType */
   83            AUDIO_CONTROL_HEADER,                 /* bDescriptorSubtype */
   84            WBVAL(0x0100), /* 1.00 */             /* bcdADC */
   85            WBVAL(                                /* wTotalLength */
   90              AUDIO_CONTROL_INTERFACE_DESC_SZ(1) +
   90              AUDIO_INPUT_TERMINAL_DESC_SIZE     +
   90              AUDIO_FEATURE_UNIT_DESC_SZ(1,1)    +
   90              AUDIO_OUTPUT_TERMINAL_DESC_SIZE
   90            ),
   91            0x01,                                 /* bInCollection */
   92            0x01,                                 /* baInterfaceNr */
   93          /* Audio Input Terminal */
   94            AUDIO_INPUT_TERMINAL_DESC_SIZE,       /* bLength */
   95            AUDIO_INTERFACE_DESCRIPTOR_TYPE,      /* bDescriptorType */
   96            AUDIO_CONTROL_INPUT_TERMINAL,         /* bDescriptorSubtype */
   97            0x01,                                 /* bTerminalID */
   98            WBVAL(AUDIO_TERMINAL_USB_STREAMING),  /* wTerminalType */
   99            0x00,                                 /* bAssocTerminal */
  100            0x01,                                 /* bNrChannels */
  101            WBVAL(AUDIO_CHANNEL_M),               /* wChannelConfig */
  102            0x00,                                 /* iChannelNames */
  103            0x00,                                 /* iTerminal */
  104          /* Audio Feature Unit */
  105            AUDIO_FEATURE_UNIT_DESC_SZ(1,1),      /* bLength */
  106            AUDIO_INTERFACE_DESCRIPTOR_TYPE,      /* bDescriptorType */
  107            AUDIO_CONTROL_FEATURE_UNIT,           /* bDescriptorSubtype */
  108            0x02,                                 /* bUnitID */
  109            0x01,                                 /* bSourceID */
  110            0x01,                                 /* bControlSize */
  111            AUDIO_CONTROL_MUTE |
  112            AUDIO_CONTROL_VOLUME,                 /* bmaControls(0) */
  113            0x00,                                 /* bmaControls(1) */
  114            0x00,                                 /* iTerminal */
  115          /* Audio Output Terminal */
  116            AUDIO_OUTPUT_TERMINAL_DESC_SIZE,      /* bLength */
  117            AUDIO_INTERFACE_DESCRIPTOR_TYPE,      /* bDescriptorType */
  118            AUDIO_CONTROL_OUTPUT_TERMINAL,        /* bDescriptorSubtype */
  119            0x03,                                 /* bTerminalID */
  120            WBVAL(AUDIO_TERMINAL_SPEAKER),        /* wTerminalType */
  121            0x00,                                 /* bAssocTerminal */
  122            0x02,                                 /* bSourceID */
  123            0x00,                                 /* iTerminal */
  124          /* Interface 1, Alternate Setting 0, Audio Streaming - Zero Bandwith */
ARM COMPILER V2.50a,  usbdesc                                                              27/03/06  17:22:54  PAGE 3   

  125            USB_INTERFACE_DESC_SIZE,              /* bLength */
  126            USB_INTERFACE_DESCRIPTOR_TYPE,        /* bDescriptorType */
  127            0x01,                                 /* bInterfaceNumber */
  128            0x00,                                 /* bAlternateSetting */
  129            0x00,                                 /* bNumEndpoints */
  130            USB_DEVICE_CLASS_AUDIO,               /* bInterfaceClass */
  131            AUDIO_SUBCLASS_AUDIOSTREAMING,        /* bInterfaceSubClass */
  132            AUDIO_PROTOCOL_UNDEFINED,             /* bInterfaceProtocol */
  133            0x00,                                 /* iInterface */
  134          /* Interface 1, Alternate Setting 1, Audio Streaming - Operational */
  135            USB_INTERFACE_DESC_SIZE,              /* bLength */
  136            USB_INTERFACE_DESCRIPTOR_TYPE,        /* bDescriptorType */
  137            0x01,                                 /* bInterfaceNumber */
  138            0x01,                                 /* bAlternateSetting */
  139            0x01,                                 /* bNumEndpoints */
  140            USB_DEVICE_CLASS_AUDIO,               /* bInterfaceClass */
  141            AUDIO_SUBCLASS_AUDIOSTREAMING,        /* bInterfaceSubClass */
  142            AUDIO_PROTOCOL_UNDEFINED,             /* bInterfaceProtocol */
  143            0x00,                                 /* iInterface */
  144          /* Audio Streaming Interface */
  145            AUDIO_STREAMING_INTERFACE_DESC_SIZE,  /* bLength */
  146            AUDIO_INTERFACE_DESCRIPTOR_TYPE,      /* bDescriptorType */
  147            AUDIO_STREAMING_GENERAL,              /* bDescriptorSubtype */
  148            0x01,                                 /* bTerminalLink */
  149            0x01,                                 /* bDelay */
  150            WBVAL(AUDIO_FORMAT_PCM),              /* wFormatTag */
  151          /* Audio Type I Format */
  152            AUDIO_FORMAT_TYPE_I_DESC_SZ(1),       /* bLength */
  153            AUDIO_INTERFACE_DESCRIPTOR_TYPE,      /* bDescriptorType */
  154            AUDIO_STREAMING_FORMAT_TYPE,          /* bDescriptorSubtype */
  155            AUDIO_FORMAT_TYPE_I,                  /* bFormatType */
  156            0x01,                                 /* bNrChannels */
  157            0x02,                                 /* bSubFrameSize */
  158            16,                                   /* bBitResolution */
  159            0x01,                                 /* bSamFreqType */
  160            B3VAL(32000),                         /* tSamFreq */
  161          /* Endpoint - Standard Descriptor */
  162            AUDIO_STANDARD_ENDPOINT_DESC_SIZE,    /* bLength */
  163            USB_ENDPOINT_DESCRIPTOR_TYPE,         /* bDescriptorType */
  164            USB_ENDPOINT_OUT(3),                  /* bEndpointAddress */
  165            USB_ENDPOINT_TYPE_ISOCHRONOUS,        /* bmAttributes */
  166            WBVAL(64),                            /* wMaxPacketSize */
  167            0x01,                                 /* bInterval */
  168            0x00,                                 /* bRefresh */
  169            0x00,                                 /* bSynchAddress */
  170          /* Endpoint - Audio Streaming */
  171            AUDIO_STREAMING_ENDPOINT_DESC_SIZE,   /* bLength */
  172            AUDIO_ENDPOINT_DESCRIPTOR_TYPE,       /* bDescriptorType */
  173            AUDIO_ENDPOINT_GENERAL,               /* bDescriptor */
  174            0x00,                                 /* bmAttributes */
  175            0x00,                                 /* bLockDelayUnits */
  176            WBVAL(0x0000),                        /* wLockDelay */
  177          /* Terminator */
  178            0                                     /* bLength */
  179          };
  180          
  181          /* USB String Descriptor (optional) */
  182          const BYTE USB_StringDescriptor[] = {
  183          /* Index 0x00: LANGID Codes */
  184            0x04,                              /* bLength */
  185            USB_STRING_DESCRIPTOR_TYPE,        /* bDescriptorType */
  186            WBVAL(0x0409), /* US English */    /* wLANGID */
  187          /* Index 0x04: Manufacturer */
  188            0x1C,                              /* bLength */
  189            USB_STRING_DESCRIPTOR_TYPE,        /* bDescriptorType */
  190            'K',0,
ARM COMPILER V2.50a,  usbdesc                                                              27/03/06  17:22:54  PAGE 4   

  191            'e',0,
  192            'i',0,
  193            'l',0,
  194            ' ',0,
  195            'S',0,
  196            'o',0,
  197            'f',0,
  198            't',0,
  199            'w',0,
  200            'a',0,
  201            'r',0,
  202            'e',0,
  203          /* Index 0x20: Product */
  204            0x2A,                              /* bLength */
  205            USB_STRING_DESCRIPTOR_TYPE,        /* bDescriptorType */
  206            'K',0,
  207            'e',0,
  208            'i',0,
  209            'l',0,
  210            ' ',0,
  211            'M',0,
  212            'C',0,
  213            'B',0,
  214            '2',0,
  215            '1',0,
  216            '4',0,
  217            '0',0,
  218            ' ',0,
  219            'S',0,
  220            'p',0,
  221            'e',0,
  222            'a',0,
  223            'k',0,
  224            'e',0,
  225            'r',0,
  226          /* Index 0x4A: Serial Number */
  227            0x1A,                              /* bLength */
  228            USB_STRING_DESCRIPTOR_TYPE,        /* bDescriptorType */
  229            'D',0,
  230            'E',0,
  231            'M',0,
  232            'O',0,
  233            '0',0,
  234            '0',0,
  235            '0',0,
  236            '0',0,
  237            '0',0,
  238            '0',0,
  239            '0',0,
  240            '0',0,
  241          };
ARM COMPILER V2.50a,  usbdesc                                                              27/03/06  17:22:54  PAGE 5   

ASSEMBLY LISTING OF GENERATED OBJECT CODE



*** PUBLICS:

⌨️ 快捷键说明

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