ARM GAS /tmp/cc7t8dPw.s page 1 1 .cpu cortex-m3 2 .arch armv7-m 3 .fpu softvfp 4 .eabi_attribute 20, 1 5 .eabi_attribute 21, 1 6 .eabi_attribute 23, 3 7 .eabi_attribute 24, 1 8 .eabi_attribute 25, 1 9 .eabi_attribute 26, 1 10 .eabi_attribute 30, 1 11 .eabi_attribute 34, 1 12 .eabi_attribute 18, 4 13 .file "usbd_core.c" 14 .text 15 .Ltext0: 16 .cfi_sections .debug_frame 17 .section .text.USBD_Init,"ax",%progbits 18 .align 1 19 .global USBD_Init 20 .syntax unified 21 .thumb 22 .thumb_func 24 USBD_Init: 25 .LVL0: 26 .LFB655: 27 .file 1 "Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c" 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 30:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @{ 31:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ ARM GAS /tmp/cc7t8dPw.s page 2 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 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 **** */ ARM GAS /tmp/cc7t8dPw.s page 3 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 **** { 28 .loc 1 91 1 view -0 29 .cfi_startproc 30 @ args = 0, pretend = 0, frame = 0 31 @ frame_needed = 0, uses_anonymous_args = 0 92:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Check whether the USB Host handle is valid */ 93:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev == NULL) 32 .loc 1 93 3 view .LVU1 33 .loc 1 93 6 is_stmt 0 view .LVU2 34 0000 98B1 cbz r0, .L5 91:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Check whether the USB Host handle is valid */ 35 .loc 1 91 1 view .LVU3 36 0002 08B5 push {r3, lr} 37 .LCFI0: 38 .cfi_def_cfa_offset 8 39 .cfi_offset 3, -8 40 .cfi_offset 14, -4 41 0004 0346 mov r3, r0 94:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 95:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #if (USBD_DEBUG_LEVEL > 1U) 96:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_ErrLog("Invalid Device handle"); 97:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif 98:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_FAIL; 99:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 100:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 101:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Unlink previous class*/ 102:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass != NULL) 42 .loc 1 102 3 is_stmt 1 view .LVU4 43 .loc 1 102 11 is_stmt 0 view .LVU5 44 0006 D0F8B402 ldr r0, [r0, #692] 45 .LVL1: 46 .loc 1 102 6 view .LVU6 47 000a 10B1 cbz r0, .L3 103:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 104:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass = NULL; 48 .loc 1 104 5 is_stmt 1 view .LVU7 49 .loc 1 104 18 is_stmt 0 view .LVU8 50 000c 0020 movs r0, #0 51 000e C3F8B402 str r0, [r3, #692] 52 .L3: 105:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 106:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 107:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Assign USBD Descriptors */ 108:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdesc != NULL) 53 .loc 1 108 3 is_stmt 1 view .LVU9 54 .loc 1 108 6 is_stmt 0 view .LVU10 55 0012 09B1 cbz r1, .L4 109:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 110:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pDesc = pdesc; 56 .loc 1 110 5 is_stmt 1 view .LVU11 57 .loc 1 110 17 is_stmt 0 view .LVU12 58 0014 C3F8B012 str r1, [r3, #688] 59 .L4: 111:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 112:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ARM GAS /tmp/cc7t8dPw.s page 4 113:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Set Device initial State */ 114:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_state = USBD_STATE_DEFAULT; 60 .loc 1 114 3 is_stmt 1 view .LVU13 61 .loc 1 114 19 is_stmt 0 view .LVU14 62 0018 0121 movs r1, #1 63 .LVL2: 64 .loc 1 114 19 view .LVU15 65 001a 83F89C12 strb r1, [r3, #668] 115:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->id = id; 66 .loc 1 115 3 is_stmt 1 view .LVU16 67 .loc 1 115 12 is_stmt 0 view .LVU17 68 001e 1A70 strb r2, [r3] 116:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Initialize low level driver */ 117:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_Init(pdev); 69 .loc 1 117 3 is_stmt 1 view .LVU18 70 0020 1846 mov r0, r3 71 0022 FFF7FEFF bl USBD_LL_Init 72 .LVL3: 118:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 119:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 73 .loc 1 119 3 view .LVU19 74 .loc 1 119 10 is_stmt 0 view .LVU20 75 0026 0020 movs r0, #0 120:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 76 .loc 1 120 1 view .LVU21 77 0028 08BD pop {r3, pc} 78 .LVL4: 79 .L5: 80 .LCFI1: 81 .cfi_def_cfa_offset 0 82 .cfi_restore 3 83 .cfi_restore 14 98:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 84 .loc 1 98 12 view .LVU22 85 002a 0220 movs r0, #2 86 .LVL5: 87 .loc 1 120 1 view .LVU23 88 002c 7047 bx lr 89 .cfi_endproc 90 .LFE655: 92 .section .text.USBD_DeInit,"ax",%progbits 93 .align 1 94 .global USBD_DeInit 95 .syntax unified 96 .thumb 97 .thumb_func 99 USBD_DeInit: 100 .LVL6: 101 .LFB656: 121:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 122:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 123:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_DeInit 124:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Re-Initialize th device library 125:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 126:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status: status 127:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 128:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_DeInit(USBD_HandleTypeDef *pdev) ARM GAS /tmp/cc7t8dPw.s page 5 129:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 102 .loc 1 129 1 is_stmt 1 view -0 103 .cfi_startproc 104 @ args = 0, pretend = 0, frame = 0 105 @ frame_needed = 0, uses_anonymous_args = 0 106 .loc 1 129 1 is_stmt 0 view .LVU25 107 0000 10B5 push {r4, lr} 108 .LCFI2: 109 .cfi_def_cfa_offset 8 110 .cfi_offset 4, -8 111 .cfi_offset 14, -4 112 0002 0446 mov r4, r0 130:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Set Default State */ 131:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_state = USBD_STATE_DEFAULT; 113 .loc 1 131 3 is_stmt 1 view .LVU26 114 .loc 1 131 19 is_stmt 0 view .LVU27 115 0004 0123 movs r3, #1 116 0006 80F89C32 strb r3, [r0, #668] 132:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 133:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Free Class Resources */ 134:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass->DeInit(pdev, (uint8_t)pdev->dev_config); 117 .loc 1 134 3 is_stmt 1 view .LVU28 118 .loc 1 134 7 is_stmt 0 view .LVU29 119 000a D0F8B432 ldr r3, [r0, #692] 120 .loc 1 134 15 view .LVU30 121 000e 5B68 ldr r3, [r3, #4] 122 .loc 1 134 3 view .LVU31 123 0010 0179 ldrb r1, [r0, #4] @ zero_extendqisi2 124 0012 9847 blx r3 125 .LVL7: 135:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 136:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Stop the low level driver */ 137:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_Stop(pdev); 126 .loc 1 137 3 is_stmt 1 view .LVU32 127 0014 2046 mov r0, r4 128 0016 FFF7FEFF bl USBD_LL_Stop 129 .LVL8: 138:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 139:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Initialize low level driver */ 140:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_DeInit(pdev); 130 .loc 1 140 3 view .LVU33 131 001a 2046 mov r0, r4 132 001c FFF7FEFF bl USBD_LL_DeInit 133 .LVL9: 141:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 142:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 134 .loc 1 142 3 view .LVU34 143:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 135 .loc 1 143 1 is_stmt 0 view .LVU35 136 0020 0020 movs r0, #0 137 0022 10BD pop {r4, pc} 138 .loc 1 143 1 view .LVU36 139 .cfi_endproc 140 .LFE656: 142 .section .text.USBD_RegisterClass,"ax",%progbits 143 .align 1 144 .global USBD_RegisterClass ARM GAS /tmp/cc7t8dPw.s page 6 145 .syntax unified 146 .thumb 147 .thumb_func 149 USBD_RegisterClass: 150 .LVL10: 151 .LFB657: 144:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 145:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 146:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_RegisterClass 147:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Link class driver to Device Core. 148:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pDevice : Device Handle 149:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pclass: Class handle 150:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval USBD Status 151:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 152:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_RegisterClass(USBD_HandleTypeDef *pdev, USBD_ClassTypeDef *pclass) 153:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 152 .loc 1 153 1 is_stmt 1 view -0 153 .cfi_startproc 154 @ args = 0, pretend = 0, frame = 0 155 @ frame_needed = 0, uses_anonymous_args = 0 156 @ link register save eliminated. 154:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef status = USBD_OK; 157 .loc 1 154 3 view .LVU38 155:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pclass != NULL) 158 .loc 1 155 3 view .LVU39 159 .loc 1 155 6 is_stmt 0 view .LVU40 160 0000 19B1 cbz r1, .L14 156:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 157:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* link the class to the USB Device handle */ 158:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass = pclass; 161 .loc 1 158 5 is_stmt 1 view .LVU41 162 .loc 1 158 18 is_stmt 0 view .LVU42 163 0002 C0F8B412 str r1, [r0, #692] 159:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** status = USBD_OK; 164 .loc 1 159 5 is_stmt 1 view .LVU43 165 .loc 1 159 12 is_stmt 0 view .LVU44 166 0006 0020 movs r0, #0 167 .LVL11: 168 .loc 1 159 12 view .LVU45 169 0008 7047 bx lr 170 .LVL12: 171 .L14: 160:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 161:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else 162:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 163:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #if (USBD_DEBUG_LEVEL > 1U) 164:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_ErrLog("Invalid Class handle"); 165:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif 166:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** status = USBD_FAIL; 172 .loc 1 166 12 view .LVU46 173 000a 0220 movs r0, #2 174 .LVL13: 167:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 168:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 169:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return status; 175 .loc 1 169 3 is_stmt 1 view .LVU47 170:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } ARM GAS /tmp/cc7t8dPw.s page 7 176 .loc 1 170 1 is_stmt 0 view .LVU48 177 000c 7047 bx lr 178 .cfi_endproc 179 .LFE657: 181 .section .text.USBD_Start,"ax",%progbits 182 .align 1 183 .global USBD_Start 184 .syntax unified 185 .thumb 186 .thumb_func 188 USBD_Start: 189 .LVL14: 190 .LFB658: 171:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 172:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 173:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_Start 174:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Start the USB Device Core. 175:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: Device Handle 176:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval USBD Status 177:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 178:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_Start(USBD_HandleTypeDef *pdev) 179:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 191 .loc 1 179 1 is_stmt 1 view -0 192 .cfi_startproc 193 @ args = 0, pretend = 0, frame = 0 194 @ frame_needed = 0, uses_anonymous_args = 0 195 .loc 1 179 1 is_stmt 0 view .LVU50 196 0000 08B5 push {r3, lr} 197 .LCFI3: 198 .cfi_def_cfa_offset 8 199 .cfi_offset 3, -8 200 .cfi_offset 14, -4 180:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Start the low level driver */ 181:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_Start(pdev); 201 .loc 1 181 3 is_stmt 1 view .LVU51 202 0002 FFF7FEFF bl USBD_LL_Start 203 .LVL15: 182:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 183:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 204 .loc 1 183 3 view .LVU52 184:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 205 .loc 1 184 1 is_stmt 0 view .LVU53 206 0006 0020 movs r0, #0 207 0008 08BD pop {r3, pc} 208 .cfi_endproc 209 .LFE658: 211 .section .text.USBD_Stop,"ax",%progbits 212 .align 1 213 .global USBD_Stop 214 .syntax unified 215 .thumb 216 .thumb_func 218 USBD_Stop: 219 .LVL16: 220 .LFB659: 185:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 186:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** ARM GAS /tmp/cc7t8dPw.s page 8 187:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_Stop 188:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Stop the USB Device Core. 189:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: Device Handle 190:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval USBD Status 191:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 192:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_Stop(USBD_HandleTypeDef *pdev) 193:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 221 .loc 1 193 1 is_stmt 1 view -0 222 .cfi_startproc 223 @ args = 0, pretend = 0, frame = 0 224 @ frame_needed = 0, uses_anonymous_args = 0 225 .loc 1 193 1 is_stmt 0 view .LVU55 226 0000 10B5 push {r4, lr} 227 .LCFI4: 228 .cfi_def_cfa_offset 8 229 .cfi_offset 4, -8 230 .cfi_offset 14, -4 231 0002 0446 mov r4, r0 194:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Free Class Resources */ 195:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass->DeInit(pdev, (uint8_t)pdev->dev_config); 232 .loc 1 195 3 is_stmt 1 view .LVU56 233 .loc 1 195 7 is_stmt 0 view .LVU57 234 0004 D0F8B432 ldr r3, [r0, #692] 235 .loc 1 195 15 view .LVU58 236 0008 5B68 ldr r3, [r3, #4] 237 .loc 1 195 3 view .LVU59 238 000a 0179 ldrb r1, [r0, #4] @ zero_extendqisi2 239 000c 9847 blx r3 240 .LVL17: 196:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 197:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Stop the low level driver */ 198:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_Stop(pdev); 241 .loc 1 198 3 is_stmt 1 view .LVU60 242 000e 2046 mov r0, r4 243 0010 FFF7FEFF bl USBD_LL_Stop 244 .LVL18: 199:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 200:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 245 .loc 1 200 3 view .LVU61 201:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 246 .loc 1 201 1 is_stmt 0 view .LVU62 247 0014 0020 movs r0, #0 248 0016 10BD pop {r4, pc} 249 .loc 1 201 1 view .LVU63 250 .cfi_endproc 251 .LFE659: 253 .section .text.USBD_RunTestMode,"ax",%progbits 254 .align 1 255 .global USBD_RunTestMode 256 .syntax unified 257 .thumb 258 .thumb_func 260 USBD_RunTestMode: 261 .LVL19: 262 .LFB660: 202:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 203:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** ARM GAS /tmp/cc7t8dPw.s page 9 204:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_RunTestMode 205:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Launch test mode process 206:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 207:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status 208:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 209:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_RunTestMode(USBD_HandleTypeDef *pdev) 210:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 263 .loc 1 210 1 is_stmt 1 view -0 264 .cfi_startproc 265 @ args = 0, pretend = 0, frame = 0 266 @ frame_needed = 0, uses_anonymous_args = 0 267 @ link register save eliminated. 211:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Prevent unused argument compilation warning */ 212:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** UNUSED(pdev); 268 .loc 1 212 3 view .LVU65 213:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 214:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 269 .loc 1 214 3 view .LVU66 215:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 270 .loc 1 215 1 is_stmt 0 view .LVU67 271 0000 0020 movs r0, #0 272 .LVL20: 273 .loc 1 215 1 view .LVU68 274 0002 7047 bx lr 275 .cfi_endproc 276 .LFE660: 278 .section .text.USBD_SetClassConfig,"ax",%progbits 279 .align 1 280 .global USBD_SetClassConfig 281 .syntax unified 282 .thumb 283 .thumb_func 285 USBD_SetClassConfig: 286 .LVL21: 287 .LFB661: 216:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 217:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 218:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_SetClassConfig 219:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Configure device and start the interface 220:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 221:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param cfgidx: configuration index 222:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status 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 **** USBD_StatusTypeDef USBD_SetClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx) 226:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 288 .loc 1 226 1 is_stmt 1 view -0 289 .cfi_startproc 290 @ args = 0, pretend = 0, frame = 0 291 @ frame_needed = 0, uses_anonymous_args = 0 292 .loc 1 226 1 is_stmt 0 view .LVU70 293 0000 08B5 push {r3, lr} 294 .LCFI5: 295 .cfi_def_cfa_offset 8 296 .cfi_offset 3, -8 297 .cfi_offset 14, -4 227:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef ret = USBD_FAIL; ARM GAS /tmp/cc7t8dPw.s page 10 298 .loc 1 227 3 is_stmt 1 view .LVU71 299 .LVL22: 228:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 229:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass != NULL) 300 .loc 1 229 3 view .LVU72 301 .loc 1 229 11 is_stmt 0 view .LVU73 302 0002 D0F8B432 ldr r3, [r0, #692] 303 .loc 1 229 6 view .LVU74 304 0006 2BB1 cbz r3, .L22 230:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 231:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Set configuration and Start the Class*/ 232:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass->Init(pdev, cfgidx) == 0U) 305 .loc 1 232 5 is_stmt 1 view .LVU75 306 .loc 1 232 21 is_stmt 0 view .LVU76 307 0008 1B68 ldr r3, [r3] 308 .loc 1 232 9 view .LVU77 309 000a 9847 blx r3 310 .LVL23: 311 .loc 1 232 8 view .LVU78 312 000c 00B9 cbnz r0, .L24 313 .L21: 314 .LVL24: 233:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 234:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_OK; 235:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 236:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 237:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 238:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return ret; 315 .loc 1 238 3 is_stmt 1 view .LVU79 239:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 316 .loc 1 239 1 is_stmt 0 view .LVU80 317 000e 08BD pop {r3, pc} 318 .LVL25: 319 .L24: 227:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 320 .loc 1 227 22 view .LVU81 321 0010 0220 movs r0, #2 322 0012 FCE7 b .L21 323 .LVL26: 324 .L22: 227:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 325 .loc 1 227 22 view .LVU82 326 0014 0220 movs r0, #2 327 .LVL27: 227:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 328 .loc 1 227 22 view .LVU83 329 0016 FAE7 b .L21 330 .cfi_endproc 331 .LFE661: 333 .section .text.USBD_ClrClassConfig,"ax",%progbits 334 .align 1 335 .global USBD_ClrClassConfig 336 .syntax unified 337 .thumb 338 .thumb_func 340 USBD_ClrClassConfig: 341 .LVL28: ARM GAS /tmp/cc7t8dPw.s page 11 342 .LFB662: 240:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 241:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 242:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_ClrClassConfig 243:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Clear current configuration 244:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 245:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param cfgidx: configuration index 246:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status: USBD_StatusTypeDef 247:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 248:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_ClrClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx) 249:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 343 .loc 1 249 1 is_stmt 1 view -0 344 .cfi_startproc 345 @ args = 0, pretend = 0, frame = 0 346 @ frame_needed = 0, uses_anonymous_args = 0 347 .loc 1 249 1 is_stmt 0 view .LVU85 348 0000 08B5 push {r3, lr} 349 .LCFI6: 350 .cfi_def_cfa_offset 8 351 .cfi_offset 3, -8 352 .cfi_offset 14, -4 250:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Clear configuration and De-initialize the Class process*/ 251:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass->DeInit(pdev, cfgidx); 353 .loc 1 251 3 is_stmt 1 view .LVU86 354 .loc 1 251 7 is_stmt 0 view .LVU87 355 0002 D0F8B432 ldr r3, [r0, #692] 356 .loc 1 251 15 view .LVU88 357 0006 5B68 ldr r3, [r3, #4] 358 .loc 1 251 3 view .LVU89 359 0008 9847 blx r3 360 .LVL29: 252:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 253:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 361 .loc 1 253 3 is_stmt 1 view .LVU90 254:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 362 .loc 1 254 1 is_stmt 0 view .LVU91 363 000a 0020 movs r0, #0 364 000c 08BD pop {r3, pc} 365 .cfi_endproc 366 .LFE662: 368 .section .text.USBD_LL_SetupStage,"ax",%progbits 369 .align 1 370 .global USBD_LL_SetupStage 371 .syntax unified 372 .thumb 373 .thumb_func 375 USBD_LL_SetupStage: 376 .LVL30: 377 .LFB663: 255:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 256:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 257:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 258:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_SetupStage 259:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle the setup stage 260:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 261:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status 262:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ ARM GAS /tmp/cc7t8dPw.s page 12 263:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_SetupStage(USBD_HandleTypeDef *pdev, uint8_t *psetup) 264:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 378 .loc 1 264 1 is_stmt 1 view -0 379 .cfi_startproc 380 @ args = 0, pretend = 0, frame = 0 381 @ frame_needed = 0, uses_anonymous_args = 0 382 .loc 1 264 1 is_stmt 0 view .LVU93 383 0000 38B5 push {r3, r4, r5, lr} 384 .LCFI7: 385 .cfi_def_cfa_offset 16 386 .cfi_offset 3, -16 387 .cfi_offset 4, -12 388 .cfi_offset 5, -8 389 .cfi_offset 14, -4 390 0002 0446 mov r4, r0 265:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_ParseSetupRequest(&pdev->request, psetup); 391 .loc 1 265 3 is_stmt 1 view .LVU94 392 0004 00F52A75 add r5, r0, #680 393 0008 2846 mov r0, r5 394 .LVL31: 395 .loc 1 265 3 is_stmt 0 view .LVU95 396 000a FFF7FEFF bl USBD_ParseSetupRequest 397 .LVL32: 266:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 267:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep0_state = USBD_EP0_SETUP; 398 .loc 1 267 3 is_stmt 1 view .LVU96 399 .loc 1 267 19 is_stmt 0 view .LVU97 400 000e 0123 movs r3, #1 401 0010 C4F89432 str r3, [r4, #660] 268:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 269:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep0_data_len = pdev->request.wLength; 402 .loc 1 269 3 is_stmt 1 view .LVU98 403 .loc 1 269 37 is_stmt 0 view .LVU99 404 0014 B4F8AE32 ldrh r3, [r4, #686] 405 .loc 1 269 22 view .LVU100 406 0018 C4F89832 str r3, [r4, #664] 270:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 271:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** switch (pdev->request.bmRequest & 0x1FU) 407 .loc 1 271 3 is_stmt 1 view .LVU101 408 .loc 1 271 24 is_stmt 0 view .LVU102 409 001c 94F8A812 ldrb r1, [r4, #680] @ zero_extendqisi2 410 0020 01F01F03 and r3, r1, #31 411 .loc 1 271 3 view .LVU103 412 0024 012B cmp r3, #1 413 0026 0ED0 beq .L28 414 0028 022B cmp r3, #2 415 002a 11D0 beq .L29 416 002c 2BB1 cbz r3, .L33 272:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 273:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** case USB_REQ_RECIPIENT_DEVICE: 274:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StdDevReq(pdev, &pdev->request); 275:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break; 276:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 277:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** case USB_REQ_RECIPIENT_INTERFACE: 278:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StdItfReq(pdev, &pdev->request); 279:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break; 280:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ARM GAS /tmp/cc7t8dPw.s page 13 281:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** case USB_REQ_RECIPIENT_ENDPOINT: 282:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StdEPReq(pdev, &pdev->request); 283:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break; 284:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 285:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** default: 286:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_StallEP(pdev, (pdev->request.bmRequest & 0x80U)); 417 .loc 1 286 7 is_stmt 1 view .LVU104 418 002e 01F08001 and r1, r1, #128 419 0032 2046 mov r0, r4 420 0034 FFF7FEFF bl USBD_LL_StallEP 421 .LVL33: 287:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break; 422 .loc 1 287 7 view .LVU105 423 0038 03E0 b .L31 424 .L33: 274:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break; 425 .loc 1 274 7 view .LVU106 426 003a 2946 mov r1, r5 427 003c 2046 mov r0, r4 428 003e FFF7FEFF bl USBD_StdDevReq 429 .LVL34: 275:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 430 .loc 1 275 7 view .LVU107 431 .L31: 288:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 289:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 290:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 432 .loc 1 290 3 view .LVU108 291:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 433 .loc 1 291 1 is_stmt 0 view .LVU109 434 0042 0020 movs r0, #0 435 0044 38BD pop {r3, r4, r5, pc} 436 .LVL35: 437 .L28: 278:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break; 438 .loc 1 278 7 is_stmt 1 view .LVU110 439 0046 2946 mov r1, r5 440 0048 2046 mov r0, r4 441 004a FFF7FEFF bl USBD_StdItfReq 442 .LVL36: 279:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 443 .loc 1 279 7 view .LVU111 444 004e F8E7 b .L31 445 .L29: 282:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break; 446 .loc 1 282 7 view .LVU112 447 0050 2946 mov r1, r5 448 0052 2046 mov r0, r4 449 0054 FFF7FEFF bl USBD_StdEPReq 450 .LVL37: 283:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 451 .loc 1 283 7 view .LVU113 452 0058 F3E7 b .L31 453 .cfi_endproc 454 .LFE663: 456 .section .text.USBD_LL_DataOutStage,"ax",%progbits 457 .align 1 ARM GAS /tmp/cc7t8dPw.s page 14 458 .global USBD_LL_DataOutStage 459 .syntax unified 460 .thumb 461 .thumb_func 463 USBD_LL_DataOutStage: 464 .LVL38: 465 .LFB664: 292:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 293:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 294:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_DataOutStage 295:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle data OUT stage 296:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 297:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param epnum: endpoint index 298:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status 299:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 300:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_DataOutStage(USBD_HandleTypeDef *pdev, 301:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** uint8_t epnum, uint8_t *pdata) 302:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 466 .loc 1 302 1 view -0 467 .cfi_startproc 468 @ args = 0, pretend = 0, frame = 0 469 @ frame_needed = 0, uses_anonymous_args = 0 470 .loc 1 302 1 is_stmt 0 view .LVU115 471 0000 38B5 push {r3, r4, r5, lr} 472 .LCFI8: 473 .cfi_def_cfa_offset 16 474 .cfi_offset 3, -16 475 .cfi_offset 4, -12 476 .cfi_offset 5, -8 477 .cfi_offset 14, -4 478 0002 0446 mov r4, r0 303:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_EndpointTypeDef *pep; 479 .loc 1 303 3 is_stmt 1 view .LVU116 304:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 305:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (epnum == 0U) 480 .loc 1 305 3 view .LVU117 481 .loc 1 305 6 is_stmt 0 view .LVU118 482 0004 0D46 mov r5, r1 483 0006 91BB cbnz r1, .L35 484 0008 1346 mov r3, r2 306:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 307:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pep = &pdev->ep_out[0]; 485 .loc 1 307 5 is_stmt 1 view .LVU119 486 .LVL39: 308:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 309:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->ep0_state == USBD_EP0_DATA_OUT) 487 .loc 1 309 5 view .LVU120 488 .loc 1 309 13 is_stmt 0 view .LVU121 489 000a D0F89422 ldr r2, [r0, #660] 490 .LVL40: 491 .loc 1 309 8 view .LVU122 492 000e 032A cmp r2, #3 493 0010 03D0 beq .L46 310:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 311:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pep->rem_length > pep->maxpacket) 312:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 313:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pep->rem_length -= pep->maxpacket; ARM GAS /tmp/cc7t8dPw.s page 15 314:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 315:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_CtlContinueRx(pdev, pdata, 316:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (uint16_t)MIN(pep->rem_length, pep->maxpacket)); 317:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 318:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else 319:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 320:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if ((pdev->pClass->EP0_RxReady != NULL) && 321:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED)) 322:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 323:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass->EP0_RxReady(pdev); 324:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 325:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_CtlSendStatus(pdev); 326:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 327:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 328:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else 329:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 330:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->ep0_state == USBD_EP0_STATUS_OUT) 494 .loc 1 330 7 is_stmt 1 view .LVU123 495 .loc 1 330 10 is_stmt 0 view .LVU124 496 0012 052A cmp r2, #5 497 0014 24D0 beq .L47 331:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 332:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* 333:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * STATUS PHASE completed, update ep0_state to idle 334:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 335:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep0_state = USBD_EP0_IDLE; 336:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_StallEP(pdev, 0U); 337:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 338:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 339:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 340:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else if ((pdev->pClass->DataOut != NULL) && 341:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED)) 342:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 343:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass->DataOut(pdev, epnum); 344:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 345:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else 346:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 347:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* should never be in this condition */ 348:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_FAIL; 349:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 350:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 351:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 498 .loc 1 351 10 view .LVU125 499 0016 0846 mov r0, r1 500 .LVL41: 501 .loc 1 351 10 view .LVU126 502 0018 33E0 b .L40 503 .LVL42: 504 .L46: 311:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 505 .loc 1 311 7 is_stmt 1 view .LVU127 311:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 506 .loc 1 311 14 is_stmt 0 view .LVU128 507 001a D0F86011 ldr r1, [r0, #352] 508 .LVL43: 311:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 509 .loc 1 311 32 view .LVU129 ARM GAS /tmp/cc7t8dPw.s page 16 510 001e D0F86421 ldr r2, [r0, #356] 311:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 511 .loc 1 311 10 view .LVU130 512 0022 9142 cmp r1, r2 513 0024 0DD9 bls .L37 313:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 514 .loc 1 313 9 is_stmt 1 view .LVU131 313:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 515 .loc 1 313 25 is_stmt 0 view .LVU132 516 0026 891A subs r1, r1, r2 517 0028 C0F86011 str r1, [r0, #352] 315:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (uint16_t)MIN(pep->rem_length, pep->maxpacket)); 518 .loc 1 315 9 is_stmt 1 view .LVU133 519 002c 8A42 cmp r2, r1 520 002e 06D9 bls .L38 315:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (uint16_t)MIN(pep->rem_length, pep->maxpacket)); 521 .loc 1 315 9 is_stmt 0 discriminator 1 view .LVU134 522 0030 8AB2 uxth r2, r1 523 .L39: 315:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (uint16_t)MIN(pep->rem_length, pep->maxpacket)); 524 .loc 1 315 9 discriminator 4 view .LVU135 525 0032 1946 mov r1, r3 526 0034 2046 mov r0, r4 527 .LVL44: 315:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (uint16_t)MIN(pep->rem_length, pep->maxpacket)); 528 .loc 1 315 9 discriminator 4 view .LVU136 529 0036 FFF7FEFF bl USBD_CtlContinueRx 530 .LVL45: 531 .loc 1 351 10 discriminator 4 view .LVU137 532 003a 2846 mov r0, r5 533 003c 21E0 b .L40 534 .LVL46: 535 .L38: 315:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (uint16_t)MIN(pep->rem_length, pep->maxpacket)); 536 .loc 1 315 9 discriminator 2 view .LVU138 537 003e 92B2 uxth r2, r2 538 0040 F7E7 b .L39 539 .L37: 320:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED)) 540 .loc 1 320 9 is_stmt 1 view .LVU139 320:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED)) 541 .loc 1 320 18 is_stmt 0 view .LVU140 542 0042 D0F8B432 ldr r3, [r0, #692] 543 .LVL47: 320:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED)) 544 .loc 1 320 26 view .LVU141 545 0046 1B69 ldr r3, [r3, #16] 320:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED)) 546 .loc 1 320 12 view .LVU142 547 0048 1BB1 cbz r3, .L41 321:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 548 .loc 1 321 18 discriminator 1 view .LVU143 549 004a 90F89C22 ldrb r2, [r0, #668] @ zero_extendqisi2 320:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED)) 550 .loc 1 320 49 discriminator 1 view .LVU144 551 004e 032A cmp r2, #3 552 0050 04D0 beq .L48 ARM GAS /tmp/cc7t8dPw.s page 17 553 .LVL48: 554 .L41: 325:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 555 .loc 1 325 9 is_stmt 1 view .LVU145 556 0052 2046 mov r0, r4 557 0054 FFF7FEFF bl USBD_CtlSendStatus 558 .LVL49: 559 .loc 1 351 10 is_stmt 0 view .LVU146 560 0058 2846 mov r0, r5 561 005a 12E0 b .L40 562 .LVL50: 563 .L48: 323:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 564 .loc 1 323 11 is_stmt 1 view .LVU147 565 005c 9847 blx r3 566 .LVL51: 323:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 567 .loc 1 323 11 is_stmt 0 view .LVU148 568 005e F8E7 b .L41 569 .LVL52: 570 .L47: 335:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_StallEP(pdev, 0U); 571 .loc 1 335 9 is_stmt 1 view .LVU149 335:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_StallEP(pdev, 0U); 572 .loc 1 335 25 is_stmt 0 view .LVU150 573 0060 0021 movs r1, #0 574 .LVL53: 335:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_StallEP(pdev, 0U); 575 .loc 1 335 25 view .LVU151 576 0062 C0F89412 str r1, [r0, #660] 336:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 577 .loc 1 336 9 is_stmt 1 view .LVU152 578 0066 FFF7FEFF bl USBD_LL_StallEP 579 .LVL54: 580 .loc 1 351 10 is_stmt 0 view .LVU153 581 006a 2846 mov r0, r5 582 006c 09E0 b .L40 583 .LVL55: 584 .L35: 340:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED)) 585 .loc 1 340 8 is_stmt 1 view .LVU154 340:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED)) 586 .loc 1 340 17 is_stmt 0 view .LVU155 587 006e D0F8B432 ldr r3, [r0, #692] 340:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED)) 588 .loc 1 340 25 view .LVU156 589 0072 9B69 ldr r3, [r3, #24] 340:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED)) 590 .loc 1 340 11 view .LVU157 591 0074 33B1 cbz r3, .L43 341:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 592 .loc 1 341 17 discriminator 1 view .LVU158 593 0076 90F89C22 ldrb r2, [r0, #668] @ zero_extendqisi2 594 .LVL56: 340:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED)) 595 .loc 1 340 44 discriminator 1 view .LVU159 596 007a 032A cmp r2, #3 ARM GAS /tmp/cc7t8dPw.s page 18 597 007c 04D1 bne .L44 343:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 598 .loc 1 343 5 is_stmt 1 view .LVU160 599 007e 9847 blx r3 600 .LVL57: 601 .loc 1 351 10 is_stmt 0 view .LVU161 602 0080 0020 movs r0, #0 603 .L40: 352:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 604 .loc 1 352 1 view .LVU162 605 0082 38BD pop {r3, r4, r5, pc} 606 .LVL58: 607 .L43: 348:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 608 .loc 1 348 12 view .LVU163 609 0084 0220 movs r0, #2 610 .LVL59: 348:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 611 .loc 1 348 12 view .LVU164 612 0086 FCE7 b .L40 613 .LVL60: 614 .L44: 348:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 615 .loc 1 348 12 view .LVU165 616 0088 0220 movs r0, #2 617 .LVL61: 348:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 618 .loc 1 348 12 view .LVU166 619 008a FAE7 b .L40 620 .cfi_endproc 621 .LFE664: 623 .section .text.USBD_LL_DataInStage,"ax",%progbits 624 .align 1 625 .global USBD_LL_DataInStage 626 .syntax unified 627 .thumb 628 .thumb_func 630 USBD_LL_DataInStage: 631 .LVL62: 632 .LFB665: 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 **** * @brief USBD_DataInStage 356:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle data in stage 357:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 358:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param epnum: endpoint index 359:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status 360:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 361:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_DataInStage(USBD_HandleTypeDef *pdev, 362:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** uint8_t epnum, uint8_t *pdata) 363:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 633 .loc 1 363 1 is_stmt 1 view -0 634 .cfi_startproc 635 @ args = 0, pretend = 0, frame = 0 636 @ frame_needed = 0, uses_anonymous_args = 0 637 .loc 1 363 1 is_stmt 0 view .LVU168 638 0000 38B5 push {r3, r4, r5, lr} ARM GAS /tmp/cc7t8dPw.s page 19 639 .LCFI9: 640 .cfi_def_cfa_offset 16 641 .cfi_offset 3, -16 642 .cfi_offset 4, -12 643 .cfi_offset 5, -8 644 .cfi_offset 14, -4 645 0002 0446 mov r4, r0 364:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_EndpointTypeDef *pep; 646 .loc 1 364 3 is_stmt 1 view .LVU169 365:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 366:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (epnum == 0U) 647 .loc 1 366 3 view .LVU170 648 .loc 1 366 6 is_stmt 0 view .LVU171 649 0004 0D46 mov r5, r1 650 0006 0029 cmp r1, #0 651 0008 53D1 bne .L50 652 000a 1346 mov r3, r2 367:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 368:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pep = &pdev->ep_in[0]; 653 .loc 1 368 5 is_stmt 1 view .LVU172 654 .LVL63: 369:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 370:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->ep0_state == USBD_EP0_DATA_IN) 655 .loc 1 370 5 view .LVU173 656 .loc 1 370 13 is_stmt 0 view .LVU174 657 000c D0F89422 ldr r2, [r0, #660] 658 .LVL64: 659 .loc 1 370 8 view .LVU175 660 0010 022A cmp r2, #2 661 0012 0CD0 beq .L62 371:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 372:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pep->rem_length > pep->maxpacket) 373:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 374:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pep->rem_length -= pep->maxpacket; 375:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 376:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_CtlContinueSendData(pdev, pdata, (uint16_t)pep->rem_length); 377:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 378:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Prepare endpoint for premature end of transfer */ 379:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_PrepareReceive(pdev, 0U, NULL, 0U); 380:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 381:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else 382:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 383:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* last packet is MPS multiple, so send ZLP packet */ 384:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if ((pep->total_length % pep->maxpacket == 0U) && 385:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pep->total_length >= pep->maxpacket) && 386:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pep->total_length < pdev->ep0_data_len)) 387:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 388:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_CtlContinueSendData(pdev, NULL, 0U); 389:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep0_data_len = 0U; 390:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 391:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Prepare endpoint for premature end of transfer */ 392:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_PrepareReceive(pdev, 0U, NULL, 0U); 393:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 394:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else 395:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 396:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if ((pdev->pClass->EP0_TxSent != NULL) && 397:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED)) ARM GAS /tmp/cc7t8dPw.s page 20 398:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 399:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass->EP0_TxSent(pdev); 400:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 401:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_StallEP(pdev, 0x80U); 402:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_CtlReceiveStatus(pdev); 403:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 404:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 405:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 406:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else 407:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 408:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if ((pdev->ep0_state == USBD_EP0_STATUS_IN) || 662 .loc 1 408 7 is_stmt 1 view .LVU176 663 .loc 1 408 10 is_stmt 0 view .LVU177 664 0014 042A cmp r2, #4 665 0016 00D0 beq .L56 666 .loc 1 408 51 discriminator 1 view .LVU178 667 0018 1AB9 cbnz r2, .L53 668 .L56: 409:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->ep0_state == USBD_EP0_IDLE)) 410:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 411:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_StallEP(pdev, 0x80U); 669 .loc 1 411 9 is_stmt 1 view .LVU179 670 001a 8021 movs r1, #128 671 .LVL65: 672 .loc 1 411 9 is_stmt 0 view .LVU180 673 001c 2046 mov r0, r4 674 .LVL66: 675 .loc 1 411 9 view .LVU181 676 001e FFF7FEFF bl USBD_LL_StallEP 677 .LVL67: 678 .L53: 412:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 413:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 414:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 415:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->dev_test_mode == 1U) 679 .loc 1 415 5 is_stmt 1 view .LVU182 680 .loc 1 415 13 is_stmt 0 view .LVU183 681 0022 94F8A032 ldrb r3, [r4, #672] @ zero_extendqisi2 682 .loc 1 415 8 view .LVU184 683 0026 012B cmp r3, #1 684 0028 3ED0 beq .L63 416:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 417:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_RunTestMode(pdev); 418:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_test_mode = 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 **** } 421:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else if ((pdev->pClass->DataIn != NULL) && 422:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED)) 423:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 424:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass->DataIn(pdev, epnum); 425:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 426:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else 427:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 428:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* should never be in this condition */ 429:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_FAIL; 430:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 431:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ARM GAS /tmp/cc7t8dPw.s page 21 432:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 685 .loc 1 432 10 view .LVU185 686 002a 2846 mov r0, r5 687 .LVL68: 688 .L57: 433:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 689 .loc 1 433 1 view .LVU186 690 002c 38BD pop {r3, r4, r5, pc} 691 .LVL69: 692 .L62: 372:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 693 .loc 1 372 7 is_stmt 1 view .LVU187 372:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 694 .loc 1 372 14 is_stmt 0 view .LVU188 695 002e 016A ldr r1, [r0, #32] 696 .LVL70: 372:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 697 .loc 1 372 32 view .LVU189 698 0030 426A ldr r2, [r0, #36] 372:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 699 .loc 1 372 10 view .LVU190 700 0032 9142 cmp r1, r2 701 0034 1BD8 bhi .L64 384:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pep->total_length >= pep->maxpacket) && 702 .loc 1 384 9 is_stmt 1 view .LVU191 384:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pep->total_length >= pep->maxpacket) && 703 .loc 1 384 17 is_stmt 0 view .LVU192 704 0036 C169 ldr r1, [r0, #28] 384:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pep->total_length >= pep->maxpacket) && 705 .loc 1 384 32 view .LVU193 706 0038 B1FBF2F3 udiv r3, r1, r2 707 .LVL71: 384:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pep->total_length >= pep->maxpacket) && 708 .loc 1 384 32 view .LVU194 709 003c 02FB1313 mls r3, r2, r3, r1 384:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pep->total_length >= pep->maxpacket) && 710 .loc 1 384 12 view .LVU195 711 0040 2BB9 cbnz r3, .L54 384:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pep->total_length >= pep->maxpacket) && 712 .loc 1 384 56 discriminator 1 view .LVU196 713 0042 8A42 cmp r2, r1 714 0044 03D8 bhi .L54 386:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 715 .loc 1 386 38 view .LVU197 716 0046 D0F89832 ldr r3, [r0, #664] 385:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pep->total_length < pdev->ep0_data_len)) 717 .loc 1 385 51 view .LVU198 718 004a 9942 cmp r1, r3 719 004c 1CD3 bcc .L65 720 .L54: 396:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED)) 721 .loc 1 396 11 is_stmt 1 view .LVU199 396:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED)) 722 .loc 1 396 20 is_stmt 0 view .LVU200 723 004e D4F8B432 ldr r3, [r4, #692] 396:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED)) 724 .loc 1 396 28 view .LVU201 ARM GAS /tmp/cc7t8dPw.s page 22 725 0052 DB68 ldr r3, [r3, #12] 396:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED)) 726 .loc 1 396 14 view .LVU202 727 0054 1BB1 cbz r3, .L55 397:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 728 .loc 1 397 20 discriminator 1 view .LVU203 729 0056 94F89C22 ldrb r2, [r4, #668] @ zero_extendqisi2 396:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED)) 730 .loc 1 396 50 discriminator 1 view .LVU204 731 005a 032A cmp r2, #3 732 005c 21D0 beq .L66 733 .LVL72: 734 .L55: 401:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_CtlReceiveStatus(pdev); 735 .loc 1 401 11 is_stmt 1 view .LVU205 736 005e 8021 movs r1, #128 737 0060 2046 mov r0, r4 738 0062 FFF7FEFF bl USBD_LL_StallEP 739 .LVL73: 402:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 740 .loc 1 402 11 view .LVU206 741 0066 2046 mov r0, r4 742 0068 FFF7FEFF bl USBD_CtlReceiveStatus 743 .LVL74: 744 006c D9E7 b .L53 745 .LVL75: 746 .L64: 374:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 747 .loc 1 374 9 view .LVU207 374:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 748 .loc 1 374 25 is_stmt 0 view .LVU208 749 006e 8A1A subs r2, r1, r2 750 0070 0262 str r2, [r0, #32] 376:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 751 .loc 1 376 9 is_stmt 1 view .LVU209 752 0072 92B2 uxth r2, r2 753 0074 1946 mov r1, r3 754 0076 FFF7FEFF bl USBD_CtlContinueSendData 755 .LVL76: 379:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 756 .loc 1 379 9 view .LVU210 757 007a 0023 movs r3, #0 758 007c 1A46 mov r2, r3 759 007e 1946 mov r1, r3 760 0080 2046 mov r0, r4 761 0082 FFF7FEFF bl USBD_LL_PrepareReceive 762 .LVL77: 763 0086 CCE7 b .L53 764 .LVL78: 765 .L65: 388:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep0_data_len = 0U; 766 .loc 1 388 11 view .LVU211 767 0088 0022 movs r2, #0 768 008a 1146 mov r1, r2 769 008c FFF7FEFF bl USBD_CtlContinueSendData 770 .LVL79: 389:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ARM GAS /tmp/cc7t8dPw.s page 23 771 .loc 1 389 11 view .LVU212 389:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 772 .loc 1 389 30 is_stmt 0 view .LVU213 773 0090 0021 movs r1, #0 774 0092 C4F89812 str r1, [r4, #664] 392:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 775 .loc 1 392 11 is_stmt 1 view .LVU214 776 0096 0B46 mov r3, r1 777 0098 0A46 mov r2, r1 778 009a 2046 mov r0, r4 779 009c FFF7FEFF bl USBD_LL_PrepareReceive 780 .LVL80: 781 00a0 BFE7 b .L53 782 .LVL81: 783 .L66: 399:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 784 .loc 1 399 13 view .LVU215 785 00a2 2046 mov r0, r4 786 .LVL82: 399:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 787 .loc 1 399 13 is_stmt 0 view .LVU216 788 00a4 9847 blx r3 789 .LVL83: 790 00a6 DAE7 b .L55 791 .L63: 417:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_test_mode = 0U; 792 .loc 1 417 7 is_stmt 1 view .LVU217 418:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 793 .loc 1 418 7 view .LVU218 418:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 794 .loc 1 418 27 is_stmt 0 view .LVU219 795 00a8 0023 movs r3, #0 796 00aa 84F8A032 strb r3, [r4, #672] 432:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 797 .loc 1 432 10 view .LVU220 798 00ae 2846 mov r0, r5 799 00b0 BCE7 b .L57 800 .LVL84: 801 .L50: 421:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED)) 802 .loc 1 421 8 is_stmt 1 view .LVU221 421:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED)) 803 .loc 1 421 17 is_stmt 0 view .LVU222 804 00b2 D0F8B432 ldr r3, [r0, #692] 421:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED)) 805 .loc 1 421 25 view .LVU223 806 00b6 5B69 ldr r3, [r3, #20] 421:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED)) 807 .loc 1 421 11 view .LVU224 808 00b8 33B1 cbz r3, .L59 422:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 809 .loc 1 422 17 discriminator 1 view .LVU225 810 00ba 90F89C22 ldrb r2, [r0, #668] @ zero_extendqisi2 811 .LVL85: 421:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED)) 812 .loc 1 421 43 discriminator 1 view .LVU226 813 00be 032A cmp r2, #3 ARM GAS /tmp/cc7t8dPw.s page 24 814 00c0 04D1 bne .L60 424:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 815 .loc 1 424 5 is_stmt 1 view .LVU227 816 00c2 9847 blx r3 817 .LVL86: 432:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 818 .loc 1 432 10 is_stmt 0 view .LVU228 819 00c4 0020 movs r0, #0 424:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 820 .loc 1 424 5 view .LVU229 821 00c6 B1E7 b .L57 822 .LVL87: 823 .L59: 429:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 824 .loc 1 429 12 view .LVU230 825 00c8 0220 movs r0, #2 826 .LVL88: 429:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 827 .loc 1 429 12 view .LVU231 828 00ca AFE7 b .L57 829 .LVL89: 830 .L60: 429:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 831 .loc 1 429 12 view .LVU232 832 00cc 0220 movs r0, #2 833 .LVL90: 429:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 834 .loc 1 429 12 view .LVU233 835 00ce ADE7 b .L57 836 .cfi_endproc 837 .LFE665: 839 .section .text.USBD_LL_Reset,"ax",%progbits 840 .align 1 841 .global USBD_LL_Reset 842 .syntax unified 843 .thumb 844 .thumb_func 846 USBD_LL_Reset: 847 .LVL91: 848 .LFB666: 434:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 435:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 436:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_LL_Reset 437:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle Reset event 438:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 439:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status 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 **** USBD_StatusTypeDef USBD_LL_Reset(USBD_HandleTypeDef *pdev) 443:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 849 .loc 1 443 1 is_stmt 1 view -0 850 .cfi_startproc 851 @ args = 0, pretend = 0, frame = 0 852 @ frame_needed = 0, uses_anonymous_args = 0 853 .loc 1 443 1 is_stmt 0 view .LVU235 854 0000 70B5 push {r4, r5, r6, lr} 855 .LCFI10: ARM GAS /tmp/cc7t8dPw.s page 25 856 .cfi_def_cfa_offset 16 857 .cfi_offset 4, -16 858 .cfi_offset 5, -12 859 .cfi_offset 6, -8 860 .cfi_offset 14, -4 861 0002 0446 mov r4, r0 444:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Open EP0 OUT */ 445:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_OpenEP(pdev, 0x00U, USBD_EP_TYPE_CTRL, USB_MAX_EP0_SIZE); 862 .loc 1 445 3 is_stmt 1 view .LVU236 863 0004 4023 movs r3, #64 864 0006 0022 movs r2, #0 865 0008 1146 mov r1, r2 866 000a FFF7FEFF bl USBD_LL_OpenEP 867 .LVL92: 446:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep_out[0x00U & 0xFU].is_used = 1U; 868 .loc 1 446 3 view .LVU237 869 .loc 1 446 38 is_stmt 0 view .LVU238 870 000e 0125 movs r5, #1 871 0010 C4F85851 str r5, [r4, #344] 447:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 448:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep_out[0].maxpacket = USB_MAX_EP0_SIZE; 872 .loc 1 448 3 is_stmt 1 view .LVU239 873 .loc 1 448 29 is_stmt 0 view .LVU240 874 0014 4026 movs r6, #64 875 0016 C4F86461 str r6, [r4, #356] 449:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 450:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Open EP0 IN */ 451:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_OpenEP(pdev, 0x80U, USBD_EP_TYPE_CTRL, USB_MAX_EP0_SIZE); 876 .loc 1 451 3 is_stmt 1 view .LVU241 877 001a 3346 mov r3, r6 878 001c 0022 movs r2, #0 879 001e 8021 movs r1, #128 880 0020 2046 mov r0, r4 881 0022 FFF7FEFF bl USBD_LL_OpenEP 882 .LVL93: 452:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep_in[0x80U & 0xFU].is_used = 1U; 883 .loc 1 452 3 view .LVU242 884 .loc 1 452 37 is_stmt 0 view .LVU243 885 0026 A561 str r5, [r4, #24] 453:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 454:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep_in[0].maxpacket = USB_MAX_EP0_SIZE; 886 .loc 1 454 3 is_stmt 1 view .LVU244 887 .loc 1 454 28 is_stmt 0 view .LVU245 888 0028 6662 str r6, [r4, #36] 455:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 456:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Upon Reset call user call back */ 457:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_state = USBD_STATE_DEFAULT; 889 .loc 1 457 3 is_stmt 1 view .LVU246 890 .loc 1 457 19 is_stmt 0 view .LVU247 891 002a 84F89C52 strb r5, [r4, #668] 458:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep0_state = USBD_EP0_IDLE; 892 .loc 1 458 3 is_stmt 1 view .LVU248 893 .loc 1 458 19 is_stmt 0 view .LVU249 894 002e 0023 movs r3, #0 895 0030 C4F89432 str r3, [r4, #660] 459:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_config = 0U; 896 .loc 1 459 3 is_stmt 1 view .LVU250 ARM GAS /tmp/cc7t8dPw.s page 26 897 .loc 1 459 20 is_stmt 0 view .LVU251 898 0034 6360 str r3, [r4, #4] 460:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_remote_wakeup = 0U; 899 .loc 1 460 3 is_stmt 1 view .LVU252 900 .loc 1 460 27 is_stmt 0 view .LVU253 901 0036 C4F8A432 str r3, [r4, #676] 461:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 462:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClassData) 902 .loc 1 462 3 is_stmt 1 view .LVU254 903 .loc 1 462 11 is_stmt 0 view .LVU255 904 003a D4F8B832 ldr r3, [r4, #696] 905 .loc 1 462 6 view .LVU256 906 003e 2BB1 cbz r3, .L68 463:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 464:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass->DeInit(pdev, (uint8_t)pdev->dev_config); 907 .loc 1 464 5 is_stmt 1 view .LVU257 908 .loc 1 464 9 is_stmt 0 view .LVU258 909 0040 D4F8B432 ldr r3, [r4, #692] 910 .loc 1 464 17 view .LVU259 911 0044 5B68 ldr r3, [r3, #4] 912 .loc 1 464 5 view .LVU260 913 0046 0021 movs r1, #0 914 0048 2046 mov r0, r4 915 004a 9847 blx r3 916 .LVL94: 917 .L68: 465:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 466:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 467:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 918 .loc 1 467 3 is_stmt 1 view .LVU261 468:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 919 .loc 1 468 1 is_stmt 0 view .LVU262 920 004c 0020 movs r0, #0 921 004e 70BD pop {r4, r5, r6, pc} 922 .loc 1 468 1 view .LVU263 923 .cfi_endproc 924 .LFE666: 926 .section .text.USBD_LL_SetSpeed,"ax",%progbits 927 .align 1 928 .global USBD_LL_SetSpeed 929 .syntax unified 930 .thumb 931 .thumb_func 933 USBD_LL_SetSpeed: 934 .LVL95: 935 .LFB667: 469:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 470:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 471:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_LL_Reset 472:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle Reset event 473:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 474:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status 475:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 476:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_SetSpeed(USBD_HandleTypeDef *pdev, 477:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_SpeedTypeDef speed) 478:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 936 .loc 1 478 1 is_stmt 1 view -0 ARM GAS /tmp/cc7t8dPw.s page 27 937 .cfi_startproc 938 @ args = 0, pretend = 0, frame = 0 939 @ frame_needed = 0, uses_anonymous_args = 0 940 @ link register save eliminated. 479:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_speed = speed; 941 .loc 1 479 3 view .LVU265 942 .loc 1 479 19 is_stmt 0 view .LVU266 943 0000 0174 strb r1, [r0, #16] 480:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 481:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 944 .loc 1 481 3 is_stmt 1 view .LVU267 482:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 945 .loc 1 482 1 is_stmt 0 view .LVU268 946 0002 0020 movs r0, #0 947 .LVL96: 948 .loc 1 482 1 view .LVU269 949 0004 7047 bx lr 950 .cfi_endproc 951 .LFE667: 953 .section .text.USBD_LL_Suspend,"ax",%progbits 954 .align 1 955 .global USBD_LL_Suspend 956 .syntax unified 957 .thumb 958 .thumb_func 960 USBD_LL_Suspend: 961 .LVL97: 962 .LFB668: 483:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 484:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 485:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_Suspend 486:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle Suspend event 487:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 488:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status 489:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 490:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 491:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_Suspend(USBD_HandleTypeDef *pdev) 492:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 963 .loc 1 492 1 is_stmt 1 view -0 964 .cfi_startproc 965 @ args = 0, pretend = 0, frame = 0 966 @ frame_needed = 0, uses_anonymous_args = 0 967 @ link register save eliminated. 493:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_old_state = pdev->dev_state; 968 .loc 1 493 3 view .LVU271 969 .loc 1 493 30 is_stmt 0 view .LVU272 970 0000 90F89C32 ldrb r3, [r0, #668] @ zero_extendqisi2 971 .loc 1 493 23 view .LVU273 972 0004 80F89D32 strb r3, [r0, #669] 494:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_state = USBD_STATE_SUSPENDED; 973 .loc 1 494 3 is_stmt 1 view .LVU274 974 .loc 1 494 20 is_stmt 0 view .LVU275 975 0008 0423 movs r3, #4 976 000a 80F89C32 strb r3, [r0, #668] 495:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 496:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 977 .loc 1 496 3 is_stmt 1 view .LVU276 ARM GAS /tmp/cc7t8dPw.s page 28 497:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 978 .loc 1 497 1 is_stmt 0 view .LVU277 979 000e 0020 movs r0, #0 980 .LVL98: 981 .loc 1 497 1 view .LVU278 982 0010 7047 bx lr 983 .cfi_endproc 984 .LFE668: 986 .section .text.USBD_LL_Resume,"ax",%progbits 987 .align 1 988 .global USBD_LL_Resume 989 .syntax unified 990 .thumb 991 .thumb_func 993 USBD_LL_Resume: 994 .LVL99: 995 .LFB669: 498:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 499:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 500:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_Resume 501:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle Resume event 502:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 503:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status 504:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 505:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 506:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_Resume(USBD_HandleTypeDef *pdev) 507:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 996 .loc 1 507 1 is_stmt 1 view -0 997 .cfi_startproc 998 @ args = 0, pretend = 0, frame = 0 999 @ frame_needed = 0, uses_anonymous_args = 0 1000 @ link register save eliminated. 508:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->dev_state == USBD_STATE_SUSPENDED) 1001 .loc 1 508 3 view .LVU280 1002 .loc 1 508 11 is_stmt 0 view .LVU281 1003 0000 90F89C32 ldrb r3, [r0, #668] @ zero_extendqisi2 1004 .loc 1 508 6 view .LVU282 1005 0004 042B cmp r3, #4 1006 0006 01D0 beq .L74 1007 .L73: 509:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 510:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_state = pdev->dev_old_state; 511:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 512:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 513:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 1008 .loc 1 513 3 is_stmt 1 view .LVU283 514:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1009 .loc 1 514 1 is_stmt 0 view .LVU284 1010 0008 0020 movs r0, #0 1011 .LVL100: 1012 .loc 1 514 1 view .LVU285 1013 000a 7047 bx lr 1014 .LVL101: 1015 .L74: 510:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1016 .loc 1 510 5 is_stmt 1 view .LVU286 510:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } ARM GAS /tmp/cc7t8dPw.s page 29 1017 .loc 1 510 27 is_stmt 0 view .LVU287 1018 000c 90F89D32 ldrb r3, [r0, #669] @ zero_extendqisi2 510:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1019 .loc 1 510 21 view .LVU288 1020 0010 80F89C32 strb r3, [r0, #668] 1021 0014 F8E7 b .L73 1022 .cfi_endproc 1023 .LFE669: 1025 .section .text.USBD_LL_SOF,"ax",%progbits 1026 .align 1 1027 .global USBD_LL_SOF 1028 .syntax unified 1029 .thumb 1030 .thumb_func 1032 USBD_LL_SOF: 1033 .LVL102: 1034 .LFB670: 515:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 516:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 517:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_SOF 518:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle SOF event 519:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 520:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status 521:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 522:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 523:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_SOF(USBD_HandleTypeDef *pdev) 524:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 1035 .loc 1 524 1 is_stmt 1 view -0 1036 .cfi_startproc 1037 @ args = 0, pretend = 0, frame = 0 1038 @ frame_needed = 0, uses_anonymous_args = 0 1039 .loc 1 524 1 is_stmt 0 view .LVU290 1040 0000 08B5 push {r3, lr} 1041 .LCFI11: 1042 .cfi_def_cfa_offset 8 1043 .cfi_offset 3, -8 1044 .cfi_offset 14, -4 525:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->dev_state == USBD_STATE_CONFIGURED) 1045 .loc 1 525 3 is_stmt 1 view .LVU291 1046 .loc 1 525 11 is_stmt 0 view .LVU292 1047 0002 90F89C32 ldrb r3, [r0, #668] @ zero_extendqisi2 1048 .loc 1 525 6 view .LVU293 1049 0006 032B cmp r3, #3 1050 0008 01D0 beq .L78 1051 .LVL103: 1052 .L76: 526:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 527:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass->SOF != NULL) 528:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 529:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass->SOF(pdev); 530:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 531:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 532:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 533:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 1053 .loc 1 533 3 is_stmt 1 view .LVU294 534:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1054 .loc 1 534 1 is_stmt 0 view .LVU295 ARM GAS /tmp/cc7t8dPw.s page 30 1055 000a 0020 movs r0, #0 1056 000c 08BD pop {r3, pc} 1057 .LVL104: 1058 .L78: 527:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 1059 .loc 1 527 5 is_stmt 1 view .LVU296 527:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 1060 .loc 1 527 13 is_stmt 0 view .LVU297 1061 000e D0F8B432 ldr r3, [r0, #692] 527:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 1062 .loc 1 527 21 view .LVU298 1063 0012 DB69 ldr r3, [r3, #28] 527:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 1064 .loc 1 527 8 view .LVU299 1065 0014 002B cmp r3, #0 1066 0016 F8D0 beq .L76 529:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1067 .loc 1 529 7 is_stmt 1 view .LVU300 1068 0018 9847 blx r3 1069 .LVL105: 529:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1070 .loc 1 529 7 is_stmt 0 view .LVU301 1071 001a F6E7 b .L76 1072 .cfi_endproc 1073 .LFE670: 1075 .section .text.USBD_LL_IsoINIncomplete,"ax",%progbits 1076 .align 1 1077 .global USBD_LL_IsoINIncomplete 1078 .syntax unified 1079 .thumb 1080 .thumb_func 1082 USBD_LL_IsoINIncomplete: 1083 .LVL106: 1084 .LFB671: 535:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 536:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 537:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_IsoINIncomplete 538:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle iso in incomplete event 539:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 540:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status 541:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 542:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_IsoINIncomplete(USBD_HandleTypeDef *pdev, 543:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** uint8_t epnum) 544:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 1085 .loc 1 544 1 is_stmt 1 view -0 1086 .cfi_startproc 1087 @ args = 0, pretend = 0, frame = 0 1088 @ frame_needed = 0, uses_anonymous_args = 0 1089 @ link register save eliminated. 545:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Prevent unused arguments compilation warning */ 546:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** UNUSED(pdev); 1090 .loc 1 546 3 view .LVU303 547:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** UNUSED(epnum); 1091 .loc 1 547 3 view .LVU304 548:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 549:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 1092 .loc 1 549 3 view .LVU305 ARM GAS /tmp/cc7t8dPw.s page 31 550:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1093 .loc 1 550 1 is_stmt 0 view .LVU306 1094 0000 0020 movs r0, #0 1095 .LVL107: 1096 .loc 1 550 1 view .LVU307 1097 0002 7047 bx lr 1098 .cfi_endproc 1099 .LFE671: 1101 .section .text.USBD_LL_IsoOUTIncomplete,"ax",%progbits 1102 .align 1 1103 .global USBD_LL_IsoOUTIncomplete 1104 .syntax unified 1105 .thumb 1106 .thumb_func 1108 USBD_LL_IsoOUTIncomplete: 1109 .LVL108: 1110 .LFB672: 551:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 552:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 553:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_IsoOUTIncomplete 554:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle iso out incomplete event 555:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 556:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status 557:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 558:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_IsoOUTIncomplete(USBD_HandleTypeDef *pdev, 559:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** uint8_t epnum) 560:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 1111 .loc 1 560 1 is_stmt 1 view -0 1112 .cfi_startproc 1113 @ args = 0, pretend = 0, frame = 0 1114 @ frame_needed = 0, uses_anonymous_args = 0 1115 @ link register save eliminated. 561:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Prevent unused arguments compilation warning */ 562:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** UNUSED(pdev); 1116 .loc 1 562 3 view .LVU309 563:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** UNUSED(epnum); 1117 .loc 1 563 3 view .LVU310 564:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 565:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 1118 .loc 1 565 3 view .LVU311 566:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1119 .loc 1 566 1 is_stmt 0 view .LVU312 1120 0000 0020 movs r0, #0 1121 .LVL109: 1122 .loc 1 566 1 view .LVU313 1123 0002 7047 bx lr 1124 .cfi_endproc 1125 .LFE672: 1127 .section .text.USBD_LL_DevConnected,"ax",%progbits 1128 .align 1 1129 .global USBD_LL_DevConnected 1130 .syntax unified 1131 .thumb 1132 .thumb_func 1134 USBD_LL_DevConnected: 1135 .LVL110: 1136 .LFB673: ARM GAS /tmp/cc7t8dPw.s page 32 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 **** * @brief USBD_DevConnected 570:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle device connection event 571:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 572:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status 573:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 574:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_DevConnected(USBD_HandleTypeDef *pdev) 575:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 1137 .loc 1 575 1 is_stmt 1 view -0 1138 .cfi_startproc 1139 @ args = 0, pretend = 0, frame = 0 1140 @ frame_needed = 0, uses_anonymous_args = 0 1141 @ link register save eliminated. 576:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Prevent unused argument compilation warning */ 577:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** UNUSED(pdev); 1142 .loc 1 577 3 view .LVU315 578:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 579:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 1143 .loc 1 579 3 view .LVU316 580:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1144 .loc 1 580 1 is_stmt 0 view .LVU317 1145 0000 0020 movs r0, #0 1146 .LVL111: 1147 .loc 1 580 1 view .LVU318 1148 0002 7047 bx lr 1149 .cfi_endproc 1150 .LFE673: 1152 .section .text.USBD_LL_DevDisconnected,"ax",%progbits 1153 .align 1 1154 .global USBD_LL_DevDisconnected 1155 .syntax unified 1156 .thumb 1157 .thumb_func 1159 USBD_LL_DevDisconnected: 1160 .LVL112: 1161 .LFB674: 581:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 582:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 583:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_DevDisconnected 584:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle device disconnection event 585:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 586:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status 587:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 588:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_DevDisconnected(USBD_HandleTypeDef *pdev) 589:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 1162 .loc 1 589 1 is_stmt 1 view -0 1163 .cfi_startproc 1164 @ args = 0, pretend = 0, frame = 0 1165 @ frame_needed = 0, uses_anonymous_args = 0 1166 .loc 1 589 1 is_stmt 0 view .LVU320 1167 0000 08B5 push {r3, lr} 1168 .LCFI12: 1169 .cfi_def_cfa_offset 8 1170 .cfi_offset 3, -8 1171 .cfi_offset 14, -4 590:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Free Class Resources */ ARM GAS /tmp/cc7t8dPw.s page 33 591:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_state = USBD_STATE_DEFAULT; 1172 .loc 1 591 3 is_stmt 1 view .LVU321 1173 .loc 1 591 19 is_stmt 0 view .LVU322 1174 0002 0122 movs r2, #1 1175 0004 80F89C22 strb r2, [r0, #668] 592:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass->DeInit(pdev, (uint8_t)pdev->dev_config); 1176 .loc 1 592 3 is_stmt 1 view .LVU323 1177 .loc 1 592 7 is_stmt 0 view .LVU324 1178 0008 D0F8B422 ldr r2, [r0, #692] 1179 .loc 1 592 15 view .LVU325 1180 000c 5268 ldr r2, [r2, #4] 1181 .loc 1 592 3 view .LVU326 1182 000e 0179 ldrb r1, [r0, #4] @ zero_extendqisi2 1183 0010 9047 blx r2 1184 .LVL113: 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; 1185 .loc 1 594 3 is_stmt 1 view .LVU327 595:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 1186 .loc 1 595 1 is_stmt 0 view .LVU328 1187 0012 0020 movs r0, #0 1188 0014 08BD pop {r3, pc} 1189 .cfi_endproc 1190 .LFE674: 1192 .text 1193 .Letext0: 1194 .file 2 "/opt/gcc-arm/arm-none-eabi/include/machine/_default_types.h" 1195 .file 3 "/opt/gcc-arm/arm-none-eabi/include/sys/_stdint.h" 1196 .file 4 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_dma.h" 1197 .file 5 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_tim.h" 1198 .file 6 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h" 1199 .file 7 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h" 1200 .file 8 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h" 1201 .file 9 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h" ARM GAS /tmp/cc7t8dPw.s page 34 DEFINED SYMBOLS *ABS*:0000000000000000 usbd_core.c /tmp/cc7t8dPw.s:18 .text.USBD_Init:0000000000000000 $t /tmp/cc7t8dPw.s:24 .text.USBD_Init:0000000000000000 USBD_Init /tmp/cc7t8dPw.s:93 .text.USBD_DeInit:0000000000000000 $t /tmp/cc7t8dPw.s:99 .text.USBD_DeInit:0000000000000000 USBD_DeInit /tmp/cc7t8dPw.s:143 .text.USBD_RegisterClass:0000000000000000 $t /tmp/cc7t8dPw.s:149 .text.USBD_RegisterClass:0000000000000000 USBD_RegisterClass /tmp/cc7t8dPw.s:182 .text.USBD_Start:0000000000000000 $t /tmp/cc7t8dPw.s:188 .text.USBD_Start:0000000000000000 USBD_Start /tmp/cc7t8dPw.s:212 .text.USBD_Stop:0000000000000000 $t /tmp/cc7t8dPw.s:218 .text.USBD_Stop:0000000000000000 USBD_Stop /tmp/cc7t8dPw.s:254 .text.USBD_RunTestMode:0000000000000000 $t /tmp/cc7t8dPw.s:260 .text.USBD_RunTestMode:0000000000000000 USBD_RunTestMode /tmp/cc7t8dPw.s:279 .text.USBD_SetClassConfig:0000000000000000 $t /tmp/cc7t8dPw.s:285 .text.USBD_SetClassConfig:0000000000000000 USBD_SetClassConfig /tmp/cc7t8dPw.s:334 .text.USBD_ClrClassConfig:0000000000000000 $t /tmp/cc7t8dPw.s:340 .text.USBD_ClrClassConfig:0000000000000000 USBD_ClrClassConfig /tmp/cc7t8dPw.s:369 .text.USBD_LL_SetupStage:0000000000000000 $t /tmp/cc7t8dPw.s:375 .text.USBD_LL_SetupStage:0000000000000000 USBD_LL_SetupStage /tmp/cc7t8dPw.s:457 .text.USBD_LL_DataOutStage:0000000000000000 $t /tmp/cc7t8dPw.s:463 .text.USBD_LL_DataOutStage:0000000000000000 USBD_LL_DataOutStage /tmp/cc7t8dPw.s:624 .text.USBD_LL_DataInStage:0000000000000000 $t /tmp/cc7t8dPw.s:630 .text.USBD_LL_DataInStage:0000000000000000 USBD_LL_DataInStage /tmp/cc7t8dPw.s:840 .text.USBD_LL_Reset:0000000000000000 $t /tmp/cc7t8dPw.s:846 .text.USBD_LL_Reset:0000000000000000 USBD_LL_Reset /tmp/cc7t8dPw.s:927 .text.USBD_LL_SetSpeed:0000000000000000 $t /tmp/cc7t8dPw.s:933 .text.USBD_LL_SetSpeed:0000000000000000 USBD_LL_SetSpeed /tmp/cc7t8dPw.s:954 .text.USBD_LL_Suspend:0000000000000000 $t /tmp/cc7t8dPw.s:960 .text.USBD_LL_Suspend:0000000000000000 USBD_LL_Suspend /tmp/cc7t8dPw.s:987 .text.USBD_LL_Resume:0000000000000000 $t /tmp/cc7t8dPw.s:993 .text.USBD_LL_Resume:0000000000000000 USBD_LL_Resume /tmp/cc7t8dPw.s:1026 .text.USBD_LL_SOF:0000000000000000 $t /tmp/cc7t8dPw.s:1032 .text.USBD_LL_SOF:0000000000000000 USBD_LL_SOF /tmp/cc7t8dPw.s:1076 .text.USBD_LL_IsoINIncomplete:0000000000000000 $t /tmp/cc7t8dPw.s:1082 .text.USBD_LL_IsoINIncomplete:0000000000000000 USBD_LL_IsoINIncomplete /tmp/cc7t8dPw.s:1102 .text.USBD_LL_IsoOUTIncomplete:0000000000000000 $t /tmp/cc7t8dPw.s:1108 .text.USBD_LL_IsoOUTIncomplete:0000000000000000 USBD_LL_IsoOUTIncomplete /tmp/cc7t8dPw.s:1128 .text.USBD_LL_DevConnected:0000000000000000 $t /tmp/cc7t8dPw.s:1134 .text.USBD_LL_DevConnected:0000000000000000 USBD_LL_DevConnected /tmp/cc7t8dPw.s:1153 .text.USBD_LL_DevDisconnected:0000000000000000 $t /tmp/cc7t8dPw.s:1159 .text.USBD_LL_DevDisconnected:0000000000000000 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_CtlContinueRx USBD_CtlSendStatus USBD_CtlReceiveStatus USBD_CtlContinueSendData ARM GAS /tmp/cc7t8dPw.s page 35 USBD_LL_PrepareReceive USBD_LL_OpenEP