summaryrefslogtreecommitdiff
path: root/midi-dials/build/usbd_ctlreq.lst
blob: 42498f56064c14a7df463c9264fe740e076fb8b4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
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 ****   * <h2><center>&copy; COPYRIGHT 2015 STMicroelectronics</center></h2>
  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