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

📄 usbdesc.lst

📁 基于AT91SAM7A3的usb鼠标源代码。在keil for arm 3.1上运行通过。希望对需要的同行有所帮助。
💻 LST
📖 第 1 页 / 共 2 页
字号:
ARM COMPILER V2.53,  usbdesc                                                               27/04/07  16:47:01  PAGE 1   


ARM COMPILER V2.53, 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.10
    7           *----------------------------------------------------------------------------
    8           *      This file is part of the uVision/ARM development tools.
    9           *      Copyright (c) 2005-2006 Keil Software. All rights reserved.
   10           *      This software may only be used under the terms of a valid, current,
   11           *      end user licence from KEIL for a compatible version of KEIL software
   12           *      development tools. Nothing else gives you the right to use it.
   13           *---------------------------------------------------------------------------*/
   14          
   15          #include "type.h"
   16          
   17          #include "usb.h"
   18          #include "hid.h"
   19          #include "usbcfg.h"
   20          #include "usbdesc.h"
   21          
   22          
   23          /* HID Report Descriptor */
   24          const BYTE HID_ReportDescriptor[] = {
   25            HID_UsagePage(HID_USAGE_PAGE_GENERIC),
   26            HID_Usage(HID_USAGE_GENERIC_MOUSE),
   27            HID_Collection(HID_Application),
   28              HID_Usage(HID_USAGE_GENERIC_POINTER),
   29              HID_Collection(HID_Physical),
   30                HID_UsagePage(HID_USAGE_PAGE_BUTTON),
   31                HID_UsageMin(1),
   32                HID_UsageMax(3),
   33                HID_LogicalMin(0),
   34                HID_LogicalMax(1),
   35                HID_ReportCount(3),
   36                HID_ReportSize(1),
   37                HID_Input(HID_Data | HID_Variable | HID_Absolute),
   38                HID_ReportCount(1),
   39                HID_ReportSize(5),
   40                HID_Input(HID_Constant),
   41                HID_UsagePage(HID_USAGE_PAGE_GENERIC),
   42                HID_Usage(HID_USAGE_GENERIC_X),
   43                HID_Usage(HID_USAGE_GENERIC_Y),
   44                HID_Usage(HID_USAGE_GENERIC_WHEEL),
   45                HID_LogicalMin(-127),
   46                HID_LogicalMax(127),
   47                HID_ReportSize(8),
   48                HID_ReportCount(3),
   49                HID_Input(HID_Data | HID_Variable | HID_Relative),
   50              HID_EndCollection,
   51            HID_EndCollection,
   52          };
   53          
   54          const WORD HID_ReportDescSize = sizeof(HID_ReportDescriptor);
   55          
   56          
   57          /* USB Standard Device Descriptor */
   58          const BYTE USB_DeviceDescriptor[] = {
ARM COMPILER V2.53,  usbdesc                                                               27/04/07  16:47:01  PAGE 2   

   59            USB_DEVICE_DESC_SIZE,              /* bLength */
   60            USB_DEVICE_DESCRIPTOR_TYPE,        /* bDescriptorType */
   61            WBVAL(0x0110), /* 1.10 */          /* bcdUSB */
   62            0x00,                              /* bDeviceClass */
   63            0x00,                              /* bDeviceSubClass */
   64            0x00,                              /* bDeviceProtocol */
   65            USB_MAX_PACKET0,                   /* bMaxPacketSize0 */
   66            WBVAL(0xC251),                     /* idVendor */
   67            WBVAL(0x1402),                     /* idProduct */
   68            WBVAL(0x0100), /* 1.00 */          /* bcdDevice */
   69            0x04,                              /* iManufacturer */
   70            0x20,                              /* iProduct */
   71            0x48,                              /* iSerialNumber */
   72            0x01                               /* bNumConfigurations */
   73          };
   74          
   75          /* USB Configuration Descriptor */
   76          /*   All Descriptors (Configuration, Interface, Endpoint, Class, Vendor */
   77          const BYTE USB_ConfigDescriptor[] = {
   78          /* Configuration 1 */
   79            USB_CONFIGUARTION_DESC_SIZE,       /* bLength */
   80            USB_CONFIGURATION_DESCRIPTOR_TYPE, /* bDescriptorType */
   81            WBVAL(                             /* wTotalLength */
   86              USB_CONFIGUARTION_DESC_SIZE +
   86              USB_INTERFACE_DESC_SIZE     +
   86              HID_DESC_SIZE               +
   86              USB_ENDPOINT_DESC_SIZE
   86            ),
   87            0x01,                              /* bNumInterfaces */
   88            0x01,                              /* bConfigurationValue */
   89            0x00,                              /* iConfiguration */
   90            USB_CONFIG_BUS_POWERED /*|*/       /* bmAttributes */
   91          /*USB_CONFIG_REMOTE_WAKEUP*/,
   92            USB_CONFIG_POWER_MA(100),          /* bMaxPower */
   93          /* Interface 0, Alternate Setting 0, HID Class */
   94            USB_INTERFACE_DESC_SIZE,           /* bLength */
   95            USB_INTERFACE_DESCRIPTOR_TYPE,     /* bDescriptorType */
   96            0x00,                              /* bInterfaceNumber */
   97            0x00,                              /* bAlternateSetting */
   98            0x01,                              /* bNumEndpoints */
   99            USB_DEVICE_CLASS_HUMAN_INTERFACE,  /* bInterfaceClass */
  100            HID_SUBCLASS_BOOT,                 /* bInterfaceSubClass */
  101            HID_PROTOCOL_MOUSE,                /* bInterfaceProtocol */
  102            0x62,                              /* iInterface */
  103          /* HID Class Descriptor */
  104          /* HID_DESC_OFFSET = 0x0012 */
  105            HID_DESC_SIZE,                     /* bLength */
  106            HID_HID_DESCRIPTOR_TYPE,           /* bDescriptorType */
  107            WBVAL(0x0100), /* 1.00 */          /* bcdHID */
  108            0x00,                              /* bCountryCode */
  109            0x01,                              /* bNumDescriptors */
  110            HID_REPORT_DESCRIPTOR_TYPE,        /* bDescriptorType */
  111            WBVAL(HID_REPORT_DESC_SIZE),       /* wDescriptorLength */
  112          /* Endpoint, HID Interrupt In */
  113            USB_ENDPOINT_DESC_SIZE,            /* bLength */
  114            USB_ENDPOINT_DESCRIPTOR_TYPE,      /* bDescriptorType */
  115            USB_ENDPOINT_IN(3),                /* bEndpointAddress */
  116            USB_ENDPOINT_TYPE_INTERRUPT,       /* bmAttributes */
  117            WBVAL(0x0004),                     /* wMaxPacketSize */
  118            0x20,          /* 32ms */          /* bInterval */
  119          /* Terminator */
  120            0                                  /* bLength */
  121          };
  122          
  123          /* USB String Descriptor (optional) */
  124          const BYTE USB_StringDescriptor[] = {
ARM COMPILER V2.53,  usbdesc                                                               27/04/07  16:47:01  PAGE 3   

  125          /* Index 0x00: LANGID Codes */
  126            0x04,                              /* bLength */
  127            USB_STRING_DESCRIPTOR_TYPE,        /* bDescriptorType */
  128            WBVAL(0x0409), /* US English */    /* wLANGID */
  129          /* Index 0x04: Manufacturer */
  130            0x1C,                              /* bLength */
  131            USB_STRING_DESCRIPTOR_TYPE,        /* bDescriptorType */
  132            'K',0,
  133            'e',0,
  134            'i',0,
  135            'l',0,
  136            ' ',0,
  137            'S',0,
  138            'o',0,
  139            'f',0,
  140            't',0,
  141            'w',0,
  142            'a',0,
  143            'r',0,
  144            'e',0,
  145          /* Index 0x20: Product */
  146            0x28,                              /* bLength */
  147            USB_STRING_DESCRIPTOR_TYPE,        /* bDescriptorType */
  148            'A',0,
  149            'T',0,
  150            '9',0,
  151            '1',0,
  152            'S',0,
  153            'A',0,
  154            'M',0,
  155            '7',0,
  156            'A',0,
  157            '3',0,
  158            '-',0,
  159            'E',0,
  160            'K',0,
  161            ' ',0,
  162            'M',0,
  163            'o',0,
  164            'u',0,
  165            's',0,
  166            'e',0,
  167          /* Index 0x48: Serial Number */
  168            0x1A,                              /* bLength */
  169            USB_STRING_DESCRIPTOR_TYPE,        /* bDescriptorType */
  170            'D',0,
  171            'E',0,
  172            'M',0,
  173            'O',0,
  174            '0',0,
  175            '0',0,
  176            '0',0,
  177            '0',0,
  178            '0',0,
  179            '0',0,
  180            '0',0,
  181            '0',0,
  182          /* Index 0x62: Interface 0, Alternate Setting 0 */
  183            0x0C,                              /* bLength */
  184            USB_STRING_DESCRIPTOR_TYPE,        /* bDescriptorType */
  185            'M',0,
  186            'o',0,
  187            'u',0,
  188            's',0,
  189            'e',0,
  190          };
ARM COMPILER V2.53,  usbdesc                                                               27/04/07  16:47:01  PAGE 4   

ASSEMBLY LISTING OF GENERATED OBJECT CODE



*** PUBLICS:
 PUBLIC         USB_DeviceDescriptor
 PUBLIC         USB_ConfigDescriptor
 PUBLIC         USB_StringDescriptor
 PUBLIC         HID_ReportDescriptor
 PUBLIC         HID_ReportDescSize



*** DATA SEGMENT '?CON?usbdesc':
 00000000          HID_ReportDescSize:
 00000000           BEGIN_INIT
 00000000  0034      DW          0x34
 00000002           END_INIT
 00000002          USB_DeviceDescriptor:
 00000002           BEGIN_INIT
 00000002  12        DB          0x12
 00000003  01        DB          0x1
 00000004  10        DB          0x10
 00000005  01        DB          0x1
 00000006  00        DB          0x0
 00000007  00        DB          0x0
 00000008  00        DB          0x0
 00000009  08        DB          0x8
 0000000A  51        DB          0x51
 0000000B  C2        DB          0xC2

⌨️ 快捷键说明

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