ARM GAS /tmp/ccXNKvGT.s page 1 1 .cpu cortex-m4 2 .arch armv7e-m 3 .fpu fpv4-sp-d16 4 .eabi_attribute 27, 1 5 .eabi_attribute 28, 1 6 .eabi_attribute 20, 1 7 .eabi_attribute 21, 1 8 .eabi_attribute 23, 3 9 .eabi_attribute 24, 1 10 .eabi_attribute 25, 1 11 .eabi_attribute 26, 1 12 .eabi_attribute 30, 1 13 .eabi_attribute 34, 1 14 .eabi_attribute 18, 4 15 .file "usbd_core.c" 16 .text 17 .Ltext0: 18 .cfi_sections .debug_frame 19 .file 1 "Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c" 20 .section .text.USBD_Init,"ax",%progbits 21 .align 1 22 .global USBD_Init 23 .syntax unified 24 .thumb 25 .thumb_func 27 USBD_Init: 28 .LVL0: 29 .LFB333: 1:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 2:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ****************************************************************************** 3:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @file usbd_core.c 4:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @author MCD Application Team 5:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief This file provides all the USBD core functions. 6:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ****************************************************************************** 7:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @attention 8:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * 9:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** *

© Copyright (c) 2015 STMicroelectronics. 10:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * All rights reserved.

11:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * 12:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * This software component is licensed by ST under Ultimate Liberty license 13:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * SLA0044, the "License"; You may not use this file except in compliance with 14:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * the License. You may obtain a copy of the License at: 15:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * www.st.com/SLA0044 16:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * 17:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ****************************************************************************** 18:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 19:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 20:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Includes ------------------------------------------------------------------*/ 21:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #include "usbd_core.h" 22:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 23:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** @addtogroup STM32_USBD_DEVICE_LIBRARY 24:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @{ 25:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 26:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 27:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 28:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** @defgroup USBD_CORE 29:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief usbd core module ARM GAS /tmp/ccXNKvGT.s page 2 30:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @{ 31:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 32:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 33:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** @defgroup USBD_CORE_Private_TypesDefinitions 34:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @{ 35:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 36:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 37:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 38:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @} 39:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 40:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 41:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 42:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** @defgroup USBD_CORE_Private_Defines 43:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @{ 44:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 45:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 46:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 47:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @} 48:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 49:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 50:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 51:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** @defgroup USBD_CORE_Private_Macros 52:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @{ 53:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 54:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 55:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 56:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @} 57:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 58:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 59:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 60:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** @defgroup USBD_CORE_Private_FunctionPrototypes 61:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @{ 62:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 63:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 64:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 65:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @} 66:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 67:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 68:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** @defgroup USBD_CORE_Private_Variables 69:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @{ 70:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 71:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 72:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 73:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @} 74:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 75:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 76:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 77:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** @defgroup USBD_CORE_Private_Functions 78:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @{ 79:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 80:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 81:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 82:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_Init 83:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Initializes the device stack and load the class driver 84:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 85:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdesc: Descriptor structure address 86:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param id: Low level core index ARM GAS /tmp/ccXNKvGT.s page 3 87:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval None 88:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 89:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_Init(USBD_HandleTypeDef *pdev, 90:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_DescriptorsTypeDef *pdesc, uint8_t id) 91:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 30 .loc 1 91 1 view -0 31 .cfi_startproc 32 @ args = 0, pretend = 0, frame = 0 33 @ frame_needed = 0, uses_anonymous_args = 0 92:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef ret; 34 .loc 1 92 3 view .LVU1 93:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 94:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Check whether the USB Host handle is valid */ 95:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev == NULL) 35 .loc 1 95 3 view .LVU2 36 .loc 1 95 6 is_stmt 0 view .LVU3 37 0000 98B1 cbz r0, .L4 91:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef ret; 38 .loc 1 91 1 view .LVU4 39 0002 08B5 push {r3, lr} 40 .LCFI0: 41 .cfi_def_cfa_offset 8 42 .cfi_offset 3, -8 43 .cfi_offset 14, -4 44 0004 0346 mov r3, r0 96:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 97:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #if (USBD_DEBUG_LEVEL > 1U) 98:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_ErrLog("Invalid Device handle"); 99:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif 100:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_FAIL; 101:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 102:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 103:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Unlink previous class resources */ 104:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass = NULL; 45 .loc 1 104 3 is_stmt 1 view .LVU5 46 .loc 1 104 16 is_stmt 0 view .LVU6 47 0006 0020 movs r0, #0 48 .LVL1: 49 .loc 1 104 16 view .LVU7 50 0008 C3F8B802 str r0, [r3, #696] 105:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pUserData = NULL; 51 .loc 1 105 3 is_stmt 1 view .LVU8 52 .loc 1 105 19 is_stmt 0 view .LVU9 53 000c C3F8C002 str r0, [r3, #704] 106:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pConfDesc = NULL; 54 .loc 1 106 3 is_stmt 1 view .LVU10 55 .loc 1 106 19 is_stmt 0 view .LVU11 56 0010 C3F8CC02 str r0, [r3, #716] 107:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 108:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Assign USBD Descriptors */ 109:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdesc != NULL) 57 .loc 1 109 3 is_stmt 1 view .LVU12 58 .loc 1 109 6 is_stmt 0 view .LVU13 59 0014 09B1 cbz r1, .L3 110:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 111:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pDesc = pdesc; 60 .loc 1 111 5 is_stmt 1 view .LVU14 ARM GAS /tmp/ccXNKvGT.s page 4 61 .loc 1 111 17 is_stmt 0 view .LVU15 62 0016 C3F8B412 str r1, [r3, #692] 63 .L3: 112:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 113:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 114:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Set Device initial State */ 115:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_state = USBD_STATE_DEFAULT; 64 .loc 1 115 3 is_stmt 1 view .LVU16 65 .loc 1 115 19 is_stmt 0 view .LVU17 66 001a 0121 movs r1, #1 67 .LVL2: 68 .loc 1 115 19 view .LVU18 69 001c 83F89C12 strb r1, [r3, #668] 116:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->id = id; 70 .loc 1 116 3 is_stmt 1 view .LVU19 71 .loc 1 116 12 is_stmt 0 view .LVU20 72 0020 1A70 strb r2, [r3] 117:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 118:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Initialize low level driver */ 119:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_LL_Init(pdev); 73 .loc 1 119 3 is_stmt 1 view .LVU21 74 .loc 1 119 9 is_stmt 0 view .LVU22 75 0022 1846 mov r0, r3 76 0024 FFF7FEFF bl USBD_LL_Init 77 .LVL3: 120:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 121:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return ret; 78 .loc 1 121 3 is_stmt 1 view .LVU23 122:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 79 .loc 1 122 1 is_stmt 0 view .LVU24 80 0028 08BD pop {r3, pc} 81 .LVL4: 82 .L4: 83 .LCFI1: 84 .cfi_def_cfa_offset 0 85 .cfi_restore 3 86 .cfi_restore 14 100:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 87 .loc 1 100 12 view .LVU25 88 002a 0320 movs r0, #3 89 .LVL5: 90 .loc 1 122 1 view .LVU26 91 002c 7047 bx lr 92 .cfi_endproc 93 .LFE333: 95 .section .text.USBD_DeInit,"ax",%progbits 96 .align 1 97 .global USBD_DeInit 98 .syntax unified 99 .thumb 100 .thumb_func 102 USBD_DeInit: 103 .LVL6: 104 .LFB334: 123:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 124:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 125:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_DeInit ARM GAS /tmp/ccXNKvGT.s page 5 126:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Re-Initialize the device library 127:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 128:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status: status 129:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 130:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_DeInit(USBD_HandleTypeDef *pdev) 131:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 105 .loc 1 131 1 is_stmt 1 view -0 106 .cfi_startproc 107 @ args = 0, pretend = 0, frame = 0 108 @ frame_needed = 0, uses_anonymous_args = 0 109 .loc 1 131 1 is_stmt 0 view .LVU28 110 0000 10B5 push {r4, lr} 111 .LCFI2: 112 .cfi_def_cfa_offset 8 113 .cfi_offset 4, -8 114 .cfi_offset 14, -4 115 0002 0446 mov r4, r0 132:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef ret; 116 .loc 1 132 3 is_stmt 1 view .LVU29 133:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 134:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Disconnect the USB Device */ 135:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_LL_Stop(pdev); 117 .loc 1 135 3 view .LVU30 118 .loc 1 135 9 is_stmt 0 view .LVU31 119 0004 FFF7FEFF bl USBD_LL_Stop 120 .LVL7: 136:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 137:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Set Default State */ 138:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_state = USBD_STATE_DEFAULT; 121 .loc 1 138 3 is_stmt 1 view .LVU32 122 .loc 1 138 19 is_stmt 0 view .LVU33 123 0008 0123 movs r3, #1 124 000a 84F89C32 strb r3, [r4, #668] 139:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 140:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Free Class Resources */ 141:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass != NULL) 125 .loc 1 141 3 is_stmt 1 view .LVU34 126 .loc 1 141 11 is_stmt 0 view .LVU35 127 000e D4F8B832 ldr r3, [r4, #696] 128 .loc 1 141 6 view .LVU36 129 0012 43B1 cbz r3, .L10 142:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 143:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass->DeInit(pdev, (uint8_t)pdev->dev_config); 130 .loc 1 143 5 is_stmt 1 view .LVU37 131 .loc 1 143 17 is_stmt 0 view .LVU38 132 0014 5B68 ldr r3, [r3, #4] 133 .loc 1 143 5 view .LVU39 134 0016 2179 ldrb r1, [r4, #4] @ zero_extendqisi2 135 0018 2046 mov r0, r4 136 001a 9847 blx r3 137 .LVL8: 144:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass = NULL; 138 .loc 1 144 5 is_stmt 1 view .LVU40 139 .loc 1 144 18 is_stmt 0 view .LVU41 140 001c 0023 movs r3, #0 141 001e C4F8B832 str r3, [r4, #696] 145:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pUserData = NULL; ARM GAS /tmp/ccXNKvGT.s page 6 142 .loc 1 145 5 is_stmt 1 view .LVU42 143 .loc 1 145 21 is_stmt 0 view .LVU43 144 0022 C4F8C032 str r3, [r4, #704] 145 .L10: 146:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 147:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 148:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Free Device descriptors resources */ 149:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pDesc = NULL; 146 .loc 1 149 3 is_stmt 1 view .LVU44 147 .loc 1 149 15 is_stmt 0 view .LVU45 148 0026 0023 movs r3, #0 149 0028 C4F8B432 str r3, [r4, #692] 150:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pConfDesc = NULL; 150 .loc 1 150 3 is_stmt 1 view .LVU46 151 .loc 1 150 19 is_stmt 0 view .LVU47 152 002c C4F8CC32 str r3, [r4, #716] 151:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 152:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* DeInitialize low level driver */ 153:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_LL_DeInit(pdev); 153 .loc 1 153 3 is_stmt 1 view .LVU48 154 .loc 1 153 9 is_stmt 0 view .LVU49 155 0030 2046 mov r0, r4 156 0032 FFF7FEFF bl USBD_LL_DeInit 157 .LVL9: 154:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 155:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return ret; 158 .loc 1 155 3 is_stmt 1 view .LVU50 156:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 159 .loc 1 156 1 is_stmt 0 view .LVU51 160 0036 10BD pop {r4, pc} 161 .loc 1 156 1 view .LVU52 162 .cfi_endproc 163 .LFE334: 165 .section .text.USBD_RegisterClass,"ax",%progbits 166 .align 1 167 .global USBD_RegisterClass 168 .syntax unified 169 .thumb 170 .thumb_func 172 USBD_RegisterClass: 173 .LVL10: 174 .LFB335: 157:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 158:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 159:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_RegisterClass 160:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Link class driver to Device Core. 161:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pDevice : Device Handle 162:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pclass: Class handle 163:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval USBD Status 164:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 165:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_RegisterClass(USBD_HandleTypeDef *pdev, USBD_ClassTypeDef *pclass) 166:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 175 .loc 1 166 1 is_stmt 1 view -0 176 .cfi_startproc 177 @ args = 0, pretend = 0, frame = 8 178 @ frame_needed = 0, uses_anonymous_args = 0 179 .loc 1 166 1 is_stmt 0 view .LVU54 ARM GAS /tmp/ccXNKvGT.s page 7 180 0000 10B5 push {r4, lr} 181 .LCFI3: 182 .cfi_def_cfa_offset 8 183 .cfi_offset 4, -8 184 .cfi_offset 14, -4 185 0002 82B0 sub sp, sp, #8 186 .LCFI4: 187 .cfi_def_cfa_offset 16 167:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** uint16_t len = 0U; 188 .loc 1 167 3 is_stmt 1 view .LVU55 189 .loc 1 167 12 is_stmt 0 view .LVU56 190 0004 0023 movs r3, #0 191 0006 ADF80630 strh r3, [sp, #6] @ movhi 168:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 169:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pclass == NULL) 192 .loc 1 169 3 is_stmt 1 view .LVU57 193 .loc 1 169 6 is_stmt 0 view .LVU58 194 000a 61B1 cbz r1, .L14 195 000c 0446 mov r4, r0 170:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 171:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #if (USBD_DEBUG_LEVEL > 1U) 172:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_ErrLog("Invalid Class handle"); 173:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif 174:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_FAIL; 175:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 176:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 177:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* link the class to the USB Device handle */ 178:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass = pclass; 196 .loc 1 178 3 is_stmt 1 view .LVU59 197 .loc 1 178 16 is_stmt 0 view .LVU60 198 000e C0F8B812 str r1, [r0, #696] 179:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 180:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Get Device Configuration Descriptor */ 181:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #ifdef USE_USB_HS 182:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass->GetHSConfigDescriptor != NULL) 183:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 184:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pConfDesc = (void *)pdev->pClass->GetHSConfigDescriptor(&len); 185:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 186:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #else /* Default USE_USB_FS */ 187:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass->GetFSConfigDescriptor != NULL) 199 .loc 1 187 3 is_stmt 1 view .LVU61 200 .loc 1 187 19 is_stmt 0 view .LVU62 201 0012 CB6A ldr r3, [r1, #44] 202 .loc 1 187 6 view .LVU63 203 0014 4BB1 cbz r3, .L15 188:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 189:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pConfDesc = (void *)pdev->pClass->GetFSConfigDescriptor(&len); 204 .loc 1 189 5 is_stmt 1 view .LVU64 205 .loc 1 189 31 is_stmt 0 view .LVU65 206 0016 0DF10600 add r0, sp, #6 207 .LVL11: 208 .loc 1 189 31 view .LVU66 209 001a 9847 blx r3 210 .LVL12: 211 .loc 1 189 21 view .LVU67 212 001c C4F8CC02 str r0, [r4, #716] 190:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } ARM GAS /tmp/ccXNKvGT.s page 8 191:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* USE_USB_FS */ 192:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 193:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 213 .loc 1 193 10 view .LVU68 214 0020 0020 movs r0, #0 215 .LVL13: 216 .L13: 194:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 217 .loc 1 194 1 view .LVU69 218 0022 02B0 add sp, sp, #8 219 .LCFI5: 220 .cfi_remember_state 221 .cfi_def_cfa_offset 8 222 @ sp needed 223 0024 10BD pop {r4, pc} 224 .LVL14: 225 .L14: 226 .LCFI6: 227 .cfi_restore_state 174:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 228 .loc 1 174 12 view .LVU70 229 0026 0320 movs r0, #3 230 .LVL15: 174:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 231 .loc 1 174 12 view .LVU71 232 0028 FBE7 b .L13 233 .LVL16: 234 .L15: 193:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 235 .loc 1 193 10 view .LVU72 236 002a 0020 movs r0, #0 237 .LVL17: 193:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 238 .loc 1 193 10 view .LVU73 239 002c F9E7 b .L13 240 .cfi_endproc 241 .LFE335: 243 .section .text.USBD_Start,"ax",%progbits 244 .align 1 245 .global USBD_Start 246 .syntax unified 247 .thumb 248 .thumb_func 250 USBD_Start: 251 .LVL18: 252 .LFB336: 195:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 196:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 197:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_Start 198:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Start the USB Device Core. 199:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: Device Handle 200:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval USBD Status 201:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 202:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_Start(USBD_HandleTypeDef *pdev) 203:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 253 .loc 1 203 1 is_stmt 1 view -0 254 .cfi_startproc ARM GAS /tmp/ccXNKvGT.s page 9 255 @ args = 0, pretend = 0, frame = 0 256 @ frame_needed = 0, uses_anonymous_args = 0 257 .loc 1 203 1 is_stmt 0 view .LVU75 258 0000 08B5 push {r3, lr} 259 .LCFI7: 260 .cfi_def_cfa_offset 8 261 .cfi_offset 3, -8 262 .cfi_offset 14, -4 204:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Start the low level driver */ 205:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_LL_Start(pdev); 263 .loc 1 205 3 is_stmt 1 view .LVU76 264 .loc 1 205 10 is_stmt 0 view .LVU77 265 0002 FFF7FEFF bl USBD_LL_Start 266 .LVL19: 206:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 267 .loc 1 206 1 view .LVU78 268 0006 08BD pop {r3, pc} 269 .cfi_endproc 270 .LFE336: 272 .section .text.USBD_Stop,"ax",%progbits 273 .align 1 274 .global USBD_Stop 275 .syntax unified 276 .thumb 277 .thumb_func 279 USBD_Stop: 280 .LVL20: 281 .LFB337: 207:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 208:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 209:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_Stop 210:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Stop the USB Device Core. 211:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: Device Handle 212:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval USBD Status 213:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 214:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_Stop(USBD_HandleTypeDef *pdev) 215:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 282 .loc 1 215 1 is_stmt 1 view -0 283 .cfi_startproc 284 @ args = 0, pretend = 0, frame = 0 285 @ frame_needed = 0, uses_anonymous_args = 0 286 .loc 1 215 1 is_stmt 0 view .LVU80 287 0000 10B5 push {r4, lr} 288 .LCFI8: 289 .cfi_def_cfa_offset 8 290 .cfi_offset 4, -8 291 .cfi_offset 14, -4 292 0002 0446 mov r4, r0 216:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Disconnect USB Device */ 217:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_LL_Stop(pdev); 293 .loc 1 217 3 is_stmt 1 view .LVU81 294 .loc 1 217 9 is_stmt 0 view .LVU82 295 0004 FFF7FEFF bl USBD_LL_Stop 296 .LVL21: 218:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 219:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Free Class Resources */ 220:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass != NULL) ARM GAS /tmp/ccXNKvGT.s page 10 297 .loc 1 220 3 is_stmt 1 view .LVU83 298 .loc 1 220 11 is_stmt 0 view .LVU84 299 0008 D4F8B832 ldr r3, [r4, #696] 300 .loc 1 220 6 view .LVU85 301 000c 1BB1 cbz r3, .L20 221:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 222:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)pdev->pClass->DeInit(pdev, (uint8_t)pdev->dev_config); 302 .loc 1 222 5 is_stmt 1 view .LVU86 303 .loc 1 222 23 is_stmt 0 view .LVU87 304 000e 5B68 ldr r3, [r3, #4] 305 .loc 1 222 11 view .LVU88 306 0010 2179 ldrb r1, [r4, #4] @ zero_extendqisi2 307 0012 2046 mov r0, r4 308 0014 9847 blx r3 309 .LVL22: 310 .L20: 223:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 224:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 225:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 311 .loc 1 225 3 is_stmt 1 view .LVU89 226:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 312 .loc 1 226 1 is_stmt 0 view .LVU90 313 0016 0020 movs r0, #0 314 0018 10BD pop {r4, pc} 315 .loc 1 226 1 view .LVU91 316 .cfi_endproc 317 .LFE337: 319 .section .text.USBD_RunTestMode,"ax",%progbits 320 .align 1 321 .global USBD_RunTestMode 322 .syntax unified 323 .thumb 324 .thumb_func 326 USBD_RunTestMode: 327 .LVL23: 328 .LFB338: 227:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 228:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 229:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_RunTestMode 230:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Launch test mode process 231:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 232:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status 233:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 234:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_RunTestMode(USBD_HandleTypeDef *pdev) 235:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 329 .loc 1 235 1 is_stmt 1 view -0 330 .cfi_startproc 331 @ args = 0, pretend = 0, frame = 0 332 @ frame_needed = 0, uses_anonymous_args = 0 333 @ link register save eliminated. 236:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Prevent unused argument compilation warning */ 237:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** UNUSED(pdev); 334 .loc 1 237 3 view .LVU93 238:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 239:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 335 .loc 1 239 3 view .LVU94 240:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } ARM GAS /tmp/ccXNKvGT.s page 11 336 .loc 1 240 1 is_stmt 0 view .LVU95 337 0000 0020 movs r0, #0 338 .LVL24: 339 .loc 1 240 1 view .LVU96 340 0002 7047 bx lr 341 .cfi_endproc 342 .LFE338: 344 .section .text.USBD_SetClassConfig,"ax",%progbits 345 .align 1 346 .global USBD_SetClassConfig 347 .syntax unified 348 .thumb 349 .thumb_func 351 USBD_SetClassConfig: 352 .LVL25: 353 .LFB339: 241:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 242:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 243:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_SetClassConfig 244:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Configure device and start the interface 245:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 246:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param cfgidx: configuration index 247:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status 248:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 249:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 250:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_SetClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx) 251:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 354 .loc 1 251 1 is_stmt 1 view -0 355 .cfi_startproc 356 @ args = 0, pretend = 0, frame = 0 357 @ frame_needed = 0, uses_anonymous_args = 0 358 .loc 1 251 1 is_stmt 0 view .LVU98 359 0000 08B5 push {r3, lr} 360 .LCFI9: 361 .cfi_def_cfa_offset 8 362 .cfi_offset 3, -8 363 .cfi_offset 14, -4 252:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef ret = USBD_FAIL; 364 .loc 1 252 3 is_stmt 1 view .LVU99 365 .LVL26: 253:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 254:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass != NULL) 366 .loc 1 254 3 view .LVU100 367 .loc 1 254 11 is_stmt 0 view .LVU101 368 0002 D0F8B832 ldr r3, [r0, #696] 369 .loc 1 254 6 view .LVU102 370 0006 13B1 cbz r3, .L25 255:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 256:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Set configuration and Start the Class */ 257:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = (USBD_StatusTypeDef)pdev->pClass->Init(pdev, cfgidx); 371 .loc 1 257 5 is_stmt 1 view .LVU103 372 .loc 1 257 43 is_stmt 0 view .LVU104 373 0008 1B68 ldr r3, [r3] 374 .loc 1 257 31 view .LVU105 375 000a 9847 blx r3 376 .LVL27: 377 .L24: ARM GAS /tmp/ccXNKvGT.s page 12 258:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 259:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 260:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return ret; 378 .loc 1 260 3 is_stmt 1 view .LVU106 261:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 379 .loc 1 261 1 is_stmt 0 view .LVU107 380 000c 08BD pop {r3, pc} 381 .LVL28: 382 .L25: 252:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 383 .loc 1 252 22 view .LVU108 384 000e 0320 movs r0, #3 385 .LVL29: 252:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 386 .loc 1 252 22 view .LVU109 387 0010 FCE7 b .L24 388 .cfi_endproc 389 .LFE339: 391 .section .text.USBD_ClrClassConfig,"ax",%progbits 392 .align 1 393 .global USBD_ClrClassConfig 394 .syntax unified 395 .thumb 396 .thumb_func 398 USBD_ClrClassConfig: 399 .LVL30: 400 .LFB340: 262:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 263:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 264:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_ClrClassConfig 265:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Clear current configuration 266:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 267:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param cfgidx: configuration index 268:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status: USBD_StatusTypeDef 269:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 270:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_ClrClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx) 271:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 401 .loc 1 271 1 is_stmt 1 view -0 402 .cfi_startproc 403 @ args = 0, pretend = 0, frame = 0 404 @ frame_needed = 0, uses_anonymous_args = 0 405 .loc 1 271 1 is_stmt 0 view .LVU111 406 0000 08B5 push {r3, lr} 407 .LCFI10: 408 .cfi_def_cfa_offset 8 409 .cfi_offset 3, -8 410 .cfi_offset 14, -4 272:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Clear configuration and De-initialize the Class process */ 273:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass != NULL) 411 .loc 1 273 3 is_stmt 1 view .LVU112 412 .loc 1 273 11 is_stmt 0 view .LVU113 413 0002 D0F8B832 ldr r3, [r0, #696] 414 .loc 1 273 6 view .LVU114 415 0006 0BB1 cbz r3, .L28 274:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 275:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass->DeInit(pdev, cfgidx); 416 .loc 1 275 5 is_stmt 1 view .LVU115 ARM GAS /tmp/ccXNKvGT.s page 13 417 .loc 1 275 17 is_stmt 0 view .LVU116 418 0008 5B68 ldr r3, [r3, #4] 419 .loc 1 275 5 view .LVU117 420 000a 9847 blx r3 421 .LVL31: 422 .L28: 276:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 277:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 278:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 423 .loc 1 278 3 is_stmt 1 view .LVU118 279:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 424 .loc 1 279 1 is_stmt 0 view .LVU119 425 000c 0020 movs r0, #0 426 000e 08BD pop {r3, pc} 427 .cfi_endproc 428 .LFE340: 430 .section .text.USBD_LL_SetupStage,"ax",%progbits 431 .align 1 432 .global USBD_LL_SetupStage 433 .syntax unified 434 .thumb 435 .thumb_func 437 USBD_LL_SetupStage: 438 .LVL32: 439 .LFB341: 280:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 281:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 282:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 283:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_LL_SetupStage 284:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle the setup stage 285:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 286:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status 287:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 288:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_SetupStage(USBD_HandleTypeDef *pdev, uint8_t *psetup) 289:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 440 .loc 1 289 1 is_stmt 1 view -0 441 .cfi_startproc 442 @ args = 0, pretend = 0, frame = 0 443 @ frame_needed = 0, uses_anonymous_args = 0 444 .loc 1 289 1 is_stmt 0 view .LVU121 445 0000 38B5 push {r3, r4, r5, lr} 446 .LCFI11: 447 .cfi_def_cfa_offset 16 448 .cfi_offset 3, -16 449 .cfi_offset 4, -12 450 .cfi_offset 5, -8 451 .cfi_offset 14, -4 452 0002 0446 mov r4, r0 290:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef ret; 453 .loc 1 290 3 is_stmt 1 view .LVU122 291:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 292:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_ParseSetupRequest(&pdev->request, psetup); 454 .loc 1 292 3 view .LVU123 455 0004 00F2AA25 addw r5, r0, #682 456 0008 2846 mov r0, r5 457 .LVL33: 458 .loc 1 292 3 is_stmt 0 view .LVU124 ARM GAS /tmp/ccXNKvGT.s page 14 459 000a FFF7FEFF bl USBD_ParseSetupRequest 460 .LVL34: 293:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 294:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep0_state = USBD_EP0_SETUP; 461 .loc 1 294 3 is_stmt 1 view .LVU125 462 .loc 1 294 19 is_stmt 0 view .LVU126 463 000e 0123 movs r3, #1 464 0010 C4F89432 str r3, [r4, #660] 295:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 296:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep0_data_len = pdev->request.wLength; 465 .loc 1 296 3 is_stmt 1 view .LVU127 466 .loc 1 296 37 is_stmt 0 view .LVU128 467 0014 B4F8B032 ldrh r3, [r4, #688] 468 .loc 1 296 22 view .LVU129 469 0018 C4F89832 str r3, [r4, #664] 297:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 298:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** switch (pdev->request.bmRequest & 0x1FU) 470 .loc 1 298 3 is_stmt 1 view .LVU130 471 .loc 1 298 24 is_stmt 0 view .LVU131 472 001c 94F8AA12 ldrb r1, [r4, #682] @ zero_extendqisi2 473 0020 01F01F03 and r3, r1, #31 474 .loc 1 298 3 view .LVU132 475 0024 012B cmp r3, #1 476 0026 0DD0 beq .L31 477 0028 022B cmp r3, #2 478 002a 10D0 beq .L32 479 002c 2BB1 cbz r3, .L36 299:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 300:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** case USB_REQ_RECIPIENT_DEVICE: 301:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_StdDevReq(pdev, &pdev->request); 302:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break; 303:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 304:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** case USB_REQ_RECIPIENT_INTERFACE: 305:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_StdItfReq(pdev, &pdev->request); 306:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break; 307:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 308:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** case USB_REQ_RECIPIENT_ENDPOINT: 309:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_StdEPReq(pdev, &pdev->request); 310:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break; 311:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 312:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** default: 313:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_LL_StallEP(pdev, (pdev->request.bmRequest & 0x80U)); 480 .loc 1 313 7 is_stmt 1 view .LVU133 481 .loc 1 313 13 is_stmt 0 view .LVU134 482 002e 01F08001 and r1, r1, #128 483 0032 2046 mov r0, r4 484 0034 FFF7FEFF bl USBD_LL_StallEP 485 .LVL35: 314:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break; 486 .loc 1 314 7 is_stmt 1 view .LVU135 487 0038 03E0 b .L34 488 .LVL36: 489 .L36: 301:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break; 490 .loc 1 301 7 view .LVU136 301:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break; 491 .loc 1 301 13 is_stmt 0 view .LVU137 ARM GAS /tmp/ccXNKvGT.s page 15 492 003a 2946 mov r1, r5 493 003c 2046 mov r0, r4 494 003e FFF7FEFF bl USBD_StdDevReq 495 .LVL37: 302:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 496 .loc 1 302 7 is_stmt 1 view .LVU138 497 .L34: 315:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 316:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 317:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return ret; 498 .loc 1 317 3 view .LVU139 318:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 499 .loc 1 318 1 is_stmt 0 view .LVU140 500 0042 38BD pop {r3, r4, r5, pc} 501 .LVL38: 502 .L31: 305:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break; 503 .loc 1 305 7 is_stmt 1 view .LVU141 305:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break; 504 .loc 1 305 13 is_stmt 0 view .LVU142 505 0044 2946 mov r1, r5 506 0046 2046 mov r0, r4 507 0048 FFF7FEFF bl USBD_StdItfReq 508 .LVL39: 306:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 509 .loc 1 306 7 is_stmt 1 view .LVU143 510 004c F9E7 b .L34 511 .LVL40: 512 .L32: 309:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break; 513 .loc 1 309 7 view .LVU144 309:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break; 514 .loc 1 309 13 is_stmt 0 view .LVU145 515 004e 2946 mov r1, r5 516 0050 2046 mov r0, r4 517 0052 FFF7FEFF bl USBD_StdEPReq 518 .LVL41: 310:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 519 .loc 1 310 7 is_stmt 1 view .LVU146 520 0056 F4E7 b .L34 521 .cfi_endproc 522 .LFE341: 524 .section .text.USBD_LL_DataOutStage,"ax",%progbits 525 .align 1 526 .global USBD_LL_DataOutStage 527 .syntax unified 528 .thumb 529 .thumb_func 531 USBD_LL_DataOutStage: 532 .LVL42: 533 .LFB342: 319:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 320:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 321:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_LL_DataOutStage 322:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle data OUT stage 323:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 324:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param epnum: endpoint index ARM GAS /tmp/ccXNKvGT.s page 16 325:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdata: data pointer 326:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status 327:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 328:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_DataOutStage(USBD_HandleTypeDef *pdev, 329:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** uint8_t epnum, uint8_t *pdata) 330:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 534 .loc 1 330 1 view -0 535 .cfi_startproc 536 @ args = 0, pretend = 0, frame = 0 537 @ frame_needed = 0, uses_anonymous_args = 0 538 .loc 1 330 1 is_stmt 0 view .LVU148 539 0000 38B5 push {r3, r4, r5, lr} 540 .LCFI12: 541 .cfi_def_cfa_offset 16 542 .cfi_offset 3, -16 543 .cfi_offset 4, -12 544 .cfi_offset 5, -8 545 .cfi_offset 14, -4 546 0002 0446 mov r4, r0 331:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_EndpointTypeDef *pep; 547 .loc 1 331 3 is_stmt 1 view .LVU149 332:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef ret; 548 .loc 1 332 3 view .LVU150 333:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 334:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (epnum == 0U) 549 .loc 1 334 3 view .LVU151 550 .loc 1 334 6 is_stmt 0 view .LVU152 551 0004 0D46 mov r5, r1 552 0006 41BB cbnz r1, .L38 553 0008 1346 mov r3, r2 335:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 336:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pep = &pdev->ep_out[0]; 554 .loc 1 336 5 is_stmt 1 view .LVU153 555 .LVL43: 337:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 338:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->ep0_state == USBD_EP0_DATA_OUT) 556 .loc 1 338 5 view .LVU154 557 .loc 1 338 13 is_stmt 0 view .LVU155 558 000a D0F89422 ldr r2, [r0, #660] 559 .LVL44: 560 .loc 1 338 8 view .LVU156 561 000e 032A cmp r2, #3 562 0010 01D0 beq .L46 339:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 340:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pep->rem_length > pep->maxpacket) 341:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 342:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pep->rem_length -= pep->maxpacket; 343:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 344:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_CtlContinueRx(pdev, pdata, MIN(pep->rem_length, pep->maxpacket)); 345:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 346:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else 347:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 348:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->dev_state == USBD_STATE_CONFIGURED) 349:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 350:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass->EP0_RxReady != NULL) 351:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 352:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass->EP0_RxReady(pdev); ARM GAS /tmp/ccXNKvGT.s page 17 353:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 354:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 355:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 356:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_CtlSendStatus(pdev); 357:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 358:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 359:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else 360:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 361:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #if 0 362:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->ep0_state == USBD_EP0_STATUS_OUT) 363:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 364:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* 365:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * STATUS PHASE completed, update ep0_state to idle 366:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 367:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep0_state = USBD_EP0_IDLE; 368:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_LL_StallEP(pdev, 0U); 369:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 370:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif 371:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 372:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 373:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else 374:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 375:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->dev_state == USBD_STATE_CONFIGURED) 376:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 377:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass->DataOut != NULL) 378:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 379:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = (USBD_StatusTypeDef)pdev->pClass->DataOut(pdev, epnum); 380:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 381:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (ret != USBD_OK) 382:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 383:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return ret; 384:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 385:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 386:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 387:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 388:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 389:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 563 .loc 1 389 10 view .LVU157 564 0012 0846 mov r0, r1 565 .LVL45: 566 .L39: 390:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 567 .loc 1 390 1 view .LVU158 568 0014 38BD pop {r3, r4, r5, pc} 569 .LVL46: 570 .L46: 340:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 571 .loc 1 340 7 is_stmt 1 view .LVU159 340:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 572 .loc 1 340 14 is_stmt 0 view .LVU160 573 0016 D0F85C11 ldr r1, [r0, #348] 574 .LVL47: 340:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 575 .loc 1 340 32 view .LVU161 576 001a D0F86021 ldr r2, [r0, #352] 340:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 577 .loc 1 340 10 view .LVU162 ARM GAS /tmp/ccXNKvGT.s page 18 578 001e 9142 cmp r1, r2 579 0020 09D8 bhi .L47 348:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 580 .loc 1 348 9 is_stmt 1 view .LVU163 348:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 581 .loc 1 348 17 is_stmt 0 view .LVU164 582 0022 90F89C32 ldrb r3, [r0, #668] @ zero_extendqisi2 583 .LVL48: 348:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 584 .loc 1 348 17 view .LVU165 585 0026 DBB2 uxtb r3, r3 348:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 586 .loc 1 348 12 view .LVU166 587 0028 032B cmp r3, #3 588 002a 0FD0 beq .L48 589 .LVL49: 590 .L41: 356:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 591 .loc 1 356 9 is_stmt 1 view .LVU167 356:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 592 .loc 1 356 15 is_stmt 0 view .LVU168 593 002c 2046 mov r0, r4 594 002e FFF7FEFF bl USBD_CtlSendStatus 595 .LVL50: 389:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 596 .loc 1 389 10 view .LVU169 597 0032 2846 mov r0, r5 598 0034 EEE7 b .L39 599 .LVL51: 600 .L47: 342:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 601 .loc 1 342 9 is_stmt 1 view .LVU170 342:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 602 .loc 1 342 25 is_stmt 0 view .LVU171 603 0036 891A subs r1, r1, r2 604 0038 C0F85C11 str r1, [r0, #348] 344:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 605 .loc 1 344 9 is_stmt 1 view .LVU172 344:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 606 .loc 1 344 15 is_stmt 0 view .LVU173 607 003c 8A42 cmp r2, r1 608 003e 28BF it cs 609 0040 0A46 movcs r2, r1 610 0042 1946 mov r1, r3 611 0044 FFF7FEFF bl USBD_CtlContinueRx 612 .LVL52: 389:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 613 .loc 1 389 10 view .LVU174 614 0048 2846 mov r0, r5 615 004a E3E7 b .L39 616 .LVL53: 617 .L48: 350:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 618 .loc 1 350 11 is_stmt 1 view .LVU175 350:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 619 .loc 1 350 19 is_stmt 0 view .LVU176 620 004c D0F8B832 ldr r3, [r0, #696] ARM GAS /tmp/ccXNKvGT.s page 19 350:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 621 .loc 1 350 27 view .LVU177 622 0050 1B69 ldr r3, [r3, #16] 350:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 623 .loc 1 350 14 view .LVU178 624 0052 002B cmp r3, #0 625 0054 EAD0 beq .L41 352:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 626 .loc 1 352 13 is_stmt 1 view .LVU179 627 0056 9847 blx r3 628 .LVL54: 352:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 629 .loc 1 352 13 is_stmt 0 view .LVU180 630 0058 E8E7 b .L41 631 .LVL55: 632 .L38: 375:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 633 .loc 1 375 5 is_stmt 1 view .LVU181 375:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 634 .loc 1 375 13 is_stmt 0 view .LVU182 635 005a 90F89C32 ldrb r3, [r0, #668] @ zero_extendqisi2 636 005e DBB2 uxtb r3, r3 375:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 637 .loc 1 375 8 view .LVU183 638 0060 032B cmp r3, #3 639 0062 01D0 beq .L49 389:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 640 .loc 1 389 10 view .LVU184 641 0064 0020 movs r0, #0 642 .LVL56: 389:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 643 .loc 1 389 10 view .LVU185 644 0066 D5E7 b .L39 645 .LVL57: 646 .L49: 377:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 647 .loc 1 377 7 is_stmt 1 view .LVU186 377:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 648 .loc 1 377 15 is_stmt 0 view .LVU187 649 0068 D0F8B832 ldr r3, [r0, #696] 377:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 650 .loc 1 377 23 view .LVU188 651 006c 9B69 ldr r3, [r3, #24] 377:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 652 .loc 1 377 10 view .LVU189 653 006e 0BB1 cbz r3, .L44 379:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 654 .loc 1 379 9 is_stmt 1 view .LVU190 379:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 655 .loc 1 379 35 is_stmt 0 view .LVU191 656 0070 9847 blx r3 657 .LVL58: 381:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 658 .loc 1 381 9 is_stmt 1 view .LVU192 659 0072 CFE7 b .L39 660 .LVL59: 661 .L44: ARM GAS /tmp/ccXNKvGT.s page 20 389:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 662 .loc 1 389 10 is_stmt 0 view .LVU193 663 0074 0020 movs r0, #0 664 .LVL60: 389:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 665 .loc 1 389 10 view .LVU194 666 0076 CDE7 b .L39 667 .cfi_endproc 668 .LFE342: 670 .section .text.USBD_LL_DataInStage,"ax",%progbits 671 .align 1 672 .global USBD_LL_DataInStage 673 .syntax unified 674 .thumb 675 .thumb_func 677 USBD_LL_DataInStage: 678 .LVL61: 679 .LFB343: 391:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 392:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 393:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_LL_DataInStage 394:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle data in stage 395:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 396:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param epnum: endpoint index 397:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status 398:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 399:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_DataInStage(USBD_HandleTypeDef *pdev, 400:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** uint8_t epnum, uint8_t *pdata) 401:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 680 .loc 1 401 1 is_stmt 1 view -0 681 .cfi_startproc 682 @ args = 0, pretend = 0, frame = 0 683 @ frame_needed = 0, uses_anonymous_args = 0 684 .loc 1 401 1 is_stmt 0 view .LVU196 685 0000 38B5 push {r3, r4, r5, lr} 686 .LCFI13: 687 .cfi_def_cfa_offset 16 688 .cfi_offset 3, -16 689 .cfi_offset 4, -12 690 .cfi_offset 5, -8 691 .cfi_offset 14, -4 692 0002 0446 mov r4, r0 402:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_EndpointTypeDef *pep; 693 .loc 1 402 3 is_stmt 1 view .LVU197 403:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef ret; 694 .loc 1 403 3 view .LVU198 404:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 405:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (epnum == 0U) 695 .loc 1 405 3 view .LVU199 696 .loc 1 405 6 is_stmt 0 view .LVU200 697 0004 0D46 mov r5, r1 698 0006 0029 cmp r1, #0 699 0008 4AD1 bne .L51 700 000a 1346 mov r3, r2 406:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 407:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pep = &pdev->ep_in[0]; 701 .loc 1 407 5 is_stmt 1 view .LVU201 ARM GAS /tmp/ccXNKvGT.s page 21 702 .LVL62: 408:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 409:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->ep0_state == USBD_EP0_DATA_IN) 703 .loc 1 409 5 view .LVU202 704 .loc 1 409 13 is_stmt 0 view .LVU203 705 000c D0F89422 ldr r2, [r0, #660] 706 .LVL63: 707 .loc 1 409 8 view .LVU204 708 0010 022A cmp r2, #2 709 0012 05D0 beq .L61 710 .LVL64: 711 .L52: 410:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 411:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pep->rem_length > pep->maxpacket) 412:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 413:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pep->rem_length -= pep->maxpacket; 414:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 415:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_CtlContinueSendData(pdev, pdata, pep->rem_length); 416:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 417:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Prepare endpoint for premature end of transfer */ 418:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_LL_PrepareReceive(pdev, 0U, NULL, 0U); 419:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 420:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else 421:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 422:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* last packet is MPS multiple, so send ZLP packet */ 423:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if ((pep->maxpacket == pep->rem_length) && 424:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pep->total_length >= pep->maxpacket) && 425:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pep->total_length < pdev->ep0_data_len)) 426:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 427:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_CtlContinueSendData(pdev, NULL, 0U); 428:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep0_data_len = 0U; 429:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 430:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Prepare endpoint for premature end of transfer */ 431:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_LL_PrepareReceive(pdev, 0U, NULL, 0U); 432:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 433:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else 434:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 435:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->dev_state == USBD_STATE_CONFIGURED) 436:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 437:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass->EP0_TxSent != NULL) 438:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 439:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass->EP0_TxSent(pdev); 440:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 441:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 442:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_LL_StallEP(pdev, 0x80U); 443:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_CtlReceiveStatus(pdev); 444:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 445:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 446:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 447:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else 448:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 449:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #if 0 450:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if ((pdev->ep0_state == USBD_EP0_STATUS_IN) || 451:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->ep0_state == USBD_EP0_IDLE)) 452:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 453:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_LL_StallEP(pdev, 0x80U); 454:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } ARM GAS /tmp/ccXNKvGT.s page 22 455:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif 456:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 712 .loc 1 456 5 is_stmt 1 view .LVU205 457:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 458:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->dev_test_mode == 1U) 713 .loc 1 458 5 view .LVU206 714 .loc 1 458 13 is_stmt 0 view .LVU207 715 0014 94F8A032 ldrb r3, [r4, #672] @ zero_extendqisi2 716 .loc 1 458 8 view .LVU208 717 0018 012B cmp r3, #1 718 001a 3CD0 beq .L62 459:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 460:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_RunTestMode(pdev); 461:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_test_mode = 0U; 462:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 463:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 464:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else 465:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 466:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->dev_state == USBD_STATE_CONFIGURED) 467:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 468:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass->DataIn != NULL) 469:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 470:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = (USBD_StatusTypeDef)pdev->pClass->DataIn(pdev, epnum); 471:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 472:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (ret != USBD_OK) 473:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 474:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return ret; 475:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 476:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 477:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 478:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 479:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 480:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 719 .loc 1 480 10 view .LVU209 720 001c 2846 mov r0, r5 721 .LVL65: 722 .L56: 481:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 723 .loc 1 481 1 view .LVU210 724 001e 38BD pop {r3, r4, r5, pc} 725 .LVL66: 726 .L61: 411:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 727 .loc 1 411 7 is_stmt 1 view .LVU211 411:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 728 .loc 1 411 14 is_stmt 0 view .LVU212 729 0020 C269 ldr r2, [r0, #28] 411:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 730 .loc 1 411 32 view .LVU213 731 0022 016A ldr r1, [r0, #32] 732 .LVL67: 411:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 733 .loc 1 411 10 view .LVU214 734 0024 8A42 cmp r2, r1 735 0026 0ED8 bhi .L63 423:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pep->total_length >= pep->maxpacket) && 736 .loc 1 423 9 is_stmt 1 view .LVU215 ARM GAS /tmp/ccXNKvGT.s page 23 423:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pep->total_length >= pep->maxpacket) && 737 .loc 1 423 12 is_stmt 0 view .LVU216 738 0028 8A42 cmp r2, r1 739 002a 18D0 beq .L64 740 .LVL68: 741 .L54: 435:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 742 .loc 1 435 11 is_stmt 1 view .LVU217 435:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 743 .loc 1 435 19 is_stmt 0 view .LVU218 744 002c 94F89C32 ldrb r3, [r4, #668] @ zero_extendqisi2 745 0030 DBB2 uxtb r3, r3 435:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 746 .loc 1 435 14 view .LVU219 747 0032 032B cmp r3, #3 748 0034 27D0 beq .L65 749 .LVL69: 750 .L55: 442:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_CtlReceiveStatus(pdev); 751 .loc 1 442 11 is_stmt 1 view .LVU220 442:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_CtlReceiveStatus(pdev); 752 .loc 1 442 17 is_stmt 0 view .LVU221 753 0036 8021 movs r1, #128 754 0038 2046 mov r0, r4 755 003a FFF7FEFF bl USBD_LL_StallEP 756 .LVL70: 443:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 757 .loc 1 443 11 is_stmt 1 view .LVU222 443:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 758 .loc 1 443 17 is_stmt 0 view .LVU223 759 003e 2046 mov r0, r4 760 0040 FFF7FEFF bl USBD_CtlReceiveStatus 761 .LVL71: 762 0044 E6E7 b .L52 763 .LVL72: 764 .L63: 413:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 765 .loc 1 413 9 is_stmt 1 view .LVU224 413:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 766 .loc 1 413 25 is_stmt 0 view .LVU225 767 0046 521A subs r2, r2, r1 768 0048 C261 str r2, [r0, #28] 415:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 769 .loc 1 415 9 is_stmt 1 view .LVU226 415:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 770 .loc 1 415 15 is_stmt 0 view .LVU227 771 004a 1946 mov r1, r3 772 004c FFF7FEFF bl USBD_CtlContinueSendData 773 .LVL73: 418:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 774 .loc 1 418 9 is_stmt 1 view .LVU228 418:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 775 .loc 1 418 15 is_stmt 0 view .LVU229 776 0050 0023 movs r3, #0 777 0052 1A46 mov r2, r3 778 0054 1946 mov r1, r3 779 0056 2046 mov r0, r4 ARM GAS /tmp/ccXNKvGT.s page 24 780 0058 FFF7FEFF bl USBD_LL_PrepareReceive 781 .LVL74: 782 005c DAE7 b .L52 783 .LVL75: 784 .L64: 424:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pep->total_length < pdev->ep0_data_len)) 785 .loc 1 424 17 discriminator 1 view .LVU230 786 005e 8369 ldr r3, [r0, #24] 787 .LVL76: 423:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pep->total_length >= pep->maxpacket) && 788 .loc 1 423 49 discriminator 1 view .LVU231 789 0060 9942 cmp r1, r3 790 0062 E3D8 bhi .L54 425:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 791 .loc 1 425 38 view .LVU232 792 0064 D0F89822 ldr r2, [r0, #664] 424:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pep->total_length < pdev->ep0_data_len)) 793 .loc 1 424 51 view .LVU233 794 0068 9342 cmp r3, r2 795 006a DFD2 bcs .L54 427:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep0_data_len = 0U; 796 .loc 1 427 11 is_stmt 1 view .LVU234 427:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep0_data_len = 0U; 797 .loc 1 427 17 is_stmt 0 view .LVU235 798 006c 0022 movs r2, #0 799 006e 1146 mov r1, r2 800 0070 FFF7FEFF bl USBD_CtlContinueSendData 801 .LVL77: 428:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 802 .loc 1 428 11 is_stmt 1 view .LVU236 428:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 803 .loc 1 428 30 is_stmt 0 view .LVU237 804 0074 0021 movs r1, #0 805 0076 C4F89812 str r1, [r4, #664] 431:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 806 .loc 1 431 11 is_stmt 1 view .LVU238 431:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 807 .loc 1 431 17 is_stmt 0 view .LVU239 808 007a 0B46 mov r3, r1 809 007c 0A46 mov r2, r1 810 007e 2046 mov r0, r4 811 0080 FFF7FEFF bl USBD_LL_PrepareReceive 812 .LVL78: 431:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 813 .loc 1 431 11 view .LVU240 814 0084 C6E7 b .L52 815 .LVL79: 816 .L65: 437:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 817 .loc 1 437 13 is_stmt 1 view .LVU241 437:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 818 .loc 1 437 21 is_stmt 0 view .LVU242 819 0086 D4F8B832 ldr r3, [r4, #696] 437:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 820 .loc 1 437 29 view .LVU243 821 008a DB68 ldr r3, [r3, #12] 437:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { ARM GAS /tmp/ccXNKvGT.s page 25 822 .loc 1 437 16 view .LVU244 823 008c 002B cmp r3, #0 824 008e D2D0 beq .L55 439:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 825 .loc 1 439 15 is_stmt 1 view .LVU245 826 0090 2046 mov r0, r4 827 .LVL80: 439:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 828 .loc 1 439 15 is_stmt 0 view .LVU246 829 0092 9847 blx r3 830 .LVL81: 831 0094 CFE7 b .L55 832 .L62: 460:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_test_mode = 0U; 833 .loc 1 460 7 is_stmt 1 view .LVU247 461:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 834 .loc 1 461 7 view .LVU248 461:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 835 .loc 1 461 27 is_stmt 0 view .LVU249 836 0096 0023 movs r3, #0 837 0098 84F8A032 strb r3, [r4, #672] 480:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 838 .loc 1 480 10 view .LVU250 839 009c 2846 mov r0, r5 840 009e BEE7 b .L56 841 .LVL82: 842 .L51: 466:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 843 .loc 1 466 5 is_stmt 1 view .LVU251 466:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 844 .loc 1 466 13 is_stmt 0 view .LVU252 845 00a0 90F89C32 ldrb r3, [r0, #668] @ zero_extendqisi2 846 00a4 DBB2 uxtb r3, r3 466:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 847 .loc 1 466 8 view .LVU253 848 00a6 032B cmp r3, #3 849 00a8 01D0 beq .L66 480:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 850 .loc 1 480 10 view .LVU254 851 00aa 0020 movs r0, #0 852 .LVL83: 480:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 853 .loc 1 480 10 view .LVU255 854 00ac B7E7 b .L56 855 .LVL84: 856 .L66: 468:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 857 .loc 1 468 7 is_stmt 1 view .LVU256 468:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 858 .loc 1 468 15 is_stmt 0 view .LVU257 859 00ae D0F8B832 ldr r3, [r0, #696] 468:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 860 .loc 1 468 23 view .LVU258 861 00b2 5B69 ldr r3, [r3, #20] 468:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 862 .loc 1 468 10 view .LVU259 863 00b4 0BB1 cbz r3, .L59 ARM GAS /tmp/ccXNKvGT.s page 26 470:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 864 .loc 1 470 9 is_stmt 1 view .LVU260 470:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 865 .loc 1 470 35 is_stmt 0 view .LVU261 866 00b6 9847 blx r3 867 .LVL85: 472:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 868 .loc 1 472 9 is_stmt 1 view .LVU262 869 00b8 B1E7 b .L56 870 .LVL86: 871 .L59: 480:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 872 .loc 1 480 10 is_stmt 0 view .LVU263 873 00ba 0020 movs r0, #0 874 .LVL87: 480:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 875 .loc 1 480 10 view .LVU264 876 00bc AFE7 b .L56 877 .cfi_endproc 878 .LFE343: 880 .section .text.USBD_LL_Reset,"ax",%progbits 881 .align 1 882 .global USBD_LL_Reset 883 .syntax unified 884 .thumb 885 .thumb_func 887 USBD_LL_Reset: 888 .LVL88: 889 .LFB344: 482:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 483:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 484:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_LL_Reset 485:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle Reset event 486:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 487:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status 488:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 489:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 490:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_Reset(USBD_HandleTypeDef *pdev) 491:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 890 .loc 1 491 1 is_stmt 1 view -0 891 .cfi_startproc 892 @ args = 0, pretend = 0, frame = 0 893 @ frame_needed = 0, uses_anonymous_args = 0 492:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Upon Reset call user call back */ 493:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_state = USBD_STATE_DEFAULT; 894 .loc 1 493 3 view .LVU266 895 .loc 1 493 19 is_stmt 0 view .LVU267 896 0000 0123 movs r3, #1 897 0002 80F89C32 strb r3, [r0, #668] 494:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep0_state = USBD_EP0_IDLE; 898 .loc 1 494 3 is_stmt 1 view .LVU268 899 .loc 1 494 19 is_stmt 0 view .LVU269 900 0006 0023 movs r3, #0 901 0008 C0F89432 str r3, [r0, #660] 495:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_config = 0U; 902 .loc 1 495 3 is_stmt 1 view .LVU270 903 .loc 1 495 20 is_stmt 0 view .LVU271 ARM GAS /tmp/ccXNKvGT.s page 27 904 000c 4360 str r3, [r0, #4] 496:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_remote_wakeup = 0U; 905 .loc 1 496 3 is_stmt 1 view .LVU272 906 .loc 1 496 27 is_stmt 0 view .LVU273 907 000e C0F8A432 str r3, [r0, #676] 497:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 498:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass == NULL) 908 .loc 1 498 3 is_stmt 1 view .LVU274 909 .loc 1 498 11 is_stmt 0 view .LVU275 910 0012 D0F8B832 ldr r3, [r0, #696] 911 .loc 1 498 6 view .LVU276 912 0016 F3B1 cbz r3, .L70 491:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Upon Reset call user call back */ 913 .loc 1 491 1 view .LVU277 914 0018 70B5 push {r4, r5, r6, lr} 915 .LCFI14: 916 .cfi_def_cfa_offset 16 917 .cfi_offset 4, -16 918 .cfi_offset 5, -12 919 .cfi_offset 6, -8 920 .cfi_offset 14, -4 921 001a 0446 mov r4, r0 499:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 500:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_FAIL; 501:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 502:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 503:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClassData != NULL) 922 .loc 1 503 3 is_stmt 1 view .LVU278 923 .loc 1 503 11 is_stmt 0 view .LVU279 924 001c D0F8BC22 ldr r2, [r0, #700] 925 .loc 1 503 6 view .LVU280 926 0020 1AB1 cbz r2, .L69 504:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 505:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass->DeInit != NULL) 927 .loc 1 505 5 is_stmt 1 view .LVU281 928 .loc 1 505 21 is_stmt 0 view .LVU282 929 0022 5B68 ldr r3, [r3, #4] 930 .loc 1 505 8 view .LVU283 931 0024 0BB1 cbz r3, .L69 506:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 507:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)pdev->pClass->DeInit(pdev, (uint8_t)pdev->dev_config); 932 .loc 1 507 7 is_stmt 1 view .LVU284 933 .loc 1 507 13 is_stmt 0 view .LVU285 934 0026 0021 movs r1, #0 935 0028 9847 blx r3 936 .LVL89: 937 .L69: 508:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 509:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 510:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 511:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Open EP0 OUT */ 512:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_LL_OpenEP(pdev, 0x00U, USBD_EP_TYPE_CTRL, USB_MAX_EP0_SIZE); 938 .loc 1 512 3 is_stmt 1 view .LVU286 939 .loc 1 512 9 is_stmt 0 view .LVU287 940 002a 4023 movs r3, #64 941 002c 0022 movs r2, #0 942 002e 1146 mov r1, r2 ARM GAS /tmp/ccXNKvGT.s page 28 943 0030 2046 mov r0, r4 944 0032 FFF7FEFF bl USBD_LL_OpenEP 945 .LVL90: 513:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep_out[0x00U & 0xFU].is_used = 1U; 946 .loc 1 513 3 is_stmt 1 view .LVU288 947 .loc 1 513 38 is_stmt 0 view .LVU289 948 0036 0126 movs r6, #1 949 0038 A4F86461 strh r6, [r4, #356] @ movhi 514:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 515:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep_out[0].maxpacket = USB_MAX_EP0_SIZE; 950 .loc 1 515 3 is_stmt 1 view .LVU290 951 .loc 1 515 29 is_stmt 0 view .LVU291 952 003c 4025 movs r5, #64 953 003e C4F86051 str r5, [r4, #352] 516:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 517:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Open EP0 IN */ 518:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_LL_OpenEP(pdev, 0x80U, USBD_EP_TYPE_CTRL, USB_MAX_EP0_SIZE); 954 .loc 1 518 3 is_stmt 1 view .LVU292 955 .loc 1 518 9 is_stmt 0 view .LVU293 956 0042 2B46 mov r3, r5 957 0044 0022 movs r2, #0 958 0046 8021 movs r1, #128 959 0048 2046 mov r0, r4 960 004a FFF7FEFF bl USBD_LL_OpenEP 961 .LVL91: 519:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep_in[0x80U & 0xFU].is_used = 1U; 962 .loc 1 519 3 is_stmt 1 view .LVU294 963 .loc 1 519 37 is_stmt 0 view .LVU295 964 004e A684 strh r6, [r4, #36] @ movhi 520:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 521:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep_in[0].maxpacket = USB_MAX_EP0_SIZE; 965 .loc 1 521 3 is_stmt 1 view .LVU296 966 .loc 1 521 28 is_stmt 0 view .LVU297 967 0050 2562 str r5, [r4, #32] 522:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 523:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 968 .loc 1 523 3 is_stmt 1 view .LVU298 969 .loc 1 523 10 is_stmt 0 view .LVU299 970 0052 0020 movs r0, #0 524:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 971 .loc 1 524 1 view .LVU300 972 0054 70BD pop {r4, r5, r6, pc} 973 .LVL92: 974 .L70: 975 .LCFI15: 976 .cfi_def_cfa_offset 0 977 .cfi_restore 4 978 .cfi_restore 5 979 .cfi_restore 6 980 .cfi_restore 14 500:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 981 .loc 1 500 12 view .LVU301 982 0056 0320 movs r0, #3 983 .LVL93: 984 .loc 1 524 1 view .LVU302 985 0058 7047 bx lr 986 .cfi_endproc ARM GAS /tmp/ccXNKvGT.s page 29 987 .LFE344: 989 .section .text.USBD_LL_SetSpeed,"ax",%progbits 990 .align 1 991 .global USBD_LL_SetSpeed 992 .syntax unified 993 .thumb 994 .thumb_func 996 USBD_LL_SetSpeed: 997 .LVL94: 998 .LFB345: 525:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 526:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 527:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_LL_SetSpeed 528:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle Reset event 529:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 530:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status 531:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 532:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_SetSpeed(USBD_HandleTypeDef *pdev, 533:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_SpeedTypeDef speed) 534:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 999 .loc 1 534 1 is_stmt 1 view -0 1000 .cfi_startproc 1001 @ args = 0, pretend = 0, frame = 0 1002 @ frame_needed = 0, uses_anonymous_args = 0 1003 @ link register save eliminated. 535:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_speed = speed; 1004 .loc 1 535 3 view .LVU304 1005 .loc 1 535 19 is_stmt 0 view .LVU305 1006 0000 0174 strb r1, [r0, #16] 536:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 537:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 1007 .loc 1 537 3 is_stmt 1 view .LVU306 538:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1008 .loc 1 538 1 is_stmt 0 view .LVU307 1009 0002 0020 movs r0, #0 1010 .LVL95: 1011 .loc 1 538 1 view .LVU308 1012 0004 7047 bx lr 1013 .cfi_endproc 1014 .LFE345: 1016 .section .text.USBD_LL_Suspend,"ax",%progbits 1017 .align 1 1018 .global USBD_LL_Suspend 1019 .syntax unified 1020 .thumb 1021 .thumb_func 1023 USBD_LL_Suspend: 1024 .LVL96: 1025 .LFB346: 539:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 540:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 541:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_LL_Suspend 542:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle Suspend event 543:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 544:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status 545:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 546:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ARM GAS /tmp/ccXNKvGT.s page 30 547:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_Suspend(USBD_HandleTypeDef *pdev) 548:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 1026 .loc 1 548 1 is_stmt 1 view -0 1027 .cfi_startproc 1028 @ args = 0, pretend = 0, frame = 0 1029 @ frame_needed = 0, uses_anonymous_args = 0 1030 @ link register save eliminated. 549:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_old_state = pdev->dev_state; 1031 .loc 1 549 3 view .LVU310 1032 .loc 1 549 29 is_stmt 0 view .LVU311 1033 0000 90F89C32 ldrb r3, [r0, #668] @ zero_extendqisi2 1034 0004 DBB2 uxtb r3, r3 1035 .loc 1 549 23 view .LVU312 1036 0006 80F89D32 strb r3, [r0, #669] 550:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_state = USBD_STATE_SUSPENDED; 1037 .loc 1 550 3 is_stmt 1 view .LVU313 1038 .loc 1 550 19 is_stmt 0 view .LVU314 1039 000a 0423 movs r3, #4 1040 000c 80F89C32 strb r3, [r0, #668] 551:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 552:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 1041 .loc 1 552 3 is_stmt 1 view .LVU315 553:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1042 .loc 1 553 1 is_stmt 0 view .LVU316 1043 0010 0020 movs r0, #0 1044 .LVL97: 1045 .loc 1 553 1 view .LVU317 1046 0012 7047 bx lr 1047 .cfi_endproc 1048 .LFE346: 1050 .section .text.USBD_LL_Resume,"ax",%progbits 1051 .align 1 1052 .global USBD_LL_Resume 1053 .syntax unified 1054 .thumb 1055 .thumb_func 1057 USBD_LL_Resume: 1058 .LVL98: 1059 .LFB347: 554:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 555:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 556:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_LL_Resume 557:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle Resume event 558:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 559:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status 560:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 561:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 562:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_Resume(USBD_HandleTypeDef *pdev) 563:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 1060 .loc 1 563 1 is_stmt 1 view -0 1061 .cfi_startproc 1062 @ args = 0, pretend = 0, frame = 0 1063 @ frame_needed = 0, uses_anonymous_args = 0 1064 @ link register save eliminated. 564:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->dev_state == USBD_STATE_SUSPENDED) 1065 .loc 1 564 3 view .LVU319 1066 .loc 1 564 11 is_stmt 0 view .LVU320 ARM GAS /tmp/ccXNKvGT.s page 31 1067 0000 90F89C32 ldrb r3, [r0, #668] @ zero_extendqisi2 1068 0004 DBB2 uxtb r3, r3 1069 .loc 1 564 6 view .LVU321 1070 0006 042B cmp r3, #4 1071 0008 01D0 beq .L79 1072 .L78: 565:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 566:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_state = pdev->dev_old_state; 567:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 568:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 569:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 1073 .loc 1 569 3 is_stmt 1 view .LVU322 570:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1074 .loc 1 570 1 is_stmt 0 view .LVU323 1075 000a 0020 movs r0, #0 1076 .LVL99: 1077 .loc 1 570 1 view .LVU324 1078 000c 7047 bx lr 1079 .LVL100: 1080 .L79: 566:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1081 .loc 1 566 5 is_stmt 1 view .LVU325 566:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1082 .loc 1 566 27 is_stmt 0 view .LVU326 1083 000e 90F89D32 ldrb r3, [r0, #669] @ zero_extendqisi2 1084 0012 DBB2 uxtb r3, r3 566:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1085 .loc 1 566 21 view .LVU327 1086 0014 80F89C32 strb r3, [r0, #668] 1087 0018 F7E7 b .L78 1088 .cfi_endproc 1089 .LFE347: 1091 .section .text.USBD_LL_SOF,"ax",%progbits 1092 .align 1 1093 .global USBD_LL_SOF 1094 .syntax unified 1095 .thumb 1096 .thumb_func 1098 USBD_LL_SOF: 1099 .LVL101: 1100 .LFB348: 571:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 572:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 573:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_LL_SOF 574:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle SOF event 575:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 576:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status 577:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 578:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 579:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_SOF(USBD_HandleTypeDef *pdev) 580:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 1101 .loc 1 580 1 is_stmt 1 view -0 1102 .cfi_startproc 1103 @ args = 0, pretend = 0, frame = 0 1104 @ frame_needed = 0, uses_anonymous_args = 0 581:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass == NULL) 1105 .loc 1 581 3 view .LVU329 ARM GAS /tmp/ccXNKvGT.s page 32 1106 .loc 1 581 11 is_stmt 0 view .LVU330 1107 0000 D0F8B822 ldr r2, [r0, #696] 1108 .loc 1 581 6 view .LVU331 1109 0004 62B1 cbz r2, .L82 580:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass == NULL) 1110 .loc 1 580 1 view .LVU332 1111 0006 08B5 push {r3, lr} 1112 .LCFI16: 1113 .cfi_def_cfa_offset 8 1114 .cfi_offset 3, -8 1115 .cfi_offset 14, -4 582:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 583:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_FAIL; 584:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 585:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 586:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->dev_state == USBD_STATE_CONFIGURED) 1116 .loc 1 586 3 is_stmt 1 view .LVU333 1117 .loc 1 586 11 is_stmt 0 view .LVU334 1118 0008 90F89C32 ldrb r3, [r0, #668] @ zero_extendqisi2 1119 000c DBB2 uxtb r3, r3 1120 .loc 1 586 6 view .LVU335 1121 000e 032B cmp r3, #3 1122 0010 01D0 beq .L89 587:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 588:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass->SOF != NULL) 589:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 590:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)pdev->pClass->SOF(pdev); 591:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 592:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 593:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 594:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 1123 .loc 1 594 10 view .LVU336 1124 0012 0020 movs r0, #0 1125 .LVL102: 1126 .L81: 595:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1127 .loc 1 595 1 view .LVU337 1128 0014 08BD pop {r3, pc} 1129 .LVL103: 1130 .L89: 588:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 1131 .loc 1 588 5 is_stmt 1 view .LVU338 588:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 1132 .loc 1 588 21 is_stmt 0 view .LVU339 1133 0016 D369 ldr r3, [r2, #28] 588:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 1134 .loc 1 588 8 view .LVU340 1135 0018 23B1 cbz r3, .L84 590:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1136 .loc 1 590 7 is_stmt 1 view .LVU341 590:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1137 .loc 1 590 13 is_stmt 0 view .LVU342 1138 001a 9847 blx r3 1139 .LVL104: 594:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1140 .loc 1 594 10 view .LVU343 1141 001c 0020 movs r0, #0 ARM GAS /tmp/ccXNKvGT.s page 33 1142 001e F9E7 b .L81 1143 .LVL105: 1144 .L82: 1145 .LCFI17: 1146 .cfi_def_cfa_offset 0 1147 .cfi_restore 3 1148 .cfi_restore 14 583:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1149 .loc 1 583 12 view .LVU344 1150 0020 0320 movs r0, #3 1151 .LVL106: 1152 .loc 1 595 1 view .LVU345 1153 0022 7047 bx lr 1154 .LVL107: 1155 .L84: 1156 .LCFI18: 1157 .cfi_def_cfa_offset 8 1158 .cfi_offset 3, -8 1159 .cfi_offset 14, -4 594:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1160 .loc 1 594 10 view .LVU346 1161 0024 0020 movs r0, #0 1162 .LVL108: 594:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1163 .loc 1 594 10 view .LVU347 1164 0026 F5E7 b .L81 1165 .cfi_endproc 1166 .LFE348: 1168 .section .text.USBD_LL_IsoINIncomplete,"ax",%progbits 1169 .align 1 1170 .global USBD_LL_IsoINIncomplete 1171 .syntax unified 1172 .thumb 1173 .thumb_func 1175 USBD_LL_IsoINIncomplete: 1176 .LVL109: 1177 .LFB349: 596:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 597:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 598:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_LL_IsoINIncomplete 599:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle iso in incomplete event 600:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 601:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status 602:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 603:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_IsoINIncomplete(USBD_HandleTypeDef *pdev, 604:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** uint8_t epnum) 605:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 1178 .loc 1 605 1 is_stmt 1 view -0 1179 .cfi_startproc 1180 @ args = 0, pretend = 0, frame = 0 1181 @ frame_needed = 0, uses_anonymous_args = 0 606:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass == NULL) 1182 .loc 1 606 3 view .LVU349 1183 .loc 1 606 11 is_stmt 0 view .LVU350 1184 0000 D0F8B822 ldr r2, [r0, #696] 1185 .loc 1 606 6 view .LVU351 1186 0004 62B1 cbz r2, .L92 ARM GAS /tmp/ccXNKvGT.s page 34 605:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass == NULL) 1187 .loc 1 605 1 view .LVU352 1188 0006 08B5 push {r3, lr} 1189 .LCFI19: 1190 .cfi_def_cfa_offset 8 1191 .cfi_offset 3, -8 1192 .cfi_offset 14, -4 607:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 608:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_FAIL; 609:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 610:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 611:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->dev_state == USBD_STATE_CONFIGURED) 1193 .loc 1 611 3 is_stmt 1 view .LVU353 1194 .loc 1 611 11 is_stmt 0 view .LVU354 1195 0008 90F89C32 ldrb r3, [r0, #668] @ zero_extendqisi2 1196 000c DBB2 uxtb r3, r3 1197 .loc 1 611 6 view .LVU355 1198 000e 032B cmp r3, #3 1199 0010 01D0 beq .L99 612:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 613:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass->IsoINIncomplete != NULL) 614:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 615:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)pdev->pClass->IsoINIncomplete(pdev, epnum); 616:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 617:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 618:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 619:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 1200 .loc 1 619 10 view .LVU356 1201 0012 0020 movs r0, #0 1202 .LVL110: 1203 .L91: 620:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1204 .loc 1 620 1 view .LVU357 1205 0014 08BD pop {r3, pc} 1206 .LVL111: 1207 .L99: 613:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 1208 .loc 1 613 5 is_stmt 1 view .LVU358 613:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 1209 .loc 1 613 21 is_stmt 0 view .LVU359 1210 0016 136A ldr r3, [r2, #32] 613:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 1211 .loc 1 613 8 view .LVU360 1212 0018 23B1 cbz r3, .L94 615:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1213 .loc 1 615 7 is_stmt 1 view .LVU361 615:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1214 .loc 1 615 13 is_stmt 0 view .LVU362 1215 001a 9847 blx r3 1216 .LVL112: 619:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1217 .loc 1 619 10 view .LVU363 1218 001c 0020 movs r0, #0 1219 001e F9E7 b .L91 1220 .LVL113: 1221 .L92: 1222 .LCFI20: ARM GAS /tmp/ccXNKvGT.s page 35 1223 .cfi_def_cfa_offset 0 1224 .cfi_restore 3 1225 .cfi_restore 14 608:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1226 .loc 1 608 12 view .LVU364 1227 0020 0320 movs r0, #3 1228 .LVL114: 1229 .loc 1 620 1 view .LVU365 1230 0022 7047 bx lr 1231 .LVL115: 1232 .L94: 1233 .LCFI21: 1234 .cfi_def_cfa_offset 8 1235 .cfi_offset 3, -8 1236 .cfi_offset 14, -4 619:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1237 .loc 1 619 10 view .LVU366 1238 0024 0020 movs r0, #0 1239 .LVL116: 619:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1240 .loc 1 619 10 view .LVU367 1241 0026 F5E7 b .L91 1242 .cfi_endproc 1243 .LFE349: 1245 .section .text.USBD_LL_IsoOUTIncomplete,"ax",%progbits 1246 .align 1 1247 .global USBD_LL_IsoOUTIncomplete 1248 .syntax unified 1249 .thumb 1250 .thumb_func 1252 USBD_LL_IsoOUTIncomplete: 1253 .LVL117: 1254 .LFB350: 621:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 622:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 623:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_LL_IsoOUTIncomplete 624:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle iso out incomplete event 625:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 626:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status 627:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 628:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_IsoOUTIncomplete(USBD_HandleTypeDef *pdev, 629:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** uint8_t epnum) 630:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 1255 .loc 1 630 1 is_stmt 1 view -0 1256 .cfi_startproc 1257 @ args = 0, pretend = 0, frame = 0 1258 @ frame_needed = 0, uses_anonymous_args = 0 631:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass == NULL) 1259 .loc 1 631 3 view .LVU369 1260 .loc 1 631 11 is_stmt 0 view .LVU370 1261 0000 D0F8B822 ldr r2, [r0, #696] 1262 .loc 1 631 6 view .LVU371 1263 0004 62B1 cbz r2, .L102 630:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass == NULL) 1264 .loc 1 630 1 view .LVU372 1265 0006 08B5 push {r3, lr} 1266 .LCFI22: ARM GAS /tmp/ccXNKvGT.s page 36 1267 .cfi_def_cfa_offset 8 1268 .cfi_offset 3, -8 1269 .cfi_offset 14, -4 632:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 633:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_FAIL; 634:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 635:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 636:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->dev_state == USBD_STATE_CONFIGURED) 1270 .loc 1 636 3 is_stmt 1 view .LVU373 1271 .loc 1 636 11 is_stmt 0 view .LVU374 1272 0008 90F89C32 ldrb r3, [r0, #668] @ zero_extendqisi2 1273 000c DBB2 uxtb r3, r3 1274 .loc 1 636 6 view .LVU375 1275 000e 032B cmp r3, #3 1276 0010 01D0 beq .L109 637:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 638:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass->IsoOUTIncomplete != NULL) 639:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 640:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)pdev->pClass->IsoOUTIncomplete(pdev, epnum); 641:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 642:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 643:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 644:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 1277 .loc 1 644 10 view .LVU376 1278 0012 0020 movs r0, #0 1279 .LVL118: 1280 .L101: 645:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1281 .loc 1 645 1 view .LVU377 1282 0014 08BD pop {r3, pc} 1283 .LVL119: 1284 .L109: 638:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 1285 .loc 1 638 5 is_stmt 1 view .LVU378 638:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 1286 .loc 1 638 21 is_stmt 0 view .LVU379 1287 0016 536A ldr r3, [r2, #36] 638:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 1288 .loc 1 638 8 view .LVU380 1289 0018 23B1 cbz r3, .L104 640:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1290 .loc 1 640 7 is_stmt 1 view .LVU381 640:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1291 .loc 1 640 13 is_stmt 0 view .LVU382 1292 001a 9847 blx r3 1293 .LVL120: 644:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1294 .loc 1 644 10 view .LVU383 1295 001c 0020 movs r0, #0 1296 001e F9E7 b .L101 1297 .LVL121: 1298 .L102: 1299 .LCFI23: 1300 .cfi_def_cfa_offset 0 1301 .cfi_restore 3 1302 .cfi_restore 14 633:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } ARM GAS /tmp/ccXNKvGT.s page 37 1303 .loc 1 633 12 view .LVU384 1304 0020 0320 movs r0, #3 1305 .LVL122: 1306 .loc 1 645 1 view .LVU385 1307 0022 7047 bx lr 1308 .LVL123: 1309 .L104: 1310 .LCFI24: 1311 .cfi_def_cfa_offset 8 1312 .cfi_offset 3, -8 1313 .cfi_offset 14, -4 644:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1314 .loc 1 644 10 view .LVU386 1315 0024 0020 movs r0, #0 1316 .LVL124: 644:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1317 .loc 1 644 10 view .LVU387 1318 0026 F5E7 b .L101 1319 .cfi_endproc 1320 .LFE350: 1322 .section .text.USBD_LL_DevConnected,"ax",%progbits 1323 .align 1 1324 .global USBD_LL_DevConnected 1325 .syntax unified 1326 .thumb 1327 .thumb_func 1329 USBD_LL_DevConnected: 1330 .LVL125: 1331 .LFB351: 646:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 647:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 648:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_LL_DevConnected 649:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle device connection event 650:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 651:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status 652:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 653:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_DevConnected(USBD_HandleTypeDef *pdev) 654:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 1332 .loc 1 654 1 is_stmt 1 view -0 1333 .cfi_startproc 1334 @ args = 0, pretend = 0, frame = 0 1335 @ frame_needed = 0, uses_anonymous_args = 0 1336 @ link register save eliminated. 655:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Prevent unused argument compilation warning */ 656:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** UNUSED(pdev); 1337 .loc 1 656 3 view .LVU389 657:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 658:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 1338 .loc 1 658 3 view .LVU390 659:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1339 .loc 1 659 1 is_stmt 0 view .LVU391 1340 0000 0020 movs r0, #0 1341 .LVL126: 1342 .loc 1 659 1 view .LVU392 1343 0002 7047 bx lr 1344 .cfi_endproc 1345 .LFE351: ARM GAS /tmp/ccXNKvGT.s page 38 1347 .section .text.USBD_LL_DevDisconnected,"ax",%progbits 1348 .align 1 1349 .global USBD_LL_DevDisconnected 1350 .syntax unified 1351 .thumb 1352 .thumb_func 1354 USBD_LL_DevDisconnected: 1355 .LVL127: 1356 .LFB352: 660:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 661:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 662:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_LL_DevDisconnected 663:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle device disconnection event 664:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 665:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status 666:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 667:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_DevDisconnected(USBD_HandleTypeDef *pdev) 668:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 1357 .loc 1 668 1 is_stmt 1 view -0 1358 .cfi_startproc 1359 @ args = 0, pretend = 0, frame = 0 1360 @ frame_needed = 0, uses_anonymous_args = 0 1361 .loc 1 668 1 is_stmt 0 view .LVU394 1362 0000 08B5 push {r3, lr} 1363 .LCFI25: 1364 .cfi_def_cfa_offset 8 1365 .cfi_offset 3, -8 1366 .cfi_offset 14, -4 669:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Free Class Resources */ 670:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_state = USBD_STATE_DEFAULT; 1367 .loc 1 670 3 is_stmt 1 view .LVU395 1368 .loc 1 670 19 is_stmt 0 view .LVU396 1369 0002 0123 movs r3, #1 1370 0004 80F89C32 strb r3, [r0, #668] 671:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 672:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass != NULL) 1371 .loc 1 672 3 is_stmt 1 view .LVU397 1372 .loc 1 672 11 is_stmt 0 view .LVU398 1373 0008 D0F8B832 ldr r3, [r0, #696] 1374 .loc 1 672 6 view .LVU399 1375 000c 13B1 cbz r3, .L112 673:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 674:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)pdev->pClass->DeInit(pdev, (uint8_t)pdev->dev_config); 1376 .loc 1 674 5 is_stmt 1 view .LVU400 1377 .loc 1 674 23 is_stmt 0 view .LVU401 1378 000e 5B68 ldr r3, [r3, #4] 1379 .loc 1 674 11 view .LVU402 1380 0010 0179 ldrb r1, [r0, #4] @ zero_extendqisi2 1381 0012 9847 blx r3 1382 .LVL128: 1383 .L112: 675:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 676:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 677:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 1384 .loc 1 677 3 is_stmt 1 view .LVU403 678:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1385 .loc 1 678 1 is_stmt 0 view .LVU404 ARM GAS /tmp/ccXNKvGT.s page 39 1386 0014 0020 movs r0, #0 1387 0016 08BD pop {r3, pc} 1388 .cfi_endproc 1389 .LFE352: 1391 .text 1392 .Letext0: 1393 .file 2 "/usr/include/newlib/machine/_default_types.h" 1394 .file 3 "/usr/include/newlib/sys/_stdint.h" 1395 .file 4 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h" 1396 .file 5 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h" 1397 .file 6 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h" 1398 .file 7 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h" ARM GAS /tmp/ccXNKvGT.s page 40 DEFINED SYMBOLS *ABS*:00000000 usbd_core.c /tmp/ccXNKvGT.s:21 .text.USBD_Init:00000000 $t /tmp/ccXNKvGT.s:27 .text.USBD_Init:00000000 USBD_Init /tmp/ccXNKvGT.s:96 .text.USBD_DeInit:00000000 $t /tmp/ccXNKvGT.s:102 .text.USBD_DeInit:00000000 USBD_DeInit /tmp/ccXNKvGT.s:166 .text.USBD_RegisterClass:00000000 $t /tmp/ccXNKvGT.s:172 .text.USBD_RegisterClass:00000000 USBD_RegisterClass /tmp/ccXNKvGT.s:244 .text.USBD_Start:00000000 $t /tmp/ccXNKvGT.s:250 .text.USBD_Start:00000000 USBD_Start /tmp/ccXNKvGT.s:273 .text.USBD_Stop:00000000 $t /tmp/ccXNKvGT.s:279 .text.USBD_Stop:00000000 USBD_Stop /tmp/ccXNKvGT.s:320 .text.USBD_RunTestMode:00000000 $t /tmp/ccXNKvGT.s:326 .text.USBD_RunTestMode:00000000 USBD_RunTestMode /tmp/ccXNKvGT.s:345 .text.USBD_SetClassConfig:00000000 $t /tmp/ccXNKvGT.s:351 .text.USBD_SetClassConfig:00000000 USBD_SetClassConfig /tmp/ccXNKvGT.s:392 .text.USBD_ClrClassConfig:00000000 $t /tmp/ccXNKvGT.s:398 .text.USBD_ClrClassConfig:00000000 USBD_ClrClassConfig /tmp/ccXNKvGT.s:431 .text.USBD_LL_SetupStage:00000000 $t /tmp/ccXNKvGT.s:437 .text.USBD_LL_SetupStage:00000000 USBD_LL_SetupStage /tmp/ccXNKvGT.s:525 .text.USBD_LL_DataOutStage:00000000 $t /tmp/ccXNKvGT.s:531 .text.USBD_LL_DataOutStage:00000000 USBD_LL_DataOutStage /tmp/ccXNKvGT.s:671 .text.USBD_LL_DataInStage:00000000 $t /tmp/ccXNKvGT.s:677 .text.USBD_LL_DataInStage:00000000 USBD_LL_DataInStage /tmp/ccXNKvGT.s:881 .text.USBD_LL_Reset:00000000 $t /tmp/ccXNKvGT.s:887 .text.USBD_LL_Reset:00000000 USBD_LL_Reset /tmp/ccXNKvGT.s:990 .text.USBD_LL_SetSpeed:00000000 $t /tmp/ccXNKvGT.s:996 .text.USBD_LL_SetSpeed:00000000 USBD_LL_SetSpeed /tmp/ccXNKvGT.s:1017 .text.USBD_LL_Suspend:00000000 $t /tmp/ccXNKvGT.s:1023 .text.USBD_LL_Suspend:00000000 USBD_LL_Suspend /tmp/ccXNKvGT.s:1051 .text.USBD_LL_Resume:00000000 $t /tmp/ccXNKvGT.s:1057 .text.USBD_LL_Resume:00000000 USBD_LL_Resume /tmp/ccXNKvGT.s:1092 .text.USBD_LL_SOF:00000000 $t /tmp/ccXNKvGT.s:1098 .text.USBD_LL_SOF:00000000 USBD_LL_SOF /tmp/ccXNKvGT.s:1169 .text.USBD_LL_IsoINIncomplete:00000000 $t /tmp/ccXNKvGT.s:1175 .text.USBD_LL_IsoINIncomplete:00000000 USBD_LL_IsoINIncomplete /tmp/ccXNKvGT.s:1246 .text.USBD_LL_IsoOUTIncomplete:00000000 $t /tmp/ccXNKvGT.s:1252 .text.USBD_LL_IsoOUTIncomplete:00000000 USBD_LL_IsoOUTIncomplete /tmp/ccXNKvGT.s:1323 .text.USBD_LL_DevConnected:00000000 $t /tmp/ccXNKvGT.s:1329 .text.USBD_LL_DevConnected:00000000 USBD_LL_DevConnected /tmp/ccXNKvGT.s:1348 .text.USBD_LL_DevDisconnected:00000000 $t /tmp/ccXNKvGT.s:1354 .text.USBD_LL_DevDisconnected:00000000 USBD_LL_DevDisconnected UNDEFINED SYMBOLS USBD_LL_Init USBD_LL_Stop USBD_LL_DeInit USBD_LL_Start USBD_ParseSetupRequest USBD_LL_StallEP USBD_StdDevReq USBD_StdItfReq USBD_StdEPReq USBD_CtlSendStatus USBD_CtlContinueRx USBD_CtlReceiveStatus USBD_CtlContinueSendData ARM GAS /tmp/ccXNKvGT.s page 41 USBD_LL_PrepareReceive USBD_LL_OpenEP