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

📄 usb_core.lst

📁 STM32 VirtualCOMPort DEMO now It s works fine???
💻 LST
📖 第 1 页 / 共 5 页
字号:
   1              		.syntax unified
   2              		.cpu cortex-m3
   3              		.fpu softvfp
   4              		.eabi_attribute 20, 1
   5              		.eabi_attribute 21, 1
   6              		.eabi_attribute 23, 3
   7              		.eabi_attribute 24, 1
   8              		.eabi_attribute 25, 1
   9              		.eabi_attribute 26, 1
  10              		.eabi_attribute 30, 4
  11              		.eabi_attribute 18, 4
  12              		.thumb
  13              		.file	"usb_core.c"
  21              	.Ltext0:
  22              		.section	.text.Standard_GetConfiguration,"ax",%progbits
  23              		.align	2
  24              		.global	Standard_GetConfiguration
  25              		.thumb
  26              		.thumb_func
  28              	Standard_GetConfiguration:
  29              	.LFB26:
  30              		.file 1 "lib/STM32_USB-FS-Device_Driver/src/usb_core.c"
   1:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** /******************** (C) COPYRIGHT 2009 STMicroelectronics ********************
   2:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * File Name          : usb_core.c
   3:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * Author             : MCD Application Team
   4:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * Version            : V3.0.1
   5:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * Date               : 04/27/2009
   6:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * Description        : Standard protocol processing (USB v2.0)
   7:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** ********************************************************************************
   8:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
   9:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
  10:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
  11:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
  12:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
  13:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
  14:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** *******************************************************************************/
  15:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** 
  16:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** /* Includes ------------------------------------------------------------------*/
  17:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** #include "usb_lib.h"
  18:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** /* Private typedef -----------------------------------------------------------*/
  19:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** /* Private define ------------------------------------------------------------*/
  20:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** #define ValBit(VAR,Place)    (VAR & (1 << Place))
  21:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** #define SetBit(VAR,Place)    (VAR |= (1 << Place))
  22:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** #define ClrBit(VAR,Place)    (VAR &= ((1 << Place) ^ 255))
  23:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** 
  24:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** #define Send0LengthData() { _SetEPTxCount(ENDP0, 0); \
  25:lib/STM32_USB-FS-Device_Driver/src/usb_core.c ****     vSetEPTxStatus(EP_TX_VALID); \
  26:lib/STM32_USB-FS-Device_Driver/src/usb_core.c ****   }
  27:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** 
  28:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** #define vSetEPRxStatus(st) (SaveRState = st)
  29:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** #define vSetEPTxStatus(st) (SaveTState = st)
  30:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** 
  31:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** #define USB_StatusIn() Send0LengthData()
  32:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** #define USB_StatusOut() vSetEPRxStatus(EP_RX_VALID)
  33:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** 
  34:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** #define StatusInfo0 StatusInfo.bw.bb1 /* Reverse bb0 & bb1 */
  35:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** #define StatusInfo1 StatusInfo.bw.bb0
  36:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** 
  37:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** /* Private macro -------------------------------------------------------------*/
  38:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** /* Private variables ---------------------------------------------------------*/
  39:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** uint16_t_uint8_t StatusInfo;
  40:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** bool Data_Mul_MaxPacketSize = FALSE;
  41:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** /* Private function prototypes -----------------------------------------------*/
  42:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** static void DataStageOut(void);
  43:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** static void DataStageIn(void);
  44:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** static void NoData_Setup0(void);
  45:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** static void Data_Setup0(void);
  46:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** /* Private functions ---------------------------------------------------------*/
  47:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** 
  48:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** /*******************************************************************************
  49:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * Function Name  : Standard_GetConfiguration.
  50:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * Description    : Return the current configuration variable address.
  51:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * Input          : Length - How many bytes are needed.
  52:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * Output         : None.
  53:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * Return         : Return 1 , if the request is invalid when "Length" is 0.
  54:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** *                  Return "Buffer" if the "Length" is not 0.
  55:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** *******************************************************************************/
  56:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** uint8_t *Standard_GetConfiguration(uint16_t Length)
  57:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** {
  31              		.loc 1 57 0
  32              		@ args = 0, pretend = 0, frame = 0
  33              		@ frame_needed = 0, uses_anonymous_args = 0
  34              	.LVL0:
  35 0000 10B5     		push	{r4, lr}
  36              	.LCFI0:
  37 0002 074C     		ldr	r4, .L5
  58:lib/STM32_USB-FS-Device_Driver/src/usb_core.c ****   if (Length == 0)
  38              		.loc 1 58 0
  39 0004 20B9     		cbnz	r0, .L2
  59:lib/STM32_USB-FS-Device_Driver/src/usb_core.c ****   {
  60:lib/STM32_USB-FS-Device_Driver/src/usb_core.c ****     pInformation->Ctrl_Info.Usb_wLength =
  40              		.loc 1 60 0
  41 0006 2368     		ldr	r3, [r4, #0]
  42 0008 4FF00101 		mov	r1, #1	@ movhi
  43 000c 1982     		strh	r1, [r3, #16]	@ movhi
  44 000e 06E0     		b	.L3
  45              	.L2:
  61:lib/STM32_USB-FS-Device_Driver/src/usb_core.c ****       sizeof(pInformation->Current_Configuration);
  62:lib/STM32_USB-FS-Device_Driver/src/usb_core.c ****     return 0;
  63:lib/STM32_USB-FS-Device_Driver/src/usb_core.c ****   }
  64:lib/STM32_USB-FS-Device_Driver/src/usb_core.c ****   pUser_Standard_Requests->User_GetConfiguration();
  46              		.loc 1 64 0
  47 0010 044B     		ldr	r3, .L5+4
  48 0012 1B68     		ldr	r3, [r3, #0]
  49 0014 1B68     		ldr	r3, [r3, #0]
  50 0016 9847     		blx	r3
  51              	.LVL1:
  65:lib/STM32_USB-FS-Device_Driver/src/usb_core.c ****   return (uint8_t *)&pInformation->Current_Configuration;
  52              		.loc 1 65 0
  53 0018 2368     		ldr	r3, [r4, #0]
  54 001a 03F10A00 		add	r0, r3, #10
  55              	.LVL2:
  56              	.L3:
  57              	.LVL3:
  66:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** }
  58              		.loc 1 66 0
  59 001e 10BD     		pop	{r4, pc}
  60              	.L6:
  61              		.align	2
  62              	.L5:
  63 0020 00000000 		.word	pInformation
  64 0024 00000000 		.word	pUser_Standard_Requests
  65              	.LFE26:
  67              		.section	.text.Standard_SetConfiguration,"ax",%progbits
  68              		.align	2
  69              		.global	Standard_SetConfiguration
  70              		.thumb
  71              		.thumb_func
  73              	Standard_SetConfiguration:
  74              	.LFB27:
  67:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** 
  68:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** /*******************************************************************************
  69:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * Function Name  : Standard_SetConfiguration.
  70:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * Description    : This routine is called to set the configuration value
  71:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** *                  Then each class should configure device themself.
  72:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * Input          : None.
  73:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * Output         : None.
  74:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * Return         : Return USB_SUCCESS, if the request is performed.
  75:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** *                  Return USB_UNSUPPORT, if the request is invalid.
  76:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** *******************************************************************************/
  77:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** RESULT Standard_SetConfiguration(void)
  78:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** {
  75              		.loc 1 78 0
  76              		@ args = 0, pretend = 0, frame = 0
  77              		@ frame_needed = 0, uses_anonymous_args = 0
  78 0000 10B5     		push	{r4, lr}
  79              	.LCFI1:
  79:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** 
  80:lib/STM32_USB-FS-Device_Driver/src/usb_core.c ****   if ((pInformation->USBwValue0 <=
  80              		.loc 1 80 0
  81 0002 0A4B     		ldr	r3, .L11
  82 0004 1A68     		ldr	r2, [r3, #0]
  83 0006 0A4B     		ldr	r3, .L11+4
  84 0008 D178     		ldrb	r1, [r2, #3]	@ zero_extendqisi2
  85 000a 5B78     		ldrb	r3, [r3, #1]	@ zero_extendqisi2
  86 000c 8B42     		cmp	r3, r1
  87 000e 0AD3     		bcc	.L8
  88 0010 9378     		ldrb	r3, [r2, #2]	@ zero_extendqisi2
  89 0012 43B9     		cbnz	r3, .L8
  90 0014 9488     		ldrh	r4, [r2, #4]
  91 0016 34B9     		cbnz	r4, .L8
  81:lib/STM32_USB-FS-Device_Driver/src/usb_core.c ****       Device_Table.Total_Configuration) && (pInformation->USBwValue1 == 0)
  82:lib/STM32_USB-FS-Device_Driver/src/usb_core.c ****       && (pInformation->USBwIndex == 0)) /*call Back usb spec 2.0*/
  83:lib/STM32_USB-FS-Device_Driver/src/usb_core.c ****   {
  84:lib/STM32_USB-FS-Device_Driver/src/usb_core.c ****     pInformation->Current_Configuration = pInformation->USBwValue0;
  85:lib/STM32_USB-FS-Device_Driver/src/usb_core.c ****     pUser_Standard_Requests->User_SetConfiguration();
  92              		.loc 1 85 0
  93 0018 064B     		ldr	r3, .L11+8
  94              		.loc 1 84 0
  95 001a 9172     		strb	r1, [r2, #10]
  96              		.loc 1 85 0
  97 001c 1B68     		ldr	r3, [r3, #0]
  98 001e 5B68     		ldr	r3, [r3, #4]
  99 0020 9847     		blx	r3
 100 0022 2046     		mov	r0, r4
 101 0024 00E0     		b	.L9
 102              	.L8:
  86:lib/STM32_USB-FS-Device_Driver/src/usb_core.c ****     return USB_SUCCESS;
 103              		.loc 1 86 0
 104 0026 0220     		movs	r0, #2
 105              	.L9:
  87:lib/STM32_USB-FS-Device_Driver/src/usb_core.c ****   }
  88:lib/STM32_USB-FS-Device_Driver/src/usb_core.c ****   else
  89:lib/STM32_USB-FS-Device_Driver/src/usb_core.c ****   {
  90:lib/STM32_USB-FS-Device_Driver/src/usb_core.c ****     return USB_UNSUPPORT;
  91:lib/STM32_USB-FS-Device_Driver/src/usb_core.c ****   }
  92:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** }
 106              		.loc 1 92 0
 107 0028 10BD     		pop	{r4, pc}
 108              	.L12:
 109 002a C046     		.align	2
 110              	.L11:
 111 002c 00000000 		.word	pInformation
 112 0030 00000000 		.word	Device_Table
 113 0034 00000000 		.word	pUser_Standard_Requests
 114              	.LFE27:
 116              		.section	.text.Standard_GetInterface,"ax",%progbits
 117              		.align	2
 118              		.global	Standard_GetInterface
 119              		.thumb
 120              		.thumb_func
 122              	Standard_GetInterface:
 123              	.LFB28:
  93:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** 
  94:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** /*******************************************************************************
  95:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * Function Name  : Standard_GetInterface.
  96:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * Description    : Return the Alternate Setting of the current interface.
  97:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * Input          : Length - How many bytes are needed.

⌨️ 快捷键说明

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