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