📄 usb_core.lst
字号:
98:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * Output : None.
99:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * Return : Return 0, if the request is invalid when "Length" is 0.
100:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * Return "Buffer" if the "Length" is not 0.
101:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** *******************************************************************************/
102:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** uint8_t *Standard_GetInterface(uint16_t Length)
103:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** {
124 .loc 1 103 0
125 @ args = 0, pretend = 0, frame = 0
126 @ frame_needed = 0, uses_anonymous_args = 0
127 .LVL4:
128 0000 10B5 push {r4, lr}
129 .LCFI2:
130 0002 074C ldr r4, .L17
104:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** if (Length == 0)
131 .loc 1 104 0
132 0004 20B9 cbnz r0, .L14
105:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** {
106:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** pInformation->Ctrl_Info.Usb_wLength =
133 .loc 1 106 0
134 0006 2368 ldr r3, [r4, #0]
135 0008 4FF00101 mov r1, #1 @ movhi
136 000c 1982 strh r1, [r3, #16] @ movhi
137 000e 06E0 b .L15
138 .L14:
107:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** sizeof(pInformation->Current_AlternateSetting);
108:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** return 0;
109:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** }
110:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** pUser_Standard_Requests->User_GetInterface();
139 .loc 1 110 0
140 0010 044B ldr r3, .L17+4
141 0012 1B68 ldr r3, [r3, #0]
142 0014 9B68 ldr r3, [r3, #8]
143 0016 9847 blx r3
144 .LVL5:
111:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** return (uint8_t *)&pInformation->Current_AlternateSetting;
145 .loc 1 111 0
146 0018 2368 ldr r3, [r4, #0]
147 001a 03F10C00 add r0, r3, #12
148 .LVL6:
149 .L15:
150 .LVL7:
112:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** }
151 .loc 1 112 0
152 001e 10BD pop {r4, pc}
153 .L18:
154 .align 2
155 .L17:
156 0020 00000000 .word pInformation
157 0024 00000000 .word pUser_Standard_Requests
158 .LFE28:
160 .section .text.Standard_SetInterface,"ax",%progbits
161 .align 2
162 .global Standard_SetInterface
163 .thumb
164 .thumb_func
166 Standard_SetInterface:
167 .LFB29:
113:lib/STM32_USB-FS-Device_Driver/src/usb_core.c ****
114:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** /*******************************************************************************
115:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * Function Name : Standard_SetInterface.
116:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * Description : This routine is called to set the interface.
117:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * Then each class should configure the interface them self.
118:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * Input : None.
119:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * Output : None.
120:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * Return : - Return USB_SUCCESS, if the request is performed.
121:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * - Return USB_UNSUPPORT, if the request is invalid.
122:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** *******************************************************************************/
123:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** RESULT Standard_SetInterface(void)
124:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** {
168 .loc 1 124 0
169 @ args = 0, pretend = 0, frame = 0
170 @ frame_needed = 0, uses_anonymous_args = 0
171 0000 70B5 push {r4, r5, r6, lr}
172 .LCFI3:
125:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** RESULT Re;
126:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** /*Test if the specified Interface and Alternate Setting are supported by
127:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** the application Firmware*/
128:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** Re = (*pProperty->Class_Get_Interface_Setting)(pInformation->USBwIndex0, pInformation->USBwValue0
173 .loc 1 128 0
174 0002 0F4B ldr r3, .L23
175 0004 0F4D ldr r5, .L23+4
176 0006 1B68 ldr r3, [r3, #0]
177 0008 2A68 ldr r2, [r5, #0]
178 000a 9B69 ldr r3, [r3, #24]
179 000c 5079 ldrb r0, [r2, #5] @ zero_extendqisi2
180 000e D178 ldrb r1, [r2, #3] @ zero_extendqisi2
181 0010 9847 blx r3
129:lib/STM32_USB-FS-Device_Driver/src/usb_core.c ****
130:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** if (pInformation->Current_Configuration != 0)
182 .loc 1 130 0
183 0012 2A68 ldr r2, [r5, #0]
184 0014 937A ldrb r3, [r2, #10] @ zero_extendqisi2
185 0016 83B1 cbz r3, .L20
131:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** {
132:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** if ((Re != USB_SUCCESS) || (pInformation->USBwIndex1 != 0)
186 .loc 1 132 0
187 0018 78B9 cbnz r0, .L20
188 001a 1379 ldrb r3, [r2, #4] @ zero_extendqisi2
189 001c 6BB9 cbnz r3, .L20
190 001e 9478 ldrb r4, [r2, #2] @ zero_extendqisi2
191 0020 5CB9 cbnz r4, .L20
133:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** || (pInformation->USBwValue1 != 0))
134:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** {
135:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** return USB_UNSUPPORT;
136:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** }
137:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** else if (Re == USB_SUCCESS)
138:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** {
139:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** pUser_Standard_Requests->User_SetInterface();
192 .loc 1 139 0
193 0022 094B ldr r3, .L23+8
194 0024 1B68 ldr r3, [r3, #0]
195 0026 DB68 ldr r3, [r3, #12]
196 0028 9847 blx r3
140:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** pInformation->Current_Interface = pInformation->USBwIndex0;
197 .loc 1 140 0
198 002a 2A68 ldr r2, [r5, #0]
141:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** pInformation->Current_AlternateSetting = pInformation->USBwValue0;
199 .loc 1 141 0
200 002c 2046 mov r0, r4
201 .loc 1 140 0
202 002e 5379 ldrb r3, [r2, #5] @ zero_extendqisi2
203 0030 D372 strb r3, [r2, #11]
204 .loc 1 141 0
205 0032 2A68 ldr r2, [r5, #0]
206 0034 D378 ldrb r3, [r2, #3] @ zero_extendqisi2
207 0036 1373 strb r3, [r2, #12]
208 0038 00E0 b .L21
209 .L20:
142:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** return USB_SUCCESS;
210 .loc 1 142 0
211 003a 0220 movs r0, #2
212 .L21:
143:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** }
144:lib/STM32_USB-FS-Device_Driver/src/usb_core.c ****
145:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** }
146:lib/STM32_USB-FS-Device_Driver/src/usb_core.c ****
147:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** return USB_UNSUPPORT;
148:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** }
213 .loc 1 148 0
214 003c 70BD pop {r4, r5, r6, pc}
215 .L24:
216 003e C046 .align 2
217 .L23:
218 0040 00000000 .word pProperty
219 0044 00000000 .word pInformation
220 0048 00000000 .word pUser_Standard_Requests
221 .LFE29:
223 .section .text.Standard_GetStatus,"ax",%progbits
224 .align 2
225 .global Standard_GetStatus
226 .thumb
227 .thumb_func
229 Standard_GetStatus:
230 .LFB30:
149:lib/STM32_USB-FS-Device_Driver/src/usb_core.c ****
150:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** /*******************************************************************************
151:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * Function Name : Standard_GetStatus.
152:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * Description : Copy the device request data to "StatusInfo buffer".
153:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * Input : - Length - How many bytes are needed.
154:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * Output : None.
155:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * Return : Return 0, if the request is at end of data block,
156:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** * or is invalid when "Length" is 0.
157:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** *******************************************************************************/
158:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** uint8_t *Standard_GetStatus(uint16_t Length)
159:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** {
231 .loc 1 159 0
232 @ args = 0, pretend = 0, frame = 0
233 @ frame_needed = 0, uses_anonymous_args = 0
234 .LVL8:
235 0000 10B5 push {r4, lr}
236 .LCFI4:
237 0002 274B ldr r3, .L40
160:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** if (Length == 0)
238 .loc 1 160 0
239 0004 20B9 cbnz r0, .L26
161:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** {
162:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** pInformation->Ctrl_Info.Usb_wLength = 2;
240 .loc 1 162 0
241 0006 1B68 ldr r3, [r3, #0]
242 0008 4FF00201 mov r1, #2 @ movhi
243 000c 1982 strh r1, [r3, #16] @ movhi
244 000e 46E0 b .L27
245 .L26:
163:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** return 0;
164:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** }
165:lib/STM32_USB-FS-Device_Driver/src/usb_core.c ****
166:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** StatusInfo.w = 0;
246 .loc 1 166 0
247 0010 2448 ldr r0, .L40+4
248 .LVL9:
249 0012 4FF00002 mov r2, #0 @ movhi
250 0016 0280 strh r2, [r0, #0] @ movhi
167:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** /* Reset Status Information */
168:lib/STM32_USB-FS-Device_Driver/src/usb_core.c ****
169:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** if (Type_Recipient == (STANDARD_REQUEST | DEVICE_RECIPIENT))
251 .loc 1 169 0
252 0018 1A68 ldr r2, [r3, #0]
253 001a 1378 ldrb r3, [r2, #0] @ zero_extendqisi2
254 001c 13F07F03 ands r3, r3, #127
255 0020 13D1 bne .L28
256 .LBB2:
170:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** {
171:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** /*Get Device Status */
172:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** uint8_t Feature = pInformation->Current_Feature;
173:lib/STM32_USB-FS-Device_Driver/src/usb_core.c ****
174:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** /* Remote Wakeup enabled */
175:lib/STM32_USB-FS-Device_Driver/src/usb_core.c **** if (ValBit(Feature, 5))
257 .loc 1 175 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -