ARM GAS /tmp/ccl01Qp8.s page 1 1 .cpu cortex-m0 2 .eabi_attribute 20, 1 3 .eabi_attribute 21, 1 4 .eabi_attribute 23, 3 5 .eabi_attribute 24, 1 6 .eabi_attribute 25, 1 7 .eabi_attribute 26, 1 8 .eabi_attribute 30, 1 9 .eabi_attribute 34, 0 10 .eabi_attribute 18, 4 11 .file "usbd_ioreq.c" 12 .text 13 .Ltext0: 14 .cfi_sections .debug_frame 15 .section .text.USBD_CtlSendData,"ax",%progbits 16 .align 1 17 .global USBD_CtlSendData 18 .syntax unified 19 .code 16 20 .thumb_func 21 .fpu softvfp 23 USBD_CtlSendData: 24 .LFB43: 25 .file 1 "Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c" 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 **** * @version V2.4.2 6:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @date 11-December-2015 7:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief This file provides the IO requests APIs for control endpoints. 8:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** ****************************************************************************** 9:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @attention 10:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * 11:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** *

© COPYRIGHT 2015 STMicroelectronics

12:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * 13:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 14:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * You may not use this file except in compliance with the License. 15:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * You may obtain a copy of the License at: 16:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * 17:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * http://www.st.com/software_license_agreement_liberty_v2 18:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * 19:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * Unless required by applicable law or agreed to in writing, software 20:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * distributed under the License is distributed on an "AS IS" BASIS, 21:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 22:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * See the License for the specific language governing permissions and 23:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * limitations under the License. 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 **** 28:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Includes ------------------------------------------------------------------*/ 29:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** #include "usbd_ioreq.h" 30:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 31:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @addtogroup STM32_USB_DEVICE_LIBRARY 32:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @{ 33:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ ARM GAS /tmp/ccl01Qp8.s page 2 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 **** /** @defgroup USBD_IOREQ 37:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief control I/O requests module 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 **** 41:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @defgroup USBD_IOREQ_Private_TypesDefinitions 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_Defines 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 **** 58:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @defgroup USBD_IOREQ_Private_Macros 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_Variables 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 **** 75:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @defgroup USBD_IOREQ_Private_FunctionPrototypes 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 **** * @} 80:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 81:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 82:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 83:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @defgroup USBD_IOREQ_Private_Functions 84:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @{ 85:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 86:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 87:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** 88:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief USBD_CtlSendData 89:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * send data on the ctl pipe 90:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param pdev: device instance ARM GAS /tmp/ccl01Qp8.s page 3 91:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param buff: pointer to data buffer 92:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param len: length of data to be sent 93:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @retval status 94:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 95:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_StatusTypeDef USBD_CtlSendData (USBD_HandleTypeDef *pdev, 96:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint8_t *pbuf, 97:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint16_t len) 98:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** { 26 .loc 1 98 0 27 .cfi_startproc 28 @ args = 0, pretend = 0, frame = 0 29 @ frame_needed = 0, uses_anonymous_args = 0 30 .LVL0: 31 0000 10B5 push {r4, lr} 32 .LCFI0: 33 .cfi_def_cfa_offset 8 34 .cfi_offset 4, -8 35 .cfi_offset 14, -4 36 0002 1300 movs r3, r2 99:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Set EP0 State */ 100:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep0_state = USBD_EP0_DATA_IN; 37 .loc 1 100 0 38 0004 FA22 movs r2, #250 39 .LVL1: 40 0006 5200 lsls r2, r2, #1 41 0008 0224 movs r4, #2 42 000a 8450 str r4, [r0, r2] 101:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_in[0].total_length = len; 43 .loc 1 101 0 44 000c 8361 str r3, [r0, #24] 102:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_in[0].rem_length = len; 45 .loc 1 102 0 46 000e C361 str r3, [r0, #28] 103:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Start the transfer */ 104:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_LL_Transmit (pdev, 0x00, pbuf, len); 47 .loc 1 104 0 48 0010 0A00 movs r2, r1 49 0012 0021 movs r1, #0 50 .LVL2: 51 0014 FFF7FEFF bl USBD_LL_Transmit 52 .LVL3: 105:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 106:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** return USBD_OK; 107:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** } 53 .loc 1 107 0 54 0018 0020 movs r0, #0 55 @ sp needed 56 001a 10BD pop {r4, pc} 57 .cfi_endproc 58 .LFE43: 60 .section .text.USBD_CtlContinueSendData,"ax",%progbits 61 .align 1 62 .global USBD_CtlContinueSendData 63 .syntax unified 64 .code 16 65 .thumb_func 66 .fpu softvfp ARM GAS /tmp/ccl01Qp8.s page 4 68 USBD_CtlContinueSendData: 69 .LFB44: 108:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 109:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** 110:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief USBD_CtlContinueSendData 111:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * continue sending data on the ctl pipe 112:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param pdev: device instance 113:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param buff: pointer to data buffer 114:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param len: length of data to be sent 115:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @retval status 116:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 117:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_StatusTypeDef USBD_CtlContinueSendData (USBD_HandleTypeDef *pdev, 118:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint8_t *pbuf, 119:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint16_t len) 120:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** { 70 .loc 1 120 0 71 .cfi_startproc 72 @ args = 0, pretend = 0, frame = 0 73 @ frame_needed = 0, uses_anonymous_args = 0 74 .LVL4: 75 0000 10B5 push {r4, lr} 76 .LCFI1: 77 .cfi_def_cfa_offset 8 78 .cfi_offset 4, -8 79 .cfi_offset 14, -4 80 0002 1300 movs r3, r2 121:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Start the next transfer */ 122:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_LL_Transmit (pdev, 0x00, pbuf, len); 81 .loc 1 122 0 82 0004 0A00 movs r2, r1 83 .LVL5: 84 0006 0021 movs r1, #0 85 .LVL6: 86 0008 FFF7FEFF bl USBD_LL_Transmit 87 .LVL7: 123:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 124:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** return USBD_OK; 125:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** } 88 .loc 1 125 0 89 000c 0020 movs r0, #0 90 @ sp needed 91 000e 10BD pop {r4, pc} 92 .cfi_endproc 93 .LFE44: 95 .section .text.USBD_CtlPrepareRx,"ax",%progbits 96 .align 1 97 .global USBD_CtlPrepareRx 98 .syntax unified 99 .code 16 100 .thumb_func 101 .fpu softvfp 103 USBD_CtlPrepareRx: 104 .LFB45: 126:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 127:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** 128:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief USBD_CtlPrepareRx 129:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * receive data on the ctl pipe ARM GAS /tmp/ccl01Qp8.s page 5 130:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param pdev: device instance 131:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param buff: pointer to data buffer 132:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param len: length of data to be received 133:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @retval status 134:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 135:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_StatusTypeDef USBD_CtlPrepareRx (USBD_HandleTypeDef *pdev, 136:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint8_t *pbuf, 137:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint16_t len) 138:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** { 105 .loc 1 138 0 106 .cfi_startproc 107 @ args = 0, pretend = 0, frame = 0 108 @ frame_needed = 0, uses_anonymous_args = 0 109 .LVL8: 110 0000 10B5 push {r4, lr} 111 .LCFI2: 112 .cfi_def_cfa_offset 8 113 .cfi_offset 4, -8 114 .cfi_offset 14, -4 115 0002 1300 movs r3, r2 139:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Set EP0 State */ 140:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep0_state = USBD_EP0_DATA_OUT; 116 .loc 1 140 0 117 0004 FA22 movs r2, #250 118 .LVL9: 119 0006 5200 lsls r2, r2, #1 120 0008 0324 movs r4, #3 121 000a 8450 str r4, [r0, r2] 141:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_out[0].total_length = len; 122 .loc 1 141 0 123 000c EC3A subs r2, r2, #236 124 000e 8350 str r3, [r0, r2] 142:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_out[0].rem_length = len; 125 .loc 1 142 0 126 0010 0432 adds r2, r2, #4 127 0012 8350 str r3, [r0, r2] 143:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Start the transfer */ 144:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_LL_PrepareReceive (pdev, 128 .loc 1 144 0 129 0014 0A00 movs r2, r1 130 0016 0021 movs r1, #0 131 .LVL10: 132 0018 FFF7FEFF bl USBD_LL_PrepareReceive 133 .LVL11: 145:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 0, 146:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pbuf, 147:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** len); 148:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 149:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** return USBD_OK; 150:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** } 134 .loc 1 150 0 135 001c 0020 movs r0, #0 136 @ sp needed 137 001e 10BD pop {r4, pc} 138 .cfi_endproc 139 .LFE45: 141 .section .text.USBD_CtlContinueRx,"ax",%progbits ARM GAS /tmp/ccl01Qp8.s page 6 142 .align 1 143 .global USBD_CtlContinueRx 144 .syntax unified 145 .code 16 146 .thumb_func 147 .fpu softvfp 149 USBD_CtlContinueRx: 150 .LFB46: 151:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 152:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** 153:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief USBD_CtlContinueRx 154:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * continue receive data on the ctl pipe 155:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param pdev: device instance 156:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param buff: pointer to data buffer 157:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param len: length of data to be received 158:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @retval status 159:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 160:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_StatusTypeDef USBD_CtlContinueRx (USBD_HandleTypeDef *pdev, 161:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint8_t *pbuf, 162:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint16_t len) 163:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** { 151 .loc 1 163 0 152 .cfi_startproc 153 @ args = 0, pretend = 0, frame = 0 154 @ frame_needed = 0, uses_anonymous_args = 0 155 .LVL12: 156 0000 10B5 push {r4, lr} 157 .LCFI3: 158 .cfi_def_cfa_offset 8 159 .cfi_offset 4, -8 160 .cfi_offset 14, -4 161 0002 1300 movs r3, r2 164:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 165:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_LL_PrepareReceive (pdev, 162 .loc 1 165 0 163 0004 0A00 movs r2, r1 164 .LVL13: 165 0006 0021 movs r1, #0 166 .LVL14: 167 0008 FFF7FEFF bl USBD_LL_PrepareReceive 168 .LVL15: 166:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 0, 167:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pbuf, 168:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** len); 169:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** return USBD_OK; 170:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** } 169 .loc 1 170 0 170 000c 0020 movs r0, #0 171 @ sp needed 172 000e 10BD pop {r4, pc} 173 .cfi_endproc 174 .LFE46: 176 .section .text.USBD_CtlSendStatus,"ax",%progbits 177 .align 1 178 .global USBD_CtlSendStatus 179 .syntax unified 180 .code 16 ARM GAS /tmp/ccl01Qp8.s page 7 181 .thumb_func 182 .fpu softvfp 184 USBD_CtlSendStatus: 185 .LFB47: 171:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** 172:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief USBD_CtlSendStatus 173:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * send zero lzngth packet on the ctl pipe 174:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param pdev: device instance 175:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @retval status 176:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 177:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_StatusTypeDef USBD_CtlSendStatus (USBD_HandleTypeDef *pdev) 178:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** { 186 .loc 1 178 0 187 .cfi_startproc 188 @ args = 0, pretend = 0, frame = 0 189 @ frame_needed = 0, uses_anonymous_args = 0 190 .LVL16: 191 0000 10B5 push {r4, lr} 192 .LCFI4: 193 .cfi_def_cfa_offset 8 194 .cfi_offset 4, -8 195 .cfi_offset 14, -4 179:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 180:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Set EP0 State */ 181:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep0_state = USBD_EP0_STATUS_IN; 196 .loc 1 181 0 197 0002 FA23 movs r3, #250 198 0004 5B00 lsls r3, r3, #1 199 0006 0422 movs r2, #4 200 0008 C250 str r2, [r0, r3] 182:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 183:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Start the transfer */ 184:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_LL_Transmit (pdev, 0x00, NULL, 0); 201 .loc 1 184 0 202 000a 0023 movs r3, #0 203 000c 0022 movs r2, #0 204 000e 0021 movs r1, #0 205 0010 FFF7FEFF bl USBD_LL_Transmit 206 .LVL17: 185:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 186:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** return USBD_OK; 187:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** } 207 .loc 1 187 0 208 0014 0020 movs r0, #0 209 @ sp needed 210 0016 10BD pop {r4, pc} 211 .cfi_endproc 212 .LFE47: 214 .section .text.USBD_CtlReceiveStatus,"ax",%progbits 215 .align 1 216 .global USBD_CtlReceiveStatus 217 .syntax unified 218 .code 16 219 .thumb_func 220 .fpu softvfp 222 USBD_CtlReceiveStatus: 223 .LFB48: ARM GAS /tmp/ccl01Qp8.s page 8 188:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 189:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** 190:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief USBD_CtlReceiveStatus 191:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * receive zero lzngth packet on the ctl pipe 192:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param pdev: device instance 193:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @retval status 194:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 195:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_StatusTypeDef USBD_CtlReceiveStatus (USBD_HandleTypeDef *pdev) 196:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** { 224 .loc 1 196 0 225 .cfi_startproc 226 @ args = 0, pretend = 0, frame = 0 227 @ frame_needed = 0, uses_anonymous_args = 0 228 .LVL18: 229 0000 10B5 push {r4, lr} 230 .LCFI5: 231 .cfi_def_cfa_offset 8 232 .cfi_offset 4, -8 233 .cfi_offset 14, -4 197:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Set EP0 State */ 198:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep0_state = USBD_EP0_STATUS_OUT; 234 .loc 1 198 0 235 0002 FA23 movs r3, #250 236 0004 5B00 lsls r3, r3, #1 237 0006 0522 movs r2, #5 238 0008 C250 str r2, [r0, r3] 199:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 200:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Start the transfer */ 201:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_LL_PrepareReceive ( pdev, 239 .loc 1 201 0 240 000a 0023 movs r3, #0 241 000c 0022 movs r2, #0 242 000e 0021 movs r1, #0 243 0010 FFF7FEFF bl USBD_LL_PrepareReceive 244 .LVL19: 202:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 0, 203:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** NULL, 204:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 0); 205:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 206:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** return USBD_OK; 207:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** } 245 .loc 1 207 0 246 0014 0020 movs r0, #0 247 @ sp needed 248 0016 10BD pop {r4, pc} 249 .cfi_endproc 250 .LFE48: 252 .section .text.USBD_GetRxCount,"ax",%progbits 253 .align 1 254 .global USBD_GetRxCount 255 .syntax unified 256 .code 16 257 .thumb_func 258 .fpu softvfp 260 USBD_GetRxCount: 261 .LFB49: 208:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** ARM GAS /tmp/ccl01Qp8.s page 9 209:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 210:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** 211:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief USBD_GetRxCount 212:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * returns the received data length 213:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param pdev: device instance 214:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param ep_addr: endpoint address 215:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @retval Rx Data blength 216:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 217:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint16_t USBD_GetRxCount (USBD_HandleTypeDef *pdev , uint8_t ep_addr) 218:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** { 262 .loc 1 218 0 263 .cfi_startproc 264 @ args = 0, pretend = 0, frame = 0 265 @ frame_needed = 0, uses_anonymous_args = 0 266 .LVL20: 267 0000 10B5 push {r4, lr} 268 .LCFI6: 269 .cfi_def_cfa_offset 8 270 .cfi_offset 4, -8 271 .cfi_offset 14, -4 219:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** return USBD_LL_GetRxDataSize(pdev, ep_addr); 272 .loc 1 219 0 273 0002 FFF7FEFF bl USBD_LL_GetRxDataSize 274 .LVL21: 275 0006 80B2 uxth r0, r0 220:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** } 276 .loc 1 220 0 277 @ sp needed 278 0008 10BD pop {r4, pc} 279 .cfi_endproc 280 .LFE49: 282 .text 283 .Letext0: 284 .file 2 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/machin 285 .file 3 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/_s 286 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h" 287 .file 5 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h" 288 .file 6 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/lo 289 .file 7 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/_t 290 .file 8 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/lib/gcc/arm-none-eabi/7.3.1/ 291 .file 9 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/re 292 .file 10 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/stdli 293 .file 11 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h" 294 .file 12 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h" ARM GAS /tmp/ccl01Qp8.s page 10 DEFINED SYMBOLS *ABS*:0000000000000000 usbd_ioreq.c /tmp/ccl01Qp8.s:16 .text.USBD_CtlSendData:0000000000000000 $t /tmp/ccl01Qp8.s:23 .text.USBD_CtlSendData:0000000000000000 USBD_CtlSendData /tmp/ccl01Qp8.s:61 .text.USBD_CtlContinueSendData:0000000000000000 $t /tmp/ccl01Qp8.s:68 .text.USBD_CtlContinueSendData:0000000000000000 USBD_CtlContinueSendData /tmp/ccl01Qp8.s:96 .text.USBD_CtlPrepareRx:0000000000000000 $t /tmp/ccl01Qp8.s:103 .text.USBD_CtlPrepareRx:0000000000000000 USBD_CtlPrepareRx /tmp/ccl01Qp8.s:142 .text.USBD_CtlContinueRx:0000000000000000 $t /tmp/ccl01Qp8.s:149 .text.USBD_CtlContinueRx:0000000000000000 USBD_CtlContinueRx /tmp/ccl01Qp8.s:177 .text.USBD_CtlSendStatus:0000000000000000 $t /tmp/ccl01Qp8.s:184 .text.USBD_CtlSendStatus:0000000000000000 USBD_CtlSendStatus /tmp/ccl01Qp8.s:215 .text.USBD_CtlReceiveStatus:0000000000000000 $t /tmp/ccl01Qp8.s:222 .text.USBD_CtlReceiveStatus:0000000000000000 USBD_CtlReceiveStatus /tmp/ccl01Qp8.s:253 .text.USBD_GetRxCount:0000000000000000 $t /tmp/ccl01Qp8.s:260 .text.USBD_GetRxCount:0000000000000000 USBD_GetRxCount UNDEFINED SYMBOLS USBD_LL_Transmit USBD_LL_PrepareReceive USBD_LL_GetRxDataSize