ARM GAS /tmp/ccwGKCfR.s page 1 1 .cpu cortex-m4 2 .arch armv7e-m 3 .fpu fpv4-sp-d16 4 .eabi_attribute 27, 1 5 .eabi_attribute 28, 1 6 .eabi_attribute 20, 1 7 .eabi_attribute 21, 1 8 .eabi_attribute 23, 3 9 .eabi_attribute 24, 1 10 .eabi_attribute 25, 1 11 .eabi_attribute 26, 1 12 .eabi_attribute 30, 1 13 .eabi_attribute 34, 1 14 .eabi_attribute 18, 4 15 .file "usbd_ioreq.c" 16 .text 17 .Ltext0: 18 .cfi_sections .debug_frame 19 .file 1 "Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c" 20 .section .text.USBD_CtlSendData,"ax",%progbits 21 .align 1 22 .global USBD_CtlSendData 23 .syntax unified 24 .thumb 25 .thumb_func 27 USBD_CtlSendData: 28 .LVL0: 29 .LFB243: 1:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** 2:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** ****************************************************************************** 3:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @file usbd_ioreq.c 4:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @author MCD Application Team 5:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief This file provides the IO requests APIs for control endpoints. 6:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** ****************************************************************************** 7:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @attention 8:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * 9:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * Copyright (c) 2015 STMicroelectronics. 10:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * All rights reserved. 11:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * 12:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * This software is licensed under terms that can be found in the LICENSE file 13:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * in the root directory of this software component. 14:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * If no LICENSE file comes with this software, it is provided AS-IS. 15:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * 16:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** ****************************************************************************** 17:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 18:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 19:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Includes ------------------------------------------------------------------*/ 20:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** #include "usbd_ioreq.h" 21:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 22:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @addtogroup STM32_USB_DEVICE_LIBRARY 23:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @{ 24:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 25:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 26:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 27:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @defgroup USBD_IOREQ 28:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief control I/O requests module 29:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @{ ARM GAS /tmp/ccwGKCfR.s page 2 30:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 31:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 32:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @defgroup USBD_IOREQ_Private_TypesDefinitions 33:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @{ 34:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 35:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** 36:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @} 37:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 38:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 39:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 40:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @defgroup USBD_IOREQ_Private_Defines 41:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @{ 42:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 43:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 44:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** 45:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @} 46:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 47:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 48:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 49:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @defgroup USBD_IOREQ_Private_Macros 50:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @{ 51:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 52:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** 53:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @} 54:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 55:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 56:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 57:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @defgroup USBD_IOREQ_Private_Variables 58:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @{ 59:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 60:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 61:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** 62:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @} 63:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 64:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 65:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 66:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @defgroup USBD_IOREQ_Private_FunctionPrototypes 67:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @{ 68:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 69:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** 70:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @} 71:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 72:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 73:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 74:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @defgroup USBD_IOREQ_Private_Functions 75:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @{ 76:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 77:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 78:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** 79:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief USBD_CtlSendData 80:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * send data on the ctl pipe 81:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param pdev: device instance 82:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param buff: pointer to data buffer 83:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param len: length of data to be sent 84:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @retval status 85:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 86:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_StatusTypeDef USBD_CtlSendData(USBD_HandleTypeDef *pdev, ARM GAS /tmp/ccwGKCfR.s page 3 87:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint8_t *pbuf, uint32_t len) 88:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** { 30 .loc 1 88 1 view -0 31 .cfi_startproc 32 @ args = 0, pretend = 0, frame = 0 33 @ frame_needed = 0, uses_anonymous_args = 0 34 .loc 1 88 1 is_stmt 0 view .LVU1 35 0000 08B5 push {r3, lr} 36 .LCFI0: 37 .cfi_def_cfa_offset 8 38 .cfi_offset 3, -8 39 .cfi_offset 14, -4 40 0002 1346 mov r3, r2 89:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Set EP0 State */ 90:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep0_state = USBD_EP0_DATA_IN; 41 .loc 1 90 3 is_stmt 1 view .LVU2 42 .loc 1 90 19 is_stmt 0 view .LVU3 43 0004 0222 movs r2, #2 44 .LVL1: 45 .loc 1 90 19 view .LVU4 46 0006 C0F89422 str r2, [r0, #660] 91:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_in[0].total_length = len; 47 .loc 1 91 3 is_stmt 1 view .LVU5 48 .loc 1 91 31 is_stmt 0 view .LVU6 49 000a 4361 str r3, [r0, #20] 92:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_in[0].pbuffer = pbuf; 50 .loc 1 92 3 is_stmt 1 view .LVU7 51 .loc 1 92 26 is_stmt 0 view .LVU8 52 000c 4162 str r1, [r0, #36] 93:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 94:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** #ifdef USBD_AVOID_PACKET_SPLIT_MPS 95:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_in[0].rem_length = 0U; 96:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** #else 97:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_in[0].rem_length = len; 53 .loc 1 97 3 is_stmt 1 view .LVU9 54 .loc 1 97 29 is_stmt 0 view .LVU10 55 000e 8361 str r3, [r0, #24] 98:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** #endif /* USBD_AVOID_PACKET_SPLIT_MPS */ 99:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 100:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Start the transfer */ 101:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** (void)USBD_LL_Transmit(pdev, 0x00U, pbuf, len); 56 .loc 1 101 3 is_stmt 1 view .LVU11 57 .loc 1 101 9 is_stmt 0 view .LVU12 58 0010 0A46 mov r2, r1 59 0012 0021 movs r1, #0 60 .LVL2: 61 .loc 1 101 9 view .LVU13 62 0014 FFF7FEFF bl USBD_LL_Transmit 63 .LVL3: 102:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 103:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** return USBD_OK; 64 .loc 1 103 3 is_stmt 1 view .LVU14 104:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** } 65 .loc 1 104 1 is_stmt 0 view .LVU15 66 0018 0020 movs r0, #0 67 001a 08BD pop {r3, pc} 68 .cfi_endproc ARM GAS /tmp/ccwGKCfR.s page 4 69 .LFE243: 71 .section .text.USBD_CtlContinueSendData,"ax",%progbits 72 .align 1 73 .global USBD_CtlContinueSendData 74 .syntax unified 75 .thumb 76 .thumb_func 78 USBD_CtlContinueSendData: 79 .LVL4: 80 .LFB244: 105:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 106:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** 107:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief USBD_CtlContinueSendData 108:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * continue sending data on the ctl pipe 109:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param pdev: device instance 110:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param buff: pointer to data buffer 111:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param len: length of data to be sent 112:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @retval status 113:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 114:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_StatusTypeDef USBD_CtlContinueSendData(USBD_HandleTypeDef *pdev, 115:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint8_t *pbuf, uint32_t len) 116:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** { 81 .loc 1 116 1 is_stmt 1 view -0 82 .cfi_startproc 83 @ args = 0, pretend = 0, frame = 0 84 @ frame_needed = 0, uses_anonymous_args = 0 85 .loc 1 116 1 is_stmt 0 view .LVU17 86 0000 08B5 push {r3, lr} 87 .LCFI1: 88 .cfi_def_cfa_offset 8 89 .cfi_offset 3, -8 90 .cfi_offset 14, -4 91 0002 1346 mov r3, r2 117:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Start the next transfer */ 118:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** (void)USBD_LL_Transmit(pdev, 0x00U, pbuf, len); 92 .loc 1 118 3 is_stmt 1 view .LVU18 93 .loc 1 118 9 is_stmt 0 view .LVU19 94 0004 0A46 mov r2, r1 95 .LVL5: 96 .loc 1 118 9 view .LVU20 97 0006 0021 movs r1, #0 98 .LVL6: 99 .loc 1 118 9 view .LVU21 100 0008 FFF7FEFF bl USBD_LL_Transmit 101 .LVL7: 119:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 120:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** return USBD_OK; 102 .loc 1 120 3 is_stmt 1 view .LVU22 121:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** } 103 .loc 1 121 1 is_stmt 0 view .LVU23 104 000c 0020 movs r0, #0 105 000e 08BD pop {r3, pc} 106 .cfi_endproc 107 .LFE244: 109 .section .text.USBD_CtlPrepareRx,"ax",%progbits 110 .align 1 111 .global USBD_CtlPrepareRx ARM GAS /tmp/ccwGKCfR.s page 5 112 .syntax unified 113 .thumb 114 .thumb_func 116 USBD_CtlPrepareRx: 117 .LVL8: 118 .LFB245: 122:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 123:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** 124:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief USBD_CtlPrepareRx 125:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * receive data on the ctl pipe 126:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param pdev: device instance 127:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param buff: pointer to data buffer 128:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param len: length of data to be received 129:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @retval status 130:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 131:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_StatusTypeDef USBD_CtlPrepareRx(USBD_HandleTypeDef *pdev, 132:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint8_t *pbuf, uint32_t len) 133:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** { 119 .loc 1 133 1 is_stmt 1 view -0 120 .cfi_startproc 121 @ args = 0, pretend = 0, frame = 0 122 @ frame_needed = 0, uses_anonymous_args = 0 123 .loc 1 133 1 is_stmt 0 view .LVU25 124 0000 08B5 push {r3, lr} 125 .LCFI2: 126 .cfi_def_cfa_offset 8 127 .cfi_offset 3, -8 128 .cfi_offset 14, -4 129 0002 1346 mov r3, r2 134:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Set EP0 State */ 135:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep0_state = USBD_EP0_DATA_OUT; 130 .loc 1 135 3 is_stmt 1 view .LVU26 131 .loc 1 135 19 is_stmt 0 view .LVU27 132 0004 0322 movs r2, #3 133 .LVL9: 134 .loc 1 135 19 view .LVU28 135 0006 C0F89422 str r2, [r0, #660] 136:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_out[0].total_length = len; 136 .loc 1 136 3 is_stmt 1 view .LVU29 137 .loc 1 136 32 is_stmt 0 view .LVU30 138 000a C0F85431 str r3, [r0, #340] 137:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_out[0].pbuffer = pbuf; 139 .loc 1 137 3 is_stmt 1 view .LVU31 140 .loc 1 137 27 is_stmt 0 view .LVU32 141 000e C0F86411 str r1, [r0, #356] 138:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 139:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** #ifdef USBD_AVOID_PACKET_SPLIT_MPS 140:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_out[0].rem_length = 0U; 141:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** #else 142:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_out[0].rem_length = len; 142 .loc 1 142 3 is_stmt 1 view .LVU33 143 .loc 1 142 30 is_stmt 0 view .LVU34 144 0012 C0F85831 str r3, [r0, #344] 143:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** #endif /* USBD_AVOID_PACKET_SPLIT_MPS */ 144:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 145:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Start the transfer */ 146:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** (void)USBD_LL_PrepareReceive(pdev, 0U, pbuf, len); ARM GAS /tmp/ccwGKCfR.s page 6 145 .loc 1 146 3 is_stmt 1 view .LVU35 146 .loc 1 146 9 is_stmt 0 view .LVU36 147 0016 0A46 mov r2, r1 148 0018 0021 movs r1, #0 149 .LVL10: 150 .loc 1 146 9 view .LVU37 151 001a FFF7FEFF bl USBD_LL_PrepareReceive 152 .LVL11: 147:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 148:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** return USBD_OK; 153 .loc 1 148 3 is_stmt 1 view .LVU38 149:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** } 154 .loc 1 149 1 is_stmt 0 view .LVU39 155 001e 0020 movs r0, #0 156 0020 08BD pop {r3, pc} 157 .cfi_endproc 158 .LFE245: 160 .section .text.USBD_CtlContinueRx,"ax",%progbits 161 .align 1 162 .global USBD_CtlContinueRx 163 .syntax unified 164 .thumb 165 .thumb_func 167 USBD_CtlContinueRx: 168 .LVL12: 169 .LFB246: 150:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 151:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** 152:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief USBD_CtlContinueRx 153:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * continue receive data on the ctl pipe 154:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param pdev: device instance 155:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param buff: pointer to data buffer 156:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param len: length of data to be received 157:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @retval status 158:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 159:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_StatusTypeDef USBD_CtlContinueRx(USBD_HandleTypeDef *pdev, 160:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint8_t *pbuf, uint32_t len) 161:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** { 170 .loc 1 161 1 is_stmt 1 view -0 171 .cfi_startproc 172 @ args = 0, pretend = 0, frame = 0 173 @ frame_needed = 0, uses_anonymous_args = 0 174 .loc 1 161 1 is_stmt 0 view .LVU41 175 0000 08B5 push {r3, lr} 176 .LCFI3: 177 .cfi_def_cfa_offset 8 178 .cfi_offset 3, -8 179 .cfi_offset 14, -4 180 0002 1346 mov r3, r2 162:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** (void)USBD_LL_PrepareReceive(pdev, 0U, pbuf, len); 181 .loc 1 162 3 is_stmt 1 view .LVU42 182 .loc 1 162 9 is_stmt 0 view .LVU43 183 0004 0A46 mov r2, r1 184 .LVL13: 185 .loc 1 162 9 view .LVU44 186 0006 0021 movs r1, #0 187 .LVL14: ARM GAS /tmp/ccwGKCfR.s page 7 188 .loc 1 162 9 view .LVU45 189 0008 FFF7FEFF bl USBD_LL_PrepareReceive 190 .LVL15: 163:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 164:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** return USBD_OK; 191 .loc 1 164 3 is_stmt 1 view .LVU46 165:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** } 192 .loc 1 165 1 is_stmt 0 view .LVU47 193 000c 0020 movs r0, #0 194 000e 08BD pop {r3, pc} 195 .cfi_endproc 196 .LFE246: 198 .section .text.USBD_CtlSendStatus,"ax",%progbits 199 .align 1 200 .global USBD_CtlSendStatus 201 .syntax unified 202 .thumb 203 .thumb_func 205 USBD_CtlSendStatus: 206 .LVL16: 207 .LFB247: 166:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 167:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** 168:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief USBD_CtlSendStatus 169:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * send zero lzngth packet on the ctl pipe 170:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param pdev: device instance 171:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @retval status 172:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 173:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_StatusTypeDef USBD_CtlSendStatus(USBD_HandleTypeDef *pdev) 174:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** { 208 .loc 1 174 1 is_stmt 1 view -0 209 .cfi_startproc 210 @ args = 0, pretend = 0, frame = 0 211 @ frame_needed = 0, uses_anonymous_args = 0 212 .loc 1 174 1 is_stmt 0 view .LVU49 213 0000 08B5 push {r3, lr} 214 .LCFI4: 215 .cfi_def_cfa_offset 8 216 .cfi_offset 3, -8 217 .cfi_offset 14, -4 175:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Set EP0 State */ 176:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep0_state = USBD_EP0_STATUS_IN; 218 .loc 1 176 3 is_stmt 1 view .LVU50 219 .loc 1 176 19 is_stmt 0 view .LVU51 220 0002 0422 movs r2, #4 221 0004 C0F89422 str r2, [r0, #660] 177:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 178:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Start the transfer */ 179:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** (void)USBD_LL_Transmit(pdev, 0x00U, NULL, 0U); 222 .loc 1 179 3 is_stmt 1 view .LVU52 223 .loc 1 179 9 is_stmt 0 view .LVU53 224 0008 0023 movs r3, #0 225 000a 1A46 mov r2, r3 226 000c 1946 mov r1, r3 227 000e FFF7FEFF bl USBD_LL_Transmit 228 .LVL17: 180:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** ARM GAS /tmp/ccwGKCfR.s page 8 181:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** return USBD_OK; 229 .loc 1 181 3 is_stmt 1 view .LVU54 182:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** } 230 .loc 1 182 1 is_stmt 0 view .LVU55 231 0012 0020 movs r0, #0 232 0014 08BD pop {r3, pc} 233 .cfi_endproc 234 .LFE247: 236 .section .text.USBD_CtlReceiveStatus,"ax",%progbits 237 .align 1 238 .global USBD_CtlReceiveStatus 239 .syntax unified 240 .thumb 241 .thumb_func 243 USBD_CtlReceiveStatus: 244 .LVL18: 245 .LFB248: 183:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 184:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** 185:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief USBD_CtlReceiveStatus 186:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * receive zero lzngth packet on the ctl pipe 187:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param pdev: device instance 188:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @retval status 189:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 190:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_StatusTypeDef USBD_CtlReceiveStatus(USBD_HandleTypeDef *pdev) 191:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** { 246 .loc 1 191 1 is_stmt 1 view -0 247 .cfi_startproc 248 @ args = 0, pretend = 0, frame = 0 249 @ frame_needed = 0, uses_anonymous_args = 0 250 .loc 1 191 1 is_stmt 0 view .LVU57 251 0000 08B5 push {r3, lr} 252 .LCFI5: 253 .cfi_def_cfa_offset 8 254 .cfi_offset 3, -8 255 .cfi_offset 14, -4 192:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Set EP0 State */ 193:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep0_state = USBD_EP0_STATUS_OUT; 256 .loc 1 193 3 is_stmt 1 view .LVU58 257 .loc 1 193 19 is_stmt 0 view .LVU59 258 0002 0522 movs r2, #5 259 0004 C0F89422 str r2, [r0, #660] 194:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 195:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Start the transfer */ 196:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** (void)USBD_LL_PrepareReceive(pdev, 0U, NULL, 0U); 260 .loc 1 196 3 is_stmt 1 view .LVU60 261 .loc 1 196 9 is_stmt 0 view .LVU61 262 0008 0023 movs r3, #0 263 000a 1A46 mov r2, r3 264 000c 1946 mov r1, r3 265 000e FFF7FEFF bl USBD_LL_PrepareReceive 266 .LVL19: 197:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 198:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** return USBD_OK; 267 .loc 1 198 3 is_stmt 1 view .LVU62 199:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** } 268 .loc 1 199 1 is_stmt 0 view .LVU63 ARM GAS /tmp/ccwGKCfR.s page 9 269 0012 0020 movs r0, #0 270 0014 08BD pop {r3, pc} 271 .cfi_endproc 272 .LFE248: 274 .section .text.USBD_GetRxCount,"ax",%progbits 275 .align 1 276 .global USBD_GetRxCount 277 .syntax unified 278 .thumb 279 .thumb_func 281 USBD_GetRxCount: 282 .LVL20: 283 .LFB249: 200:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 201:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** 202:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief USBD_GetRxCount 203:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * returns the received data length 204:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param pdev: device instance 205:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param ep_addr: endpoint address 206:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @retval Rx Data blength 207:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 208:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint32_t USBD_GetRxCount(USBD_HandleTypeDef *pdev, uint8_t ep_addr) 209:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** { 284 .loc 1 209 1 is_stmt 1 view -0 285 .cfi_startproc 286 @ args = 0, pretend = 0, frame = 0 287 @ frame_needed = 0, uses_anonymous_args = 0 288 .loc 1 209 1 is_stmt 0 view .LVU65 289 0000 08B5 push {r3, lr} 290 .LCFI6: 291 .cfi_def_cfa_offset 8 292 .cfi_offset 3, -8 293 .cfi_offset 14, -4 210:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** return USBD_LL_GetRxDataSize(pdev, ep_addr); 294 .loc 1 210 3 is_stmt 1 view .LVU66 295 .loc 1 210 10 is_stmt 0 view .LVU67 296 0002 FFF7FEFF bl USBD_LL_GetRxDataSize 297 .LVL21: 211:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** } 298 .loc 1 211 1 view .LVU68 299 0006 08BD pop {r3, pc} 300 .cfi_endproc 301 .LFE249: 303 .text 304 .Letext0: 305 .file 2 "/usr/lib/gcc/arm-none-eabi/13.2.1/include/stdint.h" 306 .file 3 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h" 307 .file 4 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h" ARM GAS /tmp/ccwGKCfR.s page 10 DEFINED SYMBOLS *ABS*:00000000 usbd_ioreq.c /tmp/ccwGKCfR.s:21 .text.USBD_CtlSendData:00000000 $t /tmp/ccwGKCfR.s:27 .text.USBD_CtlSendData:00000000 USBD_CtlSendData /tmp/ccwGKCfR.s:72 .text.USBD_CtlContinueSendData:00000000 $t /tmp/ccwGKCfR.s:78 .text.USBD_CtlContinueSendData:00000000 USBD_CtlContinueSendData /tmp/ccwGKCfR.s:110 .text.USBD_CtlPrepareRx:00000000 $t /tmp/ccwGKCfR.s:116 .text.USBD_CtlPrepareRx:00000000 USBD_CtlPrepareRx /tmp/ccwGKCfR.s:161 .text.USBD_CtlContinueRx:00000000 $t /tmp/ccwGKCfR.s:167 .text.USBD_CtlContinueRx:00000000 USBD_CtlContinueRx /tmp/ccwGKCfR.s:199 .text.USBD_CtlSendStatus:00000000 $t /tmp/ccwGKCfR.s:205 .text.USBD_CtlSendStatus:00000000 USBD_CtlSendStatus /tmp/ccwGKCfR.s:237 .text.USBD_CtlReceiveStatus:00000000 $t /tmp/ccwGKCfR.s:243 .text.USBD_CtlReceiveStatus:00000000 USBD_CtlReceiveStatus /tmp/ccwGKCfR.s:275 .text.USBD_GetRxCount:00000000 $t /tmp/ccwGKCfR.s:281 .text.USBD_GetRxCount:00000000 USBD_GetRxCount UNDEFINED SYMBOLS USBD_LL_Transmit USBD_LL_PrepareReceive USBD_LL_GetRxDataSize