Files
RFG_stm32_ADC_STM32F429/build/usbd_core.lst

3311 lines
204 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

ARM GAS /tmp/cccwInoP.s page 1
1 .cpu cortex-m4
2 .arch armv7e-m
3 .fpu fpv4-sp-d16
4 .eabi_attribute 27, 1
5 .eabi_attribute 28, 1
6 .eabi_attribute 20, 1
7 .eabi_attribute 21, 1
8 .eabi_attribute 23, 3
9 .eabi_attribute 24, 1
10 .eabi_attribute 25, 1
11 .eabi_attribute 26, 1
12 .eabi_attribute 30, 1
13 .eabi_attribute 34, 1
14 .eabi_attribute 18, 4
15 .file "usbd_core.c"
16 .text
17 .Ltext0:
18 .cfi_sections .debug_frame
19 .file 1 "Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c"
20 .section .text.USBD_Init,"ax",%progbits
21 .align 1
22 .global USBD_Init
23 .syntax unified
24 .thumb
25 .thumb_func
27 USBD_Init:
28 .LVL0:
29 .LFB243:
1:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
2:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ******************************************************************************
3:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @file usbd_core.c
4:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @author MCD Application Team
5:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief This file provides all the USBD core functions.
6:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ******************************************************************************
7:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @attention
8:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** *
9:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Copyright (c) 2015 STMicroelectronics.
10:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * All rights reserved.
11:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** *
12:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * This software is licensed under terms that can be found in the LICENSE file
13:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * in the root directory of this software component.
14:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
15:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** *
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 **** /* Includes ------------------------------------------------------------------*/
20:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #include "usbd_core.h"
21:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
22:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #ifdef USE_USBD_COMPOSITE
23:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #include "usbd_composite_builder.h"
24:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* USE_USBD_COMPOSITE */
25:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
26:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** @addtogroup STM32_USBD_DEVICE_LIBRARY
27:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @{
28:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
29:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
ARM GAS /tmp/cccwInoP.s page 2
30:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
31:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** @defgroup USBD_CORE
32:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief usbd core module
33:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @{
34:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
35:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
36:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** @defgroup USBD_CORE_Private_TypesDefinitions
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 **** */
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 **** /** @defgroup USBD_CORE_Private_Defines
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 **** */
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 **** /** @defgroup USBD_CORE_Private_Macros
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 **** */
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 **** /** @defgroup USBD_CORE_Private_FunctionPrototypes
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 **** * @}
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 **** /** @defgroup USBD_CORE_Private_Variables
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 **** */
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 **** /** @defgroup USBD_CORE_Private_Functions
81:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @{
82:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
83:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
84:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
85:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_Init
86:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Initialize the device stack and load the class driver
ARM GAS /tmp/cccwInoP.s page 3
87:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
88:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdesc: Descriptor structure address
89:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param id: Low level core index
90:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status: USBD Status
91:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
92:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_Init(USBD_HandleTypeDef *pdev,
93:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_DescriptorsTypeDef *pdesc, uint8_t id)
94:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
30 .loc 1 94 1 view -0
31 .cfi_startproc
32 @ args = 0, pretend = 0, frame = 0
33 @ frame_needed = 0, uses_anonymous_args = 0
95:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef ret;
34 .loc 1 95 3 view .LVU1
96:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
97:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Check whether the USB Host handle is valid */
98:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev == NULL)
35 .loc 1 98 3 view .LVU2
36 .loc 1 98 6 is_stmt 0 view .LVU3
37 0000 98B1 cbz r0, .L4
94:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef ret;
38 .loc 1 94 1 view .LVU4
39 0002 08B5 push {r3, lr}
40 .LCFI0:
41 .cfi_def_cfa_offset 8
42 .cfi_offset 3, -8
43 .cfi_offset 14, -4
44 0004 0346 mov r3, r0
99:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
100:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #if (USBD_DEBUG_LEVEL > 1U)
101:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_ErrLog("Invalid Device handle");
102:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* (USBD_DEBUG_LEVEL > 1U) */
103:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_FAIL;
104:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
105:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
106:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #ifdef USE_USBD_COMPOSITE
107:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Parse the table of classes in use */
108:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** for (uint32_t i = 0; i < USBD_MAX_SUPPORTED_CLASS; i++)
109:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
110:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Unlink previous class*/
111:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass[i] = NULL;
112:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pUserData[i] = NULL;
113:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
114:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Set class as inactive */
115:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->tclasslist[i].Active = 0;
116:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->NumClasses = 0;
117:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->classId = 0;
118:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
119:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #else
120:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Unlink previous class*/
121:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass[0] = NULL;
45 .loc 1 121 3 is_stmt 1 view .LVU5
46 .loc 1 121 19 is_stmt 0 view .LVU6
47 0006 0020 movs r0, #0
48 .LVL1:
49 .loc 1 121 19 view .LVU7
50 0008 C3F8B802 str r0, [r3, #696]
ARM GAS /tmp/cccwInoP.s page 4
122:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pUserData[0] = NULL;
51 .loc 1 122 3 is_stmt 1 view .LVU8
52 .loc 1 122 22 is_stmt 0 view .LVU9
53 000c C3F8C402 str r0, [r3, #708]
123:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* USE_USBD_COMPOSITE */
124:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
125:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pConfDesc = NULL;
54 .loc 1 125 3 is_stmt 1 view .LVU10
55 .loc 1 125 19 is_stmt 0 view .LVU11
56 0010 C3F8D002 str r0, [r3, #720]
126:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
127:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Assign USBD Descriptors */
128:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdesc != NULL)
57 .loc 1 128 3 is_stmt 1 view .LVU12
58 .loc 1 128 6 is_stmt 0 view .LVU13
59 0014 09B1 cbz r1, .L3
129:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
130:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pDesc = pdesc;
60 .loc 1 130 5 is_stmt 1 view .LVU14
61 .loc 1 130 17 is_stmt 0 view .LVU15
62 0016 C3F8B412 str r1, [r3, #692]
63 .L3:
131:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
132:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
133:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Set Device initial State */
134:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_state = USBD_STATE_DEFAULT;
64 .loc 1 134 3 is_stmt 1 view .LVU16
65 .loc 1 134 19 is_stmt 0 view .LVU17
66 001a 0121 movs r1, #1
67 .LVL2:
68 .loc 1 134 19 view .LVU18
69 001c 83F89C12 strb r1, [r3, #668]
135:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->id = id;
70 .loc 1 135 3 is_stmt 1 view .LVU19
71 .loc 1 135 12 is_stmt 0 view .LVU20
72 0020 1A70 strb r2, [r3]
136:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
137:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Initialize low level driver */
138:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_LL_Init(pdev);
73 .loc 1 138 3 is_stmt 1 view .LVU21
74 .loc 1 138 9 is_stmt 0 view .LVU22
75 0022 1846 mov r0, r3
76 0024 FFF7FEFF bl USBD_LL_Init
77 .LVL3:
139:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
140:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return ret;
78 .loc 1 140 3 is_stmt 1 view .LVU23
141:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
79 .loc 1 141 1 is_stmt 0 view .LVU24
80 0028 08BD pop {r3, pc}
81 .LVL4:
82 .L4:
83 .LCFI1:
84 .cfi_def_cfa_offset 0
85 .cfi_restore 3
86 .cfi_restore 14
103:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
ARM GAS /tmp/cccwInoP.s page 5
87 .loc 1 103 12 view .LVU25
88 002a 0320 movs r0, #3
89 .LVL5:
90 .loc 1 141 1 view .LVU26
91 002c 7047 bx lr
92 .cfi_endproc
93 .LFE243:
95 .section .text.USBD_DeInit,"ax",%progbits
96 .align 1
97 .global USBD_DeInit
98 .syntax unified
99 .thumb
100 .thumb_func
102 USBD_DeInit:
103 .LVL6:
104 .LFB244:
142:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
143:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
144:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_DeInit
145:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * De-Initialize the device library
146:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
147:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status: USBD Status
148:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
149:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_DeInit(USBD_HandleTypeDef *pdev)
150:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
105 .loc 1 150 1 is_stmt 1 view -0
106 .cfi_startproc
107 @ args = 0, pretend = 0, frame = 0
108 @ frame_needed = 0, uses_anonymous_args = 0
109 .loc 1 150 1 is_stmt 0 view .LVU28
110 0000 10B5 push {r4, lr}
111 .LCFI2:
112 .cfi_def_cfa_offset 8
113 .cfi_offset 4, -8
114 .cfi_offset 14, -4
115 0002 0446 mov r4, r0
151:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef ret;
116 .loc 1 151 3 is_stmt 1 view .LVU29
152:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
153:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Disconnect the USB Device */
154:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_LL_Stop(pdev);
117 .loc 1 154 3 view .LVU30
118 .loc 1 154 9 is_stmt 0 view .LVU31
119 0004 FFF7FEFF bl USBD_LL_Stop
120 .LVL7:
155:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
156:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Set Default State */
157:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_state = USBD_STATE_DEFAULT;
121 .loc 1 157 3 is_stmt 1 view .LVU32
122 .loc 1 157 19 is_stmt 0 view .LVU33
123 0008 0123 movs r3, #1
124 000a 84F89C32 strb r3, [r4, #668]
158:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
159:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #ifdef USE_USBD_COMPOSITE
160:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Parse the table of classes in use */
161:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** for (uint32_t i = 0; i < USBD_MAX_SUPPORTED_CLASS; i++)
162:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
ARM GAS /tmp/cccwInoP.s page 6
163:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Check if current class is in use */
164:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if ((pdev->tclasslist[i].Active) == 1U)
165:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
166:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[i] != NULL)
167:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
168:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->classId = i;
169:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Free Class Resources */
170:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass[i]->DeInit(pdev, (uint8_t)pdev->dev_config);
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 **** }
174:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #else
175:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Free Class Resources */
176:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[0] != NULL)
125 .loc 1 176 3 is_stmt 1 view .LVU34
126 .loc 1 176 19 is_stmt 0 view .LVU35
127 000e D4F8B832 ldr r3, [r4, #696]
128 .loc 1 176 6 view .LVU36
129 0012 1BB1 cbz r3, .L10
177:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
178:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass[0]->DeInit(pdev, (uint8_t)pdev->dev_config);
130 .loc 1 178 5 is_stmt 1 view .LVU37
131 .loc 1 178 20 is_stmt 0 view .LVU38
132 0014 5B68 ldr r3, [r3, #4]
133 .loc 1 178 5 view .LVU39
134 0016 2179 ldrb r1, [r4, #4] @ zero_extendqisi2
135 0018 2046 mov r0, r4
136 001a 9847 blx r3
137 .LVL8:
138 .L10:
179:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
180:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
181:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pUserData[0] = NULL;
139 .loc 1 181 3 is_stmt 1 view .LVU40
140 .loc 1 181 22 is_stmt 0 view .LVU41
141 001c 0023 movs r3, #0
142 001e C4F8C432 str r3, [r4, #708]
182:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
183:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* USE_USBD_COMPOSITE */
184:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
185:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Free Device descriptors resources */
186:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pDesc = NULL;
143 .loc 1 186 3 is_stmt 1 view .LVU42
144 .loc 1 186 15 is_stmt 0 view .LVU43
145 0022 C4F8B432 str r3, [r4, #692]
187:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pConfDesc = NULL;
146 .loc 1 187 3 is_stmt 1 view .LVU44
147 .loc 1 187 19 is_stmt 0 view .LVU45
148 0026 C4F8D032 str r3, [r4, #720]
188:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
189:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* DeInitialize low level driver */
190:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_LL_DeInit(pdev);
149 .loc 1 190 3 is_stmt 1 view .LVU46
150 .loc 1 190 9 is_stmt 0 view .LVU47
151 002a 2046 mov r0, r4
152 002c FFF7FEFF bl USBD_LL_DeInit
153 .LVL9:
ARM GAS /tmp/cccwInoP.s page 7
191:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
192:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return ret;
154 .loc 1 192 3 is_stmt 1 view .LVU48
193:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
155 .loc 1 193 1 is_stmt 0 view .LVU49
156 0030 10BD pop {r4, pc}
157 .loc 1 193 1 view .LVU50
158 .cfi_endproc
159 .LFE244:
161 .section .text.USBD_RegisterClass,"ax",%progbits
162 .align 1
163 .global USBD_RegisterClass
164 .syntax unified
165 .thumb
166 .thumb_func
168 USBD_RegisterClass:
169 .LVL10:
170 .LFB245:
194:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
195:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
196:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_RegisterClass
197:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Link class driver to Device Core.
198:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: Device Handle
199:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pclass: Class handle
200:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval USBD Status
201:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
202:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_RegisterClass(USBD_HandleTypeDef *pdev, USBD_ClassTypeDef *pclass)
203:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
171 .loc 1 203 1 is_stmt 1 view -0
172 .cfi_startproc
173 @ args = 0, pretend = 0, frame = 8
174 @ frame_needed = 0, uses_anonymous_args = 0
175 .loc 1 203 1 is_stmt 0 view .LVU52
176 0000 10B5 push {r4, lr}
177 .LCFI3:
178 .cfi_def_cfa_offset 8
179 .cfi_offset 4, -8
180 .cfi_offset 14, -4
181 0002 82B0 sub sp, sp, #8
182 .LCFI4:
183 .cfi_def_cfa_offset 16
204:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** uint16_t len = 0U;
184 .loc 1 204 3 is_stmt 1 view .LVU53
185 .loc 1 204 12 is_stmt 0 view .LVU54
186 0004 0023 movs r3, #0
187 0006 ADF80630 strh r3, [sp, #6] @ movhi
205:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
206:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pclass == NULL)
188 .loc 1 206 3 is_stmt 1 view .LVU55
189 .loc 1 206 6 is_stmt 0 view .LVU56
190 000a 89B1 cbz r1, .L15
191 000c 0446 mov r4, r0
207:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
208:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #if (USBD_DEBUG_LEVEL > 1U)
209:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_ErrLog("Invalid Class handle");
210:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* (USBD_DEBUG_LEVEL > 1U) */
211:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_FAIL;
ARM GAS /tmp/cccwInoP.s page 8
212:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
213:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
214:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* link the class to the USB Device handle */
215:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass[0] = pclass;
192 .loc 1 215 3 is_stmt 1 view .LVU57
193 .loc 1 215 19 is_stmt 0 view .LVU58
194 000e C0F8B812 str r1, [r0, #696]
216:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
217:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Get Device Configuration Descriptor */
218:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #ifdef USE_USB_HS
219:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[pdev->classId]->GetHSConfigDescriptor != NULL)
220:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
221:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pConfDesc = (void *)pdev->pClass[pdev->classId]->GetHSConfigDescriptor(&len);
222:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
223:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #else /* Default USE_USB_FS */
224:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[pdev->classId]->GetFSConfigDescriptor != NULL)
195 .loc 1 224 3 is_stmt 1 view .LVU59
196 .loc 1 224 34 is_stmt 0 view .LVU60
197 0012 CB6A ldr r3, [r1, #44]
198 .loc 1 224 6 view .LVU61
199 0014 23B1 cbz r3, .L14
225:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
226:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pConfDesc = (void *)pdev->pClass[pdev->classId]->GetFSConfigDescriptor(&len);
200 .loc 1 226 5 is_stmt 1 view .LVU62
201 .loc 1 226 31 is_stmt 0 view .LVU63
202 0016 0DF10600 add r0, sp, #6
203 .LVL11:
204 .loc 1 226 31 view .LVU64
205 001a 9847 blx r3
206 .LVL12:
207 .loc 1 226 21 discriminator 1 view .LVU65
208 001c C4F8D002 str r0, [r4, #720]
209 .L14:
227:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
228:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* USE_USB_FS */
229:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
230:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Increment the NumClasses */
231:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->NumClasses++;
210 .loc 1 231 3 is_stmt 1 view .LVU66
211 .loc 1 231 7 is_stmt 0 view .LVU67
212 0020 D4F8D832 ldr r3, [r4, #728]
213 .loc 1 231 19 view .LVU68
214 0024 0133 adds r3, r3, #1
215 0026 C4F8D832 str r3, [r4, #728]
232:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
233:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
216 .loc 1 233 3 is_stmt 1 view .LVU69
217 .loc 1 233 10 is_stmt 0 view .LVU70
218 002a 0020 movs r0, #0
219 .LVL13:
220 .L13:
234:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
221 .loc 1 234 1 view .LVU71
222 002c 02B0 add sp, sp, #8
223 .LCFI5:
224 .cfi_remember_state
225 .cfi_def_cfa_offset 8
ARM GAS /tmp/cccwInoP.s page 9
226 @ sp needed
227 002e 10BD pop {r4, pc}
228 .LVL14:
229 .L15:
230 .LCFI6:
231 .cfi_restore_state
211:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
232 .loc 1 211 12 view .LVU72
233 0030 0320 movs r0, #3
234 .LVL15:
211:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
235 .loc 1 211 12 view .LVU73
236 0032 FBE7 b .L13
237 .cfi_endproc
238 .LFE245:
240 .section .text.USBD_Start,"ax",%progbits
241 .align 1
242 .global USBD_Start
243 .syntax unified
244 .thumb
245 .thumb_func
247 USBD_Start:
248 .LVL16:
249 .LFB246:
235:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
236:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #ifdef USE_USBD_COMPOSITE
237:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
238:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_RegisterClassComposite
239:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Link class driver to Device Core.
240:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev : Device Handle
241:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pclass: Class handle
242:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param classtype: Class type
243:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param EpAddr: Endpoint Address handle
244:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval USBD Status
245:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
246:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_RegisterClassComposite(USBD_HandleTypeDef *pdev, USBD_ClassTypeDef *pclass,
247:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_CompositeClassTypeDef classtype, uint8_t *EpAdd
248:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
249:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef ret = USBD_OK;
250:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** uint16_t len = 0U;
251:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
252:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if ((pdev->classId < USBD_MAX_SUPPORTED_CLASS) && (pdev->NumClasses < USBD_MAX_SUPPORTED_CLASS))
253:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
254:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if ((uint32_t)pclass != 0U)
255:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
256:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Link the class to the USB Device handle */
257:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass[pdev->classId] = pclass;
258:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_OK;
259:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
260:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->tclasslist[pdev->classId].EpAdd = EpAddr;
261:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
262:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Call the composite class builder */
263:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_CMPSIT_AddClass(pdev, pclass, classtype, 0);
264:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
265:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Increment the ClassId for the next occurrence */
266:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->classId ++;
267:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->NumClasses ++;
ARM GAS /tmp/cccwInoP.s page 10
268:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
269:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else
270:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
271:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #if (USBD_DEBUG_LEVEL > 1U)
272:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_ErrLog("Invalid Class handle");
273:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* (USBD_DEBUG_LEVEL > 1U) */
274:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_FAIL;
275:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
276:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
277:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
278:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (ret == USBD_OK)
279:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
280:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Get Device Configuration Descriptor */
281:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #ifdef USE_USB_HS
282:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pConfDesc = USBD_CMPSIT.GetHSConfigDescriptor(&len);
283:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #else /* Default USE_USB_FS */
284:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pConfDesc = USBD_CMPSIT.GetFSConfigDescriptor(&len);
285:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* USE_USB_FS */
286:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
287:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
288:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return ret;
289:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
290:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
291:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
292:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_UnRegisterClassComposite
293:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * UnLink all composite class drivers from Device Core.
294:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: Device Handle
295:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval USBD Status
296:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
297:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_UnRegisterClassComposite(USBD_HandleTypeDef *pdev)
298:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
299:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef ret = USBD_OK;
300:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** uint8_t idx1;
301:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** uint8_t idx2;
302:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
303:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Unroll all activated classes */
304:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** for (idx1 = 0; idx1 < pdev->NumClasses; idx1++)
305:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
306:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Check if the class correspond to the requested type and if it is active */
307:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->tclasslist[idx1].Active == 1U)
308:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
309:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Set the new class ID */
310:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->classId = idx1;
311:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
312:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Free resources used by the selected class */
313:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[pdev->classId] != NULL)
314:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
315:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Free Class Resources */
316:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[pdev->classId]->DeInit(pdev, (uint8_t)pdev->dev_config) != 0U)
317:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
318:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #if (USBD_DEBUG_LEVEL > 1U)
319:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_ErrLog("Class DeInit didn't succeed!, can't unregister selected class");
320:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* (USBD_DEBUG_LEVEL > 1U) */
321:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
322:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_FAIL;
323:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
324:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
ARM GAS /tmp/cccwInoP.s page 11
325:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
326:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Free the class pointer */
327:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass[pdev->classId] = NULL;
328:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
329:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Free the class location in classes table and reset its parameters to zero */
330:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->tclasslist[pdev->classId].ClassType = CLASS_TYPE_NONE;
331:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->tclasslist[pdev->classId].ClassId = 0U;
332:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->tclasslist[pdev->classId].Active = 0U;
333:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->tclasslist[pdev->classId].NumEps = 0U;
334:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->tclasslist[pdev->classId].NumIf = 0U;
335:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->tclasslist[pdev->classId].CurrPcktSze = 0U;
336:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
337:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** for (idx2 = 0U; idx2 < USBD_MAX_CLASS_ENDPOINTS; idx2++)
338:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
339:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->tclasslist[pdev->classId].Eps[idx2].add = 0U;
340:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->tclasslist[pdev->classId].Eps[idx2].type = 0U;
341:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->tclasslist[pdev->classId].Eps[idx2].size = 0U;
342:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->tclasslist[pdev->classId].Eps[idx2].is_used = 0U;
343:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
344:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
345:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** for (idx2 = 0U; idx2 < USBD_MAX_CLASS_INTERFACES; idx2++)
346:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
347:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->tclasslist[pdev->classId].Ifs[idx2] = 0U;
348:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
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 ****
352:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Reset the configuration descriptor */
353:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_CMPST_ClearConfDesc(pdev);
354:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
355:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Reset the class ID and number of classes */
356:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->classId = 0U;
357:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->NumClasses = 0U;
358:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
359:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return ret;
360:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
361:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* USE_USBD_COMPOSITE */
362:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
363:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #if (USBD_USER_REGISTER_CALLBACK == 1U)
364:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
365:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_RegisterDevStateCallback
366:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev : Device Handle
367:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pUserCallback: User Callback
368:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval USBD Status
369:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
370:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_RegisterDevStateCallback(USBD_HandleTypeDef *pdev, USBD_DevStateCallbackTyp
371:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
372:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->DevStateCallback = pUserCallback;
373:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
374:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
375:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
376:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* USBD_USER_REGISTER_CALLBACK */
377:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
378:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
379:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_Start
380:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Start the USB Device Core.
381:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: Device Handle
ARM GAS /tmp/cccwInoP.s page 12
382:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval USBD Status
383:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
384:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_Start(USBD_HandleTypeDef *pdev)
385:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
250 .loc 1 385 1 is_stmt 1 view -0
251 .cfi_startproc
252 @ args = 0, pretend = 0, frame = 0
253 @ frame_needed = 0, uses_anonymous_args = 0
254 .loc 1 385 1 is_stmt 0 view .LVU75
255 0000 08B5 push {r3, lr}
256 .LCFI7:
257 .cfi_def_cfa_offset 8
258 .cfi_offset 3, -8
259 .cfi_offset 14, -4
386:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #ifdef USE_USBD_COMPOSITE
387:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->classId = 0U;
388:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* USE_USBD_COMPOSITE */
389:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
390:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Start the low level driver */
391:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_LL_Start(pdev);
260 .loc 1 391 3 is_stmt 1 view .LVU76
261 .loc 1 391 10 is_stmt 0 view .LVU77
262 0002 FFF7FEFF bl USBD_LL_Start
263 .LVL17:
392:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
264 .loc 1 392 1 view .LVU78
265 0006 08BD pop {r3, pc}
266 .cfi_endproc
267 .LFE246:
269 .section .text.USBD_Stop,"ax",%progbits
270 .align 1
271 .global USBD_Stop
272 .syntax unified
273 .thumb
274 .thumb_func
276 USBD_Stop:
277 .LVL18:
278 .LFB247:
393:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
394:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
395:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_Stop
396:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Stop the USB Device Core.
397:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: Device Handle
398:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval USBD Status
399:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
400:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_Stop(USBD_HandleTypeDef *pdev)
401:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
279 .loc 1 401 1 is_stmt 1 view -0
280 .cfi_startproc
281 @ args = 0, pretend = 0, frame = 0
282 @ frame_needed = 0, uses_anonymous_args = 0
283 .loc 1 401 1 is_stmt 0 view .LVU80
284 0000 10B5 push {r4, lr}
285 .LCFI8:
286 .cfi_def_cfa_offset 8
287 .cfi_offset 4, -8
288 .cfi_offset 14, -4
ARM GAS /tmp/cccwInoP.s page 13
289 0002 0446 mov r4, r0
402:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Disconnect USB Device */
403:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_LL_Stop(pdev);
290 .loc 1 403 3 is_stmt 1 view .LVU81
291 .loc 1 403 9 is_stmt 0 view .LVU82
292 0004 FFF7FEFF bl USBD_LL_Stop
293 .LVL19:
404:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
405:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Free Class Resources */
406:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #ifdef USE_USBD_COMPOSITE
407:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Parse the table of classes in use */
408:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** for (uint32_t i = 0U; i < USBD_MAX_SUPPORTED_CLASS; i++)
409:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
410:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Check if current class is in use */
411:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if ((pdev->tclasslist[i].Active) == 1U)
412:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
413:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[i] != NULL)
414:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
415:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->classId = i;
416:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Free Class Resources */
417:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)pdev->pClass[i]->DeInit(pdev, (uint8_t)pdev->dev_config);
418:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
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 ****
422:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Reset the class ID */
423:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->classId = 0U;
424:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #else
425:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[0] != NULL)
294 .loc 1 425 3 is_stmt 1 view .LVU83
295 .loc 1 425 19 is_stmt 0 view .LVU84
296 0008 D4F8B832 ldr r3, [r4, #696]
297 .loc 1 425 6 view .LVU85
298 000c 1BB1 cbz r3, .L20
426:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
427:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)pdev->pClass[0]->DeInit(pdev, (uint8_t)pdev->dev_config);
299 .loc 1 427 5 is_stmt 1 view .LVU86
300 .loc 1 427 26 is_stmt 0 view .LVU87
301 000e 5B68 ldr r3, [r3, #4]
302 .loc 1 427 11 view .LVU88
303 0010 2179 ldrb r1, [r4, #4] @ zero_extendqisi2
304 0012 2046 mov r0, r4
305 0014 9847 blx r3
306 .LVL20:
307 .L20:
428:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
429:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* USE_USBD_COMPOSITE */
430:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
431:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
308 .loc 1 431 3 is_stmt 1 view .LVU89
432:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
309 .loc 1 432 1 is_stmt 0 view .LVU90
310 0016 0020 movs r0, #0
311 0018 10BD pop {r4, pc}
312 .loc 1 432 1 view .LVU91
313 .cfi_endproc
314 .LFE247:
ARM GAS /tmp/cccwInoP.s page 14
316 .section .text.USBD_RunTestMode,"ax",%progbits
317 .align 1
318 .global USBD_RunTestMode
319 .syntax unified
320 .thumb
321 .thumb_func
323 USBD_RunTestMode:
324 .LVL21:
325 .LFB248:
433:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
434:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
435:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_RunTestMode
436:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Launch test mode process
437:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
438:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
439:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
440:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_RunTestMode(USBD_HandleTypeDef *pdev)
441:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
326 .loc 1 441 1 is_stmt 1 view -0
327 .cfi_startproc
328 @ args = 0, pretend = 0, frame = 0
329 @ frame_needed = 0, uses_anonymous_args = 0
330 @ link register save eliminated.
442:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #ifdef USBD_HS_TESTMODE_ENABLE
443:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef ret;
444:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
445:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Run USB HS test mode */
446:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_LL_SetTestMode(pdev, pdev->dev_test_mode);
447:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
448:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return ret;
449:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #else
450:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Prevent unused argument compilation warning */
451:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** UNUSED(pdev);
331 .loc 1 451 3 view .LVU93
452:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
453:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
332 .loc 1 453 3 view .LVU94
454:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* USBD_HS_TESTMODE_ENABLE */
455:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
333 .loc 1 455 1 is_stmt 0 view .LVU95
334 0000 0020 movs r0, #0
335 .LVL22:
336 .loc 1 455 1 view .LVU96
337 0002 7047 bx lr
338 .cfi_endproc
339 .LFE248:
341 .section .text.USBD_SetClassConfig,"ax",%progbits
342 .align 1
343 .global USBD_SetClassConfig
344 .syntax unified
345 .thumb
346 .thumb_func
348 USBD_SetClassConfig:
349 .LVL23:
350 .LFB249:
456:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
457:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
ARM GAS /tmp/cccwInoP.s page 15
458:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_SetClassConfig
459:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Configure device and start the interface
460:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
461:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param cfgidx: configuration index
462:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
463:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
464:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
465:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_SetClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx)
466:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
351 .loc 1 466 1 is_stmt 1 view -0
352 .cfi_startproc
353 @ args = 0, pretend = 0, frame = 0
354 @ frame_needed = 0, uses_anonymous_args = 0
355 .loc 1 466 1 is_stmt 0 view .LVU98
356 0000 08B5 push {r3, lr}
357 .LCFI9:
358 .cfi_def_cfa_offset 8
359 .cfi_offset 3, -8
360 .cfi_offset 14, -4
467:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef ret = USBD_OK;
361 .loc 1 467 3 is_stmt 1 view .LVU99
362 .LVL24:
468:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
469:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #ifdef USE_USBD_COMPOSITE
470:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Parse the table of classes in use */
471:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** for (uint32_t i = 0U; i < USBD_MAX_SUPPORTED_CLASS; i++)
472:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
473:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Check if current class is in use */
474:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if ((pdev->tclasslist[i].Active) == 1U)
475:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
476:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[i] != NULL)
477:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
478:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->classId = i;
479:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Set configuration and Start the Class*/
480:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[i]->Init(pdev, cfgidx) != 0U)
481:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
482:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_FAIL;
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 **** }
486:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
487:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #else
488:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[0] != NULL)
363 .loc 1 488 3 view .LVU100
364 .loc 1 488 19 is_stmt 0 view .LVU101
365 0002 D0F8B832 ldr r3, [r0, #696]
366 .loc 1 488 6 view .LVU102
367 0006 13B1 cbz r3, .L25
489:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
490:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Set configuration and Start the Class */
491:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = (USBD_StatusTypeDef)pdev->pClass[0]->Init(pdev, cfgidx);
368 .loc 1 491 5 is_stmt 1 view .LVU103
369 .loc 1 491 46 is_stmt 0 view .LVU104
370 0008 1B68 ldr r3, [r3]
371 .loc 1 491 31 view .LVU105
372 000a 9847 blx r3
373 .LVL25:
ARM GAS /tmp/cccwInoP.s page 16
374 .L24:
492:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
493:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* USE_USBD_COMPOSITE */
494:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
495:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return ret;
375 .loc 1 495 3 is_stmt 1 view .LVU106
496:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
376 .loc 1 496 1 is_stmt 0 view .LVU107
377 000c 08BD pop {r3, pc}
378 .LVL26:
379 .L25:
467:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
380 .loc 1 467 22 view .LVU108
381 000e 0020 movs r0, #0
382 .LVL27:
467:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
383 .loc 1 467 22 view .LVU109
384 0010 FCE7 b .L24
385 .cfi_endproc
386 .LFE249:
388 .section .text.USBD_ClrClassConfig,"ax",%progbits
389 .align 1
390 .global USBD_ClrClassConfig
391 .syntax unified
392 .thumb
393 .thumb_func
395 USBD_ClrClassConfig:
396 .LVL28:
397 .LFB250:
497:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
498:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
499:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_ClrClassConfig
500:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Clear current configuration
501:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
502:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param cfgidx: configuration index
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 **** USBD_StatusTypeDef USBD_ClrClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx)
506:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
398 .loc 1 506 1 is_stmt 1 view -0
399 .cfi_startproc
400 @ args = 0, pretend = 0, frame = 0
401 @ frame_needed = 0, uses_anonymous_args = 0
402 .loc 1 506 1 is_stmt 0 view .LVU111
403 0000 08B5 push {r3, lr}
404 .LCFI10:
405 .cfi_def_cfa_offset 8
406 .cfi_offset 3, -8
407 .cfi_offset 14, -4
507:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef ret = USBD_OK;
408 .loc 1 507 3 is_stmt 1 view .LVU112
409 .LVL29:
508:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
509:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #ifdef USE_USBD_COMPOSITE
510:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Parse the table of classes in use */
511:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** for (uint32_t i = 0U; i < USBD_MAX_SUPPORTED_CLASS; i++)
512:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
ARM GAS /tmp/cccwInoP.s page 17
513:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Check if current class is in use */
514:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if ((pdev->tclasslist[i].Active) == 1U)
515:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
516:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[i] != NULL)
517:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
518:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->classId = i;
519:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Clear configuration and De-initialize the Class process */
520:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[i]->DeInit(pdev, cfgidx) != 0U)
521:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
522:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_FAIL;
523:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
524:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
525:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
526:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
527:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #else
528:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Clear configuration and De-initialize the Class process */
529:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[0]->DeInit(pdev, cfgidx) != 0U)
410 .loc 1 529 3 view .LVU113
411 .loc 1 529 19 is_stmt 0 view .LVU114
412 0002 D0F8B832 ldr r3, [r0, #696]
413 .loc 1 529 22 view .LVU115
414 0006 5B68 ldr r3, [r3, #4]
415 .loc 1 529 7 view .LVU116
416 0008 9847 blx r3
417 .LVL30:
418 .loc 1 529 6 discriminator 1 view .LVU117
419 000a 00B9 cbnz r0, .L31
420 .L28:
421 .LVL31:
530:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
531:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_FAIL;
532:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
533:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* USE_USBD_COMPOSITE */
534:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
535:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return ret;
422 .loc 1 535 3 is_stmt 1 view .LVU118
536:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
423 .loc 1 536 1 is_stmt 0 view .LVU119
424 000c 08BD pop {r3, pc}
425 .LVL32:
426 .L31:
531:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
427 .loc 1 531 9 view .LVU120
428 000e 0320 movs r0, #3
429 0010 FCE7 b .L28
430 .cfi_endproc
431 .LFE250:
433 .section .text.USBD_LL_SetupStage,"ax",%progbits
434 .align 1
435 .global USBD_LL_SetupStage
436 .syntax unified
437 .thumb
438 .thumb_func
440 USBD_LL_SetupStage:
441 .LVL33:
442 .LFB251:
537:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
ARM GAS /tmp/cccwInoP.s page 18
538:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
539:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
540:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_LL_SetupStage
541:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle the setup stage
542:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
543:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param psetup: setup packet buffer pointer
544:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
545:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
546:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_SetupStage(USBD_HandleTypeDef *pdev, uint8_t *psetup)
547:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
443 .loc 1 547 1 is_stmt 1 view -0
444 .cfi_startproc
445 @ args = 0, pretend = 0, frame = 0
446 @ frame_needed = 0, uses_anonymous_args = 0
447 .loc 1 547 1 is_stmt 0 view .LVU122
448 0000 38B5 push {r3, r4, r5, lr}
449 .LCFI11:
450 .cfi_def_cfa_offset 16
451 .cfi_offset 3, -16
452 .cfi_offset 4, -12
453 .cfi_offset 5, -8
454 .cfi_offset 14, -4
455 0002 0446 mov r4, r0
548:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef ret;
456 .loc 1 548 3 is_stmt 1 view .LVU123
549:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
550:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_ParseSetupRequest(&pdev->request, psetup);
457 .loc 1 550 3 view .LVU124
458 0004 00F2AA25 addw r5, r0, #682
459 0008 2846 mov r0, r5
460 .LVL34:
461 .loc 1 550 3 is_stmt 0 view .LVU125
462 000a FFF7FEFF bl USBD_ParseSetupRequest
463 .LVL35:
551:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
552:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep0_state = USBD_EP0_SETUP;
464 .loc 1 552 3 is_stmt 1 view .LVU126
465 .loc 1 552 19 is_stmt 0 view .LVU127
466 000e 0123 movs r3, #1
467 0010 C4F89432 str r3, [r4, #660]
553:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
554:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep0_data_len = pdev->request.wLength;
468 .loc 1 554 3 is_stmt 1 view .LVU128
469 .loc 1 554 37 is_stmt 0 view .LVU129
470 0014 B4F8B032 ldrh r3, [r4, #688]
471 .loc 1 554 22 view .LVU130
472 0018 C4F89832 str r3, [r4, #664]
555:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
556:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** switch (pdev->request.bmRequest & 0x1FU)
473 .loc 1 556 3 is_stmt 1 view .LVU131
474 .loc 1 556 24 is_stmt 0 view .LVU132
475 001c 94F8AA12 ldrb r1, [r4, #682] @ zero_extendqisi2
476 0020 01F01F03 and r3, r1, #31
477 .loc 1 556 3 view .LVU133
478 0024 012B cmp r3, #1
479 0026 07D0 beq .L33
480 0028 022B cmp r3, #2
ARM GAS /tmp/cccwInoP.s page 19
481 002a 0AD0 beq .L34
482 002c 73B9 cbnz r3, .L35
557:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
558:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** case USB_REQ_RECIPIENT_DEVICE:
559:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_StdDevReq(pdev, &pdev->request);
483 .loc 1 559 7 is_stmt 1 view .LVU134
484 .loc 1 559 13 is_stmt 0 view .LVU135
485 002e 2946 mov r1, r5
486 0030 2046 mov r0, r4
487 0032 FFF7FEFF bl USBD_StdDevReq
488 .LVL36:
560:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break;
489 .loc 1 560 7 is_stmt 1 view .LVU136
490 .L36:
561:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
562:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** case USB_REQ_RECIPIENT_INTERFACE:
563:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_StdItfReq(pdev, &pdev->request);
564:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break;
565:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
566:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** case USB_REQ_RECIPIENT_ENDPOINT:
567:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_StdEPReq(pdev, &pdev->request);
568:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break;
569:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
570:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** default:
571:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_LL_StallEP(pdev, (pdev->request.bmRequest & 0x80U));
572:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break;
573:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
574:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
575:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return ret;
491 .loc 1 575 3 view .LVU137
576:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
492 .loc 1 576 1 is_stmt 0 view .LVU138
493 0036 38BD pop {r3, r4, r5, pc}
494 .LVL37:
495 .L33:
563:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break;
496 .loc 1 563 7 is_stmt 1 view .LVU139
563:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break;
497 .loc 1 563 13 is_stmt 0 view .LVU140
498 0038 2946 mov r1, r5
499 003a 2046 mov r0, r4
500 003c FFF7FEFF bl USBD_StdItfReq
501 .LVL38:
564:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
502 .loc 1 564 7 is_stmt 1 view .LVU141
503 0040 F9E7 b .L36
504 .LVL39:
505 .L34:
567:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break;
506 .loc 1 567 7 view .LVU142
567:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break;
507 .loc 1 567 13 is_stmt 0 view .LVU143
508 0042 2946 mov r1, r5
509 0044 2046 mov r0, r4
510 0046 FFF7FEFF bl USBD_StdEPReq
511 .LVL40:
568:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
ARM GAS /tmp/cccwInoP.s page 20
512 .loc 1 568 7 is_stmt 1 view .LVU144
513 004a F4E7 b .L36
514 .LVL41:
515 .L35:
571:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break;
516 .loc 1 571 7 view .LVU145
571:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break;
517 .loc 1 571 13 is_stmt 0 view .LVU146
518 004c 01F08001 and r1, r1, #128
519 0050 2046 mov r0, r4
520 0052 FFF7FEFF bl USBD_LL_StallEP
521 .LVL42:
572:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
522 .loc 1 572 7 is_stmt 1 view .LVU147
523 0056 EEE7 b .L36
524 .cfi_endproc
525 .LFE251:
527 .section .text.USBD_LL_Reset,"ax",%progbits
528 .align 1
529 .global USBD_LL_Reset
530 .syntax unified
531 .thumb
532 .thumb_func
534 USBD_LL_Reset:
535 .LVL43:
536 .LFB254:
577:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
578:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
579:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_LL_DataOutStage
580:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle data OUT stage
581:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
582:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param epnum: endpoint index
583:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdata: data pointer
584:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
585:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
586:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_DataOutStage(USBD_HandleTypeDef *pdev,
587:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** uint8_t epnum, uint8_t *pdata)
588:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
589:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_EndpointTypeDef *pep;
590:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef ret = USBD_OK;
591:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** uint8_t idx;
592:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
593:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** UNUSED(pdata);
594:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
595:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (epnum == 0U)
596:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
597:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pep = &pdev->ep_out[0];
598:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
599:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->ep0_state == USBD_EP0_DATA_OUT)
600:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
601:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pep->rem_length > pep->maxpacket)
602:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
603:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pep->rem_length -= pep->maxpacket;
604:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pep->pbuffer += pep->maxpacket;
605:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
606:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_CtlContinueRx(pdev, pep->pbuffer, MAX(pep->rem_length, pep->maxpacket));
607:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
ARM GAS /tmp/cccwInoP.s page 21
608:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else
609:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
610:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Find the class ID relative to the current request */
611:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** switch (pdev->request.bmRequest & 0x1FU)
612:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
613:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** case USB_REQ_RECIPIENT_DEVICE:
614:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Device requests must be managed by the first instantiated class
615:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (or duplicated by all classes for simplicity) */
616:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** idx = 0U;
617:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break;
618:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
619:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** case USB_REQ_RECIPIENT_INTERFACE:
620:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** idx = USBD_CoreFindIF(pdev, LOBYTE(pdev->request.wIndex));
621:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break;
622:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
623:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** case USB_REQ_RECIPIENT_ENDPOINT:
624:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** idx = USBD_CoreFindEP(pdev, LOBYTE(pdev->request.wIndex));
625:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break;
626:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
627:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** default:
628:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Back to the first class in case of doubt */
629:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** idx = 0U;
630:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break;
631:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
632:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
633:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (idx < USBD_MAX_SUPPORTED_CLASS)
634:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
635:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Setup the class ID and route the request to the relative class function */
636:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->dev_state == USBD_STATE_CONFIGURED)
637:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
638:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[idx]->EP0_RxReady != NULL)
639:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
640:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->classId = idx;
641:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass[idx]->EP0_RxReady(pdev);
642:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
643:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
644:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
645:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
646:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_CtlSendStatus(pdev);
647:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
648:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
649:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
650:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else
651:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
652:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Get the class index relative to this interface */
653:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** idx = USBD_CoreFindEP(pdev, (epnum & 0x7FU));
654:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
655:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (((uint16_t)idx != 0xFFU) && (idx < USBD_MAX_SUPPORTED_CLASS))
656:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
657:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Call the class data out function to manage the request */
658:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->dev_state == USBD_STATE_CONFIGURED)
659:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
660:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[idx]->DataOut != NULL)
661:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
662:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->classId = idx;
663:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = (USBD_StatusTypeDef)pdev->pClass[idx]->DataOut(pdev, epnum);
664:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
ARM GAS /tmp/cccwInoP.s page 22
665:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
666:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (ret != USBD_OK)
667:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
668:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return ret;
669:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
670:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
671:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
672:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
673:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
674:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
675:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
676:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
677:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_LL_DataInStage
678:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle data in stage
679:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
680:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param epnum: endpoint index
681:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdata: data pointer
682:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
683:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
684:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_DataInStage(USBD_HandleTypeDef *pdev,
685:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** uint8_t epnum, uint8_t *pdata)
686:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
687:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_EndpointTypeDef *pep;
688:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef ret;
689:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** uint8_t idx;
690:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
691:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** UNUSED(pdata);
692:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
693:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (epnum == 0U)
694:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
695:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pep = &pdev->ep_in[0];
696:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
697:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->ep0_state == USBD_EP0_DATA_IN)
698:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
699:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pep->rem_length > pep->maxpacket)
700:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
701:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pep->rem_length -= pep->maxpacket;
702:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pep->pbuffer += pep->maxpacket;
703:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
704:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_CtlContinueSendData(pdev, pep->pbuffer, pep->rem_length);
705:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
706:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Prepare endpoint for premature end of transfer */
707:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_LL_PrepareReceive(pdev, 0U, NULL, 0U);
708:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
709:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else
710:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
711:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* last packet is MPS multiple, so send ZLP packet */
712:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if ((pep->maxpacket == pep->rem_length) &&
713:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pep->total_length >= pep->maxpacket) &&
714:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pep->total_length < pdev->ep0_data_len))
715:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
716:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_CtlContinueSendData(pdev, NULL, 0U);
717:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep0_data_len = 0U;
718:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
719:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Prepare endpoint for premature end of transfer */
720:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_LL_PrepareReceive(pdev, 0U, NULL, 0U);
721:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
ARM GAS /tmp/cccwInoP.s page 23
722:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else
723:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
724:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->dev_state == USBD_STATE_CONFIGURED)
725:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
726:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[0]->EP0_TxSent != NULL)
727:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
728:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->classId = 0U;
729:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass[0]->EP0_TxSent(pdev);
730:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
731:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
732:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_LL_StallEP(pdev, 0x80U);
733:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_CtlReceiveStatus(pdev);
734:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
735:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
736:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
737:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
738:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->dev_test_mode != 0U)
739:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
740:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_RunTestMode(pdev);
741:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_test_mode = 0U;
742:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
743:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
744:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else
745:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
746:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Get the class index relative to this interface */
747:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** idx = USBD_CoreFindEP(pdev, ((uint8_t)epnum | 0x80U));
748:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
749:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (((uint16_t)idx != 0xFFU) && (idx < USBD_MAX_SUPPORTED_CLASS))
750:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
751:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Call the class data out function to manage the request */
752:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->dev_state == USBD_STATE_CONFIGURED)
753:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
754:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[idx]->DataIn != NULL)
755:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
756:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->classId = idx;
757:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = (USBD_StatusTypeDef)pdev->pClass[idx]->DataIn(pdev, epnum);
758:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
759:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (ret != USBD_OK)
760:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
761:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return ret;
762:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
763:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
764:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
765:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
766:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
767:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
768:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
769:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
770:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
771:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
772:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_LL_Reset
773:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle Reset event
774:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
775:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
776:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
777:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_Reset(USBD_HandleTypeDef *pdev)
778:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
ARM GAS /tmp/cccwInoP.s page 24
537 .loc 1 778 1 view -0
538 .cfi_startproc
539 @ args = 0, pretend = 0, frame = 0
540 @ frame_needed = 0, uses_anonymous_args = 0
541 .loc 1 778 1 is_stmt 0 view .LVU149
542 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
543 .LCFI12:
544 .cfi_def_cfa_offset 24
545 .cfi_offset 3, -24
546 .cfi_offset 4, -20
547 .cfi_offset 5, -16
548 .cfi_offset 6, -12
549 .cfi_offset 7, -8
550 .cfi_offset 14, -4
551 0002 0446 mov r4, r0
779:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef ret = USBD_OK;
552 .loc 1 779 3 is_stmt 1 view .LVU150
553 .LVL44:
780:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
781:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Upon Reset call user call back */
782:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_state = USBD_STATE_DEFAULT;
554 .loc 1 782 3 view .LVU151
555 .loc 1 782 19 is_stmt 0 view .LVU152
556 0004 0123 movs r3, #1
557 0006 80F89C32 strb r3, [r0, #668]
783:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep0_state = USBD_EP0_IDLE;
558 .loc 1 783 3 is_stmt 1 view .LVU153
559 .loc 1 783 19 is_stmt 0 view .LVU154
560 000a 0023 movs r3, #0
561 000c C0F89432 str r3, [r0, #660]
784:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_config = 0U;
562 .loc 1 784 3 is_stmt 1 view .LVU155
563 .loc 1 784 20 is_stmt 0 view .LVU156
564 0010 4360 str r3, [r0, #4]
785:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_remote_wakeup = 0U;
565 .loc 1 785 3 is_stmt 1 view .LVU157
566 .loc 1 785 27 is_stmt 0 view .LVU158
567 0012 C0F8A432 str r3, [r0, #676]
786:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_test_mode = 0U;
568 .loc 1 786 3 is_stmt 1 view .LVU159
569 .loc 1 786 23 is_stmt 0 view .LVU160
570 0016 80F8A032 strb r3, [r0, #672]
787:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
788:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #ifdef USE_USBD_COMPOSITE
789:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Parse the table of classes in use */
790:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** for (uint32_t i = 0U; i < USBD_MAX_SUPPORTED_CLASS; i++)
791:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
792:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Check if current class is in use */
793:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if ((pdev->tclasslist[i].Active) == 1U)
794:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
795:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[i] != NULL)
796:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
797:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->classId = i;
798:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Clear configuration and De-initialize the Class process*/
799:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
800:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[i]->DeInit != NULL)
801:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
ARM GAS /tmp/cccwInoP.s page 25
802:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[i]->DeInit(pdev, (uint8_t)pdev->dev_config) != USBD_OK)
803:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
804:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_FAIL;
805:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
806:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
807:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
808:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
809:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
810:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #else
811:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
812:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[0] != NULL)
571 .loc 1 812 3 is_stmt 1 view .LVU161
572 .loc 1 812 19 is_stmt 0 view .LVU162
573 001a D0F8B832 ldr r3, [r0, #696]
574 .loc 1 812 6 view .LVU163
575 001e E3B1 cbz r3, .L40
813:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
814:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[0]->DeInit != NULL)
576 .loc 1 814 5 is_stmt 1 view .LVU164
577 .loc 1 814 24 is_stmt 0 view .LVU165
578 0020 5B68 ldr r3, [r3, #4]
579 .loc 1 814 8 view .LVU166
580 0022 E3B1 cbz r3, .L41
815:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
816:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[0]->DeInit(pdev, (uint8_t)pdev->dev_config) != USBD_OK)
581 .loc 1 816 7 is_stmt 1 view .LVU167
582 .loc 1 816 11 is_stmt 0 view .LVU168
583 0024 0021 movs r1, #0
584 0026 9847 blx r3
585 .LVL45:
586 .loc 1 816 10 discriminator 1 view .LVU169
587 0028 0746 mov r7, r0
588 002a D0B9 cbnz r0, .L44
589 .L39:
590 .LVL46:
817:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
818:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_FAIL;
819:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
820:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
821:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
822:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* USE_USBD_COMPOSITE */
823:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
824:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Open EP0 OUT */
825:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_LL_OpenEP(pdev, 0x00U, USBD_EP_TYPE_CTRL, USB_MAX_EP0_SIZE);
591 .loc 1 825 3 is_stmt 1 view .LVU170
592 .loc 1 825 9 is_stmt 0 view .LVU171
593 002c 4023 movs r3, #64
594 002e 0022 movs r2, #0
595 0030 1146 mov r1, r2
596 0032 2046 mov r0, r4
597 0034 FFF7FEFF bl USBD_LL_OpenEP
598 .LVL47:
826:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep_out[0x00U & 0xFU].is_used = 1U;
599 .loc 1 826 3 is_stmt 1 view .LVU172
600 .loc 1 826 38 is_stmt 0 view .LVU173
601 0038 0126 movs r6, #1
602 003a 84F86361 strb r6, [r4, #355]
ARM GAS /tmp/cccwInoP.s page 26
827:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
828:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep_out[0].maxpacket = USB_MAX_EP0_SIZE;
603 .loc 1 828 3 is_stmt 1 view .LVU174
604 .loc 1 828 29 is_stmt 0 view .LVU175
605 003e 4025 movs r5, #64
606 0040 A4F86051 strh r5, [r4, #352] @ movhi
829:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
830:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Open EP0 IN */
831:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_LL_OpenEP(pdev, 0x80U, USBD_EP_TYPE_CTRL, USB_MAX_EP0_SIZE);
607 .loc 1 831 3 is_stmt 1 view .LVU176
608 .loc 1 831 9 is_stmt 0 view .LVU177
609 0044 2B46 mov r3, r5
610 0046 0022 movs r2, #0
611 0048 8021 movs r1, #128
612 004a 2046 mov r0, r4
613 004c FFF7FEFF bl USBD_LL_OpenEP
614 .LVL48:
832:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep_in[0x80U & 0xFU].is_used = 1U;
615 .loc 1 832 3 is_stmt 1 view .LVU178
616 .loc 1 832 37 is_stmt 0 view .LVU179
617 0050 84F82360 strb r6, [r4, #35]
833:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
834:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep_in[0].maxpacket = USB_MAX_EP0_SIZE;
618 .loc 1 834 3 is_stmt 1 view .LVU180
619 .loc 1 834 28 is_stmt 0 view .LVU181
620 0054 2584 strh r5, [r4, #32] @ movhi
835:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
836:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return ret;
621 .loc 1 836 3 is_stmt 1 view .LVU182
837:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
622 .loc 1 837 1 is_stmt 0 view .LVU183
623 0056 3846 mov r0, r7
624 0058 F8BD pop {r3, r4, r5, r6, r7, pc}
625 .LVL49:
626 .L40:
779:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
627 .loc 1 779 22 view .LVU184
628 005a 0027 movs r7, #0
629 005c E6E7 b .L39
630 .L41:
631 005e 0027 movs r7, #0
632 0060 E4E7 b .L39
633 .LVL50:
634 .L44:
818:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
635 .loc 1 818 13 view .LVU185
636 0062 0327 movs r7, #3
637 0064 E2E7 b .L39
638 .cfi_endproc
639 .LFE254:
641 .section .text.USBD_LL_SetSpeed,"ax",%progbits
642 .align 1
643 .global USBD_LL_SetSpeed
644 .syntax unified
645 .thumb
646 .thumb_func
648 USBD_LL_SetSpeed:
ARM GAS /tmp/cccwInoP.s page 27
649 .LVL51:
650 .LFB255:
838:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
839:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
840:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_LL_SetSpeed
841:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle Reset event
842:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
843:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
844:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
845:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_SetSpeed(USBD_HandleTypeDef *pdev,
846:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_SpeedTypeDef speed)
847:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
651 .loc 1 847 1 is_stmt 1 view -0
652 .cfi_startproc
653 @ args = 0, pretend = 0, frame = 0
654 @ frame_needed = 0, uses_anonymous_args = 0
655 @ link register save eliminated.
848:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_speed = speed;
656 .loc 1 848 3 view .LVU187
657 .loc 1 848 19 is_stmt 0 view .LVU188
658 0000 0174 strb r1, [r0, #16]
849:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
850:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
659 .loc 1 850 3 is_stmt 1 view .LVU189
851:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
660 .loc 1 851 1 is_stmt 0 view .LVU190
661 0002 0020 movs r0, #0
662 .LVL52:
663 .loc 1 851 1 view .LVU191
664 0004 7047 bx lr
665 .cfi_endproc
666 .LFE255:
668 .section .text.USBD_LL_Suspend,"ax",%progbits
669 .align 1
670 .global USBD_LL_Suspend
671 .syntax unified
672 .thumb
673 .thumb_func
675 USBD_LL_Suspend:
676 .LVL53:
677 .LFB256:
852:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
853:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
854:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_LL_Suspend
855:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle Suspend event
856:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
857:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
858:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
859:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_Suspend(USBD_HandleTypeDef *pdev)
860:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
678 .loc 1 860 1 is_stmt 1 view -0
679 .cfi_startproc
680 @ args = 0, pretend = 0, frame = 0
681 @ frame_needed = 0, uses_anonymous_args = 0
682 @ link register save eliminated.
861:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->dev_state != USBD_STATE_SUSPENDED)
683 .loc 1 861 3 view .LVU193
ARM GAS /tmp/cccwInoP.s page 28
684 .loc 1 861 11 is_stmt 0 view .LVU194
685 0000 90F89C32 ldrb r3, [r0, #668] @ zero_extendqisi2
686 0004 DBB2 uxtb r3, r3
687 .loc 1 861 6 view .LVU195
688 0006 042B cmp r3, #4
689 0008 04D0 beq .L47
862:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
863:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_old_state = pdev->dev_state;
690 .loc 1 863 5 is_stmt 1 view .LVU196
691 .loc 1 863 31 is_stmt 0 view .LVU197
692 000a 90F89C32 ldrb r3, [r0, #668] @ zero_extendqisi2
693 000e DBB2 uxtb r3, r3
694 .loc 1 863 25 view .LVU198
695 0010 80F89D32 strb r3, [r0, #669]
696 .L47:
864:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
865:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
866:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_state = USBD_STATE_SUSPENDED;
697 .loc 1 866 3 is_stmt 1 view .LVU199
698 .loc 1 866 19 is_stmt 0 view .LVU200
699 0014 0423 movs r3, #4
700 0016 80F89C32 strb r3, [r0, #668]
867:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
868:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
701 .loc 1 868 3 is_stmt 1 view .LVU201
869:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
702 .loc 1 869 1 is_stmt 0 view .LVU202
703 001a 0020 movs r0, #0
704 .LVL54:
705 .loc 1 869 1 view .LVU203
706 001c 7047 bx lr
707 .cfi_endproc
708 .LFE256:
710 .section .text.USBD_LL_Resume,"ax",%progbits
711 .align 1
712 .global USBD_LL_Resume
713 .syntax unified
714 .thumb
715 .thumb_func
717 USBD_LL_Resume:
718 .LVL55:
719 .LFB257:
870:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
871:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
872:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_LL_Resume
873:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle Resume event
874:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
875:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
876:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
877:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_Resume(USBD_HandleTypeDef *pdev)
878:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
720 .loc 1 878 1 is_stmt 1 view -0
721 .cfi_startproc
722 @ args = 0, pretend = 0, frame = 0
723 @ frame_needed = 0, uses_anonymous_args = 0
724 @ link register save eliminated.
879:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->dev_state == USBD_STATE_SUSPENDED)
ARM GAS /tmp/cccwInoP.s page 29
725 .loc 1 879 3 view .LVU205
726 .loc 1 879 11 is_stmt 0 view .LVU206
727 0000 90F89C32 ldrb r3, [r0, #668] @ zero_extendqisi2
728 0004 DBB2 uxtb r3, r3
729 .loc 1 879 6 view .LVU207
730 0006 042B cmp r3, #4
731 0008 01D0 beq .L50
732 .L49:
880:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
881:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_state = pdev->dev_old_state;
882:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
883:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
884:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
733 .loc 1 884 3 is_stmt 1 view .LVU208
885:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
734 .loc 1 885 1 is_stmt 0 view .LVU209
735 000a 0020 movs r0, #0
736 .LVL56:
737 .loc 1 885 1 view .LVU210
738 000c 7047 bx lr
739 .LVL57:
740 .L50:
881:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
741 .loc 1 881 5 is_stmt 1 view .LVU211
881:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
742 .loc 1 881 27 is_stmt 0 view .LVU212
743 000e 90F89D32 ldrb r3, [r0, #669] @ zero_extendqisi2
744 0012 DBB2 uxtb r3, r3
881:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
745 .loc 1 881 21 view .LVU213
746 0014 80F89C32 strb r3, [r0, #668]
747 0018 F7E7 b .L49
748 .cfi_endproc
749 .LFE257:
751 .section .text.USBD_LL_SOF,"ax",%progbits
752 .align 1
753 .global USBD_LL_SOF
754 .syntax unified
755 .thumb
756 .thumb_func
758 USBD_LL_SOF:
759 .LVL58:
760 .LFB258:
886:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
887:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
888:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_LL_SOF
889:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle SOF event
890:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
891:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
892:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
893:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_SOF(USBD_HandleTypeDef *pdev)
894:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
761 .loc 1 894 1 is_stmt 1 view -0
762 .cfi_startproc
763 @ args = 0, pretend = 0, frame = 0
764 @ frame_needed = 0, uses_anonymous_args = 0
765 .loc 1 894 1 is_stmt 0 view .LVU215
ARM GAS /tmp/cccwInoP.s page 30
766 0000 08B5 push {r3, lr}
767 .LCFI13:
768 .cfi_def_cfa_offset 8
769 .cfi_offset 3, -8
770 .cfi_offset 14, -4
895:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* The SOF event can be distributed for all classes that support it */
896:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->dev_state == USBD_STATE_CONFIGURED)
771 .loc 1 896 3 is_stmt 1 view .LVU216
772 .loc 1 896 11 is_stmt 0 view .LVU217
773 0002 90F89C32 ldrb r3, [r0, #668] @ zero_extendqisi2
774 0006 DBB2 uxtb r3, r3
775 .loc 1 896 6 view .LVU218
776 0008 032B cmp r3, #3
777 000a 01D0 beq .L54
778 .LVL59:
779 .L52:
897:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
898:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #ifdef USE_USBD_COMPOSITE
899:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Parse the table of classes in use */
900:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** for (uint32_t i = 0; i < USBD_MAX_SUPPORTED_CLASS; i++)
901:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
902:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Check if current class is in use */
903:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if ((pdev->tclasslist[i].Active) == 1U)
904:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
905:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[i] != NULL)
906:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
907:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[i]->SOF != NULL)
908:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
909:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->classId = i;
910:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)pdev->pClass[i]->SOF(pdev);
911:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
912:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
913:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
914:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
915:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #else
916:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[0] != NULL)
917:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
918:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[0]->SOF != NULL)
919:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
920:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)pdev->pClass[0]->SOF(pdev);
921:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
922:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
923:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* USE_USBD_COMPOSITE */
924:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
925:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
926:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
780 .loc 1 926 3 is_stmt 1 view .LVU219
927:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
781 .loc 1 927 1 is_stmt 0 view .LVU220
782 000c 0020 movs r0, #0
783 000e 08BD pop {r3, pc}
784 .LVL60:
785 .L54:
916:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
786 .loc 1 916 5 is_stmt 1 view .LVU221
916:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
787 .loc 1 916 21 is_stmt 0 view .LVU222
ARM GAS /tmp/cccwInoP.s page 31
788 0010 D0F8B832 ldr r3, [r0, #696]
916:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
789 .loc 1 916 8 view .LVU223
790 0014 002B cmp r3, #0
791 0016 F9D0 beq .L52
918:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
792 .loc 1 918 7 is_stmt 1 view .LVU224
918:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
793 .loc 1 918 26 is_stmt 0 view .LVU225
794 0018 DB69 ldr r3, [r3, #28]
918:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
795 .loc 1 918 10 view .LVU226
796 001a 002B cmp r3, #0
797 001c F6D0 beq .L52
920:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
798 .loc 1 920 9 is_stmt 1 view .LVU227
920:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
799 .loc 1 920 15 is_stmt 0 view .LVU228
800 001e 9847 blx r3
801 .LVL61:
920:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
802 .loc 1 920 15 view .LVU229
803 0020 F4E7 b .L52
804 .cfi_endproc
805 .LFE258:
807 .section .text.USBD_LL_IsoINIncomplete,"ax",%progbits
808 .align 1
809 .global USBD_LL_IsoINIncomplete
810 .syntax unified
811 .thumb
812 .thumb_func
814 USBD_LL_IsoINIncomplete:
815 .LVL62:
816 .LFB259:
928:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
929:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
930:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_LL_IsoINIncomplete
931:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle iso in incomplete event
932:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
933:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param epnum: Endpoint number
934:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
935:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
936:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_IsoINIncomplete(USBD_HandleTypeDef *pdev,
937:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** uint8_t epnum)
938:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
817 .loc 1 938 1 is_stmt 1 view -0
818 .cfi_startproc
819 @ args = 0, pretend = 0, frame = 0
820 @ frame_needed = 0, uses_anonymous_args = 0
821 .loc 1 938 1 is_stmt 0 view .LVU231
822 0000 08B5 push {r3, lr}
823 .LCFI14:
824 .cfi_def_cfa_offset 8
825 .cfi_offset 3, -8
826 .cfi_offset 14, -4
939:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[pdev->classId] == NULL)
827 .loc 1 939 3 is_stmt 1 view .LVU232
ARM GAS /tmp/cccwInoP.s page 32
828 .loc 1 939 24 is_stmt 0 view .LVU233
829 0002 D0F8D432 ldr r3, [r0, #724]
830 .loc 1 939 19 view .LVU234
831 0006 AE33 adds r3, r3, #174
832 0008 50F82320 ldr r2, [r0, r3, lsl #2]
833 .loc 1 939 6 view .LVU235
834 000c 5AB1 cbz r2, .L57
940:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
941:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_FAIL;
942:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
943:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
944:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->dev_state == USBD_STATE_CONFIGURED)
835 .loc 1 944 3 is_stmt 1 view .LVU236
836 .loc 1 944 11 is_stmt 0 view .LVU237
837 000e 90F89C32 ldrb r3, [r0, #668] @ zero_extendqisi2
838 0012 DBB2 uxtb r3, r3
839 .loc 1 944 6 view .LVU238
840 0014 032B cmp r3, #3
841 0016 01D0 beq .L61
945:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
946:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[pdev->classId]->IsoINIncomplete != NULL)
947:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
948:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)pdev->pClass[pdev->classId]->IsoINIncomplete(pdev, epnum);
949:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
950:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
951:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
952:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
842 .loc 1 952 10 view .LVU239
843 0018 0020 movs r0, #0
844 .LVL63:
845 .L56:
953:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
846 .loc 1 953 1 view .LVU240
847 001a 08BD pop {r3, pc}
848 .LVL64:
849 .L61:
946:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
850 .loc 1 946 5 is_stmt 1 view .LVU241
946:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
851 .loc 1 946 36 is_stmt 0 view .LVU242
852 001c 136A ldr r3, [r2, #32]
946:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
853 .loc 1 946 8 view .LVU243
854 001e 23B1 cbz r3, .L59
948:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
855 .loc 1 948 7 is_stmt 1 view .LVU244
948:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
856 .loc 1 948 13 is_stmt 0 view .LVU245
857 0020 9847 blx r3
858 .LVL65:
952:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
859 .loc 1 952 10 view .LVU246
860 0022 0020 movs r0, #0
861 0024 F9E7 b .L56
862 .LVL66:
863 .L57:
941:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
ARM GAS /tmp/cccwInoP.s page 33
864 .loc 1 941 12 view .LVU247
865 0026 0320 movs r0, #3
866 .LVL67:
941:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
867 .loc 1 941 12 view .LVU248
868 0028 F7E7 b .L56
869 .LVL68:
870 .L59:
952:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
871 .loc 1 952 10 view .LVU249
872 002a 0020 movs r0, #0
873 .LVL69:
952:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
874 .loc 1 952 10 view .LVU250
875 002c F5E7 b .L56
876 .cfi_endproc
877 .LFE259:
879 .section .text.USBD_LL_IsoOUTIncomplete,"ax",%progbits
880 .align 1
881 .global USBD_LL_IsoOUTIncomplete
882 .syntax unified
883 .thumb
884 .thumb_func
886 USBD_LL_IsoOUTIncomplete:
887 .LVL70:
888 .LFB260:
954:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
955:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
956:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_LL_IsoOUTIncomplete
957:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle iso out incomplete event
958:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
959:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param epnum: Endpoint number
960:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
961:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
962:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_IsoOUTIncomplete(USBD_HandleTypeDef *pdev,
963:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** uint8_t epnum)
964:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
889 .loc 1 964 1 is_stmt 1 view -0
890 .cfi_startproc
891 @ args = 0, pretend = 0, frame = 0
892 @ frame_needed = 0, uses_anonymous_args = 0
893 .loc 1 964 1 is_stmt 0 view .LVU252
894 0000 08B5 push {r3, lr}
895 .LCFI15:
896 .cfi_def_cfa_offset 8
897 .cfi_offset 3, -8
898 .cfi_offset 14, -4
965:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[pdev->classId] == NULL)
899 .loc 1 965 3 is_stmt 1 view .LVU253
900 .loc 1 965 24 is_stmt 0 view .LVU254
901 0002 D0F8D432 ldr r3, [r0, #724]
902 .loc 1 965 19 view .LVU255
903 0006 AE33 adds r3, r3, #174
904 0008 50F82320 ldr r2, [r0, r3, lsl #2]
905 .loc 1 965 6 view .LVU256
906 000c 5AB1 cbz r2, .L64
966:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
ARM GAS /tmp/cccwInoP.s page 34
967:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_FAIL;
968:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
969:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
970:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->dev_state == USBD_STATE_CONFIGURED)
907 .loc 1 970 3 is_stmt 1 view .LVU257
908 .loc 1 970 11 is_stmt 0 view .LVU258
909 000e 90F89C32 ldrb r3, [r0, #668] @ zero_extendqisi2
910 0012 DBB2 uxtb r3, r3
911 .loc 1 970 6 view .LVU259
912 0014 032B cmp r3, #3
913 0016 01D0 beq .L68
971:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
972:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[pdev->classId]->IsoOUTIncomplete != NULL)
973:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
974:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)pdev->pClass[pdev->classId]->IsoOUTIncomplete(pdev, epnum);
975:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
976:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
977:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
978:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
914 .loc 1 978 10 view .LVU260
915 0018 0020 movs r0, #0
916 .LVL71:
917 .L63:
979:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
918 .loc 1 979 1 view .LVU261
919 001a 08BD pop {r3, pc}
920 .LVL72:
921 .L68:
972:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
922 .loc 1 972 5 is_stmt 1 view .LVU262
972:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
923 .loc 1 972 36 is_stmt 0 view .LVU263
924 001c 536A ldr r3, [r2, #36]
972:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
925 .loc 1 972 8 view .LVU264
926 001e 23B1 cbz r3, .L66
974:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
927 .loc 1 974 7 is_stmt 1 view .LVU265
974:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
928 .loc 1 974 13 is_stmt 0 view .LVU266
929 0020 9847 blx r3
930 .LVL73:
978:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
931 .loc 1 978 10 view .LVU267
932 0022 0020 movs r0, #0
933 0024 F9E7 b .L63
934 .LVL74:
935 .L64:
967:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
936 .loc 1 967 12 view .LVU268
937 0026 0320 movs r0, #3
938 .LVL75:
967:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
939 .loc 1 967 12 view .LVU269
940 0028 F7E7 b .L63
941 .LVL76:
942 .L66:
ARM GAS /tmp/cccwInoP.s page 35
978:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
943 .loc 1 978 10 view .LVU270
944 002a 0020 movs r0, #0
945 .LVL77:
978:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
946 .loc 1 978 10 view .LVU271
947 002c F5E7 b .L63
948 .cfi_endproc
949 .LFE260:
951 .section .text.USBD_LL_DevConnected,"ax",%progbits
952 .align 1
953 .global USBD_LL_DevConnected
954 .syntax unified
955 .thumb
956 .thumb_func
958 USBD_LL_DevConnected:
959 .LVL78:
960 .LFB261:
980:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
981:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
982:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_LL_DevConnected
983:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle device connection event
984:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
985:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
986:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
987:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_DevConnected(USBD_HandleTypeDef *pdev)
988:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
961 .loc 1 988 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.
989:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Prevent unused argument compilation warning */
990:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** UNUSED(pdev);
966 .loc 1 990 3 view .LVU273
991:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
992:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
967 .loc 1 992 3 view .LVU274
993:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
968 .loc 1 993 1 is_stmt 0 view .LVU275
969 0000 0020 movs r0, #0
970 .LVL79:
971 .loc 1 993 1 view .LVU276
972 0002 7047 bx lr
973 .cfi_endproc
974 .LFE261:
976 .section .text.USBD_LL_DevDisconnected,"ax",%progbits
977 .align 1
978 .global USBD_LL_DevDisconnected
979 .syntax unified
980 .thumb
981 .thumb_func
983 USBD_LL_DevDisconnected:
984 .LVL80:
985 .LFB262:
994:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
995:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
ARM GAS /tmp/cccwInoP.s page 36
996:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_LL_DevDisconnected
997:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle device disconnection event
998:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
999:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
1000:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
1001:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_DevDisconnected(USBD_HandleTypeDef *pdev)
1002:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
986 .loc 1 1002 1 is_stmt 1 view -0
987 .cfi_startproc
988 @ args = 0, pretend = 0, frame = 0
989 @ frame_needed = 0, uses_anonymous_args = 0
990 .loc 1 1002 1 is_stmt 0 view .LVU278
991 0000 08B5 push {r3, lr}
992 .LCFI16:
993 .cfi_def_cfa_offset 8
994 .cfi_offset 3, -8
995 .cfi_offset 14, -4
1003:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef ret = USBD_OK;
996 .loc 1 1003 3 is_stmt 1 view .LVU279
997 .LVL81:
1004:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1005:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Free Class Resources */
1006:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_state = USBD_STATE_DEFAULT;
998 .loc 1 1006 3 view .LVU280
999 .loc 1 1006 19 is_stmt 0 view .LVU281
1000 0002 0123 movs r3, #1
1001 0004 80F89C32 strb r3, [r0, #668]
1007:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1008:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #ifdef USE_USBD_COMPOSITE
1009:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Parse the table of classes in use */
1010:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** for (uint32_t i = 0; i < USBD_MAX_SUPPORTED_CLASS; i++)
1011:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1012:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Check if current class is in use */
1013:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if ((pdev->tclasslist[i].Active) == 1U)
1014:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1015:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[i] != NULL)
1016:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1017:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->classId = i;
1018:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Clear configuration and De-initialize the Class process*/
1019:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[i]->DeInit(pdev, (uint8_t)pdev->dev_config) != 0U)
1020:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1021:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_FAIL;
1022:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1023:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1024:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1025:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1026:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #else
1027:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[0] != NULL)
1002 .loc 1 1027 3 is_stmt 1 view .LVU282
1003 .loc 1 1027 19 is_stmt 0 view .LVU283
1004 0008 D0F8B832 ldr r3, [r0, #696]
1005 .loc 1 1027 6 view .LVU284
1006 000c 23B1 cbz r3, .L72
1028:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1029:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[0]->DeInit(pdev, (uint8_t)pdev->dev_config) != 0U)
1007 .loc 1 1029 5 is_stmt 1 view .LVU285
1008 .loc 1 1029 24 is_stmt 0 view .LVU286
ARM GAS /tmp/cccwInoP.s page 37
1009 000e 5B68 ldr r3, [r3, #4]
1010 .loc 1 1029 9 view .LVU287
1011 0010 0179 ldrb r1, [r0, #4] @ zero_extendqisi2
1012 0012 9847 blx r3
1013 .LVL82:
1014 .loc 1 1029 8 discriminator 1 view .LVU288
1015 0014 10B9 cbnz r0, .L75
1016 .L71:
1017 .LVL83:
1030:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1031:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_FAIL;
1032:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1033:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1034:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* USE_USBD_COMPOSITE */
1035:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1036:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return ret;
1018 .loc 1 1036 3 is_stmt 1 view .LVU289
1037:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1019 .loc 1 1037 1 is_stmt 0 view .LVU290
1020 0016 08BD pop {r3, pc}
1021 .LVL84:
1022 .L72:
1003:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1023 .loc 1 1003 24 view .LVU291
1024 0018 0020 movs r0, #0
1025 .LVL85:
1003:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1026 .loc 1 1003 24 view .LVU292
1027 001a FCE7 b .L71
1028 .L75:
1031:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1029 .loc 1 1031 11 view .LVU293
1030 001c 0320 movs r0, #3
1031 001e FAE7 b .L71
1032 .cfi_endproc
1033 .LFE262:
1035 .section .text.USBD_CoreFindIF,"ax",%progbits
1036 .align 1
1037 .global USBD_CoreFindIF
1038 .syntax unified
1039 .thumb
1040 .thumb_func
1042 USBD_CoreFindIF:
1043 .LVL86:
1044 .LFB263:
1038:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1039:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
1040:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_CoreFindIF
1041:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * return the class index relative to the selected interface
1042:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
1043:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param index : selected interface number
1044:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval index of the class using the selected interface number. OxFF if no class found.
1045:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
1046:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** uint8_t USBD_CoreFindIF(USBD_HandleTypeDef *pdev, uint8_t index)
1047:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1045 .loc 1 1047 1 is_stmt 1 view -0
1046 .cfi_startproc
ARM GAS /tmp/cccwInoP.s page 38
1047 @ args = 0, pretend = 0, frame = 0
1048 @ frame_needed = 0, uses_anonymous_args = 0
1049 @ link register save eliminated.
1048:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #ifdef USE_USBD_COMPOSITE
1049:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Parse the table of classes in use */
1050:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** for (uint32_t i = 0U; i < USBD_MAX_SUPPORTED_CLASS; i++)
1051:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1052:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Check if current class is in use */
1053:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if ((pdev->tclasslist[i].Active) == 1U)
1054:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1055:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Parse all interfaces listed in the current class */
1056:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** for (uint32_t j = 0U; j < pdev->tclasslist[i].NumIf; j++)
1057:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1058:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Check if requested Interface matches the current class interface */
1059:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->tclasslist[i].Ifs[j] == index)
1060:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1061:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[i]->Setup != NULL)
1062:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1063:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return (uint8_t)i;
1064:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1065:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1066:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1067:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1068:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1069:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1070:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return 0xFFU;
1071:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #else
1072:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** UNUSED(pdev);
1050 .loc 1 1072 3 view .LVU295
1073:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** UNUSED(index);
1051 .loc 1 1073 3 view .LVU296
1074:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1075:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return 0x00U;
1052 .loc 1 1075 3 view .LVU297
1076:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* USE_USBD_COMPOSITE */
1077:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1053 .loc 1 1077 1 is_stmt 0 view .LVU298
1054 0000 0020 movs r0, #0
1055 .LVL87:
1056 .loc 1 1077 1 view .LVU299
1057 0002 7047 bx lr
1058 .cfi_endproc
1059 .LFE263:
1061 .section .text.USBD_CoreFindEP,"ax",%progbits
1062 .align 1
1063 .global USBD_CoreFindEP
1064 .syntax unified
1065 .thumb
1066 .thumb_func
1068 USBD_CoreFindEP:
1069 .LVL88:
1070 .LFB264:
1078:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1079:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
1080:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_CoreFindEP
1081:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * return the class index relative to the selected endpoint
1082:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
ARM GAS /tmp/cccwInoP.s page 39
1083:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param index : selected endpoint number
1084:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval index of the class using the selected endpoint number. 0xFF if no class found.
1085:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
1086:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** uint8_t USBD_CoreFindEP(USBD_HandleTypeDef *pdev, uint8_t index)
1087:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1071 .loc 1 1087 1 is_stmt 1 view -0
1072 .cfi_startproc
1073 @ args = 0, pretend = 0, frame = 0
1074 @ frame_needed = 0, uses_anonymous_args = 0
1075 @ link register save eliminated.
1088:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #ifdef USE_USBD_COMPOSITE
1089:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Parse the table of classes in use */
1090:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** for (uint32_t i = 0U; i < USBD_MAX_SUPPORTED_CLASS; i++)
1091:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1092:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Check if current class is in use */
1093:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if ((pdev->tclasslist[i].Active) == 1U)
1094:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1095:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Parse all endpoints listed in the current class */
1096:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** for (uint32_t j = 0U; j < pdev->tclasslist[i].NumEps; j++)
1097:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1098:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Check if requested endpoint matches the current class endpoint */
1099:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->tclasslist[i].Eps[j].add == index)
1100:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1101:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[i]->Setup != NULL)
1102:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1103:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return (uint8_t)i;
1104:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1105:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1106:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1107:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1108:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1109:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1110:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return 0xFFU;
1111:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #else
1112:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** UNUSED(pdev);
1076 .loc 1 1112 3 view .LVU301
1113:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** UNUSED(index);
1077 .loc 1 1113 3 view .LVU302
1114:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1115:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return 0x00U;
1078 .loc 1 1115 3 view .LVU303
1116:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* USE_USBD_COMPOSITE */
1117:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1079 .loc 1 1117 1 is_stmt 0 view .LVU304
1080 0000 0020 movs r0, #0
1081 .LVL89:
1082 .loc 1 1117 1 view .LVU305
1083 0002 7047 bx lr
1084 .cfi_endproc
1085 .LFE264:
1087 .section .text.USBD_LL_DataOutStage,"ax",%progbits
1088 .align 1
1089 .global USBD_LL_DataOutStage
1090 .syntax unified
1091 .thumb
1092 .thumb_func
1094 USBD_LL_DataOutStage:
ARM GAS /tmp/cccwInoP.s page 40
1095 .LVL90:
1096 .LFB252:
588:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_EndpointTypeDef *pep;
1097 .loc 1 588 1 is_stmt 1 view -0
1098 .cfi_startproc
1099 @ args = 0, pretend = 0, frame = 0
1100 @ frame_needed = 0, uses_anonymous_args = 0
588:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_EndpointTypeDef *pep;
1101 .loc 1 588 1 is_stmt 0 view .LVU307
1102 0000 38B5 push {r3, r4, r5, lr}
1103 .LCFI17:
1104 .cfi_def_cfa_offset 16
1105 .cfi_offset 3, -16
1106 .cfi_offset 4, -12
1107 .cfi_offset 5, -8
1108 .cfi_offset 14, -4
1109 0002 0446 mov r4, r0
589:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef ret = USBD_OK;
1110 .loc 1 589 3 is_stmt 1 view .LVU308
590:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** uint8_t idx;
1111 .loc 1 590 3 view .LVU309
1112 .LVL91:
591:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1113 .loc 1 591 3 view .LVU310
593:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1114 .loc 1 593 3 view .LVU311
595:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1115 .loc 1 595 3 view .LVU312
595:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1116 .loc 1 595 6 is_stmt 0 view .LVU313
1117 0004 0D46 mov r5, r1
1118 0006 0029 cmp r1, #0
1119 0008 45D1 bne .L79
597:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1120 .loc 1 597 5 is_stmt 1 view .LVU314
1121 .LVL92:
599:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1122 .loc 1 599 5 view .LVU315
599:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1123 .loc 1 599 13 is_stmt 0 view .LVU316
1124 000a D0F89432 ldr r3, [r0, #660]
599:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1125 .loc 1 599 8 view .LVU317
1126 000e 032B cmp r3, #3
1127 0010 01D0 beq .L90
673:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1128 .loc 1 673 10 view .LVU318
1129 0012 0846 mov r0, r1
1130 .LVL93:
1131 .L80:
674:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1132 .loc 1 674 1 view .LVU319
1133 0014 38BD pop {r3, r4, r5, pc}
1134 .LVL94:
1135 .L90:
601:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1136 .loc 1 601 7 is_stmt 1 view .LVU320
ARM GAS /tmp/cccwInoP.s page 41
601:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1137 .loc 1 601 14 is_stmt 0 view .LVU321
1138 0016 D0F85831 ldr r3, [r0, #344]
601:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1139 .loc 1 601 32 view .LVU322
1140 001a B0F86021 ldrh r2, [r0, #352]
1141 .LVL95:
601:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1142 .loc 1 601 10 view .LVU323
1143 001e 9342 cmp r3, r2
1144 0020 09D8 bhi .L91
611:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1145 .loc 1 611 9 is_stmt 1 view .LVU324
611:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1146 .loc 1 611 30 is_stmt 0 view .LVU325
1147 0022 90F8AA32 ldrb r3, [r0, #682] @ zero_extendqisi2
1148 0026 03F01F03 and r3, r3, #31
611:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1149 .loc 1 611 9 view .LVU326
1150 002a 012B cmp r3, #1
1151 002c 12D0 beq .L82
1152 002e 022B cmp r3, #2
1153 0030 1FD0 beq .L83
1154 0032 0846 mov r0, r1
1155 .LVL96:
611:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1156 .loc 1 611 9 view .LVU327
1157 0034 13E0 b .L84
1158 .LVL97:
1159 .L91:
603:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pep->pbuffer += pep->maxpacket;
1160 .loc 1 603 9 is_stmt 1 view .LVU328
603:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pep->pbuffer += pep->maxpacket;
1161 .loc 1 603 25 is_stmt 0 view .LVU329
1162 0036 9B1A subs r3, r3, r2
1163 0038 C0F85831 str r3, [r0, #344]
604:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1164 .loc 1 604 9 is_stmt 1 view .LVU330
604:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1165 .loc 1 604 12 is_stmt 0 view .LVU331
1166 003c D0F86411 ldr r1, [r0, #356]
1167 .LVL98:
604:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1168 .loc 1 604 22 view .LVU332
1169 0040 1144 add r1, r1, r2
1170 0042 C0F86411 str r1, [r0, #356]
606:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1171 .loc 1 606 9 is_stmt 1 view .LVU333
606:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1172 .loc 1 606 15 is_stmt 0 view .LVU334
1173 0046 9A42 cmp r2, r3
1174 0048 38BF it cc
1175 004a 1A46 movcc r2, r3
1176 004c FFF7FEFF bl USBD_CtlContinueRx
1177 .LVL99:
673:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1178 .loc 1 673 10 view .LVU335
ARM GAS /tmp/cccwInoP.s page 42
1179 0050 2846 mov r0, r5
1180 0052 DFE7 b .L80
1181 .LVL100:
1182 .L82:
620:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break;
1183 .loc 1 620 13 is_stmt 1 view .LVU336
620:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break;
1184 .loc 1 620 19 is_stmt 0 view .LVU337
1185 0054 90F8AE12 ldrb r1, [r0, #686] @ zero_extendqisi2
1186 .LVL101:
620:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break;
1187 .loc 1 620 19 view .LVU338
1188 0058 FFF7FEFF bl USBD_CoreFindIF
1189 .LVL102:
621:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1190 .loc 1 621 13 is_stmt 1 view .LVU339
1191 .L85:
633:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1192 .loc 1 633 9 view .LVU340
633:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1193 .loc 1 633 12 is_stmt 0 view .LVU341
1194 005c 20B9 cbnz r0, .L86
1195 .LVL103:
1196 .L84:
636:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1197 .loc 1 636 11 is_stmt 1 view .LVU342
636:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1198 .loc 1 636 19 is_stmt 0 view .LVU343
1199 005e 94F89C32 ldrb r3, [r4, #668] @ zero_extendqisi2
1200 0062 DBB2 uxtb r3, r3
636:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1201 .loc 1 636 14 view .LVU344
1202 0064 032B cmp r3, #3
1203 0066 09D0 beq .L92
1204 .L86:
646:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1205 .loc 1 646 9 is_stmt 1 view .LVU345
646:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1206 .loc 1 646 15 is_stmt 0 view .LVU346
1207 0068 2046 mov r0, r4
1208 006a FFF7FEFF bl USBD_CtlSendStatus
1209 .LVL104:
673:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1210 .loc 1 673 10 view .LVU347
1211 006e 2846 mov r0, r5
1212 0070 D0E7 b .L80
1213 .LVL105:
1214 .L83:
624:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break;
1215 .loc 1 624 13 is_stmt 1 view .LVU348
624:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break;
1216 .loc 1 624 19 is_stmt 0 view .LVU349
1217 0072 90F8AE12 ldrb r1, [r0, #686] @ zero_extendqisi2
1218 .LVL106:
624:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break;
1219 .loc 1 624 19 view .LVU350
1220 0076 FFF7FEFF bl USBD_CoreFindEP
ARM GAS /tmp/cccwInoP.s page 43
1221 .LVL107:
625:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1222 .loc 1 625 13 is_stmt 1 view .LVU351
1223 007a EFE7 b .L85
1224 .LVL108:
1225 .L92:
638:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1226 .loc 1 638 13 view .LVU352
638:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1227 .loc 1 638 29 is_stmt 0 view .LVU353
1228 007c 00F1AE03 add r3, r0, #174
1229 0080 54F82330 ldr r3, [r4, r3, lsl #2]
638:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1230 .loc 1 638 34 view .LVU354
1231 0084 1A69 ldr r2, [r3, #16]
638:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1232 .loc 1 638 16 view .LVU355
1233 0086 002A cmp r2, #0
1234 0088 EED0 beq .L86
640:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass[idx]->EP0_RxReady(pdev);
1235 .loc 1 640 15 is_stmt 1 view .LVU356
640:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass[idx]->EP0_RxReady(pdev);
1236 .loc 1 640 29 is_stmt 0 view .LVU357
1237 008a C4F8D402 str r0, [r4, #724]
641:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1238 .loc 1 641 15 is_stmt 1 view .LVU358
641:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1239 .loc 1 641 32 is_stmt 0 view .LVU359
1240 008e 1B69 ldr r3, [r3, #16]
641:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1241 .loc 1 641 15 view .LVU360
1242 0090 2046 mov r0, r4
1243 0092 9847 blx r3
1244 .LVL109:
1245 0094 E8E7 b .L86
1246 .LVL110:
1247 .L79:
653:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1248 .loc 1 653 5 is_stmt 1 view .LVU361
653:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1249 .loc 1 653 11 is_stmt 0 view .LVU362
1250 0096 01F07F01 and r1, r1, #127
1251 .LVL111:
653:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1252 .loc 1 653 11 view .LVU363
1253 009a FFF7FEFF bl USBD_CoreFindEP
1254 .LVL112:
655:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1255 .loc 1 655 5 is_stmt 1 view .LVU364
655:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1256 .loc 1 655 8 is_stmt 0 view .LVU365
1257 009e 90B9 cbnz r0, .L88
658:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1258 .loc 1 658 7 is_stmt 1 view .LVU366
658:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1259 .loc 1 658 15 is_stmt 0 view .LVU367
1260 00a0 94F89C32 ldrb r3, [r4, #668] @ zero_extendqisi2
ARM GAS /tmp/cccwInoP.s page 44
1261 00a4 DBB2 uxtb r3, r3
658:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1262 .loc 1 658 10 view .LVU368
1263 00a6 032B cmp r3, #3
1264 00a8 B4D1 bne .L80
660:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1265 .loc 1 660 9 is_stmt 1 view .LVU369
660:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1266 .loc 1 660 25 is_stmt 0 view .LVU370
1267 00aa 00F1AE03 add r3, r0, #174
1268 00ae 54F82330 ldr r3, [r4, r3, lsl #2]
660:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1269 .loc 1 660 30 view .LVU371
1270 00b2 9A69 ldr r2, [r3, #24]
660:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1271 .loc 1 660 12 view .LVU372
1272 00b4 002A cmp r2, #0
1273 00b6 ADD0 beq .L80
662:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = (USBD_StatusTypeDef)pdev->pClass[idx]->DataOut(pdev, epnum);
1274 .loc 1 662 11 is_stmt 1 view .LVU373
662:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = (USBD_StatusTypeDef)pdev->pClass[idx]->DataOut(pdev, epnum);
1275 .loc 1 662 25 is_stmt 0 view .LVU374
1276 00b8 C4F8D402 str r0, [r4, #724]
663:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1277 .loc 1 663 11 is_stmt 1 view .LVU375
663:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1278 .loc 1 663 54 is_stmt 0 view .LVU376
1279 00bc 9B69 ldr r3, [r3, #24]
663:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1280 .loc 1 663 37 view .LVU377
1281 00be 2946 mov r1, r5
1282 00c0 2046 mov r0, r4
1283 .LVL113:
663:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1284 .loc 1 663 37 view .LVU378
1285 00c2 9847 blx r3
1286 .LVL114:
666:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1287 .loc 1 666 7 is_stmt 1 view .LVU379
1288 00c4 A6E7 b .L80
1289 .LVL115:
1290 .L88:
673:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1291 .loc 1 673 10 is_stmt 0 view .LVU380
1292 00c6 0020 movs r0, #0
1293 .LVL116:
673:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1294 .loc 1 673 10 view .LVU381
1295 00c8 A4E7 b .L80
1296 .cfi_endproc
1297 .LFE252:
1299 .section .text.USBD_LL_DataInStage,"ax",%progbits
1300 .align 1
1301 .global USBD_LL_DataInStage
1302 .syntax unified
1303 .thumb
1304 .thumb_func
ARM GAS /tmp/cccwInoP.s page 45
1306 USBD_LL_DataInStage:
1307 .LVL117:
1308 .LFB253:
686:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_EndpointTypeDef *pep;
1309 .loc 1 686 1 is_stmt 1 view -0
1310 .cfi_startproc
1311 @ args = 0, pretend = 0, frame = 0
1312 @ frame_needed = 0, uses_anonymous_args = 0
686:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_EndpointTypeDef *pep;
1313 .loc 1 686 1 is_stmt 0 view .LVU383
1314 0000 38B5 push {r3, r4, r5, lr}
1315 .LCFI18:
1316 .cfi_def_cfa_offset 16
1317 .cfi_offset 3, -16
1318 .cfi_offset 4, -12
1319 .cfi_offset 5, -8
1320 .cfi_offset 14, -4
1321 0002 0446 mov r4, r0
687:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef ret;
1322 .loc 1 687 3 is_stmt 1 view .LVU384
688:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** uint8_t idx;
1323 .loc 1 688 3 view .LVU385
689:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1324 .loc 1 689 3 view .LVU386
691:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1325 .loc 1 691 3 view .LVU387
693:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1326 .loc 1 693 3 view .LVU388
693:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1327 .loc 1 693 6 is_stmt 0 view .LVU389
1328 0004 0D46 mov r5, r1
1329 0006 0029 cmp r1, #0
1330 0008 4CD1 bne .L94
695:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1331 .loc 1 695 5 is_stmt 1 view .LVU390
1332 .LVL118:
697:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1333 .loc 1 697 5 view .LVU391
697:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1334 .loc 1 697 13 is_stmt 0 view .LVU392
1335 000a D0F89432 ldr r3, [r0, #660]
697:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1336 .loc 1 697 8 view .LVU393
1337 000e 022B cmp r3, #2
1338 0010 07D0 beq .L102
1339 .LVL119:
1340 .L95:
738:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1341 .loc 1 738 5 is_stmt 1 view .LVU394
738:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1342 .loc 1 738 13 is_stmt 0 view .LVU395
1343 0012 94F8A002 ldrb r0, [r4, #672] @ zero_extendqisi2
738:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1344 .loc 1 738 8 view .LVU396
1345 0016 18B1 cbz r0, .L99
740:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_test_mode = 0U;
1346 .loc 1 740 7 is_stmt 1 view .LVU397
ARM GAS /tmp/cccwInoP.s page 46
741:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1347 .loc 1 741 7 view .LVU398
741:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1348 .loc 1 741 27 is_stmt 0 view .LVU399
1349 0018 0023 movs r3, #0
1350 001a 84F8A032 strb r3, [r4, #672]
768:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1351 .loc 1 768 10 view .LVU400
1352 001e 2846 mov r0, r5
1353 .LVL120:
1354 .L99:
769:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1355 .loc 1 769 1 view .LVU401
1356 0020 38BD pop {r3, r4, r5, pc}
1357 .LVL121:
1358 .L102:
699:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1359 .loc 1 699 7 is_stmt 1 view .LVU402
699:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1360 .loc 1 699 14 is_stmt 0 view .LVU403
1361 0022 8269 ldr r2, [r0, #24]
1362 .LVL122:
699:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1363 .loc 1 699 32 view .LVU404
1364 0024 038C ldrh r3, [r0, #32]
699:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1365 .loc 1 699 10 view .LVU405
1366 0026 9A42 cmp r2, r3
1367 0028 0ED8 bhi .L103
712:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pep->total_length >= pep->maxpacket) &&
1368 .loc 1 712 9 is_stmt 1 view .LVU406
712:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pep->total_length >= pep->maxpacket) &&
1369 .loc 1 712 12 is_stmt 0 view .LVU407
1370 002a 9A42 cmp r2, r3
1371 002c 1AD0 beq .L104
1372 .L97:
724:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1373 .loc 1 724 11 is_stmt 1 view .LVU408
724:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1374 .loc 1 724 19 is_stmt 0 view .LVU409
1375 002e 94F89C32 ldrb r3, [r4, #668] @ zero_extendqisi2
1376 0032 DBB2 uxtb r3, r3
724:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1377 .loc 1 724 14 view .LVU410
1378 0034 032B cmp r3, #3
1379 0036 29D0 beq .L105
1380 .LVL123:
1381 .L98:
732:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_CtlReceiveStatus(pdev);
1382 .loc 1 732 11 is_stmt 1 view .LVU411
732:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_CtlReceiveStatus(pdev);
1383 .loc 1 732 17 is_stmt 0 view .LVU412
1384 0038 8021 movs r1, #128
1385 003a 2046 mov r0, r4
1386 003c FFF7FEFF bl USBD_LL_StallEP
1387 .LVL124:
733:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
ARM GAS /tmp/cccwInoP.s page 47
1388 .loc 1 733 11 is_stmt 1 view .LVU413
733:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1389 .loc 1 733 17 is_stmt 0 view .LVU414
1390 0040 2046 mov r0, r4
1391 0042 FFF7FEFF bl USBD_CtlReceiveStatus
1392 .LVL125:
1393 0046 E4E7 b .L95
1394 .LVL126:
1395 .L103:
701:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pep->pbuffer += pep->maxpacket;
1396 .loc 1 701 9 is_stmt 1 view .LVU415
701:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pep->pbuffer += pep->maxpacket;
1397 .loc 1 701 25 is_stmt 0 view .LVU416
1398 0048 D21A subs r2, r2, r3
1399 004a 8261 str r2, [r0, #24]
702:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1400 .loc 1 702 9 is_stmt 1 view .LVU417
702:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1401 .loc 1 702 12 is_stmt 0 view .LVU418
1402 004c 416A ldr r1, [r0, #36]
1403 .LVL127:
702:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1404 .loc 1 702 22 view .LVU419
1405 004e 1944 add r1, r1, r3
1406 0050 4162 str r1, [r0, #36]
704:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1407 .loc 1 704 9 is_stmt 1 view .LVU420
704:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1408 .loc 1 704 15 is_stmt 0 view .LVU421
1409 0052 FFF7FEFF bl USBD_CtlContinueSendData
1410 .LVL128:
707:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1411 .loc 1 707 9 is_stmt 1 view .LVU422
707:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1412 .loc 1 707 15 is_stmt 0 view .LVU423
1413 0056 0023 movs r3, #0
1414 0058 1A46 mov r2, r3
1415 005a 1946 mov r1, r3
1416 005c 2046 mov r0, r4
1417 005e FFF7FEFF bl USBD_LL_PrepareReceive
1418 .LVL129:
1419 0062 D6E7 b .L95
1420 .LVL130:
1421 .L104:
713:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pep->total_length < pdev->ep0_data_len))
1422 .loc 1 713 17 view .LVU424
1423 0064 4269 ldr r2, [r0, #20]
712:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pep->total_length >= pep->maxpacket) &&
1424 .loc 1 712 49 discriminator 1 view .LVU425
1425 0066 9342 cmp r3, r2
1426 0068 E1D8 bhi .L97
714:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1427 .loc 1 714 38 view .LVU426
1428 006a D0F89832 ldr r3, [r0, #664]
713:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pep->total_length < pdev->ep0_data_len))
1429 .loc 1 713 51 view .LVU427
1430 006e 9A42 cmp r2, r3
ARM GAS /tmp/cccwInoP.s page 48
1431 0070 DDD2 bcs .L97
716:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep0_data_len = 0U;
1432 .loc 1 716 11 is_stmt 1 view .LVU428
716:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep0_data_len = 0U;
1433 .loc 1 716 17 is_stmt 0 view .LVU429
1434 0072 0022 movs r2, #0
1435 0074 1146 mov r1, r2
1436 .LVL131:
716:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep0_data_len = 0U;
1437 .loc 1 716 17 view .LVU430
1438 0076 FFF7FEFF bl USBD_CtlContinueSendData
1439 .LVL132:
717:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1440 .loc 1 717 11 is_stmt 1 view .LVU431
717:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1441 .loc 1 717 30 is_stmt 0 view .LVU432
1442 007a 0021 movs r1, #0
1443 007c C4F89812 str r1, [r4, #664]
720:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1444 .loc 1 720 11 is_stmt 1 view .LVU433
720:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1445 .loc 1 720 17 is_stmt 0 view .LVU434
1446 0080 0B46 mov r3, r1
1447 0082 0A46 mov r2, r1
1448 0084 2046 mov r0, r4
1449 0086 FFF7FEFF bl USBD_LL_PrepareReceive
1450 .LVL133:
720:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1451 .loc 1 720 11 view .LVU435
1452 008a C2E7 b .L95
1453 .LVL134:
1454 .L105:
726:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1455 .loc 1 726 13 is_stmt 1 view .LVU436
726:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1456 .loc 1 726 29 is_stmt 0 view .LVU437
1457 008c D4F8B832 ldr r3, [r4, #696]
726:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1458 .loc 1 726 32 view .LVU438
1459 0090 DA68 ldr r2, [r3, #12]
726:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1460 .loc 1 726 16 view .LVU439
1461 0092 002A cmp r2, #0
1462 0094 D0D0 beq .L98
728:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass[0]->EP0_TxSent(pdev);
1463 .loc 1 728 15 is_stmt 1 view .LVU440
728:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass[0]->EP0_TxSent(pdev);
1464 .loc 1 728 29 is_stmt 0 view .LVU441
1465 0096 0022 movs r2, #0
1466 0098 C4F8D422 str r2, [r4, #724]
729:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1467 .loc 1 729 15 is_stmt 1 view .LVU442
729:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1468 .loc 1 729 30 is_stmt 0 view .LVU443
1469 009c DB68 ldr r3, [r3, #12]
729:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1470 .loc 1 729 15 view .LVU444
ARM GAS /tmp/cccwInoP.s page 49
1471 009e 2046 mov r0, r4
1472 .LVL135:
729:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1473 .loc 1 729 15 view .LVU445
1474 00a0 9847 blx r3
1475 .LVL136:
729:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1476 .loc 1 729 15 view .LVU446
1477 00a2 C9E7 b .L98
1478 .LVL137:
1479 .L94:
747:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1480 .loc 1 747 5 is_stmt 1 view .LVU447
747:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1481 .loc 1 747 11 is_stmt 0 view .LVU448
1482 00a4 41F08001 orr r1, r1, #128
1483 .LVL138:
747:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1484 .loc 1 747 11 view .LVU449
1485 00a8 FFF7FEFF bl USBD_CoreFindEP
1486 .LVL139:
749:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1487 .loc 1 749 5 is_stmt 1 view .LVU450
749:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1488 .loc 1 749 8 is_stmt 0 view .LVU451
1489 00ac 90B9 cbnz r0, .L100
752:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1490 .loc 1 752 7 is_stmt 1 view .LVU452
752:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1491 .loc 1 752 15 is_stmt 0 view .LVU453
1492 00ae 94F89C32 ldrb r3, [r4, #668] @ zero_extendqisi2
1493 00b2 DBB2 uxtb r3, r3
752:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1494 .loc 1 752 10 view .LVU454
1495 00b4 032B cmp r3, #3
1496 00b6 B3D1 bne .L99
754:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1497 .loc 1 754 9 is_stmt 1 view .LVU455
754:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1498 .loc 1 754 25 is_stmt 0 view .LVU456
1499 00b8 00F1AE03 add r3, r0, #174
1500 00bc 54F82330 ldr r3, [r4, r3, lsl #2]
754:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1501 .loc 1 754 30 view .LVU457
1502 00c0 5A69 ldr r2, [r3, #20]
754:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1503 .loc 1 754 12 view .LVU458
1504 00c2 002A cmp r2, #0
1505 00c4 ACD0 beq .L99
756:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = (USBD_StatusTypeDef)pdev->pClass[idx]->DataIn(pdev, epnum);
1506 .loc 1 756 11 is_stmt 1 view .LVU459
756:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = (USBD_StatusTypeDef)pdev->pClass[idx]->DataIn(pdev, epnum);
1507 .loc 1 756 25 is_stmt 0 view .LVU460
1508 00c6 C4F8D402 str r0, [r4, #724]
757:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1509 .loc 1 757 11 is_stmt 1 view .LVU461
757:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
ARM GAS /tmp/cccwInoP.s page 50
1510 .loc 1 757 54 is_stmt 0 view .LVU462
1511 00ca 5B69 ldr r3, [r3, #20]
757:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1512 .loc 1 757 37 view .LVU463
1513 00cc 2946 mov r1, r5
1514 00ce 2046 mov r0, r4
1515 .LVL140:
757:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1516 .loc 1 757 37 view .LVU464
1517 00d0 9847 blx r3
1518 .LVL141:
759:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1519 .loc 1 759 11 is_stmt 1 view .LVU465
1520 00d2 A5E7 b .L99
1521 .LVL142:
1522 .L100:
768:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1523 .loc 1 768 10 is_stmt 0 view .LVU466
1524 00d4 0020 movs r0, #0
1525 .LVL143:
768:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1526 .loc 1 768 10 view .LVU467
1527 00d6 A3E7 b .L99
1528 .cfi_endproc
1529 .LFE253:
1531 .section .text.USBD_GetNextDesc,"ax",%progbits
1532 .align 1
1533 .global USBD_GetNextDesc
1534 .syntax unified
1535 .thumb
1536 .thumb_func
1538 USBD_GetNextDesc:
1539 .LVL144:
1540 .LFB266:
1118:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1119:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #ifdef USE_USBD_COMPOSITE
1120:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
1121:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_CoreGetEPAdd
1122:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Get the endpoint address relative to a selected class
1123:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
1124:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param ep_dir: USBD_EP_IN or USBD_EP_OUT
1125:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param ep_type: USBD_EP_TYPE_CTRL, USBD_EP_TYPE_ISOC, USBD_EP_TYPE_BULK or USBD_EP_TYPE_INTR
1126:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param ClassId: The Class ID
1127:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval Address of the selected endpoint or 0xFFU if no endpoint found.
1128:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
1129:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** uint8_t USBD_CoreGetEPAdd(USBD_HandleTypeDef *pdev, uint8_t ep_dir, uint8_t ep_type, uint8_t ClassI
1130:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1131:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** uint8_t idx;
1132:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1133:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Find the EP address in the selected class table */
1134:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** for (idx = 0; idx < pdev->tclasslist[ClassId].NumEps; idx++)
1135:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1136:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (((pdev->tclasslist[ClassId].Eps[idx].add & USBD_EP_IN) == ep_dir) && \
1137:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->tclasslist[ClassId].Eps[idx].type == ep_type) && \
1138:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->tclasslist[ClassId].Eps[idx].is_used != 0U))
1139:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1140:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return (pdev->tclasslist[ClassId].Eps[idx].add);
ARM GAS /tmp/cccwInoP.s page 51
1141:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1142:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1143:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1144:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* If reaching this point, then no endpoint was found */
1145:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return 0xFFU;
1146:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1147:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* USE_USBD_COMPOSITE */
1148:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1149:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
1150:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_GetEpDesc
1151:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * This function return the Endpoint descriptor
1152:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
1153:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pConfDesc: pointer to Bos descriptor
1154:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param EpAddr: endpoint address
1155:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval pointer to video endpoint descriptor
1156:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
1157:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** void *USBD_GetEpDesc(uint8_t *pConfDesc, uint8_t EpAddr)
1158:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1159:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_DescHeaderTypeDef *pdesc = (USBD_DescHeaderTypeDef *)(void *)pConfDesc;
1160:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_ConfigDescTypeDef *desc = (USBD_ConfigDescTypeDef *)(void *)pConfDesc;
1161:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_EpDescTypeDef *pEpDesc = NULL;
1162:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** uint16_t ptr;
1163:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1164:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (desc->wTotalLength > desc->bLength)
1165:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1166:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ptr = desc->bLength;
1167:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1168:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** while (ptr < desc->wTotalLength)
1169:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1170:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdesc = USBD_GetNextDesc((uint8_t *)pdesc, &ptr);
1171:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1172:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdesc->bDescriptorType == USB_DESC_TYPE_ENDPOINT)
1173:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1174:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pEpDesc = (USBD_EpDescTypeDef *)(void *)pdesc;
1175:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1176:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pEpDesc->bEndpointAddress == EpAddr)
1177:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1178:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break;
1179:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1180:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else
1181:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1182:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pEpDesc = NULL;
1183:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1184:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1185:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1186:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1187:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1188:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return (void *)pEpDesc;
1189:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1190:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1191:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
1192:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_GetNextDesc
1193:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * This function return the next descriptor header
1194:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param buf: Buffer where the descriptor is available
1195:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param ptr: data pointer inside the descriptor
1196:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval next header
1197:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
ARM GAS /tmp/cccwInoP.s page 52
1198:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_DescHeaderTypeDef *USBD_GetNextDesc(uint8_t *pbuf, uint16_t *ptr)
1199:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1541 .loc 1 1199 1 is_stmt 1 view -0
1542 .cfi_startproc
1543 @ args = 0, pretend = 0, frame = 0
1544 @ frame_needed = 0, uses_anonymous_args = 0
1545 @ link register save eliminated.
1200:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_DescHeaderTypeDef *pnext = (USBD_DescHeaderTypeDef *)(void *)pbuf;
1546 .loc 1 1200 3 view .LVU469
1201:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1202:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** *ptr += pnext->bLength;
1547 .loc 1 1202 3 view .LVU470
1548 0000 0B88 ldrh r3, [r1]
1549 .loc 1 1202 16 is_stmt 0 view .LVU471
1550 0002 0278 ldrb r2, [r0] @ zero_extendqisi2
1551 .loc 1 1202 8 view .LVU472
1552 0004 1344 add r3, r3, r2
1553 0006 0B80 strh r3, [r1] @ movhi
1203:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pnext = (USBD_DescHeaderTypeDef *)(void *)(pbuf + pnext->bLength);
1554 .loc 1 1203 3 is_stmt 1 view .LVU473
1555 .loc 1 1203 58 is_stmt 0 view .LVU474
1556 0008 0378 ldrb r3, [r0] @ zero_extendqisi2
1557 .LVL145:
1204:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1205:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return (pnext);
1558 .loc 1 1205 3 is_stmt 1 view .LVU475
1206:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1559 .loc 1 1206 1 is_stmt 0 view .LVU476
1560 000a 1844 add r0, r0, r3
1561 .LVL146:
1562 .loc 1 1206 1 view .LVU477
1563 000c 7047 bx lr
1564 .cfi_endproc
1565 .LFE266:
1567 .section .text.USBD_GetEpDesc,"ax",%progbits
1568 .align 1
1569 .global USBD_GetEpDesc
1570 .syntax unified
1571 .thumb
1572 .thumb_func
1574 USBD_GetEpDesc:
1575 .LVL147:
1576 .LFB265:
1158:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_DescHeaderTypeDef *pdesc = (USBD_DescHeaderTypeDef *)(void *)pConfDesc;
1577 .loc 1 1158 1 is_stmt 1 view -0
1578 .cfi_startproc
1579 @ args = 0, pretend = 0, frame = 8
1580 @ frame_needed = 0, uses_anonymous_args = 0
1159:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_ConfigDescTypeDef *desc = (USBD_ConfigDescTypeDef *)(void *)pConfDesc;
1581 .loc 1 1159 3 view .LVU479
1160:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_EpDescTypeDef *pEpDesc = NULL;
1582 .loc 1 1160 3 view .LVU480
1161:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** uint16_t ptr;
1583 .loc 1 1161 3 view .LVU481
1162:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1584 .loc 1 1162 3 view .LVU482
1164:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
ARM GAS /tmp/cccwInoP.s page 53
1585 .loc 1 1164 3 view .LVU483
1164:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1586 .loc 1 1164 11 is_stmt 0 view .LVU484
1587 0000 4288 ldrh r2, [r0, #2] @ unaligned
1164:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1588 .loc 1 1164 32 view .LVU485
1589 0002 0378 ldrb r3, [r0] @ zero_extendqisi2
1164:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1590 .loc 1 1164 6 view .LVU486
1591 0004 9A42 cmp r2, r3
1592 0006 18D9 bls .L111
1158:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_DescHeaderTypeDef *pdesc = (USBD_DescHeaderTypeDef *)(void *)pConfDesc;
1593 .loc 1 1158 1 view .LVU487
1594 0008 30B5 push {r4, r5, lr}
1595 .LCFI19:
1596 .cfi_def_cfa_offset 12
1597 .cfi_offset 4, -12
1598 .cfi_offset 5, -8
1599 .cfi_offset 14, -4
1600 000a 83B0 sub sp, sp, #12
1601 .LCFI20:
1602 .cfi_def_cfa_offset 24
1603 000c 0446 mov r4, r0
1604 000e 0D46 mov r5, r1
1166:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1605 .loc 1 1166 5 is_stmt 1 view .LVU488
1166:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1606 .loc 1 1166 9 is_stmt 0 view .LVU489
1607 0010 ADF80630 strh r3, [sp, #6] @ movhi
1168:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1608 .loc 1 1168 5 is_stmt 1 view .LVU490
1609 .LVL148:
1610 .L109:
1168:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1611 .loc 1 1168 16 view .LVU491
1168:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1612 .loc 1 1168 22 is_stmt 0 view .LVU492
1613 0014 6388 ldrh r3, [r4, #2] @ unaligned
1168:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1614 .loc 1 1168 16 view .LVU493
1615 0016 BDF80620 ldrh r2, [sp, #6]
1616 001a 9A42 cmp r2, r3
1617 001c 0AD2 bcs .L116
1170:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1618 .loc 1 1170 7 is_stmt 1 view .LVU494
1170:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1619 .loc 1 1170 15 is_stmt 0 view .LVU495
1620 001e 0DF10601 add r1, sp, #6
1621 0022 FFF7FEFF bl USBD_GetNextDesc
1622 .LVL149:
1172:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1623 .loc 1 1172 7 is_stmt 1 view .LVU496
1172:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1624 .loc 1 1172 16 is_stmt 0 view .LVU497
1625 0026 4378 ldrb r3, [r0, #1] @ zero_extendqisi2
1172:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1626 .loc 1 1172 10 view .LVU498
ARM GAS /tmp/cccwInoP.s page 54
1627 0028 052B cmp r3, #5
1628 002a F3D1 bne .L109
1174:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1629 .loc 1 1174 9 is_stmt 1 view .LVU499
1630 .LVL150:
1176:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1631 .loc 1 1176 9 view .LVU500
1176:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1632 .loc 1 1176 20 is_stmt 0 view .LVU501
1633 002c 8378 ldrb r3, [r0, #2] @ zero_extendqisi2
1176:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1634 .loc 1 1176 12 view .LVU502
1635 002e AB42 cmp r3, r5
1636 0030 F0D1 bne .L109
1637 0032 00E0 b .L107
1638 .LVL151:
1639 .L116:
1176:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
1640 .loc 1 1176 12 view .LVU503
1641 0034 0020 movs r0, #0
1642 .LVL152:
1643 .L107:
1189:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1644 .loc 1 1189 1 view .LVU504
1645 0036 03B0 add sp, sp, #12
1646 .LCFI21:
1647 .cfi_def_cfa_offset 12
1648 @ sp needed
1649 0038 30BD pop {r4, r5, pc}
1650 .LVL153:
1651 .L111:
1652 .LCFI22:
1653 .cfi_def_cfa_offset 0
1654 .cfi_restore 4
1655 .cfi_restore 5
1656 .cfi_restore 14
1161:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** uint16_t ptr;
1657 .loc 1 1161 23 view .LVU505
1658 003a 0020 movs r0, #0
1659 .LVL154:
1188:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
1660 .loc 1 1188 3 is_stmt 1 view .LVU506
1189:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
1661 .loc 1 1189 1 is_stmt 0 view .LVU507
1662 003c 7047 bx lr
1663 .cfi_endproc
1664 .LFE265:
1666 .text
1667 .Letext0:
1668 .file 2 "/usr/lib/gcc/arm-none-eabi/13.2.1/include/stdint.h"
1669 .file 3 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h"
1670 .file 4 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h"
1671 .file 5 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h"
1672 .file 6 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h"
ARM GAS /tmp/cccwInoP.s page 55
DEFINED SYMBOLS
*ABS*:00000000 usbd_core.c
/tmp/cccwInoP.s:21 .text.USBD_Init:00000000 $t
/tmp/cccwInoP.s:27 .text.USBD_Init:00000000 USBD_Init
/tmp/cccwInoP.s:96 .text.USBD_DeInit:00000000 $t
/tmp/cccwInoP.s:102 .text.USBD_DeInit:00000000 USBD_DeInit
/tmp/cccwInoP.s:162 .text.USBD_RegisterClass:00000000 $t
/tmp/cccwInoP.s:168 .text.USBD_RegisterClass:00000000 USBD_RegisterClass
/tmp/cccwInoP.s:241 .text.USBD_Start:00000000 $t
/tmp/cccwInoP.s:247 .text.USBD_Start:00000000 USBD_Start
/tmp/cccwInoP.s:270 .text.USBD_Stop:00000000 $t
/tmp/cccwInoP.s:276 .text.USBD_Stop:00000000 USBD_Stop
/tmp/cccwInoP.s:317 .text.USBD_RunTestMode:00000000 $t
/tmp/cccwInoP.s:323 .text.USBD_RunTestMode:00000000 USBD_RunTestMode
/tmp/cccwInoP.s:342 .text.USBD_SetClassConfig:00000000 $t
/tmp/cccwInoP.s:348 .text.USBD_SetClassConfig:00000000 USBD_SetClassConfig
/tmp/cccwInoP.s:389 .text.USBD_ClrClassConfig:00000000 $t
/tmp/cccwInoP.s:395 .text.USBD_ClrClassConfig:00000000 USBD_ClrClassConfig
/tmp/cccwInoP.s:434 .text.USBD_LL_SetupStage:00000000 $t
/tmp/cccwInoP.s:440 .text.USBD_LL_SetupStage:00000000 USBD_LL_SetupStage
/tmp/cccwInoP.s:528 .text.USBD_LL_Reset:00000000 $t
/tmp/cccwInoP.s:534 .text.USBD_LL_Reset:00000000 USBD_LL_Reset
/tmp/cccwInoP.s:642 .text.USBD_LL_SetSpeed:00000000 $t
/tmp/cccwInoP.s:648 .text.USBD_LL_SetSpeed:00000000 USBD_LL_SetSpeed
/tmp/cccwInoP.s:669 .text.USBD_LL_Suspend:00000000 $t
/tmp/cccwInoP.s:675 .text.USBD_LL_Suspend:00000000 USBD_LL_Suspend
/tmp/cccwInoP.s:711 .text.USBD_LL_Resume:00000000 $t
/tmp/cccwInoP.s:717 .text.USBD_LL_Resume:00000000 USBD_LL_Resume
/tmp/cccwInoP.s:752 .text.USBD_LL_SOF:00000000 $t
/tmp/cccwInoP.s:758 .text.USBD_LL_SOF:00000000 USBD_LL_SOF
/tmp/cccwInoP.s:808 .text.USBD_LL_IsoINIncomplete:00000000 $t
/tmp/cccwInoP.s:814 .text.USBD_LL_IsoINIncomplete:00000000 USBD_LL_IsoINIncomplete
/tmp/cccwInoP.s:880 .text.USBD_LL_IsoOUTIncomplete:00000000 $t
/tmp/cccwInoP.s:886 .text.USBD_LL_IsoOUTIncomplete:00000000 USBD_LL_IsoOUTIncomplete
/tmp/cccwInoP.s:952 .text.USBD_LL_DevConnected:00000000 $t
/tmp/cccwInoP.s:958 .text.USBD_LL_DevConnected:00000000 USBD_LL_DevConnected
/tmp/cccwInoP.s:977 .text.USBD_LL_DevDisconnected:00000000 $t
/tmp/cccwInoP.s:983 .text.USBD_LL_DevDisconnected:00000000 USBD_LL_DevDisconnected
/tmp/cccwInoP.s:1036 .text.USBD_CoreFindIF:00000000 $t
/tmp/cccwInoP.s:1042 .text.USBD_CoreFindIF:00000000 USBD_CoreFindIF
/tmp/cccwInoP.s:1062 .text.USBD_CoreFindEP:00000000 $t
/tmp/cccwInoP.s:1068 .text.USBD_CoreFindEP:00000000 USBD_CoreFindEP
/tmp/cccwInoP.s:1088 .text.USBD_LL_DataOutStage:00000000 $t
/tmp/cccwInoP.s:1094 .text.USBD_LL_DataOutStage:00000000 USBD_LL_DataOutStage
/tmp/cccwInoP.s:1300 .text.USBD_LL_DataInStage:00000000 $t
/tmp/cccwInoP.s:1306 .text.USBD_LL_DataInStage:00000000 USBD_LL_DataInStage
/tmp/cccwInoP.s:1532 .text.USBD_GetNextDesc:00000000 $t
/tmp/cccwInoP.s:1538 .text.USBD_GetNextDesc:00000000 USBD_GetNextDesc
/tmp/cccwInoP.s:1568 .text.USBD_GetEpDesc:00000000 $t
/tmp/cccwInoP.s:1574 .text.USBD_GetEpDesc:00000000 USBD_GetEpDesc
UNDEFINED SYMBOLS
USBD_LL_Init
USBD_LL_Stop
USBD_LL_DeInit
USBD_LL_Start
USBD_ParseSetupRequest
ARM GAS /tmp/cccwInoP.s page 56
USBD_StdDevReq
USBD_StdItfReq
USBD_StdEPReq
USBD_LL_StallEP
USBD_LL_OpenEP
USBD_CtlContinueRx
USBD_CtlSendStatus
USBD_CtlReceiveStatus
USBD_CtlContinueSendData
USBD_LL_PrepareReceive