Files
modular-kbd/firmware/numpad/Release/modularkbd.list
2025-11-25 19:47:32 -08:00

5637 lines
233 KiB
Plaintext

modularkbd.elf: file format elf32-littlearm
Sections:
Idx Name Size VMA LMA File off Algn
0 .isr_vector 000001c4 08000000 08000000 00001000 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
1 .text 00003718 080001c4 080001c4 000011c4 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
2 .rodata 00000044 080038dc 080038dc 000048dc 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
3 .ARM.extab 00000000 08003920 08003920 00005120 2**0
CONTENTS, READONLY
4 .ARM 00000008 08003920 08003920 00004920 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
5 .preinit_array 00000000 08003928 08003928 00005120 2**0
CONTENTS, ALLOC, LOAD, DATA
6 .init_array 00000004 08003928 08003928 00004928 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
7 .fini_array 00000004 0800392c 0800392c 0000492c 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
8 .data 00000120 20000000 08003930 00005000 2**2
CONTENTS, ALLOC, LOAD, DATA
9 .bss 00000a00 20000120 08003a50 00005120 2**2
ALLOC
10 ._user_heap_stack 00000600 20000b20 08003a50 00005b20 2**0
ALLOC
11 .ARM.attributes 00000030 00000000 00000000 00005120 2**0
CONTENTS, READONLY
12 .comment 00000043 00000000 00000000 00005150 2**0
CONTENTS, READONLY
13 .debug_frame 000000ac 00000000 00000000 00005194 2**2
CONTENTS, READONLY, DEBUGGING, OCTETS
Disassembly of section .text:
080001c4 <__do_global_dtors_aux>:
80001c4: b510 push {r4, lr}
80001c6: 4c05 ldr r4, [pc, #20] @ (80001dc <__do_global_dtors_aux+0x18>)
80001c8: 7823 ldrb r3, [r4, #0]
80001ca: b933 cbnz r3, 80001da <__do_global_dtors_aux+0x16>
80001cc: 4b04 ldr r3, [pc, #16] @ (80001e0 <__do_global_dtors_aux+0x1c>)
80001ce: b113 cbz r3, 80001d6 <__do_global_dtors_aux+0x12>
80001d0: 4804 ldr r0, [pc, #16] @ (80001e4 <__do_global_dtors_aux+0x20>)
80001d2: f3af 8000 nop.w
80001d6: 2301 movs r3, #1
80001d8: 7023 strb r3, [r4, #0]
80001da: bd10 pop {r4, pc}
80001dc: 20000120 .word 0x20000120
80001e0: 00000000 .word 0x00000000
80001e4: 080038c4 .word 0x080038c4
080001e8 <frame_dummy>:
80001e8: b508 push {r3, lr}
80001ea: 4b03 ldr r3, [pc, #12] @ (80001f8 <frame_dummy+0x10>)
80001ec: b11b cbz r3, 80001f6 <frame_dummy+0xe>
80001ee: 4903 ldr r1, [pc, #12] @ (80001fc <frame_dummy+0x14>)
80001f0: 4803 ldr r0, [pc, #12] @ (8000200 <frame_dummy+0x18>)
80001f2: f3af 8000 nop.w
80001f6: bd08 pop {r3, pc}
80001f8: 00000000 .word 0x00000000
80001fc: 20000124 .word 0x20000124
8000200: 080038c4 .word 0x080038c4
08000204 <strlen>:
8000204: 4603 mov r3, r0
8000206: f813 2b01 ldrb.w r2, [r3], #1
800020a: 2a00 cmp r2, #0
800020c: d1fb bne.n 8000206 <strlen+0x2>
800020e: 1a18 subs r0, r3, r0
8000210: 3801 subs r0, #1
8000212: 4770 bx lr
08000214 <__aeabi_uldivmod>:
8000214: b953 cbnz r3, 800022c <__aeabi_uldivmod+0x18>
8000216: b94a cbnz r2, 800022c <__aeabi_uldivmod+0x18>
8000218: 2900 cmp r1, #0
800021a: bf08 it eq
800021c: 2800 cmpeq r0, #0
800021e: bf1c itt ne
8000220: f04f 31ff movne.w r1, #4294967295 @ 0xffffffff
8000224: f04f 30ff movne.w r0, #4294967295 @ 0xffffffff
8000228: f000 b988 b.w 800053c <__aeabi_idiv0>
800022c: f1ad 0c08 sub.w ip, sp, #8
8000230: e96d ce04 strd ip, lr, [sp, #-16]!
8000234: f000 f806 bl 8000244 <__udivmoddi4>
8000238: f8dd e004 ldr.w lr, [sp, #4]
800023c: e9dd 2302 ldrd r2, r3, [sp, #8]
8000240: b004 add sp, #16
8000242: 4770 bx lr
08000244 <__udivmoddi4>:
8000244: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
8000248: 9d08 ldr r5, [sp, #32]
800024a: 468e mov lr, r1
800024c: 4604 mov r4, r0
800024e: 4688 mov r8, r1
8000250: 2b00 cmp r3, #0
8000252: d14a bne.n 80002ea <__udivmoddi4+0xa6>
8000254: 428a cmp r2, r1
8000256: 4617 mov r7, r2
8000258: d962 bls.n 8000320 <__udivmoddi4+0xdc>
800025a: fab2 f682 clz r6, r2
800025e: b14e cbz r6, 8000274 <__udivmoddi4+0x30>
8000260: f1c6 0320 rsb r3, r6, #32
8000264: fa01 f806 lsl.w r8, r1, r6
8000268: fa20 f303 lsr.w r3, r0, r3
800026c: 40b7 lsls r7, r6
800026e: ea43 0808 orr.w r8, r3, r8
8000272: 40b4 lsls r4, r6
8000274: ea4f 4e17 mov.w lr, r7, lsr #16
8000278: fa1f fc87 uxth.w ip, r7
800027c: fbb8 f1fe udiv r1, r8, lr
8000280: 0c23 lsrs r3, r4, #16
8000282: fb0e 8811 mls r8, lr, r1, r8
8000286: ea43 4308 orr.w r3, r3, r8, lsl #16
800028a: fb01 f20c mul.w r2, r1, ip
800028e: 429a cmp r2, r3
8000290: d909 bls.n 80002a6 <__udivmoddi4+0x62>
8000292: 18fb adds r3, r7, r3
8000294: f101 30ff add.w r0, r1, #4294967295 @ 0xffffffff
8000298: f080 80ea bcs.w 8000470 <__udivmoddi4+0x22c>
800029c: 429a cmp r2, r3
800029e: f240 80e7 bls.w 8000470 <__udivmoddi4+0x22c>
80002a2: 3902 subs r1, #2
80002a4: 443b add r3, r7
80002a6: 1a9a subs r2, r3, r2
80002a8: b2a3 uxth r3, r4
80002aa: fbb2 f0fe udiv r0, r2, lr
80002ae: fb0e 2210 mls r2, lr, r0, r2
80002b2: ea43 4302 orr.w r3, r3, r2, lsl #16
80002b6: fb00 fc0c mul.w ip, r0, ip
80002ba: 459c cmp ip, r3
80002bc: d909 bls.n 80002d2 <__udivmoddi4+0x8e>
80002be: 18fb adds r3, r7, r3
80002c0: f100 32ff add.w r2, r0, #4294967295 @ 0xffffffff
80002c4: f080 80d6 bcs.w 8000474 <__udivmoddi4+0x230>
80002c8: 459c cmp ip, r3
80002ca: f240 80d3 bls.w 8000474 <__udivmoddi4+0x230>
80002ce: 443b add r3, r7
80002d0: 3802 subs r0, #2
80002d2: ea40 4001 orr.w r0, r0, r1, lsl #16
80002d6: eba3 030c sub.w r3, r3, ip
80002da: 2100 movs r1, #0
80002dc: b11d cbz r5, 80002e6 <__udivmoddi4+0xa2>
80002de: 40f3 lsrs r3, r6
80002e0: 2200 movs r2, #0
80002e2: e9c5 3200 strd r3, r2, [r5]
80002e6: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
80002ea: 428b cmp r3, r1
80002ec: d905 bls.n 80002fa <__udivmoddi4+0xb6>
80002ee: b10d cbz r5, 80002f4 <__udivmoddi4+0xb0>
80002f0: e9c5 0100 strd r0, r1, [r5]
80002f4: 2100 movs r1, #0
80002f6: 4608 mov r0, r1
80002f8: e7f5 b.n 80002e6 <__udivmoddi4+0xa2>
80002fa: fab3 f183 clz r1, r3
80002fe: 2900 cmp r1, #0
8000300: d146 bne.n 8000390 <__udivmoddi4+0x14c>
8000302: 4573 cmp r3, lr
8000304: d302 bcc.n 800030c <__udivmoddi4+0xc8>
8000306: 4282 cmp r2, r0
8000308: f200 8105 bhi.w 8000516 <__udivmoddi4+0x2d2>
800030c: 1a84 subs r4, r0, r2
800030e: eb6e 0203 sbc.w r2, lr, r3
8000312: 2001 movs r0, #1
8000314: 4690 mov r8, r2
8000316: 2d00 cmp r5, #0
8000318: d0e5 beq.n 80002e6 <__udivmoddi4+0xa2>
800031a: e9c5 4800 strd r4, r8, [r5]
800031e: e7e2 b.n 80002e6 <__udivmoddi4+0xa2>
8000320: 2a00 cmp r2, #0
8000322: f000 8090 beq.w 8000446 <__udivmoddi4+0x202>
8000326: fab2 f682 clz r6, r2
800032a: 2e00 cmp r6, #0
800032c: f040 80a4 bne.w 8000478 <__udivmoddi4+0x234>
8000330: 1a8a subs r2, r1, r2
8000332: 0c03 lsrs r3, r0, #16
8000334: ea4f 4e17 mov.w lr, r7, lsr #16
8000338: b280 uxth r0, r0
800033a: b2bc uxth r4, r7
800033c: 2101 movs r1, #1
800033e: fbb2 fcfe udiv ip, r2, lr
8000342: fb0e 221c mls r2, lr, ip, r2
8000346: ea43 4302 orr.w r3, r3, r2, lsl #16
800034a: fb04 f20c mul.w r2, r4, ip
800034e: 429a cmp r2, r3
8000350: d907 bls.n 8000362 <__udivmoddi4+0x11e>
8000352: 18fb adds r3, r7, r3
8000354: f10c 38ff add.w r8, ip, #4294967295 @ 0xffffffff
8000358: d202 bcs.n 8000360 <__udivmoddi4+0x11c>
800035a: 429a cmp r2, r3
800035c: f200 80e0 bhi.w 8000520 <__udivmoddi4+0x2dc>
8000360: 46c4 mov ip, r8
8000362: 1a9b subs r3, r3, r2
8000364: fbb3 f2fe udiv r2, r3, lr
8000368: fb0e 3312 mls r3, lr, r2, r3
800036c: ea40 4303 orr.w r3, r0, r3, lsl #16
8000370: fb02 f404 mul.w r4, r2, r4
8000374: 429c cmp r4, r3
8000376: d907 bls.n 8000388 <__udivmoddi4+0x144>
8000378: 18fb adds r3, r7, r3
800037a: f102 30ff add.w r0, r2, #4294967295 @ 0xffffffff
800037e: d202 bcs.n 8000386 <__udivmoddi4+0x142>
8000380: 429c cmp r4, r3
8000382: f200 80ca bhi.w 800051a <__udivmoddi4+0x2d6>
8000386: 4602 mov r2, r0
8000388: 1b1b subs r3, r3, r4
800038a: ea42 400c orr.w r0, r2, ip, lsl #16
800038e: e7a5 b.n 80002dc <__udivmoddi4+0x98>
8000390: f1c1 0620 rsb r6, r1, #32
8000394: 408b lsls r3, r1
8000396: fa22 f706 lsr.w r7, r2, r6
800039a: 431f orrs r7, r3
800039c: fa0e f401 lsl.w r4, lr, r1
80003a0: fa20 f306 lsr.w r3, r0, r6
80003a4: fa2e fe06 lsr.w lr, lr, r6
80003a8: ea4f 4917 mov.w r9, r7, lsr #16
80003ac: 4323 orrs r3, r4
80003ae: fa00 f801 lsl.w r8, r0, r1
80003b2: fa1f fc87 uxth.w ip, r7
80003b6: fbbe f0f9 udiv r0, lr, r9
80003ba: 0c1c lsrs r4, r3, #16
80003bc: fb09 ee10 mls lr, r9, r0, lr
80003c0: ea44 440e orr.w r4, r4, lr, lsl #16
80003c4: fb00 fe0c mul.w lr, r0, ip
80003c8: 45a6 cmp lr, r4
80003ca: fa02 f201 lsl.w r2, r2, r1
80003ce: d909 bls.n 80003e4 <__udivmoddi4+0x1a0>
80003d0: 193c adds r4, r7, r4
80003d2: f100 3aff add.w sl, r0, #4294967295 @ 0xffffffff
80003d6: f080 809c bcs.w 8000512 <__udivmoddi4+0x2ce>
80003da: 45a6 cmp lr, r4
80003dc: f240 8099 bls.w 8000512 <__udivmoddi4+0x2ce>
80003e0: 3802 subs r0, #2
80003e2: 443c add r4, r7
80003e4: eba4 040e sub.w r4, r4, lr
80003e8: fa1f fe83 uxth.w lr, r3
80003ec: fbb4 f3f9 udiv r3, r4, r9
80003f0: fb09 4413 mls r4, r9, r3, r4
80003f4: ea4e 4404 orr.w r4, lr, r4, lsl #16
80003f8: fb03 fc0c mul.w ip, r3, ip
80003fc: 45a4 cmp ip, r4
80003fe: d908 bls.n 8000412 <__udivmoddi4+0x1ce>
8000400: 193c adds r4, r7, r4
8000402: f103 3eff add.w lr, r3, #4294967295 @ 0xffffffff
8000406: f080 8082 bcs.w 800050e <__udivmoddi4+0x2ca>
800040a: 45a4 cmp ip, r4
800040c: d97f bls.n 800050e <__udivmoddi4+0x2ca>
800040e: 3b02 subs r3, #2
8000410: 443c add r4, r7
8000412: ea43 4000 orr.w r0, r3, r0, lsl #16
8000416: eba4 040c sub.w r4, r4, ip
800041a: fba0 ec02 umull lr, ip, r0, r2
800041e: 4564 cmp r4, ip
8000420: 4673 mov r3, lr
8000422: 46e1 mov r9, ip
8000424: d362 bcc.n 80004ec <__udivmoddi4+0x2a8>
8000426: d05f beq.n 80004e8 <__udivmoddi4+0x2a4>
8000428: b15d cbz r5, 8000442 <__udivmoddi4+0x1fe>
800042a: ebb8 0203 subs.w r2, r8, r3
800042e: eb64 0409 sbc.w r4, r4, r9
8000432: fa04 f606 lsl.w r6, r4, r6
8000436: fa22 f301 lsr.w r3, r2, r1
800043a: 431e orrs r6, r3
800043c: 40cc lsrs r4, r1
800043e: e9c5 6400 strd r6, r4, [r5]
8000442: 2100 movs r1, #0
8000444: e74f b.n 80002e6 <__udivmoddi4+0xa2>
8000446: fbb1 fcf2 udiv ip, r1, r2
800044a: 0c01 lsrs r1, r0, #16
800044c: ea41 410e orr.w r1, r1, lr, lsl #16
8000450: b280 uxth r0, r0
8000452: ea40 4201 orr.w r2, r0, r1, lsl #16
8000456: 463b mov r3, r7
8000458: 4638 mov r0, r7
800045a: 463c mov r4, r7
800045c: 46b8 mov r8, r7
800045e: 46be mov lr, r7
8000460: 2620 movs r6, #32
8000462: fbb1 f1f7 udiv r1, r1, r7
8000466: eba2 0208 sub.w r2, r2, r8
800046a: ea41 410c orr.w r1, r1, ip, lsl #16
800046e: e766 b.n 800033e <__udivmoddi4+0xfa>
8000470: 4601 mov r1, r0
8000472: e718 b.n 80002a6 <__udivmoddi4+0x62>
8000474: 4610 mov r0, r2
8000476: e72c b.n 80002d2 <__udivmoddi4+0x8e>
8000478: f1c6 0220 rsb r2, r6, #32
800047c: fa2e f302 lsr.w r3, lr, r2
8000480: 40b7 lsls r7, r6
8000482: 40b1 lsls r1, r6
8000484: fa20 f202 lsr.w r2, r0, r2
8000488: ea4f 4e17 mov.w lr, r7, lsr #16
800048c: 430a orrs r2, r1
800048e: fbb3 f8fe udiv r8, r3, lr
8000492: b2bc uxth r4, r7
8000494: fb0e 3318 mls r3, lr, r8, r3
8000498: 0c11 lsrs r1, r2, #16
800049a: ea41 4103 orr.w r1, r1, r3, lsl #16
800049e: fb08 f904 mul.w r9, r8, r4
80004a2: 40b0 lsls r0, r6
80004a4: 4589 cmp r9, r1
80004a6: ea4f 4310 mov.w r3, r0, lsr #16
80004aa: b280 uxth r0, r0
80004ac: d93e bls.n 800052c <__udivmoddi4+0x2e8>
80004ae: 1879 adds r1, r7, r1
80004b0: f108 3cff add.w ip, r8, #4294967295 @ 0xffffffff
80004b4: d201 bcs.n 80004ba <__udivmoddi4+0x276>
80004b6: 4589 cmp r9, r1
80004b8: d81f bhi.n 80004fa <__udivmoddi4+0x2b6>
80004ba: eba1 0109 sub.w r1, r1, r9
80004be: fbb1 f9fe udiv r9, r1, lr
80004c2: fb09 f804 mul.w r8, r9, r4
80004c6: fb0e 1119 mls r1, lr, r9, r1
80004ca: b292 uxth r2, r2
80004cc: ea42 4201 orr.w r2, r2, r1, lsl #16
80004d0: 4542 cmp r2, r8
80004d2: d229 bcs.n 8000528 <__udivmoddi4+0x2e4>
80004d4: 18ba adds r2, r7, r2
80004d6: f109 31ff add.w r1, r9, #4294967295 @ 0xffffffff
80004da: d2c4 bcs.n 8000466 <__udivmoddi4+0x222>
80004dc: 4542 cmp r2, r8
80004de: d2c2 bcs.n 8000466 <__udivmoddi4+0x222>
80004e0: f1a9 0102 sub.w r1, r9, #2
80004e4: 443a add r2, r7
80004e6: e7be b.n 8000466 <__udivmoddi4+0x222>
80004e8: 45f0 cmp r8, lr
80004ea: d29d bcs.n 8000428 <__udivmoddi4+0x1e4>
80004ec: ebbe 0302 subs.w r3, lr, r2
80004f0: eb6c 0c07 sbc.w ip, ip, r7
80004f4: 3801 subs r0, #1
80004f6: 46e1 mov r9, ip
80004f8: e796 b.n 8000428 <__udivmoddi4+0x1e4>
80004fa: eba7 0909 sub.w r9, r7, r9
80004fe: 4449 add r1, r9
8000500: f1a8 0c02 sub.w ip, r8, #2
8000504: fbb1 f9fe udiv r9, r1, lr
8000508: fb09 f804 mul.w r8, r9, r4
800050c: e7db b.n 80004c6 <__udivmoddi4+0x282>
800050e: 4673 mov r3, lr
8000510: e77f b.n 8000412 <__udivmoddi4+0x1ce>
8000512: 4650 mov r0, sl
8000514: e766 b.n 80003e4 <__udivmoddi4+0x1a0>
8000516: 4608 mov r0, r1
8000518: e6fd b.n 8000316 <__udivmoddi4+0xd2>
800051a: 443b add r3, r7
800051c: 3a02 subs r2, #2
800051e: e733 b.n 8000388 <__udivmoddi4+0x144>
8000520: f1ac 0c02 sub.w ip, ip, #2
8000524: 443b add r3, r7
8000526: e71c b.n 8000362 <__udivmoddi4+0x11e>
8000528: 4649 mov r1, r9
800052a: e79c b.n 8000466 <__udivmoddi4+0x222>
800052c: eba1 0109 sub.w r1, r1, r9
8000530: 46c4 mov ip, r8
8000532: fbb1 f9fe udiv r9, r1, lr
8000536: fb09 f804 mul.w r8, r9, r4
800053a: e7c4 b.n 80004c6 <__udivmoddi4+0x282>
0800053c <__aeabi_idiv0>:
800053c: 4770 bx lr
800053e: bf00 nop
08000540 <SystemClock_Config>:
8000540: b500 push {lr}
8000542: b095 sub sp, #84 @ 0x54
8000544: 2214 movs r2, #20
8000546: 2100 movs r1, #0
8000548: a808 add r0, sp, #32
800054a: f003 f98f bl 800386c <memset>
800054e: 2214 movs r2, #20
8000550: 2100 movs r1, #0
8000552: a802 add r0, sp, #8
8000554: f003 f98a bl 800386c <memset>
8000558: 4b20 ldr r3, [pc, #128] @ (80005dc <SystemClock_Config+0x9c>)
800055a: 2100 movs r1, #0
800055c: 9100 str r1, [sp, #0]
800055e: 6c1a ldr r2, [r3, #64] @ 0x40
8000560: f042 5280 orr.w r2, r2, #268435456 @ 0x10000000
8000564: 641a str r2, [r3, #64] @ 0x40
8000566: 6c1b ldr r3, [r3, #64] @ 0x40
8000568: 4a1d ldr r2, [pc, #116] @ (80005e0 <SystemClock_Config+0xa0>)
800056a: f003 5380 and.w r3, r3, #268435456 @ 0x10000000
800056e: 9300 str r3, [sp, #0]
8000570: 9b00 ldr r3, [sp, #0]
8000572: 9101 str r1, [sp, #4]
8000574: 6813 ldr r3, [r2, #0]
8000576: f423 4340 bic.w r3, r3, #49152 @ 0xc000
800057a: f443 4380 orr.w r3, r3, #16384 @ 0x4000
800057e: 6013 str r3, [r2, #0]
8000580: 6813 ldr r3, [r2, #0]
8000582: 2101 movs r1, #1
8000584: f403 4340 and.w r3, r3, #49152 @ 0xc000
8000588: 2210 movs r2, #16
800058a: e9cd 120a strd r1, r2, [sp, #40] @ 0x28
800058e: 9301 str r3, [sp, #4]
8000590: f44f 0080 mov.w r0, #4194304 @ 0x400000
8000594: 2204 movs r2, #4
8000596: e9cd 020e strd r0, r2, [sp, #56] @ 0x38
800059a: 9b01 ldr r3, [sp, #4]
800059c: 2248 movs r2, #72 @ 0x48
800059e: 2302 movs r3, #2
80005a0: e9cd 2310 strd r2, r3, [sp, #64] @ 0x40
80005a4: a807 add r0, sp, #28
80005a6: 2203 movs r2, #3
80005a8: e9cd 2312 strd r2, r3, [sp, #72] @ 0x48
80005ac: 9307 str r3, [sp, #28]
80005ae: 930d str r3, [sp, #52] @ 0x34
80005b0: f001 fb02 bl 8001bb8 <HAL_RCC_OscConfig>
80005b4: 4601 mov r1, r0
80005b6: b108 cbz r0, 80005bc <SystemClock_Config+0x7c>
80005b8: b672 cpsid i
80005ba: e7fe b.n 80005ba <SystemClock_Config+0x7a>
80005bc: 230f movs r3, #15
80005be: e9cd 3002 strd r3, r0, [sp, #8]
80005c2: e9cd 0004 strd r0, r0, [sp, #16]
80005c6: 9006 str r0, [sp, #24]
80005c8: a802 add r0, sp, #8
80005ca: f001 f803 bl 80015d4 <HAL_RCC_ClockConfig>
80005ce: b108 cbz r0, 80005d4 <SystemClock_Config+0x94>
80005d0: b672 cpsid i
80005d2: e7fe b.n 80005d2 <SystemClock_Config+0x92>
80005d4: b015 add sp, #84 @ 0x54
80005d6: f85d fb04 ldr.w pc, [sp], #4
80005da: bf00 nop
80005dc: 40023800 .word 0x40023800
80005e0: 40007000 .word 0x40007000
080005e4 <main>:
80005e4: b500 push {lr}
80005e6: b08b sub sp, #44 @ 0x2c
80005e8: f000 f918 bl 800081c <HAL_Init>
80005ec: f7ff ffa8 bl 8000540 <SystemClock_Config>
80005f0: 2032 movs r0, #50 @ 0x32
80005f2: f000 f93f bl 8000874 <HAL_Delay>
80005f6: 2214 movs r2, #20
80005f8: 2100 movs r1, #0
80005fa: eb0d 0002 add.w r0, sp, r2
80005fe: f003 f935 bl 800386c <memset>
8000602: 2400 movs r4, #0
8000604: 4b3c ldr r3, [pc, #240] @ (80006f8 <main+0x114>)
8000606: 9400 str r4, [sp, #0]
8000608: 6b1a ldr r2, [r3, #48] @ 0x30
800060a: 483c ldr r0, [pc, #240] @ (80006fc <main+0x118>)
800060c: f042 0280 orr.w r2, r2, #128 @ 0x80
8000610: 631a str r2, [r3, #48] @ 0x30
8000612: 6b1a ldr r2, [r3, #48] @ 0x30
8000614: f002 0280 and.w r2, r2, #128 @ 0x80
8000618: 9200 str r2, [sp, #0]
800061a: 9a00 ldr r2, [sp, #0]
800061c: 9401 str r4, [sp, #4]
800061e: 6b1a ldr r2, [r3, #48] @ 0x30
8000620: f042 0201 orr.w r2, r2, #1
8000624: 631a str r2, [r3, #48] @ 0x30
8000626: 6b1a ldr r2, [r3, #48] @ 0x30
8000628: f002 0201 and.w r2, r2, #1
800062c: 9201 str r2, [sp, #4]
800062e: 9a01 ldr r2, [sp, #4]
8000630: 9402 str r4, [sp, #8]
8000632: 6b1a ldr r2, [r3, #48] @ 0x30
8000634: f042 0204 orr.w r2, r2, #4
8000638: 631a str r2, [r3, #48] @ 0x30
800063a: 6b1a ldr r2, [r3, #48] @ 0x30
800063c: f002 0204 and.w r2, r2, #4
8000640: 9202 str r2, [sp, #8]
8000642: 9a02 ldr r2, [sp, #8]
8000644: 9403 str r4, [sp, #12]
8000646: 6b1a ldr r2, [r3, #48] @ 0x30
8000648: f042 0202 orr.w r2, r2, #2
800064c: 631a str r2, [r3, #48] @ 0x30
800064e: 6b1a ldr r2, [r3, #48] @ 0x30
8000650: f002 0202 and.w r2, r2, #2
8000654: 9203 str r2, [sp, #12]
8000656: 9a03 ldr r2, [sp, #12]
8000658: 9404 str r4, [sp, #16]
800065a: 6b1a ldr r2, [r3, #48] @ 0x30
800065c: f042 0208 orr.w r2, r2, #8
8000660: 631a str r2, [r3, #48] @ 0x30
8000662: 6b1b ldr r3, [r3, #48] @ 0x30
8000664: f003 0308 and.w r3, r3, #8
8000668: 4622 mov r2, r4
800066a: 9304 str r3, [sp, #16]
800066c: f44f 7170 mov.w r1, #960 @ 0x3c0
8000670: 9b04 ldr r3, [sp, #16]
8000672: f000 fa4b bl 8000b0c <HAL_GPIO_WritePin>
8000676: 4622 mov r2, r4
8000678: 4821 ldr r0, [pc, #132] @ (8000700 <main+0x11c>)
800067a: f44f 7180 mov.w r1, #256 @ 0x100
800067e: f000 fa45 bl 8000b0c <HAL_GPIO_WritePin>
8000682: 2330 movs r3, #48 @ 0x30
8000684: 481d ldr r0, [pc, #116] @ (80006fc <main+0x118>)
8000686: 9407 str r4, [sp, #28]
8000688: a905 add r1, sp, #20
800068a: e9cd 3405 strd r3, r4, [sp, #20]
800068e: f000 f96b bl 8000968 <HAL_GPIO_Init>
8000692: f240 4307 movw r3, #1031 @ 0x407
8000696: 481b ldr r0, [pc, #108] @ (8000704 <main+0x120>)
8000698: 9407 str r4, [sp, #28]
800069a: a905 add r1, sp, #20
800069c: e9cd 3405 strd r3, r4, [sp, #20]
80006a0: 2501 movs r5, #1
80006a2: f000 f961 bl 8000968 <HAL_GPIO_Init>
80006a6: f44f 7370 mov.w r3, #960 @ 0x3c0
80006aa: 4814 ldr r0, [pc, #80] @ (80006fc <main+0x118>)
80006ac: a905 add r1, sp, #20
80006ae: e9cd 3505 strd r3, r5, [sp, #20]
80006b2: e9cd 4407 strd r4, r4, [sp, #28]
80006b6: f000 f957 bl 8000968 <HAL_GPIO_Init>
80006ba: f44f 7380 mov.w r3, #256 @ 0x100
80006be: 4810 ldr r0, [pc, #64] @ (8000700 <main+0x11c>)
80006c0: a905 add r1, sp, #20
80006c2: e9cd 3505 strd r3, r5, [sp, #20]
80006c6: e9cd 4407 strd r4, r4, [sp, #28]
80006ca: f000 f94d bl 8000968 <HAL_GPIO_Init>
80006ce: f002 febd bl 800344c <MX_USB_DEVICE_Init>
80006d2: 2032 movs r0, #50 @ 0x32
80006d4: f000 f8ce bl 8000874 <HAL_Delay>
80006d8: 4c0b ldr r4, [pc, #44] @ (8000708 <main+0x124>)
80006da: 4d0c ldr r5, [pc, #48] @ (800070c <main+0x128>)
80006dc: f04f 0602 mov.w r6, #2
80006e0: 2304 movs r3, #4
80006e2: 4909 ldr r1, [pc, #36] @ (8000708 <main+0x124>)
80006e4: 7026 strb r6, [r4, #0]
80006e6: 2208 movs r2, #8
80006e8: 4628 mov r0, r5
80006ea: 70a3 strb r3, [r4, #2]
80006ec: f002 fa34 bl 8002b58 <USBD_HID_SendReport>
80006f0: 2064 movs r0, #100 @ 0x64
80006f2: f000 f8bf bl 8000874 <HAL_Delay>
80006f6: e7f3 b.n 80006e0 <main+0xfc>
80006f8: 40023800 .word 0x40023800
80006fc: 40020800 .word 0x40020800
8000700: 40020000 .word 0x40020000
8000704: 40020400 .word 0x40020400
8000708: 2000013c .word 0x2000013c
800070c: 2000014c .word 0x2000014c
08000710 <Error_Handler>:
8000710: b672 cpsid i
8000712: e7fe b.n 8000712 <Error_Handler+0x2>
08000714 <HAL_MspInit>:
8000714: b082 sub sp, #8
8000716: 4b0c ldr r3, [pc, #48] @ (8000748 <HAL_MspInit+0x34>)
8000718: 2100 movs r1, #0
800071a: 9100 str r1, [sp, #0]
800071c: 6c5a ldr r2, [r3, #68] @ 0x44
800071e: f442 4280 orr.w r2, r2, #16384 @ 0x4000
8000722: 645a str r2, [r3, #68] @ 0x44
8000724: 6c5a ldr r2, [r3, #68] @ 0x44
8000726: f402 4280 and.w r2, r2, #16384 @ 0x4000
800072a: 9200 str r2, [sp, #0]
800072c: 9a00 ldr r2, [sp, #0]
800072e: 9101 str r1, [sp, #4]
8000730: 6c1a ldr r2, [r3, #64] @ 0x40
8000732: f042 5280 orr.w r2, r2, #268435456 @ 0x10000000
8000736: 641a str r2, [r3, #64] @ 0x40
8000738: 6c1b ldr r3, [r3, #64] @ 0x40
800073a: f003 5380 and.w r3, r3, #268435456 @ 0x10000000
800073e: 9301 str r3, [sp, #4]
8000740: 9b01 ldr r3, [sp, #4]
8000742: b002 add sp, #8
8000744: 4770 bx lr
8000746: bf00 nop
8000748: 40023800 .word 0x40023800
0800074c <NMI_Handler>:
800074c: e7fe b.n 800074c <NMI_Handler>
0800074e <HardFault_Handler>:
800074e: e7fe b.n 800074e <HardFault_Handler>
08000750 <MemManage_Handler>:
8000750: e7fe b.n 8000750 <MemManage_Handler>
08000752 <BusFault_Handler>:
8000752: e7fe b.n 8000752 <BusFault_Handler>
08000754 <UsageFault_Handler>:
8000754: e7fe b.n 8000754 <UsageFault_Handler>
08000756 <SVC_Handler>:
8000756: 4770 bx lr
08000758 <DebugMon_Handler>:
8000758: 4770 bx lr
0800075a <PendSV_Handler>:
800075a: 4770 bx lr
0800075c <SysTick_Handler>:
800075c: f000 b878 b.w 8000850 <HAL_IncTick>
08000760 <OTG_FS_IRQHandler>:
8000760: 4801 ldr r0, [pc, #4] @ (8000768 <OTG_FS_IRQHandler+0x8>)
8000762: f000 bb9b b.w 8000e9c <HAL_PCD_IRQHandler>
8000766: bf00 nop
8000768: 2000063c .word 0x2000063c
0800076c <SystemInit>:
800076c: 4a03 ldr r2, [pc, #12] @ (800077c <SystemInit+0x10>)
800076e: f8d2 3088 ldr.w r3, [r2, #136] @ 0x88
8000772: f443 0370 orr.w r3, r3, #15728640 @ 0xf00000
8000776: f8c2 3088 str.w r3, [r2, #136] @ 0x88
800077a: 4770 bx lr
800077c: e000ed00 .word 0xe000ed00
08000780 <Reset_Handler>:
8000780: f8df d034 ldr.w sp, [pc, #52] @ 80007b8 <LoopFillZerobss+0xe>
8000784: f7ff fff2 bl 800076c <SystemInit>
8000788: 480c ldr r0, [pc, #48] @ (80007bc <LoopFillZerobss+0x12>)
800078a: 490d ldr r1, [pc, #52] @ (80007c0 <LoopFillZerobss+0x16>)
800078c: 4a0d ldr r2, [pc, #52] @ (80007c4 <LoopFillZerobss+0x1a>)
800078e: 2300 movs r3, #0
8000790: e002 b.n 8000798 <LoopCopyDataInit>
08000792 <CopyDataInit>:
8000792: 58d4 ldr r4, [r2, r3]
8000794: 50c4 str r4, [r0, r3]
8000796: 3304 adds r3, #4
08000798 <LoopCopyDataInit>:
8000798: 18c4 adds r4, r0, r3
800079a: 428c cmp r4, r1
800079c: d3f9 bcc.n 8000792 <CopyDataInit>
800079e: 4a0a ldr r2, [pc, #40] @ (80007c8 <LoopFillZerobss+0x1e>)
80007a0: 4c0a ldr r4, [pc, #40] @ (80007cc <LoopFillZerobss+0x22>)
80007a2: 2300 movs r3, #0
80007a4: e001 b.n 80007aa <LoopFillZerobss>
080007a6 <FillZerobss>:
80007a6: 6013 str r3, [r2, #0]
80007a8: 3204 adds r2, #4
080007aa <LoopFillZerobss>:
80007aa: 42a2 cmp r2, r4
80007ac: d3fb bcc.n 80007a6 <FillZerobss>
80007ae: f003 f865 bl 800387c <__libc_init_array>
80007b2: f7ff ff17 bl 80005e4 <main>
80007b6: 4770 bx lr
80007b8: 20020000 .word 0x20020000
80007bc: 20000000 .word 0x20000000
80007c0: 20000120 .word 0x20000120
80007c4: 08003930 .word 0x08003930
80007c8: 20000120 .word 0x20000120
80007cc: 20000b20 .word 0x20000b20
080007d0 <ADC_IRQHandler>:
80007d0: e7fe b.n 80007d0 <ADC_IRQHandler>
...
080007d4 <HAL_InitTick>:
80007d4: b538 push {r3, r4, r5, lr}
80007d6: 4b0e ldr r3, [pc, #56] @ (8000810 <HAL_InitTick+0x3c>)
80007d8: 781a ldrb r2, [r3, #0]
80007da: f44f 737a mov.w r3, #1000 @ 0x3e8
80007de: fbb3 f3f2 udiv r3, r3, r2
80007e2: 4a0c ldr r2, [pc, #48] @ (8000814 <HAL_InitTick+0x40>)
80007e4: 4605 mov r5, r0
80007e6: 6810 ldr r0, [r2, #0]
80007e8: fbb0 f0f3 udiv r0, r0, r3
80007ec: f000 f8a8 bl 8000940 <HAL_SYSTICK_Config>
80007f0: 4604 mov r4, r0
80007f2: b958 cbnz r0, 800080c <HAL_InitTick+0x38>
80007f4: 2d0f cmp r5, #15
80007f6: d809 bhi.n 800080c <HAL_InitTick+0x38>
80007f8: 4602 mov r2, r0
80007fa: 4629 mov r1, r5
80007fc: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff
8000800: f000 f85e bl 80008c0 <HAL_NVIC_SetPriority>
8000804: 4b04 ldr r3, [pc, #16] @ (8000818 <HAL_InitTick+0x44>)
8000806: 4620 mov r0, r4
8000808: 601d str r5, [r3, #0]
800080a: bd38 pop {r3, r4, r5, pc}
800080c: 2001 movs r0, #1
800080e: e7fc b.n 800080a <HAL_InitTick+0x36>
8000810: 20000004 .word 0x20000004
8000814: 20000000 .word 0x20000000
8000818: 20000008 .word 0x20000008
0800081c <HAL_Init>:
800081c: b508 push {r3, lr}
800081e: 4b0b ldr r3, [pc, #44] @ (800084c <HAL_Init+0x30>)
8000820: 681a ldr r2, [r3, #0]
8000822: f442 7200 orr.w r2, r2, #512 @ 0x200
8000826: 601a str r2, [r3, #0]
8000828: 681a ldr r2, [r3, #0]
800082a: f442 6280 orr.w r2, r2, #1024 @ 0x400
800082e: 601a str r2, [r3, #0]
8000830: 681a ldr r2, [r3, #0]
8000832: f442 7280 orr.w r2, r2, #256 @ 0x100
8000836: 601a str r2, [r3, #0]
8000838: 2003 movs r0, #3
800083a: f000 f82f bl 800089c <HAL_NVIC_SetPriorityGrouping>
800083e: 200f movs r0, #15
8000840: f7ff ffc8 bl 80007d4 <HAL_InitTick>
8000844: f7ff ff66 bl 8000714 <HAL_MspInit>
8000848: 2000 movs r0, #0
800084a: bd08 pop {r3, pc}
800084c: 40023c00 .word 0x40023c00
08000850 <HAL_IncTick>:
8000850: 4a03 ldr r2, [pc, #12] @ (8000860 <HAL_IncTick+0x10>)
8000852: 4b04 ldr r3, [pc, #16] @ (8000864 <HAL_IncTick+0x14>)
8000854: 6811 ldr r1, [r2, #0]
8000856: 781b ldrb r3, [r3, #0]
8000858: 440b add r3, r1
800085a: 6013 str r3, [r2, #0]
800085c: 4770 bx lr
800085e: bf00 nop
8000860: 20000144 .word 0x20000144
8000864: 20000004 .word 0x20000004
08000868 <HAL_GetTick>:
8000868: 4b01 ldr r3, [pc, #4] @ (8000870 <HAL_GetTick+0x8>)
800086a: 6818 ldr r0, [r3, #0]
800086c: 4770 bx lr
800086e: bf00 nop
8000870: 20000144 .word 0x20000144
08000874 <HAL_Delay>:
8000874: b538 push {r3, r4, r5, lr}
8000876: 4604 mov r4, r0
8000878: f7ff fff6 bl 8000868 <HAL_GetTick>
800087c: 1c63 adds r3, r4, #1
800087e: bf1c itt ne
8000880: 4b05 ldrne r3, [pc, #20] @ (8000898 <HAL_Delay+0x24>)
8000882: 781b ldrbne r3, [r3, #0]
8000884: 4605 mov r5, r0
8000886: bf18 it ne
8000888: 18e4 addne r4, r4, r3
800088a: f7ff ffed bl 8000868 <HAL_GetTick>
800088e: 1b43 subs r3, r0, r5
8000890: 42a3 cmp r3, r4
8000892: d3fa bcc.n 800088a <HAL_Delay+0x16>
8000894: bd38 pop {r3, r4, r5, pc}
8000896: bf00 nop
8000898: 20000004 .word 0x20000004
0800089c <HAL_NVIC_SetPriorityGrouping>:
800089c: 4907 ldr r1, [pc, #28] @ (80008bc <HAL_NVIC_SetPriorityGrouping+0x20>)
800089e: 68ca ldr r2, [r1, #12]
80008a0: f422 62e0 bic.w r2, r2, #1792 @ 0x700
80008a4: 0203 lsls r3, r0, #8
80008a6: 0412 lsls r2, r2, #16
80008a8: f403 63e0 and.w r3, r3, #1792 @ 0x700
80008ac: 0c12 lsrs r2, r2, #16
80008ae: 4313 orrs r3, r2
80008b0: f043 63bf orr.w r3, r3, #100139008 @ 0x5f80000
80008b4: f443 3300 orr.w r3, r3, #131072 @ 0x20000
80008b8: 60cb str r3, [r1, #12]
80008ba: 4770 bx lr
80008bc: e000ed00 .word 0xe000ed00
080008c0 <HAL_NVIC_SetPriority>:
80008c0: 4b16 ldr r3, [pc, #88] @ (800091c <HAL_NVIC_SetPriority+0x5c>)
80008c2: b530 push {r4, r5, lr}
80008c4: 68dc ldr r4, [r3, #12]
80008c6: f3c4 2402 ubfx r4, r4, #8, #3
80008ca: f1c4 0307 rsb r3, r4, #7
80008ce: 1d25 adds r5, r4, #4
80008d0: 2b04 cmp r3, #4
80008d2: bf28 it cs
80008d4: 2304 movcs r3, #4
80008d6: 2d06 cmp r5, #6
80008d8: f04f 35ff mov.w r5, #4294967295 @ 0xffffffff
80008dc: bf8c ite hi
80008de: 3c03 subhi r4, #3
80008e0: 2400 movls r4, #0
80008e2: fa05 f303 lsl.w r3, r5, r3
80008e6: ea21 0303 bic.w r3, r1, r3
80008ea: 40a5 lsls r5, r4
80008ec: ea22 0205 bic.w r2, r2, r5
80008f0: 40a3 lsls r3, r4
80008f2: 2800 cmp r0, #0
80008f4: ea43 0302 orr.w r3, r3, r2
80008f8: bfac ite ge
80008fa: f100 4060 addge.w r0, r0, #3758096384 @ 0xe0000000
80008fe: 4a08 ldrlt r2, [pc, #32] @ (8000920 <HAL_NVIC_SetPriority+0x60>)
8000900: ea4f 1303 mov.w r3, r3, lsl #4
8000904: bfb8 it lt
8000906: f000 000f andlt.w r0, r0, #15
800090a: b2db uxtb r3, r3
800090c: bfaa itet ge
800090e: f500 4061 addge.w r0, r0, #57600 @ 0xe100
8000912: 5413 strblt r3, [r2, r0]
8000914: f880 3300 strbge.w r3, [r0, #768] @ 0x300
8000918: bd30 pop {r4, r5, pc}
800091a: bf00 nop
800091c: e000ed00 .word 0xe000ed00
8000920: e000ed14 .word 0xe000ed14
08000924 <HAL_NVIC_EnableIRQ>:
8000924: 2800 cmp r0, #0
8000926: db07 blt.n 8000938 <HAL_NVIC_EnableIRQ+0x14>
8000928: 4a04 ldr r2, [pc, #16] @ (800093c <HAL_NVIC_EnableIRQ+0x18>)
800092a: 0941 lsrs r1, r0, #5
800092c: 2301 movs r3, #1
800092e: f000 001f and.w r0, r0, #31
8000932: 4083 lsls r3, r0
8000934: f842 3021 str.w r3, [r2, r1, lsl #2]
8000938: 4770 bx lr
800093a: bf00 nop
800093c: e000e100 .word 0xe000e100
08000940 <HAL_SYSTICK_Config>:
8000940: 3801 subs r0, #1
8000942: f1b0 7f80 cmp.w r0, #16777216 @ 0x1000000
8000946: d20b bcs.n 8000960 <HAL_SYSTICK_Config+0x20>
8000948: f04f 23e0 mov.w r3, #3758153728 @ 0xe000e000
800094c: 4a05 ldr r2, [pc, #20] @ (8000964 <HAL_SYSTICK_Config+0x24>)
800094e: 6158 str r0, [r3, #20]
8000950: 21f0 movs r1, #240 @ 0xf0
8000952: f882 1023 strb.w r1, [r2, #35] @ 0x23
8000956: 2000 movs r0, #0
8000958: 2207 movs r2, #7
800095a: 6198 str r0, [r3, #24]
800095c: 611a str r2, [r3, #16]
800095e: 4770 bx lr
8000960: 2001 movs r0, #1
8000962: 4770 bx lr
8000964: e000ed00 .word 0xe000ed00
08000968 <HAL_GPIO_Init>:
8000968: e92d 4ff7 stmdb sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, fp, lr}
800096c: f8df 9198 ldr.w r9, [pc, #408] @ 8000b08 <HAL_GPIO_Init+0x1a0>
8000970: 4a63 ldr r2, [pc, #396] @ (8000b00 <HAL_GPIO_Init+0x198>)
8000972: 2300 movs r3, #0
8000974: 680d ldr r5, [r1, #0]
8000976: 2401 movs r4, #1
8000978: 409c lsls r4, r3
800097a: ea04 0605 and.w r6, r4, r5
800097e: 43ac bics r4, r5
8000980: f040 80ab bne.w 8000ada <HAL_GPIO_Init+0x172>
8000984: 684d ldr r5, [r1, #4]
8000986: 2703 movs r7, #3
8000988: f005 0403 and.w r4, r5, #3
800098c: ea4f 0843 mov.w r8, r3, lsl #1
8000990: fa07 fc08 lsl.w ip, r7, r8
8000994: 1e67 subs r7, r4, #1
8000996: 2f01 cmp r7, #1
8000998: ea6f 0c0c mvn.w ip, ip
800099c: d834 bhi.n 8000a08 <HAL_GPIO_Init+0xa0>
800099e: 6887 ldr r7, [r0, #8]
80009a0: ea07 0e0c and.w lr, r7, ip
80009a4: 68cf ldr r7, [r1, #12]
80009a6: fa07 f708 lsl.w r7, r7, r8
80009aa: ea47 070e orr.w r7, r7, lr
80009ae: 6087 str r7, [r0, #8]
80009b0: 6847 ldr r7, [r0, #4]
80009b2: ea27 0e06 bic.w lr, r7, r6
80009b6: f3c5 1700 ubfx r7, r5, #4, #1
80009ba: 409f lsls r7, r3
80009bc: ea47 070e orr.w r7, r7, lr
80009c0: 6047 str r7, [r0, #4]
80009c2: 68c7 ldr r7, [r0, #12]
80009c4: ea07 0e0c and.w lr, r7, ip
80009c8: 688f ldr r7, [r1, #8]
80009ca: fa07 f708 lsl.w r7, r7, r8
80009ce: ea47 070e orr.w r7, r7, lr
80009d2: 2c02 cmp r4, #2
80009d4: 60c7 str r7, [r0, #12]
80009d6: d119 bne.n 8000a0c <HAL_GPIO_Init+0xa4>
80009d8: ea4f 0ad3 mov.w sl, r3, lsr #3
80009dc: eb00 0a8a add.w sl, r0, sl, lsl #2
80009e0: f003 0b07 and.w fp, r3, #7
80009e4: f8da 7020 ldr.w r7, [sl, #32]
80009e8: ea4f 0b8b mov.w fp, fp, lsl #2
80009ec: f04f 0e0f mov.w lr, #15
80009f0: fa0e fe0b lsl.w lr, lr, fp
80009f4: ea27 0e0e bic.w lr, r7, lr
80009f8: 690f ldr r7, [r1, #16]
80009fa: fa07 f70b lsl.w r7, r7, fp
80009fe: ea47 070e orr.w r7, r7, lr
8000a02: f8ca 7020 str.w r7, [sl, #32]
8000a06: e001 b.n 8000a0c <HAL_GPIO_Init+0xa4>
8000a08: 2c03 cmp r4, #3
8000a0a: d1da bne.n 80009c2 <HAL_GPIO_Init+0x5a>
8000a0c: 6807 ldr r7, [r0, #0]
8000a0e: fa04 f408 lsl.w r4, r4, r8
8000a12: ea07 070c and.w r7, r7, ip
8000a16: 433c orrs r4, r7
8000a18: f415 3f40 tst.w r5, #196608 @ 0x30000
8000a1c: 6004 str r4, [r0, #0]
8000a1e: d05c beq.n 8000ada <HAL_GPIO_Init+0x172>
8000a20: 2400 movs r4, #0
8000a22: 9401 str r4, [sp, #4]
8000a24: f8d9 4044 ldr.w r4, [r9, #68] @ 0x44
8000a28: f444 4480 orr.w r4, r4, #16384 @ 0x4000
8000a2c: f8c9 4044 str.w r4, [r9, #68] @ 0x44
8000a30: f8d9 4044 ldr.w r4, [r9, #68] @ 0x44
8000a34: f023 0703 bic.w r7, r3, #3
8000a38: f107 4780 add.w r7, r7, #1073741824 @ 0x40000000
8000a3c: f404 4480 and.w r4, r4, #16384 @ 0x4000
8000a40: f507 379c add.w r7, r7, #79872 @ 0x13800
8000a44: 9401 str r4, [sp, #4]
8000a46: f003 0c03 and.w ip, r3, #3
8000a4a: 9c01 ldr r4, [sp, #4]
8000a4c: f8d7 e008 ldr.w lr, [r7, #8]
8000a50: ea4f 0c8c mov.w ip, ip, lsl #2
8000a54: 240f movs r4, #15
8000a56: fa04 f40c lsl.w r4, r4, ip
8000a5a: ea2e 0e04 bic.w lr, lr, r4
8000a5e: 4c29 ldr r4, [pc, #164] @ (8000b04 <HAL_GPIO_Init+0x19c>)
8000a60: 42a0 cmp r0, r4
8000a62: d041 beq.n 8000ae8 <HAL_GPIO_Init+0x180>
8000a64: f504 6480 add.w r4, r4, #1024 @ 0x400
8000a68: 42a0 cmp r0, r4
8000a6a: d03f beq.n 8000aec <HAL_GPIO_Init+0x184>
8000a6c: f504 6480 add.w r4, r4, #1024 @ 0x400
8000a70: 42a0 cmp r0, r4
8000a72: d03d beq.n 8000af0 <HAL_GPIO_Init+0x188>
8000a74: f504 6480 add.w r4, r4, #1024 @ 0x400
8000a78: 42a0 cmp r0, r4
8000a7a: d03b beq.n 8000af4 <HAL_GPIO_Init+0x18c>
8000a7c: f504 6480 add.w r4, r4, #1024 @ 0x400
8000a80: 42a0 cmp r0, r4
8000a82: d039 beq.n 8000af8 <HAL_GPIO_Init+0x190>
8000a84: f504 6480 add.w r4, r4, #1024 @ 0x400
8000a88: 42a0 cmp r0, r4
8000a8a: d037 beq.n 8000afc <HAL_GPIO_Init+0x194>
8000a8c: f504 6480 add.w r4, r4, #1024 @ 0x400
8000a90: 42a0 cmp r0, r4
8000a92: bf14 ite ne
8000a94: 2407 movne r4, #7
8000a96: 2406 moveq r4, #6
8000a98: fa04 f40c lsl.w r4, r4, ip
8000a9c: ea44 040e orr.w r4, r4, lr
8000aa0: 60bc str r4, [r7, #8]
8000aa2: 6894 ldr r4, [r2, #8]
8000aa4: 43f7 mvns r7, r6
8000aa6: f415 1f80 tst.w r5, #1048576 @ 0x100000
8000aaa: bf0c ite eq
8000aac: 403c andeq r4, r7
8000aae: 4334 orrne r4, r6
8000ab0: 6094 str r4, [r2, #8]
8000ab2: 68d4 ldr r4, [r2, #12]
8000ab4: f415 1f00 tst.w r5, #2097152 @ 0x200000
8000ab8: bf0c ite eq
8000aba: 403c andeq r4, r7
8000abc: 4334 orrne r4, r6
8000abe: 60d4 str r4, [r2, #12]
8000ac0: 6854 ldr r4, [r2, #4]
8000ac2: f415 3f00 tst.w r5, #131072 @ 0x20000
8000ac6: bf0c ite eq
8000ac8: 403c andeq r4, r7
8000aca: 4334 orrne r4, r6
8000acc: 6054 str r4, [r2, #4]
8000ace: 6814 ldr r4, [r2, #0]
8000ad0: 03ed lsls r5, r5, #15
8000ad2: bf54 ite pl
8000ad4: 403c andpl r4, r7
8000ad6: 4334 orrmi r4, r6
8000ad8: 6014 str r4, [r2, #0]
8000ada: 3301 adds r3, #1
8000adc: 2b10 cmp r3, #16
8000ade: f47f af49 bne.w 8000974 <HAL_GPIO_Init+0xc>
8000ae2: b003 add sp, #12
8000ae4: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
8000ae8: 2400 movs r4, #0
8000aea: e7d5 b.n 8000a98 <HAL_GPIO_Init+0x130>
8000aec: 2401 movs r4, #1
8000aee: e7d3 b.n 8000a98 <HAL_GPIO_Init+0x130>
8000af0: 2402 movs r4, #2
8000af2: e7d1 b.n 8000a98 <HAL_GPIO_Init+0x130>
8000af4: 2403 movs r4, #3
8000af6: e7cf b.n 8000a98 <HAL_GPIO_Init+0x130>
8000af8: 2404 movs r4, #4
8000afa: e7cd b.n 8000a98 <HAL_GPIO_Init+0x130>
8000afc: 2405 movs r4, #5
8000afe: e7cb b.n 8000a98 <HAL_GPIO_Init+0x130>
8000b00: 40013c00 .word 0x40013c00
8000b04: 40020000 .word 0x40020000
8000b08: 40023800 .word 0x40023800
08000b0c <HAL_GPIO_WritePin>:
8000b0c: b10a cbz r2, 8000b12 <HAL_GPIO_WritePin+0x6>
8000b0e: 6181 str r1, [r0, #24]
8000b10: 4770 bx lr
8000b12: 0409 lsls r1, r1, #16
8000b14: e7fb b.n 8000b0e <HAL_GPIO_WritePin+0x2>
08000b16 <HAL_PCD_Init>:
8000b16: b5f7 push {r0, r1, r2, r4, r5, r6, r7, lr}
8000b18: 4604 mov r4, r0
8000b1a: b310 cbz r0, 8000b62 <HAL_PCD_Init+0x4c>
8000b1c: f890 3495 ldrb.w r3, [r0, #1173] @ 0x495
8000b20: 6805 ldr r5, [r0, #0]
8000b22: f003 02ff and.w r2, r3, #255 @ 0xff
8000b26: b91b cbnz r3, 8000b30 <HAL_PCD_Init+0x1a>
8000b28: f880 2494 strb.w r2, [r0, #1172] @ 0x494
8000b2c: f002 fd2c bl 8003588 <HAL_PCD_MspInit>
8000b30: 2303 movs r3, #3
8000b32: f1b5 4fa0 cmp.w r5, #1342177280 @ 0x50000000
8000b36: f884 3495 strb.w r3, [r4, #1173] @ 0x495
8000b3a: bf04 itt eq
8000b3c: 2300 moveq r3, #0
8000b3e: 71a3 strbeq r3, [r4, #6]
8000b40: 6820 ldr r0, [r4, #0]
8000b42: f001 fae9 bl 8002118 <USB_DisableGlobalInt>
8000b46: 7c23 ldrb r3, [r4, #16]
8000b48: f88d 3000 strb.w r3, [sp]
8000b4c: 1d25 adds r5, r4, #4
8000b4e: e895 000e ldmia.w r5, {r1, r2, r3}
8000b52: 6820 ldr r0, [r4, #0]
8000b54: f001 fa26 bl 8001fa4 <USB_CoreInit>
8000b58: 4601 mov r1, r0
8000b5a: b130 cbz r0, 8000b6a <HAL_PCD_Init+0x54>
8000b5c: 2302 movs r3, #2
8000b5e: f884 3495 strb.w r3, [r4, #1173] @ 0x495
8000b62: 2501 movs r5, #1
8000b64: 4628 mov r0, r5
8000b66: b003 add sp, #12
8000b68: bdf0 pop {r4, r5, r6, r7, pc}
8000b6a: 6820 ldr r0, [r4, #0]
8000b6c: f001 fada bl 8002124 <USB_SetCurrentMode>
8000b70: 2800 cmp r0, #0
8000b72: d1f3 bne.n 8000b5c <HAL_PCD_Init+0x46>
8000b74: 7926 ldrb r6, [r4, #4]
8000b76: f104 0314 add.w r3, r4, #20
8000b7a: 2701 movs r7, #1
8000b7c: 4602 mov r2, r0
8000b7e: b2c1 uxtb r1, r0
8000b80: 428e cmp r6, r1
8000b82: f103 0324 add.w r3, r3, #36 @ 0x24
8000b86: d821 bhi.n 8000bcc <HAL_PCD_Init+0xb6>
8000b88: 2100 movs r1, #0
8000b8a: f504 7315 add.w r3, r4, #596 @ 0x254
8000b8e: 460a mov r2, r1
8000b90: b2c8 uxtb r0, r1
8000b92: 4286 cmp r6, r0
8000b94: f103 0324 add.w r3, r3, #36 @ 0x24
8000b98: d826 bhi.n 8000be8 <HAL_PCD_Init+0xd2>
8000b9a: 7c23 ldrb r3, [r4, #16]
8000b9c: f88d 3000 strb.w r3, [sp]
8000ba0: e895 000e ldmia.w r5, {r1, r2, r3}
8000ba4: 6820 ldr r0, [r4, #0]
8000ba6: f001 fb39 bl 800221c <USB_DevInit>
8000baa: 4605 mov r5, r0
8000bac: 2800 cmp r0, #0
8000bae: d1d5 bne.n 8000b5c <HAL_PCD_Init+0x46>
8000bb0: 2301 movs r3, #1
8000bb2: 7460 strb r0, [r4, #17]
8000bb4: f884 3495 strb.w r3, [r4, #1173] @ 0x495
8000bb8: 7b23 ldrb r3, [r4, #12]
8000bba: 2b01 cmp r3, #1
8000bbc: d102 bne.n 8000bc4 <HAL_PCD_Init+0xae>
8000bbe: 4620 mov r0, r4
8000bc0: f000 fcf5 bl 80015ae <HAL_PCDEx_ActivateLPM>
8000bc4: 6820 ldr r0, [r4, #0]
8000bc6: f001 fe6b bl 80028a0 <USB_DevDisconnect>
8000bca: e7cb b.n 8000b64 <HAL_PCD_Init+0x4e>
8000bcc: f823 0c0a strh.w r0, [r3, #-10]
8000bd0: e943 2207 strd r2, r2, [r3, #-28]
8000bd4: f803 7c23 strb.w r7, [r3, #-35]
8000bd8: f803 1c24 strb.w r1, [r3, #-36]
8000bdc: f803 2c20 strb.w r2, [r3, #-32]
8000be0: f843 2c14 str.w r2, [r3, #-20]
8000be4: 3001 adds r0, #1
8000be6: e7ca b.n 8000b7e <HAL_PCD_Init+0x68>
8000be8: e943 2207 strd r2, r2, [r3, #-28]
8000bec: f803 2c23 strb.w r2, [r3, #-35]
8000bf0: f803 0c24 strb.w r0, [r3, #-36]
8000bf4: f803 2c20 strb.w r2, [r3, #-32]
8000bf8: f843 2c14 str.w r2, [r3, #-20]
8000bfc: 3101 adds r1, #1
8000bfe: e7c7 b.n 8000b90 <HAL_PCD_Init+0x7a>
08000c00 <HAL_PCD_Start>:
8000c00: b510 push {r4, lr}
8000c02: 4604 mov r4, r0
8000c04: 6800 ldr r0, [r0, #0]
8000c06: f894 3494 ldrb.w r3, [r4, #1172] @ 0x494
8000c0a: 2b01 cmp r3, #1
8000c0c: d015 beq.n 8000c3a <HAL_PCD_Start+0x3a>
8000c0e: 2301 movs r3, #1
8000c10: f884 3494 strb.w r3, [r4, #1172] @ 0x494
8000c14: 68c3 ldr r3, [r0, #12]
8000c16: 065b lsls r3, r3, #25
8000c18: d506 bpl.n 8000c28 <HAL_PCD_Start+0x28>
8000c1a: 7b63 ldrb r3, [r4, #13]
8000c1c: 2b01 cmp r3, #1
8000c1e: bf02 ittt eq
8000c20: 6b83 ldreq r3, [r0, #56] @ 0x38
8000c22: f443 3380 orreq.w r3, r3, #65536 @ 0x10000
8000c26: 6383 streq r3, [r0, #56] @ 0x38
8000c28: f001 fa70 bl 800210c <USB_EnableGlobalInt>
8000c2c: 6820 ldr r0, [r4, #0]
8000c2e: f001 fe29 bl 8002884 <USB_DevConnect>
8000c32: 2000 movs r0, #0
8000c34: f884 0494 strb.w r0, [r4, #1172] @ 0x494
8000c38: bd10 pop {r4, pc}
8000c3a: 2002 movs r0, #2
8000c3c: e7fc b.n 8000c38 <HAL_PCD_Start+0x38>
08000c3e <HAL_PCD_SetAddress>:
8000c3e: b510 push {r4, lr}
8000c40: f890 2494 ldrb.w r2, [r0, #1172] @ 0x494
8000c44: 2a01 cmp r2, #1
8000c46: 4604 mov r4, r0
8000c48: d00a beq.n 8000c60 <HAL_PCD_SetAddress+0x22>
8000c4a: 2201 movs r2, #1
8000c4c: f880 2494 strb.w r2, [r0, #1172] @ 0x494
8000c50: 7441 strb r1, [r0, #17]
8000c52: 6800 ldr r0, [r0, #0]
8000c54: f001 fe06 bl 8002864 <USB_SetDevAddress>
8000c58: 2000 movs r0, #0
8000c5a: f884 0494 strb.w r0, [r4, #1172] @ 0x494
8000c5e: bd10 pop {r4, pc}
8000c60: 2002 movs r0, #2
8000c62: e7fc b.n 8000c5e <HAL_PCD_SetAddress+0x20>
08000c64 <HAL_PCD_EP_Open>:
8000c64: b570 push {r4, r5, r6, lr}
8000c66: f001 060f and.w r6, r1, #15
8000c6a: eb06 04c6 add.w r4, r6, r6, lsl #3
8000c6e: f011 0f80 tst.w r1, #128 @ 0x80
8000c72: 4605 mov r5, r0
8000c74: ea4f 0484 mov.w r4, r4, lsl #2
8000c78: f04f 0024 mov.w r0, #36 @ 0x24
8000c7c: d020 beq.n 8000cc0 <HAL_PCD_EP_Open+0x5c>
8000c7e: fb00 5006 mla r0, r0, r6, r5
8000c82: f104 0114 add.w r1, r4, #20
8000c86: 2401 movs r4, #1
8000c88: 4429 add r1, r5
8000c8a: 7544 strb r4, [r0, #21]
8000c8c: f3c2 020a ubfx r2, r2, #0, #11
8000c90: 608a str r2, [r1, #8]
8000c92: 784a ldrb r2, [r1, #1]
8000c94: 700e strb r6, [r1, #0]
8000c96: 710b strb r3, [r1, #4]
8000c98: b102 cbz r2, 8000c9c <HAL_PCD_EP_Open+0x38>
8000c9a: 834e strh r6, [r1, #26]
8000c9c: 2b02 cmp r3, #2
8000c9e: bf04 itt eq
8000ca0: 2300 moveq r3, #0
8000ca2: 714b strbeq r3, [r1, #5]
8000ca4: f895 3494 ldrb.w r3, [r5, #1172] @ 0x494
8000ca8: 2b01 cmp r3, #1
8000caa: d012 beq.n 8000cd2 <HAL_PCD_EP_Open+0x6e>
8000cac: 2301 movs r3, #1
8000cae: 6828 ldr r0, [r5, #0]
8000cb0: f885 3494 strb.w r3, [r5, #1172] @ 0x494
8000cb4: f001 fb75 bl 80023a2 <USB_ActivateEndpoint>
8000cb8: 2000 movs r0, #0
8000cba: f885 0494 strb.w r0, [r5, #1172] @ 0x494
8000cbe: bd70 pop {r4, r5, r6, pc}
8000cc0: fb00 5006 mla r0, r0, r6, r5
8000cc4: f504 7115 add.w r1, r4, #596 @ 0x254
8000cc8: 2400 movs r4, #0
8000cca: 4429 add r1, r5
8000ccc: f880 4255 strb.w r4, [r0, #597] @ 0x255
8000cd0: e7dc b.n 8000c8c <HAL_PCD_EP_Open+0x28>
8000cd2: 2002 movs r0, #2
8000cd4: e7f3 b.n 8000cbe <HAL_PCD_EP_Open+0x5a>
08000cd6 <HAL_PCD_EP_Close>:
8000cd6: b510 push {r4, lr}
8000cd8: 4604 mov r4, r0
8000cda: f001 000f and.w r0, r1, #15
8000cde: eb00 03c0 add.w r3, r0, r0, lsl #3
8000ce2: f011 0f80 tst.w r1, #128 @ 0x80
8000ce6: ea4f 0383 mov.w r3, r3, lsl #2
8000cea: f04f 0224 mov.w r2, #36 @ 0x24
8000cee: d015 beq.n 8000d1c <HAL_PCD_EP_Close+0x46>
8000cf0: fb02 4200 mla r2, r2, r0, r4
8000cf4: f103 0114 add.w r1, r3, #20
8000cf8: 2301 movs r3, #1
8000cfa: 4421 add r1, r4
8000cfc: 7553 strb r3, [r2, #21]
8000cfe: 7008 strb r0, [r1, #0]
8000d00: f894 3494 ldrb.w r3, [r4, #1172] @ 0x494
8000d04: 2b01 cmp r3, #1
8000d06: d012 beq.n 8000d2e <HAL_PCD_EP_Close+0x58>
8000d08: 2301 movs r3, #1
8000d0a: 6820 ldr r0, [r4, #0]
8000d0c: f884 3494 strb.w r3, [r4, #1172] @ 0x494
8000d10: f001 fb86 bl 8002420 <USB_DeactivateEndpoint>
8000d14: 2000 movs r0, #0
8000d16: f884 0494 strb.w r0, [r4, #1172] @ 0x494
8000d1a: bd10 pop {r4, pc}
8000d1c: fb02 4200 mla r2, r2, r0, r4
8000d20: f503 7115 add.w r1, r3, #596 @ 0x254
8000d24: 2300 movs r3, #0
8000d26: 4421 add r1, r4
8000d28: f882 3255 strb.w r3, [r2, #597] @ 0x255
8000d2c: e7e7 b.n 8000cfe <HAL_PCD_EP_Close+0x28>
8000d2e: 2002 movs r0, #2
8000d30: e7f3 b.n 8000d1a <HAL_PCD_EP_Close+0x44>
08000d32 <HAL_PCD_EP_Receive>:
8000d32: b570 push {r4, r5, r6, lr}
8000d34: f001 050f and.w r5, r1, #15
8000d38: 2424 movs r4, #36 @ 0x24
8000d3a: fb04 0105 mla r1, r4, r5, r0
8000d3e: fb04 0405 mla r4, r4, r5, r0
8000d42: e9c4 2398 strd r2, r3, [r4, #608] @ 0x260
8000d46: 2300 movs r3, #0
8000d48: f8c4 3268 str.w r3, [r4, #616] @ 0x268
8000d4c: f884 3255 strb.w r3, [r4, #597] @ 0x255
8000d50: f884 5254 strb.w r5, [r4, #596] @ 0x254
8000d54: 4616 mov r6, r2
8000d56: 7982 ldrb r2, [r0, #6]
8000d58: 6800 ldr r0, [r0, #0]
8000d5a: 2a01 cmp r2, #1
8000d5c: f501 7115 add.w r1, r1, #596 @ 0x254
8000d60: bf08 it eq
8000d62: f8c4 6270 streq.w r6, [r4, #624] @ 0x270
8000d66: f001 fc07 bl 8002578 <USB_EPStartXfer>
8000d6a: 2000 movs r0, #0
8000d6c: bd70 pop {r4, r5, r6, pc}
08000d6e <HAL_PCD_EP_Transmit>:
8000d6e: b570 push {r4, r5, r6, lr}
8000d70: f001 050f and.w r5, r1, #15
8000d74: 2424 movs r4, #36 @ 0x24
8000d76: fb04 0105 mla r1, r4, r5, r0
8000d7a: fb04 0405 mla r4, r4, r5, r0
8000d7e: e9c4 2308 strd r2, r3, [r4, #32]
8000d82: 2300 movs r3, #0
8000d84: 62a3 str r3, [r4, #40] @ 0x28
8000d86: 2301 movs r3, #1
8000d88: 7563 strb r3, [r4, #21]
8000d8a: 7525 strb r5, [r4, #20]
8000d8c: 4616 mov r6, r2
8000d8e: 7982 ldrb r2, [r0, #6]
8000d90: 6800 ldr r0, [r0, #0]
8000d92: 429a cmp r2, r3
8000d94: f101 0114 add.w r1, r1, #20
8000d98: bf08 it eq
8000d9a: 6326 streq r6, [r4, #48] @ 0x30
8000d9c: f001 fbec bl 8002578 <USB_EPStartXfer>
8000da0: 2000 movs r0, #0
8000da2: bd70 pop {r4, r5, r6, pc}
08000da4 <HAL_PCD_EP_SetStall>:
8000da4: b538 push {r3, r4, r5, lr}
8000da6: 7903 ldrb r3, [r0, #4]
8000da8: f001 050f and.w r5, r1, #15
8000dac: 42ab cmp r3, r5
8000dae: 4604 mov r4, r0
8000db0: d32b bcc.n 8000e0a <HAL_PCD_EP_SetStall+0x66>
8000db2: f011 0f80 tst.w r1, #128 @ 0x80
8000db6: f04f 0024 mov.w r0, #36 @ 0x24
8000dba: d01d beq.n 8000df8 <HAL_PCD_EP_SetStall+0x54>
8000dbc: fb00 4105 mla r1, r0, r5, r4
8000dc0: fb00 4005 mla r0, r0, r5, r4
8000dc4: 2301 movs r3, #1
8000dc6: 3114 adds r1, #20
8000dc8: 7543 strb r3, [r0, #21]
8000dca: 2301 movs r3, #1
8000dcc: 708b strb r3, [r1, #2]
8000dce: 700d strb r5, [r1, #0]
8000dd0: f894 2494 ldrb.w r2, [r4, #1172] @ 0x494
8000dd4: 429a cmp r2, r3
8000dd6: d01a beq.n 8000e0e <HAL_PCD_EP_SetStall+0x6a>
8000dd8: 6820 ldr r0, [r4, #0]
8000dda: f884 3494 strb.w r3, [r4, #1172] @ 0x494
8000dde: f001 fced bl 80027bc <USB_EPSetStall>
8000de2: b92d cbnz r5, 8000df0 <HAL_PCD_EP_SetStall+0x4c>
8000de4: 79a1 ldrb r1, [r4, #6]
8000de6: 6820 ldr r0, [r4, #0]
8000de8: f204 429c addw r2, r4, #1180 @ 0x49c
8000dec: f001 fda6 bl 800293c <USB_EP0_OutStart>
8000df0: 2000 movs r0, #0
8000df2: f884 0494 strb.w r0, [r4, #1172] @ 0x494
8000df6: bd38 pop {r3, r4, r5, pc}
8000df8: fb00 4301 mla r3, r0, r1, r4
8000dfc: 461a mov r2, r3
8000dfe: f503 7115 add.w r1, r3, #596 @ 0x254
8000e02: 2300 movs r3, #0
8000e04: f882 3255 strb.w r3, [r2, #597] @ 0x255
8000e08: e7df b.n 8000dca <HAL_PCD_EP_SetStall+0x26>
8000e0a: 2001 movs r0, #1
8000e0c: e7f3 b.n 8000df6 <HAL_PCD_EP_SetStall+0x52>
8000e0e: 2002 movs r0, #2
8000e10: e7f1 b.n 8000df6 <HAL_PCD_EP_SetStall+0x52>
08000e12 <HAL_PCD_EP_ClrStall>:
8000e12: b538 push {r3, r4, r5, lr}
8000e14: 7903 ldrb r3, [r0, #4]
8000e16: f001 020f and.w r2, r1, #15
8000e1a: 4293 cmp r3, r2
8000e1c: 4604 mov r4, r0
8000e1e: d329 bcc.n 8000e74 <HAL_PCD_EP_ClrStall+0x62>
8000e20: eb02 03c2 add.w r3, r2, r2, lsl #3
8000e24: f011 0f80 tst.w r1, #128 @ 0x80
8000e28: ea4f 0383 mov.w r3, r3, lsl #2
8000e2c: f04f 0024 mov.w r0, #36 @ 0x24
8000e30: d017 beq.n 8000e62 <HAL_PCD_EP_ClrStall+0x50>
8000e32: fb00 4002 mla r0, r0, r2, r4
8000e36: f103 0114 add.w r1, r3, #20
8000e3a: 2301 movs r3, #1
8000e3c: 4421 add r1, r4
8000e3e: 7543 strb r3, [r0, #21]
8000e40: 2500 movs r5, #0
8000e42: 708d strb r5, [r1, #2]
8000e44: 700a strb r2, [r1, #0]
8000e46: f894 3494 ldrb.w r3, [r4, #1172] @ 0x494
8000e4a: 2b01 cmp r3, #1
8000e4c: d014 beq.n 8000e78 <HAL_PCD_EP_ClrStall+0x66>
8000e4e: 2301 movs r3, #1
8000e50: 6820 ldr r0, [r4, #0]
8000e52: f884 3494 strb.w r3, [r4, #1172] @ 0x494
8000e56: f001 fcdc bl 8002812 <USB_EPClearStall>
8000e5a: f884 5494 strb.w r5, [r4, #1172] @ 0x494
8000e5e: 4628 mov r0, r5
8000e60: bd38 pop {r3, r4, r5, pc}
8000e62: fb00 4002 mla r0, r0, r2, r4
8000e66: f503 7115 add.w r1, r3, #596 @ 0x254
8000e6a: 2300 movs r3, #0
8000e6c: 4421 add r1, r4
8000e6e: f880 3255 strb.w r3, [r0, #597] @ 0x255
8000e72: e7e5 b.n 8000e40 <HAL_PCD_EP_ClrStall+0x2e>
8000e74: 2001 movs r0, #1
8000e76: e7f3 b.n 8000e60 <HAL_PCD_EP_ClrStall+0x4e>
8000e78: 2002 movs r0, #2
8000e7a: e7f1 b.n 8000e60 <HAL_PCD_EP_ClrStall+0x4e>
08000e7c <HAL_PCD_EP_Abort>:
8000e7c: f001 030f and.w r3, r1, #15
8000e80: eb03 03c3 add.w r3, r3, r3, lsl #3
8000e84: 060a lsls r2, r1, #24
8000e86: ea4f 0383 mov.w r3, r3, lsl #2
8000e8a: bf4c ite mi
8000e8c: f103 0114 addmi.w r1, r3, #20
8000e90: f503 7115 addpl.w r1, r3, #596 @ 0x254
8000e94: 4401 add r1, r0
8000e96: 6800 ldr r0, [r0, #0]
8000e98: f001 bb18 b.w 80024cc <USB_EPStopXfer>
08000e9c <HAL_PCD_IRQHandler>:
8000e9c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
8000ea0: 6806 ldr r6, [r0, #0]
8000ea2: b089 sub sp, #36 @ 0x24
8000ea4: 4604 mov r4, r0
8000ea6: 4630 mov r0, r6
8000ea8: f001 fd36 bl 8002918 <USB_GetMode>
8000eac: 9003 str r0, [sp, #12]
8000eae: 2800 cmp r0, #0
8000eb0: f040 8170 bne.w 8001194 <HAL_PCD_IRQHandler+0x2f8>
8000eb4: 6820 ldr r0, [r4, #0]
8000eb6: f001 fd01 bl 80028bc <USB_ReadInterrupts>
8000eba: 2800 cmp r0, #0
8000ebc: f000 816a beq.w 8001194 <HAL_PCD_IRQHandler+0x2f8>
8000ec0: f8d6 3808 ldr.w r3, [r6, #2056] @ 0x808
8000ec4: 6820 ldr r0, [r4, #0]
8000ec6: f3c3 230d ubfx r3, r3, #8, #14
8000eca: f8c4 34d4 str.w r3, [r4, #1236] @ 0x4d4
8000ece: f001 fcf5 bl 80028bc <USB_ReadInterrupts>
8000ed2: 0787 lsls r7, r0, #30
8000ed4: bf48 it mi
8000ed6: 6822 ldrmi r2, [r4, #0]
8000ed8: 6820 ldr r0, [r4, #0]
8000eda: bf42 ittt mi
8000edc: 6953 ldrmi r3, [r2, #20]
8000ede: f003 0302 andmi.w r3, r3, #2
8000ee2: 6153 strmi r3, [r2, #20]
8000ee4: f001 fcea bl 80028bc <USB_ReadInterrupts>
8000ee8: 06c0 lsls r0, r0, #27
8000eea: f506 6500 add.w r5, r6, #2048 @ 0x800
8000eee: d52d bpl.n 8000f4c <HAL_PCD_IRQHandler+0xb0>
8000ef0: 6822 ldr r2, [r4, #0]
8000ef2: 6993 ldr r3, [r2, #24]
8000ef4: f023 0310 bic.w r3, r3, #16
8000ef8: 6193 str r3, [r2, #24]
8000efa: f8d6 8020 ldr.w r8, [r6, #32]
8000efe: f408 13f0 and.w r3, r8, #1966080 @ 0x1e0000
8000f02: f5b3 2f80 cmp.w r3, #262144 @ 0x40000
8000f06: f008 070f and.w r7, r8, #15
8000f0a: f040 8146 bne.w 800119a <HAL_PCD_IRQHandler+0x2fe>
8000f0e: f647 73f0 movw r3, #32752 @ 0x7ff0
8000f12: ea18 0f03 tst.w r8, r3
8000f16: d014 beq.n 8000f42 <HAL_PCD_IRQHandler+0xa6>
8000f18: 2324 movs r3, #36 @ 0x24
8000f1a: fb03 4707 mla r7, r3, r7, r4
8000f1e: f3c8 190a ubfx r9, r8, #4, #11
8000f22: f8d7 1260 ldr.w r1, [r7, #608] @ 0x260
8000f26: 464a mov r2, r9
8000f28: 4630 mov r0, r6
8000f2a: f001 fc27 bl 800277c <USB_ReadPacket>
8000f2e: f8d7 3260 ldr.w r3, [r7, #608] @ 0x260
8000f32: 444b add r3, r9
8000f34: f8c7 3260 str.w r3, [r7, #608] @ 0x260
8000f38: f8d7 3268 ldr.w r3, [r7, #616] @ 0x268
8000f3c: 444b add r3, r9
8000f3e: f8c7 3268 str.w r3, [r7, #616] @ 0x268
8000f42: 6822 ldr r2, [r4, #0]
8000f44: 6993 ldr r3, [r2, #24]
8000f46: f043 0310 orr.w r3, r3, #16
8000f4a: 6193 str r3, [r2, #24]
8000f4c: 6820 ldr r0, [r4, #0]
8000f4e: f001 fcb5 bl 80028bc <USB_ReadInterrupts>
8000f52: 0301 lsls r1, r0, #12
8000f54: f100 8134 bmi.w 80011c0 <HAL_PCD_IRQHandler+0x324>
8000f58: 6820 ldr r0, [r4, #0]
8000f5a: f001 fcaf bl 80028bc <USB_ReadInterrupts>
8000f5e: 0342 lsls r2, r0, #13
8000f60: d50d bpl.n 8000f7e <HAL_PCD_IRQHandler+0xe2>
8000f62: 6820 ldr r0, [r4, #0]
8000f64: f001 fcb6 bl 80028d4 <USB_ReadDevAllInEpInterrupt>
8000f68: 4627 mov r7, r4
8000f6a: 9004 str r0, [sp, #16]
8000f6c: f506 6b10 add.w fp, r6, #2304 @ 0x900
8000f70: f04f 0a00 mov.w sl, #0
8000f74: 9b04 ldr r3, [sp, #16]
8000f76: 6820 ldr r0, [r4, #0]
8000f78: 2b00 cmp r3, #0
8000f7a: f040 81eb bne.w 8001354 <HAL_PCD_IRQHandler+0x4b8>
8000f7e: 6820 ldr r0, [r4, #0]
8000f80: f001 fc9c bl 80028bc <USB_ReadInterrupts>
8000f84: 2800 cmp r0, #0
8000f86: da13 bge.n 8000fb0 <HAL_PCD_IRQHandler+0x114>
8000f88: 686b ldr r3, [r5, #4]
8000f8a: f023 0301 bic.w r3, r3, #1
8000f8e: 606b str r3, [r5, #4]
8000f90: f894 34cc ldrb.w r3, [r4, #1228] @ 0x4cc
8000f94: 2b01 cmp r3, #1
8000f96: f040 8283 bne.w 80014a0 <HAL_PCD_IRQHandler+0x604>
8000f9a: 2100 movs r1, #0
8000f9c: f884 14cc strb.w r1, [r4, #1228] @ 0x4cc
8000fa0: 4620 mov r0, r4
8000fa2: f002 fbdb bl 800375c <HAL_PCDEx_LPM_Callback>
8000fa6: 6822 ldr r2, [r4, #0]
8000fa8: 6953 ldr r3, [r2, #20]
8000faa: f003 4300 and.w r3, r3, #2147483648 @ 0x80000000
8000fae: 6153 str r3, [r2, #20]
8000fb0: 6820 ldr r0, [r4, #0]
8000fb2: f001 fc83 bl 80028bc <USB_ReadInterrupts>
8000fb6: 0503 lsls r3, r0, #20
8000fb8: d50a bpl.n 8000fd0 <HAL_PCD_IRQHandler+0x134>
8000fba: 68ab ldr r3, [r5, #8]
8000fbc: 07df lsls r7, r3, #31
8000fbe: d502 bpl.n 8000fc6 <HAL_PCD_IRQHandler+0x12a>
8000fc0: 4620 mov r0, r4
8000fc2: f002 fb5f bl 8003684 <HAL_PCD_SuspendCallback>
8000fc6: 6822 ldr r2, [r4, #0]
8000fc8: 6953 ldr r3, [r2, #20]
8000fca: f403 6300 and.w r3, r3, #2048 @ 0x800
8000fce: 6153 str r3, [r2, #20]
8000fd0: 6820 ldr r0, [r4, #0]
8000fd2: f001 fc73 bl 80028bc <USB_ReadInterrupts>
8000fd6: 0100 lsls r0, r0, #4
8000fd8: d514 bpl.n 8001004 <HAL_PCD_IRQHandler+0x168>
8000fda: 6823 ldr r3, [r4, #0]
8000fdc: 695a ldr r2, [r3, #20]
8000fde: f002 6200 and.w r2, r2, #134217728 @ 0x8000000
8000fe2: 615a str r2, [r3, #20]
8000fe4: f894 24cc ldrb.w r2, [r4, #1228] @ 0x4cc
8000fe8: 2a00 cmp r2, #0
8000fea: f040 825d bne.w 80014a8 <HAL_PCD_IRQHandler+0x60c>
8000fee: 2101 movs r1, #1
8000ff0: f884 14cc strb.w r1, [r4, #1228] @ 0x4cc
8000ff4: 6d5b ldr r3, [r3, #84] @ 0x54
8000ff6: f3c3 0383 ubfx r3, r3, #2, #4
8000ffa: f8c4 34d0 str.w r3, [r4, #1232] @ 0x4d0
8000ffe: 4620 mov r0, r4
8001000: f002 fbac bl 800375c <HAL_PCDEx_LPM_Callback>
8001004: 6820 ldr r0, [r4, #0]
8001006: f001 fc59 bl 80028bc <USB_ReadInterrupts>
800100a: 04c1 lsls r1, r0, #19
800100c: d533 bpl.n 8001076 <HAL_PCD_IRQHandler+0x1da>
800100e: 686b ldr r3, [r5, #4]
8001010: 6820 ldr r0, [r4, #0]
8001012: f023 0301 bic.w r3, r3, #1
8001016: 606b str r3, [r5, #4]
8001018: 2110 movs r1, #16
800101a: f001 f8b3 bl 8002184 <USB_FlushTxFifo>
800101e: 7920 ldrb r0, [r4, #4]
8001020: f506 6310 add.w r3, r6, #2304 @ 0x900
8001024: f64f 317f movw r1, #64383 @ 0xfb7f
8001028: 9a03 ldr r2, [sp, #12]
800102a: 4290 cmp r0, r2
800102c: f200 8240 bhi.w 80014b0 <HAL_PCD_IRQHandler+0x614>
8001030: 69eb ldr r3, [r5, #28]
8001032: f043 1301 orr.w r3, r3, #65537 @ 0x10001
8001036: 61eb str r3, [r5, #28]
8001038: 7be3 ldrb r3, [r4, #15]
800103a: 2b00 cmp r3, #0
800103c: f000 8254 beq.w 80014e8 <HAL_PCD_IRQHandler+0x64c>
8001040: f8d5 3084 ldr.w r3, [r5, #132] @ 0x84
8001044: f043 030b orr.w r3, r3, #11
8001048: f8c5 3084 str.w r3, [r5, #132] @ 0x84
800104c: 6c6b ldr r3, [r5, #68] @ 0x44
800104e: f043 030b orr.w r3, r3, #11
8001052: 646b str r3, [r5, #68] @ 0x44
8001054: f8d6 3800 ldr.w r3, [r6, #2048] @ 0x800
8001058: 6820 ldr r0, [r4, #0]
800105a: f423 63fe bic.w r3, r3, #2032 @ 0x7f0
800105e: f8c6 3800 str.w r3, [r6, #2048] @ 0x800
8001062: f204 429c addw r2, r4, #1180 @ 0x49c
8001066: 79a1 ldrb r1, [r4, #6]
8001068: f001 fc68 bl 800293c <USB_EP0_OutStart>
800106c: 6822 ldr r2, [r4, #0]
800106e: 6953 ldr r3, [r2, #20]
8001070: f403 5380 and.w r3, r3, #4096 @ 0x1000
8001074: 6153 str r3, [r2, #20]
8001076: 6820 ldr r0, [r4, #0]
8001078: f001 fc20 bl 80028bc <USB_ReadInterrupts>
800107c: 0482 lsls r2, r0, #18
800107e: d516 bpl.n 80010ae <HAL_PCD_IRQHandler+0x212>
8001080: 6820 ldr r0, [r4, #0]
8001082: f001 fc4d bl 8002920 <USB_ActivateSetup>
8001086: 6820 ldr r0, [r4, #0]
8001088: f001 f980 bl 800238c <USB_GetDevSpeed>
800108c: 71e0 strb r0, [r4, #7]
800108e: 6827 ldr r7, [r4, #0]
8001090: f000 fb3a bl 8001708 <HAL_RCC_GetHCLKFreq>
8001094: 79e2 ldrb r2, [r4, #7]
8001096: 4601 mov r1, r0
8001098: 4638 mov r0, r7
800109a: f000 ffc7 bl 800202c <USB_SetTurnaroundTime>
800109e: 4620 mov r0, r4
80010a0: f002 fadd bl 800365e <HAL_PCD_ResetCallback>
80010a4: 6822 ldr r2, [r4, #0]
80010a6: 6953 ldr r3, [r2, #20]
80010a8: f403 5300 and.w r3, r3, #8192 @ 0x2000
80010ac: 6153 str r3, [r2, #20]
80010ae: 6820 ldr r0, [r4, #0]
80010b0: f001 fc04 bl 80028bc <USB_ReadInterrupts>
80010b4: 0703 lsls r3, r0, #28
80010b6: d507 bpl.n 80010c8 <HAL_PCD_IRQHandler+0x22c>
80010b8: 4620 mov r0, r4
80010ba: f002 facc bl 8003656 <HAL_PCD_SOFCallback>
80010be: 6822 ldr r2, [r4, #0]
80010c0: 6953 ldr r3, [r2, #20]
80010c2: f003 0308 and.w r3, r3, #8
80010c6: 6153 str r3, [r2, #20]
80010c8: 6820 ldr r0, [r4, #0]
80010ca: f001 fbf7 bl 80028bc <USB_ReadInterrupts>
80010ce: 0607 lsls r7, r0, #24
80010d0: f100 8215 bmi.w 80014fe <HAL_PCD_IRQHandler+0x662>
80010d4: 6820 ldr r0, [r4, #0]
80010d6: f001 fbf1 bl 80028bc <USB_ReadInterrupts>
80010da: 02c0 lsls r0, r0, #11
80010dc: d50c bpl.n 80010f8 <HAL_PCD_IRQHandler+0x25c>
80010de: 46a0 mov r8, r4
80010e0: f506 6912 add.w r9, r6, #2336 @ 0x920
80010e4: 2701 movs r7, #1
80010e6: 7923 ldrb r3, [r4, #4]
80010e8: 42bb cmp r3, r7
80010ea: f200 8221 bhi.w 8001530 <HAL_PCD_IRQHandler+0x694>
80010ee: 6822 ldr r2, [r4, #0]
80010f0: 6953 ldr r3, [r2, #20]
80010f2: f403 1380 and.w r3, r3, #1048576 @ 0x100000
80010f6: 6153 str r3, [r2, #20]
80010f8: 6820 ldr r0, [r4, #0]
80010fa: f001 fbdf bl 80028bc <USB_ReadInterrupts>
80010fe: 0281 lsls r1, r0, #10
8001100: d52b bpl.n 800115a <HAL_PCD_IRQHandler+0x2be>
8001102: f894 e004 ldrb.w lr, [r4, #4]
8001106: 4623 mov r3, r4
8001108: f506 6132 add.w r1, r6, #2848 @ 0xb20
800110c: f04f 0c01 mov.w ip, #1
8001110: 45e6 cmp lr, ip
8001112: d91d bls.n 8001150 <HAL_PCD_IRQHandler+0x2b4>
8001114: f893 727c ldrb.w r7, [r3, #636] @ 0x27c
8001118: 6808 ldr r0, [r1, #0]
800111a: 2f01 cmp r7, #1
800111c: f040 821e bne.w 800155c <HAL_PCD_IRQHandler+0x6c0>
8001120: 2800 cmp r0, #0
8001122: f280 821b bge.w 800155c <HAL_PCD_IRQHandler+0x6c0>
8001126: f8d4 24d4 ldr.w r2, [r4, #1236] @ 0x4d4
800112a: ea82 4010 eor.w r0, r2, r0, lsr #16
800112e: 07c2 lsls r2, r0, #31
8001130: f100 8214 bmi.w 800155c <HAL_PCD_IRQHandler+0x6c0>
8001134: f883 727b strb.w r7, [r3, #635] @ 0x27b
8001138: 69b0 ldr r0, [r6, #24]
800113a: f040 0080 orr.w r0, r0, #128 @ 0x80
800113e: 61b0 str r0, [r6, #24]
8001140: 6970 ldr r0, [r6, #20]
8001142: 0600 lsls r0, r0, #24
8001144: f100 820a bmi.w 800155c <HAL_PCD_IRQHandler+0x6c0>
8001148: 686b ldr r3, [r5, #4]
800114a: f443 7300 orr.w r3, r3, #512 @ 0x200
800114e: 606b str r3, [r5, #4]
8001150: 6822 ldr r2, [r4, #0]
8001152: 6953 ldr r3, [r2, #20]
8001154: f403 1300 and.w r3, r3, #2097152 @ 0x200000
8001158: 6153 str r3, [r2, #20]
800115a: 6820 ldr r0, [r4, #0]
800115c: f001 fbae bl 80028bc <USB_ReadInterrupts>
8001160: 0041 lsls r1, r0, #1
8001162: d507 bpl.n 8001174 <HAL_PCD_IRQHandler+0x2d8>
8001164: 4620 mov r0, r4
8001166: f002 fab1 bl 80036cc <HAL_PCD_ConnectCallback>
800116a: 6822 ldr r2, [r4, #0]
800116c: 6953 ldr r3, [r2, #20]
800116e: f003 4380 and.w r3, r3, #1073741824 @ 0x40000000
8001172: 6153 str r3, [r2, #20]
8001174: 6820 ldr r0, [r4, #0]
8001176: f001 fba1 bl 80028bc <USB_ReadInterrupts>
800117a: 0742 lsls r2, r0, #29
800117c: d50a bpl.n 8001194 <HAL_PCD_IRQHandler+0x2f8>
800117e: 6823 ldr r3, [r4, #0]
8001180: 685d ldr r5, [r3, #4]
8001182: 076b lsls r3, r5, #29
8001184: d502 bpl.n 800118c <HAL_PCD_IRQHandler+0x2f0>
8001186: 4620 mov r0, r4
8001188: f002 faa4 bl 80036d4 <HAL_PCD_DisconnectCallback>
800118c: 6822 ldr r2, [r4, #0]
800118e: 6853 ldr r3, [r2, #4]
8001190: 432b orrs r3, r5
8001192: 6053 str r3, [r2, #4]
8001194: b009 add sp, #36 @ 0x24
8001196: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
800119a: f5b3 2f40 cmp.w r3, #786432 @ 0xc0000
800119e: f47f aed0 bne.w 8000f42 <HAL_PCD_IRQHandler+0xa6>
80011a2: 2208 movs r2, #8
80011a4: f204 419c addw r1, r4, #1180 @ 0x49c
80011a8: 4630 mov r0, r6
80011aa: f001 fae7 bl 800277c <USB_ReadPacket>
80011ae: 2324 movs r3, #36 @ 0x24
80011b0: fb03 4707 mla r7, r3, r7, r4
80011b4: f3c8 180a ubfx r8, r8, #4, #11
80011b8: f8d7 3268 ldr.w r3, [r7, #616] @ 0x268
80011bc: 4443 add r3, r8
80011be: e6be b.n 8000f3e <HAL_PCD_IRQHandler+0xa2>
80011c0: 6820 ldr r0, [r4, #0]
80011c2: f001 fb7f bl 80028c4 <USB_ReadDevAllOutEpInterrupt>
80011c6: f506 6830 add.w r8, r6, #2816 @ 0xb00
80011ca: 9004 str r0, [sp, #16]
80011cc: 46a2 mov sl, r4
80011ce: 2700 movs r7, #0
80011d0: 9b04 ldr r3, [sp, #16]
80011d2: 6820 ldr r0, [r4, #0]
80011d4: 2b00 cmp r3, #0
80011d6: f43f aebf beq.w 8000f58 <HAL_PCD_IRQHandler+0xbc>
80011da: 9b04 ldr r3, [sp, #16]
80011dc: 07db lsls r3, r3, #31
80011de: d578 bpl.n 80012d2 <HAL_PCD_IRQHandler+0x436>
80011e0: fa5f fb87 uxtb.w fp, r7
80011e4: 4659 mov r1, fp
80011e6: f001 fb7d bl 80028e4 <USB_ReadDevOutEPInterrupt>
80011ea: f010 0f01 tst.w r0, #1
80011ee: 4681 mov r9, r0
80011f0: d01f beq.n 8001232 <HAL_PCD_IRQHandler+0x396>
80011f2: 6820 ldr r0, [r4, #0]
80011f4: 2301 movs r3, #1
80011f6: f8c8 3008 str.w r3, [r8, #8]
80011fa: f894 c006 ldrb.w ip, [r4, #6]
80011fe: 6c01 ldr r1, [r0, #64] @ 0x40
8001200: f500 6330 add.w r3, r0, #2816 @ 0xb00
8001204: eb03 1347 add.w r3, r3, r7, lsl #5
8001208: f1bc 0f01 cmp.w ip, #1
800120c: 689a ldr r2, [r3, #8]
800120e: f040 808b bne.w 8001328 <HAL_PCD_IRQHandler+0x48c>
8001212: f012 0f08 tst.w r2, #8
8001216: d007 beq.n 8001228 <HAL_PCD_IRQHandler+0x38c>
8001218: 48b1 ldr r0, [pc, #708] @ (80014e0 <HAL_PCD_IRQHandler+0x644>)
800121a: 4281 cmp r1, r0
800121c: d909 bls.n 8001232 <HAL_PCD_IRQHandler+0x396>
800121e: 0412 lsls r2, r2, #16
8001220: d507 bpl.n 8001232 <HAL_PCD_IRQHandler+0x396>
8001222: f44f 4200 mov.w r2, #32768 @ 0x8000
8001226: e003 b.n 8001230 <HAL_PCD_IRQHandler+0x394>
8001228: f012 0f20 tst.w r2, #32
800122c: d05a beq.n 80012e4 <HAL_PCD_IRQHandler+0x448>
800122e: 2220 movs r2, #32
8001230: 609a str r2, [r3, #8]
8001232: f019 0f08 tst.w r9, #8
8001236: d021 beq.n 800127c <HAL_PCD_IRQHandler+0x3e0>
8001238: 2308 movs r3, #8
800123a: f8c8 3008 str.w r3, [r8, #8]
800123e: 6823 ldr r3, [r4, #0]
8001240: 49a7 ldr r1, [pc, #668] @ (80014e0 <HAL_PCD_IRQHandler+0x644>)
8001242: 6c1a ldr r2, [r3, #64] @ 0x40
8001244: f503 6330 add.w r3, r3, #2816 @ 0xb00
8001248: eb03 1347 add.w r3, r3, r7, lsl #5
800124c: 428a cmp r2, r1
800124e: 6898 ldr r0, [r3, #8]
8001250: d904 bls.n 800125c <HAL_PCD_IRQHandler+0x3c0>
8001252: 0400 lsls r0, r0, #16
8001254: bf44 itt mi
8001256: f44f 4000 movmi.w r0, #32768 @ 0x8000
800125a: 6098 strmi r0, [r3, #8]
800125c: 4620 mov r0, r4
800125e: 9205 str r2, [sp, #20]
8001260: f002 f9e2 bl 8003628 <HAL_PCD_SetupStageCallback>
8001264: 9a05 ldr r2, [sp, #20]
8001266: 499e ldr r1, [pc, #632] @ (80014e0 <HAL_PCD_IRQHandler+0x644>)
8001268: 428a cmp r2, r1
800126a: d907 bls.n 800127c <HAL_PCD_IRQHandler+0x3e0>
800126c: 79a1 ldrb r1, [r4, #6]
800126e: 2901 cmp r1, #1
8001270: d104 bne.n 800127c <HAL_PCD_IRQHandler+0x3e0>
8001272: 6820 ldr r0, [r4, #0]
8001274: f204 429c addw r2, r4, #1180 @ 0x49c
8001278: f001 fb60 bl 800293c <USB_EP0_OutStart>
800127c: f019 0f10 tst.w r9, #16
8001280: bf1c itt ne
8001282: 2310 movne r3, #16
8001284: f8c8 3008 strne.w r3, [r8, #8]
8001288: f019 0f02 tst.w r9, #2
800128c: d014 beq.n 80012b8 <HAL_PCD_IRQHandler+0x41c>
800128e: 6973 ldr r3, [r6, #20]
8001290: 0619 lsls r1, r3, #24
8001292: bf42 ittt mi
8001294: 686b ldrmi r3, [r5, #4]
8001296: f443 6380 orrmi.w r3, r3, #1024 @ 0x400
800129a: 606b strmi r3, [r5, #4]
800129c: f89a 3257 ldrb.w r3, [sl, #599] @ 0x257
80012a0: 2b01 cmp r3, #1
80012a2: d106 bne.n 80012b2 <HAL_PCD_IRQHandler+0x416>
80012a4: 2300 movs r3, #0
80012a6: f88a 3257 strb.w r3, [sl, #599] @ 0x257
80012aa: 4659 mov r1, fp
80012ac: 4620 mov r0, r4
80012ae: f002 fa05 bl 80036bc <HAL_PCD_ISOOUTIncompleteCallback>
80012b2: 2302 movs r3, #2
80012b4: f8c8 3008 str.w r3, [r8, #8]
80012b8: f019 0f20 tst.w r9, #32
80012bc: bf1c itt ne
80012be: 2320 movne r3, #32
80012c0: f8c8 3008 strne.w r3, [r8, #8]
80012c4: f419 5f00 tst.w r9, #8192 @ 0x2000
80012c8: bf1c itt ne
80012ca: f44f 5300 movne.w r3, #8192 @ 0x2000
80012ce: f8c8 3008 strne.w r3, [r8, #8]
80012d2: 9b04 ldr r3, [sp, #16]
80012d4: 085b lsrs r3, r3, #1
80012d6: 3701 adds r7, #1
80012d8: 9304 str r3, [sp, #16]
80012da: f108 0820 add.w r8, r8, #32
80012de: f10a 0a24 add.w sl, sl, #36 @ 0x24
80012e2: e775 b.n 80011d0 <HAL_PCD_IRQHandler+0x334>
80012e4: f8df c1f8 ldr.w ip, [pc, #504] @ 80014e0 <HAL_PCD_IRQHandler+0x644>
80012e8: 4561 cmp r1, ip
80012ea: d901 bls.n 80012f0 <HAL_PCD_IRQHandler+0x454>
80012ec: 0412 lsls r2, r2, #16
80012ee: d498 bmi.n 8001222 <HAL_PCD_IRQHandler+0x386>
80012f0: 691a ldr r2, [r3, #16]
80012f2: f8da 3274 ldr.w r3, [sl, #628] @ 0x274
80012f6: f3c2 0212 ubfx r2, r2, #0, #19
80012fa: 1a9b subs r3, r3, r2
80012fc: f8ca 3268 str.w r3, [sl, #616] @ 0x268
8001300: b96f cbnz r7, 800131e <HAL_PCD_IRQHandler+0x482>
8001302: f8d4 2264 ldr.w r2, [r4, #612] @ 0x264
8001306: b92a cbnz r2, 8001314 <HAL_PCD_IRQHandler+0x478>
8001308: f204 429c addw r2, r4, #1180 @ 0x49c
800130c: 2101 movs r1, #1
800130e: f001 fb15 bl 800293c <USB_EP0_OutStart>
8001312: e004 b.n 800131e <HAL_PCD_IRQHandler+0x482>
8001314: f8d4 2260 ldr.w r2, [r4, #608] @ 0x260
8001318: 441a add r2, r3
800131a: f8c4 2260 str.w r2, [r4, #608] @ 0x260
800131e: 4659 mov r1, fp
8001320: 4620 mov r0, r4
8001322: f002 f987 bl 8003634 <HAL_PCD_DataOutStageCallback>
8001326: e784 b.n 8001232 <HAL_PCD_IRQHandler+0x396>
8001328: f8df c1b8 ldr.w ip, [pc, #440] @ 80014e4 <HAL_PCD_IRQHandler+0x648>
800132c: 4561 cmp r1, ip
800132e: d107 bne.n 8001340 <HAL_PCD_IRQHandler+0x4a4>
8001330: 0411 lsls r1, r2, #16
8001332: f53f af76 bmi.w 8001222 <HAL_PCD_IRQHandler+0x386>
8001336: 0692 lsls r2, r2, #26
8001338: d5f1 bpl.n 800131e <HAL_PCD_IRQHandler+0x482>
800133a: 2220 movs r2, #32
800133c: 609a str r2, [r3, #8]
800133e: e7ee b.n 800131e <HAL_PCD_IRQHandler+0x482>
8001340: 2f00 cmp r7, #0
8001342: d1ec bne.n 800131e <HAL_PCD_IRQHandler+0x482>
8001344: f8d4 3264 ldr.w r3, [r4, #612] @ 0x264
8001348: 2b00 cmp r3, #0
800134a: d1e8 bne.n 800131e <HAL_PCD_IRQHandler+0x482>
800134c: f204 429c addw r2, r4, #1180 @ 0x49c
8001350: 4639 mov r1, r7
8001352: e7dc b.n 800130e <HAL_PCD_IRQHandler+0x472>
8001354: 9b04 ldr r3, [sp, #16]
8001356: 07da lsls r2, r3, #31
8001358: f140 8099 bpl.w 800148e <HAL_PCD_IRQHandler+0x5f2>
800135c: fa5f f38a uxtb.w r3, sl
8001360: 4619 mov r1, r3
8001362: 9305 str r3, [sp, #20]
8001364: f001 fac7 bl 80028f6 <USB_ReadDevInEPInterrupt>
8001368: f010 0f01 tst.w r0, #1
800136c: 4680 mov r8, r0
800136e: d01f beq.n 80013b0 <HAL_PCD_IRQHandler+0x514>
8001370: 6b6b ldr r3, [r5, #52] @ 0x34
8001372: 2101 movs r1, #1
8001374: f00a 020f and.w r2, sl, #15
8001378: fa01 f202 lsl.w r2, r1, r2
800137c: ea23 0302 bic.w r3, r3, r2
8001380: 636b str r3, [r5, #52] @ 0x34
8001382: f8cb 1008 str.w r1, [fp, #8]
8001386: 79a1 ldrb r1, [r4, #6]
8001388: 2901 cmp r1, #1
800138a: d10d bne.n 80013a8 <HAL_PCD_IRQHandler+0x50c>
800138c: e9d7 2307 ldrd r2, r3, [r7, #28]
8001390: 4413 add r3, r2
8001392: 623b str r3, [r7, #32]
8001394: f1ba 0f00 cmp.w sl, #0
8001398: d106 bne.n 80013a8 <HAL_PCD_IRQHandler+0x50c>
800139a: 6a63 ldr r3, [r4, #36] @ 0x24
800139c: b923 cbnz r3, 80013a8 <HAL_PCD_IRQHandler+0x50c>
800139e: 6820 ldr r0, [r4, #0]
80013a0: f204 429c addw r2, r4, #1180 @ 0x49c
80013a4: f001 faca bl 800293c <USB_EP0_OutStart>
80013a8: 9905 ldr r1, [sp, #20]
80013aa: 4620 mov r0, r4
80013ac: f002 f94b bl 8003646 <HAL_PCD_DataInStageCallback>
80013b0: f018 0f08 tst.w r8, #8
80013b4: bf1c itt ne
80013b6: 2308 movne r3, #8
80013b8: f8cb 3008 strne.w r3, [fp, #8]
80013bc: f018 0f10 tst.w r8, #16
80013c0: bf1c itt ne
80013c2: 2310 movne r3, #16
80013c4: f8cb 3008 strne.w r3, [fp, #8]
80013c8: f018 0f40 tst.w r8, #64 @ 0x40
80013cc: bf1c itt ne
80013ce: 2340 movne r3, #64 @ 0x40
80013d0: f8cb 3008 strne.w r3, [fp, #8]
80013d4: f018 0f02 tst.w r8, #2
80013d8: d00f beq.n 80013fa <HAL_PCD_IRQHandler+0x55e>
80013da: 4651 mov r1, sl
80013dc: 4630 mov r0, r6
80013de: f000 fed1 bl 8002184 <USB_FlushTxFifo>
80013e2: 7dfb ldrb r3, [r7, #23]
80013e4: 2b01 cmp r3, #1
80013e6: d105 bne.n 80013f4 <HAL_PCD_IRQHandler+0x558>
80013e8: 2300 movs r3, #0
80013ea: 9905 ldr r1, [sp, #20]
80013ec: 75fb strb r3, [r7, #23]
80013ee: 4620 mov r0, r4
80013f0: f002 f968 bl 80036c4 <HAL_PCD_ISOINIncompleteCallback>
80013f4: 2302 movs r3, #2
80013f6: f8cb 3008 str.w r3, [fp, #8]
80013fa: 6823 ldr r3, [r4, #0]
80013fc: 9306 str r3, [sp, #24]
80013fe: f018 0f80 tst.w r8, #128 @ 0x80
8001402: d044 beq.n 800148e <HAL_PCD_IRQHandler+0x5f2>
8001404: e9d7 3209 ldrd r3, r2, [r7, #36] @ 0x24
8001408: 429a cmp r2, r3
800140a: d840 bhi.n 800148e <HAL_PCD_IRQHandler+0x5f2>
800140c: eba3 0802 sub.w r8, r3, r2
8001410: 69fb ldr r3, [r7, #28]
8001412: 4598 cmp r8, r3
8001414: bf28 it cs
8001416: 4698 movcs r8, r3
8001418: 9b06 ldr r3, [sp, #24]
800141a: f503 6310 add.w r3, r3, #2304 @ 0x900
800141e: f108 0803 add.w r8, r8, #3
8001422: eb03 134a add.w r3, r3, sl, lsl #5
8001426: ea4f 0898 mov.w r8, r8, lsr #2
800142a: 9307 str r3, [sp, #28]
800142c: 9b07 ldr r3, [sp, #28]
800142e: 6999 ldr r1, [r3, #24]
8001430: b289 uxth r1, r1
8001432: 4541 cmp r1, r8
8001434: e9d7 3209 ldrd r3, r2, [r7, #36] @ 0x24
8001438: d327 bcc.n 800148a <HAL_PCD_IRQHandler+0x5ee>
800143a: 4293 cmp r3, r2
800143c: d80b bhi.n 8001456 <HAL_PCD_IRQHandler+0x5ba>
800143e: 9b06 ldr r3, [sp, #24]
8001440: f00a 000f and.w r0, sl, #15
8001444: f8d3 2834 ldr.w r2, [r3, #2100] @ 0x834
8001448: 2101 movs r1, #1
800144a: 4081 lsls r1, r0
800144c: ea22 0201 bic.w r2, r2, r1
8001450: f8c3 2834 str.w r2, [r3, #2100] @ 0x834
8001454: e01b b.n 800148e <HAL_PCD_IRQHandler+0x5f2>
8001456: eba3 0902 sub.w r9, r3, r2
800145a: 69fb ldr r3, [r7, #28]
800145c: 9a05 ldr r2, [sp, #20]
800145e: 9806 ldr r0, [sp, #24]
8001460: 4599 cmp r9, r3
8001462: bf28 it cs
8001464: 4699 movcs r9, r3
8001466: 79a3 ldrb r3, [r4, #6]
8001468: 9300 str r3, [sp, #0]
800146a: 6a39 ldr r1, [r7, #32]
800146c: fa1f f389 uxth.w r3, r9
8001470: f001 f86e bl 8002550 <USB_WritePacket>
8001474: 6a3b ldr r3, [r7, #32]
8001476: 444b add r3, r9
8001478: 623b str r3, [r7, #32]
800147a: 6abb ldr r3, [r7, #40] @ 0x28
800147c: f109 0803 add.w r8, r9, #3
8001480: 444b add r3, r9
8001482: ea4f 0898 mov.w r8, r8, lsr #2
8001486: 62bb str r3, [r7, #40] @ 0x28
8001488: e7d0 b.n 800142c <HAL_PCD_IRQHandler+0x590>
800148a: 4293 cmp r3, r2
800148c: d9d7 bls.n 800143e <HAL_PCD_IRQHandler+0x5a2>
800148e: 9b04 ldr r3, [sp, #16]
8001490: 085b lsrs r3, r3, #1
8001492: f10a 0a01 add.w sl, sl, #1
8001496: 9304 str r3, [sp, #16]
8001498: 3724 adds r7, #36 @ 0x24
800149a: f10b 0b20 add.w fp, fp, #32
800149e: e569 b.n 8000f74 <HAL_PCD_IRQHandler+0xd8>
80014a0: 4620 mov r0, r4
80014a2: f002 f907 bl 80036b4 <HAL_PCD_ResumeCallback>
80014a6: e57e b.n 8000fa6 <HAL_PCD_IRQHandler+0x10a>
80014a8: 4620 mov r0, r4
80014aa: f002 f8eb bl 8003684 <HAL_PCD_SuspendCallback>
80014ae: e5a9 b.n 8001004 <HAL_PCD_IRQHandler+0x168>
80014b0: 6099 str r1, [r3, #8]
80014b2: 681a ldr r2, [r3, #0]
80014b4: f422 1200 bic.w r2, r2, #2097152 @ 0x200000
80014b8: 601a str r2, [r3, #0]
80014ba: f8c3 1208 str.w r1, [r3, #520] @ 0x208
80014be: f8d3 2200 ldr.w r2, [r3, #512] @ 0x200
80014c2: f422 1200 bic.w r2, r2, #2097152 @ 0x200000
80014c6: f8c3 2200 str.w r2, [r3, #512] @ 0x200
80014ca: f8d3 2200 ldr.w r2, [r3, #512] @ 0x200
80014ce: f042 6200 orr.w r2, r2, #134217728 @ 0x8000000
80014d2: f8c3 2200 str.w r2, [r3, #512] @ 0x200
80014d6: 9a03 ldr r2, [sp, #12]
80014d8: 3201 adds r2, #1
80014da: 9203 str r2, [sp, #12]
80014dc: 3320 adds r3, #32
80014de: e5a3 b.n 8001028 <HAL_PCD_IRQHandler+0x18c>
80014e0: 4f54300a .word 0x4f54300a
80014e4: 4f54310a .word 0x4f54310a
80014e8: 696b ldr r3, [r5, #20]
80014ea: f443 5300 orr.w r3, r3, #8192 @ 0x2000
80014ee: f043 032b orr.w r3, r3, #43 @ 0x2b
80014f2: 616b str r3, [r5, #20]
80014f4: 692b ldr r3, [r5, #16]
80014f6: f043 030b orr.w r3, r3, #11
80014fa: 612b str r3, [r5, #16]
80014fc: e5aa b.n 8001054 <HAL_PCD_IRQHandler+0x1b8>
80014fe: 69b3 ldr r3, [r6, #24]
8001500: f023 0380 bic.w r3, r3, #128 @ 0x80
8001504: 61b3 str r3, [r6, #24]
8001506: 2701 movs r7, #1
8001508: f204 2857 addw r8, r4, #599 @ 0x257
800150c: f04f 0924 mov.w r9, #36 @ 0x24
8001510: 7923 ldrb r3, [r4, #4]
8001512: 42bb cmp r3, r7
8001514: f67f adde bls.w 80010d4 <HAL_PCD_IRQHandler+0x238>
8001518: fb09 f307 mul.w r3, r9, r7
800151c: f818 3003 ldrb.w r3, [r8, r3]
8001520: 2b01 cmp r3, #1
8001522: d103 bne.n 800152c <HAL_PCD_IRQHandler+0x690>
8001524: b2f9 uxtb r1, r7
8001526: 4620 mov r0, r4
8001528: f7ff fca8 bl 8000e7c <HAL_PCD_EP_Abort>
800152c: 3701 adds r7, #1
800152e: e7ef b.n 8001510 <HAL_PCD_IRQHandler+0x674>
8001530: f898 303c ldrb.w r3, [r8, #60] @ 0x3c
8001534: f8d9 2000 ldr.w r2, [r9]
8001538: 2b01 cmp r3, #1
800153a: d109 bne.n 8001550 <HAL_PCD_IRQHandler+0x6b4>
800153c: 2a00 cmp r2, #0
800153e: da07 bge.n 8001550 <HAL_PCD_IRQHandler+0x6b4>
8001540: f067 017f orn r1, r7, #127 @ 0x7f
8001544: f888 303b strb.w r3, [r8, #59] @ 0x3b
8001548: b2c9 uxtb r1, r1
800154a: 4620 mov r0, r4
800154c: f7ff fc96 bl 8000e7c <HAL_PCD_EP_Abort>
8001550: 3701 adds r7, #1
8001552: f108 0824 add.w r8, r8, #36 @ 0x24
8001556: f109 0920 add.w r9, r9, #32
800155a: e5c4 b.n 80010e6 <HAL_PCD_IRQHandler+0x24a>
800155c: f10c 0c01 add.w ip, ip, #1
8001560: 3324 adds r3, #36 @ 0x24
8001562: 3120 adds r1, #32
8001564: e5d4 b.n 8001110 <HAL_PCD_IRQHandler+0x274>
8001566: bf00 nop
08001568 <HAL_PCDEx_SetTxFiFo>:
8001568: 6800 ldr r0, [r0, #0]
800156a: b570 push {r4, r5, r6, lr}
800156c: 6a43 ldr r3, [r0, #36] @ 0x24
800156e: 0412 lsls r2, r2, #16
8001570: b919 cbnz r1, 800157a <HAL_PCDEx_SetTxFiFo+0x12>
8001572: 4313 orrs r3, r2
8001574: 6283 str r3, [r0, #40] @ 0x28
8001576: 2000 movs r0, #0
8001578: bd70 pop {r4, r5, r6, pc}
800157a: 6a84 ldr r4, [r0, #40] @ 0x28
800157c: 1e4e subs r6, r1, #1
800157e: eb03 4314 add.w r3, r3, r4, lsr #16
8001582: 2400 movs r4, #0
8001584: 42b4 cmp r4, r6
8001586: d305 bcc.n 8001594 <HAL_PCDEx_SetTxFiFo+0x2c>
8001588: 313f adds r1, #63 @ 0x3f
800158a: eb00 0081 add.w r0, r0, r1, lsl #2
800158e: 4313 orrs r3, r2
8001590: 6043 str r3, [r0, #4]
8001592: e7f0 b.n 8001576 <HAL_PCDEx_SetTxFiFo+0xe>
8001594: f104 0540 add.w r5, r4, #64 @ 0x40
8001598: eb00 0585 add.w r5, r0, r5, lsl #2
800159c: 3401 adds r4, #1
800159e: 686d ldr r5, [r5, #4]
80015a0: eb03 4315 add.w r3, r3, r5, lsr #16
80015a4: e7ee b.n 8001584 <HAL_PCDEx_SetTxFiFo+0x1c>
080015a6 <HAL_PCDEx_SetRxFiFo>:
80015a6: 6803 ldr r3, [r0, #0]
80015a8: 2000 movs r0, #0
80015aa: 6259 str r1, [r3, #36] @ 0x24
80015ac: 4770 bx lr
080015ae <HAL_PCDEx_ActivateLPM>:
80015ae: 4603 mov r3, r0
80015b0: 2101 movs r1, #1
80015b2: 6802 ldr r2, [r0, #0]
80015b4: f8c0 14d8 str.w r1, [r0, #1240] @ 0x4d8
80015b8: 2000 movs r0, #0
80015ba: f883 04cc strb.w r0, [r3, #1228] @ 0x4cc
80015be: 6993 ldr r3, [r2, #24]
80015c0: f043 6300 orr.w r3, r3, #134217728 @ 0x8000000
80015c4: 6193 str r3, [r2, #24]
80015c6: 6d53 ldr r3, [r2, #84] @ 0x54
80015c8: f043 5380 orr.w r3, r3, #268435456 @ 0x10000000
80015cc: f043 0303 orr.w r3, r3, #3
80015d0: 6553 str r3, [r2, #84] @ 0x54
80015d2: 4770 bx lr
080015d4 <HAL_RCC_ClockConfig>:
80015d4: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
80015d8: 460d mov r5, r1
80015da: 4604 mov r4, r0
80015dc: b910 cbnz r0, 80015e4 <HAL_RCC_ClockConfig+0x10>
80015de: 2001 movs r0, #1
80015e0: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
80015e4: 4b43 ldr r3, [pc, #268] @ (80016f4 <HAL_RCC_ClockConfig+0x120>)
80015e6: 681a ldr r2, [r3, #0]
80015e8: f002 020f and.w r2, r2, #15
80015ec: 428a cmp r2, r1
80015ee: d328 bcc.n 8001642 <HAL_RCC_ClockConfig+0x6e>
80015f0: 6821 ldr r1, [r4, #0]
80015f2: 078f lsls r7, r1, #30
80015f4: d42d bmi.n 8001652 <HAL_RCC_ClockConfig+0x7e>
80015f6: 07c8 lsls r0, r1, #31
80015f8: d440 bmi.n 800167c <HAL_RCC_ClockConfig+0xa8>
80015fa: 4b3e ldr r3, [pc, #248] @ (80016f4 <HAL_RCC_ClockConfig+0x120>)
80015fc: 681a ldr r2, [r3, #0]
80015fe: f002 020f and.w r2, r2, #15
8001602: 42aa cmp r2, r5
8001604: d865 bhi.n 80016d2 <HAL_RCC_ClockConfig+0xfe>
8001606: 6822 ldr r2, [r4, #0]
8001608: 0751 lsls r1, r2, #29
800160a: d46b bmi.n 80016e4 <HAL_RCC_ClockConfig+0x110>
800160c: 0713 lsls r3, r2, #28
800160e: d507 bpl.n 8001620 <HAL_RCC_ClockConfig+0x4c>
8001610: 4a39 ldr r2, [pc, #228] @ (80016f8 <HAL_RCC_ClockConfig+0x124>)
8001612: 6921 ldr r1, [r4, #16]
8001614: 6893 ldr r3, [r2, #8]
8001616: f423 4360 bic.w r3, r3, #57344 @ 0xe000
800161a: ea43 03c1 orr.w r3, r3, r1, lsl #3
800161e: 6093 str r3, [r2, #8]
8001620: f000 fa82 bl 8001b28 <HAL_RCC_GetSysClockFreq>
8001624: 4b34 ldr r3, [pc, #208] @ (80016f8 <HAL_RCC_ClockConfig+0x124>)
8001626: 4a35 ldr r2, [pc, #212] @ (80016fc <HAL_RCC_ClockConfig+0x128>)
8001628: 689b ldr r3, [r3, #8]
800162a: f3c3 1303 ubfx r3, r3, #4, #4
800162e: 5cd3 ldrb r3, [r2, r3]
8001630: 40d8 lsrs r0, r3
8001632: 4b33 ldr r3, [pc, #204] @ (8001700 <HAL_RCC_ClockConfig+0x12c>)
8001634: 6018 str r0, [r3, #0]
8001636: 4b33 ldr r3, [pc, #204] @ (8001704 <HAL_RCC_ClockConfig+0x130>)
8001638: 6818 ldr r0, [r3, #0]
800163a: f7ff f8cb bl 80007d4 <HAL_InitTick>
800163e: 2000 movs r0, #0
8001640: e7ce b.n 80015e0 <HAL_RCC_ClockConfig+0xc>
8001642: b2ca uxtb r2, r1
8001644: 701a strb r2, [r3, #0]
8001646: 681b ldr r3, [r3, #0]
8001648: f003 030f and.w r3, r3, #15
800164c: 428b cmp r3, r1
800164e: d1c6 bne.n 80015de <HAL_RCC_ClockConfig+0xa>
8001650: e7ce b.n 80015f0 <HAL_RCC_ClockConfig+0x1c>
8001652: 4b29 ldr r3, [pc, #164] @ (80016f8 <HAL_RCC_ClockConfig+0x124>)
8001654: f011 0f04 tst.w r1, #4
8001658: bf1e ittt ne
800165a: 689a ldrne r2, [r3, #8]
800165c: f442 52e0 orrne.w r2, r2, #7168 @ 0x1c00
8001660: 609a strne r2, [r3, #8]
8001662: 070e lsls r6, r1, #28
8001664: bf42 ittt mi
8001666: 689a ldrmi r2, [r3, #8]
8001668: f442 4260 orrmi.w r2, r2, #57344 @ 0xe000
800166c: 609a strmi r2, [r3, #8]
800166e: 689a ldr r2, [r3, #8]
8001670: 68a0 ldr r0, [r4, #8]
8001672: f022 02f0 bic.w r2, r2, #240 @ 0xf0
8001676: 4302 orrs r2, r0
8001678: 609a str r2, [r3, #8]
800167a: e7bc b.n 80015f6 <HAL_RCC_ClockConfig+0x22>
800167c: 6862 ldr r2, [r4, #4]
800167e: 4b1e ldr r3, [pc, #120] @ (80016f8 <HAL_RCC_ClockConfig+0x124>)
8001680: 2a01 cmp r2, #1
8001682: d11c bne.n 80016be <HAL_RCC_ClockConfig+0xea>
8001684: 681b ldr r3, [r3, #0]
8001686: f413 3f00 tst.w r3, #131072 @ 0x20000
800168a: d0a8 beq.n 80015de <HAL_RCC_ClockConfig+0xa>
800168c: 4e1a ldr r6, [pc, #104] @ (80016f8 <HAL_RCC_ClockConfig+0x124>)
800168e: 68b3 ldr r3, [r6, #8]
8001690: f023 0303 bic.w r3, r3, #3
8001694: 4313 orrs r3, r2
8001696: 60b3 str r3, [r6, #8]
8001698: f7ff f8e6 bl 8000868 <HAL_GetTick>
800169c: f241 3888 movw r8, #5000 @ 0x1388
80016a0: 4607 mov r7, r0
80016a2: 68b3 ldr r3, [r6, #8]
80016a4: 6862 ldr r2, [r4, #4]
80016a6: f003 030c and.w r3, r3, #12
80016aa: ebb3 0f82 cmp.w r3, r2, lsl #2
80016ae: d0a4 beq.n 80015fa <HAL_RCC_ClockConfig+0x26>
80016b0: f7ff f8da bl 8000868 <HAL_GetTick>
80016b4: 1bc0 subs r0, r0, r7
80016b6: 4540 cmp r0, r8
80016b8: d9f3 bls.n 80016a2 <HAL_RCC_ClockConfig+0xce>
80016ba: 2003 movs r0, #3
80016bc: e790 b.n 80015e0 <HAL_RCC_ClockConfig+0xc>
80016be: 1e91 subs r1, r2, #2
80016c0: 2901 cmp r1, #1
80016c2: 681b ldr r3, [r3, #0]
80016c4: d802 bhi.n 80016cc <HAL_RCC_ClockConfig+0xf8>
80016c6: f013 7f00 tst.w r3, #33554432 @ 0x2000000
80016ca: e7de b.n 800168a <HAL_RCC_ClockConfig+0xb6>
80016cc: f013 0f02 tst.w r3, #2
80016d0: e7db b.n 800168a <HAL_RCC_ClockConfig+0xb6>
80016d2: b2ea uxtb r2, r5
80016d4: 701a strb r2, [r3, #0]
80016d6: 681b ldr r3, [r3, #0]
80016d8: f003 030f and.w r3, r3, #15
80016dc: 42ab cmp r3, r5
80016de: f47f af7e bne.w 80015de <HAL_RCC_ClockConfig+0xa>
80016e2: e790 b.n 8001606 <HAL_RCC_ClockConfig+0x32>
80016e4: 4904 ldr r1, [pc, #16] @ (80016f8 <HAL_RCC_ClockConfig+0x124>)
80016e6: 68e0 ldr r0, [r4, #12]
80016e8: 688b ldr r3, [r1, #8]
80016ea: f423 53e0 bic.w r3, r3, #7168 @ 0x1c00
80016ee: 4303 orrs r3, r0
80016f0: 608b str r3, [r1, #8]
80016f2: e78b b.n 800160c <HAL_RCC_ClockConfig+0x38>
80016f4: 40023c00 .word 0x40023c00
80016f8: 40023800 .word 0x40023800
80016fc: 080038dc .word 0x080038dc
8001700: 20000000 .word 0x20000000
8001704: 20000008 .word 0x20000008
08001708 <HAL_RCC_GetHCLKFreq>:
8001708: 4b01 ldr r3, [pc, #4] @ (8001710 <HAL_RCC_GetHCLKFreq+0x8>)
800170a: 6818 ldr r0, [r3, #0]
800170c: 4770 bx lr
800170e: bf00 nop
8001710: 20000000 .word 0x20000000
08001714 <HAL_RCCEx_PeriphCLKConfig>:
8001714: 6803 ldr r3, [r0, #0]
8001716: e92d 43f7 stmdb sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, lr}
800171a: f013 0601 ands.w r6, r3, #1
800171e: 4604 mov r4, r0
8001720: d00b beq.n 800173a <HAL_RCCEx_PeriphCLKConfig+0x26>
8001722: 49ac ldr r1, [pc, #688] @ (80019d4 <HAL_RCCEx_PeriphCLKConfig+0x2c0>)
8001724: 6b86 ldr r6, [r0, #56] @ 0x38
8001726: f8d1 208c ldr.w r2, [r1, #140] @ 0x8c
800172a: f022 62c0 bic.w r2, r2, #100663296 @ 0x6000000
800172e: 4332 orrs r2, r6
8001730: fab6 f686 clz r6, r6
8001734: f8c1 208c str.w r2, [r1, #140] @ 0x8c
8001738: 0976 lsrs r6, r6, #5
800173a: 079a lsls r2, r3, #30
800173c: d50b bpl.n 8001756 <HAL_RCCEx_PeriphCLKConfig+0x42>
800173e: 48a5 ldr r0, [pc, #660] @ (80019d4 <HAL_RCCEx_PeriphCLKConfig+0x2c0>)
8001740: 6be1 ldr r1, [r4, #60] @ 0x3c
8001742: f8d0 208c ldr.w r2, [r0, #140] @ 0x8c
8001746: f022 52c0 bic.w r2, r2, #402653184 @ 0x18000000
800174a: 430a orrs r2, r1
800174c: 2900 cmp r1, #0
800174e: f8c0 208c str.w r2, [r0, #140] @ 0x8c
8001752: bf08 it eq
8001754: 2601 moveq r6, #1
8001756: f013 0504 ands.w r5, r3, #4
800175a: d012 beq.n 8001782 <HAL_RCCEx_PeriphCLKConfig+0x6e>
800175c: 499d ldr r1, [pc, #628] @ (80019d4 <HAL_RCCEx_PeriphCLKConfig+0x2c0>)
800175e: 6b25 ldr r5, [r4, #48] @ 0x30
8001760: f8d1 208c ldr.w r2, [r1, #140] @ 0x8c
8001764: f5b5 1f80 cmp.w r5, #1048576 @ 0x100000
8001768: f422 1240 bic.w r2, r2, #3145728 @ 0x300000
800176c: ea42 0205 orr.w r2, r2, r5
8001770: bf18 it ne
8001772: fab5 f585 clzne r5, r5
8001776: f8c1 208c str.w r2, [r1, #140] @ 0x8c
800177a: bf12 itee ne
800177c: 096d lsrne r5, r5, #5
800177e: 2500 moveq r5, #0
8001780: 2601 moveq r6, #1
8001782: 071f lsls r7, r3, #28
8001784: d50f bpl.n 80017a6 <HAL_RCCEx_PeriphCLKConfig+0x92>
8001786: 4893 ldr r0, [pc, #588] @ (80019d4 <HAL_RCCEx_PeriphCLKConfig+0x2c0>)
8001788: 6b61 ldr r1, [r4, #52] @ 0x34
800178a: f8d0 208c ldr.w r2, [r0, #140] @ 0x8c
800178e: f422 0240 bic.w r2, r2, #12582912 @ 0xc00000
8001792: 430a orrs r2, r1
8001794: f5b1 0f80 cmp.w r1, #4194304 @ 0x400000
8001798: f8c0 208c str.w r2, [r0, #140] @ 0x8c
800179c: f000 810c beq.w 80019b8 <HAL_RCCEx_PeriphCLKConfig+0x2a4>
80017a0: 2900 cmp r1, #0
80017a2: bf08 it eq
80017a4: 2501 moveq r5, #1
80017a6: 0698 lsls r0, r3, #26
80017a8: d534 bpl.n 8001814 <HAL_RCCEx_PeriphCLKConfig+0x100>
80017aa: 2300 movs r3, #0
80017ac: 9301 str r3, [sp, #4]
80017ae: 4b89 ldr r3, [pc, #548] @ (80019d4 <HAL_RCCEx_PeriphCLKConfig+0x2c0>)
80017b0: 4f89 ldr r7, [pc, #548] @ (80019d8 <HAL_RCCEx_PeriphCLKConfig+0x2c4>)
80017b2: 6c1a ldr r2, [r3, #64] @ 0x40
80017b4: f042 5280 orr.w r2, r2, #268435456 @ 0x10000000
80017b8: 641a str r2, [r3, #64] @ 0x40
80017ba: 6c1b ldr r3, [r3, #64] @ 0x40
80017bc: f003 5380 and.w r3, r3, #268435456 @ 0x10000000
80017c0: 9301 str r3, [sp, #4]
80017c2: 9b01 ldr r3, [sp, #4]
80017c4: 683b ldr r3, [r7, #0]
80017c6: f443 7380 orr.w r3, r3, #256 @ 0x100
80017ca: 603b str r3, [r7, #0]
80017cc: f7ff f84c bl 8000868 <HAL_GetTick>
80017d0: 4680 mov r8, r0
80017d2: 683b ldr r3, [r7, #0]
80017d4: 05d9 lsls r1, r3, #23
80017d6: f140 80f1 bpl.w 80019bc <HAL_RCCEx_PeriphCLKConfig+0x2a8>
80017da: 4f7e ldr r7, [pc, #504] @ (80019d4 <HAL_RCCEx_PeriphCLKConfig+0x2c0>)
80017dc: 6c22 ldr r2, [r4, #64] @ 0x40
80017de: 6f3b ldr r3, [r7, #112] @ 0x70
80017e0: f413 7340 ands.w r3, r3, #768 @ 0x300
80017e4: f040 80fe bne.w 80019e4 <HAL_RCCEx_PeriphCLKConfig+0x2d0>
80017e8: 6c23 ldr r3, [r4, #64] @ 0x40
80017ea: f403 7240 and.w r2, r3, #768 @ 0x300
80017ee: f5b2 7f40 cmp.w r2, #768 @ 0x300
80017f2: 4a78 ldr r2, [pc, #480] @ (80019d4 <HAL_RCCEx_PeriphCLKConfig+0x2c0>)
80017f4: f040 811a bne.w 8001a2c <HAL_RCCEx_PeriphCLKConfig+0x318>
80017f8: 6891 ldr r1, [r2, #8]
80017fa: f023 4070 bic.w r0, r3, #4026531840 @ 0xf0000000
80017fe: f421 11f8 bic.w r1, r1, #2031616 @ 0x1f0000
8001802: f420 7040 bic.w r0, r0, #768 @ 0x300
8001806: 4301 orrs r1, r0
8001808: 6091 str r1, [r2, #8]
800180a: 6f11 ldr r1, [r2, #112] @ 0x70
800180c: f3c3 030b ubfx r3, r3, #0, #12
8001810: 430b orrs r3, r1
8001812: 6713 str r3, [r2, #112] @ 0x70
8001814: 6823 ldr r3, [r4, #0]
8001816: 06d8 lsls r0, r3, #27
8001818: bf42 ittt mi
800181a: 4b70 ldrmi r3, [pc, #448] @ (80019dc <HAL_RCCEx_PeriphCLKConfig+0x2c8>)
800181c: f894 2058 ldrbmi.w r2, [r4, #88] @ 0x58
8001820: f8c3 21e0 strmi.w r2, [r3, #480] @ 0x1e0
8001824: 6823 ldr r3, [r4, #0]
8001826: 0619 lsls r1, r3, #24
8001828: d508 bpl.n 800183c <HAL_RCCEx_PeriphCLKConfig+0x128>
800182a: 496a ldr r1, [pc, #424] @ (80019d4 <HAL_RCCEx_PeriphCLKConfig+0x2c0>)
800182c: 6ce0 ldr r0, [r4, #76] @ 0x4c
800182e: f8d1 2094 ldr.w r2, [r1, #148] @ 0x94
8001832: f422 0240 bic.w r2, r2, #12582912 @ 0xc00000
8001836: 4302 orrs r2, r0
8001838: f8c1 2094 str.w r2, [r1, #148] @ 0x94
800183c: 065a lsls r2, r3, #25
800183e: d508 bpl.n 8001852 <HAL_RCCEx_PeriphCLKConfig+0x13e>
8001840: 4964 ldr r1, [pc, #400] @ (80019d4 <HAL_RCCEx_PeriphCLKConfig+0x2c0>)
8001842: 6ca0 ldr r0, [r4, #72] @ 0x48
8001844: f8d1 2094 ldr.w r2, [r1, #148] @ 0x94
8001848: f022 6280 bic.w r2, r2, #67108864 @ 0x4000000
800184c: 4302 orrs r2, r0
800184e: f8c1 2094 str.w r2, [r1, #148] @ 0x94
8001852: 05df lsls r7, r3, #23
8001854: d50c bpl.n 8001870 <HAL_RCCEx_PeriphCLKConfig+0x15c>
8001856: 485f ldr r0, [pc, #380] @ (80019d4 <HAL_RCCEx_PeriphCLKConfig+0x2c0>)
8001858: 6d61 ldr r1, [r4, #84] @ 0x54
800185a: f8d0 2094 ldr.w r2, [r0, #148] @ 0x94
800185e: f022 6200 bic.w r2, r2, #134217728 @ 0x8000000
8001862: 430a orrs r2, r1
8001864: f1b1 6f00 cmp.w r1, #134217728 @ 0x8000000
8001868: f8c0 2094 str.w r2, [r0, #148] @ 0x94
800186c: bf08 it eq
800186e: 2501 moveq r5, #1
8001870: 0598 lsls r0, r3, #22
8001872: d508 bpl.n 8001886 <HAL_RCCEx_PeriphCLKConfig+0x172>
8001874: 4957 ldr r1, [pc, #348] @ (80019d4 <HAL_RCCEx_PeriphCLKConfig+0x2c0>)
8001876: 6c60 ldr r0, [r4, #68] @ 0x44
8001878: f8d1 2094 ldr.w r2, [r1, #148] @ 0x94
800187c: f022 5280 bic.w r2, r2, #268435456 @ 0x10000000
8001880: 4302 orrs r2, r0
8001882: f8c1 2094 str.w r2, [r1, #148] @ 0x94
8001886: 0559 lsls r1, r3, #21
8001888: f100 80d4 bmi.w 8001a34 <HAL_RCCEx_PeriphCLKConfig+0x320>
800188c: 2e01 cmp r6, #1
800188e: f040 80df bne.w 8001a50 <HAL_RCCEx_PeriphCLKConfig+0x33c>
8001892: 4b53 ldr r3, [pc, #332] @ (80019e0 <HAL_RCCEx_PeriphCLKConfig+0x2cc>)
8001894: 4f4f ldr r7, [pc, #316] @ (80019d4 <HAL_RCCEx_PeriphCLKConfig+0x2c0>)
8001896: 2200 movs r2, #0
8001898: 669a str r2, [r3, #104] @ 0x68
800189a: f7fe ffe5 bl 8000868 <HAL_GetTick>
800189e: 4606 mov r6, r0
80018a0: 683b ldr r3, [r7, #0]
80018a2: 011a lsls r2, r3, #4
80018a4: f100 8129 bmi.w 8001afa <HAL_RCCEx_PeriphCLKConfig+0x3e6>
80018a8: 6822 ldr r2, [r4, #0]
80018aa: 07d3 lsls r3, r2, #31
80018ac: d501 bpl.n 80018b2 <HAL_RCCEx_PeriphCLKConfig+0x19e>
80018ae: 6ba3 ldr r3, [r4, #56] @ 0x38
80018b0: b11b cbz r3, 80018ba <HAL_RCCEx_PeriphCLKConfig+0x1a6>
80018b2: 0797 lsls r7, r2, #30
80018b4: d515 bpl.n 80018e2 <HAL_RCCEx_PeriphCLKConfig+0x1ce>
80018b6: 6be3 ldr r3, [r4, #60] @ 0x3c
80018b8: b99b cbnz r3, 80018e2 <HAL_RCCEx_PeriphCLKConfig+0x1ce>
80018ba: 4946 ldr r1, [pc, #280] @ (80019d4 <HAL_RCCEx_PeriphCLKConfig+0x2c0>)
80018bc: f8d1 3084 ldr.w r3, [r1, #132] @ 0x84
80018c0: f8d1 0084 ldr.w r0, [r1, #132] @ 0x84
80018c4: f403 3340 and.w r3, r3, #196608 @ 0x30000
80018c8: f000 6070 and.w r0, r0, #251658240 @ 0xf000000
80018cc: 4303 orrs r3, r0
80018ce: 6860 ldr r0, [r4, #4]
80018d0: 4303 orrs r3, r0
80018d2: 68a0 ldr r0, [r4, #8]
80018d4: ea43 1380 orr.w r3, r3, r0, lsl #6
80018d8: 6960 ldr r0, [r4, #20]
80018da: ea43 7300 orr.w r3, r3, r0, lsl #28
80018de: f8c1 3084 str.w r3, [r1, #132] @ 0x84
80018e2: 0756 lsls r6, r2, #29
80018e4: d503 bpl.n 80018ee <HAL_RCCEx_PeriphCLKConfig+0x1da>
80018e6: 6b23 ldr r3, [r4, #48] @ 0x30
80018e8: f5b3 1f80 cmp.w r3, #1048576 @ 0x100000
80018ec: d005 beq.n 80018fa <HAL_RCCEx_PeriphCLKConfig+0x1e6>
80018ee: 0710 lsls r0, r2, #28
80018f0: d520 bpl.n 8001934 <HAL_RCCEx_PeriphCLKConfig+0x220>
80018f2: 6b63 ldr r3, [r4, #52] @ 0x34
80018f4: f5b3 0f80 cmp.w r3, #4194304 @ 0x400000
80018f8: d11c bne.n 8001934 <HAL_RCCEx_PeriphCLKConfig+0x220>
80018fa: 4936 ldr r1, [pc, #216] @ (80019d4 <HAL_RCCEx_PeriphCLKConfig+0x2c0>)
80018fc: f8d1 3084 ldr.w r3, [r1, #132] @ 0x84
8001900: f8d1 0084 ldr.w r0, [r1, #132] @ 0x84
8001904: f403 3340 and.w r3, r3, #196608 @ 0x30000
8001908: f000 40e0 and.w r0, r0, #1879048192 @ 0x70000000
800190c: 4303 orrs r3, r0
800190e: 6860 ldr r0, [r4, #4]
8001910: 4303 orrs r3, r0
8001912: 68a0 ldr r0, [r4, #8]
8001914: ea43 1380 orr.w r3, r3, r0, lsl #6
8001918: 6920 ldr r0, [r4, #16]
800191a: ea43 6300 orr.w r3, r3, r0, lsl #24
800191e: f8c1 3084 str.w r3, [r1, #132] @ 0x84
8001922: f8d1 008c ldr.w r0, [r1, #140] @ 0x8c
8001926: 6aa3 ldr r3, [r4, #40] @ 0x28
8001928: f020 001f bic.w r0, r0, #31
800192c: 3b01 subs r3, #1
800192e: 4303 orrs r3, r0
8001930: f8c1 308c str.w r3, [r1, #140] @ 0x8c
8001934: 0551 lsls r1, r2, #21
8001936: d51b bpl.n 8001970 <HAL_RCCEx_PeriphCLKConfig+0x25c>
8001938: 6d23 ldr r3, [r4, #80] @ 0x50
800193a: f1b3 5f00 cmp.w r3, #536870912 @ 0x20000000
800193e: d117 bne.n 8001970 <HAL_RCCEx_PeriphCLKConfig+0x25c>
8001940: 4824 ldr r0, [pc, #144] @ (80019d4 <HAL_RCCEx_PeriphCLKConfig+0x2c0>)
8001942: 6866 ldr r6, [r4, #4]
8001944: f8d0 1084 ldr.w r1, [r0, #132] @ 0x84
8001948: f8d0 3084 ldr.w r3, [r0, #132] @ 0x84
800194c: f003 43e0 and.w r3, r3, #1879048192 @ 0x70000000
8001950: 4333 orrs r3, r6
8001952: 68a6 ldr r6, [r4, #8]
8001954: f3c1 4101 ubfx r1, r1, #16, #2
8001958: 3101 adds r1, #1
800195a: ea43 1386 orr.w r3, r3, r6, lsl #6
800195e: ea43 6341 orr.w r3, r3, r1, lsl #25
8001962: 68e1 ldr r1, [r4, #12]
8001964: 0849 lsrs r1, r1, #1
8001966: 3901 subs r1, #1
8001968: ea43 4301 orr.w r3, r3, r1, lsl #16
800196c: f8c0 3084 str.w r3, [r0, #132] @ 0x84
8001970: 0512 lsls r2, r2, #20
8001972: d511 bpl.n 8001998 <HAL_RCCEx_PeriphCLKConfig+0x284>
8001974: 6923 ldr r3, [r4, #16]
8001976: 68a2 ldr r2, [r4, #8]
8001978: 061b lsls r3, r3, #24
800197a: ea43 1382 orr.w r3, r3, r2, lsl #6
800197e: 6862 ldr r2, [r4, #4]
8001980: 4313 orrs r3, r2
8001982: 6962 ldr r2, [r4, #20]
8001984: ea43 7302 orr.w r3, r3, r2, lsl #28
8001988: 68e2 ldr r2, [r4, #12]
800198a: 0852 lsrs r2, r2, #1
800198c: 3a01 subs r2, #1
800198e: ea43 4302 orr.w r3, r3, r2, lsl #16
8001992: 4a10 ldr r2, [pc, #64] @ (80019d4 <HAL_RCCEx_PeriphCLKConfig+0x2c0>)
8001994: f8c2 3084 str.w r3, [r2, #132] @ 0x84
8001998: 4b11 ldr r3, [pc, #68] @ (80019e0 <HAL_RCCEx_PeriphCLKConfig+0x2cc>)
800199a: 4f0e ldr r7, [pc, #56] @ (80019d4 <HAL_RCCEx_PeriphCLKConfig+0x2c0>)
800199c: 2201 movs r2, #1
800199e: 669a str r2, [r3, #104] @ 0x68
80019a0: f7fe ff62 bl 8000868 <HAL_GetTick>
80019a4: 4606 mov r6, r0
80019a6: 683b ldr r3, [r7, #0]
80019a8: 011b lsls r3, r3, #4
80019aa: d455 bmi.n 8001a58 <HAL_RCCEx_PeriphCLKConfig+0x344>
80019ac: f7fe ff5c bl 8000868 <HAL_GetTick>
80019b0: 1b80 subs r0, r0, r6
80019b2: 2802 cmp r0, #2
80019b4: d9f7 bls.n 80019a6 <HAL_RCCEx_PeriphCLKConfig+0x292>
80019b6: e008 b.n 80019ca <HAL_RCCEx_PeriphCLKConfig+0x2b6>
80019b8: 2601 movs r6, #1
80019ba: e6f4 b.n 80017a6 <HAL_RCCEx_PeriphCLKConfig+0x92>
80019bc: f7fe ff54 bl 8000868 <HAL_GetTick>
80019c0: eba0 0008 sub.w r0, r0, r8
80019c4: 2802 cmp r0, #2
80019c6: f67f af04 bls.w 80017d2 <HAL_RCCEx_PeriphCLKConfig+0xbe>
80019ca: 2003 movs r0, #3
80019cc: b003 add sp, #12
80019ce: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
80019d2: bf00 nop
80019d4: 40023800 .word 0x40023800
80019d8: 40007000 .word 0x40007000
80019dc: 42471000 .word 0x42471000
80019e0: 42470000 .word 0x42470000
80019e4: f402 7240 and.w r2, r2, #768 @ 0x300
80019e8: 4293 cmp r3, r2
80019ea: f43f aefd beq.w 80017e8 <HAL_RCCEx_PeriphCLKConfig+0xd4>
80019ee: 6f3b ldr r3, [r7, #112] @ 0x70
80019f0: 4a4b ldr r2, [pc, #300] @ (8001b20 <HAL_RCCEx_PeriphCLKConfig+0x40c>)
80019f2: 2101 movs r1, #1
80019f4: f8c2 1e40 str.w r1, [r2, #3648] @ 0xe40
80019f8: f423 7340 bic.w r3, r3, #768 @ 0x300
80019fc: 2100 movs r1, #0
80019fe: f8c2 1e40 str.w r1, [r2, #3648] @ 0xe40
8001a02: 673b str r3, [r7, #112] @ 0x70
8001a04: 6f3b ldr r3, [r7, #112] @ 0x70
8001a06: 07da lsls r2, r3, #31
8001a08: f57f aeee bpl.w 80017e8 <HAL_RCCEx_PeriphCLKConfig+0xd4>
8001a0c: f7fe ff2c bl 8000868 <HAL_GetTick>
8001a10: f241 3988 movw r9, #5000 @ 0x1388
8001a14: 4680 mov r8, r0
8001a16: 6f3b ldr r3, [r7, #112] @ 0x70
8001a18: 079b lsls r3, r3, #30
8001a1a: f53f aee5 bmi.w 80017e8 <HAL_RCCEx_PeriphCLKConfig+0xd4>
8001a1e: f7fe ff23 bl 8000868 <HAL_GetTick>
8001a22: eba0 0008 sub.w r0, r0, r8
8001a26: 4548 cmp r0, r9
8001a28: d9f5 bls.n 8001a16 <HAL_RCCEx_PeriphCLKConfig+0x302>
8001a2a: e7ce b.n 80019ca <HAL_RCCEx_PeriphCLKConfig+0x2b6>
8001a2c: 6891 ldr r1, [r2, #8]
8001a2e: f421 11f8 bic.w r1, r1, #2031616 @ 0x1f0000
8001a32: e6e9 b.n 8001808 <HAL_RCCEx_PeriphCLKConfig+0xf4>
8001a34: 483b ldr r0, [pc, #236] @ (8001b24 <HAL_RCCEx_PeriphCLKConfig+0x410>)
8001a36: 6d21 ldr r1, [r4, #80] @ 0x50
8001a38: f8d0 2094 ldr.w r2, [r0, #148] @ 0x94
8001a3c: f022 5200 bic.w r2, r2, #536870912 @ 0x20000000
8001a40: 430a orrs r2, r1
8001a42: f1b1 5f00 cmp.w r1, #536870912 @ 0x20000000
8001a46: f8c0 2094 str.w r2, [r0, #148] @ 0x94
8001a4a: f47f af1f bne.w 800188c <HAL_RCCEx_PeriphCLKConfig+0x178>
8001a4e: e720 b.n 8001892 <HAL_RCCEx_PeriphCLKConfig+0x17e>
8001a50: f5b3 6f00 cmp.w r3, #2048 @ 0x800
8001a54: f43f af1d beq.w 8001892 <HAL_RCCEx_PeriphCLKConfig+0x17e>
8001a58: 2d01 cmp r5, #1
8001a5a: d14c bne.n 8001af6 <HAL_RCCEx_PeriphCLKConfig+0x3e2>
8001a5c: 4b30 ldr r3, [pc, #192] @ (8001b20 <HAL_RCCEx_PeriphCLKConfig+0x40c>)
8001a5e: 4e31 ldr r6, [pc, #196] @ (8001b24 <HAL_RCCEx_PeriphCLKConfig+0x410>)
8001a60: 2200 movs r2, #0
8001a62: 671a str r2, [r3, #112] @ 0x70
8001a64: f7fe ff00 bl 8000868 <HAL_GetTick>
8001a68: 4605 mov r5, r0
8001a6a: 6833 ldr r3, [r6, #0]
8001a6c: 009f lsls r7, r3, #2
8001a6e: d44b bmi.n 8001b08 <HAL_RCCEx_PeriphCLKConfig+0x3f4>
8001a70: 6821 ldr r1, [r4, #0]
8001a72: 074d lsls r5, r1, #29
8001a74: d501 bpl.n 8001a7a <HAL_RCCEx_PeriphCLKConfig+0x366>
8001a76: 6b23 ldr r3, [r4, #48] @ 0x30
8001a78: b11b cbz r3, 8001a82 <HAL_RCCEx_PeriphCLKConfig+0x36e>
8001a7a: 0708 lsls r0, r1, #28
8001a7c: d51a bpl.n 8001ab4 <HAL_RCCEx_PeriphCLKConfig+0x3a0>
8001a7e: 6b63 ldr r3, [r4, #52] @ 0x34
8001a80: b9c3 cbnz r3, 8001ab4 <HAL_RCCEx_PeriphCLKConfig+0x3a0>
8001a82: 4a28 ldr r2, [pc, #160] @ (8001b24 <HAL_RCCEx_PeriphCLKConfig+0x410>)
8001a84: 69a0 ldr r0, [r4, #24]
8001a86: f8d2 3088 ldr.w r3, [r2, #136] @ 0x88
8001a8a: f403 3340 and.w r3, r3, #196608 @ 0x30000
8001a8e: 4303 orrs r3, r0
8001a90: 69e0 ldr r0, [r4, #28]
8001a92: ea43 1380 orr.w r3, r3, r0, lsl #6
8001a96: 6a60 ldr r0, [r4, #36] @ 0x24
8001a98: ea43 6300 orr.w r3, r3, r0, lsl #24
8001a9c: f8c2 3088 str.w r3, [r2, #136] @ 0x88
8001aa0: f8d2 308c ldr.w r3, [r2, #140] @ 0x8c
8001aa4: 6ae0 ldr r0, [r4, #44] @ 0x2c
8001aa6: f423 53f8 bic.w r3, r3, #7936 @ 0x1f00
8001aaa: 3801 subs r0, #1
8001aac: ea43 2300 orr.w r3, r3, r0, lsl #8
8001ab0: f8c2 308c str.w r3, [r2, #140] @ 0x8c
8001ab4: 05ca lsls r2, r1, #23
8001ab6: d514 bpl.n 8001ae2 <HAL_RCCEx_PeriphCLKConfig+0x3ce>
8001ab8: 6d63 ldr r3, [r4, #84] @ 0x54
8001aba: f1b3 6f00 cmp.w r3, #134217728 @ 0x8000000
8001abe: d110 bne.n 8001ae2 <HAL_RCCEx_PeriphCLKConfig+0x3ce>
8001ac0: 4918 ldr r1, [pc, #96] @ (8001b24 <HAL_RCCEx_PeriphCLKConfig+0x410>)
8001ac2: 69a2 ldr r2, [r4, #24]
8001ac4: f8d1 3088 ldr.w r3, [r1, #136] @ 0x88
8001ac8: f003 6370 and.w r3, r3, #251658240 @ 0xf000000
8001acc: 4313 orrs r3, r2
8001ace: 69e2 ldr r2, [r4, #28]
8001ad0: ea43 1382 orr.w r3, r3, r2, lsl #6
8001ad4: 6a22 ldr r2, [r4, #32]
8001ad6: 0852 lsrs r2, r2, #1
8001ad8: 3a01 subs r2, #1
8001ada: ea43 4302 orr.w r3, r3, r2, lsl #16
8001ade: f8c1 3088 str.w r3, [r1, #136] @ 0x88
8001ae2: 4b0f ldr r3, [pc, #60] @ (8001b20 <HAL_RCCEx_PeriphCLKConfig+0x40c>)
8001ae4: 4d0f ldr r5, [pc, #60] @ (8001b24 <HAL_RCCEx_PeriphCLKConfig+0x410>)
8001ae6: 2201 movs r2, #1
8001ae8: 671a str r2, [r3, #112] @ 0x70
8001aea: f7fe febd bl 8000868 <HAL_GetTick>
8001aee: 4604 mov r4, r0
8001af0: 682b ldr r3, [r5, #0]
8001af2: 009b lsls r3, r3, #2
8001af4: d50e bpl.n 8001b14 <HAL_RCCEx_PeriphCLKConfig+0x400>
8001af6: 2000 movs r0, #0
8001af8: e768 b.n 80019cc <HAL_RCCEx_PeriphCLKConfig+0x2b8>
8001afa: f7fe feb5 bl 8000868 <HAL_GetTick>
8001afe: 1b80 subs r0, r0, r6
8001b00: 2802 cmp r0, #2
8001b02: f67f aecd bls.w 80018a0 <HAL_RCCEx_PeriphCLKConfig+0x18c>
8001b06: e760 b.n 80019ca <HAL_RCCEx_PeriphCLKConfig+0x2b6>
8001b08: f7fe feae bl 8000868 <HAL_GetTick>
8001b0c: 1b40 subs r0, r0, r5
8001b0e: 2802 cmp r0, #2
8001b10: d9ab bls.n 8001a6a <HAL_RCCEx_PeriphCLKConfig+0x356>
8001b12: e75a b.n 80019ca <HAL_RCCEx_PeriphCLKConfig+0x2b6>
8001b14: f7fe fea8 bl 8000868 <HAL_GetTick>
8001b18: 1b00 subs r0, r0, r4
8001b1a: 2802 cmp r0, #2
8001b1c: d9e8 bls.n 8001af0 <HAL_RCCEx_PeriphCLKConfig+0x3dc>
8001b1e: e754 b.n 80019ca <HAL_RCCEx_PeriphCLKConfig+0x2b6>
8001b20: 42470000 .word 0x42470000
8001b24: 40023800 .word 0x40023800
08001b28 <HAL_RCC_GetSysClockFreq>:
8001b28: 4920 ldr r1, [pc, #128] @ (8001bac <HAL_RCC_GetSysClockFreq+0x84>)
8001b2a: b508 push {r3, lr}
8001b2c: 688b ldr r3, [r1, #8]
8001b2e: f003 030c and.w r3, r3, #12
8001b32: 2b08 cmp r3, #8
8001b34: d007 beq.n 8001b46 <HAL_RCC_GetSysClockFreq+0x1e>
8001b36: 2b0c cmp r3, #12
8001b38: d020 beq.n 8001b7c <HAL_RCC_GetSysClockFreq+0x54>
8001b3a: 481d ldr r0, [pc, #116] @ (8001bb0 <HAL_RCC_GetSysClockFreq+0x88>)
8001b3c: 4a1d ldr r2, [pc, #116] @ (8001bb4 <HAL_RCC_GetSysClockFreq+0x8c>)
8001b3e: 2b04 cmp r3, #4
8001b40: bf18 it ne
8001b42: 4610 movne r0, r2
8001b44: bd08 pop {r3, pc}
8001b46: 684a ldr r2, [r1, #4]
8001b48: 684b ldr r3, [r1, #4]
8001b4a: 6849 ldr r1, [r1, #4]
8001b4c: f413 0380 ands.w r3, r3, #4194304 @ 0x400000
8001b50: bf14 ite ne
8001b52: 4817 ldrne r0, [pc, #92] @ (8001bb0 <HAL_RCC_GetSysClockFreq+0x88>)
8001b54: 4817 ldreq r0, [pc, #92] @ (8001bb4 <HAL_RCC_GetSysClockFreq+0x8c>)
8001b56: f3c1 1188 ubfx r1, r1, #6, #9
8001b5a: bf18 it ne
8001b5c: 2300 movne r3, #0
8001b5e: f002 023f and.w r2, r2, #63 @ 0x3f
8001b62: fba1 0100 umull r0, r1, r1, r0
8001b66: f7fe fb55 bl 8000214 <__aeabi_uldivmod>
8001b6a: 4b10 ldr r3, [pc, #64] @ (8001bac <HAL_RCC_GetSysClockFreq+0x84>)
8001b6c: 685b ldr r3, [r3, #4]
8001b6e: f3c3 4301 ubfx r3, r3, #16, #2
8001b72: 3301 adds r3, #1
8001b74: 005b lsls r3, r3, #1
8001b76: fbb0 f0f3 udiv r0, r0, r3
8001b7a: e7e3 b.n 8001b44 <HAL_RCC_GetSysClockFreq+0x1c>
8001b7c: 684a ldr r2, [r1, #4]
8001b7e: 684b ldr r3, [r1, #4]
8001b80: 6849 ldr r1, [r1, #4]
8001b82: f413 0380 ands.w r3, r3, #4194304 @ 0x400000
8001b86: bf14 ite ne
8001b88: 4809 ldrne r0, [pc, #36] @ (8001bb0 <HAL_RCC_GetSysClockFreq+0x88>)
8001b8a: 480a ldreq r0, [pc, #40] @ (8001bb4 <HAL_RCC_GetSysClockFreq+0x8c>)
8001b8c: f3c1 1188 ubfx r1, r1, #6, #9
8001b90: bf18 it ne
8001b92: 2300 movne r3, #0
8001b94: f002 023f and.w r2, r2, #63 @ 0x3f
8001b98: fba1 0100 umull r0, r1, r1, r0
8001b9c: f7fe fb3a bl 8000214 <__aeabi_uldivmod>
8001ba0: 4b02 ldr r3, [pc, #8] @ (8001bac <HAL_RCC_GetSysClockFreq+0x84>)
8001ba2: 685b ldr r3, [r3, #4]
8001ba4: f3c3 7302 ubfx r3, r3, #28, #3
8001ba8: e7e5 b.n 8001b76 <HAL_RCC_GetSysClockFreq+0x4e>
8001baa: bf00 nop
8001bac: 40023800 .word 0x40023800
8001bb0: 007a1200 .word 0x007a1200
8001bb4: 00f42400 .word 0x00f42400
08001bb8 <HAL_RCC_OscConfig>:
8001bb8: e92d 41f3 stmdb sp!, {r0, r1, r4, r5, r6, r7, r8, lr}
8001bbc: 4604 mov r4, r0
8001bbe: 2800 cmp r0, #0
8001bc0: d031 beq.n 8001c26 <HAL_RCC_OscConfig+0x6e>
8001bc2: 6803 ldr r3, [r0, #0]
8001bc4: 07df lsls r7, r3, #31
8001bc6: d410 bmi.n 8001bea <HAL_RCC_OscConfig+0x32>
8001bc8: 6823 ldr r3, [r4, #0]
8001bca: 079e lsls r6, r3, #30
8001bcc: d467 bmi.n 8001c9e <HAL_RCC_OscConfig+0xe6>
8001bce: 6823 ldr r3, [r4, #0]
8001bd0: 0719 lsls r1, r3, #28
8001bd2: f100 80b2 bmi.w 8001d3a <HAL_RCC_OscConfig+0x182>
8001bd6: 6823 ldr r3, [r4, #0]
8001bd8: 075a lsls r2, r3, #29
8001bda: f100 80d2 bmi.w 8001d82 <HAL_RCC_OscConfig+0x1ca>
8001bde: 69a3 ldr r3, [r4, #24]
8001be0: 2b00 cmp r3, #0
8001be2: f040 8139 bne.w 8001e58 <HAL_RCC_OscConfig+0x2a0>
8001be6: 2000 movs r0, #0
8001be8: e034 b.n 8001c54 <HAL_RCC_OscConfig+0x9c>
8001bea: 4b98 ldr r3, [pc, #608] @ (8001e4c <HAL_RCC_OscConfig+0x294>)
8001bec: 689a ldr r2, [r3, #8]
8001bee: f002 020c and.w r2, r2, #12
8001bf2: 2a04 cmp r2, #4
8001bf4: d010 beq.n 8001c18 <HAL_RCC_OscConfig+0x60>
8001bf6: 689a ldr r2, [r3, #8]
8001bf8: f002 020c and.w r2, r2, #12
8001bfc: 2a08 cmp r2, #8
8001bfe: d102 bne.n 8001c06 <HAL_RCC_OscConfig+0x4e>
8001c00: 685b ldr r3, [r3, #4]
8001c02: 025d lsls r5, r3, #9
8001c04: d408 bmi.n 8001c18 <HAL_RCC_OscConfig+0x60>
8001c06: 4b91 ldr r3, [pc, #580] @ (8001e4c <HAL_RCC_OscConfig+0x294>)
8001c08: 689a ldr r2, [r3, #8]
8001c0a: f002 020c and.w r2, r2, #12
8001c0e: 2a0c cmp r2, #12
8001c10: d10b bne.n 8001c2a <HAL_RCC_OscConfig+0x72>
8001c12: 685a ldr r2, [r3, #4]
8001c14: 0251 lsls r1, r2, #9
8001c16: d508 bpl.n 8001c2a <HAL_RCC_OscConfig+0x72>
8001c18: 4b8c ldr r3, [pc, #560] @ (8001e4c <HAL_RCC_OscConfig+0x294>)
8001c1a: 681b ldr r3, [r3, #0]
8001c1c: 039a lsls r2, r3, #14
8001c1e: d5d3 bpl.n 8001bc8 <HAL_RCC_OscConfig+0x10>
8001c20: 6863 ldr r3, [r4, #4]
8001c22: 2b00 cmp r3, #0
8001c24: d1d0 bne.n 8001bc8 <HAL_RCC_OscConfig+0x10>
8001c26: 2001 movs r0, #1
8001c28: e014 b.n 8001c54 <HAL_RCC_OscConfig+0x9c>
8001c2a: 6862 ldr r2, [r4, #4]
8001c2c: f5b2 3f80 cmp.w r2, #65536 @ 0x10000
8001c30: d113 bne.n 8001c5a <HAL_RCC_OscConfig+0xa2>
8001c32: 681a ldr r2, [r3, #0]
8001c34: f442 3280 orr.w r2, r2, #65536 @ 0x10000
8001c38: 601a str r2, [r3, #0]
8001c3a: f7fe fe15 bl 8000868 <HAL_GetTick>
8001c3e: 4e83 ldr r6, [pc, #524] @ (8001e4c <HAL_RCC_OscConfig+0x294>)
8001c40: 4605 mov r5, r0
8001c42: 6833 ldr r3, [r6, #0]
8001c44: 039b lsls r3, r3, #14
8001c46: d4bf bmi.n 8001bc8 <HAL_RCC_OscConfig+0x10>
8001c48: f7fe fe0e bl 8000868 <HAL_GetTick>
8001c4c: 1b40 subs r0, r0, r5
8001c4e: 2864 cmp r0, #100 @ 0x64
8001c50: d9f7 bls.n 8001c42 <HAL_RCC_OscConfig+0x8a>
8001c52: 2003 movs r0, #3
8001c54: b002 add sp, #8
8001c56: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
8001c5a: 4d7c ldr r5, [pc, #496] @ (8001e4c <HAL_RCC_OscConfig+0x294>)
8001c5c: f5b2 2fa0 cmp.w r2, #327680 @ 0x50000
8001c60: 682b ldr r3, [r5, #0]
8001c62: d107 bne.n 8001c74 <HAL_RCC_OscConfig+0xbc>
8001c64: f443 2380 orr.w r3, r3, #262144 @ 0x40000
8001c68: 602b str r3, [r5, #0]
8001c6a: 682b ldr r3, [r5, #0]
8001c6c: f443 3380 orr.w r3, r3, #65536 @ 0x10000
8001c70: 602b str r3, [r5, #0]
8001c72: e7e2 b.n 8001c3a <HAL_RCC_OscConfig+0x82>
8001c74: f423 3380 bic.w r3, r3, #65536 @ 0x10000
8001c78: 602b str r3, [r5, #0]
8001c7a: 682b ldr r3, [r5, #0]
8001c7c: f423 2380 bic.w r3, r3, #262144 @ 0x40000
8001c80: 602b str r3, [r5, #0]
8001c82: 2a00 cmp r2, #0
8001c84: d1d9 bne.n 8001c3a <HAL_RCC_OscConfig+0x82>
8001c86: f7fe fdef bl 8000868 <HAL_GetTick>
8001c8a: 4606 mov r6, r0
8001c8c: 682b ldr r3, [r5, #0]
8001c8e: 039f lsls r7, r3, #14
8001c90: d59a bpl.n 8001bc8 <HAL_RCC_OscConfig+0x10>
8001c92: f7fe fde9 bl 8000868 <HAL_GetTick>
8001c96: 1b80 subs r0, r0, r6
8001c98: 2864 cmp r0, #100 @ 0x64
8001c9a: d9f7 bls.n 8001c8c <HAL_RCC_OscConfig+0xd4>
8001c9c: e7d9 b.n 8001c52 <HAL_RCC_OscConfig+0x9a>
8001c9e: 4b6b ldr r3, [pc, #428] @ (8001e4c <HAL_RCC_OscConfig+0x294>)
8001ca0: 689a ldr r2, [r3, #8]
8001ca2: f012 0f0c tst.w r2, #12
8001ca6: d010 beq.n 8001cca <HAL_RCC_OscConfig+0x112>
8001ca8: 689a ldr r2, [r3, #8]
8001caa: f002 020c and.w r2, r2, #12
8001cae: 2a08 cmp r2, #8
8001cb0: d102 bne.n 8001cb8 <HAL_RCC_OscConfig+0x100>
8001cb2: 685b ldr r3, [r3, #4]
8001cb4: 025e lsls r6, r3, #9
8001cb6: d508 bpl.n 8001cca <HAL_RCC_OscConfig+0x112>
8001cb8: 4a64 ldr r2, [pc, #400] @ (8001e4c <HAL_RCC_OscConfig+0x294>)
8001cba: 6893 ldr r3, [r2, #8]
8001cbc: f003 030c and.w r3, r3, #12
8001cc0: 2b0c cmp r3, #12
8001cc2: d111 bne.n 8001ce8 <HAL_RCC_OscConfig+0x130>
8001cc4: 6853 ldr r3, [r2, #4]
8001cc6: 025d lsls r5, r3, #9
8001cc8: d40e bmi.n 8001ce8 <HAL_RCC_OscConfig+0x130>
8001cca: 4a60 ldr r2, [pc, #384] @ (8001e4c <HAL_RCC_OscConfig+0x294>)
8001ccc: 6813 ldr r3, [r2, #0]
8001cce: 0799 lsls r1, r3, #30
8001cd0: d502 bpl.n 8001cd8 <HAL_RCC_OscConfig+0x120>
8001cd2: 68e3 ldr r3, [r4, #12]
8001cd4: 2b01 cmp r3, #1
8001cd6: d1a6 bne.n 8001c26 <HAL_RCC_OscConfig+0x6e>
8001cd8: 6813 ldr r3, [r2, #0]
8001cda: 6921 ldr r1, [r4, #16]
8001cdc: f023 03f8 bic.w r3, r3, #248 @ 0xf8
8001ce0: ea43 03c1 orr.w r3, r3, r1, lsl #3
8001ce4: 6013 str r3, [r2, #0]
8001ce6: e772 b.n 8001bce <HAL_RCC_OscConfig+0x16>
8001ce8: 68e2 ldr r2, [r4, #12]
8001cea: 4b59 ldr r3, [pc, #356] @ (8001e50 <HAL_RCC_OscConfig+0x298>)
8001cec: b1b2 cbz r2, 8001d1c <HAL_RCC_OscConfig+0x164>
8001cee: 2201 movs r2, #1
8001cf0: 601a str r2, [r3, #0]
8001cf2: f7fe fdb9 bl 8000868 <HAL_GetTick>
8001cf6: 4d55 ldr r5, [pc, #340] @ (8001e4c <HAL_RCC_OscConfig+0x294>)
8001cf8: 4606 mov r6, r0
8001cfa: 682b ldr r3, [r5, #0]
8001cfc: 079b lsls r3, r3, #30
8001cfe: d507 bpl.n 8001d10 <HAL_RCC_OscConfig+0x158>
8001d00: 682b ldr r3, [r5, #0]
8001d02: 6922 ldr r2, [r4, #16]
8001d04: f023 03f8 bic.w r3, r3, #248 @ 0xf8
8001d08: ea43 03c2 orr.w r3, r3, r2, lsl #3
8001d0c: 602b str r3, [r5, #0]
8001d0e: e75e b.n 8001bce <HAL_RCC_OscConfig+0x16>
8001d10: f7fe fdaa bl 8000868 <HAL_GetTick>
8001d14: 1b80 subs r0, r0, r6
8001d16: 2802 cmp r0, #2
8001d18: d9ef bls.n 8001cfa <HAL_RCC_OscConfig+0x142>
8001d1a: e79a b.n 8001c52 <HAL_RCC_OscConfig+0x9a>
8001d1c: 601a str r2, [r3, #0]
8001d1e: f7fe fda3 bl 8000868 <HAL_GetTick>
8001d22: 4e4a ldr r6, [pc, #296] @ (8001e4c <HAL_RCC_OscConfig+0x294>)
8001d24: 4605 mov r5, r0
8001d26: 6833 ldr r3, [r6, #0]
8001d28: 079f lsls r7, r3, #30
8001d2a: f57f af50 bpl.w 8001bce <HAL_RCC_OscConfig+0x16>
8001d2e: f7fe fd9b bl 8000868 <HAL_GetTick>
8001d32: 1b40 subs r0, r0, r5
8001d34: 2802 cmp r0, #2
8001d36: d9f6 bls.n 8001d26 <HAL_RCC_OscConfig+0x16e>
8001d38: e78b b.n 8001c52 <HAL_RCC_OscConfig+0x9a>
8001d3a: 6962 ldr r2, [r4, #20]
8001d3c: 4b44 ldr r3, [pc, #272] @ (8001e50 <HAL_RCC_OscConfig+0x298>)
8001d3e: b182 cbz r2, 8001d62 <HAL_RCC_OscConfig+0x1aa>
8001d40: 2201 movs r2, #1
8001d42: f8c3 2e80 str.w r2, [r3, #3712] @ 0xe80
8001d46: f7fe fd8f bl 8000868 <HAL_GetTick>
8001d4a: 4e40 ldr r6, [pc, #256] @ (8001e4c <HAL_RCC_OscConfig+0x294>)
8001d4c: 4605 mov r5, r0
8001d4e: 6f73 ldr r3, [r6, #116] @ 0x74
8001d50: 079b lsls r3, r3, #30
8001d52: f53f af40 bmi.w 8001bd6 <HAL_RCC_OscConfig+0x1e>
8001d56: f7fe fd87 bl 8000868 <HAL_GetTick>
8001d5a: 1b40 subs r0, r0, r5
8001d5c: 2802 cmp r0, #2
8001d5e: d9f6 bls.n 8001d4e <HAL_RCC_OscConfig+0x196>
8001d60: e777 b.n 8001c52 <HAL_RCC_OscConfig+0x9a>
8001d62: f8c3 2e80 str.w r2, [r3, #3712] @ 0xe80
8001d66: f7fe fd7f bl 8000868 <HAL_GetTick>
8001d6a: 4e38 ldr r6, [pc, #224] @ (8001e4c <HAL_RCC_OscConfig+0x294>)
8001d6c: 4605 mov r5, r0
8001d6e: 6f73 ldr r3, [r6, #116] @ 0x74
8001d70: 079f lsls r7, r3, #30
8001d72: f57f af30 bpl.w 8001bd6 <HAL_RCC_OscConfig+0x1e>
8001d76: f7fe fd77 bl 8000868 <HAL_GetTick>
8001d7a: 1b40 subs r0, r0, r5
8001d7c: 2802 cmp r0, #2
8001d7e: d9f6 bls.n 8001d6e <HAL_RCC_OscConfig+0x1b6>
8001d80: e767 b.n 8001c52 <HAL_RCC_OscConfig+0x9a>
8001d82: 4b32 ldr r3, [pc, #200] @ (8001e4c <HAL_RCC_OscConfig+0x294>)
8001d84: 6c1a ldr r2, [r3, #64] @ 0x40
8001d86: f012 5280 ands.w r2, r2, #268435456 @ 0x10000000
8001d8a: d128 bne.n 8001dde <HAL_RCC_OscConfig+0x226>
8001d8c: 9201 str r2, [sp, #4]
8001d8e: 6c1a ldr r2, [r3, #64] @ 0x40
8001d90: f042 5280 orr.w r2, r2, #268435456 @ 0x10000000
8001d94: 641a str r2, [r3, #64] @ 0x40
8001d96: 6c1b ldr r3, [r3, #64] @ 0x40
8001d98: f003 5380 and.w r3, r3, #268435456 @ 0x10000000
8001d9c: 9301 str r3, [sp, #4]
8001d9e: 9b01 ldr r3, [sp, #4]
8001da0: 2701 movs r7, #1
8001da2: 4d2c ldr r5, [pc, #176] @ (8001e54 <HAL_RCC_OscConfig+0x29c>)
8001da4: 682b ldr r3, [r5, #0]
8001da6: 05d8 lsls r0, r3, #23
8001da8: d51b bpl.n 8001de2 <HAL_RCC_OscConfig+0x22a>
8001daa: 68a3 ldr r3, [r4, #8]
8001dac: 4d27 ldr r5, [pc, #156] @ (8001e4c <HAL_RCC_OscConfig+0x294>)
8001dae: 2b01 cmp r3, #1
8001db0: d127 bne.n 8001e02 <HAL_RCC_OscConfig+0x24a>
8001db2: 6f2b ldr r3, [r5, #112] @ 0x70
8001db4: f043 0301 orr.w r3, r3, #1
8001db8: 672b str r3, [r5, #112] @ 0x70
8001dba: f7fe fd55 bl 8000868 <HAL_GetTick>
8001dbe: 4e23 ldr r6, [pc, #140] @ (8001e4c <HAL_RCC_OscConfig+0x294>)
8001dc0: 4605 mov r5, r0
8001dc2: f241 3888 movw r8, #5000 @ 0x1388
8001dc6: 6f33 ldr r3, [r6, #112] @ 0x70
8001dc8: 079a lsls r2, r3, #30
8001dca: d539 bpl.n 8001e40 <HAL_RCC_OscConfig+0x288>
8001dcc: 2f00 cmp r7, #0
8001dce: f43f af06 beq.w 8001bde <HAL_RCC_OscConfig+0x26>
8001dd2: 4a1e ldr r2, [pc, #120] @ (8001e4c <HAL_RCC_OscConfig+0x294>)
8001dd4: 6c13 ldr r3, [r2, #64] @ 0x40
8001dd6: f023 5380 bic.w r3, r3, #268435456 @ 0x10000000
8001dda: 6413 str r3, [r2, #64] @ 0x40
8001ddc: e6ff b.n 8001bde <HAL_RCC_OscConfig+0x26>
8001dde: 2700 movs r7, #0
8001de0: e7df b.n 8001da2 <HAL_RCC_OscConfig+0x1ea>
8001de2: 682b ldr r3, [r5, #0]
8001de4: f443 7380 orr.w r3, r3, #256 @ 0x100
8001de8: 602b str r3, [r5, #0]
8001dea: f7fe fd3d bl 8000868 <HAL_GetTick>
8001dee: 4606 mov r6, r0
8001df0: 682b ldr r3, [r5, #0]
8001df2: 05d9 lsls r1, r3, #23
8001df4: d4d9 bmi.n 8001daa <HAL_RCC_OscConfig+0x1f2>
8001df6: f7fe fd37 bl 8000868 <HAL_GetTick>
8001dfa: 1b80 subs r0, r0, r6
8001dfc: 2802 cmp r0, #2
8001dfe: d9f7 bls.n 8001df0 <HAL_RCC_OscConfig+0x238>
8001e00: e727 b.n 8001c52 <HAL_RCC_OscConfig+0x9a>
8001e02: 2b05 cmp r3, #5
8001e04: d104 bne.n 8001e10 <HAL_RCC_OscConfig+0x258>
8001e06: 6f2b ldr r3, [r5, #112] @ 0x70
8001e08: f043 0304 orr.w r3, r3, #4
8001e0c: 672b str r3, [r5, #112] @ 0x70
8001e0e: e7d0 b.n 8001db2 <HAL_RCC_OscConfig+0x1fa>
8001e10: 6f2a ldr r2, [r5, #112] @ 0x70
8001e12: f022 0201 bic.w r2, r2, #1
8001e16: 672a str r2, [r5, #112] @ 0x70
8001e18: 6f2a ldr r2, [r5, #112] @ 0x70
8001e1a: f022 0204 bic.w r2, r2, #4
8001e1e: 672a str r2, [r5, #112] @ 0x70
8001e20: 2b00 cmp r3, #0
8001e22: d1ca bne.n 8001dba <HAL_RCC_OscConfig+0x202>
8001e24: f7fe fd20 bl 8000868 <HAL_GetTick>
8001e28: f241 3888 movw r8, #5000 @ 0x1388
8001e2c: 4606 mov r6, r0
8001e2e: 6f2b ldr r3, [r5, #112] @ 0x70
8001e30: 079b lsls r3, r3, #30
8001e32: d5cb bpl.n 8001dcc <HAL_RCC_OscConfig+0x214>
8001e34: f7fe fd18 bl 8000868 <HAL_GetTick>
8001e38: 1b80 subs r0, r0, r6
8001e3a: 4540 cmp r0, r8
8001e3c: d9f7 bls.n 8001e2e <HAL_RCC_OscConfig+0x276>
8001e3e: e708 b.n 8001c52 <HAL_RCC_OscConfig+0x9a>
8001e40: f7fe fd12 bl 8000868 <HAL_GetTick>
8001e44: 1b40 subs r0, r0, r5
8001e46: 4540 cmp r0, r8
8001e48: d9bd bls.n 8001dc6 <HAL_RCC_OscConfig+0x20e>
8001e4a: e702 b.n 8001c52 <HAL_RCC_OscConfig+0x9a>
8001e4c: 40023800 .word 0x40023800
8001e50: 42470000 .word 0x42470000
8001e54: 40007000 .word 0x40007000
8001e58: 4d3c ldr r5, [pc, #240] @ (8001f4c <HAL_RCC_OscConfig+0x394>)
8001e5a: 68aa ldr r2, [r5, #8]
8001e5c: f002 020c and.w r2, r2, #12
8001e60: 2a08 cmp r2, #8
8001e62: d041 beq.n 8001ee8 <HAL_RCC_OscConfig+0x330>
8001e64: 2b02 cmp r3, #2
8001e66: 4b3a ldr r3, [pc, #232] @ (8001f50 <HAL_RCC_OscConfig+0x398>)
8001e68: f04f 0200 mov.w r2, #0
8001e6c: 661a str r2, [r3, #96] @ 0x60
8001e6e: d12e bne.n 8001ece <HAL_RCC_OscConfig+0x316>
8001e70: f7fe fcfa bl 8000868 <HAL_GetTick>
8001e74: 4606 mov r6, r0
8001e76: 682b ldr r3, [r5, #0]
8001e78: 0199 lsls r1, r3, #6
8001e7a: d422 bmi.n 8001ec2 <HAL_RCC_OscConfig+0x30a>
8001e7c: e9d4 3207 ldrd r3, r2, [r4, #28]
8001e80: 4313 orrs r3, r2
8001e82: 6a62 ldr r2, [r4, #36] @ 0x24
8001e84: ea43 1382 orr.w r3, r3, r2, lsl #6
8001e88: 6ae2 ldr r2, [r4, #44] @ 0x2c
8001e8a: ea43 6302 orr.w r3, r3, r2, lsl #24
8001e8e: 6b22 ldr r2, [r4, #48] @ 0x30
8001e90: ea43 7302 orr.w r3, r3, r2, lsl #28
8001e94: 6aa2 ldr r2, [r4, #40] @ 0x28
8001e96: 0852 lsrs r2, r2, #1
8001e98: 3a01 subs r2, #1
8001e9a: ea43 4302 orr.w r3, r3, r2, lsl #16
8001e9e: 606b str r3, [r5, #4]
8001ea0: 4b2b ldr r3, [pc, #172] @ (8001f50 <HAL_RCC_OscConfig+0x398>)
8001ea2: 4d2a ldr r5, [pc, #168] @ (8001f4c <HAL_RCC_OscConfig+0x394>)
8001ea4: 2201 movs r2, #1
8001ea6: 661a str r2, [r3, #96] @ 0x60
8001ea8: f7fe fcde bl 8000868 <HAL_GetTick>
8001eac: 4604 mov r4, r0
8001eae: 682b ldr r3, [r5, #0]
8001eb0: 019a lsls r2, r3, #6
8001eb2: f53f ae98 bmi.w 8001be6 <HAL_RCC_OscConfig+0x2e>
8001eb6: f7fe fcd7 bl 8000868 <HAL_GetTick>
8001eba: 1b00 subs r0, r0, r4
8001ebc: 2802 cmp r0, #2
8001ebe: d9f6 bls.n 8001eae <HAL_RCC_OscConfig+0x2f6>
8001ec0: e6c7 b.n 8001c52 <HAL_RCC_OscConfig+0x9a>
8001ec2: f7fe fcd1 bl 8000868 <HAL_GetTick>
8001ec6: 1b80 subs r0, r0, r6
8001ec8: 2802 cmp r0, #2
8001eca: d9d4 bls.n 8001e76 <HAL_RCC_OscConfig+0x2be>
8001ecc: e6c1 b.n 8001c52 <HAL_RCC_OscConfig+0x9a>
8001ece: f7fe fccb bl 8000868 <HAL_GetTick>
8001ed2: 4604 mov r4, r0
8001ed4: 682b ldr r3, [r5, #0]
8001ed6: 019b lsls r3, r3, #6
8001ed8: f57f ae85 bpl.w 8001be6 <HAL_RCC_OscConfig+0x2e>
8001edc: f7fe fcc4 bl 8000868 <HAL_GetTick>
8001ee0: 1b00 subs r0, r0, r4
8001ee2: 2802 cmp r0, #2
8001ee4: d9f6 bls.n 8001ed4 <HAL_RCC_OscConfig+0x31c>
8001ee6: e6b4 b.n 8001c52 <HAL_RCC_OscConfig+0x9a>
8001ee8: 2b01 cmp r3, #1
8001eea: f43f ae9c beq.w 8001c26 <HAL_RCC_OscConfig+0x6e>
8001eee: 686b ldr r3, [r5, #4]
8001ef0: 69e2 ldr r2, [r4, #28]
8001ef2: f403 0180 and.w r1, r3, #4194304 @ 0x400000
8001ef6: 4291 cmp r1, r2
8001ef8: f47f ae95 bne.w 8001c26 <HAL_RCC_OscConfig+0x6e>
8001efc: 6a21 ldr r1, [r4, #32]
8001efe: f003 023f and.w r2, r3, #63 @ 0x3f
8001f02: 428a cmp r2, r1
8001f04: f47f ae8f bne.w 8001c26 <HAL_RCC_OscConfig+0x6e>
8001f08: 6a61 ldr r1, [r4, #36] @ 0x24
8001f0a: f647 72c0 movw r2, #32704 @ 0x7fc0
8001f0e: 401a ands r2, r3
8001f10: ebb2 1f81 cmp.w r2, r1, lsl #6
8001f14: f47f ae87 bne.w 8001c26 <HAL_RCC_OscConfig+0x6e>
8001f18: 6aa2 ldr r2, [r4, #40] @ 0x28
8001f1a: 0852 lsrs r2, r2, #1
8001f1c: f403 3140 and.w r1, r3, #196608 @ 0x30000
8001f20: 3a01 subs r2, #1
8001f22: ebb1 4f02 cmp.w r1, r2, lsl #16
8001f26: f47f ae7e bne.w 8001c26 <HAL_RCC_OscConfig+0x6e>
8001f2a: 6ae1 ldr r1, [r4, #44] @ 0x2c
8001f2c: f003 6270 and.w r2, r3, #251658240 @ 0xf000000
8001f30: ebb2 6f01 cmp.w r2, r1, lsl #24
8001f34: f47f ae77 bne.w 8001c26 <HAL_RCC_OscConfig+0x6e>
8001f38: 6b22 ldr r2, [r4, #48] @ 0x30
8001f3a: f003 43e0 and.w r3, r3, #1879048192 @ 0x70000000
8001f3e: ebb3 7f02 cmp.w r3, r2, lsl #28
8001f42: bf14 ite ne
8001f44: 2001 movne r0, #1
8001f46: 2000 moveq r0, #0
8001f48: e684 b.n 8001c54 <HAL_RCC_OscConfig+0x9c>
8001f4a: bf00 nop
8001f4c: 40023800 .word 0x40023800
8001f50: 42470000 .word 0x42470000
08001f54 <USB_CoreReset>:
8001f54: b082 sub sp, #8
8001f56: 2300 movs r3, #0
8001f58: 4602 mov r2, r0
8001f5a: 9301 str r3, [sp, #4]
8001f5c: 9b01 ldr r3, [sp, #4]
8001f5e: 3301 adds r3, #1
8001f60: 9301 str r3, [sp, #4]
8001f62: 9b01 ldr r3, [sp, #4]
8001f64: f1b3 6f70 cmp.w r3, #251658240 @ 0xf000000
8001f68: d81a bhi.n 8001fa0 <USB_CoreReset+0x4c>
8001f6a: 6913 ldr r3, [r2, #16]
8001f6c: 2b00 cmp r3, #0
8001f6e: daf5 bge.n 8001f5c <USB_CoreReset+0x8>
8001f70: 230a movs r3, #10
8001f72: 9301 str r3, [sp, #4]
8001f74: 9b01 ldr r3, [sp, #4]
8001f76: b983 cbnz r3, 8001f9a <USB_CoreReset+0x46>
8001f78: 6913 ldr r3, [r2, #16]
8001f7a: f043 0301 orr.w r3, r3, #1
8001f7e: 6113 str r3, [r2, #16]
8001f80: 9b01 ldr r3, [sp, #4]
8001f82: 3301 adds r3, #1
8001f84: 9301 str r3, [sp, #4]
8001f86: 9b01 ldr r3, [sp, #4]
8001f88: f1b3 6f70 cmp.w r3, #251658240 @ 0xf000000
8001f8c: d808 bhi.n 8001fa0 <USB_CoreReset+0x4c>
8001f8e: 6910 ldr r0, [r2, #16]
8001f90: f010 0001 ands.w r0, r0, #1
8001f94: d1f4 bne.n 8001f80 <USB_CoreReset+0x2c>
8001f96: b002 add sp, #8
8001f98: 4770 bx lr
8001f9a: 9b01 ldr r3, [sp, #4]
8001f9c: 3b01 subs r3, #1
8001f9e: e7e8 b.n 8001f72 <USB_CoreReset+0x1e>
8001fa0: 2003 movs r0, #3
8001fa2: e7f8 b.n 8001f96 <USB_CoreReset+0x42>
08001fa4 <USB_CoreInit>:
8001fa4: b084 sub sp, #16
8001fa6: b538 push {r3, r4, r5, lr}
8001fa8: ad05 add r5, sp, #20
8001faa: e885 000e stmia.w r5, {r1, r2, r3}
8001fae: f89d 3019 ldrb.w r3, [sp, #25]
8001fb2: 2b01 cmp r3, #1
8001fb4: 4604 mov r4, r0
8001fb6: d127 bne.n 8002008 <USB_CoreInit+0x64>
8001fb8: 6b83 ldr r3, [r0, #56] @ 0x38
8001fba: f423 3380 bic.w r3, r3, #65536 @ 0x10000
8001fbe: 6383 str r3, [r0, #56] @ 0x38
8001fc0: 68c3 ldr r3, [r0, #12]
8001fc2: f423 0384 bic.w r3, r3, #4325376 @ 0x420000
8001fc6: f023 0340 bic.w r3, r3, #64 @ 0x40
8001fca: 60c3 str r3, [r0, #12]
8001fcc: 68c3 ldr r3, [r0, #12]
8001fce: f423 1340 bic.w r3, r3, #3145728 @ 0x300000
8001fd2: 60c3 str r3, [r0, #12]
8001fd4: f89d 3020 ldrb.w r3, [sp, #32]
8001fd8: 2b01 cmp r3, #1
8001fda: bf02 ittt eq
8001fdc: 68c3 ldreq r3, [r0, #12]
8001fde: f443 1380 orreq.w r3, r3, #1048576 @ 0x100000
8001fe2: 60c3 streq r3, [r0, #12]
8001fe4: f7ff ffb6 bl 8001f54 <USB_CoreReset>
8001fe8: f89d 3016 ldrb.w r3, [sp, #22]
8001fec: 2b01 cmp r3, #1
8001fee: d107 bne.n 8002000 <USB_CoreInit+0x5c>
8001ff0: 68a3 ldr r3, [r4, #8]
8001ff2: f043 0306 orr.w r3, r3, #6
8001ff6: 60a3 str r3, [r4, #8]
8001ff8: 68a3 ldr r3, [r4, #8]
8001ffa: f043 0320 orr.w r3, r3, #32
8001ffe: 60a3 str r3, [r4, #8]
8002000: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr}
8002004: b004 add sp, #16
8002006: 4770 bx lr
8002008: 68c3 ldr r3, [r0, #12]
800200a: f043 0340 orr.w r3, r3, #64 @ 0x40
800200e: 60c3 str r3, [r0, #12]
8002010: f7ff ffa0 bl 8001f54 <USB_CoreReset>
8002014: f89d 301d ldrb.w r3, [sp, #29]
8002018: b923 cbnz r3, 8002024 <USB_CoreInit+0x80>
800201a: 6ba3 ldr r3, [r4, #56] @ 0x38
800201c: f443 3380 orr.w r3, r3, #65536 @ 0x10000
8002020: 63a3 str r3, [r4, #56] @ 0x38
8002022: e7e1 b.n 8001fe8 <USB_CoreInit+0x44>
8002024: 6ba3 ldr r3, [r4, #56] @ 0x38
8002026: f423 3380 bic.w r3, r3, #65536 @ 0x10000
800202a: e7f9 b.n 8002020 <USB_CoreInit+0x7c>
0800202c <USB_SetTurnaroundTime>:
800202c: 2a02 cmp r2, #2
800202e: d14a bne.n 80020c6 <USB_SetTurnaroundTime+0x9a>
8002030: 4b27 ldr r3, [pc, #156] @ (80020d0 <USB_SetTurnaroundTime+0xa4>)
8002032: 4a28 ldr r2, [pc, #160] @ (80020d4 <USB_SetTurnaroundTime+0xa8>)
8002034: 440b add r3, r1
8002036: 4293 cmp r3, r2
8002038: d939 bls.n 80020ae <USB_SetTurnaroundTime+0x82>
800203a: 4b27 ldr r3, [pc, #156] @ (80020d8 <USB_SetTurnaroundTime+0xac>)
800203c: 4a27 ldr r2, [pc, #156] @ (80020dc <USB_SetTurnaroundTime+0xb0>)
800203e: 440b add r3, r1
8002040: 4293 cmp r3, r2
8002042: d936 bls.n 80020b2 <USB_SetTurnaroundTime+0x86>
8002044: 4a26 ldr r2, [pc, #152] @ (80020e0 <USB_SetTurnaroundTime+0xb4>)
8002046: f5a1 0374 sub.w r3, r1, #15990784 @ 0xf40000
800204a: f5a3 5310 sub.w r3, r3, #9216 @ 0x2400
800204e: 4293 cmp r3, r2
8002050: d931 bls.n 80020b6 <USB_SetTurnaroundTime+0x8a>
8002052: 4a24 ldr r2, [pc, #144] @ (80020e4 <USB_SetTurnaroundTime+0xb8>)
8002054: f1a1 7383 sub.w r3, r1, #17170432 @ 0x1060000
8002058: f5a3 43e7 sub.w r3, r3, #29568 @ 0x7380
800205c: 4293 cmp r3, r2
800205e: d32c bcc.n 80020ba <USB_SetTurnaroundTime+0x8e>
8002060: 4b21 ldr r3, [pc, #132] @ (80020e8 <USB_SetTurnaroundTime+0xbc>)
8002062: 4a22 ldr r2, [pc, #136] @ (80020ec <USB_SetTurnaroundTime+0xc0>)
8002064: 440b add r3, r1
8002066: 4293 cmp r3, r2
8002068: d929 bls.n 80020be <USB_SetTurnaroundTime+0x92>
800206a: 4b21 ldr r3, [pc, #132] @ (80020f0 <USB_SetTurnaroundTime+0xc4>)
800206c: 4a21 ldr r2, [pc, #132] @ (80020f4 <USB_SetTurnaroundTime+0xc8>)
800206e: 440b add r3, r1
8002070: 4293 cmp r3, r2
8002072: d326 bcc.n 80020c2 <USB_SetTurnaroundTime+0x96>
8002074: 4b20 ldr r3, [pc, #128] @ (80020f8 <USB_SetTurnaroundTime+0xcc>)
8002076: 4a21 ldr r2, [pc, #132] @ (80020fc <USB_SetTurnaroundTime+0xd0>)
8002078: 440b add r3, r1
800207a: 4293 cmp r3, r2
800207c: d323 bcc.n 80020c6 <USB_SetTurnaroundTime+0x9a>
800207e: 4a20 ldr r2, [pc, #128] @ (8002100 <USB_SetTurnaroundTime+0xd4>)
8002080: f1a1 73b7 sub.w r3, r1, #23986176 @ 0x16e0000
8002084: f5a3 5358 sub.w r3, r3, #13824 @ 0x3600
8002088: 4293 cmp r3, r2
800208a: d31e bcc.n 80020ca <USB_SetTurnaroundTime+0x9e>
800208c: 4b1d ldr r3, [pc, #116] @ (8002104 <USB_SetTurnaroundTime+0xd8>)
800208e: 4a1e ldr r2, [pc, #120] @ (8002108 <USB_SetTurnaroundTime+0xdc>)
8002090: 440b add r3, r1
8002092: 4293 cmp r3, r2
8002094: bf2c ite cs
8002096: 2306 movcs r3, #6
8002098: 2307 movcc r3, #7
800209a: 68c2 ldr r2, [r0, #12]
800209c: f422 5270 bic.w r2, r2, #15360 @ 0x3c00
80020a0: 60c2 str r2, [r0, #12]
80020a2: 68c2 ldr r2, [r0, #12]
80020a4: ea42 2383 orr.w r3, r2, r3, lsl #10
80020a8: 60c3 str r3, [r0, #12]
80020aa: 2000 movs r0, #0
80020ac: 4770 bx lr
80020ae: 230f movs r3, #15
80020b0: e7f3 b.n 800209a <USB_SetTurnaroundTime+0x6e>
80020b2: 230e movs r3, #14
80020b4: e7f1 b.n 800209a <USB_SetTurnaroundTime+0x6e>
80020b6: 230d movs r3, #13
80020b8: e7ef b.n 800209a <USB_SetTurnaroundTime+0x6e>
80020ba: 230c movs r3, #12
80020bc: e7ed b.n 800209a <USB_SetTurnaroundTime+0x6e>
80020be: 230b movs r3, #11
80020c0: e7eb b.n 800209a <USB_SetTurnaroundTime+0x6e>
80020c2: 230a movs r3, #10
80020c4: e7e9 b.n 800209a <USB_SetTurnaroundTime+0x6e>
80020c6: 2309 movs r3, #9
80020c8: e7e7 b.n 800209a <USB_SetTurnaroundTime+0x6e>
80020ca: 2308 movs r3, #8
80020cc: e7e5 b.n 800209a <USB_SetTurnaroundTime+0x6e>
80020ce: bf00 nop
80020d0: ff275340 .word 0xff275340
80020d4: 000c34ff .word 0x000c34ff
80020d8: ff1b1e40 .word 0xff1b1e40
80020dc: 000f423f .word 0x000f423f
80020e0: 00124f7f .word 0x00124f7f
80020e4: 0013d620 .word 0x0013d620
80020e8: fee5b660 .word 0xfee5b660
80020ec: 0016e35f .word 0x0016e35f
80020f0: feced300 .word 0xfeced300
80020f4: 001b7740 .word 0x001b7740
80020f8: feb35bc0 .word 0xfeb35bc0
80020fc: 002191c0 .word 0x002191c0
8002100: 00387520 .word 0x00387520
8002104: fe5954e0 .word 0xfe5954e0
8002108: 00419ce0 .word 0x00419ce0
0800210c <USB_EnableGlobalInt>:
800210c: 6883 ldr r3, [r0, #8]
800210e: f043 0301 orr.w r3, r3, #1
8002112: 6083 str r3, [r0, #8]
8002114: 2000 movs r0, #0
8002116: 4770 bx lr
08002118 <USB_DisableGlobalInt>:
8002118: 6883 ldr r3, [r0, #8]
800211a: f023 0301 bic.w r3, r3, #1
800211e: 6083 str r3, [r0, #8]
8002120: 2000 movs r0, #0
8002122: 4770 bx lr
08002124 <USB_SetCurrentMode>:
8002124: b538 push {r3, r4, r5, lr}
8002126: 68c3 ldr r3, [r0, #12]
8002128: 2901 cmp r1, #1
800212a: f023 43c0 bic.w r3, r3, #1610612736 @ 0x60000000
800212e: 4605 mov r5, r0
8002130: 460c mov r4, r1
8002132: 60c3 str r3, [r0, #12]
8002134: d114 bne.n 8002160 <USB_SetCurrentMode+0x3c>
8002136: 68c3 ldr r3, [r0, #12]
8002138: f043 5300 orr.w r3, r3, #536870912 @ 0x20000000
800213c: 60c3 str r3, [r0, #12]
800213e: 2400 movs r4, #0
8002140: 200a movs r0, #10
8002142: f7fe fb97 bl 8000874 <HAL_Delay>
8002146: 696b ldr r3, [r5, #20]
8002148: 07d9 lsls r1, r3, #31
800214a: f104 040a add.w r4, r4, #10
800214e: d402 bmi.n 8002156 <USB_SetCurrentMode+0x32>
8002150: 2cc8 cmp r4, #200 @ 0xc8
8002152: d1f5 bne.n 8002140 <USB_SetCurrentMode+0x1c>
8002154: 24c8 movs r4, #200 @ 0xc8
8002156: f1a4 03c8 sub.w r3, r4, #200 @ 0xc8
800215a: 4258 negs r0, r3
800215c: 4158 adcs r0, r3
800215e: bd38 pop {r3, r4, r5, pc}
8002160: b971 cbnz r1, 8002180 <USB_SetCurrentMode+0x5c>
8002162: 68c3 ldr r3, [r0, #12]
8002164: f043 4380 orr.w r3, r3, #1073741824 @ 0x40000000
8002168: 60c3 str r3, [r0, #12]
800216a: 200a movs r0, #10
800216c: f7fe fb82 bl 8000874 <HAL_Delay>
8002170: 696b ldr r3, [r5, #20]
8002172: 07da lsls r2, r3, #31
8002174: f104 040a add.w r4, r4, #10
8002178: d5ed bpl.n 8002156 <USB_SetCurrentMode+0x32>
800217a: 2cc8 cmp r4, #200 @ 0xc8
800217c: d1f5 bne.n 800216a <USB_SetCurrentMode+0x46>
800217e: e7e9 b.n 8002154 <USB_SetCurrentMode+0x30>
8002180: 2001 movs r0, #1
8002182: e7ec b.n 800215e <USB_SetCurrentMode+0x3a>
08002184 <USB_FlushTxFifo>:
8002184: b082 sub sp, #8
8002186: 2300 movs r3, #0
8002188: 4602 mov r2, r0
800218a: 9301 str r3, [sp, #4]
800218c: 9b01 ldr r3, [sp, #4]
800218e: 3301 adds r3, #1
8002190: 9301 str r3, [sp, #4]
8002192: 9b01 ldr r3, [sp, #4]
8002194: f1b3 6f70 cmp.w r3, #251658240 @ 0xf000000
8002198: d815 bhi.n 80021c6 <USB_FlushTxFifo+0x42>
800219a: 6913 ldr r3, [r2, #16]
800219c: 2b00 cmp r3, #0
800219e: daf5 bge.n 800218c <USB_FlushTxFifo+0x8>
80021a0: 0189 lsls r1, r1, #6
80021a2: 2300 movs r3, #0
80021a4: f041 0120 orr.w r1, r1, #32
80021a8: 9301 str r3, [sp, #4]
80021aa: 6111 str r1, [r2, #16]
80021ac: 9b01 ldr r3, [sp, #4]
80021ae: 3301 adds r3, #1
80021b0: 9301 str r3, [sp, #4]
80021b2: 9b01 ldr r3, [sp, #4]
80021b4: f1b3 6f70 cmp.w r3, #251658240 @ 0xf000000
80021b8: d805 bhi.n 80021c6 <USB_FlushTxFifo+0x42>
80021ba: 6910 ldr r0, [r2, #16]
80021bc: f010 0020 ands.w r0, r0, #32
80021c0: d1f4 bne.n 80021ac <USB_FlushTxFifo+0x28>
80021c2: b002 add sp, #8
80021c4: 4770 bx lr
80021c6: 2003 movs r0, #3
80021c8: e7fb b.n 80021c2 <USB_FlushTxFifo+0x3e>
080021ca <USB_FlushRxFifo>:
80021ca: b082 sub sp, #8
80021cc: 2300 movs r3, #0
80021ce: 4602 mov r2, r0
80021d0: 9301 str r3, [sp, #4]
80021d2: 9b01 ldr r3, [sp, #4]
80021d4: 3301 adds r3, #1
80021d6: 9301 str r3, [sp, #4]
80021d8: 9b01 ldr r3, [sp, #4]
80021da: f1b3 6f70 cmp.w r3, #251658240 @ 0xf000000
80021de: d813 bhi.n 8002208 <USB_FlushRxFifo+0x3e>
80021e0: 6913 ldr r3, [r2, #16]
80021e2: 2b00 cmp r3, #0
80021e4: daf5 bge.n 80021d2 <USB_FlushRxFifo+0x8>
80021e6: 2300 movs r3, #0
80021e8: 9301 str r3, [sp, #4]
80021ea: 2310 movs r3, #16
80021ec: 6113 str r3, [r2, #16]
80021ee: 9b01 ldr r3, [sp, #4]
80021f0: 3301 adds r3, #1
80021f2: 9301 str r3, [sp, #4]
80021f4: 9b01 ldr r3, [sp, #4]
80021f6: f1b3 6f70 cmp.w r3, #251658240 @ 0xf000000
80021fa: d805 bhi.n 8002208 <USB_FlushRxFifo+0x3e>
80021fc: 6910 ldr r0, [r2, #16]
80021fe: f010 0010 ands.w r0, r0, #16
8002202: d1f4 bne.n 80021ee <USB_FlushRxFifo+0x24>
8002204: b002 add sp, #8
8002206: 4770 bx lr
8002208: 2003 movs r0, #3
800220a: e7fb b.n 8002204 <USB_FlushRxFifo+0x3a>
0800220c <USB_SetDevSpeed>:
800220c: f8d0 3800 ldr.w r3, [r0, #2048] @ 0x800
8002210: 4319 orrs r1, r3
8002212: f8c0 1800 str.w r1, [r0, #2048] @ 0x800
8002216: 2000 movs r0, #0
8002218: 4770 bx lr
...
0800221c <USB_DevInit>:
800221c: b084 sub sp, #16
800221e: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr}
8002222: 4604 mov r4, r0
8002224: a809 add r0, sp, #36 @ 0x24
8002226: e880 000e stmia.w r0, {r1, r2, r3}
800222a: 2300 movs r3, #0
800222c: f89d 6024 ldrb.w r6, [sp, #36] @ 0x24
8002230: f89d 502e ldrb.w r5, [sp, #46] @ 0x2e
8002234: 4619 mov r1, r3
8002236: f103 0240 add.w r2, r3, #64 @ 0x40
800223a: eb04 0282 add.w r2, r4, r2, lsl #2
800223e: 3301 adds r3, #1
8002240: 2b0f cmp r3, #15
8002242: 6051 str r1, [r2, #4]
8002244: d1f7 bne.n 8002236 <USB_DevInit+0x1a>
8002246: f504 6700 add.w r7, r4, #2048 @ 0x800
800224a: 2d00 cmp r5, #0
800224c: d16c bne.n 8002328 <USB_DevInit+0x10c>
800224e: 687b ldr r3, [r7, #4]
8002250: f043 0302 orr.w r3, r3, #2
8002254: 607b str r3, [r7, #4]
8002256: 6ba3 ldr r3, [r4, #56] @ 0x38
8002258: f423 1300 bic.w r3, r3, #2097152 @ 0x200000
800225c: 63a3 str r3, [r4, #56] @ 0x38
800225e: 6823 ldr r3, [r4, #0]
8002260: f043 0340 orr.w r3, r3, #64 @ 0x40
8002264: 6023 str r3, [r4, #0]
8002266: 6823 ldr r3, [r4, #0]
8002268: f043 0380 orr.w r3, r3, #128 @ 0x80
800226c: 6023 str r3, [r4, #0]
800226e: 2300 movs r3, #0
8002270: f8c4 3e00 str.w r3, [r4, #3584] @ 0xe00
8002274: f89d 3029 ldrb.w r3, [sp, #41] @ 0x29
8002278: 2b01 cmp r3, #1
800227a: d15c bne.n 8002336 <USB_DevInit+0x11a>
800227c: f89d 1027 ldrb.w r1, [sp, #39] @ 0x27
8002280: 2900 cmp r1, #0
8002282: d156 bne.n 8002332 <USB_DevInit+0x116>
8002284: 4620 mov r0, r4
8002286: f7ff ffc1 bl 800220c <USB_SetDevSpeed>
800228a: 2110 movs r1, #16
800228c: 4620 mov r0, r4
800228e: f7ff ff79 bl 8002184 <USB_FlushTxFifo>
8002292: 4601 mov r1, r0
8002294: 4620 mov r0, r4
8002296: f7ff ff98 bl 80021ca <USB_FlushRxFifo>
800229a: 4308 orrs r0, r1
800229c: b2c0 uxtb r0, r0
800229e: 2300 movs r3, #0
80022a0: 3800 subs r0, #0
80022a2: 613b str r3, [r7, #16]
80022a4: bf18 it ne
80022a6: 2001 movne r0, #1
80022a8: 617b str r3, [r7, #20]
80022aa: f504 6210 add.w r2, r4, #2304 @ 0x900
80022ae: 61fb str r3, [r7, #28]
80022b0: 4619 mov r1, r3
80022b2: f04f 4c90 mov.w ip, #1207959552 @ 0x48000000
80022b6: f04f 6e00 mov.w lr, #134217728 @ 0x8000000
80022ba: f64f 387f movw r8, #64383 @ 0xfb7f
80022be: 429e cmp r6, r3
80022c0: d83b bhi.n 800233a <USB_DevInit+0x11e>
80022c2: 2200 movs r2, #0
80022c4: f504 6330 add.w r3, r4, #2816 @ 0xb00
80022c8: 4611 mov r1, r2
80022ca: f04f 4c90 mov.w ip, #1207959552 @ 0x48000000
80022ce: f04f 6e00 mov.w lr, #134217728 @ 0x8000000
80022d2: f64f 387f movw r8, #64383 @ 0xfb7f
80022d6: 4296 cmp r6, r2
80022d8: d842 bhi.n 8002360 <USB_DevInit+0x144>
80022da: 693b ldr r3, [r7, #16]
80022dc: f423 7380 bic.w r3, r3, #256 @ 0x100
80022e0: 613b str r3, [r7, #16]
80022e2: 2300 movs r3, #0
80022e4: 61a3 str r3, [r4, #24]
80022e6: f06f 4380 mvn.w r3, #1073741824 @ 0x40000000
80022ea: 6163 str r3, [r4, #20]
80022ec: f89d 3026 ldrb.w r3, [sp, #38] @ 0x26
80022f0: b91b cbnz r3, 80022fa <USB_DevInit+0xde>
80022f2: 69a3 ldr r3, [r4, #24]
80022f4: f043 0310 orr.w r3, r3, #16
80022f8: 61a3 str r3, [r4, #24]
80022fa: 69a2 ldr r2, [r4, #24]
80022fc: 4b22 ldr r3, [pc, #136] @ (8002388 <USB_DevInit+0x16c>)
80022fe: 4313 orrs r3, r2
8002300: 61a3 str r3, [r4, #24]
8002302: f89d 302a ldrb.w r3, [sp, #42] @ 0x2a
8002306: b11b cbz r3, 8002310 <USB_DevInit+0xf4>
8002308: 69a3 ldr r3, [r4, #24]
800230a: f043 0308 orr.w r3, r3, #8
800230e: 61a3 str r3, [r4, #24]
8002310: 2d01 cmp r5, #1
8002312: bf01 itttt eq
8002314: 69a3 ldreq r3, [r4, #24]
8002316: f043 4380 orreq.w r3, r3, #1073741824 @ 0x40000000
800231a: f043 0304 orreq.w r3, r3, #4
800231e: 61a3 streq r3, [r4, #24]
8002320: e8bd 43f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, lr}
8002324: b004 add sp, #16
8002326: 4770 bx lr
8002328: 6ba3 ldr r3, [r4, #56] @ 0x38
800232a: f443 1300 orr.w r3, r3, #2097152 @ 0x200000
800232e: 63a3 str r3, [r4, #56] @ 0x38
8002330: e79d b.n 800226e <USB_DevInit+0x52>
8002332: 4619 mov r1, r3
8002334: e7a6 b.n 8002284 <USB_DevInit+0x68>
8002336: 2103 movs r1, #3
8002338: e7a4 b.n 8002284 <USB_DevInit+0x68>
800233a: f8d2 9000 ldr.w r9, [r2]
800233e: f1b9 0f00 cmp.w r9, #0
8002342: da0b bge.n 800235c <USB_DevInit+0x140>
8002344: b93b cbnz r3, 8002356 <USB_DevInit+0x13a>
8002346: f8c2 e000 str.w lr, [r2]
800234a: 6111 str r1, [r2, #16]
800234c: 3301 adds r3, #1
800234e: f8c2 8008 str.w r8, [r2, #8]
8002352: 3220 adds r2, #32
8002354: e7b3 b.n 80022be <USB_DevInit+0xa2>
8002356: f8c2 c000 str.w ip, [r2]
800235a: e7f6 b.n 800234a <USB_DevInit+0x12e>
800235c: 6011 str r1, [r2, #0]
800235e: e7f4 b.n 800234a <USB_DevInit+0x12e>
8002360: f8d3 9000 ldr.w r9, [r3]
8002364: f1b9 0f00 cmp.w r9, #0
8002368: da0b bge.n 8002382 <USB_DevInit+0x166>
800236a: b93a cbnz r2, 800237c <USB_DevInit+0x160>
800236c: f8c3 e000 str.w lr, [r3]
8002370: 6119 str r1, [r3, #16]
8002372: 3201 adds r2, #1
8002374: f8c3 8008 str.w r8, [r3, #8]
8002378: 3320 adds r3, #32
800237a: e7ac b.n 80022d6 <USB_DevInit+0xba>
800237c: f8c3 c000 str.w ip, [r3]
8002380: e7f6 b.n 8002370 <USB_DevInit+0x154>
8002382: 6019 str r1, [r3, #0]
8002384: e7f4 b.n 8002370 <USB_DevInit+0x154>
8002386: bf00 nop
8002388: 803c3800 .word 0x803c3800
0800238c <USB_GetDevSpeed>:
800238c: f8d0 3808 ldr.w r3, [r0, #2056] @ 0x808
8002390: f013 0006 ands.w r0, r3, #6
8002394: d004 beq.n 80023a0 <USB_GetDevSpeed+0x14>
8002396: f013 0f02 tst.w r3, #2
800239a: bf14 ite ne
800239c: 2002 movne r0, #2
800239e: 200f moveq r0, #15
80023a0: 4770 bx lr
080023a2 <USB_ActivateEndpoint>:
80023a2: b530 push {r4, r5, lr}
80023a4: 780c ldrb r4, [r1, #0]
80023a6: 2201 movs r2, #1
80023a8: f004 050f and.w r5, r4, #15
80023ac: 40aa lsls r2, r5
80023ae: 784d ldrb r5, [r1, #1]
80023b0: 2d01 cmp r5, #1
80023b2: f500 6300 add.w r3, r0, #2048 @ 0x800
80023b6: eb00 1044 add.w r0, r0, r4, lsl #5
80023ba: d119 bne.n 80023f0 <USB_ActivateEndpoint+0x4e>
80023bc: 69dd ldr r5, [r3, #28]
80023be: 432a orrs r2, r5
80023c0: 61da str r2, [r3, #28]
80023c2: f8d0 3900 ldr.w r3, [r0, #2304] @ 0x900
80023c6: 041a lsls r2, r3, #16
80023c8: d410 bmi.n 80023ec <USB_ActivateEndpoint+0x4a>
80023ca: 688a ldr r2, [r1, #8]
80023cc: f8d0 5900 ldr.w r5, [r0, #2304] @ 0x900
80023d0: f3c2 030a ubfx r3, r2, #0, #11
80023d4: 790a ldrb r2, [r1, #4]
80023d6: 432b orrs r3, r5
80023d8: ea43 4382 orr.w r3, r3, r2, lsl #18
80023dc: ea43 5384 orr.w r3, r3, r4, lsl #22
80023e0: f043 5380 orr.w r3, r3, #268435456 @ 0x10000000
80023e4: f443 4300 orr.w r3, r3, #32768 @ 0x8000
80023e8: f8c0 3900 str.w r3, [r0, #2304] @ 0x900
80023ec: 2000 movs r0, #0
80023ee: bd30 pop {r4, r5, pc}
80023f0: 69dc ldr r4, [r3, #28]
80023f2: ea44 4202 orr.w r2, r4, r2, lsl #16
80023f6: 61da str r2, [r3, #28]
80023f8: f8d0 3b00 ldr.w r3, [r0, #2816] @ 0xb00
80023fc: 041b lsls r3, r3, #16
80023fe: d4f5 bmi.n 80023ec <USB_ActivateEndpoint+0x4a>
8002400: 688b ldr r3, [r1, #8]
8002402: f8d0 2b00 ldr.w r2, [r0, #2816] @ 0xb00
8002406: f3c3 030a ubfx r3, r3, #0, #11
800240a: 4313 orrs r3, r2
800240c: 790a ldrb r2, [r1, #4]
800240e: ea43 4382 orr.w r3, r3, r2, lsl #18
8002412: f043 5380 orr.w r3, r3, #268435456 @ 0x10000000
8002416: f443 4300 orr.w r3, r3, #32768 @ 0x8000
800241a: f8c0 3b00 str.w r3, [r0, #2816] @ 0xb00
800241e: e7e5 b.n 80023ec <USB_ActivateEndpoint+0x4a>
08002420 <USB_DeactivateEndpoint>:
8002420: b510 push {r4, lr}
8002422: 780a ldrb r2, [r1, #0]
8002424: 7849 ldrb r1, [r1, #1]
8002426: 2901 cmp r1, #1
8002428: eb00 1342 add.w r3, r0, r2, lsl #5
800242c: f500 6000 add.w r0, r0, #2048 @ 0x800
8002430: f002 020f and.w r2, r2, #15
8002434: d122 bne.n 800247c <USB_DeactivateEndpoint+0x5c>
8002436: f8d3 1900 ldr.w r1, [r3, #2304] @ 0x900
800243a: 2900 cmp r1, #0
800243c: da0b bge.n 8002456 <USB_DeactivateEndpoint+0x36>
800243e: f8d3 1900 ldr.w r1, [r3, #2304] @ 0x900
8002442: f041 6100 orr.w r1, r1, #134217728 @ 0x8000000
8002446: f8c3 1900 str.w r1, [r3, #2304] @ 0x900
800244a: f8d3 1900 ldr.w r1, [r3, #2304] @ 0x900
800244e: f041 4180 orr.w r1, r1, #1073741824 @ 0x40000000
8002452: f8c3 1900 str.w r1, [r3, #2304] @ 0x900
8002456: 6bc4 ldr r4, [r0, #60] @ 0x3c
8002458: 2101 movs r1, #1
800245a: fa01 f202 lsl.w r2, r1, r2
800245e: ea24 0402 bic.w r4, r4, r2
8002462: 63c4 str r4, [r0, #60] @ 0x3c
8002464: 69c1 ldr r1, [r0, #28]
8002466: ea21 0202 bic.w r2, r1, r2
800246a: 61c2 str r2, [r0, #28]
800246c: f8d3 1900 ldr.w r1, [r3, #2304] @ 0x900
8002470: 4a14 ldr r2, [pc, #80] @ (80024c4 <USB_DeactivateEndpoint+0xa4>)
8002472: 400a ands r2, r1
8002474: f8c3 2900 str.w r2, [r3, #2304] @ 0x900
8002478: 2000 movs r0, #0
800247a: bd10 pop {r4, pc}
800247c: f8d3 1b00 ldr.w r1, [r3, #2816] @ 0xb00
8002480: 2900 cmp r1, #0
8002482: da0b bge.n 800249c <USB_DeactivateEndpoint+0x7c>
8002484: f8d3 1b00 ldr.w r1, [r3, #2816] @ 0xb00
8002488: f041 6100 orr.w r1, r1, #134217728 @ 0x8000000
800248c: f8c3 1b00 str.w r1, [r3, #2816] @ 0xb00
8002490: f8d3 1b00 ldr.w r1, [r3, #2816] @ 0xb00
8002494: f041 4180 orr.w r1, r1, #1073741824 @ 0x40000000
8002498: f8c3 1b00 str.w r1, [r3, #2816] @ 0xb00
800249c: 6bc4 ldr r4, [r0, #60] @ 0x3c
800249e: f44f 3180 mov.w r1, #65536 @ 0x10000
80024a2: fa01 f202 lsl.w r2, r1, r2
80024a6: ea24 0402 bic.w r4, r4, r2
80024aa: 63c4 str r4, [r0, #60] @ 0x3c
80024ac: 69c1 ldr r1, [r0, #28]
80024ae: ea21 0202 bic.w r2, r1, r2
80024b2: 61c2 str r2, [r0, #28]
80024b4: f8d3 1b00 ldr.w r1, [r3, #2816] @ 0xb00
80024b8: 4a03 ldr r2, [pc, #12] @ (80024c8 <USB_DeactivateEndpoint+0xa8>)
80024ba: 400a ands r2, r1
80024bc: f8c3 2b00 str.w r2, [r3, #2816] @ 0xb00
80024c0: e7da b.n 8002478 <USB_DeactivateEndpoint+0x58>
80024c2: bf00 nop
80024c4: ec337800 .word 0xec337800
80024c8: eff37800 .word 0xeff37800
080024cc <USB_EPStopXfer>:
80024cc: b082 sub sp, #8
80024ce: 2300 movs r3, #0
80024d0: 784a ldrb r2, [r1, #1]
80024d2: 9301 str r3, [sp, #4]
80024d4: 780b ldrb r3, [r1, #0]
80024d6: 2a01 cmp r2, #1
80024d8: ea4f 1343 mov.w r3, r3, lsl #5
80024dc: d11e bne.n 800251c <USB_EPStopXfer+0x50>
80024de: f500 6010 add.w r0, r0, #2304 @ 0x900
80024e2: 18c1 adds r1, r0, r3
80024e4: 58c2 ldr r2, [r0, r3]
80024e6: 2a00 cmp r2, #0
80024e8: db02 blt.n 80024f0 <USB_EPStopXfer+0x24>
80024ea: 2000 movs r0, #0
80024ec: b002 add sp, #8
80024ee: 4770 bx lr
80024f0: 58c2 ldr r2, [r0, r3]
80024f2: f042 6200 orr.w r2, r2, #134217728 @ 0x8000000
80024f6: 50c2 str r2, [r0, r3]
80024f8: 58c2 ldr r2, [r0, r3]
80024fa: f042 4280 orr.w r2, r2, #1073741824 @ 0x40000000
80024fe: 50c2 str r2, [r0, r3]
8002500: f242 7210 movw r2, #10000 @ 0x2710
8002504: 9b01 ldr r3, [sp, #4]
8002506: 3301 adds r3, #1
8002508: 9301 str r3, [sp, #4]
800250a: 9b01 ldr r3, [sp, #4]
800250c: 4293 cmp r3, r2
800250e: d901 bls.n 8002514 <USB_EPStopXfer+0x48>
8002510: 2001 movs r0, #1
8002512: e7eb b.n 80024ec <USB_EPStopXfer+0x20>
8002514: 680b ldr r3, [r1, #0]
8002516: 2b00 cmp r3, #0
8002518: dbf4 blt.n 8002504 <USB_EPStopXfer+0x38>
800251a: e7e6 b.n 80024ea <USB_EPStopXfer+0x1e>
800251c: f500 6030 add.w r0, r0, #2816 @ 0xb00
8002520: 18c1 adds r1, r0, r3
8002522: 58c2 ldr r2, [r0, r3]
8002524: 2a00 cmp r2, #0
8002526: dae0 bge.n 80024ea <USB_EPStopXfer+0x1e>
8002528: 58c2 ldr r2, [r0, r3]
800252a: f042 6200 orr.w r2, r2, #134217728 @ 0x8000000
800252e: 50c2 str r2, [r0, r3]
8002530: 58c2 ldr r2, [r0, r3]
8002532: f042 4280 orr.w r2, r2, #1073741824 @ 0x40000000
8002536: 50c2 str r2, [r0, r3]
8002538: f242 7210 movw r2, #10000 @ 0x2710
800253c: 9b01 ldr r3, [sp, #4]
800253e: 3301 adds r3, #1
8002540: 9301 str r3, [sp, #4]
8002542: 9b01 ldr r3, [sp, #4]
8002544: 4293 cmp r3, r2
8002546: d8e3 bhi.n 8002510 <USB_EPStopXfer+0x44>
8002548: 680b ldr r3, [r1, #0]
800254a: 2b00 cmp r3, #0
800254c: dbf6 blt.n 800253c <USB_EPStopXfer+0x70>
800254e: e7cc b.n 80024ea <USB_EPStopXfer+0x1e>
08002550 <USB_WritePacket>:
8002550: b510 push {r4, lr}
8002552: f89d 4008 ldrb.w r4, [sp, #8]
8002556: b944 cbnz r4, 800256a <USB_WritePacket+0x1a>
8002558: 3303 adds r3, #3
800255a: 3201 adds r2, #1
800255c: 089b lsrs r3, r3, #2
800255e: eb00 3002 add.w r0, r0, r2, lsl #12
8002562: eb01 0383 add.w r3, r1, r3, lsl #2
8002566: 4299 cmp r1, r3
8002568: d101 bne.n 800256e <USB_WritePacket+0x1e>
800256a: 2000 movs r0, #0
800256c: bd10 pop {r4, pc}
800256e: f851 2b04 ldr.w r2, [r1], #4
8002572: 6002 str r2, [r0, #0]
8002574: e7f7 b.n 8002566 <USB_WritePacket+0x16>
...
08002578 <USB_EPStartXfer>:
8002578: e92d 41f3 stmdb sp!, {r0, r1, r4, r5, r6, r7, r8, lr}
800257c: 784b ldrb r3, [r1, #1]
800257e: 690c ldr r4, [r1, #16]
8002580: 790f ldrb r7, [r1, #4]
8002582: f8df e1f0 ldr.w lr, [pc, #496] @ 8002774 <USB_EPStartXfer+0x1fc>
8002586: f8df 81f0 ldr.w r8, [pc, #496] @ 8002778 <USB_EPStartXfer+0x200>
800258a: 4616 mov r6, r2
800258c: 780a ldrb r2, [r1, #0]
800258e: 2b01 cmp r3, #1
8002590: eb00 1542 add.w r5, r0, r2, lsl #5
8002594: f040 8097 bne.w 80026c6 <USB_EPStartXfer+0x14e>
8002598: f505 6c10 add.w ip, r5, #2304 @ 0x900
800259c: f8dc 3010 ldr.w r3, [ip, #16]
80025a0: bb74 cbnz r4, 8002600 <USB_EPStartXfer+0x88>
80025a2: ea03 030e and.w r3, r3, lr
80025a6: f8cc 3010 str.w r3, [ip, #16]
80025aa: f8dc 3010 ldr.w r3, [ip, #16]
80025ae: f443 2300 orr.w r3, r3, #524288 @ 0x80000
80025b2: f8cc 3010 str.w r3, [ip, #16]
80025b6: f8dc 3010 ldr.w r3, [ip, #16]
80025ba: ea03 0308 and.w r3, r3, r8
80025be: 2e01 cmp r6, #1
80025c0: f8cc 3010 str.w r3, [ip, #16]
80025c4: d157 bne.n 8002676 <USB_EPStartXfer+0xfe>
80025c6: 69cb ldr r3, [r1, #28]
80025c8: b10b cbz r3, 80025ce <USB_EPStartXfer+0x56>
80025ca: f8cc 3014 str.w r3, [ip, #20]
80025ce: 2f01 cmp r7, #1
80025d0: d10c bne.n 80025ec <USB_EPStartXfer+0x74>
80025d2: f8d0 3808 ldr.w r3, [r0, #2056] @ 0x808
80025d6: f413 7f80 tst.w r3, #256 @ 0x100
80025da: f8d5 3900 ldr.w r3, [r5, #2304] @ 0x900
80025de: bf0c ite eq
80025e0: f043 5300 orreq.w r3, r3, #536870912 @ 0x20000000
80025e4: f043 5380 orrne.w r3, r3, #268435456 @ 0x10000000
80025e8: f8c5 3900 str.w r3, [r5, #2304] @ 0x900
80025ec: f8d5 3900 ldr.w r3, [r5, #2304] @ 0x900
80025f0: f043 4304 orr.w r3, r3, #2214592512 @ 0x84000000
80025f4: f8c5 3900 str.w r3, [r5, #2304] @ 0x900
80025f8: 2000 movs r0, #0
80025fa: b002 add sp, #8
80025fc: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
8002600: ea03 0308 and.w r3, r3, r8
8002604: f8cc 3010 str.w r3, [ip, #16]
8002608: f8dc 3010 ldr.w r3, [ip, #16]
800260c: ea03 030e and.w r3, r3, lr
8002610: f8cc 3010 str.w r3, [ip, #16]
8002614: 688b ldr r3, [r1, #8]
8002616: b97a cbnz r2, 8002638 <USB_EPStartXfer+0xc0>
8002618: 42a3 cmp r3, r4
800261a: bf38 it cc
800261c: 610b strcc r3, [r1, #16]
800261e: f8dc 3010 ldr.w r3, [ip, #16]
8002622: f443 2300 orr.w r3, r3, #524288 @ 0x80000
8002626: f8cc 3010 str.w r3, [ip, #16]
800262a: 690b ldr r3, [r1, #16]
800262c: f8dc 4010 ldr.w r4, [ip, #16]
8002630: f3c3 0312 ubfx r3, r3, #0, #19
8002634: 4323 orrs r3, r4
8002636: e7c2 b.n 80025be <USB_EPStartXfer+0x46>
8002638: 441c add r4, r3
800263a: 3c01 subs r4, #1
800263c: fbb4 f4f3 udiv r4, r4, r3
8002640: 4b4b ldr r3, [pc, #300] @ (8002770 <USB_EPStartXfer+0x1f8>)
8002642: f8dc e010 ldr.w lr, [ip, #16]
8002646: fa1f f884 uxth.w r8, r4
800264a: ea03 44c4 and.w r4, r3, r4, lsl #19
800264e: ea44 040e orr.w r4, r4, lr
8002652: 2f01 cmp r7, #1
8002654: f8cc 4010 str.w r4, [ip, #16]
8002658: d1e7 bne.n 800262a <USB_EPStartXfer+0xb2>
800265a: f8dc 3010 ldr.w r3, [ip, #16]
800265e: f023 43c0 bic.w r3, r3, #1610612736 @ 0x60000000
8002662: f8cc 3010 str.w r3, [ip, #16]
8002666: f8dc 4010 ldr.w r4, [ip, #16]
800266a: ea4f 7348 mov.w r3, r8, lsl #29
800266e: f003 43c0 and.w r3, r3, #1610612736 @ 0x60000000
8002672: 4323 orrs r3, r4
8002674: e7d7 b.n 8002626 <USB_EPStartXfer+0xae>
8002676: f8d5 3900 ldr.w r3, [r5, #2304] @ 0x900
800267a: 2f01 cmp r7, #1
800267c: f043 4304 orr.w r3, r3, #2214592512 @ 0x84000000
8002680: f8c5 3900 str.w r3, [r5, #2304] @ 0x900
8002684: 690b ldr r3, [r1, #16]
8002686: d00b beq.n 80026a0 <USB_EPStartXfer+0x128>
8002688: 2b00 cmp r3, #0
800268a: d0b5 beq.n 80025f8 <USB_EPStartXfer+0x80>
800268c: f8d0 1834 ldr.w r1, [r0, #2100] @ 0x834
8002690: f002 020f and.w r2, r2, #15
8002694: 2301 movs r3, #1
8002696: 4093 lsls r3, r2
8002698: 430b orrs r3, r1
800269a: f8c0 3834 str.w r3, [r0, #2100] @ 0x834
800269e: e7ab b.n 80025f8 <USB_EPStartXfer+0x80>
80026a0: f8d0 4808 ldr.w r4, [r0, #2056] @ 0x808
80026a4: f414 7f80 tst.w r4, #256 @ 0x100
80026a8: f8d5 4900 ldr.w r4, [r5, #2304] @ 0x900
80026ac: bf0c ite eq
80026ae: f044 5400 orreq.w r4, r4, #536870912 @ 0x20000000
80026b2: f044 5480 orrne.w r4, r4, #268435456 @ 0x10000000
80026b6: f8c5 4900 str.w r4, [r5, #2304] @ 0x900
80026ba: 9600 str r6, [sp, #0]
80026bc: 68c9 ldr r1, [r1, #12]
80026be: b29b uxth r3, r3
80026c0: f7ff ff46 bl 8002550 <USB_WritePacket>
80026c4: e798 b.n 80025f8 <USB_EPStartXfer+0x80>
80026c6: f8d5 3b10 ldr.w r3, [r5, #2832] @ 0xb10
80026ca: ea03 0308 and.w r3, r3, r8
80026ce: f8c5 3b10 str.w r3, [r5, #2832] @ 0xb10
80026d2: f8d5 3b10 ldr.w r3, [r5, #2832] @ 0xb10
80026d6: ea03 030e and.w r3, r3, lr
80026da: f505 6c30 add.w ip, r5, #2816 @ 0xb00
80026de: f8cc 3010 str.w r3, [ip, #16]
80026e2: 688b ldr r3, [r1, #8]
80026e4: bb5a cbnz r2, 800273e <USB_EPStartXfer+0x1c6>
80026e6: b104 cbz r4, 80026ea <USB_EPStartXfer+0x172>
80026e8: 610b str r3, [r1, #16]
80026ea: 620b str r3, [r1, #32]
80026ec: f8dc 2010 ldr.w r2, [ip, #16]
80026f0: f3c3 0312 ubfx r3, r3, #0, #19
80026f4: 4313 orrs r3, r2
80026f6: f8cc 3010 str.w r3, [ip, #16]
80026fa: f8dc 3010 ldr.w r3, [ip, #16]
80026fe: f443 2300 orr.w r3, r3, #524288 @ 0x80000
8002702: 2e01 cmp r6, #1
8002704: f8cc 3010 str.w r3, [ip, #16]
8002708: d103 bne.n 8002712 <USB_EPStartXfer+0x19a>
800270a: 68cb ldr r3, [r1, #12]
800270c: b10b cbz r3, 8002712 <USB_EPStartXfer+0x19a>
800270e: f8cc 3014 str.w r3, [ip, #20]
8002712: 2f01 cmp r7, #1
8002714: d10c bne.n 8002730 <USB_EPStartXfer+0x1b8>
8002716: f8d0 3808 ldr.w r3, [r0, #2056] @ 0x808
800271a: f413 7f80 tst.w r3, #256 @ 0x100
800271e: f8d5 3b00 ldr.w r3, [r5, #2816] @ 0xb00
8002722: bf0c ite eq
8002724: f043 5300 orreq.w r3, r3, #536870912 @ 0x20000000
8002728: f043 5380 orrne.w r3, r3, #268435456 @ 0x10000000
800272c: f8c5 3b00 str.w r3, [r5, #2816] @ 0xb00
8002730: f8d5 3b00 ldr.w r3, [r5, #2816] @ 0xb00
8002734: f043 4304 orr.w r3, r3, #2214592512 @ 0x84000000
8002738: f8c5 3b00 str.w r3, [r5, #2816] @ 0xb00
800273c: e75c b.n 80025f8 <USB_EPStartXfer+0x80>
800273e: 2c00 cmp r4, #0
8002740: d0d4 beq.n 80026ec <USB_EPStartXfer+0x174>
8002742: 441c add r4, r3
8002744: 4a0a ldr r2, [pc, #40] @ (8002770 <USB_EPStartXfer+0x1f8>)
8002746: f8dc e010 ldr.w lr, [ip, #16]
800274a: 3c01 subs r4, #1
800274c: fbb4 f4f3 udiv r4, r4, r3
8002750: b2a4 uxth r4, r4
8002752: ea02 42c4 and.w r2, r2, r4, lsl #19
8002756: 4363 muls r3, r4
8002758: ea42 020e orr.w r2, r2, lr
800275c: 620b str r3, [r1, #32]
800275e: f8cc 2010 str.w r2, [ip, #16]
8002762: f8dc 2010 ldr.w r2, [ip, #16]
8002766: f3c3 0312 ubfx r3, r3, #0, #19
800276a: 4313 orrs r3, r2
800276c: e7c9 b.n 8002702 <USB_EPStartXfer+0x18a>
800276e: bf00 nop
8002770: 1ff80000 .word 0x1ff80000
8002774: e007ffff .word 0xe007ffff
8002778: fff80000 .word 0xfff80000
0800277c <USB_ReadPacket>:
800277c: 4603 mov r3, r0
800277e: b570 push {r4, r5, r6, lr}
8002780: 2000 movs r0, #0
8002782: 0894 lsrs r4, r2, #2
8002784: f503 5580 add.w r5, r3, #4096 @ 0x1000
8002788: f002 0203 and.w r2, r2, #3
800278c: 42a0 cmp r0, r4
800278e: d310 bcc.n 80027b2 <USB_ReadPacket+0x36>
8002790: eb01 0084 add.w r0, r1, r4, lsl #2
8002794: b162 cbz r2, 80027b0 <USB_ReadPacket+0x34>
8002796: f503 5380 add.w r3, r3, #4096 @ 0x1000
800279a: 681c ldr r4, [r3, #0]
800279c: 2300 movs r3, #0
800279e: 00d9 lsls r1, r3, #3
80027a0: fa24 f101 lsr.w r1, r4, r1
80027a4: 54c1 strb r1, [r0, r3]
80027a6: 3301 adds r3, #1
80027a8: b299 uxth r1, r3
80027aa: 428a cmp r2, r1
80027ac: d1f7 bne.n 800279e <USB_ReadPacket+0x22>
80027ae: 4410 add r0, r2
80027b0: bd70 pop {r4, r5, r6, pc}
80027b2: 682e ldr r6, [r5, #0]
80027b4: f841 6020 str.w r6, [r1, r0, lsl #2]
80027b8: 3001 adds r0, #1
80027ba: e7e7 b.n 800278c <USB_ReadPacket+0x10>
080027bc <USB_EPSetStall>:
80027bc: 784a ldrb r2, [r1, #1]
80027be: 780b ldrb r3, [r1, #0]
80027c0: 2a01 cmp r2, #1
80027c2: eb00 1043 add.w r0, r0, r3, lsl #5
80027c6: d112 bne.n 80027ee <USB_EPSetStall+0x32>
80027c8: f8d0 2900 ldr.w r2, [r0, #2304] @ 0x900
80027cc: 2a00 cmp r2, #0
80027ce: db06 blt.n 80027de <USB_EPSetStall+0x22>
80027d0: b12b cbz r3, 80027de <USB_EPSetStall+0x22>
80027d2: f8d0 3900 ldr.w r3, [r0, #2304] @ 0x900
80027d6: f023 4380 bic.w r3, r3, #1073741824 @ 0x40000000
80027da: f8c0 3900 str.w r3, [r0, #2304] @ 0x900
80027de: f8d0 3900 ldr.w r3, [r0, #2304] @ 0x900
80027e2: f443 1300 orr.w r3, r3, #2097152 @ 0x200000
80027e6: f8c0 3900 str.w r3, [r0, #2304] @ 0x900
80027ea: 2000 movs r0, #0
80027ec: 4770 bx lr
80027ee: f8d0 2b00 ldr.w r2, [r0, #2816] @ 0xb00
80027f2: 2a00 cmp r2, #0
80027f4: db06 blt.n 8002804 <USB_EPSetStall+0x48>
80027f6: b12b cbz r3, 8002804 <USB_EPSetStall+0x48>
80027f8: f8d0 3b00 ldr.w r3, [r0, #2816] @ 0xb00
80027fc: f023 4380 bic.w r3, r3, #1073741824 @ 0x40000000
8002800: f8c0 3b00 str.w r3, [r0, #2816] @ 0xb00
8002804: f8d0 3b00 ldr.w r3, [r0, #2816] @ 0xb00
8002808: f443 1300 orr.w r3, r3, #2097152 @ 0x200000
800280c: f8c0 3b00 str.w r3, [r0, #2816] @ 0xb00
8002810: e7eb b.n 80027ea <USB_EPSetStall+0x2e>
08002812 <USB_EPClearStall>:
8002812: 780b ldrb r3, [r1, #0]
8002814: 784a ldrb r2, [r1, #1]
8002816: eb00 1043 add.w r0, r0, r3, lsl #5
800281a: 790b ldrb r3, [r1, #4]
800281c: 2a01 cmp r2, #1
800281e: f1a3 0302 sub.w r3, r3, #2
8002822: b2db uxtb r3, r3
8002824: d10f bne.n 8002846 <USB_EPClearStall+0x34>
8002826: f8d0 2900 ldr.w r2, [r0, #2304] @ 0x900
800282a: 2b01 cmp r3, #1
800282c: f422 1200 bic.w r2, r2, #2097152 @ 0x200000
8002830: f8c0 2900 str.w r2, [r0, #2304] @ 0x900
8002834: d805 bhi.n 8002842 <USB_EPClearStall+0x30>
8002836: f8d0 3900 ldr.w r3, [r0, #2304] @ 0x900
800283a: f043 5380 orr.w r3, r3, #268435456 @ 0x10000000
800283e: f8c0 3900 str.w r3, [r0, #2304] @ 0x900
8002842: 2000 movs r0, #0
8002844: 4770 bx lr
8002846: f8d0 2b00 ldr.w r2, [r0, #2816] @ 0xb00
800284a: f422 1200 bic.w r2, r2, #2097152 @ 0x200000
800284e: 2b01 cmp r3, #1
8002850: f8c0 2b00 str.w r2, [r0, #2816] @ 0xb00
8002854: bf9e ittt ls
8002856: f8d0 3b00 ldrls.w r3, [r0, #2816] @ 0xb00
800285a: f043 5380 orrls.w r3, r3, #268435456 @ 0x10000000
800285e: f8c0 3b00 strls.w r3, [r0, #2816] @ 0xb00
8002862: e7ee b.n 8002842 <USB_EPClearStall+0x30>
08002864 <USB_SetDevAddress>:
8002864: f8d0 3800 ldr.w r3, [r0, #2048] @ 0x800
8002868: f423 63fe bic.w r3, r3, #2032 @ 0x7f0
800286c: f8c0 3800 str.w r3, [r0, #2048] @ 0x800
8002870: f8d0 3800 ldr.w r3, [r0, #2048] @ 0x800
8002874: 0109 lsls r1, r1, #4
8002876: f401 61fe and.w r1, r1, #2032 @ 0x7f0
800287a: 4319 orrs r1, r3
800287c: f8c0 1800 str.w r1, [r0, #2048] @ 0x800
8002880: 2000 movs r0, #0
8002882: 4770 bx lr
08002884 <USB_DevConnect>:
8002884: f8d0 3e00 ldr.w r3, [r0, #3584] @ 0xe00
8002888: f023 0303 bic.w r3, r3, #3
800288c: f8c0 3e00 str.w r3, [r0, #3584] @ 0xe00
8002890: f8d0 3804 ldr.w r3, [r0, #2052] @ 0x804
8002894: f023 0302 bic.w r3, r3, #2
8002898: f8c0 3804 str.w r3, [r0, #2052] @ 0x804
800289c: 2000 movs r0, #0
800289e: 4770 bx lr
080028a0 <USB_DevDisconnect>:
80028a0: f8d0 3e00 ldr.w r3, [r0, #3584] @ 0xe00
80028a4: f023 0303 bic.w r3, r3, #3
80028a8: f8c0 3e00 str.w r3, [r0, #3584] @ 0xe00
80028ac: f8d0 3804 ldr.w r3, [r0, #2052] @ 0x804
80028b0: f043 0302 orr.w r3, r3, #2
80028b4: f8c0 3804 str.w r3, [r0, #2052] @ 0x804
80028b8: 2000 movs r0, #0
80028ba: 4770 bx lr
080028bc <USB_ReadInterrupts>:
80028bc: 6942 ldr r2, [r0, #20]
80028be: 6980 ldr r0, [r0, #24]
80028c0: 4010 ands r0, r2
80028c2: 4770 bx lr
080028c4 <USB_ReadDevAllOutEpInterrupt>:
80028c4: f8d0 3818 ldr.w r3, [r0, #2072] @ 0x818
80028c8: f500 6000 add.w r0, r0, #2048 @ 0x800
80028cc: 69c0 ldr r0, [r0, #28]
80028ce: 4018 ands r0, r3
80028d0: 0c00 lsrs r0, r0, #16
80028d2: 4770 bx lr
080028d4 <USB_ReadDevAllInEpInterrupt>:
80028d4: f8d0 3818 ldr.w r3, [r0, #2072] @ 0x818
80028d8: f500 6000 add.w r0, r0, #2048 @ 0x800
80028dc: 69c0 ldr r0, [r0, #28]
80028de: 4018 ands r0, r3
80028e0: b280 uxth r0, r0
80028e2: 4770 bx lr
080028e4 <USB_ReadDevOutEPInterrupt>:
80028e4: eb00 1141 add.w r1, r0, r1, lsl #5
80028e8: f500 6000 add.w r0, r0, #2048 @ 0x800
80028ec: f8d1 2b08 ldr.w r2, [r1, #2824] @ 0xb08
80028f0: 6940 ldr r0, [r0, #20]
80028f2: 4010 ands r0, r2
80028f4: 4770 bx lr
080028f6 <USB_ReadDevInEPInterrupt>:
80028f6: f8d0 2810 ldr.w r2, [r0, #2064] @ 0x810
80028fa: f8d0 3834 ldr.w r3, [r0, #2100] @ 0x834
80028fe: eb00 1041 add.w r0, r0, r1, lsl #5
8002902: f001 010f and.w r1, r1, #15
8002906: 40cb lsrs r3, r1
8002908: f500 6010 add.w r0, r0, #2304 @ 0x900
800290c: 01db lsls r3, r3, #7
800290e: 6880 ldr r0, [r0, #8]
8002910: b2db uxtb r3, r3
8002912: 4313 orrs r3, r2
8002914: 4018 ands r0, r3
8002916: 4770 bx lr
08002918 <USB_GetMode>:
8002918: 6940 ldr r0, [r0, #20]
800291a: f000 0001 and.w r0, r0, #1
800291e: 4770 bx lr
08002920 <USB_ActivateSetup>:
8002920: f8d0 3900 ldr.w r3, [r0, #2304] @ 0x900
8002924: f36f 030a bfc r3, #0, #11
8002928: f8c0 3900 str.w r3, [r0, #2304] @ 0x900
800292c: f8d0 3804 ldr.w r3, [r0, #2052] @ 0x804
8002930: f443 7380 orr.w r3, r3, #256 @ 0x100
8002934: f8c0 3804 str.w r3, [r0, #2052] @ 0x804
8002938: 2000 movs r0, #0
800293a: 4770 bx lr
0800293c <USB_EP0_OutStart>:
800293c: b530 push {r4, r5, lr}
800293e: 6c05 ldr r5, [r0, #64] @ 0x40
8002940: 4c10 ldr r4, [pc, #64] @ (8002984 <USB_EP0_OutStart+0x48>)
8002942: 42a5 cmp r5, r4
8002944: f500 6330 add.w r3, r0, #2816 @ 0xb00
8002948: d903 bls.n 8002952 <USB_EP0_OutStart+0x16>
800294a: f8d0 4b00 ldr.w r4, [r0, #2816] @ 0xb00
800294e: 2c00 cmp r4, #0
8002950: db16 blt.n 8002980 <USB_EP0_OutStart+0x44>
8002952: 2400 movs r4, #0
8002954: 611c str r4, [r3, #16]
8002956: 691c ldr r4, [r3, #16]
8002958: f444 2400 orr.w r4, r4, #524288 @ 0x80000
800295c: 611c str r4, [r3, #16]
800295e: 691c ldr r4, [r3, #16]
8002960: f044 0418 orr.w r4, r4, #24
8002964: 611c str r4, [r3, #16]
8002966: 691c ldr r4, [r3, #16]
8002968: 2901 cmp r1, #1
800296a: f044 44c0 orr.w r4, r4, #1610612736 @ 0x60000000
800296e: 611c str r4, [r3, #16]
8002970: bf01 itttt eq
8002972: 615a streq r2, [r3, #20]
8002974: f8d0 3b00 ldreq.w r3, [r0, #2816] @ 0xb00
8002978: f043 2380 orreq.w r3, r3, #2147516416 @ 0x80008000
800297c: f8c0 3b00 streq.w r3, [r0, #2816] @ 0xb00
8002980: 2000 movs r0, #0
8002982: bd30 pop {r4, r5, pc}
8002984: 4f54300a .word 0x4f54300a
08002988 <USBD_HID_DataIn>:
8002988: f8d0 32d4 ldr.w r3, [r0, #724] @ 0x2d4
800298c: 33b0 adds r3, #176 @ 0xb0
800298e: f850 3023 ldr.w r3, [r0, r3, lsl #2]
8002992: 2000 movs r0, #0
8002994: 7318 strb r0, [r3, #12]
8002996: 4770 bx lr
08002998 <USBD_HID_GetDeviceQualifierDesc>:
8002998: 230a movs r3, #10
800299a: 8003 strh r3, [r0, #0]
800299c: 4800 ldr r0, [pc, #0] @ (80029a0 <USBD_HID_GetDeviceQualifierDesc+0x8>)
800299e: 4770 bx lr
80029a0: 2000004c .word 0x2000004c
080029a4 <USBD_HID_GetFSCfgDesc>:
80029a4: b510 push {r4, lr}
80029a6: 2181 movs r1, #129 @ 0x81
80029a8: 4604 mov r4, r0
80029aa: 4805 ldr r0, [pc, #20] @ (80029c0 <USBD_HID_GetFSCfgDesc+0x1c>)
80029ac: f000 fa7e bl 8002eac <USBD_GetEpDesc>
80029b0: b108 cbz r0, 80029b6 <USBD_HID_GetFSCfgDesc+0x12>
80029b2: 230a movs r3, #10
80029b4: 7183 strb r3, [r0, #6]
80029b6: 2322 movs r3, #34 @ 0x22
80029b8: 4801 ldr r0, [pc, #4] @ (80029c0 <USBD_HID_GetFSCfgDesc+0x1c>)
80029ba: 8023 strh r3, [r4, #0]
80029bc: bd10 pop {r4, pc}
80029be: bf00 nop
80029c0: 20000064 .word 0x20000064
080029c4 <USBD_HID_GetOtherSpeedCfgDesc>:
80029c4: f7ff bfee b.w 80029a4 <USBD_HID_GetFSCfgDesc>
080029c8 <USBD_HID_GetHSCfgDesc>:
80029c8: b510 push {r4, lr}
80029ca: 2181 movs r1, #129 @ 0x81
80029cc: 4604 mov r4, r0
80029ce: 4805 ldr r0, [pc, #20] @ (80029e4 <USBD_HID_GetHSCfgDesc+0x1c>)
80029d0: f000 fa6c bl 8002eac <USBD_GetEpDesc>
80029d4: b108 cbz r0, 80029da <USBD_HID_GetHSCfgDesc+0x12>
80029d6: 2307 movs r3, #7
80029d8: 7183 strb r3, [r0, #6]
80029da: 2322 movs r3, #34 @ 0x22
80029dc: 4801 ldr r0, [pc, #4] @ (80029e4 <USBD_HID_GetHSCfgDesc+0x1c>)
80029de: 8023 strh r3, [r4, #0]
80029e0: bd10 pop {r4, pc}
80029e2: bf00 nop
80029e4: 20000064 .word 0x20000064
080029e8 <USBD_HID_Setup>:
80029e8: f8d0 32d4 ldr.w r3, [r0, #724] @ 0x2d4
80029ec: b513 push {r0, r1, r4, lr}
80029ee: 33b0 adds r3, #176 @ 0xb0
80029f0: 2200 movs r2, #0
80029f2: f850 3023 ldr.w r3, [r0, r3, lsl #2]
80029f6: f8ad 2006 strh.w r2, [sp, #6]
80029fa: 2b00 cmp r3, #0
80029fc: d04a beq.n 8002a94 <USBD_HID_Setup+0xac>
80029fe: 780a ldrb r2, [r1, #0]
8002a00: f012 0260 ands.w r2, r2, #96 @ 0x60
8002a04: d01d beq.n 8002a42 <USBD_HID_Setup+0x5a>
8002a06: 2a20 cmp r2, #32
8002a08: d142 bne.n 8002a90 <USBD_HID_Setup+0xa8>
8002a0a: 784a ldrb r2, [r1, #1]
8002a0c: 3a02 subs r2, #2
8002a0e: 2a09 cmp r2, #9
8002a10: d83e bhi.n 8002a90 <USBD_HID_Setup+0xa8>
8002a12: e8df f002 tbb [pc, r2]
8002a16: 0a13 .short 0x0a13
8002a18: 3d3d3d3d .word 0x3d3d3d3d
8002a1c: 050f3d3d .word 0x050f3d3d
8002a20: 788a ldrb r2, [r1, #2]
8002a22: 601a str r2, [r3, #0]
8002a24: 2000 movs r0, #0
8002a26: b002 add sp, #8
8002a28: bd10 pop {r4, pc}
8002a2a: 2201 movs r2, #1
8002a2c: 4619 mov r1, r3
8002a2e: f000 fcd8 bl 80033e2 <USBD_CtlSendData>
8002a32: e7f7 b.n 8002a24 <USBD_HID_Setup+0x3c>
8002a34: 884a ldrh r2, [r1, #2]
8002a36: 0a12 lsrs r2, r2, #8
8002a38: 605a str r2, [r3, #4]
8002a3a: e7f3 b.n 8002a24 <USBD_HID_Setup+0x3c>
8002a3c: 2201 movs r2, #1
8002a3e: 1d19 adds r1, r3, #4
8002a40: e7f5 b.n 8002a2e <USBD_HID_Setup+0x46>
8002a42: 784a ldrb r2, [r1, #1]
8002a44: 2a0b cmp r2, #11
8002a46: d823 bhi.n 8002a90 <USBD_HID_Setup+0xa8>
8002a48: a401 add r4, pc, #4 @ (adr r4, 8002a50 <USBD_HID_Setup+0x68>)
8002a4a: f854 f022 ldr.w pc, [r4, r2, lsl #2]
8002a4e: bf00 nop
8002a50: 08002a81 .word 0x08002a81
8002a54: 08002a25 .word 0x08002a25
8002a58: 08002a91 .word 0x08002a91
8002a5c: 08002a91 .word 0x08002a91
8002a60: 08002a91 .word 0x08002a91
8002a64: 08002a91 .word 0x08002a91
8002a68: 08002a99 .word 0x08002a99
8002a6c: 08002a91 .word 0x08002a91
8002a70: 08002a91 .word 0x08002a91
8002a74: 08002a91 .word 0x08002a91
8002a78: 08002abd .word 0x08002abd
8002a7c: 08002acd .word 0x08002acd
8002a80: f890 329c ldrb.w r3, [r0, #668] @ 0x29c
8002a84: 2b03 cmp r3, #3
8002a86: d103 bne.n 8002a90 <USBD_HID_Setup+0xa8>
8002a88: 2202 movs r2, #2
8002a8a: f10d 0106 add.w r1, sp, #6
8002a8e: e7ce b.n 8002a2e <USBD_HID_Setup+0x46>
8002a90: f000 fc80 bl 8003394 <USBD_CtlError>
8002a94: 2003 movs r0, #3
8002a96: e7c6 b.n 8002a26 <USBD_HID_Setup+0x3e>
8002a98: 884b ldrh r3, [r1, #2]
8002a9a: 0a1b lsrs r3, r3, #8
8002a9c: 2b22 cmp r3, #34 @ 0x22
8002a9e: d105 bne.n 8002aac <USBD_HID_Setup+0xc4>
8002aa0: 88ca ldrh r2, [r1, #6]
8002aa2: 490e ldr r1, [pc, #56] @ (8002adc <USBD_HID_Setup+0xf4>)
8002aa4: 2a3f cmp r2, #63 @ 0x3f
8002aa6: bf28 it cs
8002aa8: 223f movcs r2, #63 @ 0x3f
8002aaa: e7c0 b.n 8002a2e <USBD_HID_Setup+0x46>
8002aac: 2b21 cmp r3, #33 @ 0x21
8002aae: d1ef bne.n 8002a90 <USBD_HID_Setup+0xa8>
8002ab0: 88ca ldrh r2, [r1, #6]
8002ab2: 490b ldr r1, [pc, #44] @ (8002ae0 <USBD_HID_Setup+0xf8>)
8002ab4: 2a09 cmp r2, #9
8002ab6: bf28 it cs
8002ab8: 2209 movcs r2, #9
8002aba: e7b8 b.n 8002a2e <USBD_HID_Setup+0x46>
8002abc: f890 229c ldrb.w r2, [r0, #668] @ 0x29c
8002ac0: 2a03 cmp r2, #3
8002ac2: d1e5 bne.n 8002a90 <USBD_HID_Setup+0xa8>
8002ac4: 2201 movs r2, #1
8002ac6: f103 0108 add.w r1, r3, #8
8002aca: e7b0 b.n 8002a2e <USBD_HID_Setup+0x46>
8002acc: f890 229c ldrb.w r2, [r0, #668] @ 0x29c
8002ad0: 2a03 cmp r2, #3
8002ad2: d1dd bne.n 8002a90 <USBD_HID_Setup+0xa8>
8002ad4: 788a ldrb r2, [r1, #2]
8002ad6: 609a str r2, [r3, #8]
8002ad8: e7a4 b.n 8002a24 <USBD_HID_Setup+0x3c>
8002ada: bf00 nop
8002adc: 2000000c .word 0x2000000c
8002ae0: 20000058 .word 0x20000058
08002ae4 <USBD_HID_DeInit>:
8002ae4: b538 push {r3, r4, r5, lr}
8002ae6: 4604 mov r4, r0
8002ae8: 2181 movs r1, #129 @ 0x81
8002aea: f000 fe89 bl 8003800 <USBD_LL_CloseEP>
8002aee: f8d4 32d4 ldr.w r3, [r4, #724] @ 0x2d4
8002af2: 2500 movs r5, #0
8002af4: 33b0 adds r3, #176 @ 0xb0
8002af6: f884 5037 strb.w r5, [r4, #55] @ 0x37
8002afa: f854 0023 ldr.w r0, [r4, r3, lsl #2]
8002afe: 6325 str r5, [r4, #48] @ 0x30
8002b00: b130 cbz r0, 8002b10 <USBD_HID_DeInit+0x2c>
8002b02: f000 fe61 bl 80037c8 <USBD_static_free>
8002b06: f8d4 32d4 ldr.w r3, [r4, #724] @ 0x2d4
8002b0a: 33b0 adds r3, #176 @ 0xb0
8002b0c: f844 5023 str.w r5, [r4, r3, lsl #2]
8002b10: 2000 movs r0, #0
8002b12: bd38 pop {r3, r4, r5, pc}
08002b14 <USBD_HID_Init>:
8002b14: b538 push {r3, r4, r5, lr}
8002b16: 4604 mov r4, r0
8002b18: 2010 movs r0, #16
8002b1a: f000 fe51 bl 80037c0 <USBD_static_malloc>
8002b1e: f8d4 32d4 ldr.w r3, [r4, #724] @ 0x2d4
8002b22: 33b0 adds r3, #176 @ 0xb0
8002b24: 4605 mov r5, r0
8002b26: f844 0023 str.w r0, [r4, r3, lsl #2]
8002b2a: b908 cbnz r0, 8002b30 <USBD_HID_Init+0x1c>
8002b2c: 2002 movs r0, #2
8002b2e: bd38 pop {r3, r4, r5, pc}
8002b30: 7c23 ldrb r3, [r4, #16]
8002b32: f8c4 02bc str.w r0, [r4, #700] @ 0x2bc
8002b36: 2b00 cmp r3, #0
8002b38: bf14 ite ne
8002b3a: 230a movne r3, #10
8002b3c: 2307 moveq r3, #7
8002b3e: 6323 str r3, [r4, #48] @ 0x30
8002b40: 2203 movs r2, #3
8002b42: 2304 movs r3, #4
8002b44: 2181 movs r1, #129 @ 0x81
8002b46: 4620 mov r0, r4
8002b48: f000 fe4e bl 80037e8 <USBD_LL_OpenEP>
8002b4c: 2301 movs r3, #1
8002b4e: 2000 movs r0, #0
8002b50: f884 3037 strb.w r3, [r4, #55] @ 0x37
8002b54: 7328 strb r0, [r5, #12]
8002b56: e7ea b.n 8002b2e <USBD_HID_Init+0x1a>
08002b58 <USBD_HID_SendReport>:
8002b58: 4613 mov r3, r2
8002b5a: f8d0 22d4 ldr.w r2, [r0, #724] @ 0x2d4
8002b5e: 32b0 adds r2, #176 @ 0xb0
8002b60: b510 push {r4, lr}
8002b62: f850 2022 ldr.w r2, [r0, r2, lsl #2]
8002b66: b172 cbz r2, 8002b86 <USBD_HID_SendReport+0x2e>
8002b68: f890 429c ldrb.w r4, [r0, #668] @ 0x29c
8002b6c: 2c03 cmp r4, #3
8002b6e: d101 bne.n 8002b74 <USBD_HID_SendReport+0x1c>
8002b70: 7b14 ldrb r4, [r2, #12]
8002b72: b10c cbz r4, 8002b78 <USBD_HID_SendReport+0x20>
8002b74: 2000 movs r0, #0
8002b76: bd10 pop {r4, pc}
8002b78: 2401 movs r4, #1
8002b7a: 7314 strb r4, [r2, #12]
8002b7c: 460a mov r2, r1
8002b7e: 2181 movs r1, #129 @ 0x81
8002b80: f000 fe62 bl 8003848 <USBD_LL_Transmit>
8002b84: e7f6 b.n 8002b74 <USBD_HID_SendReport+0x1c>
8002b86: 2003 movs r0, #3
8002b88: e7f5 b.n 8002b76 <USBD_HID_SendReport+0x1e>
08002b8a <USBD_Init>:
8002b8a: b178 cbz r0, 8002bac <USBD_Init+0x22>
8002b8c: 2300 movs r3, #0
8002b8e: f8c0 32b8 str.w r3, [r0, #696] @ 0x2b8
8002b92: f8c0 32c4 str.w r3, [r0, #708] @ 0x2c4
8002b96: f8c0 32d0 str.w r3, [r0, #720] @ 0x2d0
8002b9a: b109 cbz r1, 8002ba0 <USBD_Init+0x16>
8002b9c: f8c0 12b4 str.w r1, [r0, #692] @ 0x2b4
8002ba0: 2301 movs r3, #1
8002ba2: f880 329c strb.w r3, [r0, #668] @ 0x29c
8002ba6: 7002 strb r2, [r0, #0]
8002ba8: f000 bd98 b.w 80036dc <USBD_LL_Init>
8002bac: 2003 movs r0, #3
8002bae: 4770 bx lr
08002bb0 <USBD_RegisterClass>:
8002bb0: b513 push {r0, r1, r4, lr}
8002bb2: 2300 movs r3, #0
8002bb4: 4604 mov r4, r0
8002bb6: f8ad 3006 strh.w r3, [sp, #6]
8002bba: b181 cbz r1, 8002bde <USBD_RegisterClass+0x2e>
8002bbc: 6acb ldr r3, [r1, #44] @ 0x2c
8002bbe: f8c0 12b8 str.w r1, [r0, #696] @ 0x2b8
8002bc2: b123 cbz r3, 8002bce <USBD_RegisterClass+0x1e>
8002bc4: f10d 0006 add.w r0, sp, #6
8002bc8: 4798 blx r3
8002bca: f8c4 02d0 str.w r0, [r4, #720] @ 0x2d0
8002bce: f8d4 32d8 ldr.w r3, [r4, #728] @ 0x2d8
8002bd2: 3301 adds r3, #1
8002bd4: f8c4 32d8 str.w r3, [r4, #728] @ 0x2d8
8002bd8: 2000 movs r0, #0
8002bda: b002 add sp, #8
8002bdc: bd10 pop {r4, pc}
8002bde: 2003 movs r0, #3
8002be0: e7fb b.n 8002bda <USBD_RegisterClass+0x2a>
08002be2 <USBD_Start>:
8002be2: f000 bdf8 b.w 80037d6 <USBD_LL_Start>
08002be6 <USBD_SetClassConfig>:
8002be6: f8d0 32b8 ldr.w r3, [r0, #696] @ 0x2b8
8002bea: b10b cbz r3, 8002bf0 <USBD_SetClassConfig+0xa>
8002bec: 681b ldr r3, [r3, #0]
8002bee: 4718 bx r3
8002bf0: 4618 mov r0, r3
8002bf2: 4770 bx lr
08002bf4 <USBD_ClrClassConfig>:
8002bf4: b508 push {r3, lr}
8002bf6: f8d0 32b8 ldr.w r3, [r0, #696] @ 0x2b8
8002bfa: 685b ldr r3, [r3, #4]
8002bfc: 4798 blx r3
8002bfe: 2800 cmp r0, #0
8002c00: bf18 it ne
8002c02: 2003 movne r0, #3
8002c04: bd08 pop {r3, pc}
08002c06 <USBD_LL_SetupStage>:
8002c06: b538 push {r3, r4, r5, lr}
8002c08: 4604 mov r4, r0
8002c0a: f200 25aa addw r5, r0, #682 @ 0x2aa
8002c0e: 4628 mov r0, r5
8002c10: f000 fbb5 bl 800337e <USBD_ParseSetupRequest>
8002c14: 2301 movs r3, #1
8002c16: f894 12aa ldrb.w r1, [r4, #682] @ 0x2aa
8002c1a: f8c4 3294 str.w r3, [r4, #660] @ 0x294
8002c1e: f8b4 32b0 ldrh.w r3, [r4, #688] @ 0x2b0
8002c22: f8c4 3298 str.w r3, [r4, #664] @ 0x298
8002c26: f001 031f and.w r3, r1, #31
8002c2a: 2b01 cmp r3, #1
8002c2c: d008 beq.n 8002c40 <USBD_LL_SetupStage+0x3a>
8002c2e: 2b02 cmp r3, #2
8002c30: d00c beq.n 8002c4c <USBD_LL_SetupStage+0x46>
8002c32: b98b cbnz r3, 8002c58 <USBD_LL_SetupStage+0x52>
8002c34: 4629 mov r1, r5
8002c36: 4620 mov r0, r4
8002c38: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr}
8002c3c: f000 b954 b.w 8002ee8 <USBD_StdDevReq>
8002c40: 4629 mov r1, r5
8002c42: 4620 mov r0, r4
8002c44: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr}
8002c48: f000 bac6 b.w 80031d8 <USBD_StdItfReq>
8002c4c: 4629 mov r1, r5
8002c4e: 4620 mov r0, r4
8002c50: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr}
8002c54: f000 baef b.w 8003236 <USBD_StdEPReq>
8002c58: 4620 mov r0, r4
8002c5a: f001 0180 and.w r1, r1, #128 @ 0x80
8002c5e: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr}
8002c62: f000 bdd6 b.w 8003812 <USBD_LL_StallEP>
08002c66 <USBD_LL_DataOutStage>:
8002c66: b570 push {r4, r5, r6, lr}
8002c68: 4604 mov r4, r0
8002c6a: bb39 cbnz r1, 8002cbc <USBD_LL_DataOutStage+0x56>
8002c6c: f8d0 3294 ldr.w r3, [r0, #660] @ 0x294
8002c70: 2b03 cmp r3, #3
8002c72: d112 bne.n 8002c9a <USBD_LL_DataOutStage+0x34>
8002c74: f8d0 3158 ldr.w r3, [r0, #344] @ 0x158
8002c78: f8b0 2160 ldrh.w r2, [r0, #352] @ 0x160
8002c7c: 4293 cmp r3, r2
8002c7e: d90e bls.n 8002c9e <USBD_LL_DataOutStage+0x38>
8002c80: f8d0 1164 ldr.w r1, [r0, #356] @ 0x164
8002c84: 1a9b subs r3, r3, r2
8002c86: 4411 add r1, r2
8002c88: 429a cmp r2, r3
8002c8a: f8c0 3158 str.w r3, [r0, #344] @ 0x158
8002c8e: f8c0 1164 str.w r1, [r0, #356] @ 0x164
8002c92: bf38 it cc
8002c94: 461a movcc r2, r3
8002c96: f000 fbba bl 800340e <USBD_CtlContinueRx>
8002c9a: 2000 movs r0, #0
8002c9c: bd70 pop {r4, r5, r6, pc}
8002c9e: f890 329c ldrb.w r3, [r0, #668] @ 0x29c
8002ca2: 2b03 cmp r3, #3
8002ca4: d106 bne.n 8002cb4 <USBD_LL_DataOutStage+0x4e>
8002ca6: f8d0 32b8 ldr.w r3, [r0, #696] @ 0x2b8
8002caa: 691b ldr r3, [r3, #16]
8002cac: b113 cbz r3, 8002cb4 <USBD_LL_DataOutStage+0x4e>
8002cae: f8c0 12d4 str.w r1, [r0, #724] @ 0x2d4
8002cb2: 4798 blx r3
8002cb4: 4620 mov r0, r4
8002cb6: f000 fbb2 bl 800341e <USBD_CtlSendStatus>
8002cba: e7ee b.n 8002c9a <USBD_LL_DataOutStage+0x34>
8002cbc: f890 329c ldrb.w r3, [r0, #668] @ 0x29c
8002cc0: 2b03 cmp r3, #3
8002cc2: d1ea bne.n 8002c9a <USBD_LL_DataOutStage+0x34>
8002cc4: f8d0 32b8 ldr.w r3, [r0, #696] @ 0x2b8
8002cc8: 699b ldr r3, [r3, #24]
8002cca: 2b00 cmp r3, #0
8002ccc: d0e5 beq.n 8002c9a <USBD_LL_DataOutStage+0x34>
8002cce: 2200 movs r2, #0
8002cd0: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr}
8002cd4: f8c0 22d4 str.w r2, [r0, #724] @ 0x2d4
8002cd8: 4718 bx r3
08002cda <USBD_LL_DataInStage>:
8002cda: b570 push {r4, r5, r6, lr}
8002cdc: 4604 mov r4, r0
8002cde: 460d mov r5, r1
8002ce0: 2900 cmp r1, #0
8002ce2: d13f bne.n 8002d64 <USBD_LL_DataInStage+0x8a>
8002ce4: f8d0 3294 ldr.w r3, [r0, #660] @ 0x294
8002ce8: 2b02 cmp r3, #2
8002cea: d110 bne.n 8002d0e <USBD_LL_DataInStage+0x34>
8002cec: 6982 ldr r2, [r0, #24]
8002cee: 8c03 ldrh r3, [r0, #32]
8002cf0: 429a cmp r2, r3
8002cf2: d914 bls.n 8002d1e <USBD_LL_DataInStage+0x44>
8002cf4: 6a41 ldr r1, [r0, #36] @ 0x24
8002cf6: 1ad2 subs r2, r2, r3
8002cf8: 4419 add r1, r3
8002cfa: 6182 str r2, [r0, #24]
8002cfc: 6241 str r1, [r0, #36] @ 0x24
8002cfe: f000 fb7e bl 80033fe <USBD_CtlContinueSendData>
8002d02: 462b mov r3, r5
8002d04: 462a mov r2, r5
8002d06: 4629 mov r1, r5
8002d08: 4620 mov r0, r4
8002d0a: f000 fda6 bl 800385a <USBD_LL_PrepareReceive>
8002d0e: f894 32a0 ldrb.w r3, [r4, #672] @ 0x2a0
8002d12: b113 cbz r3, 8002d1a <USBD_LL_DataInStage+0x40>
8002d14: 2300 movs r3, #0
8002d16: f884 32a0 strb.w r3, [r4, #672] @ 0x2a0
8002d1a: 2000 movs r0, #0
8002d1c: bd70 pop {r4, r5, r6, pc}
8002d1e: d10c bne.n 8002d3a <USBD_LL_DataInStage+0x60>
8002d20: 6943 ldr r3, [r0, #20]
8002d22: 429a cmp r2, r3
8002d24: d809 bhi.n 8002d3a <USBD_LL_DataInStage+0x60>
8002d26: f8d0 2298 ldr.w r2, [r0, #664] @ 0x298
8002d2a: 4293 cmp r3, r2
8002d2c: d205 bcs.n 8002d3a <USBD_LL_DataInStage+0x60>
8002d2e: 460a mov r2, r1
8002d30: f000 fb65 bl 80033fe <USBD_CtlContinueSendData>
8002d34: f8c4 5298 str.w r5, [r4, #664] @ 0x298
8002d38: e7e3 b.n 8002d02 <USBD_LL_DataInStage+0x28>
8002d3a: f894 329c ldrb.w r3, [r4, #668] @ 0x29c
8002d3e: 2b03 cmp r3, #3
8002d40: d108 bne.n 8002d54 <USBD_LL_DataInStage+0x7a>
8002d42: f8d4 32b8 ldr.w r3, [r4, #696] @ 0x2b8
8002d46: 68db ldr r3, [r3, #12]
8002d48: b123 cbz r3, 8002d54 <USBD_LL_DataInStage+0x7a>
8002d4a: 2200 movs r2, #0
8002d4c: f8c4 22d4 str.w r2, [r4, #724] @ 0x2d4
8002d50: 4620 mov r0, r4
8002d52: 4798 blx r3
8002d54: 2180 movs r1, #128 @ 0x80
8002d56: 4620 mov r0, r4
8002d58: f000 fd5b bl 8003812 <USBD_LL_StallEP>
8002d5c: 4620 mov r0, r4
8002d5e: f000 fb69 bl 8003434 <USBD_CtlReceiveStatus>
8002d62: e7d4 b.n 8002d0e <USBD_LL_DataInStage+0x34>
8002d64: f890 329c ldrb.w r3, [r0, #668] @ 0x29c
8002d68: 2b03 cmp r3, #3
8002d6a: d1d6 bne.n 8002d1a <USBD_LL_DataInStage+0x40>
8002d6c: f8d0 32b8 ldr.w r3, [r0, #696] @ 0x2b8
8002d70: 695b ldr r3, [r3, #20]
8002d72: 2b00 cmp r3, #0
8002d74: d0d1 beq.n 8002d1a <USBD_LL_DataInStage+0x40>
8002d76: 2200 movs r2, #0
8002d78: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr}
8002d7c: f8c0 22d4 str.w r2, [r0, #724] @ 0x2d4
8002d80: 4718 bx r3
08002d82 <USBD_LL_Reset>:
8002d82: b5f8 push {r3, r4, r5, r6, r7, lr}
8002d84: 2301 movs r3, #1
8002d86: f880 329c strb.w r3, [r0, #668] @ 0x29c
8002d8a: f8d0 32b8 ldr.w r3, [r0, #696] @ 0x2b8
8002d8e: 2100 movs r1, #0
8002d90: 4604 mov r4, r0
8002d92: f8c0 1294 str.w r1, [r0, #660] @ 0x294
8002d96: 6041 str r1, [r0, #4]
8002d98: f8c0 12a4 str.w r1, [r0, #676] @ 0x2a4
8002d9c: f880 12a0 strb.w r1, [r0, #672] @ 0x2a0
8002da0: b9bb cbnz r3, 8002dd2 <USBD_LL_Reset+0x50>
8002da2: 2600 movs r6, #0
8002da4: 2200 movs r2, #0
8002da6: 2540 movs r5, #64 @ 0x40
8002da8: 4611 mov r1, r2
8002daa: 2701 movs r7, #1
8002dac: 2340 movs r3, #64 @ 0x40
8002dae: 4620 mov r0, r4
8002db0: f000 fd1a bl 80037e8 <USBD_LL_OpenEP>
8002db4: f884 7163 strb.w r7, [r4, #355] @ 0x163
8002db8: f8a4 5160 strh.w r5, [r4, #352] @ 0x160
8002dbc: 462b mov r3, r5
8002dbe: 2200 movs r2, #0
8002dc0: 2180 movs r1, #128 @ 0x80
8002dc2: 4620 mov r0, r4
8002dc4: f000 fd10 bl 80037e8 <USBD_LL_OpenEP>
8002dc8: f884 7023 strb.w r7, [r4, #35] @ 0x23
8002dcc: 8425 strh r5, [r4, #32]
8002dce: 4630 mov r0, r6
8002dd0: bdf8 pop {r3, r4, r5, r6, r7, pc}
8002dd2: 685b ldr r3, [r3, #4]
8002dd4: 2b00 cmp r3, #0
8002dd6: d0e4 beq.n 8002da2 <USBD_LL_Reset+0x20>
8002dd8: 4798 blx r3
8002dda: 2800 cmp r0, #0
8002ddc: d0e1 beq.n 8002da2 <USBD_LL_Reset+0x20>
8002dde: 2603 movs r6, #3
8002de0: e7e0 b.n 8002da4 <USBD_LL_Reset+0x22>
08002de2 <USBD_LL_SetSpeed>:
8002de2: 7401 strb r1, [r0, #16]
8002de4: 2000 movs r0, #0
8002de6: 4770 bx lr
08002de8 <USBD_LL_Suspend>:
8002de8: f890 329c ldrb.w r3, [r0, #668] @ 0x29c
8002dec: 2b04 cmp r3, #4
8002dee: bf1e ittt ne
8002df0: f890 329c ldrbne.w r3, [r0, #668] @ 0x29c
8002df4: b2db uxtbne r3, r3
8002df6: f880 329d strbne.w r3, [r0, #669] @ 0x29d
8002dfa: 2304 movs r3, #4
8002dfc: f880 329c strb.w r3, [r0, #668] @ 0x29c
8002e00: 2000 movs r0, #0
8002e02: 4770 bx lr
08002e04 <USBD_LL_Resume>:
8002e04: f890 329c ldrb.w r3, [r0, #668] @ 0x29c
8002e08: 2b04 cmp r3, #4
8002e0a: bf02 ittt eq
8002e0c: f890 329d ldrbeq.w r3, [r0, #669] @ 0x29d
8002e10: b2db uxtbeq r3, r3
8002e12: f880 329c strbeq.w r3, [r0, #668] @ 0x29c
8002e16: 2000 movs r0, #0
8002e18: 4770 bx lr
08002e1a <USBD_LL_SOF>:
8002e1a: b508 push {r3, lr}
8002e1c: f890 229c ldrb.w r2, [r0, #668] @ 0x29c
8002e20: 2a03 cmp r2, #3
8002e22: d105 bne.n 8002e30 <USBD_LL_SOF+0x16>
8002e24: f8d0 32b8 ldr.w r3, [r0, #696] @ 0x2b8
8002e28: b113 cbz r3, 8002e30 <USBD_LL_SOF+0x16>
8002e2a: 69db ldr r3, [r3, #28]
8002e2c: b103 cbz r3, 8002e30 <USBD_LL_SOF+0x16>
8002e2e: 4798 blx r3
8002e30: 2000 movs r0, #0
8002e32: bd08 pop {r3, pc}
08002e34 <USBD_LL_IsoINIncomplete>:
8002e34: f8d0 22d4 ldr.w r2, [r0, #724] @ 0x2d4
8002e38: 32ae adds r2, #174 @ 0xae
8002e3a: b508 push {r3, lr}
8002e3c: f850 2022 ldr.w r2, [r0, r2, lsl #2]
8002e40: b14a cbz r2, 8002e56 <USBD_LL_IsoINIncomplete+0x22>
8002e42: f890 329c ldrb.w r3, [r0, #668] @ 0x29c
8002e46: 2b03 cmp r3, #3
8002e48: d101 bne.n 8002e4e <USBD_LL_IsoINIncomplete+0x1a>
8002e4a: 6a13 ldr r3, [r2, #32]
8002e4c: b90b cbnz r3, 8002e52 <USBD_LL_IsoINIncomplete+0x1e>
8002e4e: 2000 movs r0, #0
8002e50: bd08 pop {r3, pc}
8002e52: 4798 blx r3
8002e54: e7fb b.n 8002e4e <USBD_LL_IsoINIncomplete+0x1a>
8002e56: 2003 movs r0, #3
8002e58: e7fa b.n 8002e50 <USBD_LL_IsoINIncomplete+0x1c>
08002e5a <USBD_LL_IsoOUTIncomplete>:
8002e5a: f8d0 22d4 ldr.w r2, [r0, #724] @ 0x2d4
8002e5e: 32ae adds r2, #174 @ 0xae
8002e60: b508 push {r3, lr}
8002e62: f850 2022 ldr.w r2, [r0, r2, lsl #2]
8002e66: b14a cbz r2, 8002e7c <USBD_LL_IsoOUTIncomplete+0x22>
8002e68: f890 329c ldrb.w r3, [r0, #668] @ 0x29c
8002e6c: 2b03 cmp r3, #3
8002e6e: d101 bne.n 8002e74 <USBD_LL_IsoOUTIncomplete+0x1a>
8002e70: 6a53 ldr r3, [r2, #36] @ 0x24
8002e72: b90b cbnz r3, 8002e78 <USBD_LL_IsoOUTIncomplete+0x1e>
8002e74: 2000 movs r0, #0
8002e76: bd08 pop {r3, pc}
8002e78: 4798 blx r3
8002e7a: e7fb b.n 8002e74 <USBD_LL_IsoOUTIncomplete+0x1a>
8002e7c: 2003 movs r0, #3
8002e7e: e7fa b.n 8002e76 <USBD_LL_IsoOUTIncomplete+0x1c>
08002e80 <USBD_LL_DevConnected>:
8002e80: 2000 movs r0, #0
8002e82: 4770 bx lr
08002e84 <USBD_LL_DevDisconnected>:
8002e84: 2201 movs r2, #1
8002e86: b508 push {r3, lr}
8002e88: f880 229c strb.w r2, [r0, #668] @ 0x29c
8002e8c: f8d0 22b8 ldr.w r2, [r0, #696] @ 0x2b8
8002e90: b90a cbnz r2, 8002e96 <USBD_LL_DevDisconnected+0x12>
8002e92: 2000 movs r0, #0
8002e94: bd08 pop {r3, pc}
8002e96: 6852 ldr r2, [r2, #4]
8002e98: 7901 ldrb r1, [r0, #4]
8002e9a: 4790 blx r2
8002e9c: 2800 cmp r0, #0
8002e9e: d0f8 beq.n 8002e92 <USBD_LL_DevDisconnected+0xe>
8002ea0: 2003 movs r0, #3
8002ea2: e7f7 b.n 8002e94 <USBD_LL_DevDisconnected+0x10>
08002ea4 <USBD_CoreFindIF>:
8002ea4: 2000 movs r0, #0
8002ea6: 4770 bx lr
08002ea8 <USBD_CoreFindEP>:
8002ea8: 2000 movs r0, #0
8002eaa: 4770 bx lr
08002eac <USBD_GetEpDesc>:
8002eac: b510 push {r4, lr}
8002eae: 8842 ldrh r2, [r0, #2]
8002eb0: 7803 ldrb r3, [r0, #0]
8002eb2: 429a cmp r2, r3
8002eb4: d801 bhi.n 8002eba <USBD_GetEpDesc+0xe>
8002eb6: 2000 movs r0, #0
8002eb8: bd10 pop {r4, pc}
8002eba: 7804 ldrb r4, [r0, #0]
8002ebc: 4420 add r0, r4
8002ebe: 4423 add r3, r4
8002ec0: 7844 ldrb r4, [r0, #1]
8002ec2: 2c05 cmp r4, #5
8002ec4: b29b uxth r3, r3
8002ec6: d1f4 bne.n 8002eb2 <USBD_GetEpDesc+0x6>
8002ec8: 7884 ldrb r4, [r0, #2]
8002eca: 428c cmp r4, r1
8002ecc: d1f1 bne.n 8002eb2 <USBD_GetEpDesc+0x6>
8002ece: e7f3 b.n 8002eb8 <USBD_GetEpDesc+0xc>
08002ed0 <USBD_CtlError.constprop.0>:
8002ed0: b510 push {r4, lr}
8002ed2: 2180 movs r1, #128 @ 0x80
8002ed4: 4604 mov r4, r0
8002ed6: f000 fc9c bl 8003812 <USBD_LL_StallEP>
8002eda: 4620 mov r0, r4
8002edc: 2100 movs r1, #0
8002ede: e8bd 4010 ldmia.w sp!, {r4, lr}
8002ee2: f000 bc96 b.w 8003812 <USBD_LL_StallEP>
...
08002ee8 <USBD_StdDevReq>:
8002ee8: b573 push {r0, r1, r4, r5, r6, lr}
8002eea: 780b ldrb r3, [r1, #0]
8002eec: f003 0360 and.w r3, r3, #96 @ 0x60
8002ef0: 2b20 cmp r3, #32
8002ef2: 4604 mov r4, r0
8002ef4: 460d mov r5, r1
8002ef6: d009 beq.n 8002f0c <USBD_StdDevReq+0x24>
8002ef8: 2b40 cmp r3, #64 @ 0x40
8002efa: d007 beq.n 8002f0c <USBD_StdDevReq+0x24>
8002efc: b193 cbz r3, 8002f24 <USBD_StdDevReq+0x3c>
8002efe: 4620 mov r0, r4
8002f00: f7ff ffe6 bl 8002ed0 <USBD_CtlError.constprop.0>
8002f04: 2500 movs r5, #0
8002f06: 4628 mov r0, r5
8002f08: b002 add sp, #8
8002f0a: bd70 pop {r4, r5, r6, pc}
8002f0c: f8d4 32d4 ldr.w r3, [r4, #724] @ 0x2d4
8002f10: 33ae adds r3, #174 @ 0xae
8002f12: 4629 mov r1, r5
8002f14: f854 3023 ldr.w r3, [r4, r3, lsl #2]
8002f18: 689b ldr r3, [r3, #8]
8002f1a: 4620 mov r0, r4
8002f1c: b002 add sp, #8
8002f1e: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr}
8002f22: 4718 bx r3
8002f24: 784b ldrb r3, [r1, #1]
8002f26: 2b09 cmp r3, #9
8002f28: d8e9 bhi.n 8002efe <USBD_StdDevReq+0x16>
8002f2a: a201 add r2, pc, #4 @ (adr r2, 8002f30 <USBD_StdDevReq+0x48>)
8002f2c: f852 f023 ldr.w pc, [r2, r3, lsl #2]
8002f30: 08003179 .word 0x08003179
8002f34: 080031bd .word 0x080031bd
8002f38: 08002eff .word 0x08002eff
8002f3c: 080031a1 .word 0x080031a1
8002f40: 08002eff .word 0x08002eff
8002f44: 08003073 .word 0x08003073
8002f48: 08002f59 .word 0x08002f59
8002f4c: 08002eff .word 0x08002eff
8002f50: 0800314d .word 0x0800314d
8002f54: 080030b5 .word 0x080030b5
8002f58: 2300 movs r3, #0
8002f5a: f8ad 3006 strh.w r3, [sp, #6]
8002f5e: 884b ldrh r3, [r1, #2]
8002f60: 0a1a lsrs r2, r3, #8
8002f62: 3a01 subs r2, #1
8002f64: 2a0e cmp r2, #14
8002f66: d8ca bhi.n 8002efe <USBD_StdDevReq+0x16>
8002f68: a101 add r1, pc, #4 @ (adr r1, 8002f70 <USBD_StdDevReq+0x88>)
8002f6a: f851 f022 ldr.w pc, [r1, r2, lsl #2]
8002f6e: bf00 nop
8002f70: 08002fb7 .word 0x08002fb7
8002f74: 08002fe9 .word 0x08002fe9
8002f78: 08003003 .word 0x08003003
8002f7c: 08002eff .word 0x08002eff
8002f80: 08002eff .word 0x08002eff
8002f84: 08003045 .word 0x08003045
8002f88: 0800305b .word 0x0800305b
8002f8c: 08002eff .word 0x08002eff
8002f90: 08002eff .word 0x08002eff
8002f94: 08002eff .word 0x08002eff
8002f98: 08002eff .word 0x08002eff
8002f9c: 08002eff .word 0x08002eff
8002fa0: 08002eff .word 0x08002eff
8002fa4: 08002eff .word 0x08002eff
8002fa8: 08002fad .word 0x08002fad
8002fac: f8d0 32b4 ldr.w r3, [r0, #692] @ 0x2b4
8002fb0: 69db ldr r3, [r3, #28]
8002fb2: b91b cbnz r3, 8002fbc <USBD_StdDevReq+0xd4>
8002fb4: e7a3 b.n 8002efe <USBD_StdDevReq+0x16>
8002fb6: f8d0 32b4 ldr.w r3, [r0, #692] @ 0x2b4
8002fba: 681b ldr r3, [r3, #0]
8002fbc: 7c20 ldrb r0, [r4, #16]
8002fbe: f10d 0106 add.w r1, sp, #6
8002fc2: 4798 blx r3
8002fc4: 88ea ldrh r2, [r5, #6]
8002fc6: 2a00 cmp r2, #0
8002fc8: f000 80a3 beq.w 8003112 <USBD_StdDevReq+0x22a>
8002fcc: f8bd 3006 ldrh.w r3, [sp, #6]
8002fd0: 2b00 cmp r3, #0
8002fd2: d094 beq.n 8002efe <USBD_StdDevReq+0x16>
8002fd4: 429a cmp r2, r3
8002fd6: bf28 it cs
8002fd8: 461a movcs r2, r3
8002fda: f8ad 2006 strh.w r2, [sp, #6]
8002fde: 4601 mov r1, r0
8002fe0: 4620 mov r0, r4
8002fe2: f000 f9fe bl 80033e2 <USBD_CtlSendData>
8002fe6: e78d b.n 8002f04 <USBD_StdDevReq+0x1c>
8002fe8: 7c02 ldrb r2, [r0, #16]
8002fea: f8d0 32b8 ldr.w r3, [r0, #696] @ 0x2b8
8002fee: b932 cbnz r2, 8002ffe <USBD_StdDevReq+0x116>
8002ff0: 6a9b ldr r3, [r3, #40] @ 0x28
8002ff2: f10d 0006 add.w r0, sp, #6
8002ff6: 4798 blx r3
8002ff8: 2302 movs r3, #2
8002ffa: 7043 strb r3, [r0, #1]
8002ffc: e7e2 b.n 8002fc4 <USBD_StdDevReq+0xdc>
8002ffe: 6adb ldr r3, [r3, #44] @ 0x2c
8003000: e7f7 b.n 8002ff2 <USBD_StdDevReq+0x10a>
8003002: b2db uxtb r3, r3
8003004: 2b05 cmp r3, #5
8003006: f63f af7a bhi.w 8002efe <USBD_StdDevReq+0x16>
800300a: e8df f003 tbb [pc, r3]
800300e: 0703 .short 0x0703
8003010: 17130f0b .word 0x17130f0b
8003014: f8d0 32b4 ldr.w r3, [r0, #692] @ 0x2b4
8003018: 685b ldr r3, [r3, #4]
800301a: e7ca b.n 8002fb2 <USBD_StdDevReq+0xca>
800301c: f8d0 32b4 ldr.w r3, [r0, #692] @ 0x2b4
8003020: 689b ldr r3, [r3, #8]
8003022: e7c6 b.n 8002fb2 <USBD_StdDevReq+0xca>
8003024: f8d0 32b4 ldr.w r3, [r0, #692] @ 0x2b4
8003028: 68db ldr r3, [r3, #12]
800302a: e7c2 b.n 8002fb2 <USBD_StdDevReq+0xca>
800302c: f8d0 32b4 ldr.w r3, [r0, #692] @ 0x2b4
8003030: 691b ldr r3, [r3, #16]
8003032: e7be b.n 8002fb2 <USBD_StdDevReq+0xca>
8003034: f8d0 32b4 ldr.w r3, [r0, #692] @ 0x2b4
8003038: 695b ldr r3, [r3, #20]
800303a: e7ba b.n 8002fb2 <USBD_StdDevReq+0xca>
800303c: f8d0 32b4 ldr.w r3, [r0, #692] @ 0x2b4
8003040: 699b ldr r3, [r3, #24]
8003042: e7b6 b.n 8002fb2 <USBD_StdDevReq+0xca>
8003044: 7c03 ldrb r3, [r0, #16]
8003046: 2b00 cmp r3, #0
8003048: f47f af59 bne.w 8002efe <USBD_StdDevReq+0x16>
800304c: f8d0 32b8 ldr.w r3, [r0, #696] @ 0x2b8
8003050: f10d 0006 add.w r0, sp, #6
8003054: 6b5b ldr r3, [r3, #52] @ 0x34
8003056: 4798 blx r3
8003058: e7b4 b.n 8002fc4 <USBD_StdDevReq+0xdc>
800305a: 7c03 ldrb r3, [r0, #16]
800305c: 2b00 cmp r3, #0
800305e: f47f af4e bne.w 8002efe <USBD_StdDevReq+0x16>
8003062: f8d0 32b8 ldr.w r3, [r0, #696] @ 0x2b8
8003066: f10d 0006 add.w r0, sp, #6
800306a: 6b1b ldr r3, [r3, #48] @ 0x30
800306c: 4798 blx r3
800306e: 2307 movs r3, #7
8003070: e7c3 b.n 8002ffa <USBD_StdDevReq+0x112>
8003072: 888b ldrh r3, [r1, #4]
8003074: 2b00 cmp r3, #0
8003076: f47f af42 bne.w 8002efe <USBD_StdDevReq+0x16>
800307a: 88cb ldrh r3, [r1, #6]
800307c: 2b00 cmp r3, #0
800307e: f47f af3e bne.w 8002efe <USBD_StdDevReq+0x16>
8003082: 884d ldrh r5, [r1, #2]
8003084: 2d7f cmp r5, #127 @ 0x7f
8003086: f63f af3a bhi.w 8002efe <USBD_StdDevReq+0x16>
800308a: f890 329c ldrb.w r3, [r0, #668] @ 0x29c
800308e: 2b03 cmp r3, #3
8003090: f43f af35 beq.w 8002efe <USBD_StdDevReq+0x16>
8003094: b2ed uxtb r5, r5
8003096: f880 529e strb.w r5, [r0, #670] @ 0x29e
800309a: 4629 mov r1, r5
800309c: f000 fbcb bl 8003836 <USBD_LL_SetUSBAddress>
80030a0: 4620 mov r0, r4
80030a2: f000 f9bc bl 800341e <USBD_CtlSendStatus>
80030a6: b11d cbz r5, 80030b0 <USBD_StdDevReq+0x1c8>
80030a8: 2302 movs r3, #2
80030aa: f884 329c strb.w r3, [r4, #668] @ 0x29c
80030ae: e729 b.n 8002f04 <USBD_StdDevReq+0x1c>
80030b0: 2301 movs r3, #1
80030b2: e7fa b.n 80030aa <USBD_StdDevReq+0x1c2>
80030b4: 7889 ldrb r1, [r1, #2]
80030b6: 4d47 ldr r5, [pc, #284] @ (80031d4 <USBD_StdDevReq+0x2ec>)
80030b8: 2901 cmp r1, #1
80030ba: 7029 strb r1, [r5, #0]
80030bc: d903 bls.n 80030c6 <USBD_StdDevReq+0x1de>
80030be: f7ff ff07 bl 8002ed0 <USBD_CtlError.constprop.0>
80030c2: 2503 movs r5, #3
80030c4: e71f b.n 8002f06 <USBD_StdDevReq+0x1e>
80030c6: f890 329c ldrb.w r3, [r0, #668] @ 0x29c
80030ca: 2b02 cmp r3, #2
80030cc: b2de uxtb r6, r3
80030ce: d008 beq.n 80030e2 <USBD_StdDevReq+0x1fa>
80030d0: 2e03 cmp r6, #3
80030d2: d017 beq.n 8003104 <USBD_StdDevReq+0x21c>
80030d4: f7ff fefc bl 8002ed0 <USBD_CtlError.constprop.0>
80030d8: 7829 ldrb r1, [r5, #0]
80030da: 4620 mov r0, r4
80030dc: f7ff fd8a bl 8002bf4 <USBD_ClrClassConfig>
80030e0: e7ef b.n 80030c2 <USBD_StdDevReq+0x1da>
80030e2: b1b1 cbz r1, 8003112 <USBD_StdDevReq+0x22a>
80030e4: 2101 movs r1, #1
80030e6: 6041 str r1, [r0, #4]
80030e8: f7ff fd7d bl 8002be6 <USBD_SetClassConfig>
80030ec: 4605 mov r5, r0
80030ee: 4620 mov r0, r4
80030f0: b125 cbz r5, 80030fc <USBD_StdDevReq+0x214>
80030f2: f7ff feed bl 8002ed0 <USBD_CtlError.constprop.0>
80030f6: f884 629c strb.w r6, [r4, #668] @ 0x29c
80030fa: e704 b.n 8002f06 <USBD_StdDevReq+0x1e>
80030fc: f000 f98f bl 800341e <USBD_CtlSendStatus>
8003100: 2303 movs r3, #3
8003102: e7d2 b.n 80030aa <USBD_StdDevReq+0x1c2>
8003104: b949 cbnz r1, 800311a <USBD_StdDevReq+0x232>
8003106: 2302 movs r3, #2
8003108: f880 329c strb.w r3, [r0, #668] @ 0x29c
800310c: 6041 str r1, [r0, #4]
800310e: f7ff fd71 bl 8002bf4 <USBD_ClrClassConfig>
8003112: 4620 mov r0, r4
8003114: f000 f983 bl 800341e <USBD_CtlSendStatus>
8003118: e6f4 b.n 8002f04 <USBD_StdDevReq+0x1c>
800311a: 6841 ldr r1, [r0, #4]
800311c: 2901 cmp r1, #1
800311e: d0f8 beq.n 8003112 <USBD_StdDevReq+0x22a>
8003120: b2c9 uxtb r1, r1
8003122: f7ff fd67 bl 8002bf4 <USBD_ClrClassConfig>
8003126: 7829 ldrb r1, [r5, #0]
8003128: 6061 str r1, [r4, #4]
800312a: 4620 mov r0, r4
800312c: f7ff fd5b bl 8002be6 <USBD_SetClassConfig>
8003130: 4605 mov r5, r0
8003132: 2800 cmp r0, #0
8003134: d0ed beq.n 8003112 <USBD_StdDevReq+0x22a>
8003136: 4620 mov r0, r4
8003138: f7ff feca bl 8002ed0 <USBD_CtlError.constprop.0>
800313c: 7921 ldrb r1, [r4, #4]
800313e: 4620 mov r0, r4
8003140: f7ff fd58 bl 8002bf4 <USBD_ClrClassConfig>
8003144: 2302 movs r3, #2
8003146: f884 329c strb.w r3, [r4, #668] @ 0x29c
800314a: e6dc b.n 8002f06 <USBD_StdDevReq+0x1e>
800314c: 88ca ldrh r2, [r1, #6]
800314e: 2a01 cmp r2, #1
8003150: f47f aed5 bne.w 8002efe <USBD_StdDevReq+0x16>
8003154: f890 129c ldrb.w r1, [r0, #668] @ 0x29c
8003158: 2902 cmp r1, #2
800315a: b2cb uxtb r3, r1
800315c: d807 bhi.n 800316e <USBD_StdDevReq+0x286>
800315e: 2b00 cmp r3, #0
8003160: f43f aecd beq.w 8002efe <USBD_StdDevReq+0x16>
8003164: 4601 mov r1, r0
8003166: 2300 movs r3, #0
8003168: f841 3f08 str.w r3, [r1, #8]!
800316c: e738 b.n 8002fe0 <USBD_StdDevReq+0xf8>
800316e: 2b03 cmp r3, #3
8003170: f47f aec5 bne.w 8002efe <USBD_StdDevReq+0x16>
8003174: 1d01 adds r1, r0, #4
8003176: e733 b.n 8002fe0 <USBD_StdDevReq+0xf8>
8003178: f890 329c ldrb.w r3, [r0, #668] @ 0x29c
800317c: 3b01 subs r3, #1
800317e: 2b02 cmp r3, #2
8003180: f63f aebd bhi.w 8002efe <USBD_StdDevReq+0x16>
8003184: 88ca ldrh r2, [r1, #6]
8003186: 2a02 cmp r2, #2
8003188: f47f aeb9 bne.w 8002efe <USBD_StdDevReq+0x16>
800318c: f8d0 32a4 ldr.w r3, [r0, #676] @ 0x2a4
8003190: 4601 mov r1, r0
8003192: 2b00 cmp r3, #0
8003194: bf0c ite eq
8003196: 2301 moveq r3, #1
8003198: 2303 movne r3, #3
800319a: f841 3f0c str.w r3, [r1, #12]!
800319e: e71f b.n 8002fe0 <USBD_StdDevReq+0xf8>
80031a0: 884b ldrh r3, [r1, #2]
80031a2: 2b01 cmp r3, #1
80031a4: d102 bne.n 80031ac <USBD_StdDevReq+0x2c4>
80031a6: f8c4 32a4 str.w r3, [r4, #676] @ 0x2a4
80031aa: e7b2 b.n 8003112 <USBD_StdDevReq+0x22a>
80031ac: 2b02 cmp r3, #2
80031ae: f47f aea6 bne.w 8002efe <USBD_StdDevReq+0x16>
80031b2: 888b ldrh r3, [r1, #4]
80031b4: 0a1b lsrs r3, r3, #8
80031b6: f880 32a0 strb.w r3, [r0, #672] @ 0x2a0
80031ba: e7aa b.n 8003112 <USBD_StdDevReq+0x22a>
80031bc: f890 329c ldrb.w r3, [r0, #668] @ 0x29c
80031c0: 3b01 subs r3, #1
80031c2: 2b02 cmp r3, #2
80031c4: f63f ae9b bhi.w 8002efe <USBD_StdDevReq+0x16>
80031c8: 884b ldrh r3, [r1, #2]
80031ca: 2b01 cmp r3, #1
80031cc: f47f ae9a bne.w 8002f04 <USBD_StdDevReq+0x1c>
80031d0: 2300 movs r3, #0
80031d2: e7e8 b.n 80031a6 <USBD_StdDevReq+0x2be>
80031d4: 20000148 .word 0x20000148
080031d8 <USBD_StdItfReq>:
80031d8: b570 push {r4, r5, r6, lr}
80031da: 780b ldrb r3, [r1, #0]
80031dc: f003 0260 and.w r2, r3, #96 @ 0x60
80031e0: 065b lsls r3, r3, #25
80031e2: 4604 mov r4, r0
80031e4: 460e mov r6, r1
80031e6: d501 bpl.n 80031ec <USBD_StdItfReq+0x14>
80031e8: 2a40 cmp r2, #64 @ 0x40
80031ea: d11f bne.n 800322c <USBD_StdItfReq+0x54>
80031ec: f894 329c ldrb.w r3, [r4, #668] @ 0x29c
80031f0: 3b01 subs r3, #1
80031f2: 2b02 cmp r3, #2
80031f4: d81a bhi.n 800322c <USBD_StdItfReq+0x54>
80031f6: 7931 ldrb r1, [r6, #4]
80031f8: 2901 cmp r1, #1
80031fa: 4620 mov r0, r4
80031fc: d817 bhi.n 800322e <USBD_StdItfReq+0x56>
80031fe: f7ff fe51 bl 8002ea4 <USBD_CoreFindIF>
8003202: b988 cbnz r0, 8003228 <USBD_StdItfReq+0x50>
8003204: f8d4 32b8 ldr.w r3, [r4, #696] @ 0x2b8
8003208: 689b ldr r3, [r3, #8]
800320a: b16b cbz r3, 8003228 <USBD_StdItfReq+0x50>
800320c: f8c4 02d4 str.w r0, [r4, #724] @ 0x2d4
8003210: 4631 mov r1, r6
8003212: 4620 mov r0, r4
8003214: 4798 blx r3
8003216: 4605 mov r5, r0
8003218: 88f3 ldrh r3, [r6, #6]
800321a: b91b cbnz r3, 8003224 <USBD_StdItfReq+0x4c>
800321c: b915 cbnz r5, 8003224 <USBD_StdItfReq+0x4c>
800321e: 4620 mov r0, r4
8003220: f000 f8fd bl 800341e <USBD_CtlSendStatus>
8003224: 4628 mov r0, r5
8003226: bd70 pop {r4, r5, r6, pc}
8003228: 2503 movs r5, #3
800322a: e7f5 b.n 8003218 <USBD_StdItfReq+0x40>
800322c: 4620 mov r0, r4
800322e: f7ff fe4f bl 8002ed0 <USBD_CtlError.constprop.0>
8003232: 2500 movs r5, #0
8003234: e7f6 b.n 8003224 <USBD_StdItfReq+0x4c>
08003236 <USBD_StdEPReq>:
8003236: b570 push {r4, r5, r6, lr}
8003238: 780b ldrb r3, [r1, #0]
800323a: 888a ldrh r2, [r1, #4]
800323c: 790d ldrb r5, [r1, #4]
800323e: f003 0360 and.w r3, r3, #96 @ 0x60
8003242: 2b20 cmp r3, #32
8003244: 4604 mov r4, r0
8003246: 460e mov r6, r1
8003248: d059 beq.n 80032fe <USBD_StdEPReq+0xc8>
800324a: 2b40 cmp r3, #64 @ 0x40
800324c: d057 beq.n 80032fe <USBD_StdEPReq+0xc8>
800324e: b11b cbz r3, 8003258 <USBD_StdEPReq+0x22>
8003250: 4620 mov r0, r4
8003252: f7ff fe3d bl 8002ed0 <USBD_CtlError.constprop.0>
8003256: e03e b.n 80032d6 <USBD_StdEPReq+0xa0>
8003258: 784b ldrb r3, [r1, #1]
800325a: 2b01 cmp r3, #1
800325c: d03d beq.n 80032da <USBD_StdEPReq+0xa4>
800325e: 2b03 cmp r3, #3
8003260: d026 beq.n 80032b0 <USBD_StdEPReq+0x7a>
8003262: 2b00 cmp r3, #0
8003264: d1f4 bne.n 8003250 <USBD_StdEPReq+0x1a>
8003266: f890 329c ldrb.w r3, [r0, #668] @ 0x29c
800326a: 2b02 cmp r3, #2
800326c: b2d9 uxtb r1, r3
800326e: d062 beq.n 8003336 <USBD_StdEPReq+0x100>
8003270: 2903 cmp r1, #3
8003272: d1ed bne.n 8003250 <USBD_StdEPReq+0x1a>
8003274: f005 030f and.w r3, r5, #15
8003278: f012 0f80 tst.w r2, #128 @ 0x80
800327c: f04f 0214 mov.w r2, #20
8003280: fb02 0303 mla r3, r2, r3, r0
8003284: d067 beq.n 8003356 <USBD_StdEPReq+0x120>
8003286: f893 3023 ldrb.w r3, [r3, #35] @ 0x23
800328a: 2b00 cmp r3, #0
800328c: d0e0 beq.n 8003250 <USBD_StdEPReq+0x1a>
800328e: f005 067f and.w r6, r5, #127 @ 0x7f
8003292: 3601 adds r6, #1
8003294: eb06 0686 add.w r6, r6, r6, lsl #2
8003298: 2d80 cmp r5, #128 @ 0x80
800329a: eb00 0686 add.w r6, r0, r6, lsl #2
800329e: d066 beq.n 800336e <USBD_StdEPReq+0x138>
80032a0: 4629 mov r1, r5
80032a2: 4620 mov r0, r4
80032a4: f000 fa48 bl 8003738 <USBD_LL_IsStallEP>
80032a8: 2800 cmp r0, #0
80032aa: d066 beq.n 800337a <USBD_StdEPReq+0x144>
80032ac: 2301 movs r3, #1
80032ae: e05f b.n 8003370 <USBD_StdEPReq+0x13a>
80032b0: f890 329c ldrb.w r3, [r0, #668] @ 0x29c
80032b4: 2b02 cmp r3, #2
80032b6: b2da uxtb r2, r3
80032b8: d033 beq.n 8003322 <USBD_StdEPReq+0xec>
80032ba: 2a03 cmp r2, #3
80032bc: d1c8 bne.n 8003250 <USBD_StdEPReq+0x1a>
80032be: 884b ldrh r3, [r1, #2]
80032c0: b933 cbnz r3, 80032d0 <USBD_StdEPReq+0x9a>
80032c2: 0669 lsls r1, r5, #25
80032c4: d004 beq.n 80032d0 <USBD_StdEPReq+0x9a>
80032c6: 88f3 ldrh r3, [r6, #6]
80032c8: b913 cbnz r3, 80032d0 <USBD_StdEPReq+0x9a>
80032ca: 4629 mov r1, r5
80032cc: f000 faa1 bl 8003812 <USBD_LL_StallEP>
80032d0: 4620 mov r0, r4
80032d2: f000 f8a4 bl 800341e <USBD_CtlSendStatus>
80032d6: 2000 movs r0, #0
80032d8: bd70 pop {r4, r5, r6, pc}
80032da: f890 329c ldrb.w r3, [r0, #668] @ 0x29c
80032de: 2b02 cmp r3, #2
80032e0: b2da uxtb r2, r3
80032e2: d01e beq.n 8003322 <USBD_StdEPReq+0xec>
80032e4: 2a03 cmp r2, #3
80032e6: d1b3 bne.n 8003250 <USBD_StdEPReq+0x1a>
80032e8: 884b ldrh r3, [r1, #2]
80032ea: 2b00 cmp r3, #0
80032ec: d1f3 bne.n 80032d6 <USBD_StdEPReq+0xa0>
80032ee: 066b lsls r3, r5, #25
80032f0: d002 beq.n 80032f8 <USBD_StdEPReq+0xc2>
80032f2: 4629 mov r1, r5
80032f4: f000 fa96 bl 8003824 <USBD_LL_ClearStallEP>
80032f8: 4620 mov r0, r4
80032fa: f000 f890 bl 800341e <USBD_CtlSendStatus>
80032fe: 4629 mov r1, r5
8003300: 4620 mov r0, r4
8003302: f7ff fdd1 bl 8002ea8 <USBD_CoreFindEP>
8003306: 2800 cmp r0, #0
8003308: d1e5 bne.n 80032d6 <USBD_StdEPReq+0xa0>
800330a: f8d4 32b8 ldr.w r3, [r4, #696] @ 0x2b8
800330e: f8c4 02d4 str.w r0, [r4, #724] @ 0x2d4
8003312: 689b ldr r3, [r3, #8]
8003314: 2b00 cmp r3, #0
8003316: d0de beq.n 80032d6 <USBD_StdEPReq+0xa0>
8003318: 4631 mov r1, r6
800331a: 4620 mov r0, r4
800331c: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr}
8003320: 4718 bx r3
8003322: 066a lsls r2, r5, #25
8003324: d094 beq.n 8003250 <USBD_StdEPReq+0x1a>
8003326: 4629 mov r1, r5
8003328: f000 fa73 bl 8003812 <USBD_LL_StallEP>
800332c: 2180 movs r1, #128 @ 0x80
800332e: 4620 mov r0, r4
8003330: f000 fa6f bl 8003812 <USBD_LL_StallEP>
8003334: e7cf b.n 80032d6 <USBD_StdEPReq+0xa0>
8003336: 0669 lsls r1, r5, #25
8003338: d18a bne.n 8003250 <USBD_StdEPReq+0x1a>
800333a: 0613 lsls r3, r2, #24
800333c: bf4c ite mi
800333e: f100 0114 addmi.w r1, r0, #20
8003342: f500 71aa addpl.w r1, r0, #340 @ 0x154
8003346: 2300 movs r3, #0
8003348: f801 3f0e strb.w r3, [r1, #14]!
800334c: 2202 movs r2, #2
800334e: 4620 mov r0, r4
8003350: f000 f847 bl 80033e2 <USBD_CtlSendData>
8003354: e7bf b.n 80032d6 <USBD_StdEPReq+0xa0>
8003356: f893 3163 ldrb.w r3, [r3, #355] @ 0x163
800335a: 2b00 cmp r3, #0
800335c: f43f af78 beq.w 8003250 <USBD_StdEPReq+0x1a>
8003360: 2614 movs r6, #20
8003362: fb06 0605 mla r6, r6, r5, r0
8003366: f506 76aa add.w r6, r6, #340 @ 0x154
800336a: 2d00 cmp r5, #0
800336c: d198 bne.n 80032a0 <USBD_StdEPReq+0x6a>
800336e: 2300 movs r3, #0
8003370: 73b3 strb r3, [r6, #14]
8003372: 2202 movs r2, #2
8003374: f106 010e add.w r1, r6, #14
8003378: e7e9 b.n 800334e <USBD_StdEPReq+0x118>
800337a: 73b0 strb r0, [r6, #14]
800337c: e7f9 b.n 8003372 <USBD_StdEPReq+0x13c>
0800337e <USBD_ParseSetupRequest>:
800337e: 780b ldrb r3, [r1, #0]
8003380: 7003 strb r3, [r0, #0]
8003382: 784b ldrb r3, [r1, #1]
8003384: 7043 strb r3, [r0, #1]
8003386: 884b ldrh r3, [r1, #2]
8003388: 8043 strh r3, [r0, #2]
800338a: 888b ldrh r3, [r1, #4]
800338c: 8083 strh r3, [r0, #4]
800338e: 88cb ldrh r3, [r1, #6]
8003390: 80c3 strh r3, [r0, #6]
8003392: 4770 bx lr
08003394 <USBD_CtlError>:
8003394: b510 push {r4, lr}
8003396: 2180 movs r1, #128 @ 0x80
8003398: 4604 mov r4, r0
800339a: f000 fa3a bl 8003812 <USBD_LL_StallEP>
800339e: 4620 mov r0, r4
80033a0: 2100 movs r1, #0
80033a2: e8bd 4010 ldmia.w sp!, {r4, lr}
80033a6: f000 ba34 b.w 8003812 <USBD_LL_StallEP>
080033aa <USBD_GetString>:
80033aa: b570 push {r4, r5, r6, lr}
80033ac: 460d mov r5, r1
80033ae: 4616 mov r6, r2
80033b0: 4604 mov r4, r0
80033b2: b170 cbz r0, 80033d2 <USBD_GetString+0x28>
80033b4: f7fc ff26 bl 8000204 <strlen>
80033b8: b2c3 uxtb r3, r0
80033ba: 3301 adds r3, #1
80033bc: 005b lsls r3, r3, #1
80033be: 8033 strh r3, [r6, #0]
80033c0: 702b strb r3, [r5, #0]
80033c2: 2303 movs r3, #3
80033c4: 706b strb r3, [r5, #1]
80033c6: 3c01 subs r4, #1
80033c8: 2302 movs r3, #2
80033ca: 2100 movs r1, #0
80033cc: f814 2f01 ldrb.w r2, [r4, #1]!
80033d0: b902 cbnz r2, 80033d4 <USBD_GetString+0x2a>
80033d2: bd70 pop {r4, r5, r6, pc}
80033d4: 54ea strb r2, [r5, r3]
80033d6: 1c5a adds r2, r3, #1
80033d8: b2d2 uxtb r2, r2
80033da: 3302 adds r3, #2
80033dc: 54a9 strb r1, [r5, r2]
80033de: b2db uxtb r3, r3
80033e0: e7f4 b.n 80033cc <USBD_GetString+0x22>
080033e2 <USBD_CtlSendData>:
80033e2: b510 push {r4, lr}
80033e4: 4613 mov r3, r2
80033e6: 2202 movs r2, #2
80033e8: f8c0 2294 str.w r2, [r0, #660] @ 0x294
80033ec: 6143 str r3, [r0, #20]
80033ee: 460a mov r2, r1
80033f0: 6241 str r1, [r0, #36] @ 0x24
80033f2: 6183 str r3, [r0, #24]
80033f4: 2100 movs r1, #0
80033f6: f000 fa27 bl 8003848 <USBD_LL_Transmit>
80033fa: 2000 movs r0, #0
80033fc: bd10 pop {r4, pc}
080033fe <USBD_CtlContinueSendData>:
80033fe: b508 push {r3, lr}
8003400: 4613 mov r3, r2
8003402: 460a mov r2, r1
8003404: 2100 movs r1, #0
8003406: f000 fa1f bl 8003848 <USBD_LL_Transmit>
800340a: 2000 movs r0, #0
800340c: bd08 pop {r3, pc}
0800340e <USBD_CtlContinueRx>:
800340e: b508 push {r3, lr}
8003410: 4613 mov r3, r2
8003412: 460a mov r2, r1
8003414: 2100 movs r1, #0
8003416: f000 fa20 bl 800385a <USBD_LL_PrepareReceive>
800341a: 2000 movs r0, #0
800341c: bd08 pop {r3, pc}
0800341e <USBD_CtlSendStatus>:
800341e: b508 push {r3, lr}
8003420: 2204 movs r2, #4
8003422: 2300 movs r3, #0
8003424: f8c0 2294 str.w r2, [r0, #660] @ 0x294
8003428: 4619 mov r1, r3
800342a: 461a mov r2, r3
800342c: f000 fa0c bl 8003848 <USBD_LL_Transmit>
8003430: 2000 movs r0, #0
8003432: bd08 pop {r3, pc}
08003434 <USBD_CtlReceiveStatus>:
8003434: b508 push {r3, lr}
8003436: 2205 movs r2, #5
8003438: 2300 movs r3, #0
800343a: f8c0 2294 str.w r2, [r0, #660] @ 0x294
800343e: 4619 mov r1, r3
8003440: 461a mov r2, r3
8003442: f000 fa0a bl 800385a <USBD_LL_PrepareReceive>
8003446: 2000 movs r0, #0
8003448: bd08 pop {r3, pc}
...
0800344c <MX_USB_DEVICE_Init>:
800344c: b508 push {r3, lr}
800344e: 490c ldr r1, [pc, #48] @ (8003480 <MX_USB_DEVICE_Init+0x34>)
8003450: 480c ldr r0, [pc, #48] @ (8003484 <MX_USB_DEVICE_Init+0x38>)
8003452: 2200 movs r2, #0
8003454: f7ff fb99 bl 8002b8a <USBD_Init>
8003458: b108 cbz r0, 800345e <MX_USB_DEVICE_Init+0x12>
800345a: f7fd f959 bl 8000710 <Error_Handler>
800345e: 490a ldr r1, [pc, #40] @ (8003488 <MX_USB_DEVICE_Init+0x3c>)
8003460: 4808 ldr r0, [pc, #32] @ (8003484 <MX_USB_DEVICE_Init+0x38>)
8003462: f7ff fba5 bl 8002bb0 <USBD_RegisterClass>
8003466: b108 cbz r0, 800346c <MX_USB_DEVICE_Init+0x20>
8003468: f7fd f952 bl 8000710 <Error_Handler>
800346c: 4805 ldr r0, [pc, #20] @ (8003484 <MX_USB_DEVICE_Init+0x38>)
800346e: f7ff fbb8 bl 8002be2 <USBD_Start>
8003472: b118 cbz r0, 800347c <MX_USB_DEVICE_Init+0x30>
8003474: e8bd 4008 ldmia.w sp!, {r3, lr}
8003478: f7fd b94a b.w 8000710 <Error_Handler>
800347c: bd08 pop {r3, pc}
800347e: bf00 nop
8003480: 20000100 .word 0x20000100
8003484: 2000014c .word 0x2000014c
8003488: 20000088 .word 0x20000088
0800348c <USBD_FS_DeviceDescriptor>:
800348c: 2312 movs r3, #18
800348e: 4801 ldr r0, [pc, #4] @ (8003494 <USBD_FS_DeviceDescriptor+0x8>)
8003490: 800b strh r3, [r1, #0]
8003492: 4770 bx lr
8003494: 200000ec .word 0x200000ec
08003498 <USBD_FS_LangIDStrDescriptor>:
8003498: 2304 movs r3, #4
800349a: 4801 ldr r0, [pc, #4] @ (80034a0 <USBD_FS_LangIDStrDescriptor+0x8>)
800349c: 800b strh r3, [r1, #0]
800349e: 4770 bx lr
80034a0: 200000dc .word 0x200000dc
080034a4 <USBD_FS_USR_BOSDescriptor>:
80034a4: 230c movs r3, #12
80034a6: 4801 ldr r0, [pc, #4] @ (80034ac <USBD_FS_USR_BOSDescriptor+0x8>)
80034a8: 800b strh r3, [r1, #0]
80034aa: 4770 bx lr
80034ac: 200000e0 .word 0x200000e0
080034b0 <IntToUnicode>:
80034b0: 2300 movs r3, #0
80034b2: b570 push {r4, r5, r6, lr}
80034b4: 1c4d adds r5, r1, #1
80034b6: 461e mov r6, r3
80034b8: 0f04 lsrs r4, r0, #28
80034ba: f1b0 4f20 cmp.w r0, #2684354560 @ 0xa0000000
80034be: bf34 ite cc
80034c0: 3430 addcc r4, #48 @ 0x30
80034c2: 3437 addcs r4, #55 @ 0x37
80034c4: f801 4013 strb.w r4, [r1, r3, lsl #1]
80034c8: f805 6013 strb.w r6, [r5, r3, lsl #1]
80034cc: 3301 adds r3, #1
80034ce: b2dc uxtb r4, r3
80034d0: 42a2 cmp r2, r4
80034d2: ea4f 1000 mov.w r0, r0, lsl #4
80034d6: d8ef bhi.n 80034b8 <IntToUnicode+0x8>
80034d8: bd70 pop {r4, r5, r6, pc}
...
080034dc <USBD_FS_SerialStrDescriptor>:
80034dc: 231a movs r3, #26
80034de: b510 push {r4, lr}
80034e0: 800b strh r3, [r1, #0]
80034e2: 4b0a ldr r3, [pc, #40] @ (800350c <USBD_FS_SerialStrDescriptor+0x30>)
80034e4: f8d3 0a10 ldr.w r0, [r3, #2576] @ 0xa10
80034e8: f8d3 2a18 ldr.w r2, [r3, #2584] @ 0xa18
80034ec: 1880 adds r0, r0, r2
80034ee: d00a beq.n 8003506 <USBD_FS_SerialStrDescriptor+0x2a>
80034f0: f8d3 4a14 ldr.w r4, [r3, #2580] @ 0xa14
80034f4: 4906 ldr r1, [pc, #24] @ (8003510 <USBD_FS_SerialStrDescriptor+0x34>)
80034f6: 2208 movs r2, #8
80034f8: f7ff ffda bl 80034b0 <IntToUnicode>
80034fc: 2204 movs r2, #4
80034fe: 3110 adds r1, #16
8003500: 4620 mov r0, r4
8003502: f7ff ffd5 bl 80034b0 <IntToUnicode>
8003506: 4803 ldr r0, [pc, #12] @ (8003514 <USBD_FS_SerialStrDescriptor+0x38>)
8003508: bd10 pop {r4, pc}
800350a: bf00 nop
800350c: 1fff7000 .word 0x1fff7000
8003510: 200000c2 .word 0x200000c2
8003514: 200000c0 .word 0x200000c0
08003518 <USBD_FS_ManufacturerStrDescriptor>:
8003518: b510 push {r4, lr}
800351a: 4c04 ldr r4, [pc, #16] @ (800352c <USBD_FS_ManufacturerStrDescriptor+0x14>)
800351c: 4804 ldr r0, [pc, #16] @ (8003530 <USBD_FS_ManufacturerStrDescriptor+0x18>)
800351e: 460a mov r2, r1
8003520: 4621 mov r1, r4
8003522: f7ff ff42 bl 80033aa <USBD_GetString>
8003526: 4620 mov r0, r4
8003528: bd10 pop {r4, pc}
800352a: bf00 nop
800352c: 20000428 .word 0x20000428
8003530: 080038ec .word 0x080038ec
08003534 <USBD_FS_ProductStrDescriptor>:
8003534: b510 push {r4, lr}
8003536: 4c04 ldr r4, [pc, #16] @ (8003548 <USBD_FS_ProductStrDescriptor+0x14>)
8003538: 4804 ldr r0, [pc, #16] @ (800354c <USBD_FS_ProductStrDescriptor+0x18>)
800353a: 460a mov r2, r1
800353c: 4621 mov r1, r4
800353e: f7ff ff34 bl 80033aa <USBD_GetString>
8003542: 4620 mov r0, r4
8003544: bd10 pop {r4, pc}
8003546: bf00 nop
8003548: 20000428 .word 0x20000428
800354c: 080038f6 .word 0x080038f6
08003550 <USBD_FS_ConfigStrDescriptor>:
8003550: b510 push {r4, lr}
8003552: 4c04 ldr r4, [pc, #16] @ (8003564 <USBD_FS_ConfigStrDescriptor+0x14>)
8003554: 4804 ldr r0, [pc, #16] @ (8003568 <USBD_FS_ConfigStrDescriptor+0x18>)
8003556: 460a mov r2, r1
8003558: 4621 mov r1, r4
800355a: f7ff ff26 bl 80033aa <USBD_GetString>
800355e: 4620 mov r0, r4
8003560: bd10 pop {r4, pc}
8003562: bf00 nop
8003564: 20000428 .word 0x20000428
8003568: 08003907 .word 0x08003907
0800356c <USBD_FS_InterfaceStrDescriptor>:
800356c: b510 push {r4, lr}
800356e: 4c04 ldr r4, [pc, #16] @ (8003580 <USBD_FS_InterfaceStrDescriptor+0x14>)
8003570: 4804 ldr r0, [pc, #16] @ (8003584 <USBD_FS_InterfaceStrDescriptor+0x18>)
8003572: 460a mov r2, r1
8003574: 4621 mov r1, r4
8003576: f7ff ff18 bl 80033aa <USBD_GetString>
800357a: 4620 mov r0, r4
800357c: bd10 pop {r4, pc}
800357e: bf00 nop
8003580: 20000428 .word 0x20000428
8003584: 08003912 .word 0x08003912
08003588 <HAL_PCD_MspInit>:
8003588: b530 push {r4, r5, lr}
800358a: b09f sub sp, #124 @ 0x7c
800358c: 4604 mov r4, r0
800358e: 2214 movs r2, #20
8003590: 2100 movs r1, #0
8003592: a802 add r0, sp, #8
8003594: f000 f96a bl 800386c <memset>
8003598: 225c movs r2, #92 @ 0x5c
800359a: 2100 movs r1, #0
800359c: a807 add r0, sp, #28
800359e: f000 f965 bl 800386c <memset>
80035a2: 6823 ldr r3, [r4, #0]
80035a4: f1b3 4fa0 cmp.w r3, #1342177280 @ 0x50000000
80035a8: d138 bne.n 800361c <HAL_PCD_MspInit+0x94>
80035aa: f44f 7380 mov.w r3, #256 @ 0x100
80035ae: a807 add r0, sp, #28
80035b0: 9307 str r3, [sp, #28]
80035b2: f7fe f8af bl 8001714 <HAL_RCCEx_PeriphCLKConfig>
80035b6: b108 cbz r0, 80035bc <HAL_PCD_MspInit+0x34>
80035b8: f7fd f8aa bl 8000710 <Error_Handler>
80035bc: 4c18 ldr r4, [pc, #96] @ (8003620 <HAL_PCD_MspInit+0x98>)
80035be: 4819 ldr r0, [pc, #100] @ (8003624 <HAL_PCD_MspInit+0x9c>)
80035c0: 2500 movs r5, #0
80035c2: 9500 str r5, [sp, #0]
80035c4: 6b23 ldr r3, [r4, #48] @ 0x30
80035c6: f043 0301 orr.w r3, r3, #1
80035ca: 6323 str r3, [r4, #48] @ 0x30
80035cc: 6b23 ldr r3, [r4, #48] @ 0x30
80035ce: 9504 str r5, [sp, #16]
80035d0: f003 0301 and.w r3, r3, #1
80035d4: 9300 str r3, [sp, #0]
80035d6: f44f 52c0 mov.w r2, #6144 @ 0x1800
80035da: 9b00 ldr r3, [sp, #0]
80035dc: 2302 movs r3, #2
80035de: e9cd 2302 strd r2, r3, [sp, #8]
80035e2: 2103 movs r1, #3
80035e4: 230a movs r3, #10
80035e6: e9cd 1305 strd r1, r3, [sp, #20]
80035ea: a902 add r1, sp, #8
80035ec: f7fd f9bc bl 8000968 <HAL_GPIO_Init>
80035f0: 6b63 ldr r3, [r4, #52] @ 0x34
80035f2: f043 0380 orr.w r3, r3, #128 @ 0x80
80035f6: 6363 str r3, [r4, #52] @ 0x34
80035f8: 9501 str r5, [sp, #4]
80035fa: 6c63 ldr r3, [r4, #68] @ 0x44
80035fc: f443 4380 orr.w r3, r3, #16384 @ 0x4000
8003600: 6463 str r3, [r4, #68] @ 0x44
8003602: 6c63 ldr r3, [r4, #68] @ 0x44
8003604: f403 4380 and.w r3, r3, #16384 @ 0x4000
8003608: 9301 str r3, [sp, #4]
800360a: 2043 movs r0, #67 @ 0x43
800360c: 462a mov r2, r5
800360e: 4629 mov r1, r5
8003610: 9b01 ldr r3, [sp, #4]
8003612: f7fd f955 bl 80008c0 <HAL_NVIC_SetPriority>
8003616: 2043 movs r0, #67 @ 0x43
8003618: f7fd f984 bl 8000924 <HAL_NVIC_EnableIRQ>
800361c: b01f add sp, #124 @ 0x7c
800361e: bd30 pop {r4, r5, pc}
8003620: 40023800 .word 0x40023800
8003624: 40020000 .word 0x40020000
08003628 <HAL_PCD_SetupStageCallback>:
8003628: f200 419c addw r1, r0, #1180 @ 0x49c
800362c: f8d0 04e0 ldr.w r0, [r0, #1248] @ 0x4e0
8003630: f7ff bae9 b.w 8002c06 <USBD_LL_SetupStage>
08003634 <HAL_PCD_DataOutStageCallback>:
8003634: 2324 movs r3, #36 @ 0x24
8003636: fb03 0301 mla r3, r3, r1, r0
800363a: f8d0 04e0 ldr.w r0, [r0, #1248] @ 0x4e0
800363e: f8d3 2260 ldr.w r2, [r3, #608] @ 0x260
8003642: f7ff bb10 b.w 8002c66 <USBD_LL_DataOutStage>
08003646 <HAL_PCD_DataInStageCallback>:
8003646: 2324 movs r3, #36 @ 0x24
8003648: fb03 0301 mla r3, r3, r1, r0
800364c: f8d0 04e0 ldr.w r0, [r0, #1248] @ 0x4e0
8003650: 6a1a ldr r2, [r3, #32]
8003652: f7ff bb42 b.w 8002cda <USBD_LL_DataInStage>
08003656 <HAL_PCD_SOFCallback>:
8003656: f8d0 04e0 ldr.w r0, [r0, #1248] @ 0x4e0
800365a: f7ff bbde b.w 8002e1a <USBD_LL_SOF>
0800365e <HAL_PCD_ResetCallback>:
800365e: b510 push {r4, lr}
8003660: 79c1 ldrb r1, [r0, #7]
8003662: 4604 mov r4, r0
8003664: b121 cbz r1, 8003670 <HAL_PCD_ResetCallback+0x12>
8003666: 2902 cmp r1, #2
8003668: d001 beq.n 800366e <HAL_PCD_ResetCallback+0x10>
800366a: f7fd f851 bl 8000710 <Error_Handler>
800366e: 2101 movs r1, #1
8003670: f8d4 04e0 ldr.w r0, [r4, #1248] @ 0x4e0
8003674: f7ff fbb5 bl 8002de2 <USBD_LL_SetSpeed>
8003678: f8d4 04e0 ldr.w r0, [r4, #1248] @ 0x4e0
800367c: e8bd 4010 ldmia.w sp!, {r4, lr}
8003680: f7ff bb7f b.w 8002d82 <USBD_LL_Reset>
08003684 <HAL_PCD_SuspendCallback>:
8003684: b510 push {r4, lr}
8003686: 4604 mov r4, r0
8003688: f8d0 04e0 ldr.w r0, [r0, #1248] @ 0x4e0
800368c: f7ff fbac bl 8002de8 <USBD_LL_Suspend>
8003690: 6822 ldr r2, [r4, #0]
8003692: f8d2 3e00 ldr.w r3, [r2, #3584] @ 0xe00
8003696: f043 0301 orr.w r3, r3, #1
800369a: f8c2 3e00 str.w r3, [r2, #3584] @ 0xe00
800369e: 7ae3 ldrb r3, [r4, #11]
80036a0: b123 cbz r3, 80036ac <HAL_PCD_SuspendCallback+0x28>
80036a2: 4a03 ldr r2, [pc, #12] @ (80036b0 <HAL_PCD_SuspendCallback+0x2c>)
80036a4: 6913 ldr r3, [r2, #16]
80036a6: f043 0306 orr.w r3, r3, #6
80036aa: 6113 str r3, [r2, #16]
80036ac: bd10 pop {r4, pc}
80036ae: bf00 nop
80036b0: e000ed00 .word 0xe000ed00
080036b4 <HAL_PCD_ResumeCallback>:
80036b4: f8d0 04e0 ldr.w r0, [r0, #1248] @ 0x4e0
80036b8: f7ff bba4 b.w 8002e04 <USBD_LL_Resume>
080036bc <HAL_PCD_ISOOUTIncompleteCallback>:
80036bc: f8d0 04e0 ldr.w r0, [r0, #1248] @ 0x4e0
80036c0: f7ff bbcb b.w 8002e5a <USBD_LL_IsoOUTIncomplete>
080036c4 <HAL_PCD_ISOINIncompleteCallback>:
80036c4: f8d0 04e0 ldr.w r0, [r0, #1248] @ 0x4e0
80036c8: f7ff bbb4 b.w 8002e34 <USBD_LL_IsoINIncomplete>
080036cc <HAL_PCD_ConnectCallback>:
80036cc: f8d0 04e0 ldr.w r0, [r0, #1248] @ 0x4e0
80036d0: f7ff bbd6 b.w 8002e80 <USBD_LL_DevConnected>
080036d4 <HAL_PCD_DisconnectCallback>:
80036d4: f8d0 04e0 ldr.w r0, [r0, #1248] @ 0x4e0
80036d8: f7ff bbd4 b.w 8002e84 <USBD_LL_DevDisconnected>
080036dc <USBD_LL_Init>:
80036dc: b508 push {r3, lr}
80036de: 7802 ldrb r2, [r0, #0]
80036e0: 4603 mov r3, r0
80036e2: bb22 cbnz r2, 800372e <USBD_LL_Init+0x52>
80036e4: 4813 ldr r0, [pc, #76] @ (8003734 <USBD_LL_Init+0x58>)
80036e6: f8c0 34e0 str.w r3, [r0, #1248] @ 0x4e0
80036ea: f8c3 02c8 str.w r0, [r3, #712] @ 0x2c8
80036ee: f04f 43a0 mov.w r3, #1342177280 @ 0x50000000
80036f2: 6003 str r3, [r0, #0]
80036f4: 2306 movs r3, #6
80036f6: 7103 strb r3, [r0, #4]
80036f8: f44f 7300 mov.w r3, #512 @ 0x200
80036fc: 80c3 strh r3, [r0, #6]
80036fe: 2302 movs r3, #2
8003700: 7243 strb r3, [r0, #9]
8003702: 8142 strh r2, [r0, #10]
8003704: 7302 strb r2, [r0, #12]
8003706: 81c2 strh r2, [r0, #14]
8003708: f7fd fa05 bl 8000b16 <HAL_PCD_Init>
800370c: b108 cbz r0, 8003712 <USBD_LL_Init+0x36>
800370e: f7fc ffff bl 8000710 <Error_Handler>
8003712: 2180 movs r1, #128 @ 0x80
8003714: 4807 ldr r0, [pc, #28] @ (8003734 <USBD_LL_Init+0x58>)
8003716: f7fd ff46 bl 80015a6 <HAL_PCDEx_SetRxFiFo>
800371a: 2240 movs r2, #64 @ 0x40
800371c: 2100 movs r1, #0
800371e: 4805 ldr r0, [pc, #20] @ (8003734 <USBD_LL_Init+0x58>)
8003720: f7fd ff22 bl 8001568 <HAL_PCDEx_SetTxFiFo>
8003724: 4803 ldr r0, [pc, #12] @ (8003734 <USBD_LL_Init+0x58>)
8003726: 2280 movs r2, #128 @ 0x80
8003728: 2101 movs r1, #1
800372a: f7fd ff1d bl 8001568 <HAL_PCDEx_SetTxFiFo>
800372e: 2000 movs r0, #0
8003730: bd08 pop {r3, pc}
8003732: bf00 nop
8003734: 2000063c .word 0x2000063c
08003738 <USBD_LL_IsStallEP>:
8003738: f011 0f80 tst.w r1, #128 @ 0x80
800373c: f8d0 32c8 ldr.w r3, [r0, #712] @ 0x2c8
8003740: f04f 0224 mov.w r2, #36 @ 0x24
8003744: bf1b ittet ne
8003746: f001 017f andne.w r1, r1, #127 @ 0x7f
800374a: fb02 3301 mlane r3, r2, r1, r3
800374e: fb02 3301 mlaeq r3, r2, r1, r3
8003752: 7d98 ldrbne r0, [r3, #22]
8003754: bf08 it eq
8003756: f893 0256 ldrbeq.w r0, [r3, #598] @ 0x256
800375a: 4770 bx lr
0800375c <HAL_PCDEx_LPM_Callback>:
800375c: b510 push {r4, lr}
800375e: 4604 mov r4, r0
8003760: b111 cbz r1, 8003768 <HAL_PCDEx_LPM_Callback+0xc>
8003762: 2901 cmp r1, #1
8003764: d016 beq.n 8003794 <HAL_PCDEx_LPM_Callback+0x38>
8003766: bd10 pop {r4, pc}
8003768: 7ac3 ldrb r3, [r0, #11]
800376a: b133 cbz r3, 800377a <HAL_PCDEx_LPM_Callback+0x1e>
800376c: f7fc fee8 bl 8000540 <SystemClock_Config>
8003770: 4a12 ldr r2, [pc, #72] @ (80037bc <HAL_PCDEx_LPM_Callback+0x60>)
8003772: 6913 ldr r3, [r2, #16]
8003774: f023 0306 bic.w r3, r3, #6
8003778: 6113 str r3, [r2, #16]
800377a: 6822 ldr r2, [r4, #0]
800377c: f8d4 04e0 ldr.w r0, [r4, #1248] @ 0x4e0
8003780: f8d2 3e00 ldr.w r3, [r2, #3584] @ 0xe00
8003784: f023 0301 bic.w r3, r3, #1
8003788: e8bd 4010 ldmia.w sp!, {r4, lr}
800378c: f8c2 3e00 str.w r3, [r2, #3584] @ 0xe00
8003790: f7ff bb38 b.w 8002e04 <USBD_LL_Resume>
8003794: 6802 ldr r2, [r0, #0]
8003796: f8d0 04e0 ldr.w r0, [r0, #1248] @ 0x4e0
800379a: f8d2 3e00 ldr.w r3, [r2, #3584] @ 0xe00
800379e: f043 0301 orr.w r3, r3, #1
80037a2: f8c2 3e00 str.w r3, [r2, #3584] @ 0xe00
80037a6: f7ff fb1f bl 8002de8 <USBD_LL_Suspend>
80037aa: 7ae3 ldrb r3, [r4, #11]
80037ac: 2b00 cmp r3, #0
80037ae: d0da beq.n 8003766 <HAL_PCDEx_LPM_Callback+0xa>
80037b0: 4a02 ldr r2, [pc, #8] @ (80037bc <HAL_PCDEx_LPM_Callback+0x60>)
80037b2: 6913 ldr r3, [r2, #16]
80037b4: f043 0306 orr.w r3, r3, #6
80037b8: 6113 str r3, [r2, #16]
80037ba: e7d4 b.n 8003766 <HAL_PCDEx_LPM_Callback+0xa>
80037bc: e000ed00 .word 0xe000ed00
080037c0 <USBD_static_malloc>:
80037c0: 4800 ldr r0, [pc, #0] @ (80037c4 <USBD_static_malloc+0x4>)
80037c2: 4770 bx lr
80037c4: 20000628 .word 0x20000628
080037c8 <USBD_static_free>:
80037c8: 4770 bx lr
080037ca <USBD_Get_USB_Status>:
80037ca: b118 cbz r0, 80037d4 <USBD_Get_USB_Status+0xa>
80037cc: 2802 cmp r0, #2
80037ce: bf0c ite eq
80037d0: 2001 moveq r0, #1
80037d2: 2003 movne r0, #3
80037d4: 4770 bx lr
080037d6 <USBD_LL_Start>:
80037d6: b508 push {r3, lr}
80037d8: f8d0 02c8 ldr.w r0, [r0, #712] @ 0x2c8
80037dc: f7fd fa10 bl 8000c00 <HAL_PCD_Start>
80037e0: e8bd 4008 ldmia.w sp!, {r3, lr}
80037e4: f7ff bff1 b.w 80037ca <USBD_Get_USB_Status>
080037e8 <USBD_LL_OpenEP>:
80037e8: b510 push {r4, lr}
80037ea: 4614 mov r4, r2
80037ec: f8d0 02c8 ldr.w r0, [r0, #712] @ 0x2c8
80037f0: 461a mov r2, r3
80037f2: 4623 mov r3, r4
80037f4: f7fd fa36 bl 8000c64 <HAL_PCD_EP_Open>
80037f8: e8bd 4010 ldmia.w sp!, {r4, lr}
80037fc: f7ff bfe5 b.w 80037ca <USBD_Get_USB_Status>
08003800 <USBD_LL_CloseEP>:
8003800: b508 push {r3, lr}
8003802: f8d0 02c8 ldr.w r0, [r0, #712] @ 0x2c8
8003806: f7fd fa66 bl 8000cd6 <HAL_PCD_EP_Close>
800380a: e8bd 4008 ldmia.w sp!, {r3, lr}
800380e: f7ff bfdc b.w 80037ca <USBD_Get_USB_Status>
08003812 <USBD_LL_StallEP>:
8003812: b508 push {r3, lr}
8003814: f8d0 02c8 ldr.w r0, [r0, #712] @ 0x2c8
8003818: f7fd fac4 bl 8000da4 <HAL_PCD_EP_SetStall>
800381c: e8bd 4008 ldmia.w sp!, {r3, lr}
8003820: f7ff bfd3 b.w 80037ca <USBD_Get_USB_Status>
08003824 <USBD_LL_ClearStallEP>:
8003824: b508 push {r3, lr}
8003826: f8d0 02c8 ldr.w r0, [r0, #712] @ 0x2c8
800382a: f7fd faf2 bl 8000e12 <HAL_PCD_EP_ClrStall>
800382e: e8bd 4008 ldmia.w sp!, {r3, lr}
8003832: f7ff bfca b.w 80037ca <USBD_Get_USB_Status>
08003836 <USBD_LL_SetUSBAddress>:
8003836: b508 push {r3, lr}
8003838: f8d0 02c8 ldr.w r0, [r0, #712] @ 0x2c8
800383c: f7fd f9ff bl 8000c3e <HAL_PCD_SetAddress>
8003840: e8bd 4008 ldmia.w sp!, {r3, lr}
8003844: f7ff bfc1 b.w 80037ca <USBD_Get_USB_Status>
08003848 <USBD_LL_Transmit>:
8003848: b508 push {r3, lr}
800384a: f8d0 02c8 ldr.w r0, [r0, #712] @ 0x2c8
800384e: f7fd fa8e bl 8000d6e <HAL_PCD_EP_Transmit>
8003852: e8bd 4008 ldmia.w sp!, {r3, lr}
8003856: f7ff bfb8 b.w 80037ca <USBD_Get_USB_Status>
0800385a <USBD_LL_PrepareReceive>:
800385a: b508 push {r3, lr}
800385c: f8d0 02c8 ldr.w r0, [r0, #712] @ 0x2c8
8003860: f7fd fa67 bl 8000d32 <HAL_PCD_EP_Receive>
8003864: e8bd 4008 ldmia.w sp!, {r3, lr}
8003868: f7ff bfaf b.w 80037ca <USBD_Get_USB_Status>
0800386c <memset>:
800386c: 4402 add r2, r0
800386e: 4603 mov r3, r0
8003870: 4293 cmp r3, r2
8003872: d100 bne.n 8003876 <memset+0xa>
8003874: 4770 bx lr
8003876: f803 1b01 strb.w r1, [r3], #1
800387a: e7f9 b.n 8003870 <memset+0x4>
0800387c <__libc_init_array>:
800387c: b570 push {r4, r5, r6, lr}
800387e: 4d0d ldr r5, [pc, #52] @ (80038b4 <__libc_init_array+0x38>)
8003880: 4c0d ldr r4, [pc, #52] @ (80038b8 <__libc_init_array+0x3c>)
8003882: 1b64 subs r4, r4, r5
8003884: 10a4 asrs r4, r4, #2
8003886: 2600 movs r6, #0
8003888: 42a6 cmp r6, r4
800388a: d109 bne.n 80038a0 <__libc_init_array+0x24>
800388c: 4d0b ldr r5, [pc, #44] @ (80038bc <__libc_init_array+0x40>)
800388e: 4c0c ldr r4, [pc, #48] @ (80038c0 <__libc_init_array+0x44>)
8003890: f000 f818 bl 80038c4 <_init>
8003894: 1b64 subs r4, r4, r5
8003896: 10a4 asrs r4, r4, #2
8003898: 2600 movs r6, #0
800389a: 42a6 cmp r6, r4
800389c: d105 bne.n 80038aa <__libc_init_array+0x2e>
800389e: bd70 pop {r4, r5, r6, pc}
80038a0: f855 3b04 ldr.w r3, [r5], #4
80038a4: 4798 blx r3
80038a6: 3601 adds r6, #1
80038a8: e7ee b.n 8003888 <__libc_init_array+0xc>
80038aa: f855 3b04 ldr.w r3, [r5], #4
80038ae: 4798 blx r3
80038b0: 3601 adds r6, #1
80038b2: e7f2 b.n 800389a <__libc_init_array+0x1e>
80038b4: 08003928 .word 0x08003928
80038b8: 08003928 .word 0x08003928
80038bc: 08003928 .word 0x08003928
80038c0: 0800392c .word 0x0800392c
080038c4 <_init>:
80038c4: b5f8 push {r3, r4, r5, r6, r7, lr}
80038c6: bf00 nop
80038c8: bcf8 pop {r3, r4, r5, r6, r7}
80038ca: bc08 pop {r3}
80038cc: 469e mov lr, r3
80038ce: 4770 bx lr
080038d0 <_fini>:
80038d0: b5f8 push {r3, r4, r5, r6, r7, lr}
80038d2: bf00 nop
80038d4: bcf8 pop {r3, r4, r5, r6, r7}
80038d6: bc08 pop {r3}
80038d8: 469e mov lr, r3
80038da: 4770 bx lr