ARM GAS /tmp/ccgbJvGL.s page 1
1 .cpu cortex-m0
2 .eabi_attribute 20, 1
3 .eabi_attribute 21, 1
4 .eabi_attribute 23, 3
5 .eabi_attribute 24, 1
6 .eabi_attribute 25, 1
7 .eabi_attribute 26, 1
8 .eabi_attribute 30, 1
9 .eabi_attribute 34, 0
10 .eabi_attribute 18, 4
11 .file "usbd_ctlreq.c"
12 .text
13 .Ltext0:
14 .cfi_sections .debug_frame
15 .section .text.USBD_GetLen,"ax",%progbits
16 .align 1
17 .syntax unified
18 .code 16
19 .thumb_func
20 .fpu softvfp
22 USBD_GetLen:
23 .LFB56:
24 .file 1 "Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c"
1:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
2:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** ******************************************************************************
3:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @file usbd_req.c
4:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @author MCD Application Team
5:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @version V2.4.2
6:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @date 11-December-2015
7:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief This file provides the standard USB requests following chapter 9.
8:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** ******************************************************************************
9:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @attention
10:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** *
11:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** *
© COPYRIGHT 2015 STMicroelectronics
12:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** *
13:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
14:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * You may not use this file except in compliance with the License.
15:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * You may obtain a copy of the License at:
16:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** *
17:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * http://www.st.com/software_license_agreement_liberty_v2
18:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** *
19:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Unless required by applicable law or agreed to in writing, software
20:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * distributed under the License is distributed on an "AS IS" BASIS,
21:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * See the License for the specific language governing permissions and
23:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * limitations under the License.
24:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** *
25:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** ******************************************************************************
26:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
27:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
28:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /* Includes ------------------------------------------------------------------*/
29:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #include "usbd_ctlreq.h"
30:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #include "usbd_ioreq.h"
31:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
32:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
33:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** @addtogroup STM32_USBD_STATE_DEVICE_LIBRARY
34:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @{
ARM GAS /tmp/ccgbJvGL.s page 2
35:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
36:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
37:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
38:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** @defgroup USBD_REQ
39:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USB standard requests module
40:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @{
41:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
42:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
43:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** @defgroup USBD_REQ_Private_TypesDefinitions
44:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @{
45:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
46:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
47:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @}
48:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
49:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
50:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
51:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** @defgroup USBD_REQ_Private_Defines
52:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @{
53:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
54:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
55:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
56:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @}
57:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
58:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
59:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
60:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** @defgroup USBD_REQ_Private_Macros
61:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @{
62:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
63:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
64:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @}
65:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
66:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
67:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
68:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** @defgroup USBD_REQ_Private_Variables
69:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @{
70:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
71:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
72:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @}
73:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
74:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
75:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
76:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** @defgroup USBD_REQ_Private_FunctionPrototypes
77:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @{
78:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
79:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_GetDescriptor(USBD_HandleTypeDef *pdev ,
80:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetupReqTypedef *req);
81:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
82:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_SetAddress(USBD_HandleTypeDef *pdev ,
83:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetupReqTypedef *req);
84:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
85:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_SetConfig(USBD_HandleTypeDef *pdev ,
86:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetupReqTypedef *req);
87:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
88:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_GetConfig(USBD_HandleTypeDef *pdev ,
89:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetupReqTypedef *req);
90:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
91:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_GetStatus(USBD_HandleTypeDef *pdev ,
ARM GAS /tmp/ccgbJvGL.s page 3
92:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetupReqTypedef *req);
93:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
94:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_SetFeature(USBD_HandleTypeDef *pdev ,
95:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetupReqTypedef *req);
96:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
97:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_ClrFeature(USBD_HandleTypeDef *pdev ,
98:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetupReqTypedef *req);
99:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
100:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static uint8_t USBD_GetLen(uint8_t *buf);
101:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
102:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
103:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @}
104:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
105:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
106:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
107:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** @defgroup USBD_REQ_Private_Functions
108:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @{
109:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
110:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
111:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
112:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
113:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_StdDevReq
114:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Handle standard usb device requests
115:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance
116:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request
117:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval status
118:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
119:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_StatusTypeDef USBD_StdDevReq (USBD_HandleTypeDef *pdev , USBD_SetupReqTypedef *req)
120:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
121:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_StatusTypeDef ret = USBD_OK;
122:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
123:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (req->bRequest)
124:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
125:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_GET_DESCRIPTOR:
126:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
127:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_GetDescriptor (pdev, req) ;
128:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
129:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
130:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_SET_ADDRESS:
131:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetAddress(pdev, req);
132:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
133:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
134:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_SET_CONFIGURATION:
135:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetConfig (pdev , req);
136:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
137:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
138:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_GET_CONFIGURATION:
139:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_GetConfig (pdev , req);
140:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
141:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
142:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_GET_STATUS:
143:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_GetStatus (pdev , req);
144:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
145:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
146:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
147:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_SET_FEATURE:
148:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetFeature (pdev , req);
ARM GAS /tmp/ccgbJvGL.s page 4
149:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
150:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
151:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_CLEAR_FEATURE:
152:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_ClrFeature (pdev , req);
153:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
154:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
155:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default:
156:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
157:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
158:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
159:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
160:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return ret;
161:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
162:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
163:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
164:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_StdItfReq
165:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Handle standard usb interface requests
166:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance
167:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request
168:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval status
169:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
170:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_StatusTypeDef USBD_StdItfReq (USBD_HandleTypeDef *pdev , USBD_SetupReqTypedef *req)
171:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
172:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_StatusTypeDef ret = USBD_OK;
173:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
174:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (pdev->dev_state)
175:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
176:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_CONFIGURED:
177:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
178:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (LOBYTE(req->wIndex) <= USBD_MAX_NUM_INTERFACES)
179:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
180:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->pClass->Setup (pdev, req);
181:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
182:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if((req->wLength == 0)&& (ret == USBD_OK))
183:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
184:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendStatus(pdev);
185:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
186:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
187:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else
188:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
189:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
190:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
191:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
192:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
193:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default:
194:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
195:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
196:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
197:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return USBD_OK;
198:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
199:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
200:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
201:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_StdEPReq
202:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Handle standard usb endpoint requests
203:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance
204:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request
205:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval status
ARM GAS /tmp/ccgbJvGL.s page 5
206:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
207:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_StatusTypeDef USBD_StdEPReq (USBD_HandleTypeDef *pdev , USBD_SetupReqTypedef *req)
208:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
209:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
210:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** uint8_t ep_addr;
211:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_StatusTypeDef ret = USBD_OK;
212:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_EndpointTypeDef *pep;
213:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** ep_addr = LOBYTE(req->wIndex);
214:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
215:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /* Check if it is a class request */
216:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if ((req->bmRequest & 0x60) == 0x20)
217:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
218:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->pClass->Setup (pdev, req);
219:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
220:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return USBD_OK;
221:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
222:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
223:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (req->bRequest)
224:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
225:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
226:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_SET_FEATURE :
227:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
228:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (pdev->dev_state)
229:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
230:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_ADDRESSED:
231:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if ((ep_addr != 0x00) && (ep_addr != 0x80))
232:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
233:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_LL_StallEP(pdev , ep_addr);
234:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
235:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
236:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
237:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_CONFIGURED:
238:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (req->wValue == USB_FEATURE_EP_HALT)
239:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
240:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if ((ep_addr != 0x00) && (ep_addr != 0x80))
241:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
242:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_LL_StallEP(pdev , ep_addr);
243:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
244:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
245:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
246:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->pClass->Setup (pdev, req);
247:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendStatus(pdev);
248:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
249:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
250:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
251:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default:
252:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
253:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
254:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
255:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
256:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
257:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_CLEAR_FEATURE :
258:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
259:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (pdev->dev_state)
260:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
261:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_ADDRESSED:
262:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if ((ep_addr != 0x00) && (ep_addr != 0x80))
ARM GAS /tmp/ccgbJvGL.s page 6
263:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
264:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_LL_StallEP(pdev , ep_addr);
265:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
266:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
267:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
268:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_CONFIGURED:
269:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (req->wValue == USB_FEATURE_EP_HALT)
270:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
271:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if ((ep_addr & 0x7F) != 0x00)
272:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
273:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_LL_ClearStallEP(pdev , ep_addr);
274:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->pClass->Setup (pdev, req);
275:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
276:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendStatus(pdev);
277:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
278:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
279:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
280:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default:
281:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
282:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
283:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
284:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
285:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
286:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_GET_STATUS:
287:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (pdev->dev_state)
288:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
289:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_ADDRESSED:
290:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if ((ep_addr & 0x7F) != 0x00)
291:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
292:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_LL_StallEP(pdev , ep_addr);
293:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
294:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
295:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
296:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_CONFIGURED:
297:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pep = ((ep_addr & 0x80) == 0x80) ? &pdev->ep_in[ep_addr & 0x7F]:\
298:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** &pdev->ep_out[ep_addr & 0x7F];
299:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if(USBD_LL_IsStallEP(pdev, ep_addr))
300:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
301:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pep->status = 0x0001;
302:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
303:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else
304:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
305:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pep->status = 0x0000;
306:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
307:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
308:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendData (pdev,
309:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (uint8_t *)&pep->status,
310:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 2);
311:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
312:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
313:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default:
314:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
315:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
316:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
317:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
318:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
319:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default:
ARM GAS /tmp/ccgbJvGL.s page 7
320:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
321:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
322:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return ret;
323:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
324:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
325:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_GetDescriptor
326:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Handle Get Descriptor requests
327:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance
328:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request
329:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval status
330:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
331:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_GetDescriptor(USBD_HandleTypeDef *pdev ,
332:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetupReqTypedef *req)
333:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
334:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** uint16_t len;
335:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** uint8_t *pbuf;
336:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
337:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
338:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (req->wValue >> 8)
339:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
340:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #if (USBD_LPM_ENABLED == 1)
341:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_DESC_TYPE_BOS:
342:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = pdev->pDesc->GetBOSDescriptor(pdev->dev_speed, &len);
343:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
344:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #endif
345:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_DESC_TYPE_DEVICE:
346:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = pdev->pDesc->GetDeviceDescriptor(pdev->dev_speed, &len);
347:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
348:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
349:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_DESC_TYPE_CONFIGURATION:
350:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if(pdev->dev_speed == USBD_SPEED_HIGH )
351:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
352:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = (uint8_t *)pdev->pClass->GetHSConfigDescriptor(&len);
353:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf[1] = USB_DESC_TYPE_CONFIGURATION;
354:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
355:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else
356:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
357:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = (uint8_t *)pdev->pClass->GetFSConfigDescriptor(&len);
358:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf[1] = USB_DESC_TYPE_CONFIGURATION;
359:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
360:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
361:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
362:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_DESC_TYPE_STRING:
363:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch ((uint8_t)(req->wValue))
364:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
365:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_IDX_LANGID_STR:
366:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = pdev->pDesc->GetLangIDStrDescriptor(pdev->dev_speed, &len);
367:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
368:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
369:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_IDX_MFC_STR:
370:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = pdev->pDesc->GetManufacturerStrDescriptor(pdev->dev_speed, &len);
371:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
372:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
373:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_IDX_PRODUCT_STR:
374:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = pdev->pDesc->GetProductStrDescriptor(pdev->dev_speed, &len);
375:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
376:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
ARM GAS /tmp/ccgbJvGL.s page 8
377:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_IDX_SERIAL_STR:
378:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = pdev->pDesc->GetSerialStrDescriptor(pdev->dev_speed, &len);
379:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
380:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
381:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_IDX_CONFIG_STR:
382:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = pdev->pDesc->GetConfigurationStrDescriptor(pdev->dev_speed, &len);
383:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
384:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
385:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_IDX_INTERFACE_STR:
386:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = pdev->pDesc->GetInterfaceStrDescriptor(pdev->dev_speed, &len);
387:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
388:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
389:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default:
390:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #if (USBD_SUPPORT_USER_STRING == 1)
391:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = pdev->pClass->GetUsrStrDescriptor(pdev, (req->wValue) , &len);
392:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
393:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #else
394:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
395:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return;
396:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #endif
397:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
398:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
399:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_DESC_TYPE_DEVICE_QUALIFIER:
400:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
401:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if(pdev->dev_speed == USBD_SPEED_HIGH )
402:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
403:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = (uint8_t *)pdev->pClass->GetDeviceQualifierDescriptor(&len);
404:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
405:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
406:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else
407:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
408:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
409:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return;
410:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
411:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
412:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_DESC_TYPE_OTHER_SPEED_CONFIGURATION:
413:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if(pdev->dev_speed == USBD_SPEED_HIGH )
414:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
415:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = (uint8_t *)pdev->pClass->GetOtherSpeedConfigDescriptor(&len);
416:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf[1] = USB_DESC_TYPE_OTHER_SPEED_CONFIGURATION;
417:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
418:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
419:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else
420:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
421:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
422:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return;
423:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
424:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
425:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default:
426:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
427:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return;
428:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
429:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
430:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if((len != 0)&& (req->wLength != 0))
431:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
432:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
433:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** len = MIN(len , req->wLength);
ARM GAS /tmp/ccgbJvGL.s page 9
434:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
435:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendData (pdev,
436:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf,
437:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** len);
438:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
439:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
440:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
441:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
442:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
443:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_SetAddress
444:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Set device address
445:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance
446:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request
447:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval status
448:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
449:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_SetAddress(USBD_HandleTypeDef *pdev ,
450:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetupReqTypedef *req)
451:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
452:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** uint8_t dev_addr;
453:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
454:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if ((req->wIndex == 0) && (req->wLength == 0))
455:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
456:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** dev_addr = (uint8_t)(req->wValue) & 0x7F;
457:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
458:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (pdev->dev_state == USBD_STATE_CONFIGURED)
459:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
460:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
461:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
462:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else
463:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
464:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_address = dev_addr;
465:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_LL_SetUSBAddress(pdev, dev_addr);
466:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendStatus(pdev);
467:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
468:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (dev_addr != 0)
469:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
470:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_state = USBD_STATE_ADDRESSED;
471:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
472:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else
473:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
474:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_state = USBD_STATE_DEFAULT;
475:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
476:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
477:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
478:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else
479:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
480:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
481:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
482:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
483:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
484:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
485:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_SetConfig
486:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Handle Set device configuration request
487:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance
488:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request
489:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval status
490:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
ARM GAS /tmp/ccgbJvGL.s page 10
491:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_SetConfig(USBD_HandleTypeDef *pdev ,
492:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetupReqTypedef *req)
493:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
494:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
495:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static uint8_t cfgidx;
496:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
497:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** cfgidx = (uint8_t)(req->wValue);
498:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
499:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (cfgidx > USBD_MAX_NUM_CONFIGURATION )
500:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
501:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
502:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
503:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else
504:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
505:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (pdev->dev_state)
506:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
507:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_ADDRESSED:
508:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (cfgidx)
509:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
510:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_config = cfgidx;
511:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_state = USBD_STATE_CONFIGURED;
512:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if(USBD_SetClassConfig(pdev , cfgidx) == USBD_FAIL)
513:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
514:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
515:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return;
516:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
517:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendStatus(pdev);
518:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
519:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else
520:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
521:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendStatus(pdev);
522:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
523:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
524:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
525:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_CONFIGURED:
526:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (cfgidx == 0)
527:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
528:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_state = USBD_STATE_ADDRESSED;
529:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_config = cfgidx;
530:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_ClrClassConfig(pdev , cfgidx);
531:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendStatus(pdev);
532:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
533:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
534:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else if (cfgidx != pdev->dev_config)
535:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
536:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /* Clear old configuration */
537:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_ClrClassConfig(pdev , pdev->dev_config);
538:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
539:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /* set new configuration */
540:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_config = cfgidx;
541:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if(USBD_SetClassConfig(pdev , cfgidx) == USBD_FAIL)
542:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
543:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
544:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return;
545:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
546:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendStatus(pdev);
547:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
ARM GAS /tmp/ccgbJvGL.s page 11
548:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else
549:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
550:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendStatus(pdev);
551:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
552:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
553:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
554:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default:
555:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
556:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
557:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
558:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
559:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
560:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
561:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
562:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_GetConfig
563:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Handle Get device configuration request
564:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance
565:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request
566:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval status
567:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
568:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_GetConfig(USBD_HandleTypeDef *pdev ,
569:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetupReqTypedef *req)
570:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
571:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
572:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (req->wLength != 1)
573:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
574:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
575:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
576:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else
577:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
578:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (pdev->dev_state )
579:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
580:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_ADDRESSED:
581:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_default_config = 0;
582:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendData (pdev,
583:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (uint8_t *)&pdev->dev_default_config,
584:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 1);
585:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
586:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
587:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_CONFIGURED:
588:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
589:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendData (pdev,
590:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (uint8_t *)&pdev->dev_config,
591:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 1);
592:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
593:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
594:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default:
595:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
596:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
597:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
598:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
599:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
600:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
601:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
602:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_GetStatus
603:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Handle Get Status request
604:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance
ARM GAS /tmp/ccgbJvGL.s page 12
605:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request
606:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval status
607:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
608:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_GetStatus(USBD_HandleTypeDef *pdev ,
609:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetupReqTypedef *req)
610:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
611:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
612:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
613:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (pdev->dev_state)
614:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
615:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_ADDRESSED:
616:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_CONFIGURED:
617:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
618:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #if ( USBD_SELF_POWERED == 1)
619:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_config_status = USB_CONFIG_SELF_POWERED;
620:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #else
621:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_config_status = 0;
622:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #endif
623:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
624:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (pdev->dev_remote_wakeup)
625:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
626:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_config_status |= USB_CONFIG_REMOTE_WAKEUP;
627:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
628:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
629:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendData (pdev,
630:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (uint8_t *)& pdev->dev_config_status,
631:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 2);
632:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
633:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
634:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default :
635:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
636:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
637:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
638:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
639:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
640:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
641:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
642:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_SetFeature
643:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Handle Set device feature request
644:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance
645:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request
646:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval status
647:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
648:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_SetFeature(USBD_HandleTypeDef *pdev ,
649:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetupReqTypedef *req)
650:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
651:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
652:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (req->wValue == USB_FEATURE_REMOTE_WAKEUP)
653:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
654:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_remote_wakeup = 1;
655:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->pClass->Setup (pdev, req);
656:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendStatus(pdev);
657:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
658:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
659:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
660:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
661:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
ARM GAS /tmp/ccgbJvGL.s page 13
662:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
663:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_ClrFeature
664:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Handle clear device feature request
665:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance
666:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request
667:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval status
668:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
669:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_ClrFeature(USBD_HandleTypeDef *pdev ,
670:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetupReqTypedef *req)
671:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
672:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (pdev->dev_state)
673:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
674:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_ADDRESSED:
675:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_CONFIGURED:
676:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (req->wValue == USB_FEATURE_REMOTE_WAKEUP)
677:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
678:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_remote_wakeup = 0;
679:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->pClass->Setup (pdev, req);
680:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendStatus(pdev);
681:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
682:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
683:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
684:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default :
685:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
686:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
687:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
688:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
689:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
690:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
691:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_ParseSetupRequest
692:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Copy buffer into setup structure
693:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance
694:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request
695:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval None
696:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
697:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
698:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** void USBD_ParseSetupRequest(USBD_SetupReqTypedef *req, uint8_t *pdata)
699:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
700:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** req->bmRequest = *(uint8_t *) (pdata);
701:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** req->bRequest = *(uint8_t *) (pdata + 1);
702:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** req->wValue = SWAPBYTE (pdata + 2);
703:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** req->wIndex = SWAPBYTE (pdata + 4);
704:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** req->wLength = SWAPBYTE (pdata + 6);
705:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
706:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
707:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
708:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
709:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_CtlError
710:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Handle USB low level Error
711:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance
712:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request
713:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval None
714:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
715:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
716:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** void USBD_CtlError( USBD_HandleTypeDef *pdev ,
717:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetupReqTypedef *req)
718:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
ARM GAS /tmp/ccgbJvGL.s page 14
719:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_LL_StallEP(pdev , 0x80);
720:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_LL_StallEP(pdev , 0);
721:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
722:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
723:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
724:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
725:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_GetString
726:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Convert Ascii string into unicode one
727:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param desc : descriptor buffer
728:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param unicode : Formatted string buffer (unicode)
729:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param len : descriptor length
730:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval None
731:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
732:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** void USBD_GetString(uint8_t *desc, uint8_t *unicode, uint16_t *len)
733:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
734:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** uint8_t idx = 0;
735:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
736:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (desc != NULL)
737:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
738:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** *len = USBD_GetLen(desc) * 2 + 2;
739:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** unicode[idx++] = *len;
740:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** unicode[idx++] = USB_DESC_TYPE_STRING;
741:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
742:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** while (*desc != '\0')
743:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
744:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** unicode[idx++] = *desc++;
745:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** unicode[idx++] = 0x00;
746:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
747:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
748:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
749:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
750:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
751:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_GetLen
752:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * return the string length
753:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param buf : pointer to the ascii string buffer
754:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval string length
755:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
756:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static uint8_t USBD_GetLen(uint8_t *buf)
757:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
25 .loc 1 757 0
26 .cfi_startproc
27 @ args = 0, pretend = 0, frame = 0
28 @ frame_needed = 0, uses_anonymous_args = 0
29 @ link register save eliminated.
30 .LVL0:
31 0000 0300 movs r3, r0
32 .LVL1:
758:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** uint8_t len = 0;
33 .loc 1 758 0
34 0002 0020 movs r0, #0
35 .LVL2:
759:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
760:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** while (*buf != '\0')
36 .loc 1 760 0
37 0004 02E0 b .L2
38 .LVL3:
39 .L3:
ARM GAS /tmp/ccgbJvGL.s page 15
761:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
762:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** len++;
40 .loc 1 762 0
41 0006 0130 adds r0, r0, #1
42 .LVL4:
43 0008 C0B2 uxtb r0, r0
44 .LVL5:
763:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** buf++;
45 .loc 1 763 0
46 000a 0133 adds r3, r3, #1
47 .LVL6:
48 .L2:
760:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
49 .loc 1 760 0
50 000c 1A78 ldrb r2, [r3]
51 000e 002A cmp r2, #0
52 0010 F9D1 bne .L3
764:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
765:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
766:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return len;
767:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
53 .loc 1 767 0
54 @ sp needed
55 0012 7047 bx lr
56 .cfi_endproc
57 .LFE56:
59 .section .text.USBD_SetFeature,"ax",%progbits
60 .align 1
61 .syntax unified
62 .code 16
63 .thumb_func
64 .fpu softvfp
66 USBD_SetFeature:
67 .LFB51:
650:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
68 .loc 1 650 0
69 .cfi_startproc
70 @ args = 0, pretend = 0, frame = 0
71 @ frame_needed = 0, uses_anonymous_args = 0
72 .LVL7:
73 0000 10B5 push {r4, lr}
74 .LCFI0:
75 .cfi_def_cfa_offset 8
76 .cfi_offset 4, -8
77 .cfi_offset 14, -4
78 0002 0400 movs r4, r0
652:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
79 .loc 1 652 0
80 0004 4B88 ldrh r3, [r1, #2]
81 0006 012B cmp r3, #1
82 0008 0AD1 bne .L4
654:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->pClass->Setup (pdev, req);
83 .loc 1 654 0
84 000a 8123 movs r3, #129
85 000c 9B00 lsls r3, r3, #2
86 000e 0122 movs r2, #1
87 0010 C250 str r2, [r0, r3]
ARM GAS /tmp/ccgbJvGL.s page 16
655:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendStatus(pdev);
88 .loc 1 655 0
89 0012 1033 adds r3, r3, #16
90 0014 C358 ldr r3, [r0, r3]
91 0016 9B68 ldr r3, [r3, #8]
92 0018 9847 blx r3
93 .LVL8:
656:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
94 .loc 1 656 0
95 001a 2000 movs r0, r4
96 001c FFF7FEFF bl USBD_CtlSendStatus
97 .LVL9:
98 .L4:
659:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
99 .loc 1 659 0
100 @ sp needed
101 .LVL10:
102 0020 10BD pop {r4, pc}
103 .cfi_endproc
104 .LFE51:
106 .section .text.USBD_ParseSetupRequest,"ax",%progbits
107 .align 1
108 .global USBD_ParseSetupRequest
109 .syntax unified
110 .code 16
111 .thumb_func
112 .fpu softvfp
114 USBD_ParseSetupRequest:
115 .LFB53:
699:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** req->bmRequest = *(uint8_t *) (pdata);
116 .loc 1 699 0
117 .cfi_startproc
118 @ args = 0, pretend = 0, frame = 0
119 @ frame_needed = 0, uses_anonymous_args = 0
120 @ link register save eliminated.
121 .LVL11:
700:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** req->bRequest = *(uint8_t *) (pdata + 1);
122 .loc 1 700 0
123 0000 0B78 ldrb r3, [r1]
124 0002 0370 strb r3, [r0]
701:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** req->wValue = SWAPBYTE (pdata + 2);
125 .loc 1 701 0
126 0004 4B78 ldrb r3, [r1, #1]
127 0006 4370 strb r3, [r0, #1]
702:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** req->wIndex = SWAPBYTE (pdata + 4);
128 .loc 1 702 0
129 0008 8B78 ldrb r3, [r1, #2]
130 000a CA78 ldrb r2, [r1, #3]
131 000c 1202 lsls r2, r2, #8
132 000e 9B18 adds r3, r3, r2
133 0010 4380 strh r3, [r0, #2]
703:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** req->wLength = SWAPBYTE (pdata + 6);
134 .loc 1 703 0
135 0012 0B79 ldrb r3, [r1, #4]
136 0014 4A79 ldrb r2, [r1, #5]
137 0016 1202 lsls r2, r2, #8
138 0018 9B18 adds r3, r3, r2
ARM GAS /tmp/ccgbJvGL.s page 17
139 001a 8380 strh r3, [r0, #4]
704:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
140 .loc 1 704 0
141 001c 8B79 ldrb r3, [r1, #6]
142 001e CA79 ldrb r2, [r1, #7]
143 0020 1202 lsls r2, r2, #8
144 0022 9B18 adds r3, r3, r2
145 0024 C380 strh r3, [r0, #6]
706:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
146 .loc 1 706 0
147 @ sp needed
148 0026 7047 bx lr
149 .cfi_endproc
150 .LFE53:
152 .section .text.USBD_CtlError,"ax",%progbits
153 .align 1
154 .global USBD_CtlError
155 .syntax unified
156 .code 16
157 .thumb_func
158 .fpu softvfp
160 USBD_CtlError:
161 .LFB54:
718:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_LL_StallEP(pdev , 0x80);
162 .loc 1 718 0
163 .cfi_startproc
164 @ args = 0, pretend = 0, frame = 0
165 @ frame_needed = 0, uses_anonymous_args = 0
166 .LVL12:
167 0000 10B5 push {r4, lr}
168 .LCFI1:
169 .cfi_def_cfa_offset 8
170 .cfi_offset 4, -8
171 .cfi_offset 14, -4
172 0002 0400 movs r4, r0
719:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_LL_StallEP(pdev , 0);
173 .loc 1 719 0
174 0004 8021 movs r1, #128
175 .LVL13:
176 0006 FFF7FEFF bl USBD_LL_StallEP
177 .LVL14:
720:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
178 .loc 1 720 0
179 000a 0021 movs r1, #0
180 000c 2000 movs r0, r4
181 000e FFF7FEFF bl USBD_LL_StallEP
182 .LVL15:
721:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
183 .loc 1 721 0
184 @ sp needed
185 .LVL16:
186 0012 10BD pop {r4, pc}
187 .cfi_endproc
188 .LFE54:
190 .section .text.USBD_GetDescriptor,"ax",%progbits
191 .align 1
192 .syntax unified
ARM GAS /tmp/ccgbJvGL.s page 18
193 .code 16
194 .thumb_func
195 .fpu softvfp
197 USBD_GetDescriptor:
198 .LFB46:
333:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** uint16_t len;
199 .loc 1 333 0
200 .cfi_startproc
201 @ args = 0, pretend = 0, frame = 8
202 @ frame_needed = 0, uses_anonymous_args = 0
203 .LVL17:
204 0000 30B5 push {r4, r5, lr}
205 .LCFI2:
206 .cfi_def_cfa_offset 12
207 .cfi_offset 4, -12
208 .cfi_offset 5, -8
209 .cfi_offset 14, -4
210 0002 83B0 sub sp, sp, #12
211 .LCFI3:
212 .cfi_def_cfa_offset 24
213 0004 0400 movs r4, r0
214 0006 0D00 movs r5, r1
338:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
215 .loc 1 338 0
216 0008 4A88 ldrh r2, [r1, #2]
217 000a 130A lsrs r3, r2, #8
218 000c 072B cmp r3, #7
219 000e 00D9 bls .LCB168
220 0010 8EE0 b .L9 @long jump
221 .LCB168:
222 0012 9B00 lsls r3, r3, #2
223 0014 4F49 ldr r1, .L33
224 .LVL18:
225 0016 CB58 ldr r3, [r1, r3]
226 0018 9F46 mov pc, r3
227 .section .rodata.USBD_GetDescriptor,"a",%progbits
228 .align 2
229 .L11:
230 0000 30010000 .word .L9
231 0004 1A000000 .word .L10
232 0008 40000000 .word .L12
233 000c 6E000000 .word .L13
234 0010 30010000 .word .L9
235 0014 30010000 .word .L9
236 0018 F0000000 .word .L14
237 001c 0E010000 .word .L15
238 .section .text.USBD_GetDescriptor
239 .L10:
346:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
240 .loc 1 346 0
241 001a 8423 movs r3, #132
242 001c 9B00 lsls r3, r3, #2
243 001e C358 ldr r3, [r0, r3]
244 0020 1B68 ldr r3, [r3]
245 0022 007C ldrb r0, [r0, #16]
246 .LVL19:
247 0024 6A46 mov r2, sp
ARM GAS /tmp/ccgbJvGL.s page 19
248 0026 911D adds r1, r2, #6
249 0028 9847 blx r3
250 .LVL20:
251 .L16:
430:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
252 .loc 1 430 0
253 002a 6B46 mov r3, sp
254 002c 0633 adds r3, r3, #6
255 002e 1B88 ldrh r3, [r3]
256 0030 002B cmp r3, #0
257 0032 03D0 beq .L8
430:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
258 .loc 1 430 0 is_stmt 0 discriminator 1
259 0034 EA88 ldrh r2, [r5, #6]
260 0036 002A cmp r2, #0
261 0038 00D0 beq .LCB205
262 003a 7EE0 b .L32 @long jump
263 .LCB205:
264 .LVL21:
265 .L8:
440:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
266 .loc 1 440 0 is_stmt 1
267 003c 03B0 add sp, sp, #12
268 @ sp needed
269 .LVL22:
270 .LVL23:
271 003e 30BD pop {r4, r5, pc}
272 .LVL24:
273 .L12:
350:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
274 .loc 1 350 0
275 0040 037C ldrb r3, [r0, #16]
276 0042 002B cmp r3, #0
277 0044 09D1 bne .L17
352:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf[1] = USB_DESC_TYPE_CONFIGURATION;
278 .loc 1 352 0
279 0046 8523 movs r3, #133
280 0048 9B00 lsls r3, r3, #2
281 004a C358 ldr r3, [r0, r3]
282 004c 9B6A ldr r3, [r3, #40]
283 004e 6A46 mov r2, sp
284 0050 901D adds r0, r2, #6
285 .LVL25:
286 0052 9847 blx r3
287 .LVL26:
353:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
288 .loc 1 353 0
289 0054 0223 movs r3, #2
290 0056 4370 strb r3, [r0, #1]
291 0058 E7E7 b .L16
292 .LVL27:
293 .L17:
357:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf[1] = USB_DESC_TYPE_CONFIGURATION;
294 .loc 1 357 0
295 005a 8523 movs r3, #133
296 005c 9B00 lsls r3, r3, #2
297 005e C358 ldr r3, [r0, r3]
ARM GAS /tmp/ccgbJvGL.s page 20
298 0060 DB6A ldr r3, [r3, #44]
299 0062 6A46 mov r2, sp
300 0064 901D adds r0, r2, #6
301 .LVL28:
302 0066 9847 blx r3
303 .LVL29:
358:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
304 .loc 1 358 0
305 0068 0223 movs r3, #2
306 006a 4370 strb r3, [r0, #1]
307 006c DDE7 b .L16
308 .LVL30:
309 .L13:
363:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
310 .loc 1 363 0
311 006e D2B2 uxtb r2, r2
312 0070 052A cmp r2, #5
313 0072 39D8 bhi .L18
314 0074 9200 lsls r2, r2, #2
315 0076 384B ldr r3, .L33+4
316 0078 9B58 ldr r3, [r3, r2]
317 007a 9F46 mov pc, r3
318 .section .rodata.USBD_GetDescriptor
319 .align 2
320 .L20:
321 0020 7C000000 .word .L19
322 0024 8E000000 .word .L21
323 0028 A0000000 .word .L22
324 002c B2000000 .word .L23
325 0030 C4000000 .word .L24
326 0034 D6000000 .word .L25
327 .section .text.USBD_GetDescriptor
328 .L19:
366:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
329 .loc 1 366 0
330 007c 8423 movs r3, #132
331 007e 9B00 lsls r3, r3, #2
332 0080 C358 ldr r3, [r0, r3]
333 0082 5B68 ldr r3, [r3, #4]
334 0084 007C ldrb r0, [r0, #16]
335 .LVL31:
336 0086 6A46 mov r2, sp
337 0088 911D adds r1, r2, #6
338 008a 9847 blx r3
339 .LVL32:
367:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
340 .loc 1 367 0
341 008c CDE7 b .L16
342 .LVL33:
343 .L21:
370:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
344 .loc 1 370 0
345 008e 8423 movs r3, #132
346 0090 9B00 lsls r3, r3, #2
347 0092 C358 ldr r3, [r0, r3]
348 0094 9B68 ldr r3, [r3, #8]
349 0096 007C ldrb r0, [r0, #16]
ARM GAS /tmp/ccgbJvGL.s page 21
350 .LVL34:
351 0098 6A46 mov r2, sp
352 009a 911D adds r1, r2, #6
353 009c 9847 blx r3
354 .LVL35:
371:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
355 .loc 1 371 0
356 009e C4E7 b .L16
357 .LVL36:
358 .L22:
374:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
359 .loc 1 374 0
360 00a0 8423 movs r3, #132
361 00a2 9B00 lsls r3, r3, #2
362 00a4 C358 ldr r3, [r0, r3]
363 00a6 DB68 ldr r3, [r3, #12]
364 00a8 007C ldrb r0, [r0, #16]
365 .LVL37:
366 00aa 6A46 mov r2, sp
367 00ac 911D adds r1, r2, #6
368 00ae 9847 blx r3
369 .LVL38:
375:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
370 .loc 1 375 0
371 00b0 BBE7 b .L16
372 .LVL39:
373 .L23:
378:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
374 .loc 1 378 0
375 00b2 8423 movs r3, #132
376 00b4 9B00 lsls r3, r3, #2
377 00b6 C358 ldr r3, [r0, r3]
378 00b8 1B69 ldr r3, [r3, #16]
379 00ba 007C ldrb r0, [r0, #16]
380 .LVL40:
381 00bc 6A46 mov r2, sp
382 00be 911D adds r1, r2, #6
383 00c0 9847 blx r3
384 .LVL41:
379:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
385 .loc 1 379 0
386 00c2 B2E7 b .L16
387 .LVL42:
388 .L24:
382:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
389 .loc 1 382 0
390 00c4 8423 movs r3, #132
391 00c6 9B00 lsls r3, r3, #2
392 00c8 C358 ldr r3, [r0, r3]
393 00ca 5B69 ldr r3, [r3, #20]
394 00cc 007C ldrb r0, [r0, #16]
395 .LVL43:
396 00ce 6A46 mov r2, sp
397 00d0 911D adds r1, r2, #6
398 00d2 9847 blx r3
399 .LVL44:
383:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
ARM GAS /tmp/ccgbJvGL.s page 22
400 .loc 1 383 0
401 00d4 A9E7 b .L16
402 .LVL45:
403 .L25:
386:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
404 .loc 1 386 0
405 00d6 8423 movs r3, #132
406 00d8 9B00 lsls r3, r3, #2
407 00da C358 ldr r3, [r0, r3]
408 00dc 9B69 ldr r3, [r3, #24]
409 00de 007C ldrb r0, [r0, #16]
410 .LVL46:
411 00e0 6A46 mov r2, sp
412 00e2 911D adds r1, r2, #6
413 00e4 9847 blx r3
414 .LVL47:
387:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
415 .loc 1 387 0
416 00e6 A0E7 b .L16
417 .LVL48:
418 .L18:
394:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return;
419 .loc 1 394 0
420 00e8 2900 movs r1, r5
421 00ea FFF7FEFF bl USBD_CtlError
422 .LVL49:
395:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #endif
423 .loc 1 395 0
424 00ee A5E7 b .L8
425 .LVL50:
426 .L14:
401:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
427 .loc 1 401 0
428 00f0 037C ldrb r3, [r0, #16]
429 00f2 002B cmp r3, #0
430 00f4 07D1 bne .L27
403:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
431 .loc 1 403 0
432 00f6 8523 movs r3, #133
433 00f8 9B00 lsls r3, r3, #2
434 00fa C358 ldr r3, [r0, r3]
435 00fc 5B6B ldr r3, [r3, #52]
436 00fe 6A46 mov r2, sp
437 0100 901D adds r0, r2, #6
438 .LVL51:
439 0102 9847 blx r3
440 .LVL52:
404:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
441 .loc 1 404 0
442 0104 91E7 b .L16
443 .LVL53:
444 .L27:
408:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return;
445 .loc 1 408 0
446 0106 2900 movs r1, r5
447 0108 FFF7FEFF bl USBD_CtlError
448 .LVL54:
ARM GAS /tmp/ccgbJvGL.s page 23
409:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
449 .loc 1 409 0
450 010c 96E7 b .L8
451 .LVL55:
452 .L15:
413:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
453 .loc 1 413 0
454 010e 037C ldrb r3, [r0, #16]
455 0110 002B cmp r3, #0
456 0112 09D1 bne .L28
415:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf[1] = USB_DESC_TYPE_OTHER_SPEED_CONFIGURATION;
457 .loc 1 415 0
458 0114 8523 movs r3, #133
459 0116 9B00 lsls r3, r3, #2
460 0118 C358 ldr r3, [r0, r3]
461 011a 1B6B ldr r3, [r3, #48]
462 011c 6A46 mov r2, sp
463 011e 901D adds r0, r2, #6
464 .LVL56:
465 0120 9847 blx r3
466 .LVL57:
416:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
467 .loc 1 416 0
468 0122 0723 movs r3, #7
469 0124 4370 strb r3, [r0, #1]
417:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
470 .loc 1 417 0
471 0126 80E7 b .L16
472 .LVL58:
473 .L28:
421:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return;
474 .loc 1 421 0
475 0128 2900 movs r1, r5
476 012a FFF7FEFF bl USBD_CtlError
477 .LVL59:
422:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
478 .loc 1 422 0
479 012e 85E7 b .L8
480 .LVL60:
481 .L9:
426:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return;
482 .loc 1 426 0
483 0130 2900 movs r1, r5
484 0132 2000 movs r0, r4
485 .LVL61:
486 0134 FFF7FEFF bl USBD_CtlError
487 .LVL62:
427:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
488 .loc 1 427 0
489 0138 80E7 b .L8
490 .LVL63:
491 .L32:
433:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
492 .loc 1 433 0
493 013a 191C adds r1, r3, #0
494 013c 9342 cmp r3, r2
495 013e 00D9 bls .L30
ARM GAS /tmp/ccgbJvGL.s page 24
496 0140 111C adds r1, r2, #0
497 .L30:
498 0142 8AB2 uxth r2, r1
499 0144 6B46 mov r3, sp
500 0146 D980 strh r1, [r3, #6]
435:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf,
501 .loc 1 435 0
502 0148 0100 movs r1, r0
503 014a 2000 movs r0, r4
504 .LVL64:
505 014c FFF7FEFF bl USBD_CtlSendData
506 .LVL65:
507 0150 74E7 b .L8
508 .L34:
509 0152 C046 .align 2
510 .L33:
511 0154 00000000 .word .L11
512 0158 20000000 .word .L20
513 .cfi_endproc
514 .LFE46:
516 .section .text.USBD_SetAddress,"ax",%progbits
517 .align 1
518 .syntax unified
519 .code 16
520 .thumb_func
521 .fpu softvfp
523 USBD_SetAddress:
524 .LFB47:
451:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** uint8_t dev_addr;
525 .loc 1 451 0
526 .cfi_startproc
527 @ args = 0, pretend = 0, frame = 0
528 @ frame_needed = 0, uses_anonymous_args = 0
529 .LVL66:
530 0000 70B5 push {r4, r5, r6, lr}
531 .LCFI4:
532 .cfi_def_cfa_offset 16
533 .cfi_offset 4, -16
534 .cfi_offset 5, -12
535 .cfi_offset 6, -8
536 .cfi_offset 14, -4
537 0002 0400 movs r4, r0
454:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
538 .loc 1 454 0
539 0004 8B88 ldrh r3, [r1, #4]
540 0006 002B cmp r3, #0
541 0008 22D1 bne .L36
454:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
542 .loc 1 454 0 is_stmt 0 discriminator 1
543 000a CB88 ldrh r3, [r1, #6]
544 000c 002B cmp r3, #0
545 000e 1FD1 bne .L36
456:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
546 .loc 1 456 0 is_stmt 1
547 0010 8B78 ldrb r3, [r1, #2]
548 0012 7F25 movs r5, #127
549 0014 1D40 ands r5, r3
ARM GAS /tmp/ccgbJvGL.s page 25
550 .LVL67:
458:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
551 .loc 1 458 0
552 0016 FE23 movs r3, #254
553 0018 5B00 lsls r3, r3, #1
554 001a C35C ldrb r3, [r0, r3]
555 001c 032B cmp r3, #3
556 001e 0FD0 beq .L40
464:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_LL_SetUSBAddress(pdev, dev_addr);
557 .loc 1 464 0
558 0020 FF23 movs r3, #255
559 0022 5B00 lsls r3, r3, #1
560 0024 C554 strb r5, [r0, r3]
465:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendStatus(pdev);
561 .loc 1 465 0
562 0026 2900 movs r1, r5
563 .LVL68:
564 0028 FFF7FEFF bl USBD_LL_SetUSBAddress
565 .LVL69:
466:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
566 .loc 1 466 0
567 002c 2000 movs r0, r4
568 002e FFF7FEFF bl USBD_CtlSendStatus
569 .LVL70:
468:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
570 .loc 1 468 0
571 0032 002D cmp r5, #0
572 0034 07D0 beq .L39
470:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
573 .loc 1 470 0
574 0036 FE23 movs r3, #254
575 0038 5B00 lsls r3, r3, #1
576 003a 0222 movs r2, #2
577 003c E254 strb r2, [r4, r3]
578 003e 0AE0 b .L35
579 .LVL71:
580 .L40:
460:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
581 .loc 1 460 0
582 0040 FFF7FEFF bl USBD_CtlError
583 .LVL72:
584 0044 07E0 b .L35
585 .L39:
474:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
586 .loc 1 474 0
587 0046 FE23 movs r3, #254
588 0048 5B00 lsls r3, r3, #1
589 004a 0122 movs r2, #1
590 004c E254 strb r2, [r4, r3]
591 004e 02E0 b .L35
592 .LVL73:
593 .L36:
480:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
594 .loc 1 480 0
595 0050 2000 movs r0, r4
596 .LVL74:
597 0052 FFF7FEFF bl USBD_CtlError
ARM GAS /tmp/ccgbJvGL.s page 26
598 .LVL75:
599 .L35:
482:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
600 .loc 1 482 0
601 @ sp needed
602 .LVL76:
603 0056 70BD pop {r4, r5, r6, pc}
604 .cfi_endproc
605 .LFE47:
607 .section .text.USBD_SetConfig,"ax",%progbits
608 .align 1
609 .syntax unified
610 .code 16
611 .thumb_func
612 .fpu softvfp
614 USBD_SetConfig:
615 .LFB48:
493:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
616 .loc 1 493 0
617 .cfi_startproc
618 @ args = 0, pretend = 0, frame = 0
619 @ frame_needed = 0, uses_anonymous_args = 0
620 .LVL77:
621 0000 70B5 push {r4, r5, r6, lr}
622 .LCFI5:
623 .cfi_def_cfa_offset 16
624 .cfi_offset 4, -16
625 .cfi_offset 5, -12
626 .cfi_offset 6, -8
627 .cfi_offset 14, -4
628 0002 0400 movs r4, r0
629 0004 0D00 movs r5, r1
497:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
630 .loc 1 497 0
631 0006 8978 ldrb r1, [r1, #2]
632 .LVL78:
633 0008 284B ldr r3, .L57
634 000a 1970 strb r1, [r3]
499:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
635 .loc 1 499 0
636 000c 0129 cmp r1, #1
637 000e 0AD8 bhi .L53
505:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
638 .loc 1 505 0
639 0010 FE23 movs r3, #254
640 0012 5B00 lsls r3, r3, #1
641 0014 C35C ldrb r3, [r0, r3]
642 0016 022B cmp r3, #2
643 0018 09D0 beq .L45
644 001a 032B cmp r3, #3
645 001c 1ED0 beq .L46
555:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
646 .loc 1 555 0
647 001e 2900 movs r1, r5
648 0020 FFF7FEFF bl USBD_CtlError
649 .LVL79:
556:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
ARM GAS /tmp/ccgbJvGL.s page 27
650 .loc 1 556 0
651 0024 02E0 b .L41
652 .LVL80:
653 .L53:
501:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
654 .loc 1 501 0
655 0026 2900 movs r1, r5
656 0028 FFF7FEFF bl USBD_CtlError
657 .LVL81:
658 .L41:
559:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
659 .loc 1 559 0
660 @ sp needed
661 .LVL82:
662 .LVL83:
663 002c 70BD pop {r4, r5, r6, pc}
664 .LVL84:
665 .L45:
508:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
666 .loc 1 508 0
667 002e 0029 cmp r1, #0
668 0030 11D0 beq .L47
510:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_state = USBD_STATE_CONFIGURED;
669 .loc 1 510 0
670 0032 4160 str r1, [r0, #4]
511:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if(USBD_SetClassConfig(pdev , cfgidx) == USBD_FAIL)
671 .loc 1 511 0
672 0034 FE23 movs r3, #254
673 0036 5B00 lsls r3, r3, #1
674 0038 0322 movs r2, #3
675 003a C254 strb r2, [r0, r3]
512:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
676 .loc 1 512 0
677 003c FFF7FEFF bl USBD_SetClassConfig
678 .LVL85:
679 0040 0228 cmp r0, #2
680 0042 03D0 beq .L54
517:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
681 .loc 1 517 0
682 0044 2000 movs r0, r4
683 0046 FFF7FEFF bl USBD_CtlSendStatus
684 .LVL86:
685 004a EFE7 b .L41
686 .L54:
514:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return;
687 .loc 1 514 0
688 004c 2900 movs r1, r5
689 004e 2000 movs r0, r4
690 0050 FFF7FEFF bl USBD_CtlError
691 .LVL87:
515:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
692 .loc 1 515 0
693 0054 EAE7 b .L41
694 .LVL88:
695 .L47:
521:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
696 .loc 1 521 0
ARM GAS /tmp/ccgbJvGL.s page 28
697 0056 FFF7FEFF bl USBD_CtlSendStatus
698 .LVL89:
699 005a E7E7 b .L41
700 .LVL90:
701 .L46:
526:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
702 .loc 1 526 0
703 005c 0029 cmp r1, #0
704 005e 11D0 beq .L55
534:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
705 .loc 1 534 0
706 0060 4368 ldr r3, [r0, #4]
707 0062 9942 cmp r1, r3
708 0064 1ED0 beq .L50
537:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
709 .loc 1 537 0
710 0066 D9B2 uxtb r1, r3
711 0068 FFF7FEFF bl USBD_ClrClassConfig
712 .LVL91:
540:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if(USBD_SetClassConfig(pdev , cfgidx) == USBD_FAIL)
713 .loc 1 540 0
714 006c 0F4B ldr r3, .L57
715 006e 1978 ldrb r1, [r3]
716 0070 6160 str r1, [r4, #4]
541:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
717 .loc 1 541 0
718 0072 2000 movs r0, r4
719 0074 FFF7FEFF bl USBD_SetClassConfig
720 .LVL92:
721 0078 0228 cmp r0, #2
722 007a 0ED0 beq .L56
546:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
723 .loc 1 546 0
724 007c 2000 movs r0, r4
725 007e FFF7FEFF bl USBD_CtlSendStatus
726 .LVL93:
727 0082 D3E7 b .L41
728 .LVL94:
729 .L55:
528:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_config = cfgidx;
730 .loc 1 528 0
731 0084 FE23 movs r3, #254
732 0086 5B00 lsls r3, r3, #1
733 0088 0222 movs r2, #2
734 008a C254 strb r2, [r0, r3]
529:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_ClrClassConfig(pdev , cfgidx);
735 .loc 1 529 0
736 008c 4160 str r1, [r0, #4]
530:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendStatus(pdev);
737 .loc 1 530 0
738 008e FFF7FEFF bl USBD_ClrClassConfig
739 .LVL95:
531:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
740 .loc 1 531 0
741 0092 2000 movs r0, r4
742 0094 FFF7FEFF bl USBD_CtlSendStatus
743 .LVL96:
ARM GAS /tmp/ccgbJvGL.s page 29
744 0098 C8E7 b .L41
745 .L56:
543:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return;
746 .loc 1 543 0
747 009a 2900 movs r1, r5
748 009c 2000 movs r0, r4
749 009e FFF7FEFF bl USBD_CtlError
750 .LVL97:
544:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
751 .loc 1 544 0
752 00a2 C3E7 b .L41
753 .LVL98:
754 .L50:
550:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
755 .loc 1 550 0
756 00a4 FFF7FEFF bl USBD_CtlSendStatus
757 .LVL99:
758 00a8 C0E7 b .L41
759 .L58:
760 00aa C046 .align 2
761 .L57:
762 00ac 00000000 .word .LANCHOR0
763 .cfi_endproc
764 .LFE48:
766 .section .text.USBD_GetConfig,"ax",%progbits
767 .align 1
768 .syntax unified
769 .code 16
770 .thumb_func
771 .fpu softvfp
773 USBD_GetConfig:
774 .LFB49:
570:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
775 .loc 1 570 0
776 .cfi_startproc
777 @ args = 0, pretend = 0, frame = 0
778 @ frame_needed = 0, uses_anonymous_args = 0
779 .LVL100:
780 0000 10B5 push {r4, lr}
781 .LCFI6:
782 .cfi_def_cfa_offset 8
783 .cfi_offset 4, -8
784 .cfi_offset 14, -4
572:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
785 .loc 1 572 0
786 0002 CB88 ldrh r3, [r1, #6]
787 0004 012B cmp r3, #1
788 0006 09D1 bne .L66
578:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
789 .loc 1 578 0
790 0008 FE23 movs r3, #254
791 000a 5B00 lsls r3, r3, #1
792 000c C35C ldrb r3, [r0, r3]
793 000e 022B cmp r3, #2
794 0010 07D0 beq .L63
795 0012 032B cmp r3, #3
796 0014 0DD0 beq .L64
ARM GAS /tmp/ccgbJvGL.s page 30
595:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
797 .loc 1 595 0
798 0016 FFF7FEFF bl USBD_CtlError
799 .LVL101:
599:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
800 .loc 1 599 0
801 001a 01E0 b .L59
802 .LVL102:
803 .L66:
574:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
804 .loc 1 574 0
805 001c FFF7FEFF bl USBD_CtlError
806 .LVL103:
807 .L59:
599:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
808 .loc 1 599 0
809 @ sp needed
810 0020 10BD pop {r4, pc}
811 .LVL104:
812 .L63:
581:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendData (pdev,
813 .loc 1 581 0
814 0022 0023 movs r3, #0
815 0024 8360 str r3, [r0, #8]
583:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 1);
816 .loc 1 583 0
817 0026 0100 movs r1, r0
818 .LVL105:
819 0028 0831 adds r1, r1, #8
582:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (uint8_t *)&pdev->dev_default_config,
820 .loc 1 582 0
821 002a 0122 movs r2, #1
822 002c FFF7FEFF bl USBD_CtlSendData
823 .LVL106:
585:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
824 .loc 1 585 0
825 0030 F6E7 b .L59
826 .LVL107:
827 .L64:
590:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 1);
828 .loc 1 590 0
829 0032 011D adds r1, r0, #4
830 .LVL108:
589:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (uint8_t *)&pdev->dev_config,
831 .loc 1 589 0
832 0034 0122 movs r2, #1
833 0036 FFF7FEFF bl USBD_CtlSendData
834 .LVL109:
592:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
835 .loc 1 592 0
836 003a F1E7 b .L59
837 .cfi_endproc
838 .LFE49:
840 .section .text.USBD_GetStatus,"ax",%progbits
841 .align 1
842 .syntax unified
843 .code 16
ARM GAS /tmp/ccgbJvGL.s page 31
844 .thumb_func
845 .fpu softvfp
847 USBD_GetStatus:
848 .LFB50:
610:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
849 .loc 1 610 0
850 .cfi_startproc
851 @ args = 0, pretend = 0, frame = 0
852 @ frame_needed = 0, uses_anonymous_args = 0
853 .LVL110:
854 0000 10B5 push {r4, lr}
855 .LCFI7:
856 .cfi_def_cfa_offset 8
857 .cfi_offset 4, -8
858 .cfi_offset 14, -4
613:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
859 .loc 1 613 0
860 0002 FE23 movs r3, #254
861 0004 5B00 lsls r3, r3, #1
862 0006 C35C ldrb r3, [r0, r3]
863 0008 023B subs r3, r3, #2
864 000a DBB2 uxtb r3, r3
865 000c 012B cmp r3, #1
866 000e 0ED8 bhi .L68
619:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #else
867 .loc 1 619 0
868 0010 0123 movs r3, #1
869 0012 C360 str r3, [r0, #12]
624:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
870 .loc 1 624 0
871 0014 8123 movs r3, #129
872 0016 9B00 lsls r3, r3, #2
873 0018 C358 ldr r3, [r0, r3]
874 001a 002B cmp r3, #0
875 001c 01D0 beq .L70
626:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
876 .loc 1 626 0
877 001e 0323 movs r3, #3
878 0020 C360 str r3, [r0, #12]
879 .L70:
630:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 2);
880 .loc 1 630 0
881 0022 0100 movs r1, r0
882 .LVL111:
883 0024 0C31 adds r1, r1, #12
629:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (uint8_t *)& pdev->dev_config_status,
884 .loc 1 629 0
885 0026 0222 movs r2, #2
886 0028 FFF7FEFF bl USBD_CtlSendData
887 .LVL112:
888 .L67:
638:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
889 .loc 1 638 0
890 @ sp needed
891 002c 10BD pop {r4, pc}
892 .LVL113:
893 .L68:
ARM GAS /tmp/ccgbJvGL.s page 32
635:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
894 .loc 1 635 0
895 002e FFF7FEFF bl USBD_CtlError
896 .LVL114:
638:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
897 .loc 1 638 0
898 0032 FBE7 b .L67
899 .cfi_endproc
900 .LFE50:
902 .section .text.USBD_ClrFeature,"ax",%progbits
903 .align 1
904 .syntax unified
905 .code 16
906 .thumb_func
907 .fpu softvfp
909 USBD_ClrFeature:
910 .LFB52:
671:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (pdev->dev_state)
911 .loc 1 671 0
912 .cfi_startproc
913 @ args = 0, pretend = 0, frame = 0
914 @ frame_needed = 0, uses_anonymous_args = 0
915 .LVL115:
916 0000 10B5 push {r4, lr}
917 .LCFI8:
918 .cfi_def_cfa_offset 8
919 .cfi_offset 4, -8
920 .cfi_offset 14, -4
921 0002 0400 movs r4, r0
672:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
922 .loc 1 672 0
923 0004 FE23 movs r3, #254
924 0006 5B00 lsls r3, r3, #1
925 0008 C35C ldrb r3, [r0, r3]
926 000a 023B subs r3, r3, #2
927 000c DBB2 uxtb r3, r3
928 000e 012B cmp r3, #1
929 0010 0ED8 bhi .L73
676:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
930 .loc 1 676 0
931 0012 4B88 ldrh r3, [r1, #2]
932 0014 012B cmp r3, #1
933 0016 0AD1 bne .L72
678:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->pClass->Setup (pdev, req);
934 .loc 1 678 0
935 0018 8123 movs r3, #129
936 001a 9B00 lsls r3, r3, #2
937 001c 0022 movs r2, #0
938 001e C250 str r2, [r0, r3]
679:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendStatus(pdev);
939 .loc 1 679 0
940 0020 1033 adds r3, r3, #16
941 0022 C358 ldr r3, [r0, r3]
942 0024 9B68 ldr r3, [r3, #8]
943 0026 9847 blx r3
944 .LVL116:
680:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
ARM GAS /tmp/ccgbJvGL.s page 33
945 .loc 1 680 0
946 0028 2000 movs r0, r4
947 002a FFF7FEFF bl USBD_CtlSendStatus
948 .LVL117:
949 .L72:
688:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
950 .loc 1 688 0
951 @ sp needed
952 .LVL118:
953 002e 10BD pop {r4, pc}
954 .LVL119:
955 .L73:
685:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
956 .loc 1 685 0
957 0030 FFF7FEFF bl USBD_CtlError
958 .LVL120:
688:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
959 .loc 1 688 0
960 0034 FBE7 b .L72
961 .cfi_endproc
962 .LFE52:
964 .section .text.USBD_StdDevReq,"ax",%progbits
965 .align 1
966 .global USBD_StdDevReq
967 .syntax unified
968 .code 16
969 .thumb_func
970 .fpu softvfp
972 USBD_StdDevReq:
973 .LFB43:
120:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_StatusTypeDef ret = USBD_OK;
974 .loc 1 120 0
975 .cfi_startproc
976 @ args = 0, pretend = 0, frame = 0
977 @ frame_needed = 0, uses_anonymous_args = 0
978 .LVL121:
979 0000 10B5 push {r4, lr}
980 .LCFI9:
981 .cfi_def_cfa_offset 8
982 .cfi_offset 4, -8
983 .cfi_offset 14, -4
984 .LVL122:
123:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
985 .loc 1 123 0
986 0002 4B78 ldrb r3, [r1, #1]
987 0004 092B cmp r3, #9
988 0006 19D8 bhi .L77
989 0008 9B00 lsls r3, r3, #2
990 000a 0E4A ldr r2, .L87
991 000c D358 ldr r3, [r2, r3]
992 000e 9F46 mov pc, r3
993 .section .rodata.USBD_StdDevReq,"a",%progbits
994 .align 2
995 .L79:
996 0000 2A000000 .word .L78
997 0004 36000000 .word .L80
998 0008 3C000000 .word .L77
ARM GAS /tmp/ccgbJvGL.s page 34
999 000c 30000000 .word .L81
1000 0010 3C000000 .word .L77
1001 0014 18000000 .word .L82
1002 0018 10000000 .word .L83
1003 001c 3C000000 .word .L77
1004 0020 24000000 .word .L84
1005 0024 1E000000 .word .L85
1006 .section .text.USBD_StdDevReq
1007 .L83:
127:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
1008 .loc 1 127 0
1009 0010 FFF7FEFF bl USBD_GetDescriptor
1010 .LVL123:
1011 .L86:
161:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
1012 .loc 1 161 0
1013 0014 0020 movs r0, #0
1014 @ sp needed
1015 0016 10BD pop {r4, pc}
1016 .LVL124:
1017 .L82:
131:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
1018 .loc 1 131 0
1019 0018 FFF7FEFF bl USBD_SetAddress
1020 .LVL125:
132:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
1021 .loc 1 132 0
1022 001c FAE7 b .L86
1023 .LVL126:
1024 .L85:
135:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
1025 .loc 1 135 0
1026 001e FFF7FEFF bl USBD_SetConfig
1027 .LVL127:
136:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
1028 .loc 1 136 0
1029 0022 F7E7 b .L86
1030 .LVL128:
1031 .L84:
139:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
1032 .loc 1 139 0
1033 0024 FFF7FEFF bl USBD_GetConfig
1034 .LVL129:
140:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
1035 .loc 1 140 0
1036 0028 F4E7 b .L86
1037 .LVL130:
1038 .L78:
143:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
1039 .loc 1 143 0
1040 002a FFF7FEFF bl USBD_GetStatus
1041 .LVL131:
144:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
1042 .loc 1 144 0
1043 002e F1E7 b .L86
1044 .LVL132:
1045 .L81:
ARM GAS /tmp/ccgbJvGL.s page 35
148:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
1046 .loc 1 148 0
1047 0030 FFF7FEFF bl USBD_SetFeature
1048 .LVL133:
149:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
1049 .loc 1 149 0
1050 0034 EEE7 b .L86
1051 .LVL134:
1052 .L80:
152:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
1053 .loc 1 152 0
1054 0036 FFF7FEFF bl USBD_ClrFeature
1055 .LVL135:
153:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
1056 .loc 1 153 0
1057 003a EBE7 b .L86
1058 .LVL136:
1059 .L77:
156:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
1060 .loc 1 156 0
1061 003c FFF7FEFF bl USBD_CtlError
1062 .LVL137:
157:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
1063 .loc 1 157 0
1064 0040 E8E7 b .L86
1065 .L88:
1066 0042 C046 .align 2
1067 .L87:
1068 0044 00000000 .word .L79
1069 .cfi_endproc
1070 .LFE43:
1072 .section .text.USBD_StdItfReq,"ax",%progbits
1073 .align 1
1074 .global USBD_StdItfReq
1075 .syntax unified
1076 .code 16
1077 .thumb_func
1078 .fpu softvfp
1080 USBD_StdItfReq:
1081 .LFB44:
171:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_StatusTypeDef ret = USBD_OK;
1082 .loc 1 171 0
1083 .cfi_startproc
1084 @ args = 0, pretend = 0, frame = 0
1085 @ frame_needed = 0, uses_anonymous_args = 0
1086 .LVL138:
1087 0000 70B5 push {r4, r5, r6, lr}
1088 .LCFI10:
1089 .cfi_def_cfa_offset 16
1090 .cfi_offset 4, -16
1091 .cfi_offset 5, -12
1092 .cfi_offset 6, -8
1093 .cfi_offset 14, -4
1094 0002 0400 movs r4, r0
1095 0004 0D00 movs r5, r1
1096 .LVL139:
174:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
ARM GAS /tmp/ccgbJvGL.s page 36
1097 .loc 1 174 0
1098 0006 FE23 movs r3, #254
1099 0008 5B00 lsls r3, r3, #1
1100 000a C35C ldrb r3, [r0, r3]
1101 000c 032B cmp r3, #3
1102 000e 13D1 bne .L94
178:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
1103 .loc 1 178 0
1104 0010 0B79 ldrb r3, [r1, #4]
1105 0012 012B cmp r3, #1
1106 0014 0DD8 bhi .L92
180:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
1107 .loc 1 180 0
1108 0016 8523 movs r3, #133
1109 0018 9B00 lsls r3, r3, #2
1110 001a C358 ldr r3, [r0, r3]
1111 001c 9B68 ldr r3, [r3, #8]
1112 001e 9847 blx r3
1113 .LVL140:
182:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
1114 .loc 1 182 0
1115 0020 EB88 ldrh r3, [r5, #6]
1116 0022 002B cmp r3, #0
1117 0024 01D0 beq .L95
1118 .L93:
198:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
1119 .loc 1 198 0
1120 0026 0020 movs r0, #0
1121 @ sp needed
1122 .LVL141:
1123 .LVL142:
1124 0028 70BD pop {r4, r5, r6, pc}
1125 .LVL143:
1126 .L95:
184:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
1127 .loc 1 184 0
1128 002a 2000 movs r0, r4
1129 002c FFF7FEFF bl USBD_CtlSendStatus
1130 .LVL144:
1131 0030 F9E7 b .L93
1132 .LVL145:
1133 .L92:
189:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
1134 .loc 1 189 0
1135 0032 FFF7FEFF bl USBD_CtlError
1136 .LVL146:
1137 0036 F6E7 b .L93
1138 .LVL147:
1139 .L94:
194:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
1140 .loc 1 194 0
1141 0038 FFF7FEFF bl USBD_CtlError
1142 .LVL148:
195:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
1143 .loc 1 195 0
1144 003c F3E7 b .L93
1145 .cfi_endproc
ARM GAS /tmp/ccgbJvGL.s page 37
1146 .LFE44:
1148 .section .text.USBD_StdEPReq,"ax",%progbits
1149 .align 1
1150 .global USBD_StdEPReq
1151 .syntax unified
1152 .code 16
1153 .thumb_func
1154 .fpu softvfp
1156 USBD_StdEPReq:
1157 .LFB45:
208:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
1158 .loc 1 208 0
1159 .cfi_startproc
1160 @ args = 0, pretend = 0, frame = 0
1161 @ frame_needed = 0, uses_anonymous_args = 0
1162 .LVL149:
1163 0000 70B5 push {r4, r5, r6, lr}
1164 .LCFI11:
1165 .cfi_def_cfa_offset 16
1166 .cfi_offset 4, -16
1167 .cfi_offset 5, -12
1168 .cfi_offset 6, -8
1169 .cfi_offset 14, -4
1170 0002 0500 movs r5, r0
1171 0004 0C00 movs r4, r1
1172 .LVL150:
213:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
1173 .loc 1 213 0
1174 0006 8A88 ldrh r2, [r1, #4]
1175 0008 D1B2 uxtb r1, r2
1176 .LVL151:
216:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
1177 .loc 1 216 0
1178 000a 2078 ldrb r0, [r4]
1179 .LVL152:
1180 000c 6023 movs r3, #96
1181 000e 0340 ands r3, r0
1182 0010 202B cmp r3, #32
1183 0012 08D1 bne .L97
218:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
1184 .loc 1 218 0
1185 0014 F533 adds r3, r3, #245
1186 0016 FF33 adds r3, r3, #255
1187 0018 EB58 ldr r3, [r5, r3]
1188 001a 9B68 ldr r3, [r3, #8]
1189 001c 2100 movs r1, r4
1190 .LVL153:
1191 001e 2800 movs r0, r5
1192 0020 9847 blx r3
1193 .LVL154:
1194 .L98:
323:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
1195 .loc 1 323 0
1196 0022 0020 movs r0, #0
1197 @ sp needed
1198 .LVL155:
1199 0024 70BD pop {r4, r5, r6, pc}
ARM GAS /tmp/ccgbJvGL.s page 38
1200 .LVL156:
1201 .L97:
223:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
1202 .loc 1 223 0
1203 0026 6378 ldrb r3, [r4, #1]
1204 0028 012B cmp r3, #1
1205 002a 2CD0 beq .L99
1206 002c 002B cmp r3, #0
1207 002e 52D0 beq .L100
1208 0030 032B cmp r3, #3
1209 0032 F6D1 bne .L98
228:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
1210 .loc 1 228 0
1211 0034 FA33 adds r3, r3, #250
1212 0036 FF33 adds r3, r3, #255
1213 0038 EB5C ldrb r3, [r5, r3]
1214 003a 022B cmp r3, #2
1215 003c 06D0 beq .L103
1216 003e 032B cmp r3, #3
1217 0040 0CD0 beq .L104
252:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
1218 .loc 1 252 0
1219 0042 2100 movs r1, r4
1220 .LVL157:
1221 0044 2800 movs r0, r5
1222 0046 FFF7FEFF bl USBD_CtlError
1223 .LVL158:
253:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
1224 .loc 1 253 0
1225 004a EAE7 b .L98
1226 .LVL159:
1227 .L103:
231:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
1228 .loc 1 231 0
1229 004c 0029 cmp r1, #0
1230 004e E8D0 beq .L98
231:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
1231 .loc 1 231 0 is_stmt 0 discriminator 1
1232 0050 8029 cmp r1, #128
1233 0052 E6D0 beq .L98
233:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
1234 .loc 1 233 0 is_stmt 1
1235 0054 2800 movs r0, r5
1236 0056 FFF7FEFF bl USBD_LL_StallEP
1237 .LVL160:
1238 005a E2E7 b .L98
1239 .LVL161:
1240 .L104:
238:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
1241 .loc 1 238 0
1242 005c 6388 ldrh r3, [r4, #2]
1243 005e 002B cmp r3, #0
1244 0060 06D1 bne .L105
240:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
1245 .loc 1 240 0
1246 0062 0029 cmp r1, #0
1247 0064 04D0 beq .L105
ARM GAS /tmp/ccgbJvGL.s page 39
240:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
1248 .loc 1 240 0 is_stmt 0 discriminator 1
1249 0066 8029 cmp r1, #128
1250 0068 02D0 beq .L105
242:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
1251 .loc 1 242 0 is_stmt 1
1252 006a 2800 movs r0, r5
1253 006c FFF7FEFF bl USBD_LL_StallEP
1254 .LVL162:
1255 .L105:
246:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendStatus(pdev);
1256 .loc 1 246 0
1257 0070 8523 movs r3, #133
1258 0072 9B00 lsls r3, r3, #2
1259 0074 EB58 ldr r3, [r5, r3]
1260 0076 9B68 ldr r3, [r3, #8]
1261 0078 2100 movs r1, r4
1262 007a 2800 movs r0, r5
1263 007c 9847 blx r3
1264 .LVL163:
247:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
1265 .loc 1 247 0
1266 007e 2800 movs r0, r5
1267 0080 FFF7FEFF bl USBD_CtlSendStatus
1268 .LVL164:
249:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
1269 .loc 1 249 0
1270 0084 CDE7 b .L98
1271 .LVL165:
1272 .L99:
259:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
1273 .loc 1 259 0
1274 0086 FE23 movs r3, #254
1275 0088 5B00 lsls r3, r3, #1
1276 008a EB5C ldrb r3, [r5, r3]
1277 008c 022B cmp r3, #2
1278 008e 06D0 beq .L107
1279 0090 032B cmp r3, #3
1280 0092 0CD0 beq .L108
281:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
1281 .loc 1 281 0
1282 0094 2100 movs r1, r4
1283 .LVL166:
1284 0096 2800 movs r0, r5
1285 0098 FFF7FEFF bl USBD_CtlError
1286 .LVL167:
282:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
1287 .loc 1 282 0
1288 009c C1E7 b .L98
1289 .LVL168:
1290 .L107:
262:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
1291 .loc 1 262 0
1292 009e 0029 cmp r1, #0
1293 00a0 BFD0 beq .L98
262:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
1294 .loc 1 262 0 is_stmt 0 discriminator 1
ARM GAS /tmp/ccgbJvGL.s page 40
1295 00a2 8029 cmp r1, #128
1296 00a4 BDD0 beq .L98
264:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
1297 .loc 1 264 0 is_stmt 1
1298 00a6 2800 movs r0, r5
1299 00a8 FFF7FEFF bl USBD_LL_StallEP
1300 .LVL169:
1301 00ac B9E7 b .L98
1302 .LVL170:
1303 .L108:
269:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
1304 .loc 1 269 0
1305 00ae 6388 ldrh r3, [r4, #2]
1306 00b0 002B cmp r3, #0
1307 00b2 B6D1 bne .L98
271:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
1308 .loc 1 271 0
1309 00b4 4B06 lsls r3, r1, #25
1310 00b6 03D1 bne .L120
1311 .LVL171:
1312 .L109:
276:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
1313 .loc 1 276 0
1314 00b8 2800 movs r0, r5
1315 00ba FFF7FEFF bl USBD_CtlSendStatus
1316 .LVL172:
1317 00be B0E7 b .L98
1318 .LVL173:
1319 .L120:
273:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->pClass->Setup (pdev, req);
1320 .loc 1 273 0
1321 00c0 2800 movs r0, r5
1322 00c2 FFF7FEFF bl USBD_LL_ClearStallEP
1323 .LVL174:
274:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
1324 .loc 1 274 0
1325 00c6 8523 movs r3, #133
1326 00c8 9B00 lsls r3, r3, #2
1327 00ca EB58 ldr r3, [r5, r3]
1328 00cc 9B68 ldr r3, [r3, #8]
1329 00ce 2100 movs r1, r4
1330 00d0 2800 movs r0, r5
1331 00d2 9847 blx r3
1332 .LVL175:
1333 00d4 F0E7 b .L109
1334 .LVL176:
1335 .L100:
287:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
1336 .loc 1 287 0
1337 00d6 FE23 movs r3, #254
1338 00d8 5B00 lsls r3, r3, #1
1339 00da EB5C ldrb r3, [r5, r3]
1340 00dc 022B cmp r3, #2
1341 00de 06D0 beq .L111
1342 00e0 032B cmp r3, #3
1343 00e2 0AD0 beq .L112
314:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
ARM GAS /tmp/ccgbJvGL.s page 41
1344 .loc 1 314 0
1345 00e4 2100 movs r1, r4
1346 .LVL177:
1347 00e6 2800 movs r0, r5
1348 00e8 FFF7FEFF bl USBD_CtlError
1349 .LVL178:
315:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
1350 .loc 1 315 0
1351 00ec 99E7 b .L98
1352 .LVL179:
1353 .L111:
290:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
1354 .loc 1 290 0
1355 00ee 4B06 lsls r3, r1, #25
1356 00f0 97D0 beq .L98
292:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
1357 .loc 1 292 0
1358 00f2 2800 movs r0, r5
1359 00f4 FFF7FEFF bl USBD_LL_StallEP
1360 .LVL180:
1361 00f8 93E7 b .L98
1362 .LVL181:
1363 .L112:
297:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** &pdev->ep_out[ep_addr & 0x7F];
1364 .loc 1 297 0
1365 00fa 1306 lsls r3, r2, #24
1366 00fc 12D4 bmi .L121
298:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if(USBD_LL_IsStallEP(pdev, ep_addr))
1367 .loc 1 298 0 discriminator 2
1368 00fe 7F24 movs r4, #127
1369 .LVL182:
1370 0100 0C40 ands r4, r1
297:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** &pdev->ep_out[ep_addr & 0x7F];
1371 .loc 1 297 0 discriminator 2
1372 0102 1034 adds r4, r4, #16
1373 0104 2401 lsls r4, r4, #4
1374 0106 2C19 adds r4, r5, r4
1375 0108 0434 adds r4, r4, #4
1376 .L114:
1377 .LVL183:
299:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
1378 .loc 1 299 0 discriminator 4
1379 010a 2800 movs r0, r5
1380 010c FFF7FEFF bl USBD_LL_IsStallEP
1381 .LVL184:
1382 0110 0028 cmp r0, #0
1383 0112 0ED0 beq .L115
301:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
1384 .loc 1 301 0
1385 0114 0123 movs r3, #1
1386 0116 2360 str r3, [r4]
1387 .L116:
308:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (uint8_t *)&pep->status,
1388 .loc 1 308 0
1389 0118 0222 movs r2, #2
1390 011a 2100 movs r1, r4
1391 011c 2800 movs r0, r5
ARM GAS /tmp/ccgbJvGL.s page 42
1392 011e FFF7FEFF bl USBD_CtlSendData
1393 .LVL185:
311:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
1394 .loc 1 311 0
1395 0122 7EE7 b .L98
1396 .LVL186:
1397 .L121:
297:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** &pdev->ep_out[ep_addr & 0x7F];
1398 .loc 1 297 0 discriminator 1
1399 0124 7F24 movs r4, #127
1400 .LVL187:
1401 0126 0C40 ands r4, r1
1402 0128 0134 adds r4, r4, #1
1403 012a 2401 lsls r4, r4, #4
1404 012c 2C19 adds r4, r5, r4
1405 012e 0434 adds r4, r4, #4
1406 0130 EBE7 b .L114
1407 .LVL188:
1408 .L115:
305:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
1409 .loc 1 305 0
1410 0132 0023 movs r3, #0
1411 0134 2360 str r3, [r4]
1412 0136 EFE7 b .L116
1413 .cfi_endproc
1414 .LFE45:
1416 .section .text.USBD_GetString,"ax",%progbits
1417 .align 1
1418 .global USBD_GetString
1419 .syntax unified
1420 .code 16
1421 .thumb_func
1422 .fpu softvfp
1424 USBD_GetString:
1425 .LFB55:
733:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** uint8_t idx = 0;
1426 .loc 1 733 0
1427 .cfi_startproc
1428 @ args = 0, pretend = 0, frame = 0
1429 @ frame_needed = 0, uses_anonymous_args = 0
1430 .LVL189:
1431 0000 70B5 push {r4, r5, r6, lr}
1432 .LCFI12:
1433 .cfi_def_cfa_offset 16
1434 .cfi_offset 4, -16
1435 .cfi_offset 5, -12
1436 .cfi_offset 6, -8
1437 .cfi_offset 14, -4
1438 0002 0400 movs r4, r0
1439 0004 0D00 movs r5, r1
1440 0006 1600 movs r6, r2
1441 .LVL190:
736:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
1442 .loc 1 736 0
1443 0008 0028 cmp r0, #0
1444 000a 16D0 beq .L122
738:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** unicode[idx++] = *len;
ARM GAS /tmp/ccgbJvGL.s page 43
1445 .loc 1 738 0
1446 000c FFF7FEFF bl USBD_GetLen
1447 .LVL191:
1448 0010 0130 adds r0, r0, #1
1449 0012 4000 lsls r0, r0, #1
1450 0014 80B2 uxth r0, r0
1451 0016 3080 strh r0, [r6]
1452 .LVL192:
739:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** unicode[idx++] = USB_DESC_TYPE_STRING;
1453 .loc 1 739 0
1454 0018 2870 strb r0, [r5]
1455 .LVL193:
740:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
1456 .loc 1 740 0
1457 001a 0323 movs r3, #3
1458 001c 6B70 strb r3, [r5, #1]
1459 001e 013B subs r3, r3, #1
742:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
1460 .loc 1 742 0
1461 0020 08E0 b .L124
1462 .LVL194:
1463 .L125:
744:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** unicode[idx++] = 0x00;
1464 .loc 1 744 0
1465 0022 0134 adds r4, r4, #1
1466 .LVL195:
1467 0024 5A1C adds r2, r3, #1
1468 0026 D2B2 uxtb r2, r2
1469 .LVL196:
1470 0028 E954 strb r1, [r5, r3]
745:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
1471 .loc 1 745 0
1472 002a 0233 adds r3, r3, #2
1473 002c DBB2 uxtb r3, r3
1474 .LVL197:
1475 002e AA18 adds r2, r5, r2
1476 0030 0021 movs r1, #0
1477 0032 1170 strb r1, [r2]
1478 .LVL198:
1479 .L124:
742:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
1480 .loc 1 742 0
1481 0034 2178 ldrb r1, [r4]
1482 0036 0029 cmp r1, #0
1483 0038 F3D1 bne .L125
1484 .LVL199:
1485 .L122:
748:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
1486 .loc 1 748 0
1487 @ sp needed
1488 .LVL200:
1489 .LVL201:
1490 .LVL202:
1491 003a 70BD pop {r4, r5, r6, pc}
1492 .cfi_endproc
1493 .LFE55:
1495 .section .bss.cfgidx.7846,"aw",%nobits
ARM GAS /tmp/ccgbJvGL.s page 44
1496 .set .LANCHOR0,. + 0
1499 cfgidx.7846:
1500 0000 00 .space 1
1501 .text
1502 .Letext0:
1503 .file 2 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/machin
1504 .file 3 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/lo
1505 .file 4 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/_t
1506 .file 5 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/lib/gcc/arm-none-eabi/7.3.1/
1507 .file 6 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/re
1508 .file 7 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/_s
1509 .file 8 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/stdlib
1510 .file 9 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
1511 .file 10 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
1512 .file 11 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h"
1513 .file 12 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h"
1514 .file 13 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h"
ARM GAS /tmp/ccgbJvGL.s page 45
DEFINED SYMBOLS
*ABS*:0000000000000000 usbd_ctlreq.c
/tmp/ccgbJvGL.s:16 .text.USBD_GetLen:0000000000000000 $t
/tmp/ccgbJvGL.s:22 .text.USBD_GetLen:0000000000000000 USBD_GetLen
/tmp/ccgbJvGL.s:60 .text.USBD_SetFeature:0000000000000000 $t
/tmp/ccgbJvGL.s:66 .text.USBD_SetFeature:0000000000000000 USBD_SetFeature
/tmp/ccgbJvGL.s:107 .text.USBD_ParseSetupRequest:0000000000000000 $t
/tmp/ccgbJvGL.s:114 .text.USBD_ParseSetupRequest:0000000000000000 USBD_ParseSetupRequest
/tmp/ccgbJvGL.s:153 .text.USBD_CtlError:0000000000000000 $t
/tmp/ccgbJvGL.s:160 .text.USBD_CtlError:0000000000000000 USBD_CtlError
/tmp/ccgbJvGL.s:191 .text.USBD_GetDescriptor:0000000000000000 $t
/tmp/ccgbJvGL.s:197 .text.USBD_GetDescriptor:0000000000000000 USBD_GetDescriptor
/tmp/ccgbJvGL.s:228 .rodata.USBD_GetDescriptor:0000000000000000 $d
/tmp/ccgbJvGL.s:511 .text.USBD_GetDescriptor:0000000000000154 $d
/tmp/ccgbJvGL.s:517 .text.USBD_SetAddress:0000000000000000 $t
/tmp/ccgbJvGL.s:523 .text.USBD_SetAddress:0000000000000000 USBD_SetAddress
/tmp/ccgbJvGL.s:608 .text.USBD_SetConfig:0000000000000000 $t
/tmp/ccgbJvGL.s:614 .text.USBD_SetConfig:0000000000000000 USBD_SetConfig
/tmp/ccgbJvGL.s:762 .text.USBD_SetConfig:00000000000000ac $d
/tmp/ccgbJvGL.s:767 .text.USBD_GetConfig:0000000000000000 $t
/tmp/ccgbJvGL.s:773 .text.USBD_GetConfig:0000000000000000 USBD_GetConfig
/tmp/ccgbJvGL.s:841 .text.USBD_GetStatus:0000000000000000 $t
/tmp/ccgbJvGL.s:847 .text.USBD_GetStatus:0000000000000000 USBD_GetStatus
/tmp/ccgbJvGL.s:903 .text.USBD_ClrFeature:0000000000000000 $t
/tmp/ccgbJvGL.s:909 .text.USBD_ClrFeature:0000000000000000 USBD_ClrFeature
/tmp/ccgbJvGL.s:965 .text.USBD_StdDevReq:0000000000000000 $t
/tmp/ccgbJvGL.s:972 .text.USBD_StdDevReq:0000000000000000 USBD_StdDevReq
/tmp/ccgbJvGL.s:994 .rodata.USBD_StdDevReq:0000000000000000 $d
/tmp/ccgbJvGL.s:1068 .text.USBD_StdDevReq:0000000000000044 $d
/tmp/ccgbJvGL.s:1073 .text.USBD_StdItfReq:0000000000000000 $t
/tmp/ccgbJvGL.s:1080 .text.USBD_StdItfReq:0000000000000000 USBD_StdItfReq
/tmp/ccgbJvGL.s:1149 .text.USBD_StdEPReq:0000000000000000 $t
/tmp/ccgbJvGL.s:1156 .text.USBD_StdEPReq:0000000000000000 USBD_StdEPReq
/tmp/ccgbJvGL.s:1417 .text.USBD_GetString:0000000000000000 $t
/tmp/ccgbJvGL.s:1424 .text.USBD_GetString:0000000000000000 USBD_GetString
/tmp/ccgbJvGL.s:1499 .bss.cfgidx.7846:0000000000000000 cfgidx.7846
/tmp/ccgbJvGL.s:1500 .bss.cfgidx.7846:0000000000000000 $d
UNDEFINED SYMBOLS
USBD_CtlSendStatus
USBD_LL_StallEP
USBD_CtlSendData
USBD_LL_SetUSBAddress
USBD_SetClassConfig
USBD_ClrClassConfig
USBD_LL_ClearStallEP
USBD_LL_IsStallEP