📄 usbprinterdriverdescriptors.lst
字号:
###############################################################################
# #
# 24/Apr/2009 16:18:20 #
# IAR ARM ANSI C/C++ Compiler V5.11.0.20622/W32 EVALUATION #
# Copyright 1999-2007 IAR Systems. All rights reserved. #
# #
# Cpu mode = arm #
# Endian = little #
# Source file = D:\basic-dataflash-project-at91sam7se-ek\at91lib\usb\dev #
# ice\usbprinter\USBPrinterDriverDescriptors.c #
# Command line = D:\basic-dataflash-project-at91sam7se-ek\at91lib\usb\dev #
# ice\usbprinter\USBPrinterDriverDescriptors.c -D #
# at91sam7se512 -D sram -D TRACE_LEVEL=4 -lC #
# D:\basic-dataflash-project-at91sam7se-ek\at91sam7se-ek\b #
# asic-dataflash-project\ewp\at91sam7se512_sram\List\ #
# --remarks --diag_suppress Pe826,Pe1375 -o #
# D:\basic-dataflash-project-at91sam7se-ek\at91sam7se-ek\b #
# asic-dataflash-project\ewp\at91sam7se512_sram\Obj\ #
# --no_cse --no_unroll --no_inline --no_code_motion #
# --no_tbaa --no_clustering --no_scheduling --debug #
# --endian little --cpu ARM7TDMI -e --fpu None #
# --dlib_config "D:\Program Files\arm\ARM\INC\DLib_Config_ #
# Full.h" -I D:\basic-dataflash-project-at91sam7se-ek\at91 #
# sam7se-ek\basic-dataflash-project\ewp\..\..\..\at91lib/p #
# eripherals\ -I D:\basic-dataflash-project-at91sam7se-ek\ #
# at91sam7se-ek\basic-dataflash-project\ewp\..\..\..\at91l #
# ib\ -I D:\basic-dataflash-project-at91sam7se-ek\at91sam7 #
# se-ek\basic-dataflash-project\ewp\..\..\..\at91lib/memor #
# ies\ -I D:\basic-dataflash-project-at91sam7se-ek\at91sam #
# 7se-ek\basic-dataflash-project\ewp\..\..\..\at91lib/boar #
# ds/at91sam7se-ek\ -I "D:\Program Files\arm\ARM\INC\" #
# --interwork --cpu_mode arm -Oh #
# List file = D:\basic-dataflash-project-at91sam7se-ek\at91sam7se-ek\b #
# asic-dataflash-project\ewp\at91sam7se512_sram\List\USBPr #
# interDriverDescriptors.lst #
# Object file = D:\basic-dataflash-project-at91sam7se-ek\at91sam7se-ek\b #
# asic-dataflash-project\ewp\at91sam7se512_sram\Obj\USBPri #
# nterDriverDescriptors.o #
# #
# #
###############################################################################
D:\basic-dataflash-project-at91sam7se-ek\at91lib\usb\device\usbprinter\USBPrinterDriverDescriptors.c
1 /* ----------------------------------------------------------------------------
2 * ATMEL Microcontroller Software Support
3 * ----------------------------------------------------------------------------
4 * Copyright (c) 2008, Atmel Corporation
5 *
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions are met:
10 *
11 * - Redistributions of source code must retain the above copyright notice,
12 * this list of conditions and the disclaimer below.
13 *
14 * Atmel's name may not be used to endorse or promote products derived from
15 * this software without specific prior written permission.
16 *
17 * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
18 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
20 * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
23 * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
24 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
25 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
26 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 * ----------------------------------------------------------------------------
28 */
29
30 //------------------------------------------------------------------------------
31 // Headers
32 //------------------------------------------------------------------------------
33
34 #include "USBPrinterDriverDescriptors.h"
35 #include <board.h>
36 #include <usb/common/core/USBGenericDescriptor.h>
37 #include <usb/common/core/USBConfigurationDescriptor.h>
38 #include <usb/common/core/USBEndpointDescriptor.h>
39 #include <usb/common/core/USBStringDescriptor.h>
40 #include <usb/common/core/USBGenericRequest.h>
41 #include "USBPrinter.h"
42
43 //------------------------------------------------------------------------------
44 // Definitions
45 //------------------------------------------------------------------------------
46
47 //------------------------------------------------------------------------------
48 /// \page "CDC Serial Device IDs"
49 /// This page lists the IDs used in the CDC Serial Device Descriptor.
50 ///
51 /// !IDs
52 /// - USBPrinterDriverDescriptors_PRODUCTID
53 /// - USBPrinterDriverDescriptors_VENDORID
54 /// - USBPrinterDriverDescriptors_RELEASE
55
56 /// Device product ID.
57 #define USBPrinterDriverDescriptors_PRODUCTID 0x6119
58 /// Device vendor ID (Atmel).
59 #define USBPrinterDriverDescriptors_VENDORID 0x03EB
60 /// Device release number.
61 #define USBPrinterDriverDescriptors_RELEASE 0x0100
62 //------------------------------------------------------------------------------
63
64 //------------------------------------------------------------------------------
65 // Macros
66 //------------------------------------------------------------------------------
67
68 /// Returns the minimum between two values.
69 #define MIN(a, b) ((a < b) ? a : b)
70
71 //------------------------------------------------------------------------------
72 // Internal structures
73 //------------------------------------------------------------------------------
74
75 //------------------------------------------------------------------------------
76 /// Configuration descriptor list for a device implementing a CDC serial driver.
77 //------------------------------------------------------------------------------
78 typedef struct {
79
80 /// Standard configuration descriptor.
81 USBConfigurationDescriptor configuration;
82 /// Data interface descriptor.
83 USBInterfaceDescriptor data;
84 /// Data OUT endpoint descriptor.
85 USBEndpointDescriptor dataOut;
86 /// Data IN endpoint descriptor.
87 USBEndpointDescriptor dataIn;
88
89 } __attribute__ ((packed)) USBPrinterDriverConfigurationDescriptors;
90
91 //------------------------------------------------------------------------------
92 // Exported variables
93 //------------------------------------------------------------------------------
94
95 /// Standard USB device descriptor for the CDC serial driver
\ In section .rodata, align 4
96 const USBDeviceDescriptor deviceDescriptor = {
\ deviceDescriptor:
\ 00000000 1201 DC8 18, 1
\ 00000002 0002 DC16 512
\ 00000004 00000040 DC8 0, 0, 0, 64
\ 00000008 EB0319610001 DC16 1003, 24857, 256
\ 0000000E 000100010000 DC8 0, 1, 0, 1, 0, 0
97
98 sizeof(USBDeviceDescriptor),
99 USBGenericDescriptor_DEVICE,
100 USBDeviceDescriptor_USB2_00,
101 USBPrintDeviceDescriptor_CLASS,
102 USBPrintDeviceDescriptor_SUBCLASS,
103 USBPrintDeviceDescriptor_PROTOCOL,
104 BOARD_USB_ENDPOINTS_MAXPACKETSIZE(0),
105 USBPrinterDriverDescriptors_VENDORID,
106 USBPrinterDriverDescriptors_PRODUCTID,
107 USBPrinterDriverDescriptors_RELEASE,
108 0, // No string descriptor for manufacturer
109 1, // Index of product string descriptor is #1
110 0, // No string descriptor for serial number
111 1 // Device has 1 possible configuration
112 };
113 /// Standard USB configuration descriptor for the CDC serial driver
\ In section .rodata, align 4
114 const USBPrinterDriverConfigurationDescriptors configurationDescriptors = {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -