ARM GAS /tmp/cct5gwkq.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_core.c"
12 .text
13 .Ltext0:
14 .cfi_sections .debug_frame
15 .section .text.USBD_Init,"ax",%progbits
16 .align 1
17 .global USBD_Init
18 .syntax unified
19 .code 16
20 .thumb_func
21 .fpu softvfp
23 USBD_Init:
24 .LFB43:
25 .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 **** * @version V2.4.2
6:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @date 11-December-2015
7:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief This file provides all the USBD core functions.
8:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ******************************************************************************
9:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @attention
10:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** *
11:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** *
© COPYRIGHT 2015 STMicroelectronics
12:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** *
13:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
14:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * You may not use this file except in compliance with the License.
15:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * You may obtain a copy of the License at:
16:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** *
17:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * http://www.st.com/software_license_agreement_liberty_v2
18:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** *
19:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Unless required by applicable law or agreed to in writing, software
20:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * distributed under the License is distributed on an "AS IS" BASIS,
21:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * See the License for the specific language governing permissions and
23:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * limitations under the License.
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 **** /* Includes ------------------------------------------------------------------*/
29:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #include "usbd_core.h"
30:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
31:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** @addtogroup STM32_USBD_DEVICE_LIBRARY
32:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @{
33:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
ARM GAS /tmp/cct5gwkq.s page 2
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 **** /** @defgroup USBD_CORE
37:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief usbd core module
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 **** /** @defgroup USBD_CORE_Private_TypesDefinitions
42:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @{
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 **** /** @defgroup USBD_CORE_Private_Defines
50:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @{
51:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
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 **** /** @defgroup USBD_CORE_Private_Macros
59:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @{
60:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
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_FunctionPrototypes
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 **** /** @defgroup USBD_CORE_Private_Variables
77:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @{
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 **** */
83:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
84:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** @defgroup USBD_CORE_Private_Functions
85:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @{
86:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
87:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
88:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
89:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_Init
90:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Initializes the device stack and load the class driver
ARM GAS /tmp/cct5gwkq.s page 3
91:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
92:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdesc: Descriptor structure address
93:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param id: Low level core index
94:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval None
95:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
96:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_Init(USBD_HandleTypeDef *pdev, USBD_DescriptorsTypeDef *pdesc, uint8_t id)
97:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
26 .loc 1 97 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
98:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Check whether the USB Host handle is valid */
99:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if(pdev == NULL)
36 .loc 1 99 0
37 0002 0028 cmp r0, #0
38 0004 16D0 beq .L5
100:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
101:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_ErrLog("Invalid Device handle");
102:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_FAIL;
103:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
104:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
105:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Unlink previous class*/
106:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if(pdev->pClass != NULL)
39 .loc 1 106 0
40 0006 8523 movs r3, #133
41 0008 9B00 lsls r3, r3, #2
42 000a C358 ldr r3, [r0, r3]
43 000c 002B cmp r3, #0
44 000e 03D0 beq .L3
107:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
108:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass = NULL;
45 .loc 1 108 0
46 0010 8523 movs r3, #133
47 0012 9B00 lsls r3, r3, #2
48 0014 0024 movs r4, #0
49 0016 C450 str r4, [r0, r3]
50 .L3:
109:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
110:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
111:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Assign USBD Descriptors */
112:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if(pdesc != NULL)
51 .loc 1 112 0
52 0018 0029 cmp r1, #0
53 001a 02D0 beq .L4
113:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
114:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pDesc = pdesc;
54 .loc 1 114 0
55 001c 8423 movs r3, #132
56 001e 9B00 lsls r3, r3, #2
57 0020 C150 str r1, [r0, r3]
58 .L4:
ARM GAS /tmp/cct5gwkq.s page 4
115:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
116:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
117:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Set Device initial State */
118:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_state = USBD_STATE_DEFAULT;
59 .loc 1 118 0
60 0022 FE23 movs r3, #254
61 0024 5B00 lsls r3, r3, #1
62 0026 0121 movs r1, #1
63 .LVL1:
64 0028 C154 strb r1, [r0, r3]
119:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->id = id;
65 .loc 1 119 0
66 002a 0270 strb r2, [r0]
120:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Initialize low level driver */
121:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_Init(pdev);
67 .loc 1 121 0
68 002c FFF7FEFF bl USBD_LL_Init
69 .LVL2:
122:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
123:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
70 .loc 1 123 0
71 0030 0020 movs r0, #0
72 .L2:
124:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
73 .loc 1 124 0
74 @ sp needed
75 0032 10BD pop {r4, pc}
76 .LVL3:
77 .L5:
102:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
78 .loc 1 102 0
79 0034 0220 movs r0, #2
80 .LVL4:
81 0036 FCE7 b .L2
82 .cfi_endproc
83 .LFE43:
85 .section .text.USBD_DeInit,"ax",%progbits
86 .align 1
87 .global USBD_DeInit
88 .syntax unified
89 .code 16
90 .thumb_func
91 .fpu softvfp
93 USBD_DeInit:
94 .LFB44:
125:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
126:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
127:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_DeInit
128:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Re-Initialize th device library
129:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
130:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status: status
131:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
132:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_DeInit(USBD_HandleTypeDef *pdev)
133:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
95 .loc 1 133 0
96 .cfi_startproc
97 @ args = 0, pretend = 0, frame = 0
ARM GAS /tmp/cct5gwkq.s page 5
98 @ frame_needed = 0, uses_anonymous_args = 0
99 .LVL5:
100 0000 10B5 push {r4, lr}
101 .LCFI1:
102 .cfi_def_cfa_offset 8
103 .cfi_offset 4, -8
104 .cfi_offset 14, -4
105 0002 0400 movs r4, r0
134:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Set Default State */
135:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_state = USBD_STATE_DEFAULT;
106 .loc 1 135 0
107 0004 FE23 movs r3, #254
108 0006 5B00 lsls r3, r3, #1
109 0008 0122 movs r2, #1
110 000a C254 strb r2, [r0, r3]
136:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
137:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Free Class Resources */
138:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass->DeInit(pdev, pdev->dev_config);
111 .loc 1 138 0
112 000c 1833 adds r3, r3, #24
113 000e C358 ldr r3, [r0, r3]
114 0010 5B68 ldr r3, [r3, #4]
115 0012 0179 ldrb r1, [r0, #4]
116 0014 9847 blx r3
117 .LVL6:
139:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
140:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Stop the low level driver */
141:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_Stop(pdev);
118 .loc 1 141 0
119 0016 2000 movs r0, r4
120 0018 FFF7FEFF bl USBD_LL_Stop
121 .LVL7:
142:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
143:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Initialize low level driver */
144:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_DeInit(pdev);
122 .loc 1 144 0
123 001c 2000 movs r0, r4
124 001e FFF7FEFF bl USBD_LL_DeInit
125 .LVL8:
145:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
146:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
147:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
126 .loc 1 147 0
127 0022 0020 movs r0, #0
128 @ sp needed
129 .LVL9:
130 0024 10BD pop {r4, pc}
131 .cfi_endproc
132 .LFE44:
134 .section .text.USBD_RegisterClass,"ax",%progbits
135 .align 1
136 .global USBD_RegisterClass
137 .syntax unified
138 .code 16
139 .thumb_func
140 .fpu softvfp
142 USBD_RegisterClass:
ARM GAS /tmp/cct5gwkq.s page 6
143 .LFB45:
148:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
149:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
150:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
151:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_RegisterClass
152:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Link class driver to Device Core.
153:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pDevice : Device Handle
154:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pclass: Class handle
155:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval USBD Status
156:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
157:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_RegisterClass(USBD_HandleTypeDef *pdev, USBD_ClassTypeDef *pclass)
158:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
144 .loc 1 158 0
145 .cfi_startproc
146 @ args = 0, pretend = 0, frame = 0
147 @ frame_needed = 0, uses_anonymous_args = 0
148 @ link register save eliminated.
149 .LVL10:
159:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef status = USBD_OK;
160:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if(pclass != 0)
150 .loc 1 160 0
151 0000 0029 cmp r1, #0
152 0002 04D0 beq .L9
161:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
162:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* link the class to the USB Device handle */
163:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass = pclass;
153 .loc 1 163 0
154 0004 8523 movs r3, #133
155 0006 9B00 lsls r3, r3, #2
156 0008 C150 str r1, [r0, r3]
164:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** status = USBD_OK;
157 .loc 1 164 0
158 000a 0020 movs r0, #0
159 .LVL11:
160 .L8:
165:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
166:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else
167:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
168:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_ErrLog("Invalid Class handle");
169:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** status = USBD_FAIL;
170:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
171:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
172:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return status;
173:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
161 .loc 1 173 0
162 @ sp needed
163 000c 7047 bx lr
164 .LVL12:
165 .L9:
169:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
166 .loc 1 169 0
167 000e 0220 movs r0, #2
168 .LVL13:
169 0010 FCE7 b .L8
170 .cfi_endproc
171 .LFE45:
173 .section .text.USBD_Start,"ax",%progbits
ARM GAS /tmp/cct5gwkq.s page 7
174 .align 1
175 .global USBD_Start
176 .syntax unified
177 .code 16
178 .thumb_func
179 .fpu softvfp
181 USBD_Start:
182 .LFB46:
174:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
175:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
176:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_Start
177:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Start the USB Device Core.
178:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: Device Handle
179:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval USBD Status
180:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
181:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_Start (USBD_HandleTypeDef *pdev)
182:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
183 .loc 1 182 0
184 .cfi_startproc
185 @ args = 0, pretend = 0, frame = 0
186 @ frame_needed = 0, uses_anonymous_args = 0
187 .LVL14:
188 0000 10B5 push {r4, lr}
189 .LCFI2:
190 .cfi_def_cfa_offset 8
191 .cfi_offset 4, -8
192 .cfi_offset 14, -4
183:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
184:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Start the low level driver */
185:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_Start(pdev);
193 .loc 1 185 0
194 0002 FFF7FEFF bl USBD_LL_Start
195 .LVL15:
186:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
187:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
188:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
196 .loc 1 188 0
197 0006 0020 movs r0, #0
198 @ sp needed
199 0008 10BD pop {r4, pc}
200 .cfi_endproc
201 .LFE46:
203 .section .text.USBD_Stop,"ax",%progbits
204 .align 1
205 .global USBD_Stop
206 .syntax unified
207 .code 16
208 .thumb_func
209 .fpu softvfp
211 USBD_Stop:
212 .LFB47:
189:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
190:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
191:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_Stop
192:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Stop the USB Device Core.
193:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: Device Handle
194:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval USBD Status
ARM GAS /tmp/cct5gwkq.s page 8
195:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
196:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_Stop (USBD_HandleTypeDef *pdev)
197:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
213 .loc 1 197 0
214 .cfi_startproc
215 @ args = 0, pretend = 0, frame = 0
216 @ frame_needed = 0, uses_anonymous_args = 0
217 .LVL16:
218 0000 10B5 push {r4, lr}
219 .LCFI3:
220 .cfi_def_cfa_offset 8
221 .cfi_offset 4, -8
222 .cfi_offset 14, -4
223 0002 0400 movs r4, r0
198:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Free Class Resources */
199:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass->DeInit(pdev, pdev->dev_config);
224 .loc 1 199 0
225 0004 8523 movs r3, #133
226 0006 9B00 lsls r3, r3, #2
227 0008 C358 ldr r3, [r0, r3]
228 000a 5B68 ldr r3, [r3, #4]
229 000c 0179 ldrb r1, [r0, #4]
230 000e 9847 blx r3
231 .LVL17:
200:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
201:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Stop the low level driver */
202:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_Stop(pdev);
232 .loc 1 202 0
233 0010 2000 movs r0, r4
234 0012 FFF7FEFF bl USBD_LL_Stop
235 .LVL18:
203:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
204:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
205:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
236 .loc 1 205 0
237 0016 0020 movs r0, #0
238 @ sp needed
239 .LVL19:
240 0018 10BD pop {r4, pc}
241 .cfi_endproc
242 .LFE47:
244 .section .text.USBD_RunTestMode,"ax",%progbits
245 .align 1
246 .global USBD_RunTestMode
247 .syntax unified
248 .code 16
249 .thumb_func
250 .fpu softvfp
252 USBD_RunTestMode:
253 .LFB48:
206:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
207:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
208:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_RunTestMode
209:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Launch test mode process
210:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
211:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
212:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
ARM GAS /tmp/cct5gwkq.s page 9
213:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_RunTestMode (USBD_HandleTypeDef *pdev)
214:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
254 .loc 1 214 0
255 .cfi_startproc
256 @ args = 0, pretend = 0, frame = 0
257 @ frame_needed = 0, uses_anonymous_args = 0
258 @ link register save eliminated.
259 .LVL20:
215:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
216:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
260 .loc 1 216 0
261 0000 0020 movs r0, #0
262 .LVL21:
263 @ sp needed
264 0002 7047 bx lr
265 .cfi_endproc
266 .LFE48:
268 .section .text.USBD_SetClassConfig,"ax",%progbits
269 .align 1
270 .global USBD_SetClassConfig
271 .syntax unified
272 .code 16
273 .thumb_func
274 .fpu softvfp
276 USBD_SetClassConfig:
277 .LFB49:
217:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
218:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
219:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
220:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_SetClassConfig
221:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Configure device and start the interface
222:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
223:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param cfgidx: configuration index
224:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
225:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
226:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
227:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_SetClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx)
228:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
278 .loc 1 228 0
279 .cfi_startproc
280 @ args = 0, pretend = 0, frame = 0
281 @ frame_needed = 0, uses_anonymous_args = 0
282 .LVL22:
283 0000 10B5 push {r4, lr}
284 .LCFI4:
285 .cfi_def_cfa_offset 8
286 .cfi_offset 4, -8
287 .cfi_offset 14, -4
288 .LVL23:
229:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef ret = USBD_FAIL;
230:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
231:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if(pdev->pClass != NULL)
289 .loc 1 231 0
290 0002 8523 movs r3, #133
291 0004 9B00 lsls r3, r3, #2
292 0006 C358 ldr r3, [r0, r3]
293 0008 002B cmp r3, #0
ARM GAS /tmp/cct5gwkq.s page 10
294 000a 07D0 beq .L15
232:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
233:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Set configuration and Start the Class*/
234:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if(pdev->pClass->Init(pdev, cfgidx) == 0)
295 .loc 1 234 0
296 000c 1B68 ldr r3, [r3]
297 000e 9847 blx r3
298 .LVL24:
299 0010 0028 cmp r0, #0
300 0012 01D1 bne .L17
235:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
236:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_OK;
301 .loc 1 236 0
302 0014 0020 movs r0, #0
303 .L14:
304 .LVL25:
237:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
238:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
239:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return ret;
240:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
305 .loc 1 240 0
306 @ sp needed
307 0016 10BD pop {r4, pc}
308 .LVL26:
309 .L17:
229:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
310 .loc 1 229 0
311 0018 0220 movs r0, #2
312 001a FCE7 b .L14
313 .LVL27:
314 .L15:
315 001c 0220 movs r0, #2
316 .LVL28:
317 001e FAE7 b .L14
318 .cfi_endproc
319 .LFE49:
321 .section .text.USBD_ClrClassConfig,"ax",%progbits
322 .align 1
323 .global USBD_ClrClassConfig
324 .syntax unified
325 .code 16
326 .thumb_func
327 .fpu softvfp
329 USBD_ClrClassConfig:
330 .LFB50:
241:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
242:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
243:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_ClrClassConfig
244:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Clear current configuration
245:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
246:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param cfgidx: configuration index
247:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status: USBD_StatusTypeDef
248:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
249:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_ClrClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx)
250:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
331 .loc 1 250 0
332 .cfi_startproc
ARM GAS /tmp/cct5gwkq.s page 11
333 @ args = 0, pretend = 0, frame = 0
334 @ frame_needed = 0, uses_anonymous_args = 0
335 .LVL29:
336 0000 10B5 push {r4, lr}
337 .LCFI5:
338 .cfi_def_cfa_offset 8
339 .cfi_offset 4, -8
340 .cfi_offset 14, -4
251:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Clear configuration and De-initialize the Class process*/
252:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass->DeInit(pdev, cfgidx);
341 .loc 1 252 0
342 0002 8523 movs r3, #133
343 0004 9B00 lsls r3, r3, #2
344 0006 C358 ldr r3, [r0, r3]
345 0008 5B68 ldr r3, [r3, #4]
346 000a 9847 blx r3
347 .LVL30:
253:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
254:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
348 .loc 1 254 0
349 000c 0020 movs r0, #0
350 @ sp needed
351 000e 10BD pop {r4, pc}
352 .cfi_endproc
353 .LFE50:
355 .section .text.USBD_LL_SetupStage,"ax",%progbits
356 .align 1
357 .global USBD_LL_SetupStage
358 .syntax unified
359 .code 16
360 .thumb_func
361 .fpu softvfp
363 USBD_LL_SetupStage:
364 .LFB51:
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 **** */
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 **** {
365 .loc 1 264 0
366 .cfi_startproc
367 @ args = 0, pretend = 0, frame = 0
368 @ frame_needed = 0, uses_anonymous_args = 0
369 .LVL31:
370 0000 70B5 push {r4, r5, r6, lr}
371 .LCFI6:
372 .cfi_def_cfa_offset 16
373 .cfi_offset 4, -16
374 .cfi_offset 5, -12
375 .cfi_offset 6, -8
376 .cfi_offset 14, -4
377 0002 0400 movs r4, r0
ARM GAS /tmp/cct5gwkq.s page 12
265:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
266:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_ParseSetupRequest(&pdev->request, psetup);
378 .loc 1 266 0
379 0004 8223 movs r3, #130
380 0006 9B00 lsls r3, r3, #2
381 0008 C518 adds r5, r0, r3
382 000a 2800 movs r0, r5
383 .LVL32:
384 000c FFF7FEFF bl USBD_ParseSetupRequest
385 .LVL33:
267:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
268:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep0_state = USBD_EP0_SETUP;
386 .loc 1 268 0
387 0010 FA23 movs r3, #250
388 0012 5B00 lsls r3, r3, #1
389 0014 0122 movs r2, #1
390 0016 E250 str r2, [r4, r3]
269:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep0_data_len = pdev->request.wLength;
391 .loc 1 269 0
392 0018 124B ldr r3, .L26
393 001a E25A ldrh r2, [r4, r3]
394 001c 163B subs r3, r3, #22
395 001e E250 str r2, [r4, r3]
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 & 0x1F)
396 .loc 1 271 0
397 0020 1033 adds r3, r3, #16
398 0022 E15C ldrb r1, [r4, r3]
399 0024 EA3B subs r3, r3, #234
400 0026 FF3B subs r3, r3, #255
401 0028 0B40 ands r3, r1
402 002a 012B cmp r3, #1
403 002c 0FD0 beq .L21
404 002e 002B cmp r3, #0
405 0030 07D0 beq .L22
406 0032 022B cmp r3, #2
407 0034 10D0 beq .L23
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 ****
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 & 0x80);
408 .loc 1 286 0
409 0036 7F23 movs r3, #127
410 0038 9943 bics r1, r3
411 003a 2000 movs r0, r4
412 003c FFF7FEFF bl USBD_LL_StallEP
ARM GAS /tmp/cct5gwkq.s page 13
413 .LVL34:
287:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break;
414 .loc 1 287 0
415 0040 03E0 b .L24
416 .L22:
274:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break;
417 .loc 1 274 0
418 0042 2900 movs r1, r5
419 0044 2000 movs r0, r4
420 0046 FFF7FEFF bl USBD_StdDevReq
421 .LVL35:
422 .L24:
288:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
289:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
290:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
423 .loc 1 290 0
424 004a 0020 movs r0, #0
425 @ sp needed
426 .LVL36:
427 .LVL37:
428 004c 70BD pop {r4, r5, r6, pc}
429 .LVL38:
430 .L21:
278:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break;
431 .loc 1 278 0
432 004e 2900 movs r1, r5
433 0050 2000 movs r0, r4
434 0052 FFF7FEFF bl USBD_StdItfReq
435 .LVL39:
279:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
436 .loc 1 279 0
437 0056 F8E7 b .L24
438 .L23:
282:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break;
439 .loc 1 282 0
440 0058 2900 movs r1, r5
441 005a 2000 movs r0, r4
442 005c FFF7FEFF bl USBD_StdEPReq
443 .LVL40:
283:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
444 .loc 1 283 0
445 0060 F3E7 b .L24
446 .L27:
447 0062 C046 .align 2
448 .L26:
449 0064 0E020000 .word 526
450 .cfi_endproc
451 .LFE51:
453 .section .text.USBD_LL_DataOutStage,"ax",%progbits
454 .align 1
455 .global USBD_LL_DataOutStage
456 .syntax unified
457 .code 16
458 .thumb_func
459 .fpu softvfp
461 USBD_LL_DataOutStage:
462 .LFB52:
ARM GAS /tmp/cct5gwkq.s page 14
291:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
292:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
293:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_DataOutStage
294:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle data OUT stage
295:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
296:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param epnum: endpoint index
297:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
298:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
299:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_DataOutStage(USBD_HandleTypeDef *pdev , uint8_t epnum, uint8_t *pdata)
300:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
463 .loc 1 300 0
464 .cfi_startproc
465 @ args = 0, pretend = 0, frame = 0
466 @ frame_needed = 0, uses_anonymous_args = 0
467 .LVL41:
468 0000 10B5 push {r4, lr}
469 .LCFI7:
470 .cfi_def_cfa_offset 8
471 .cfi_offset 4, -8
472 .cfi_offset 14, -4
473 0002 0400 movs r4, r0
474 0004 1300 movs r3, r2
301:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_EndpointTypeDef *pep;
302:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
303:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if(epnum == 0)
475 .loc 1 303 0
476 0006 0029 cmp r1, #0
477 0008 29D1 bne .L29
478 .LVL42:
304:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
305:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pep = &pdev->ep_out[0];
306:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
307:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if ( pdev->ep0_state == USBD_EP0_DATA_OUT)
479 .loc 1 307 0
480 000a FA22 movs r2, #250
481 .LVL43:
482 000c 5200 lsls r2, r2, #1
483 000e 8258 ldr r2, [r0, r2]
484 0010 032A cmp r2, #3
485 0012 01D0 beq .L34
486 .LVL44:
487 .L30:
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(pep->rem_length > pep->maxpacket)
310:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
311:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 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 **** USBD_CtlContinueRx (pdev,
314:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdata,
315:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** MIN(pep->rem_length ,pep->maxpacket));
316:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
317:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else
318:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
319:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if((pdev->pClass->EP0_RxReady != NULL)&&
320:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED))
321:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
322:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass->EP0_RxReady(pdev);
ARM GAS /tmp/cct5gwkq.s page 15
323:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
324:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_CtlSendStatus(pdev);
325:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
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 if((pdev->pClass->DataOut != NULL)&&
329:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED))
330:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
331:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass->DataOut(pdev, epnum);
332:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
333:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
334:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
488 .loc 1 334 0
489 0014 0020 movs r0, #0
490 @ sp needed
491 .LVL45:
492 0016 10BD pop {r4, pc}
493 .LVL46:
494 .L34:
309:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
495 .loc 1 309 0
496 0018 421D adds r2, r0, #5
497 001a FF32 adds r2, r2, #255
498 001c 9168 ldr r1, [r2, #8]
499 .LVL47:
500 001e D268 ldr r2, [r2, #12]
501 0020 9142 cmp r1, r2
502 0022 0FD8 bhi .L35
319:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED))
503 .loc 1 319 0
504 0024 8523 movs r3, #133
505 .LVL48:
506 0026 9B00 lsls r3, r3, #2
507 0028 C358 ldr r3, [r0, r3]
508 002a 1B69 ldr r3, [r3, #16]
509 002c 002B cmp r3, #0
510 002e 05D0 beq .L33
320:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
511 .loc 1 320 0 discriminator 1
512 0030 FE22 movs r2, #254
513 0032 5200 lsls r2, r2, #1
514 0034 825C ldrb r2, [r0, r2]
319:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED))
515 .loc 1 319 0 discriminator 1
516 0036 032A cmp r2, #3
517 0038 00D1 bne .L33
322:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
518 .loc 1 322 0
519 003a 9847 blx r3
520 .LVL49:
521 .L33:
324:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
522 .loc 1 324 0
523 003c 2000 movs r0, r4
524 003e FFF7FEFF bl USBD_CtlSendStatus
525 .LVL50:
526 0042 E7E7 b .L30
ARM GAS /tmp/cct5gwkq.s page 16
527 .LVL51:
528 .L35:
311:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
529 .loc 1 311 0
530 0044 891A subs r1, r1, r2
531 0046 0530 adds r0, r0, #5
532 .LVL52:
533 0048 FF30 adds r0, r0, #255
534 004a 8160 str r1, [r0, #8]
315:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
535 .loc 1 315 0
536 004c 8A42 cmp r2, r1
537 004e 00D9 bls .L32
538 0050 0A00 movs r2, r1
539 .L32:
313:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdata,
540 .loc 1 313 0
541 0052 92B2 uxth r2, r2
542 0054 1900 movs r1, r3
543 0056 2000 movs r0, r4
544 0058 FFF7FEFF bl USBD_CtlContinueRx
545 .LVL53:
546 005c DAE7 b .L30
547 .LVL54:
548 .L29:
328:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED))
549 .loc 1 328 0
550 005e 8523 movs r3, #133
551 0060 9B00 lsls r3, r3, #2
552 0062 C358 ldr r3, [r0, r3]
553 0064 9B69 ldr r3, [r3, #24]
554 0066 002B cmp r3, #0
555 0068 D4D0 beq .L30
329:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
556 .loc 1 329 0 discriminator 1
557 006a FE22 movs r2, #254
558 .LVL55:
559 006c 5200 lsls r2, r2, #1
560 006e 825C ldrb r2, [r0, r2]
328:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED))
561 .loc 1 328 0 discriminator 1
562 0070 032A cmp r2, #3
563 0072 CFD1 bne .L30
331:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
564 .loc 1 331 0
565 0074 9847 blx r3
566 .LVL56:
567 0076 CDE7 b .L30
568 .cfi_endproc
569 .LFE52:
571 .global __aeabi_uidivmod
572 .section .text.USBD_LL_DataInStage,"ax",%progbits
573 .align 1
574 .global USBD_LL_DataInStage
575 .syntax unified
576 .code 16
577 .thumb_func
ARM GAS /tmp/cct5gwkq.s page 17
578 .fpu softvfp
580 USBD_LL_DataInStage:
581 .LFB53:
335:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
336:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
337:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_DataInStage
338:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle data in stage
339:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
340:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param epnum: endpoint index
341:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
342:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
343:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_DataInStage(USBD_HandleTypeDef *pdev ,uint8_t epnum, uint8_t *pdata)
344:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
582 .loc 1 344 0
583 .cfi_startproc
584 @ args = 0, pretend = 0, frame = 0
585 @ frame_needed = 0, uses_anonymous_args = 0
586 .LVL57:
587 0000 70B5 push {r4, r5, r6, lr}
588 .LCFI8:
589 .cfi_def_cfa_offset 16
590 .cfi_offset 4, -16
591 .cfi_offset 5, -12
592 .cfi_offset 6, -8
593 .cfi_offset 14, -4
594 0002 0400 movs r4, r0
595 0004 1300 movs r3, r2
345:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_EndpointTypeDef *pep;
346:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
347:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if(epnum == 0)
596 .loc 1 347 0
597 0006 0029 cmp r1, #0
598 0008 4ED1 bne .L37
599 .LVL58:
348:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
349:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pep = &pdev->ep_in[0];
350:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
351:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if ( pdev->ep0_state == USBD_EP0_DATA_IN)
600 .loc 1 351 0
601 000a FA22 movs r2, #250
602 .LVL59:
603 000c 5200 lsls r2, r2, #1
604 000e 8258 ldr r2, [r0, r2]
605 0010 022A cmp r2, #2
606 0012 06D0 beq .L43
607 .LVL60:
608 .L38:
352:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
353:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if(pep->rem_length > pep->maxpacket)
354:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
355:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pep->rem_length -= pep->maxpacket;
356:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
357:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_CtlContinueSendData (pdev,
358:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdata,
359:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pep->rem_length);
360:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
361:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Prepare endpoint for premature end of transfer */
ARM GAS /tmp/cct5gwkq.s page 18
362:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_PrepareReceive (pdev,
363:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 0,
364:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** NULL,
365:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 0);
366:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
367:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else
368:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { /* last packet is MPS multiple, so send ZLP packet */
369:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if((pep->total_length % pep->maxpacket == 0) &&
370:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pep->total_length >= pep->maxpacket) &&
371:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pep->total_length < pdev->ep0_data_len ))
372:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
373:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
374:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_CtlContinueSendData(pdev , NULL, 0);
375:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep0_data_len = 0;
376:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
377:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Prepare endpoint for premature end of transfer */
378:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_PrepareReceive (pdev,
379:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 0,
380:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** NULL,
381:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 0);
382:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
383:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else
384:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
385:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if((pdev->pClass->EP0_TxSent != NULL)&&
386:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED))
387:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
388:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass->EP0_TxSent(pdev);
389:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
390:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_CtlReceiveStatus(pdev);
391:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
392:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
393:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
394:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->dev_test_mode == 1)
609 .loc 1 394 0
610 0014 8023 movs r3, #128
611 0016 9B00 lsls r3, r3, #2
612 0018 E35C ldrb r3, [r4, r3]
613 001a 012B cmp r3, #1
614 001c 3FD0 beq .L44
615 .LVL61:
616 .L42:
395:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
396:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_RunTestMode(pdev);
397:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_test_mode = 0;
398:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
399:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
400:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else if((pdev->pClass->DataIn != NULL)&&
401:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED))
402:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
403:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass->DataIn(pdev, epnum);
404:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
405:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
406:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
617 .loc 1 406 0
618 001e 0020 movs r0, #0
619 @ sp needed
620 .LVL62:
ARM GAS /tmp/cct5gwkq.s page 19
621 0020 70BD pop {r4, r5, r6, pc}
622 .LVL63:
623 .L43:
353:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
624 .loc 1 353 0
625 0022 C269 ldr r2, [r0, #28]
626 0024 056A ldr r5, [r0, #32]
627 0026 AA42 cmp r2, r5
628 0028 1ED8 bhi .L45
369:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pep->total_length >= pep->maxpacket) &&
629 .loc 1 369 0
630 002a 8669 ldr r6, [r0, #24]
631 002c 2900 movs r1, r5
632 .LVL64:
633 002e 3000 movs r0, r6
634 .LVL65:
635 0030 FFF7FEFF bl __aeabi_uidivmod
636 .LVL66:
637 0034 0029 cmp r1, #0
638 0036 06D1 bne .L40
369:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pep->total_length >= pep->maxpacket) &&
639 .loc 1 369 0 is_stmt 0 discriminator 1
640 0038 B542 cmp r5, r6
641 003a 04D8 bhi .L40
371:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
642 .loc 1 371 0 is_stmt 1
643 003c FC23 movs r3, #252
644 003e 5B00 lsls r3, r3, #1
645 0040 E358 ldr r3, [r4, r3]
370:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pep->total_length < pdev->ep0_data_len ))
646 .loc 1 370 0
647 0042 9E42 cmp r6, r3
648 0044 1DD3 bcc .L46
649 .L40:
385:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED))
650 .loc 1 385 0
651 0046 8523 movs r3, #133
652 0048 9B00 lsls r3, r3, #2
653 004a E358 ldr r3, [r4, r3]
654 004c DB68 ldr r3, [r3, #12]
655 004e 002B cmp r3, #0
656 0050 06D0 beq .L41
386:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
657 .loc 1 386 0 discriminator 1
658 0052 FE22 movs r2, #254
659 0054 5200 lsls r2, r2, #1
660 0056 A25C ldrb r2, [r4, r2]
385:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED))
661 .loc 1 385 0 discriminator 1
662 0058 032A cmp r2, #3
663 005a 01D1 bne .L41
388:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
664 .loc 1 388 0
665 005c 2000 movs r0, r4
666 005e 9847 blx r3
667 .LVL67:
668 .L41:
ARM GAS /tmp/cct5gwkq.s page 20
390:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
669 .loc 1 390 0
670 0060 2000 movs r0, r4
671 0062 FFF7FEFF bl USBD_CtlReceiveStatus
672 .LVL68:
673 0066 D5E7 b .L38
674 .LVL69:
675 .L45:
355:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
676 .loc 1 355 0
677 0068 521B subs r2, r2, r5
678 006a C261 str r2, [r0, #28]
357:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdata,
679 .loc 1 357 0
680 006c 92B2 uxth r2, r2
681 006e 1900 movs r1, r3
682 .LVL70:
683 0070 FFF7FEFF bl USBD_CtlContinueSendData
684 .LVL71:
362:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 0,
685 .loc 1 362 0
686 0074 0023 movs r3, #0
687 0076 0022 movs r2, #0
688 0078 0021 movs r1, #0
689 007a 2000 movs r0, r4
690 007c FFF7FEFF bl USBD_LL_PrepareReceive
691 .LVL72:
692 0080 C8E7 b .L38
693 .L46:
374:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep0_data_len = 0;
694 .loc 1 374 0
695 0082 0022 movs r2, #0
696 0084 2000 movs r0, r4
697 0086 FFF7FEFF bl USBD_CtlContinueSendData
698 .LVL73:
375:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
699 .loc 1 375 0
700 008a FC23 movs r3, #252
701 008c 5B00 lsls r3, r3, #1
702 008e 0022 movs r2, #0
703 0090 E250 str r2, [r4, r3]
378:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 0,
704 .loc 1 378 0
705 0092 0023 movs r3, #0
706 0094 0021 movs r1, #0
707 0096 2000 movs r0, r4
708 0098 FFF7FEFF bl USBD_LL_PrepareReceive
709 .LVL74:
710 009c BAE7 b .L38
711 .L44:
397:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
712 .loc 1 397 0
713 009e 8023 movs r3, #128
714 00a0 9B00 lsls r3, r3, #2
715 00a2 0022 movs r2, #0
716 00a4 E254 strb r2, [r4, r3]
717 00a6 BAE7 b .L42
ARM GAS /tmp/cct5gwkq.s page 21
718 .LVL75:
719 .L37:
400:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED))
720 .loc 1 400 0
721 00a8 8523 movs r3, #133
722 00aa 9B00 lsls r3, r3, #2
723 00ac C358 ldr r3, [r0, r3]
724 00ae 5B69 ldr r3, [r3, #20]
725 00b0 002B cmp r3, #0
726 00b2 B4D0 beq .L42
401:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
727 .loc 1 401 0 discriminator 1
728 00b4 FE22 movs r2, #254
729 .LVL76:
730 00b6 5200 lsls r2, r2, #1
731 00b8 825C ldrb r2, [r0, r2]
400:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED))
732 .loc 1 400 0 discriminator 1
733 00ba 032A cmp r2, #3
734 00bc AFD1 bne .L42
403:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
735 .loc 1 403 0
736 00be 9847 blx r3
737 .LVL77:
738 00c0 ADE7 b .L42
739 .cfi_endproc
740 .LFE53:
742 .section .text.USBD_LL_Reset,"ax",%progbits
743 .align 1
744 .global USBD_LL_Reset
745 .syntax unified
746 .code 16
747 .thumb_func
748 .fpu softvfp
750 USBD_LL_Reset:
751 .LFB54:
407:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
408:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
409:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_LL_Reset
410:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle Reset event
411:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
412:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
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 **** USBD_StatusTypeDef USBD_LL_Reset(USBD_HandleTypeDef *pdev)
416:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
752 .loc 1 416 0
753 .cfi_startproc
754 @ args = 0, pretend = 0, frame = 0
755 @ frame_needed = 0, uses_anonymous_args = 0
756 .LVL78:
757 0000 70B5 push {r4, r5, r6, lr}
758 .LCFI9:
759 .cfi_def_cfa_offset 16
760 .cfi_offset 4, -16
761 .cfi_offset 5, -12
762 .cfi_offset 6, -8
ARM GAS /tmp/cct5gwkq.s page 22
763 .cfi_offset 14, -4
764 0002 0400 movs r4, r0
417:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Open EP0 OUT */
418:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_OpenEP(pdev,
765 .loc 1 418 0
766 0004 4023 movs r3, #64
767 0006 0022 movs r2, #0
768 0008 0021 movs r1, #0
769 000a FFF7FEFF bl USBD_LL_OpenEP
770 .LVL79:
419:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 0x00,
420:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_EP_TYPE_CTRL,
421:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USB_MAX_EP0_SIZE);
422:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
423:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep_out[0].maxpacket = USB_MAX_EP0_SIZE;
771 .loc 1 423 0
772 000e 4025 movs r5, #64
773 0010 8823 movs r3, #136
774 0012 5B00 lsls r3, r3, #1
775 0014 E550 str r5, [r4, r3]
424:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
425:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Open EP0 IN */
426:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_OpenEP(pdev,
776 .loc 1 426 0
777 0016 D03B subs r3, r3, #208
778 0018 0022 movs r2, #0
779 001a 8021 movs r1, #128
780 001c 2000 movs r0, r4
781 001e FFF7FEFF bl USBD_LL_OpenEP
782 .LVL80:
427:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 0x80,
428:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_EP_TYPE_CTRL,
429:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USB_MAX_EP0_SIZE);
430:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
431:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep_in[0].maxpacket = USB_MAX_EP0_SIZE;
783 .loc 1 431 0
784 0022 2562 str r5, [r4, #32]
432:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Upon Reset call user call back */
433:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_state = USBD_STATE_DEFAULT;
785 .loc 1 433 0
786 0024 FE23 movs r3, #254
787 0026 5B00 lsls r3, r3, #1
788 0028 0122 movs r2, #1
789 002a E254 strb r2, [r4, r3]
434:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
435:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClassData)
790 .loc 1 435 0
791 002c 1C33 adds r3, r3, #28
792 002e E358 ldr r3, [r4, r3]
793 0030 002B cmp r3, #0
794 0032 06D0 beq .L48
436:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass->DeInit(pdev, pdev->dev_config);
795 .loc 1 436 0
796 0034 8523 movs r3, #133
797 0036 9B00 lsls r3, r3, #2
798 0038 E358 ldr r3, [r4, r3]
799 003a 5B68 ldr r3, [r3, #4]
ARM GAS /tmp/cct5gwkq.s page 23
800 003c 2179 ldrb r1, [r4, #4]
801 003e 2000 movs r0, r4
802 0040 9847 blx r3
803 .LVL81:
804 .L48:
437:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
438:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
439:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
440:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
805 .loc 1 440 0
806 0042 0020 movs r0, #0
807 @ sp needed
808 .LVL82:
809 0044 70BD pop {r4, r5, r6, pc}
810 .cfi_endproc
811 .LFE54:
813 .section .text.USBD_LL_SetSpeed,"ax",%progbits
814 .align 1
815 .global USBD_LL_SetSpeed
816 .syntax unified
817 .code 16
818 .thumb_func
819 .fpu softvfp
821 USBD_LL_SetSpeed:
822 .LFB55:
441:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
442:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
443:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
444:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
445:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
446:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_LL_Reset
447:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle Reset event
448:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
449:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
450:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
451:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_SetSpeed(USBD_HandleTypeDef *pdev, USBD_SpeedTypeDef speed)
452:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
823 .loc 1 452 0
824 .cfi_startproc
825 @ args = 0, pretend = 0, frame = 0
826 @ frame_needed = 0, uses_anonymous_args = 0
827 @ link register save eliminated.
828 .LVL83:
453:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_speed = speed;
829 .loc 1 453 0
830 0000 0174 strb r1, [r0, #16]
454:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
455:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
831 .loc 1 455 0
832 0002 0020 movs r0, #0
833 .LVL84:
834 @ sp needed
835 0004 7047 bx lr
836 .cfi_endproc
837 .LFE55:
839 .section .text.USBD_LL_Suspend,"ax",%progbits
840 .align 1
ARM GAS /tmp/cct5gwkq.s page 24
841 .global USBD_LL_Suspend
842 .syntax unified
843 .code 16
844 .thumb_func
845 .fpu softvfp
847 USBD_LL_Suspend:
848 .LFB56:
456:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
457:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
458:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_Suspend
459:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle Suspend event
460:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
461:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
462:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
463:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
464:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_Suspend(USBD_HandleTypeDef *pdev)
465:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
849 .loc 1 465 0
850 .cfi_startproc
851 @ args = 0, pretend = 0, frame = 0
852 @ frame_needed = 0, uses_anonymous_args = 0
853 @ link register save eliminated.
854 .LVL85:
466:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_old_state = pdev->dev_state;
855 .loc 1 466 0
856 0000 FE23 movs r3, #254
857 0002 5B00 lsls r3, r3, #1
858 0004 C15C ldrb r1, [r0, r3]
859 0006 FE22 movs r2, #254
860 0008 FF32 adds r2, r2, #255
861 000a 8154 strb r1, [r0, r2]
467:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_state = USBD_STATE_SUSPENDED;
862 .loc 1 467 0
863 000c FA3A subs r2, r2, #250
864 000e FF3A subs r2, r2, #255
865 0010 C254 strb r2, [r0, r3]
468:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
469:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
866 .loc 1 469 0
867 0012 0020 movs r0, #0
868 .LVL86:
869 @ sp needed
870 0014 7047 bx lr
871 .cfi_endproc
872 .LFE56:
874 .section .text.USBD_LL_Resume,"ax",%progbits
875 .align 1
876 .global USBD_LL_Resume
877 .syntax unified
878 .code 16
879 .thumb_func
880 .fpu softvfp
882 USBD_LL_Resume:
883 .LFB57:
470:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
471:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
472:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_Resume
ARM GAS /tmp/cct5gwkq.s page 25
473:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle Resume event
474:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
475:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
476:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
477:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
478:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_Resume(USBD_HandleTypeDef *pdev)
479:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
884 .loc 1 479 0
885 .cfi_startproc
886 @ args = 0, pretend = 0, frame = 0
887 @ frame_needed = 0, uses_anonymous_args = 0
888 @ link register save eliminated.
889 .LVL87:
480:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_state = pdev->dev_old_state;
890 .loc 1 480 0
891 0000 FE23 movs r3, #254
892 0002 FF33 adds r3, r3, #255
893 0004 C25C ldrb r2, [r0, r3]
894 0006 013B subs r3, r3, #1
895 0008 C254 strb r2, [r0, r3]
481:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
482:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
896 .loc 1 482 0
897 000a 0020 movs r0, #0
898 .LVL88:
899 @ sp needed
900 000c 7047 bx lr
901 .cfi_endproc
902 .LFE57:
904 .section .text.USBD_LL_SOF,"ax",%progbits
905 .align 1
906 .global USBD_LL_SOF
907 .syntax unified
908 .code 16
909 .thumb_func
910 .fpu softvfp
912 USBD_LL_SOF:
913 .LFB58:
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_SOF
486:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle SOF 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_SOF(USBD_HandleTypeDef *pdev)
492:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
914 .loc 1 492 0
915 .cfi_startproc
916 @ args = 0, pretend = 0, frame = 0
917 @ frame_needed = 0, uses_anonymous_args = 0
918 .LVL89:
919 0000 10B5 push {r4, lr}
920 .LCFI10:
921 .cfi_def_cfa_offset 8
922 .cfi_offset 4, -8
ARM GAS /tmp/cct5gwkq.s page 26
923 .cfi_offset 14, -4
493:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if(pdev->dev_state == USBD_STATE_CONFIGURED)
924 .loc 1 493 0
925 0002 FE23 movs r3, #254
926 0004 5B00 lsls r3, r3, #1
927 0006 C35C ldrb r3, [r0, r3]
928 0008 032B cmp r3, #3
929 000a 01D0 beq .L54
930 .LVL90:
931 .L53:
494:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
495:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if(pdev->pClass->SOF != NULL)
496:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
497:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass->SOF(pdev);
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 **** return USBD_OK;
501:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
932 .loc 1 501 0
933 000c 0020 movs r0, #0
934 @ sp needed
935 000e 10BD pop {r4, pc}
936 .LVL91:
937 .L54:
495:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
938 .loc 1 495 0
939 0010 8523 movs r3, #133
940 0012 9B00 lsls r3, r3, #2
941 0014 C358 ldr r3, [r0, r3]
942 0016 DB69 ldr r3, [r3, #28]
943 0018 002B cmp r3, #0
944 001a F7D0 beq .L53
497:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
945 .loc 1 497 0
946 001c 9847 blx r3
947 .LVL92:
948 001e F5E7 b .L53
949 .cfi_endproc
950 .LFE58:
952 .section .text.USBD_LL_IsoINIncomplete,"ax",%progbits
953 .align 1
954 .global USBD_LL_IsoINIncomplete
955 .syntax unified
956 .code 16
957 .thumb_func
958 .fpu softvfp
960 USBD_LL_IsoINIncomplete:
961 .LFB59:
502:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
503:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
504:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_IsoINIncomplete
505:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle iso in incomplete event
506:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
507:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
508:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
509:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_IsoINIncomplete(USBD_HandleTypeDef *pdev, uint8_t epnum)
510:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
ARM GAS /tmp/cct5gwkq.s page 27
962 .loc 1 510 0
963 .cfi_startproc
964 @ args = 0, pretend = 0, frame = 0
965 @ frame_needed = 0, uses_anonymous_args = 0
966 @ link register save eliminated.
967 .LVL93:
511:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
512:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
968 .loc 1 512 0
969 0000 0020 movs r0, #0
970 .LVL94:
971 @ sp needed
972 0002 7047 bx lr
973 .cfi_endproc
974 .LFE59:
976 .section .text.USBD_LL_IsoOUTIncomplete,"ax",%progbits
977 .align 1
978 .global USBD_LL_IsoOUTIncomplete
979 .syntax unified
980 .code 16
981 .thumb_func
982 .fpu softvfp
984 USBD_LL_IsoOUTIncomplete:
985 .LFB60:
513:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
514:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
515:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_IsoOUTIncomplete
516:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle iso out incomplete event
517:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
518:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
519:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
520:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_IsoOUTIncomplete(USBD_HandleTypeDef *pdev, uint8_t epnum)
521:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
986 .loc 1 521 0
987 .cfi_startproc
988 @ args = 0, pretend = 0, frame = 0
989 @ frame_needed = 0, uses_anonymous_args = 0
990 @ link register save eliminated.
991 .LVL95:
522:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
523:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
992 .loc 1 523 0
993 0000 0020 movs r0, #0
994 .LVL96:
995 @ sp needed
996 0002 7047 bx lr
997 .cfi_endproc
998 .LFE60:
1000 .section .text.USBD_LL_DevConnected,"ax",%progbits
1001 .align 1
1002 .global USBD_LL_DevConnected
1003 .syntax unified
1004 .code 16
1005 .thumb_func
1006 .fpu softvfp
1008 USBD_LL_DevConnected:
1009 .LFB61:
ARM GAS /tmp/cct5gwkq.s page 28
524:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
525:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
526:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_DevConnected
527:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle device connection event
528:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
529:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
530:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
531:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_DevConnected(USBD_HandleTypeDef *pdev)
532:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1010 .loc 1 532 0
1011 .cfi_startproc
1012 @ args = 0, pretend = 0, frame = 0
1013 @ frame_needed = 0, uses_anonymous_args = 0
1014 @ link register save eliminated.
1015 .LVL97:
533:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
534:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1016 .loc 1 534 0
1017 0000 0020 movs r0, #0
1018 .LVL98:
1019 @ sp needed
1020 0002 7047 bx lr
1021 .cfi_endproc
1022 .LFE61:
1024 .section .text.USBD_LL_DevDisconnected,"ax",%progbits
1025 .align 1
1026 .global USBD_LL_DevDisconnected
1027 .syntax unified
1028 .code 16
1029 .thumb_func
1030 .fpu softvfp
1032 USBD_LL_DevDisconnected:
1033 .LFB62:
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_DevDisconnected
538:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle device disconnection 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_DevDisconnected(USBD_HandleTypeDef *pdev)
543:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1034 .loc 1 543 0
1035 .cfi_startproc
1036 @ args = 0, pretend = 0, frame = 0
1037 @ frame_needed = 0, uses_anonymous_args = 0
1038 .LVL99:
1039 0000 10B5 push {r4, lr}
1040 .LCFI11:
1041 .cfi_def_cfa_offset 8
1042 .cfi_offset 4, -8
1043 .cfi_offset 14, -4
544:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Free Class Resources */
545:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_state = USBD_STATE_DEFAULT;
1044 .loc 1 545 0
1045 0002 FE23 movs r3, #254
1046 0004 5B00 lsls r3, r3, #1
ARM GAS /tmp/cct5gwkq.s page 29
1047 0006 0122 movs r2, #1
1048 0008 C254 strb r2, [r0, r3]
546:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass->DeInit(pdev, pdev->dev_config);
1049 .loc 1 546 0
1050 000a 1833 adds r3, r3, #24
1051 000c C358 ldr r3, [r0, r3]
1052 000e 5B68 ldr r3, [r3, #4]
1053 0010 0179 ldrb r1, [r0, #4]
1054 0012 9847 blx r3
1055 .LVL100:
547:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
548:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
549:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1056 .loc 1 549 0
1057 0014 0020 movs r0, #0
1058 @ sp needed
1059 0016 10BD pop {r4, pc}
1060 .cfi_endproc
1061 .LFE62:
1063 .text
1064 .Letext0:
1065 .file 2 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/machin
1066 .file 3 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/lo
1067 .file 4 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/_t
1068 .file 5 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/lib/gcc/arm-none-eabi/7.3.1/
1069 .file 6 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/re
1070 .file 7 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/_s
1071 .file 8 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/stdlib
1072 .file 9 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
1073 .file 10 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
1074 .file 11 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h"
1075 .file 12 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h"
1076 .file 13 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h"
1077 .file 14 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h"
ARM GAS /tmp/cct5gwkq.s page 30
DEFINED SYMBOLS
*ABS*:0000000000000000 usbd_core.c
/tmp/cct5gwkq.s:16 .text.USBD_Init:0000000000000000 $t
/tmp/cct5gwkq.s:23 .text.USBD_Init:0000000000000000 USBD_Init
/tmp/cct5gwkq.s:86 .text.USBD_DeInit:0000000000000000 $t
/tmp/cct5gwkq.s:93 .text.USBD_DeInit:0000000000000000 USBD_DeInit
/tmp/cct5gwkq.s:135 .text.USBD_RegisterClass:0000000000000000 $t
/tmp/cct5gwkq.s:142 .text.USBD_RegisterClass:0000000000000000 USBD_RegisterClass
/tmp/cct5gwkq.s:174 .text.USBD_Start:0000000000000000 $t
/tmp/cct5gwkq.s:181 .text.USBD_Start:0000000000000000 USBD_Start
/tmp/cct5gwkq.s:204 .text.USBD_Stop:0000000000000000 $t
/tmp/cct5gwkq.s:211 .text.USBD_Stop:0000000000000000 USBD_Stop
/tmp/cct5gwkq.s:245 .text.USBD_RunTestMode:0000000000000000 $t
/tmp/cct5gwkq.s:252 .text.USBD_RunTestMode:0000000000000000 USBD_RunTestMode
/tmp/cct5gwkq.s:269 .text.USBD_SetClassConfig:0000000000000000 $t
/tmp/cct5gwkq.s:276 .text.USBD_SetClassConfig:0000000000000000 USBD_SetClassConfig
/tmp/cct5gwkq.s:322 .text.USBD_ClrClassConfig:0000000000000000 $t
/tmp/cct5gwkq.s:329 .text.USBD_ClrClassConfig:0000000000000000 USBD_ClrClassConfig
/tmp/cct5gwkq.s:356 .text.USBD_LL_SetupStage:0000000000000000 $t
/tmp/cct5gwkq.s:363 .text.USBD_LL_SetupStage:0000000000000000 USBD_LL_SetupStage
/tmp/cct5gwkq.s:449 .text.USBD_LL_SetupStage:0000000000000064 $d
/tmp/cct5gwkq.s:454 .text.USBD_LL_DataOutStage:0000000000000000 $t
/tmp/cct5gwkq.s:461 .text.USBD_LL_DataOutStage:0000000000000000 USBD_LL_DataOutStage
/tmp/cct5gwkq.s:573 .text.USBD_LL_DataInStage:0000000000000000 $t
/tmp/cct5gwkq.s:580 .text.USBD_LL_DataInStage:0000000000000000 USBD_LL_DataInStage
/tmp/cct5gwkq.s:743 .text.USBD_LL_Reset:0000000000000000 $t
/tmp/cct5gwkq.s:750 .text.USBD_LL_Reset:0000000000000000 USBD_LL_Reset
/tmp/cct5gwkq.s:814 .text.USBD_LL_SetSpeed:0000000000000000 $t
/tmp/cct5gwkq.s:821 .text.USBD_LL_SetSpeed:0000000000000000 USBD_LL_SetSpeed
/tmp/cct5gwkq.s:840 .text.USBD_LL_Suspend:0000000000000000 $t
/tmp/cct5gwkq.s:847 .text.USBD_LL_Suspend:0000000000000000 USBD_LL_Suspend
/tmp/cct5gwkq.s:875 .text.USBD_LL_Resume:0000000000000000 $t
/tmp/cct5gwkq.s:882 .text.USBD_LL_Resume:0000000000000000 USBD_LL_Resume
/tmp/cct5gwkq.s:905 .text.USBD_LL_SOF:0000000000000000 $t
/tmp/cct5gwkq.s:912 .text.USBD_LL_SOF:0000000000000000 USBD_LL_SOF
/tmp/cct5gwkq.s:953 .text.USBD_LL_IsoINIncomplete:0000000000000000 $t
/tmp/cct5gwkq.s:960 .text.USBD_LL_IsoINIncomplete:0000000000000000 USBD_LL_IsoINIncomplete
/tmp/cct5gwkq.s:977 .text.USBD_LL_IsoOUTIncomplete:0000000000000000 $t
/tmp/cct5gwkq.s:984 .text.USBD_LL_IsoOUTIncomplete:0000000000000000 USBD_LL_IsoOUTIncomplete
/tmp/cct5gwkq.s:1001 .text.USBD_LL_DevConnected:0000000000000000 $t
/tmp/cct5gwkq.s:1008 .text.USBD_LL_DevConnected:0000000000000000 USBD_LL_DevConnected
/tmp/cct5gwkq.s:1025 .text.USBD_LL_DevDisconnected:0000000000000000 $t
/tmp/cct5gwkq.s:1032 .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_CtlSendStatus
USBD_CtlContinueRx
__aeabi_uidivmod
ARM GAS /tmp/cct5gwkq.s page 31
USBD_CtlReceiveStatus
USBD_CtlContinueSendData
USBD_LL_PrepareReceive
USBD_LL_OpenEP