rotator/Release/STM32Display.list
Vladimir Karpenko f97da68066 Init
2019-09-10 15:21:37 +03:00

6870 lines
281 KiB
Plaintext

STM32Display.elf: file format elf32-littlearm
Sections:
Idx Name Size VMA LMA File off Algn
0 .isr_vector 0000010c 08000000 08000000 00010000 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
1 .text 0000432c 08000110 08000110 00010110 2**4
CONTENTS, ALLOC, LOAD, READONLY, CODE
2 .rodata 000000c4 0800443c 0800443c 0001443c 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
3 .ARM.extab 00000000 08004500 08004500 00020180 2**0
CONTENTS
4 .ARM 00000000 08004500 08004500 00020180 2**0
CONTENTS
5 .preinit_array 00000000 08004500 08004500 00020180 2**0
CONTENTS, ALLOC, LOAD, DATA
6 .init_array 00000004 08004500 08004500 00014500 2**2
CONTENTS, ALLOC, LOAD, DATA
7 .fini_array 00000004 08004504 08004504 00014504 2**2
CONTENTS, ALLOC, LOAD, DATA
8 .data 00000180 20000000 08004508 00020000 2**2
CONTENTS, ALLOC, LOAD, DATA
9 .bss 00001f98 20000180 08004688 00020180 2**2
ALLOC
10 ._user_heap_stack 00000600 20002118 08004688 00022118 2**0
ALLOC
11 .ARM.attributes 00000029 00000000 00000000 00020180 2**0
CONTENTS, READONLY
12 .comment 0000007b 00000000 00000000 000201a9 2**0
CONTENTS, READONLY
13 .debug_frame 0000002c 00000000 00000000 00020224 2**2
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
08000110 <__do_global_dtors_aux>:
8000110: b510 push {r4, lr}
8000112: 4c05 ldr r4, [pc, #20] ; (8000128 <__do_global_dtors_aux+0x18>)
8000114: 7823 ldrb r3, [r4, #0]
8000116: b933 cbnz r3, 8000126 <__do_global_dtors_aux+0x16>
8000118: 4b04 ldr r3, [pc, #16] ; (800012c <__do_global_dtors_aux+0x1c>)
800011a: b113 cbz r3, 8000122 <__do_global_dtors_aux+0x12>
800011c: 4804 ldr r0, [pc, #16] ; (8000130 <__do_global_dtors_aux+0x20>)
800011e: f3af 8000 nop.w
8000122: 2301 movs r3, #1
8000124: 7023 strb r3, [r4, #0]
8000126: bd10 pop {r4, pc}
8000128: 20000180 .word 0x20000180
800012c: 00000000 .word 0x00000000
8000130: 08004424 .word 0x08004424
08000134 <frame_dummy>:
8000134: b508 push {r3, lr}
8000136: 4b03 ldr r3, [pc, #12] ; (8000144 <frame_dummy+0x10>)
8000138: b11b cbz r3, 8000142 <frame_dummy+0xe>
800013a: 4903 ldr r1, [pc, #12] ; (8000148 <frame_dummy+0x14>)
800013c: 4803 ldr r0, [pc, #12] ; (800014c <frame_dummy+0x18>)
800013e: f3af 8000 nop.w
8000142: bd08 pop {r3, pc}
8000144: 00000000 .word 0x00000000
8000148: 20000184 .word 0x20000184
800014c: 08004424 .word 0x08004424
08000150 <HAL_InitTick>:
8000150: b538 push {r3, r4, r5, lr}
8000152: f44f 737a mov.w r3, #1000 ; 0x3e8
8000156: 490d ldr r1, [pc, #52] ; (800018c <HAL_InitTick+0x3c>)
8000158: 4a0d ldr r2, [pc, #52] ; (8000190 <HAL_InitTick+0x40>)
800015a: 7809 ldrb r1, [r1, #0]
800015c: 6812 ldr r2, [r2, #0]
800015e: fbb3 f3f1 udiv r3, r3, r1
8000162: 4605 mov r5, r0
8000164: fbb2 f0f3 udiv r0, r2, r3
8000168: f000 f890 bl 800028c <HAL_SYSTICK_Config>
800016c: b908 cbnz r0, 8000172 <HAL_InitTick+0x22>
800016e: 2d0f cmp r5, #15
8000170: d901 bls.n 8000176 <HAL_InitTick+0x26>
8000172: 2001 movs r0, #1
8000174: bd38 pop {r3, r4, r5, pc}
8000176: 4604 mov r4, r0
8000178: 4602 mov r2, r0
800017a: 4629 mov r1, r5
800017c: f04f 30ff mov.w r0, #4294967295 ; 0xffffffff
8000180: f000 f840 bl 8000204 <HAL_NVIC_SetPriority>
8000184: 4b03 ldr r3, [pc, #12] ; (8000194 <HAL_InitTick+0x44>)
8000186: 4620 mov r0, r4
8000188: 601d str r5, [r3, #0]
800018a: bd38 pop {r3, r4, r5, pc}
800018c: 20000000 .word 0x20000000
8000190: 2000011c .word 0x2000011c
8000194: 20000004 .word 0x20000004
08000198 <HAL_Init>:
8000198: 4a07 ldr r2, [pc, #28] ; (80001b8 <HAL_Init+0x20>)
800019a: b508 push {r3, lr}
800019c: 6813 ldr r3, [r2, #0]
800019e: 2003 movs r0, #3
80001a0: f043 0310 orr.w r3, r3, #16
80001a4: 6013 str r3, [r2, #0]
80001a6: f000 f81b bl 80001e0 <HAL_NVIC_SetPriorityGrouping>
80001aa: 200f movs r0, #15
80001ac: f7ff ffd0 bl 8000150 <HAL_InitTick>
80001b0: f003 fd62 bl 8003c78 <HAL_MspInit>
80001b4: 2000 movs r0, #0
80001b6: bd08 pop {r3, pc}
80001b8: 40022000 .word 0x40022000
080001bc <HAL_IncTick>:
80001bc: 4a03 ldr r2, [pc, #12] ; (80001cc <HAL_IncTick+0x10>)
80001be: 4b04 ldr r3, [pc, #16] ; (80001d0 <HAL_IncTick+0x14>)
80001c0: 6811 ldr r1, [r2, #0]
80001c2: 781b ldrb r3, [r3, #0]
80001c4: 440b add r3, r1
80001c6: 6013 str r3, [r2, #0]
80001c8: 4770 bx lr
80001ca: bf00 nop
80001cc: 2000110c .word 0x2000110c
80001d0: 20000000 .word 0x20000000
080001d4 <HAL_GetTick>:
80001d4: 4b01 ldr r3, [pc, #4] ; (80001dc <HAL_GetTick+0x8>)
80001d6: 6818 ldr r0, [r3, #0]
80001d8: 4770 bx lr
80001da: bf00 nop
80001dc: 2000110c .word 0x2000110c
080001e0 <HAL_NVIC_SetPriorityGrouping>:
80001e0: f64f 01ff movw r1, #63743 ; 0xf8ff
80001e4: 4a06 ldr r2, [pc, #24] ; (8000200 <HAL_NVIC_SetPriorityGrouping+0x20>)
80001e6: 0200 lsls r0, r0, #8
80001e8: 68d3 ldr r3, [r2, #12]
80001ea: f400 60e0 and.w r0, r0, #1792 ; 0x700
80001ee: 400b ands r3, r1
80001f0: f043 63bf orr.w r3, r3, #100139008 ; 0x5f80000
80001f4: f443 3300 orr.w r3, r3, #131072 ; 0x20000
80001f8: 4303 orrs r3, r0
80001fa: 60d3 str r3, [r2, #12]
80001fc: 4770 bx lr
80001fe: bf00 nop
8000200: e000ed00 .word 0xe000ed00
08000204 <HAL_NVIC_SetPriority>:
8000204: 4b18 ldr r3, [pc, #96] ; (8000268 <HAL_NVIC_SetPriority+0x64>)
8000206: b430 push {r4, r5}
8000208: 68db ldr r3, [r3, #12]
800020a: f3c3 2302 ubfx r3, r3, #8, #3
800020e: f1c3 0507 rsb r5, r3, #7
8000212: 2d04 cmp r5, #4
8000214: f103 0404 add.w r4, r3, #4
8000218: bf28 it cs
800021a: 2504 movcs r5, #4
800021c: 2c06 cmp r4, #6
800021e: d919 bls.n 8000254 <HAL_NVIC_SetPriority+0x50>
8000220: f04f 34ff mov.w r4, #4294967295 ; 0xffffffff
8000224: 3b03 subs r3, #3
8000226: 409c lsls r4, r3
8000228: ea22 0404 bic.w r4, r2, r4
800022c: f04f 32ff mov.w r2, #4294967295 ; 0xffffffff
8000230: 40aa lsls r2, r5
8000232: ea21 0102 bic.w r1, r1, r2
8000236: fa01 f203 lsl.w r2, r1, r3
800023a: 4322 orrs r2, r4
800023c: 0112 lsls r2, r2, #4
800023e: 2800 cmp r0, #0
8000240: b2d2 uxtb r2, r2
8000242: db0a blt.n 800025a <HAL_NVIC_SetPriority+0x56>
8000244: f100 4060 add.w r0, r0, #3758096384 ; 0xe0000000
8000248: f500 4061 add.w r0, r0, #57600 ; 0xe100
800024c: f880 2300 strb.w r2, [r0, #768] ; 0x300
8000250: bc30 pop {r4, r5}
8000252: 4770 bx lr
8000254: 2400 movs r4, #0
8000256: 4623 mov r3, r4
8000258: e7e8 b.n 800022c <HAL_NVIC_SetPriority+0x28>
800025a: 4b04 ldr r3, [pc, #16] ; (800026c <HAL_NVIC_SetPriority+0x68>)
800025c: f000 000f and.w r0, r0, #15
8000260: 4403 add r3, r0
8000262: 761a strb r2, [r3, #24]
8000264: bc30 pop {r4, r5}
8000266: 4770 bx lr
8000268: e000ed00 .word 0xe000ed00
800026c: e000ecfc .word 0xe000ecfc
08000270 <HAL_NVIC_EnableIRQ>:
8000270: 2800 cmp r0, #0
8000272: db07 blt.n 8000284 <HAL_NVIC_EnableIRQ+0x14>
8000274: 2301 movs r3, #1
8000276: f000 011f and.w r1, r0, #31
800027a: 4a03 ldr r2, [pc, #12] ; (8000288 <HAL_NVIC_EnableIRQ+0x18>)
800027c: 408b lsls r3, r1
800027e: 0940 lsrs r0, r0, #5
8000280: f842 3020 str.w r3, [r2, r0, lsl #2]
8000284: 4770 bx lr
8000286: bf00 nop
8000288: e000e100 .word 0xe000e100
0800028c <HAL_SYSTICK_Config>:
800028c: 3801 subs r0, #1
800028e: f1b0 7f80 cmp.w r0, #16777216 ; 0x1000000
8000292: d20d bcs.n 80002b0 <HAL_SYSTICK_Config+0x24>
8000294: b430 push {r4, r5}
8000296: 25f0 movs r5, #240 ; 0xf0
8000298: 2200 movs r2, #0
800029a: 2107 movs r1, #7
800029c: 4b05 ldr r3, [pc, #20] ; (80002b4 <HAL_SYSTICK_Config+0x28>)
800029e: 4c06 ldr r4, [pc, #24] ; (80002b8 <HAL_SYSTICK_Config+0x2c>)
80002a0: 6058 str r0, [r3, #4]
80002a2: f884 5023 strb.w r5, [r4, #35] ; 0x23
80002a6: 4610 mov r0, r2
80002a8: bc30 pop {r4, r5}
80002aa: 609a str r2, [r3, #8]
80002ac: 6019 str r1, [r3, #0]
80002ae: 4770 bx lr
80002b0: 2001 movs r0, #1
80002b2: 4770 bx lr
80002b4: e000e010 .word 0xe000e010
80002b8: e000ed00 .word 0xe000ed00
080002bc <HAL_GPIO_Init>:
80002bc: 680a ldr r2, [r1, #0]
80002be: 2a00 cmp r2, #0
80002c0: f000 80db beq.w 800047a <HAL_GPIO_Init+0x1be>
80002c4: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
80002c8: f04f 0a00 mov.w sl, #0
80002cc: b085 sub sp, #20
80002ce: 4655 mov r5, sl
80002d0: f8df c1d0 ldr.w ip, [pc, #464] ; 80004a4 <HAL_GPIO_Init+0x1e8>
80002d4: f8df e1d0 ldr.w lr, [pc, #464] ; 80004a8 <HAL_GPIO_Init+0x1ec>
80002d8: 4f6d ldr r7, [pc, #436] ; (8000490 <HAL_GPIO_Init+0x1d4>)
80002da: f8df 81d0 ldr.w r8, [pc, #464] ; 80004ac <HAL_GPIO_Init+0x1f0>
80002de: e003 b.n 80002e8 <HAL_GPIO_Init+0x2c>
80002e0: 3501 adds r5, #1
80002e2: fa32 f305 lsrs.w r3, r2, r5
80002e6: d078 beq.n 80003da <HAL_GPIO_Init+0x11e>
80002e8: 2301 movs r3, #1
80002ea: 40ab lsls r3, r5
80002ec: ea02 0403 and.w r4, r2, r3
80002f0: 42a3 cmp r3, r4
80002f2: d1f5 bne.n 80002e0 <HAL_GPIO_Init+0x24>
80002f4: 684a ldr r2, [r1, #4]
80002f6: 2a12 cmp r2, #18
80002f8: f000 809e beq.w 8000438 <HAL_GPIO_Init+0x17c>
80002fc: f200 8087 bhi.w 800040e <HAL_GPIO_Init+0x152>
8000300: 2a02 cmp r2, #2
8000302: f000 809d beq.w 8000440 <HAL_GPIO_Init+0x184>
8000306: d97c bls.n 8000402 <HAL_GPIO_Init+0x146>
8000308: 2a03 cmp r2, #3
800030a: d069 beq.n 80003e0 <HAL_GPIO_Init+0x124>
800030c: 2a11 cmp r2, #17
800030e: d102 bne.n 8000316 <HAL_GPIO_Init+0x5a>
8000310: 68cb ldr r3, [r1, #12]
8000312: f103 0a04 add.w sl, r3, #4
8000316: 2cff cmp r4, #255 ; 0xff
8000318: d866 bhi.n 80003e8 <HAL_GPIO_Init+0x12c>
800031a: 4681 mov r9, r0
800031c: 6803 ldr r3, [r0, #0]
800031e: 00aa lsls r2, r5, #2
8000320: 260f movs r6, #15
8000322: fa06 fb02 lsl.w fp, r6, r2
8000326: ea23 030b bic.w r3, r3, fp
800032a: fa0a f202 lsl.w r2, sl, r2
800032e: 4313 orrs r3, r2
8000330: f8c9 3000 str.w r3, [r9]
8000334: 684a ldr r2, [r1, #4]
8000336: 00d3 lsls r3, r2, #3
8000338: d561 bpl.n 80003fe <HAL_GPIO_Init+0x142>
800033a: f8dc 9018 ldr.w r9, [ip, #24]
800033e: f025 0303 bic.w r3, r5, #3
8000342: f049 0901 orr.w r9, r9, #1
8000346: f8cc 9018 str.w r9, [ip, #24]
800034a: f8dc 9018 ldr.w r9, [ip, #24]
800034e: f103 4380 add.w r3, r3, #1073741824 ; 0x40000000
8000352: f009 0901 and.w r9, r9, #1
8000356: f8cd 900c str.w r9, [sp, #12]
800035a: f503 3380 add.w r3, r3, #65536 ; 0x10000
800035e: f005 0903 and.w r9, r5, #3
8000362: f8dd b00c ldr.w fp, [sp, #12]
8000366: ea4f 0989 mov.w r9, r9, lsl #2
800036a: f8d3 b008 ldr.w fp, [r3, #8]
800036e: fa06 f609 lsl.w r6, r6, r9
8000372: ea2b 0606 bic.w r6, fp, r6
8000376: 4570 cmp r0, lr
8000378: 9601 str r6, [sp, #4]
800037a: d011 beq.n 80003a0 <HAL_GPIO_Init+0xe4>
800037c: 4540 cmp r0, r8
800037e: d063 beq.n 8000448 <HAL_GPIO_Init+0x18c>
8000380: 4e44 ldr r6, [pc, #272] ; (8000494 <HAL_GPIO_Init+0x1d8>)
8000382: 42b0 cmp r0, r6
8000384: d07a beq.n 800047c <HAL_GPIO_Init+0x1c0>
8000386: 4e44 ldr r6, [pc, #272] ; (8000498 <HAL_GPIO_Init+0x1dc>)
8000388: 42b0 cmp r0, r6
800038a: bf0c ite eq
800038c: f04f 0b03 moveq.w fp, #3
8000390: f04f 0b04 movne.w fp, #4
8000394: 9e01 ldr r6, [sp, #4]
8000396: fa0b f909 lsl.w r9, fp, r9
800039a: ea46 0609 orr.w r6, r6, r9
800039e: 9601 str r6, [sp, #4]
80003a0: 609e str r6, [r3, #8]
80003a2: 683b ldr r3, [r7, #0]
80003a4: 03d6 lsls r6, r2, #15
80003a6: bf4c ite mi
80003a8: 4323 orrmi r3, r4
80003aa: 43a3 bicpl r3, r4
80003ac: 603b str r3, [r7, #0]
80003ae: 687b ldr r3, [r7, #4]
80003b0: 0396 lsls r6, r2, #14
80003b2: bf4c ite mi
80003b4: 4323 orrmi r3, r4
80003b6: 43a3 bicpl r3, r4
80003b8: 607b str r3, [r7, #4]
80003ba: 68bb ldr r3, [r7, #8]
80003bc: 02d6 lsls r6, r2, #11
80003be: bf4c ite mi
80003c0: 4323 orrmi r3, r4
80003c2: 43a3 bicpl r3, r4
80003c4: 60bb str r3, [r7, #8]
80003c6: 0292 lsls r2, r2, #10
80003c8: 68fb ldr r3, [r7, #12]
80003ca: d515 bpl.n 80003f8 <HAL_GPIO_Init+0x13c>
80003cc: 431c orrs r4, r3
80003ce: 60fc str r4, [r7, #12]
80003d0: 680a ldr r2, [r1, #0]
80003d2: 3501 adds r5, #1
80003d4: fa32 f305 lsrs.w r3, r2, r5
80003d8: d186 bne.n 80002e8 <HAL_GPIO_Init+0x2c>
80003da: b005 add sp, #20
80003dc: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
80003e0: 2cff cmp r4, #255 ; 0xff
80003e2: f04f 0a00 mov.w sl, #0
80003e6: d998 bls.n 800031a <HAL_GPIO_Init+0x5e>
80003e8: f105 4280 add.w r2, r5, #1073741824 ; 0x40000000
80003ec: 3a08 subs r2, #8
80003ee: 6843 ldr r3, [r0, #4]
80003f0: 0092 lsls r2, r2, #2
80003f2: f100 0904 add.w r9, r0, #4
80003f6: e793 b.n 8000320 <HAL_GPIO_Init+0x64>
80003f8: ea23 0404 bic.w r4, r3, r4
80003fc: 60fc str r4, [r7, #12]
80003fe: 680a ldr r2, [r1, #0]
8000400: e76e b.n 80002e0 <HAL_GPIO_Init+0x24>
8000402: b1a2 cbz r2, 800042e <HAL_GPIO_Init+0x172>
8000404: 2a01 cmp r2, #1
8000406: d186 bne.n 8000316 <HAL_GPIO_Init+0x5a>
8000408: f8d1 a00c ldr.w sl, [r1, #12]
800040c: e783 b.n 8000316 <HAL_GPIO_Init+0x5a>
800040e: 4e23 ldr r6, [pc, #140] ; (800049c <HAL_GPIO_Init+0x1e0>)
8000410: 42b2 cmp r2, r6
8000412: d00c beq.n 800042e <HAL_GPIO_Init+0x172>
8000414: d920 bls.n 8000458 <HAL_GPIO_Init+0x19c>
8000416: 4e22 ldr r6, [pc, #136] ; (80004a0 <HAL_GPIO_Init+0x1e4>)
8000418: 42b2 cmp r2, r6
800041a: d008 beq.n 800042e <HAL_GPIO_Init+0x172>
800041c: f506 3680 add.w r6, r6, #65536 ; 0x10000
8000420: 42b2 cmp r2, r6
8000422: d004 beq.n 800042e <HAL_GPIO_Init+0x172>
8000424: f5a6 1680 sub.w r6, r6, #1048576 ; 0x100000
8000428: 42b2 cmp r2, r6
800042a: f47f af74 bne.w 8000316 <HAL_GPIO_Init+0x5a>
800042e: 688a ldr r2, [r1, #8]
8000430: b9e2 cbnz r2, 800046c <HAL_GPIO_Init+0x1b0>
8000432: f04f 0a04 mov.w sl, #4
8000436: e76e b.n 8000316 <HAL_GPIO_Init+0x5a>
8000438: 68cb ldr r3, [r1, #12]
800043a: f103 0a0c add.w sl, r3, #12
800043e: e76a b.n 8000316 <HAL_GPIO_Init+0x5a>
8000440: 68cb ldr r3, [r1, #12]
8000442: f103 0a08 add.w sl, r3, #8
8000446: e766 b.n 8000316 <HAL_GPIO_Init+0x5a>
8000448: f04f 0b01 mov.w fp, #1
800044c: fa0b f909 lsl.w r9, fp, r9
8000450: ea46 0609 orr.w r6, r6, r9
8000454: 9601 str r6, [sp, #4]
8000456: e7a3 b.n 80003a0 <HAL_GPIO_Init+0xe4>
8000458: f5a6 1680 sub.w r6, r6, #1048576 ; 0x100000
800045c: 42b2 cmp r2, r6
800045e: d0e6 beq.n 800042e <HAL_GPIO_Init+0x172>
8000460: f506 3680 add.w r6, r6, #65536 ; 0x10000
8000464: 42b2 cmp r2, r6
8000466: f47f af56 bne.w 8000316 <HAL_GPIO_Init+0x5a>
800046a: e7e0 b.n 800042e <HAL_GPIO_Init+0x172>
800046c: 2a01 cmp r2, #1
800046e: bf0c ite eq
8000470: 6103 streq r3, [r0, #16]
8000472: 6143 strne r3, [r0, #20]
8000474: f04f 0a08 mov.w sl, #8
8000478: e74d b.n 8000316 <HAL_GPIO_Init+0x5a>
800047a: 4770 bx lr
800047c: f04f 0b02 mov.w fp, #2
8000480: 9e01 ldr r6, [sp, #4]
8000482: fa0b f909 lsl.w r9, fp, r9
8000486: ea46 0609 orr.w r6, r6, r9
800048a: 9601 str r6, [sp, #4]
800048c: e788 b.n 80003a0 <HAL_GPIO_Init+0xe4>
800048e: bf00 nop
8000490: 40010400 .word 0x40010400
8000494: 40011000 .word 0x40011000
8000498: 40011400 .word 0x40011400
800049c: 10210000 .word 0x10210000
80004a0: 10310000 .word 0x10310000
80004a4: 40021000 .word 0x40021000
80004a8: 40010800 .word 0x40010800
80004ac: 40010c00 .word 0x40010c00
080004b0 <HAL_I2C_Init>:
80004b0: 2800 cmp r0, #0
80004b2: f000 8097 beq.w 80005e4 <HAL_I2C_Init+0x134>
80004b6: b5f8 push {r3, r4, r5, r6, r7, lr}
80004b8: f890 303d ldrb.w r3, [r0, #61] ; 0x3d
80004bc: 4604 mov r4, r0
80004be: f003 02ff and.w r2, r3, #255 ; 0xff
80004c2: 2b00 cmp r3, #0
80004c4: f000 8087 beq.w 80005d6 <HAL_I2C_Init+0x126>
80004c8: 2324 movs r3, #36 ; 0x24
80004ca: 6822 ldr r2, [r4, #0]
80004cc: f884 303d strb.w r3, [r4, #61] ; 0x3d
80004d0: 6813 ldr r3, [r2, #0]
80004d2: f023 0301 bic.w r3, r3, #1
80004d6: 6013 str r3, [r2, #0]
80004d8: f000 ffa8 bl 800142c <HAL_RCC_GetPCLK1Freq>
80004dc: 6862 ldr r2, [r4, #4]
80004de: 4b4b ldr r3, [pc, #300] ; (800060c <HAL_I2C_Init+0x15c>)
80004e0: 429a cmp r2, r3
80004e2: d84b bhi.n 800057c <HAL_I2C_Init+0xcc>
80004e4: 4b4a ldr r3, [pc, #296] ; (8000610 <HAL_I2C_Init+0x160>)
80004e6: 4298 cmp r0, r3
80004e8: d97a bls.n 80005e0 <HAL_I2C_Init+0x130>
80004ea: 1e43 subs r3, r0, #1
80004ec: 0052 lsls r2, r2, #1
80004ee: fbb3 f2f2 udiv r2, r3, r2
80004f2: 4948 ldr r1, [pc, #288] ; (8000614 <HAL_I2C_Init+0x164>)
80004f4: 6823 ldr r3, [r4, #0]
80004f6: fba1 1000 umull r1, r0, r1, r0
80004fa: 6859 ldr r1, [r3, #4]
80004fc: 0c80 lsrs r0, r0, #18
80004fe: f021 013f bic.w r1, r1, #63 ; 0x3f
8000502: 4301 orrs r1, r0
8000504: 6059 str r1, [r3, #4]
8000506: 6a19 ldr r1, [r3, #32]
8000508: 3001 adds r0, #1
800050a: f021 013f bic.w r1, r1, #63 ; 0x3f
800050e: 4308 orrs r0, r1
8000510: 6218 str r0, [r3, #32]
8000512: 1c50 adds r0, r2, #1
8000514: f3c0 000b ubfx r0, r0, #0, #12
8000518: 2804 cmp r0, #4
800051a: bf38 it cc
800051c: 2004 movcc r0, #4
800051e: 69d9 ldr r1, [r3, #28]
8000520: f421 414f bic.w r1, r1, #52992 ; 0xcf00
8000524: f021 01ff bic.w r1, r1, #255 ; 0xff
8000528: 2500 movs r5, #0
800052a: 2620 movs r6, #32
800052c: 4308 orrs r0, r1
800052e: 61d8 str r0, [r3, #28]
8000530: 6819 ldr r1, [r3, #0]
8000532: e9d4 2007 ldrd r2, r0, [r4, #28]
8000536: f021 01c0 bic.w r1, r1, #192 ; 0xc0
800053a: 4302 orrs r2, r0
800053c: 430a orrs r2, r1
800053e: 601a str r2, [r3, #0]
8000540: 6899 ldr r1, [r3, #8]
8000542: e9d4 0203 ldrd r0, r2, [r4, #12]
8000546: f421 4103 bic.w r1, r1, #33536 ; 0x8300
800054a: f021 01ff bic.w r1, r1, #255 ; 0xff
800054e: 4302 orrs r2, r0
8000550: 430a orrs r2, r1
8000552: 609a str r2, [r3, #8]
8000554: 68d9 ldr r1, [r3, #12]
8000556: e9d4 2005 ldrd r2, r0, [r4, #20]
800055a: f021 01ff bic.w r1, r1, #255 ; 0xff
800055e: 4302 orrs r2, r0
8000560: 430a orrs r2, r1
8000562: 60da str r2, [r3, #12]
8000564: 681a ldr r2, [r3, #0]
8000566: 4628 mov r0, r5
8000568: f042 0201 orr.w r2, r2, #1
800056c: 601a str r2, [r3, #0]
800056e: 6425 str r5, [r4, #64] ; 0x40
8000570: f884 603d strb.w r6, [r4, #61] ; 0x3d
8000574: 6325 str r5, [r4, #48] ; 0x30
8000576: f884 503e strb.w r5, [r4, #62] ; 0x3e
800057a: bdf8 pop {r3, r4, r5, r6, r7, pc}
800057c: 4b26 ldr r3, [pc, #152] ; (8000618 <HAL_I2C_Init+0x168>)
800057e: 4298 cmp r0, r3
8000580: d92e bls.n 80005e0 <HAL_I2C_Init+0x130>
8000582: f44f 7196 mov.w r1, #300 ; 0x12c
8000586: 4d23 ldr r5, [pc, #140] ; (8000614 <HAL_I2C_Init+0x164>)
8000588: 6823 ldr r3, [r4, #0]
800058a: fba5 6500 umull r6, r5, r5, r0
800058e: 0cad lsrs r5, r5, #18
8000590: fb01 f105 mul.w r1, r1, r5
8000594: 685e ldr r6, [r3, #4]
8000596: 4f21 ldr r7, [pc, #132] ; (800061c <HAL_I2C_Init+0x16c>)
8000598: f026 063f bic.w r6, r6, #63 ; 0x3f
800059c: fba7 7101 umull r7, r1, r7, r1
80005a0: 4335 orrs r5, r6
80005a2: 605d str r5, [r3, #4]
80005a4: 6a1d ldr r5, [r3, #32]
80005a6: 0989 lsrs r1, r1, #6
80005a8: f025 053f bic.w r5, r5, #63 ; 0x3f
80005ac: 3101 adds r1, #1
80005ae: 4329 orrs r1, r5
80005b0: 6219 str r1, [r3, #32]
80005b2: 69d9 ldr r1, [r3, #28]
80005b4: 68a5 ldr r5, [r4, #8]
80005b6: f421 414f bic.w r1, r1, #52992 ; 0xcf00
80005ba: 3801 subs r0, #1
80005bc: f021 01ff bic.w r1, r1, #255 ; 0xff
80005c0: b995 cbnz r5, 80005e8 <HAL_I2C_Init+0x138>
80005c2: eb02 0242 add.w r2, r2, r2, lsl #1
80005c6: fbb0 f0f2 udiv r0, r0, r2
80005ca: 3001 adds r0, #1
80005cc: f3c0 000b ubfx r0, r0, #0, #12
80005d0: b9c0 cbnz r0, 8000604 <HAL_I2C_Init+0x154>
80005d2: 2001 movs r0, #1
80005d4: e7a8 b.n 8000528 <HAL_I2C_Init+0x78>
80005d6: f880 203c strb.w r2, [r0, #60] ; 0x3c
80005da: f003 fb75 bl 8003cc8 <HAL_I2C_MspInit>
80005de: e773 b.n 80004c8 <HAL_I2C_Init+0x18>
80005e0: 2001 movs r0, #1
80005e2: bdf8 pop {r3, r4, r5, r6, r7, pc}
80005e4: 2001 movs r0, #1
80005e6: 4770 bx lr
80005e8: eb02 0282 add.w r2, r2, r2, lsl #2
80005ec: eb02 0282 add.w r2, r2, r2, lsl #2
80005f0: fbb0 f0f2 udiv r0, r0, r2
80005f4: 3001 adds r0, #1
80005f6: f3c0 000b ubfx r0, r0, #0, #12
80005fa: 2800 cmp r0, #0
80005fc: d0e9 beq.n 80005d2 <HAL_I2C_Init+0x122>
80005fe: f440 4040 orr.w r0, r0, #49152 ; 0xc000
8000602: e791 b.n 8000528 <HAL_I2C_Init+0x78>
8000604: f440 4000 orr.w r0, r0, #32768 ; 0x8000
8000608: e78e b.n 8000528 <HAL_I2C_Init+0x78>
800060a: bf00 nop
800060c: 000186a0 .word 0x000186a0
8000610: 001e847f .word 0x001e847f
8000614: 431bde83 .word 0x431bde83
8000618: 003d08ff .word 0x003d08ff
800061c: 10624dd3 .word 0x10624dd3
08000620 <HAL_PCD_Init>:
8000620: b5f0 push {r4, r5, r6, r7, lr}
8000622: b087 sub sp, #28
8000624: 2800 cmp r0, #0
8000626: d074 beq.n 8000712 <HAL_PCD_Init+0xf2>
8000628: f890 3229 ldrb.w r3, [r0, #553] ; 0x229
800062c: 4604 mov r4, r0
800062e: f003 02ff and.w r2, r3, #255 ; 0xff
8000632: 2b00 cmp r3, #0
8000634: d068 beq.n 8000708 <HAL_PCD_Init+0xe8>
8000636: 2303 movs r3, #3
8000638: 4626 mov r6, r4
800063a: f884 3229 strb.w r3, [r4, #553] ; 0x229
800063e: 6820 ldr r0, [r4, #0]
8000640: f001 f948 bl 80018d4 <USB_DisableGlobalInt>
8000644: f856 cb10 ldr.w ip, [r6], #16
8000648: 466d mov r5, sp
800064a: 4637 mov r7, r6
800064c: cf0f ldmia r7!, {r0, r1, r2, r3}
800064e: c50f stmia r5!, {r0, r1, r2, r3}
8000650: 683b ldr r3, [r7, #0]
8000652: 1d27 adds r7, r4, #4
8000654: 602b str r3, [r5, #0]
8000656: 4660 mov r0, ip
8000658: e897 000e ldmia.w r7, {r1, r2, r3}
800065c: f001 f928 bl 80018b0 <USB_CoreInit>
8000660: 4605 mov r5, r0
8000662: b130 cbz r0, 8000672 <HAL_PCD_Init+0x52>
8000664: 2302 movs r3, #2
8000666: 2501 movs r5, #1
8000668: f884 3229 strb.w r3, [r4, #553] ; 0x229
800066c: 4628 mov r0, r5
800066e: b007 add sp, #28
8000670: bdf0 pop {r4, r5, r6, r7, pc}
8000672: 4601 mov r1, r0
8000674: 6820 ldr r0, [r4, #0]
8000676: f001 f937 bl 80018e8 <USB_SetCurrentMode>
800067a: f8d4 c004 ldr.w ip, [r4, #4]
800067e: f1bc 0f00 cmp.w ip, #0
8000682: d029 beq.n 80006d8 <HAL_PCD_Init+0xb8>
8000684: 4628 mov r0, r5
8000686: f04f 0e01 mov.w lr, #1
800068a: 462a mov r2, r5
800068c: eb04 1340 add.w r3, r4, r0, lsl #5
8000690: 1c45 adds r5, r0, #1
8000692: f883 0028 strb.w r0, [r3, #40] ; 0x28
8000696: 86d8 strh r0, [r3, #54] ; 0x36
8000698: b2e8 uxtb r0, r5
800069a: 4560 cmp r0, ip
800069c: f883 e029 strb.w lr, [r3, #41] ; 0x29
80006a0: f883 202b strb.w r2, [r3, #43] ; 0x2b
80006a4: e9c3 220e strd r2, r2, [r3, #56] ; 0x38
80006a8: 641a str r2, [r3, #64] ; 0x40
80006aa: d3ef bcc.n 800068c <HAL_PCD_Init+0x6c>
80006ac: 2300 movs r3, #0
80006ae: 4619 mov r1, r3
80006b0: eb04 1243 add.w r2, r4, r3, lsl #5
80006b4: 1c5d adds r5, r3, #1
80006b6: f103 000a add.w r0, r3, #10
80006ba: f882 3128 strb.w r3, [r2, #296] ; 0x128
80006be: b2eb uxtb r3, r5
80006c0: 0140 lsls r0, r0, #5
80006c2: 4563 cmp r3, ip
80006c4: f882 1129 strb.w r1, [r2, #297] ; 0x129
80006c8: f882 112b strb.w r1, [r2, #299] ; 0x12b
80006cc: f8c2 1138 str.w r1, [r2, #312] ; 0x138
80006d0: f8c2 113c str.w r1, [r2, #316] ; 0x13c
80006d4: 5021 str r1, [r4, r0]
80006d6: d3eb bcc.n 80006b0 <HAL_PCD_Init+0x90>
80006d8: ce0f ldmia r6!, {r0, r1, r2, r3}
80006da: 466d mov r5, sp
80006dc: f8d4 c000 ldr.w ip, [r4]
80006e0: c50f stmia r5!, {r0, r1, r2, r3}
80006e2: 6833 ldr r3, [r6, #0]
80006e4: 4660 mov r0, ip
80006e6: 602b str r3, [r5, #0]
80006e8: e897 000e ldmia.w r7, {r1, r2, r3}
80006ec: f001 f8fe bl 80018ec <USB_DevInit>
80006f0: 4605 mov r5, r0
80006f2: 2800 cmp r0, #0
80006f4: d1b6 bne.n 8000664 <HAL_PCD_Init+0x44>
80006f6: 2301 movs r3, #1
80006f8: f884 0024 strb.w r0, [r4, #36] ; 0x24
80006fc: 6820 ldr r0, [r4, #0]
80006fe: f884 3229 strb.w r3, [r4, #553] ; 0x229
8000702: f001 fd11 bl 8002128 <USB_DevDisconnect>
8000706: e7b1 b.n 800066c <HAL_PCD_Init+0x4c>
8000708: f880 2228 strb.w r2, [r0, #552] ; 0x228
800070c: f003 fc3a bl 8003f84 <HAL_PCD_MspInit>
8000710: e791 b.n 8000636 <HAL_PCD_Init+0x16>
8000712: 2501 movs r5, #1
8000714: 4628 mov r0, r5
8000716: b007 add sp, #28
8000718: bdf0 pop {r4, r5, r6, r7, pc}
800071a: bf00 nop
0800071c <HAL_PCD_Start>:
800071c: f890 3228 ldrb.w r3, [r0, #552] ; 0x228
8000720: 2b01 cmp r3, #1
8000722: d010 beq.n 8000746 <HAL_PCD_Start+0x2a>
8000724: 2101 movs r1, #1
8000726: b510 push {r4, lr}
8000728: 4604 mov r4, r0
800072a: f880 1228 strb.w r1, [r0, #552] ; 0x228
800072e: f003 fd57 bl 80041e0 <HAL_PCDEx_SetConnectionState>
8000732: 6820 ldr r0, [r4, #0]
8000734: f001 fcf6 bl 8002124 <USB_DevConnect>
8000738: 6820 ldr r0, [r4, #0]
800073a: f001 f8c1 bl 80018c0 <USB_EnableGlobalInt>
800073e: 2000 movs r0, #0
8000740: f884 0228 strb.w r0, [r4, #552] ; 0x228
8000744: bd10 pop {r4, pc}
8000746: 2002 movs r0, #2
8000748: 4770 bx lr
800074a: bf00 nop
0800074c <HAL_PCD_IRQHandler>:
800074c: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr}
8000750: 4604 mov r4, r0
8000752: 6800 ldr r0, [r0, #0]
8000754: f001 fcea bl 800212c <USB_ReadInterrupts>
8000758: 0401 lsls r1, r0, #16
800075a: 6822 ldr r2, [r4, #0]
800075c: d443 bmi.n 80007e6 <HAL_PCD_IRQHandler+0x9a>
800075e: 4610 mov r0, r2
8000760: f001 fce4 bl 800212c <USB_ReadInterrupts>
8000764: 0546 lsls r6, r0, #21
8000766: f100 8171 bmi.w 8000a4c <HAL_PCD_IRQHandler+0x300>
800076a: 6820 ldr r0, [r4, #0]
800076c: f001 fcde bl 800212c <USB_ReadInterrupts>
8000770: f410 4f80 tst.w r0, #16384 ; 0x4000
8000774: 6820 ldr r0, [r4, #0]
8000776: d007 beq.n 8000788 <HAL_PCD_IRQHandler+0x3c>
8000778: f8b0 3044 ldrh.w r3, [r0, #68] ; 0x44
800077c: f423 4380 bic.w r3, r3, #16384 ; 0x4000
8000780: 041b lsls r3, r3, #16
8000782: 0c1b lsrs r3, r3, #16
8000784: f8a0 3044 strh.w r3, [r0, #68] ; 0x44
8000788: f001 fcd0 bl 800212c <USB_ReadInterrupts>
800078c: f410 5f00 tst.w r0, #8192 ; 0x2000
8000790: 6820 ldr r0, [r4, #0]
8000792: d007 beq.n 80007a4 <HAL_PCD_IRQHandler+0x58>
8000794: f8b0 3044 ldrh.w r3, [r0, #68] ; 0x44
8000798: f423 5300 bic.w r3, r3, #8192 ; 0x2000
800079c: 041b lsls r3, r3, #16
800079e: 0c1b lsrs r3, r3, #16
80007a0: f8a0 3044 strh.w r3, [r0, #68] ; 0x44
80007a4: f001 fcc2 bl 800212c <USB_ReadInterrupts>
80007a8: 04c5 lsls r5, r0, #19
80007aa: f100 8131 bmi.w 8000a10 <HAL_PCD_IRQHandler+0x2c4>
80007ae: 6820 ldr r0, [r4, #0]
80007b0: f001 fcbc bl 800212c <USB_ReadInterrupts>
80007b4: 0500 lsls r0, r0, #20
80007b6: f100 8104 bmi.w 80009c2 <HAL_PCD_IRQHandler+0x276>
80007ba: 6820 ldr r0, [r4, #0]
80007bc: f001 fcb6 bl 800212c <USB_ReadInterrupts>
80007c0: 0582 lsls r2, r0, #22
80007c2: f100 80f1 bmi.w 80009a8 <HAL_PCD_IRQHandler+0x25c>
80007c6: 6820 ldr r0, [r4, #0]
80007c8: f001 fcb0 bl 800212c <USB_ReadInterrupts>
80007cc: 05c3 lsls r3, r0, #23
80007ce: d508 bpl.n 80007e2 <HAL_PCD_IRQHandler+0x96>
80007d0: 6822 ldr r2, [r4, #0]
80007d2: f8b2 3044 ldrh.w r3, [r2, #68] ; 0x44
80007d6: f423 7380 bic.w r3, r3, #256 ; 0x100
80007da: 041b lsls r3, r3, #16
80007dc: 0c1b lsrs r3, r3, #16
80007de: f8a2 3044 strh.w r3, [r2, #68] ; 0x44
80007e2: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc}
80007e6: f8df a414 ldr.w sl, [pc, #1044] ; 8000bfc <HAL_PCD_IRQHandler+0x4b0>
80007ea: f8df b414 ldr.w fp, [pc, #1044] ; 8000c00 <HAL_PCD_IRQHandler+0x4b4>
80007ee: f8b2 3044 ldrh.w r3, [r2, #68] ; 0x44
80007f2: 041f lsls r7, r3, #16
80007f4: d5b3 bpl.n 800075e <HAL_PCD_IRQHandler+0x12>
80007f6: f8b2 1044 ldrh.w r1, [r2, #68] ; 0x44
80007fa: b289 uxth r1, r1
80007fc: f011 050f ands.w r5, r1, #15
8000800: d157 bne.n 80008b2 <HAL_PCD_IRQHandler+0x166>
8000802: f011 0110 ands.w r1, r1, #16
8000806: 8813 ldrh r3, [r2, #0]
8000808: f000 813e beq.w 8000a88 <HAL_PCD_IRQHandler+0x33c>
800080c: b29b uxth r3, r3
800080e: f413 6500 ands.w r5, r3, #2048 ; 0x800
8000812: f040 817a bne.w 8000b0a <HAL_PCD_IRQHandler+0x3be>
8000816: 041b lsls r3, r3, #16
8000818: d5e9 bpl.n 80007ee <HAL_PCD_IRQHandler+0xa2>
800081a: f640 738f movw r3, #3983 ; 0xf8f
800081e: 8811 ldrh r1, [r2, #0]
8000820: 400b ands r3, r1
8000822: f043 0380 orr.w r3, r3, #128 ; 0x80
8000826: 8013 strh r3, [r2, #0]
8000828: f8b2 3050 ldrh.w r3, [r2, #80] ; 0x50
800082c: f894 1128 ldrb.w r1, [r4, #296] ; 0x128
8000830: eb03 03c1 add.w r3, r3, r1, lsl #3
8000834: eb02 0343 add.w r3, r2, r3, lsl #1
8000838: f8b3 340c ldrh.w r3, [r3, #1036] ; 0x40c
800083c: f3c3 0309 ubfx r3, r3, #0, #10
8000840: f8c4 3144 str.w r3, [r4, #324] ; 0x144
8000844: b19b cbz r3, 800086e <HAL_PCD_IRQHandler+0x122>
8000846: f8d4 113c ldr.w r1, [r4, #316] ; 0x13c
800084a: b181 cbz r1, 800086e <HAL_PCD_IRQHandler+0x122>
800084c: 4610 mov r0, r2
800084e: f8b4 212e ldrh.w r2, [r4, #302] ; 0x12e
8000852: f001 fc71 bl 8002138 <USB_ReadPMA>
8000856: f8d4 313c ldr.w r3, [r4, #316] ; 0x13c
800085a: f8d4 2144 ldr.w r2, [r4, #324] ; 0x144
800085e: 4629 mov r1, r5
8000860: 4413 add r3, r2
8000862: f8c4 313c str.w r3, [r4, #316] ; 0x13c
8000866: 4620 mov r0, r4
8000868: f003 fbb2 bl 8003fd0 <HAL_PCD_DataOutStageCallback>
800086c: 6822 ldr r2, [r4, #0]
800086e: f8b2 3050 ldrh.w r3, [r2, #80] ; 0x50
8000872: f8d4 1138 ldr.w r1, [r4, #312] ; 0x138
8000876: b29b uxth r3, r3
8000878: f202 400c addw r0, r2, #1036 ; 0x40c
800087c: 2900 cmp r1, #0
800087e: f040 8198 bne.w 8000bb2 <HAL_PCD_IRQHandler+0x466>
8000882: 5ac1 ldrh r1, [r0, r3]
8000884: f421 41f8 bic.w r1, r1, #31744 ; 0x7c00
8000888: 0409 lsls r1, r1, #16
800088a: 0c09 lsrs r1, r1, #16
800088c: 52c1 strh r1, [r0, r3]
800088e: 5ac1 ldrh r1, [r0, r3]
8000890: ea6f 4141 mvn.w r1, r1, lsl #17
8000894: ea6f 4151 mvn.w r1, r1, lsr #17
8000898: b289 uxth r1, r1
800089a: 52c1 strh r1, [r0, r3]
800089c: 8811 ldrh r1, [r2, #0]
800089e: 4bd6 ldr r3, [pc, #856] ; (8000bf8 <HAL_PCD_IRQHandler+0x4ac>)
80008a0: 400b ands r3, r1
80008a2: f483 5340 eor.w r3, r3, #12288 ; 0x3000
80008a6: f443 4300 orr.w r3, r3, #32768 ; 0x8000
80008aa: f043 0380 orr.w r3, r3, #128 ; 0x80
80008ae: 8013 strh r3, [r2, #0]
80008b0: e79d b.n 80007ee <HAL_PCD_IRQHandler+0xa2>
80008b2: f832 6025 ldrh.w r6, [r2, r5, lsl #2]
80008b6: b2b6 uxth r6, r6
80008b8: 0431 lsls r1, r6, #16
80008ba: d426 bmi.n 800090a <HAL_PCD_IRQHandler+0x1be>
80008bc: 0633 lsls r3, r6, #24
80008be: d596 bpl.n 80007ee <HAL_PCD_IRQHandler+0xa2>
80008c0: f832 1025 ldrh.w r1, [r2, r5, lsl #2]
80008c4: eb04 1345 add.w r3, r4, r5, lsl #5
80008c8: ea0a 0101 and.w r1, sl, r1
80008cc: f441 4100 orr.w r1, r1, #32768 ; 0x8000
80008d0: f822 1025 strh.w r1, [r2, r5, lsl #2]
80008d4: f8b2 1050 ldrh.w r1, [r2, #80] ; 0x50
80008d8: f893 5028 ldrb.w r5, [r3, #40] ; 0x28
80008dc: 6bd8 ldr r0, [r3, #60] ; 0x3c
80008de: eb01 01c5 add.w r1, r1, r5, lsl #3
80008e2: eb02 0141 add.w r1, r2, r1, lsl #1
80008e6: f8b1 1404 ldrh.w r1, [r1, #1028] ; 0x404
80008ea: 6c1d ldr r5, [r3, #64] ; 0x40
80008ec: f3c1 0109 ubfx r1, r1, #0, #10
80008f0: 1846 adds r6, r0, r1
80008f2: 6459 str r1, [r3, #68] ; 0x44
80008f4: 63de str r6, [r3, #60] ; 0x3c
80008f6: 2d00 cmp r5, #0
80008f8: f040 80ef bne.w 8000ada <HAL_PCD_IRQHandler+0x38e>
80008fc: f893 1028 ldrb.w r1, [r3, #40] ; 0x28
8000900: 4620 mov r0, r4
8000902: f003 fb6d bl 8003fe0 <HAL_PCD_DataInStageCallback>
8000906: 6822 ldr r2, [r4, #0]
8000908: e771 b.n 80007ee <HAL_PCD_IRQHandler+0xa2>
800090a: f640 738f movw r3, #3983 ; 0xf8f
800090e: f832 1025 ldrh.w r1, [r2, r5, lsl #2]
8000912: 016f lsls r7, r5, #5
8000914: 400b ands r3, r1
8000916: f043 0380 orr.w r3, r3, #128 ; 0x80
800091a: f822 3025 strh.w r3, [r2, r5, lsl #2]
800091e: eb04 0907 add.w r9, r4, r7
8000922: f899 3134 ldrb.w r3, [r9, #308] ; 0x134
8000926: f502 6080 add.w r0, r2, #1024 ; 0x400
800092a: 2b00 cmp r3, #0
800092c: f000 810f beq.w 8000b4e <HAL_PCD_IRQHandler+0x402>
8000930: f899 3128 ldrb.w r3, [r9, #296] ; 0x128
8000934: f832 c023 ldrh.w ip, [r2, r3, lsl #2]
8000938: eb02 0183 add.w r1, r2, r3, lsl #2
800093c: f41c 4f80 tst.w ip, #16384 ; 0x4000
8000940: f8b2 c050 ldrh.w ip, [r2, #80] ; 0x50
8000944: ea4f 03c3 mov.w r3, r3, lsl #3
8000948: 4463 add r3, ip
800094a: f000 811b beq.w 8000b84 <HAL_PCD_IRQHandler+0x438>
800094e: 3302 adds r3, #2
8000950: f830 8013 ldrh.w r8, [r0, r3, lsl #1]
8000954: f3c8 0809 ubfx r8, r8, #0, #10
8000958: f1b8 0f00 cmp.w r8, #0
800095c: f040 815d bne.w 8000c1a <HAL_PCD_IRQHandler+0x4ce>
8000960: 880b ldrh r3, [r1, #0]
8000962: ea0b 0303 and.w r3, fp, r3
8000966: f443 4300 orr.w r3, r3, #32768 ; 0x8000
800096a: f043 03c0 orr.w r3, r3, #192 ; 0xc0
800096e: 800b strh r3, [r1, #0]
8000970: 4427 add r7, r4
8000972: f8d7 2144 ldr.w r2, [r7, #324] ; 0x144
8000976: f8d7 313c ldr.w r3, [r7, #316] ; 0x13c
800097a: f8d7 0140 ldr.w r0, [r7, #320] ; 0x140
800097e: 4442 add r2, r8
8000980: 4443 add r3, r8
8000982: f8c7 2144 str.w r2, [r7, #324] ; 0x144
8000986: f8c7 313c str.w r3, [r7, #316] ; 0x13c
800098a: 2800 cmp r0, #0
800098c: f000 80f7 beq.w 8000b7e <HAL_PCD_IRQHandler+0x432>
8000990: f8d7 2138 ldr.w r2, [r7, #312] ; 0x138
8000994: f897 1128 ldrb.w r1, [r7, #296] ; 0x128
8000998: 4590 cmp r8, r2
800099a: f080 8114 bcs.w 8000bc6 <HAL_PCD_IRQHandler+0x47a>
800099e: 4620 mov r0, r4
80009a0: f003 fb16 bl 8003fd0 <HAL_PCD_DataOutStageCallback>
80009a4: 6822 ldr r2, [r4, #0]
80009a6: e789 b.n 80008bc <HAL_PCD_IRQHandler+0x170>
80009a8: 6822 ldr r2, [r4, #0]
80009aa: 4620 mov r0, r4
80009ac: f8b2 3044 ldrh.w r3, [r2, #68] ; 0x44
80009b0: f423 7300 bic.w r3, r3, #512 ; 0x200
80009b4: 041b lsls r3, r3, #16
80009b6: 0c1b lsrs r3, r3, #16
80009b8: f8a2 3044 strh.w r3, [r2, #68] ; 0x44
80009bc: f003 fb18 bl 8003ff0 <HAL_PCD_SOFCallback>
80009c0: e701 b.n 80007c6 <HAL_PCD_IRQHandler+0x7a>
80009c2: 6823 ldr r3, [r4, #0]
80009c4: f8b3 2040 ldrh.w r2, [r3, #64] ; 0x40
80009c8: 4618 mov r0, r3
80009ca: f042 0208 orr.w r2, r2, #8
80009ce: f8a3 2040 strh.w r2, [r3, #64] ; 0x40
80009d2: f8b3 2044 ldrh.w r2, [r3, #68] ; 0x44
80009d6: f422 6200 bic.w r2, r2, #2048 ; 0x800
80009da: 0412 lsls r2, r2, #16
80009dc: 0c12 lsrs r2, r2, #16
80009de: f8a3 2044 strh.w r2, [r3, #68] ; 0x44
80009e2: f8b3 2040 ldrh.w r2, [r3, #64] ; 0x40
80009e6: f042 0204 orr.w r2, r2, #4
80009ea: f8a3 2040 strh.w r2, [r3, #64] ; 0x40
80009ee: f001 fb9d bl 800212c <USB_ReadInterrupts>
80009f2: 04c1 lsls r1, r0, #19
80009f4: d508 bpl.n 8000a08 <HAL_PCD_IRQHandler+0x2bc>
80009f6: 6822 ldr r2, [r4, #0]
80009f8: f8b2 3044 ldrh.w r3, [r2, #68] ; 0x44
80009fc: f423 5380 bic.w r3, r3, #4096 ; 0x1000
8000a00: 041b lsls r3, r3, #16
8000a02: 0c1b lsrs r3, r3, #16
8000a04: f8a2 3044 strh.w r3, [r2, #68] ; 0x44
8000a08: 4620 mov r0, r4
8000a0a: f003 fb07 bl 800401c <HAL_PCD_SuspendCallback>
8000a0e: e6d4 b.n 80007ba <HAL_PCD_IRQHandler+0x6e>
8000a10: 6822 ldr r2, [r4, #0]
8000a12: 4620 mov r0, r4
8000a14: f8b2 3040 ldrh.w r3, [r2, #64] ; 0x40
8000a18: f023 0304 bic.w r3, r3, #4
8000a1c: 041b lsls r3, r3, #16
8000a1e: 0c1b lsrs r3, r3, #16
8000a20: f8a2 3040 strh.w r3, [r2, #64] ; 0x40
8000a24: f8b2 3040 ldrh.w r3, [r2, #64] ; 0x40
8000a28: f023 0308 bic.w r3, r3, #8
8000a2c: 041b lsls r3, r3, #16
8000a2e: 0c1b lsrs r3, r3, #16
8000a30: f8a2 3040 strh.w r3, [r2, #64] ; 0x40
8000a34: f003 fb02 bl 800403c <HAL_PCD_ResumeCallback>
8000a38: 6820 ldr r0, [r4, #0]
8000a3a: f8b0 3044 ldrh.w r3, [r0, #68] ; 0x44
8000a3e: f423 5380 bic.w r3, r3, #4096 ; 0x1000
8000a42: 041b lsls r3, r3, #16
8000a44: 0c1b lsrs r3, r3, #16
8000a46: f8a0 3044 strh.w r3, [r0, #68] ; 0x44
8000a4a: e6b1 b.n 80007b0 <HAL_PCD_IRQHandler+0x64>
8000a4c: 6822 ldr r2, [r4, #0]
8000a4e: 4620 mov r0, r4
8000a50: f8b2 3044 ldrh.w r3, [r2, #68] ; 0x44
8000a54: f423 6380 bic.w r3, r3, #1024 ; 0x400
8000a58: 041b lsls r3, r3, #16
8000a5a: 0c1b lsrs r3, r3, #16
8000a5c: f8a2 3044 strh.w r3, [r2, #68] ; 0x44
8000a60: f003 faca bl 8003ff8 <HAL_PCD_ResetCallback>
8000a64: f894 3228 ldrb.w r3, [r4, #552] ; 0x228
8000a68: 2b01 cmp r3, #1
8000a6a: f43f ae7e beq.w 800076a <HAL_PCD_IRQHandler+0x1e>
8000a6e: 2500 movs r5, #0
8000a70: 2301 movs r3, #1
8000a72: f884 5024 strb.w r5, [r4, #36] ; 0x24
8000a76: f884 3228 strb.w r3, [r4, #552] ; 0x228
8000a7a: 4629 mov r1, r5
8000a7c: 6820 ldr r0, [r4, #0]
8000a7e: f001 fb4b bl 8002118 <USB_SetDevAddress>
8000a82: f884 5228 strb.w r5, [r4, #552] ; 0x228
8000a86: e670 b.n 800076a <HAL_PCD_IRQHandler+0x1e>
8000a88: ea0a 0303 and.w r3, sl, r3
8000a8c: f443 4300 orr.w r3, r3, #32768 ; 0x8000
8000a90: 8013 strh r3, [r2, #0]
8000a92: f8b2 3050 ldrh.w r3, [r2, #80] ; 0x50
8000a96: f894 0028 ldrb.w r0, [r4, #40] ; 0x28
8000a9a: 6be5 ldr r5, [r4, #60] ; 0x3c
8000a9c: eb03 03c0 add.w r3, r3, r0, lsl #3
8000aa0: eb02 0243 add.w r2, r2, r3, lsl #1
8000aa4: f8b2 3404 ldrh.w r3, [r2, #1028] ; 0x404
8000aa8: 4620 mov r0, r4
8000aaa: f3c3 0309 ubfx r3, r3, #0, #10
8000aae: 441d add r5, r3
8000ab0: 6463 str r3, [r4, #68] ; 0x44
8000ab2: 63e5 str r5, [r4, #60] ; 0x3c
8000ab4: f003 fa94 bl 8003fe0 <HAL_PCD_DataInStageCallback>
8000ab8: f894 3024 ldrb.w r3, [r4, #36] ; 0x24
8000abc: b31b cbz r3, 8000b06 <HAL_PCD_IRQHandler+0x3ba>
8000abe: 6c23 ldr r3, [r4, #64] ; 0x40
8000ac0: 6822 ldr r2, [r4, #0]
8000ac2: 2b00 cmp r3, #0
8000ac4: f47f ae93 bne.w 80007ee <HAL_PCD_IRQHandler+0xa2>
8000ac8: f894 1024 ldrb.w r1, [r4, #36] ; 0x24
8000acc: f041 0180 orr.w r1, r1, #128 ; 0x80
8000ad0: f8a2 104c strh.w r1, [r2, #76] ; 0x4c
8000ad4: f884 3024 strb.w r3, [r4, #36] ; 0x24
8000ad8: e689 b.n 80007ee <HAL_PCD_IRQHandler+0xa2>
8000ada: f04f 0c00 mov.w ip, #0
8000ade: 2701 movs r7, #1
8000ae0: f893 3028 ldrb.w r3, [r3, #40] ; 0x28
8000ae4: 4610 mov r0, r2
8000ae6: f003 0207 and.w r2, r3, #7
8000aea: 0151 lsls r1, r2, #5
8000aec: 1863 adds r3, r4, r1
8000aee: 3128 adds r1, #40 ; 0x28
8000af0: f883 2028 strb.w r2, [r3, #40] ; 0x28
8000af4: e9c3 650f strd r6, r5, [r3, #60] ; 0x3c
8000af8: 4421 add r1, r4
8000afa: f8c3 c044 str.w ip, [r3, #68] ; 0x44
8000afe: f883 7029 strb.w r7, [r3, #41] ; 0x29
8000b02: f001 f96b bl 8001ddc <USB_EPStartXfer>
8000b06: 6822 ldr r2, [r4, #0]
8000b08: e671 b.n 80007ee <HAL_PCD_IRQHandler+0xa2>
8000b0a: f8b2 3050 ldrh.w r3, [r2, #80] ; 0x50
8000b0e: f894 1128 ldrb.w r1, [r4, #296] ; 0x128
8000b12: 4610 mov r0, r2
8000b14: eb03 03c1 add.w r3, r3, r1, lsl #3
8000b18: eb02 0243 add.w r2, r2, r3, lsl #1
8000b1c: f8b2 340c ldrh.w r3, [r2, #1036] ; 0x40c
8000b20: f504 710c add.w r1, r4, #560 ; 0x230
8000b24: f3c3 0309 ubfx r3, r3, #0, #10
8000b28: f8b4 212e ldrh.w r2, [r4, #302] ; 0x12e
8000b2c: f8c4 3144 str.w r3, [r4, #324] ; 0x144
8000b30: f001 fb02 bl 8002138 <USB_ReadPMA>
8000b34: f640 738f movw r3, #3983 ; 0xf8f
8000b38: 6822 ldr r2, [r4, #0]
8000b3a: 4620 mov r0, r4
8000b3c: 8811 ldrh r1, [r2, #0]
8000b3e: 400b ands r3, r1
8000b40: f043 0380 orr.w r3, r3, #128 ; 0x80
8000b44: 8013 strh r3, [r2, #0]
8000b46: f003 fa3d bl 8003fc4 <HAL_PCD_SetupStageCallback>
8000b4a: 6822 ldr r2, [r4, #0]
8000b4c: e64f b.n 80007ee <HAL_PCD_IRQHandler+0xa2>
8000b4e: f8b2 3050 ldrh.w r3, [r2, #80] ; 0x50
8000b52: f899 1128 ldrb.w r1, [r9, #296] ; 0x128
8000b56: 3306 adds r3, #6
8000b58: eb03 03c1 add.w r3, r3, r1, lsl #3
8000b5c: f830 8013 ldrh.w r8, [r0, r3, lsl #1]
8000b60: f3c8 0809 ubfx r8, r8, #0, #10
8000b64: f1b8 0f00 cmp.w r8, #0
8000b68: f43f af02 beq.w 8000970 <HAL_PCD_IRQHandler+0x224>
8000b6c: 4610 mov r0, r2
8000b6e: 4643 mov r3, r8
8000b70: f8b9 212e ldrh.w r2, [r9, #302] ; 0x12e
8000b74: f8d9 113c ldr.w r1, [r9, #316] ; 0x13c
8000b78: f001 fade bl 8002138 <USB_ReadPMA>
8000b7c: e6f8 b.n 8000970 <HAL_PCD_IRQHandler+0x224>
8000b7e: f897 1128 ldrb.w r1, [r7, #296] ; 0x128
8000b82: e70c b.n 800099e <HAL_PCD_IRQHandler+0x252>
8000b84: 3306 adds r3, #6
8000b86: f830 8013 ldrh.w r8, [r0, r3, lsl #1]
8000b8a: f3c8 0809 ubfx r8, r8, #0, #10
8000b8e: f1b8 0f00 cmp.w r8, #0
8000b92: f43f aee5 beq.w 8000960 <HAL_PCD_IRQHandler+0x214>
8000b96: 4643 mov r3, r8
8000b98: 4610 mov r0, r2
8000b9a: f8b9 2132 ldrh.w r2, [r9, #306] ; 0x132
8000b9e: f8d9 113c ldr.w r1, [r9, #316] ; 0x13c
8000ba2: f001 fac9 bl 8002138 <USB_ReadPMA>
8000ba6: f899 3128 ldrb.w r3, [r9, #296] ; 0x128
8000baa: 6821 ldr r1, [r4, #0]
8000bac: eb01 0183 add.w r1, r1, r3, lsl #2
8000bb0: e6d6 b.n 8000960 <HAL_PCD_IRQHandler+0x214>
8000bb2: 293e cmp r1, #62 ; 0x3e
8000bb4: d826 bhi.n 8000c04 <HAL_PCD_IRQHandler+0x4b8>
8000bb6: 084d lsrs r5, r1, #1
8000bb8: 07cf lsls r7, r1, #31
8000bba: bf48 it mi
8000bbc: 3501 addmi r5, #1
8000bbe: 02ad lsls r5, r5, #10
8000bc0: b2ad uxth r5, r5
8000bc2: 52c5 strh r5, [r0, r3]
8000bc4: e66a b.n 800089c <HAL_PCD_IRQHandler+0x150>
8000bc6: f04f 0c00 mov.w ip, #0
8000bca: f001 0107 and.w r1, r1, #7
8000bce: 014f lsls r7, r1, #5
8000bd0: 19e2 adds r2, r4, r7
8000bd2: f507 7794 add.w r7, r7, #296 ; 0x128
8000bd6: f882 1128 strb.w r1, [r2, #296] ; 0x128
8000bda: f8c2 0140 str.w r0, [r2, #320] ; 0x140
8000bde: f8c2 313c str.w r3, [r2, #316] ; 0x13c
8000be2: f8c2 c144 str.w ip, [r2, #324] ; 0x144
8000be6: f882 c129 strb.w ip, [r2, #297] ; 0x129
8000bea: 19e1 adds r1, r4, r7
8000bec: 6820 ldr r0, [r4, #0]
8000bee: f001 f8f5 bl 8001ddc <USB_EPStartXfer>
8000bf2: 6822 ldr r2, [r4, #0]
8000bf4: e662 b.n 80008bc <HAL_PCD_IRQHandler+0x170>
8000bf6: bf00 nop
8000bf8: ffffbf8f .word 0xffffbf8f
8000bfc: ffff8f0f .word 0xffff8f0f
8000c00: ffff8f8f .word 0xffff8f8f
8000c04: 094d lsrs r5, r1, #5
8000c06: 06ce lsls r6, r1, #27
8000c08: 4906 ldr r1, [pc, #24] ; (8000c24 <HAL_PCD_IRQHandler+0x4d8>)
8000c0a: bf08 it eq
8000c0c: f105 35ff addeq.w r5, r5, #4294967295 ; 0xffffffff
8000c10: ea41 2585 orr.w r5, r1, r5, lsl #10
8000c14: b2ad uxth r5, r5
8000c16: 52c5 strh r5, [r0, r3]
8000c18: e640 b.n 800089c <HAL_PCD_IRQHandler+0x150>
8000c1a: 4610 mov r0, r2
8000c1c: 4643 mov r3, r8
8000c1e: f8b9 2130 ldrh.w r2, [r9, #304] ; 0x130
8000c22: e7bc b.n 8000b9e <HAL_PCD_IRQHandler+0x452>
8000c24: ffff8000 .word 0xffff8000
08000c28 <HAL_PCD_SetAddress>:
8000c28: f890 2228 ldrb.w r2, [r0, #552] ; 0x228
8000c2c: 2a01 cmp r2, #1
8000c2e: d00d beq.n 8000c4c <HAL_PCD_SetAddress+0x24>
8000c30: b510 push {r4, lr}
8000c32: 4604 mov r4, r0
8000c34: 2201 movs r2, #1
8000c36: f884 1024 strb.w r1, [r4, #36] ; 0x24
8000c3a: f880 2228 strb.w r2, [r0, #552] ; 0x228
8000c3e: 6800 ldr r0, [r0, #0]
8000c40: f001 fa6a bl 8002118 <USB_SetDevAddress>
8000c44: 2000 movs r0, #0
8000c46: f884 0228 strb.w r0, [r4, #552] ; 0x228
8000c4a: bd10 pop {r4, pc}
8000c4c: 2002 movs r0, #2
8000c4e: 4770 bx lr
08000c50 <HAL_PCD_EP_Open>:
8000c50: b5f8 push {r3, r4, r5, r6, r7, lr}
8000c52: f001 0507 and.w r5, r1, #7
8000c56: 0609 lsls r1, r1, #24
8000c58: ea4f 1445 mov.w r4, r5, lsl #5
8000c5c: d41f bmi.n 8000c9e <HAL_PCD_EP_Open+0x4e>
8000c5e: 2700 movs r7, #0
8000c60: 1906 adds r6, r0, r4
8000c62: f504 7194 add.w r1, r4, #296 ; 0x128
8000c66: f886 7129 strb.w r7, [r6, #297] ; 0x129
8000c6a: 4401 add r1, r0
8000c6c: 784c ldrb r4, [r1, #1]
8000c6e: 700d strb r5, [r1, #0]
8000c70: 610a str r2, [r1, #16]
8000c72: 70cb strb r3, [r1, #3]
8000c74: b104 cbz r4, 8000c78 <HAL_PCD_EP_Open+0x28>
8000c76: 81cd strh r5, [r1, #14]
8000c78: 2b02 cmp r3, #2
8000c7a: bf04 itt eq
8000c7c: 2300 moveq r3, #0
8000c7e: 710b strbeq r3, [r1, #4]
8000c80: f890 3228 ldrb.w r3, [r0, #552] ; 0x228
8000c84: 2b01 cmp r3, #1
8000c86: d012 beq.n 8000cae <HAL_PCD_EP_Open+0x5e>
8000c88: 2301 movs r3, #1
8000c8a: 4604 mov r4, r0
8000c8c: f880 3228 strb.w r3, [r0, #552] ; 0x228
8000c90: 6800 ldr r0, [r0, #0]
8000c92: f000 fe45 bl 8001920 <USB_ActivateEndpoint>
8000c96: 2000 movs r0, #0
8000c98: f884 0228 strb.w r0, [r4, #552] ; 0x228
8000c9c: bdf8 pop {r3, r4, r5, r6, r7, pc}
8000c9e: 2701 movs r7, #1
8000ca0: 1906 adds r6, r0, r4
8000ca2: f104 0128 add.w r1, r4, #40 ; 0x28
8000ca6: f886 7029 strb.w r7, [r6, #41] ; 0x29
8000caa: 4401 add r1, r0
8000cac: e7de b.n 8000c6c <HAL_PCD_EP_Open+0x1c>
8000cae: 2002 movs r0, #2
8000cb0: bdf8 pop {r3, r4, r5, r6, r7, pc}
8000cb2: bf00 nop
08000cb4 <HAL_PCD_EP_Close>:
8000cb4: f001 0207 and.w r2, r1, #7
8000cb8: 0609 lsls r1, r1, #24
8000cba: b510 push {r4, lr}
8000cbc: ea4f 1342 mov.w r3, r2, lsl #5
8000cc0: d416 bmi.n 8000cf0 <HAL_PCD_EP_Close+0x3c>
8000cc2: 2400 movs r4, #0
8000cc4: 18c1 adds r1, r0, r3
8000cc6: f503 7394 add.w r3, r3, #296 ; 0x128
8000cca: f881 4129 strb.w r4, [r1, #297] ; 0x129
8000cce: 18c1 adds r1, r0, r3
8000cd0: 700a strb r2, [r1, #0]
8000cd2: f890 3228 ldrb.w r3, [r0, #552] ; 0x228
8000cd6: 2b01 cmp r3, #1
8000cd8: d015 beq.n 8000d06 <HAL_PCD_EP_Close+0x52>
8000cda: 2301 movs r3, #1
8000cdc: 4604 mov r4, r0
8000cde: f880 3228 strb.w r3, [r0, #552] ; 0x228
8000ce2: 6800 ldr r0, [r0, #0]
8000ce4: f000 ffa4 bl 8001c30 <USB_DeactivateEndpoint>
8000ce8: 2000 movs r0, #0
8000cea: f884 0228 strb.w r0, [r4, #552] ; 0x228
8000cee: bd10 pop {r4, pc}
8000cf0: 2401 movs r4, #1
8000cf2: 18c1 adds r1, r0, r3
8000cf4: 3328 adds r3, #40 ; 0x28
8000cf6: f881 4029 strb.w r4, [r1, #41] ; 0x29
8000cfa: 18c1 adds r1, r0, r3
8000cfc: 700a strb r2, [r1, #0]
8000cfe: f890 3228 ldrb.w r3, [r0, #552] ; 0x228
8000d02: 2b01 cmp r3, #1
8000d04: d1e9 bne.n 8000cda <HAL_PCD_EP_Close+0x26>
8000d06: 2002 movs r0, #2
8000d08: bd10 pop {r4, pc}
8000d0a: bf00 nop
08000d0c <HAL_PCD_EP_Receive>:
8000d0c: b570 push {r4, r5, r6, lr}
8000d0e: 2600 movs r6, #0
8000d10: f001 0107 and.w r1, r1, #7
8000d14: 014d lsls r5, r1, #5
8000d16: 1944 adds r4, r0, r5
8000d18: f505 7594 add.w r5, r5, #296 ; 0x128
8000d1c: f884 1128 strb.w r1, [r4, #296] ; 0x128
8000d20: f8c4 213c str.w r2, [r4, #316] ; 0x13c
8000d24: 1941 adds r1, r0, r5
8000d26: f8c4 3140 str.w r3, [r4, #320] ; 0x140
8000d2a: 6800 ldr r0, [r0, #0]
8000d2c: f8c4 6144 str.w r6, [r4, #324] ; 0x144
8000d30: f884 6129 strb.w r6, [r4, #297] ; 0x129
8000d34: f001 f852 bl 8001ddc <USB_EPStartXfer>
8000d38: 4630 mov r0, r6
8000d3a: bd70 pop {r4, r5, r6, pc}
08000d3c <HAL_PCD_EP_GetRxCount>:
8000d3c: f001 0107 and.w r1, r1, #7
8000d40: eb00 1141 add.w r1, r0, r1, lsl #5
8000d44: f8d1 0144 ldr.w r0, [r1, #324] ; 0x144
8000d48: 4770 bx lr
8000d4a: bf00 nop
08000d4c <HAL_PCD_EP_Transmit>:
8000d4c: b5f8 push {r3, r4, r5, r6, r7, lr}
8000d4e: 2600 movs r6, #0
8000d50: 2701 movs r7, #1
8000d52: f001 0107 and.w r1, r1, #7
8000d56: 014d lsls r5, r1, #5
8000d58: 1944 adds r4, r0, r5
8000d5a: 3528 adds r5, #40 ; 0x28
8000d5c: f884 1028 strb.w r1, [r4, #40] ; 0x28
8000d60: e9c4 230f strd r2, r3, [r4, #60] ; 0x3c
8000d64: 1941 adds r1, r0, r5
8000d66: 6800 ldr r0, [r0, #0]
8000d68: f884 7029 strb.w r7, [r4, #41] ; 0x29
8000d6c: 6466 str r6, [r4, #68] ; 0x44
8000d6e: f001 f835 bl 8001ddc <USB_EPStartXfer>
8000d72: 4630 mov r0, r6
8000d74: bdf8 pop {r3, r4, r5, r6, r7, pc}
8000d76: bf00 nop
08000d78 <HAL_PCD_EP_SetStall>:
8000d78: b538 push {r3, r4, r5, lr}
8000d7a: 6843 ldr r3, [r0, #4]
8000d7c: f001 0507 and.w r5, r1, #7
8000d80: 429d cmp r5, r3
8000d82: d81b bhi.n 8000dbc <HAL_PCD_EP_SetStall+0x44>
8000d84: 060b lsls r3, r1, #24
8000d86: d41b bmi.n 8000dc0 <HAL_PCD_EP_SetStall+0x48>
8000d88: 2400 movs r4, #0
8000d8a: 0149 lsls r1, r1, #5
8000d8c: 1843 adds r3, r0, r1
8000d8e: f883 4129 strb.w r4, [r3, #297] ; 0x129
8000d92: 2301 movs r3, #1
8000d94: f501 7294 add.w r2, r1, #296 ; 0x128
8000d98: 1881 adds r1, r0, r2
8000d9a: 700d strb r5, [r1, #0]
8000d9c: 708b strb r3, [r1, #2]
8000d9e: f890 2228 ldrb.w r2, [r0, #552] ; 0x228
8000da2: 429a cmp r2, r3
8000da4: d01b beq.n 8000dde <HAL_PCD_EP_SetStall+0x66>
8000da6: 4604 mov r4, r0
8000da8: f880 3228 strb.w r3, [r0, #552] ; 0x228
8000dac: 6800 ldr r0, [r0, #0]
8000dae: f001 f93d bl 800202c <USB_EPSetStall>
8000db2: b1b5 cbz r5, 8000de2 <HAL_PCD_EP_SetStall+0x6a>
8000db4: 2000 movs r0, #0
8000db6: f884 0228 strb.w r0, [r4, #552] ; 0x228
8000dba: bd38 pop {r3, r4, r5, pc}
8000dbc: 2001 movs r0, #1
8000dbe: bd38 pop {r3, r4, r5, pc}
8000dc0: 2201 movs r2, #1
8000dc2: 016b lsls r3, r5, #5
8000dc4: f103 0128 add.w r1, r3, #40 ; 0x28
8000dc8: 4403 add r3, r0
8000dca: f883 2029 strb.w r2, [r3, #41] ; 0x29
8000dce: 2301 movs r3, #1
8000dd0: 4401 add r1, r0
8000dd2: 700d strb r5, [r1, #0]
8000dd4: 708b strb r3, [r1, #2]
8000dd6: f890 2228 ldrb.w r2, [r0, #552] ; 0x228
8000dda: 429a cmp r2, r3
8000ddc: d1e3 bne.n 8000da6 <HAL_PCD_EP_SetStall+0x2e>
8000dde: 2002 movs r0, #2
8000de0: bd38 pop {r3, r4, r5, pc}
8000de2: f504 710c add.w r1, r4, #560 ; 0x230
8000de6: 6820 ldr r0, [r4, #0]
8000de8: f001 f9a4 bl 8002134 <USB_EP0_OutStart>
8000dec: e7e2 b.n 8000db4 <HAL_PCD_EP_SetStall+0x3c>
8000dee: bf00 nop
08000df0 <HAL_PCD_EP_ClrStall>:
8000df0: b538 push {r3, r4, r5, lr}
8000df2: 6843 ldr r3, [r0, #4]
8000df4: f001 020f and.w r2, r1, #15
8000df8: 429a cmp r2, r3
8000dfa: d81e bhi.n 8000e3a <HAL_PCD_EP_ClrStall+0x4a>
8000dfc: f001 0207 and.w r2, r1, #7
8000e00: 0609 lsls r1, r1, #24
8000e02: ea4f 1342 mov.w r3, r2, lsl #5
8000e06: d41a bmi.n 8000e3e <HAL_PCD_EP_ClrStall+0x4e>
8000e08: 2500 movs r5, #0
8000e0a: 18c4 adds r4, r0, r3
8000e0c: f884 5129 strb.w r5, [r4, #297] ; 0x129
8000e10: 2500 movs r5, #0
8000e12: f503 7194 add.w r1, r3, #296 ; 0x128
8000e16: 4401 add r1, r0
8000e18: 700a strb r2, [r1, #0]
8000e1a: 708d strb r5, [r1, #2]
8000e1c: f890 3228 ldrb.w r3, [r0, #552] ; 0x228
8000e20: 2b01 cmp r3, #1
8000e22: d01a beq.n 8000e5a <HAL_PCD_EP_ClrStall+0x6a>
8000e24: 2301 movs r3, #1
8000e26: 4604 mov r4, r0
8000e28: f880 3228 strb.w r3, [r0, #552] ; 0x228
8000e2c: 6800 ldr r0, [r0, #0]
8000e2e: f001 f91f bl 8002070 <USB_EPClearStall>
8000e32: f884 5228 strb.w r5, [r4, #552] ; 0x228
8000e36: 4628 mov r0, r5
8000e38: bd38 pop {r3, r4, r5, pc}
8000e3a: 2001 movs r0, #1
8000e3c: bd38 pop {r3, r4, r5, pc}
8000e3e: 2501 movs r5, #1
8000e40: 18c4 adds r4, r0, r3
8000e42: f884 5029 strb.w r5, [r4, #41] ; 0x29
8000e46: 2500 movs r5, #0
8000e48: f103 0128 add.w r1, r3, #40 ; 0x28
8000e4c: 4401 add r1, r0
8000e4e: 700a strb r2, [r1, #0]
8000e50: 708d strb r5, [r1, #2]
8000e52: f890 3228 ldrb.w r3, [r0, #552] ; 0x228
8000e56: 2b01 cmp r3, #1
8000e58: d1e4 bne.n 8000e24 <HAL_PCD_EP_ClrStall+0x34>
8000e5a: 2002 movs r0, #2
8000e5c: bd38 pop {r3, r4, r5, pc}
8000e5e: bf00 nop
08000e60 <HAL_PCDEx_PMAConfig>:
8000e60: f011 0f80 tst.w r1, #128 ; 0x80
8000e64: d00d beq.n 8000e82 <HAL_PCDEx_PMAConfig+0x22>
8000e66: f001 0107 and.w r1, r1, #7
8000e6a: eb00 1041 add.w r0, r0, r1, lsl #5
8000e6e: 3028 adds r0, #40 ; 0x28
8000e70: b299 uxth r1, r3
8000e72: b16a cbz r2, 8000e90 <HAL_PCDEx_PMAConfig+0x30>
8000e74: 2201 movs r2, #1
8000e76: 0c1b lsrs r3, r3, #16
8000e78: 8143 strh r3, [r0, #10]
8000e7a: 8101 strh r1, [r0, #8]
8000e7c: 7302 strb r2, [r0, #12]
8000e7e: 2000 movs r0, #0
8000e80: 4770 bx lr
8000e82: eb00 1041 add.w r0, r0, r1, lsl #5
8000e86: f500 7094 add.w r0, r0, #296 ; 0x128
8000e8a: b299 uxth r1, r3
8000e8c: 2a00 cmp r2, #0
8000e8e: d1f1 bne.n 8000e74 <HAL_PCDEx_PMAConfig+0x14>
8000e90: 80c1 strh r1, [r0, #6]
8000e92: 7302 strb r2, [r0, #12]
8000e94: 2000 movs r0, #0
8000e96: 4770 bx lr
08000e98 <HAL_PWR_EnableBkUpAccess>:
8000e98: 2201 movs r2, #1
8000e9a: 4b01 ldr r3, [pc, #4] ; (8000ea0 <HAL_PWR_EnableBkUpAccess+0x8>)
8000e9c: 601a str r2, [r3, #0]
8000e9e: 4770 bx lr
8000ea0: 420e0020 .word 0x420e0020
08000ea4 <HAL_RCC_OscConfig>:
8000ea4: 2800 cmp r0, #0
8000ea6: f000 8155 beq.w 8001154 <HAL_RCC_OscConfig+0x2b0>
8000eaa: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
8000eae: 6803 ldr r3, [r0, #0]
8000eb0: b082 sub sp, #8
8000eb2: 07dd lsls r5, r3, #31
8000eb4: 4604 mov r4, r0
8000eb6: d535 bpl.n 8000f24 <HAL_RCC_OscConfig+0x80>
8000eb8: 49a8 ldr r1, [pc, #672] ; (800115c <HAL_RCC_OscConfig+0x2b8>)
8000eba: 684a ldr r2, [r1, #4]
8000ebc: f002 020c and.w r2, r2, #12
8000ec0: 2a04 cmp r2, #4
8000ec2: f000 8105 beq.w 80010d0 <HAL_RCC_OscConfig+0x22c>
8000ec6: 684a ldr r2, [r1, #4]
8000ec8: f002 020c and.w r2, r2, #12
8000ecc: 2a08 cmp r2, #8
8000ece: f000 80fb beq.w 80010c8 <HAL_RCC_OscConfig+0x224>
8000ed2: 6863 ldr r3, [r4, #4]
8000ed4: f5b3 3f80 cmp.w r3, #65536 ; 0x10000
8000ed8: d010 beq.n 8000efc <HAL_RCC_OscConfig+0x58>
8000eda: 2b00 cmp r3, #0
8000edc: f000 8120 beq.w 8001120 <HAL_RCC_OscConfig+0x27c>
8000ee0: f5b3 2fa0 cmp.w r3, #327680 ; 0x50000
8000ee4: f000 8178 beq.w 80011d8 <HAL_RCC_OscConfig+0x334>
8000ee8: 4b9c ldr r3, [pc, #624] ; (800115c <HAL_RCC_OscConfig+0x2b8>)
8000eea: 681a ldr r2, [r3, #0]
8000eec: f422 3280 bic.w r2, r2, #65536 ; 0x10000
8000ef0: 601a str r2, [r3, #0]
8000ef2: 681a ldr r2, [r3, #0]
8000ef4: f422 2280 bic.w r2, r2, #262144 ; 0x40000
8000ef8: 601a str r2, [r3, #0]
8000efa: e004 b.n 8000f06 <HAL_RCC_OscConfig+0x62>
8000efc: 4a97 ldr r2, [pc, #604] ; (800115c <HAL_RCC_OscConfig+0x2b8>)
8000efe: 6813 ldr r3, [r2, #0]
8000f00: f443 3380 orr.w r3, r3, #65536 ; 0x10000
8000f04: 6013 str r3, [r2, #0]
8000f06: f7ff f965 bl 80001d4 <HAL_GetTick>
8000f0a: 4d94 ldr r5, [pc, #592] ; (800115c <HAL_RCC_OscConfig+0x2b8>)
8000f0c: 4606 mov r6, r0
8000f0e: e005 b.n 8000f1c <HAL_RCC_OscConfig+0x78>
8000f10: f7ff f960 bl 80001d4 <HAL_GetTick>
8000f14: 1b80 subs r0, r0, r6
8000f16: 2864 cmp r0, #100 ; 0x64
8000f18: f200 80f5 bhi.w 8001106 <HAL_RCC_OscConfig+0x262>
8000f1c: 682b ldr r3, [r5, #0]
8000f1e: 039a lsls r2, r3, #14
8000f20: d5f6 bpl.n 8000f10 <HAL_RCC_OscConfig+0x6c>
8000f22: 6823 ldr r3, [r4, #0]
8000f24: 079f lsls r7, r3, #30
8000f26: d44d bmi.n 8000fc4 <HAL_RCC_OscConfig+0x120>
8000f28: 071a lsls r2, r3, #28
8000f2a: d522 bpl.n 8000f72 <HAL_RCC_OscConfig+0xce>
8000f2c: 69a3 ldr r3, [r4, #24]
8000f2e: 2b00 cmp r3, #0
8000f30: f000 80ba beq.w 80010a8 <HAL_RCC_OscConfig+0x204>
8000f34: 2201 movs r2, #1
8000f36: 4b8a ldr r3, [pc, #552] ; (8001160 <HAL_RCC_OscConfig+0x2bc>)
8000f38: 4d88 ldr r5, [pc, #544] ; (800115c <HAL_RCC_OscConfig+0x2b8>)
8000f3a: 601a str r2, [r3, #0]
8000f3c: f7ff f94a bl 80001d4 <HAL_GetTick>
8000f40: 4606 mov r6, r0
8000f42: e005 b.n 8000f50 <HAL_RCC_OscConfig+0xac>
8000f44: f7ff f946 bl 80001d4 <HAL_GetTick>
8000f48: 1b80 subs r0, r0, r6
8000f4a: 2802 cmp r0, #2
8000f4c: f200 80db bhi.w 8001106 <HAL_RCC_OscConfig+0x262>
8000f50: 6a6b ldr r3, [r5, #36] ; 0x24
8000f52: 079b lsls r3, r3, #30
8000f54: d5f6 bpl.n 8000f44 <HAL_RCC_OscConfig+0xa0>
8000f56: 4b83 ldr r3, [pc, #524] ; (8001164 <HAL_RCC_OscConfig+0x2c0>)
8000f58: 4a83 ldr r2, [pc, #524] ; (8001168 <HAL_RCC_OscConfig+0x2c4>)
8000f5a: 681b ldr r3, [r3, #0]
8000f5c: fba2 2303 umull r2, r3, r2, r3
8000f60: 0a5b lsrs r3, r3, #9
8000f62: 9301 str r3, [sp, #4]
8000f64: bf00 nop
8000f66: 9b01 ldr r3, [sp, #4]
8000f68: 1e5a subs r2, r3, #1
8000f6a: 9201 str r2, [sp, #4]
8000f6c: 2b00 cmp r3, #0
8000f6e: d1f9 bne.n 8000f64 <HAL_RCC_OscConfig+0xc0>
8000f70: 6823 ldr r3, [r4, #0]
8000f72: 075d lsls r5, r3, #29
8000f74: d569 bpl.n 800104a <HAL_RCC_OscConfig+0x1a6>
8000f76: 4b79 ldr r3, [pc, #484] ; (800115c <HAL_RCC_OscConfig+0x2b8>)
8000f78: 69da ldr r2, [r3, #28]
8000f7a: 00d0 lsls r0, r2, #3
8000f7c: f100 80ec bmi.w 8001158 <HAL_RCC_OscConfig+0x2b4>
8000f80: 2501 movs r5, #1
8000f82: 69da ldr r2, [r3, #28]
8000f84: f042 5280 orr.w r2, r2, #268435456 ; 0x10000000
8000f88: 61da str r2, [r3, #28]
8000f8a: 69db ldr r3, [r3, #28]
8000f8c: f003 5380 and.w r3, r3, #268435456 ; 0x10000000
8000f90: 9300 str r3, [sp, #0]
8000f92: 9b00 ldr r3, [sp, #0]
8000f94: 4b75 ldr r3, [pc, #468] ; (800116c <HAL_RCC_OscConfig+0x2c8>)
8000f96: 681a ldr r2, [r3, #0]
8000f98: 05d1 lsls r1, r2, #23
8000f9a: f140 80a3 bpl.w 80010e4 <HAL_RCC_OscConfig+0x240>
8000f9e: 68e3 ldr r3, [r4, #12]
8000fa0: 2b01 cmp r3, #1
8000fa2: d037 beq.n 8001014 <HAL_RCC_OscConfig+0x170>
8000fa4: 2b00 cmp r3, #0
8000fa6: f000 80e7 beq.w 8001178 <HAL_RCC_OscConfig+0x2d4>
8000faa: 2b05 cmp r3, #5
8000fac: 4b6b ldr r3, [pc, #428] ; (800115c <HAL_RCC_OscConfig+0x2b8>)
8000fae: 6a1a ldr r2, [r3, #32]
8000fb0: f000 811f beq.w 80011f2 <HAL_RCC_OscConfig+0x34e>
8000fb4: f022 0201 bic.w r2, r2, #1
8000fb8: 621a str r2, [r3, #32]
8000fba: 6a1a ldr r2, [r3, #32]
8000fbc: f022 0204 bic.w r2, r2, #4
8000fc0: 621a str r2, [r3, #32]
8000fc2: e02c b.n 800101e <HAL_RCC_OscConfig+0x17a>
8000fc4: 4a65 ldr r2, [pc, #404] ; (800115c <HAL_RCC_OscConfig+0x2b8>)
8000fc6: 6851 ldr r1, [r2, #4]
8000fc8: f011 0f0c tst.w r1, #12
8000fcc: d061 beq.n 8001092 <HAL_RCC_OscConfig+0x1ee>
8000fce: 6851 ldr r1, [r2, #4]
8000fd0: f001 010c and.w r1, r1, #12
8000fd4: 2908 cmp r1, #8
8000fd6: d059 beq.n 800108c <HAL_RCC_OscConfig+0x1e8>
8000fd8: 6923 ldr r3, [r4, #16]
8000fda: 2b00 cmp r3, #0
8000fdc: f000 80eb beq.w 80011b6 <HAL_RCC_OscConfig+0x312>
8000fe0: 2201 movs r2, #1
8000fe2: 4b63 ldr r3, [pc, #396] ; (8001170 <HAL_RCC_OscConfig+0x2cc>)
8000fe4: 4d5d ldr r5, [pc, #372] ; (800115c <HAL_RCC_OscConfig+0x2b8>)
8000fe6: 601a str r2, [r3, #0]
8000fe8: f7ff f8f4 bl 80001d4 <HAL_GetTick>
8000fec: 4606 mov r6, r0
8000fee: e005 b.n 8000ffc <HAL_RCC_OscConfig+0x158>
8000ff0: f7ff f8f0 bl 80001d4 <HAL_GetTick>
8000ff4: 1b80 subs r0, r0, r6
8000ff6: 2802 cmp r0, #2
8000ff8: f200 8085 bhi.w 8001106 <HAL_RCC_OscConfig+0x262>
8000ffc: 682b ldr r3, [r5, #0]
8000ffe: 0798 lsls r0, r3, #30
8001000: d5f6 bpl.n 8000ff0 <HAL_RCC_OscConfig+0x14c>
8001002: 682b ldr r3, [r5, #0]
8001004: 6962 ldr r2, [r4, #20]
8001006: f023 03f8 bic.w r3, r3, #248 ; 0xf8
800100a: ea43 03c2 orr.w r3, r3, r2, lsl #3
800100e: 602b str r3, [r5, #0]
8001010: 6823 ldr r3, [r4, #0]
8001012: e789 b.n 8000f28 <HAL_RCC_OscConfig+0x84>
8001014: 4a51 ldr r2, [pc, #324] ; (800115c <HAL_RCC_OscConfig+0x2b8>)
8001016: 6a13 ldr r3, [r2, #32]
8001018: f043 0301 orr.w r3, r3, #1
800101c: 6213 str r3, [r2, #32]
800101e: f7ff f8d9 bl 80001d4 <HAL_GetTick>
8001022: 4e4e ldr r6, [pc, #312] ; (800115c <HAL_RCC_OscConfig+0x2b8>)
8001024: 4680 mov r8, r0
8001026: f241 3788 movw r7, #5000 ; 0x1388
800102a: e005 b.n 8001038 <HAL_RCC_OscConfig+0x194>
800102c: f7ff f8d2 bl 80001d4 <HAL_GetTick>
8001030: eba0 0008 sub.w r0, r0, r8
8001034: 42b8 cmp r0, r7
8001036: d866 bhi.n 8001106 <HAL_RCC_OscConfig+0x262>
8001038: 6a33 ldr r3, [r6, #32]
800103a: 079b lsls r3, r3, #30
800103c: d5f6 bpl.n 800102c <HAL_RCC_OscConfig+0x188>
800103e: b125 cbz r5, 800104a <HAL_RCC_OscConfig+0x1a6>
8001040: 4a46 ldr r2, [pc, #280] ; (800115c <HAL_RCC_OscConfig+0x2b8>)
8001042: 69d3 ldr r3, [r2, #28]
8001044: f023 5380 bic.w r3, r3, #268435456 ; 0x10000000
8001048: 61d3 str r3, [r2, #28]
800104a: 69e0 ldr r0, [r4, #28]
800104c: b1d0 cbz r0, 8001084 <HAL_RCC_OscConfig+0x1e0>
800104e: 4d43 ldr r5, [pc, #268] ; (800115c <HAL_RCC_OscConfig+0x2b8>)
8001050: 686a ldr r2, [r5, #4]
8001052: f002 020c and.w r2, r2, #12
8001056: 2a08 cmp r2, #8
8001058: f000 80d3 beq.w 8001202 <HAL_RCC_OscConfig+0x35e>
800105c: 2802 cmp r0, #2
800105e: f04f 0100 mov.w r1, #0
8001062: 4a44 ldr r2, [pc, #272] ; (8001174 <HAL_RCC_OscConfig+0x2d0>)
8001064: f000 80de beq.w 8001224 <HAL_RCC_OscConfig+0x380>
8001068: 6011 str r1, [r2, #0]
800106a: f7ff f8b3 bl 80001d4 <HAL_GetTick>
800106e: 462c mov r4, r5
8001070: 4605 mov r5, r0
8001072: e004 b.n 800107e <HAL_RCC_OscConfig+0x1da>
8001074: f7ff f8ae bl 80001d4 <HAL_GetTick>
8001078: 1b40 subs r0, r0, r5
800107a: 2802 cmp r0, #2
800107c: d843 bhi.n 8001106 <HAL_RCC_OscConfig+0x262>
800107e: 6823 ldr r3, [r4, #0]
8001080: 019b lsls r3, r3, #6
8001082: d4f7 bmi.n 8001074 <HAL_RCC_OscConfig+0x1d0>
8001084: 2000 movs r0, #0
8001086: b002 add sp, #8
8001088: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
800108c: 6852 ldr r2, [r2, #4]
800108e: 03d6 lsls r6, r2, #15
8001090: d4a2 bmi.n 8000fd8 <HAL_RCC_OscConfig+0x134>
8001092: 4a32 ldr r2, [pc, #200] ; (800115c <HAL_RCC_OscConfig+0x2b8>)
8001094: 6812 ldr r2, [r2, #0]
8001096: 0795 lsls r5, r2, #30
8001098: d539 bpl.n 800110e <HAL_RCC_OscConfig+0x26a>
800109a: 6922 ldr r2, [r4, #16]
800109c: 2a01 cmp r2, #1
800109e: d036 beq.n 800110e <HAL_RCC_OscConfig+0x26a>
80010a0: 2001 movs r0, #1
80010a2: b002 add sp, #8
80010a4: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
80010a8: 4a2d ldr r2, [pc, #180] ; (8001160 <HAL_RCC_OscConfig+0x2bc>)
80010aa: 4d2c ldr r5, [pc, #176] ; (800115c <HAL_RCC_OscConfig+0x2b8>)
80010ac: 6013 str r3, [r2, #0]
80010ae: f7ff f891 bl 80001d4 <HAL_GetTick>
80010b2: 4606 mov r6, r0
80010b4: e004 b.n 80010c0 <HAL_RCC_OscConfig+0x21c>
80010b6: f7ff f88d bl 80001d4 <HAL_GetTick>
80010ba: 1b80 subs r0, r0, r6
80010bc: 2802 cmp r0, #2
80010be: d822 bhi.n 8001106 <HAL_RCC_OscConfig+0x262>
80010c0: 6a6b ldr r3, [r5, #36] ; 0x24
80010c2: 079f lsls r7, r3, #30
80010c4: d4f7 bmi.n 80010b6 <HAL_RCC_OscConfig+0x212>
80010c6: e753 b.n 8000f70 <HAL_RCC_OscConfig+0xcc>
80010c8: 684a ldr r2, [r1, #4]
80010ca: 03d0 lsls r0, r2, #15
80010cc: f57f af01 bpl.w 8000ed2 <HAL_RCC_OscConfig+0x2e>
80010d0: 4a22 ldr r2, [pc, #136] ; (800115c <HAL_RCC_OscConfig+0x2b8>)
80010d2: 6812 ldr r2, [r2, #0]
80010d4: 0391 lsls r1, r2, #14
80010d6: f57f af25 bpl.w 8000f24 <HAL_RCC_OscConfig+0x80>
80010da: 6862 ldr r2, [r4, #4]
80010dc: 2a00 cmp r2, #0
80010de: f47f af21 bne.w 8000f24 <HAL_RCC_OscConfig+0x80>
80010e2: e7dd b.n 80010a0 <HAL_RCC_OscConfig+0x1fc>
80010e4: 681a ldr r2, [r3, #0]
80010e6: 461e mov r6, r3
80010e8: f442 7280 orr.w r2, r2, #256 ; 0x100
80010ec: 601a str r2, [r3, #0]
80010ee: f7ff f871 bl 80001d4 <HAL_GetTick>
80010f2: 4607 mov r7, r0
80010f4: 6833 ldr r3, [r6, #0]
80010f6: 05da lsls r2, r3, #23
80010f8: f53f af51 bmi.w 8000f9e <HAL_RCC_OscConfig+0xfa>
80010fc: f7ff f86a bl 80001d4 <HAL_GetTick>
8001100: 1bc0 subs r0, r0, r7
8001102: 2864 cmp r0, #100 ; 0x64
8001104: d9f6 bls.n 80010f4 <HAL_RCC_OscConfig+0x250>
8001106: 2003 movs r0, #3
8001108: b002 add sp, #8
800110a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
800110e: 4913 ldr r1, [pc, #76] ; (800115c <HAL_RCC_OscConfig+0x2b8>)
8001110: 6960 ldr r0, [r4, #20]
8001112: 680a ldr r2, [r1, #0]
8001114: f022 02f8 bic.w r2, r2, #248 ; 0xf8
8001118: ea42 02c0 orr.w r2, r2, r0, lsl #3
800111c: 600a str r2, [r1, #0]
800111e: e703 b.n 8000f28 <HAL_RCC_OscConfig+0x84>
8001120: f103 4380 add.w r3, r3, #1073741824 ; 0x40000000
8001124: f503 3304 add.w r3, r3, #135168 ; 0x21000
8001128: 681a ldr r2, [r3, #0]
800112a: 461d mov r5, r3
800112c: f422 3280 bic.w r2, r2, #65536 ; 0x10000
8001130: 601a str r2, [r3, #0]
8001132: 681a ldr r2, [r3, #0]
8001134: f422 2280 bic.w r2, r2, #262144 ; 0x40000
8001138: 601a str r2, [r3, #0]
800113a: f7ff f84b bl 80001d4 <HAL_GetTick>
800113e: 4606 mov r6, r0
8001140: e004 b.n 800114c <HAL_RCC_OscConfig+0x2a8>
8001142: f7ff f847 bl 80001d4 <HAL_GetTick>
8001146: 1b80 subs r0, r0, r6
8001148: 2864 cmp r0, #100 ; 0x64
800114a: d8dc bhi.n 8001106 <HAL_RCC_OscConfig+0x262>
800114c: 682b ldr r3, [r5, #0]
800114e: 039b lsls r3, r3, #14
8001150: d4f7 bmi.n 8001142 <HAL_RCC_OscConfig+0x29e>
8001152: e6e6 b.n 8000f22 <HAL_RCC_OscConfig+0x7e>
8001154: 2001 movs r0, #1
8001156: 4770 bx lr
8001158: 2500 movs r5, #0
800115a: e71b b.n 8000f94 <HAL_RCC_OscConfig+0xf0>
800115c: 40021000 .word 0x40021000
8001160: 42420480 .word 0x42420480
8001164: 2000011c .word 0x2000011c
8001168: 10624dd3 .word 0x10624dd3
800116c: 40007000 .word 0x40007000
8001170: 42420000 .word 0x42420000
8001174: 42420060 .word 0x42420060
8001178: f103 4380 add.w r3, r3, #1073741824 ; 0x40000000
800117c: f503 3304 add.w r3, r3, #135168 ; 0x21000
8001180: 6a1a ldr r2, [r3, #32]
8001182: 461e mov r6, r3
8001184: f022 0201 bic.w r2, r2, #1
8001188: 621a str r2, [r3, #32]
800118a: 6a1a ldr r2, [r3, #32]
800118c: f241 3888 movw r8, #5000 ; 0x1388
8001190: f022 0204 bic.w r2, r2, #4
8001194: 621a str r2, [r3, #32]
8001196: f7ff f81d bl 80001d4 <HAL_GetTick>
800119a: 4607 mov r7, r0
800119c: e004 b.n 80011a8 <HAL_RCC_OscConfig+0x304>
800119e: f7ff f819 bl 80001d4 <HAL_GetTick>
80011a2: 1bc0 subs r0, r0, r7
80011a4: 4540 cmp r0, r8
80011a6: d8ae bhi.n 8001106 <HAL_RCC_OscConfig+0x262>
80011a8: 6a33 ldr r3, [r6, #32]
80011aa: 0798 lsls r0, r3, #30
80011ac: d4f7 bmi.n 800119e <HAL_RCC_OscConfig+0x2fa>
80011ae: 2d00 cmp r5, #0
80011b0: f43f af4b beq.w 800104a <HAL_RCC_OscConfig+0x1a6>
80011b4: e744 b.n 8001040 <HAL_RCC_OscConfig+0x19c>
80011b6: 4a34 ldr r2, [pc, #208] ; (8001288 <HAL_RCC_OscConfig+0x3e4>)
80011b8: 4d34 ldr r5, [pc, #208] ; (800128c <HAL_RCC_OscConfig+0x3e8>)
80011ba: 6013 str r3, [r2, #0]
80011bc: f7ff f80a bl 80001d4 <HAL_GetTick>
80011c0: 4606 mov r6, r0
80011c2: e004 b.n 80011ce <HAL_RCC_OscConfig+0x32a>
80011c4: f7ff f806 bl 80001d4 <HAL_GetTick>
80011c8: 1b80 subs r0, r0, r6
80011ca: 2802 cmp r0, #2
80011cc: d89b bhi.n 8001106 <HAL_RCC_OscConfig+0x262>
80011ce: 682b ldr r3, [r5, #0]
80011d0: 0799 lsls r1, r3, #30
80011d2: d4f7 bmi.n 80011c4 <HAL_RCC_OscConfig+0x320>
80011d4: 6823 ldr r3, [r4, #0]
80011d6: e6a7 b.n 8000f28 <HAL_RCC_OscConfig+0x84>
80011d8: f103 4380 add.w r3, r3, #1073741824 ; 0x40000000
80011dc: f5a3 333c sub.w r3, r3, #192512 ; 0x2f000
80011e0: 681a ldr r2, [r3, #0]
80011e2: f442 2280 orr.w r2, r2, #262144 ; 0x40000
80011e6: 601a str r2, [r3, #0]
80011e8: 681a ldr r2, [r3, #0]
80011ea: f442 3280 orr.w r2, r2, #65536 ; 0x10000
80011ee: 601a str r2, [r3, #0]
80011f0: e689 b.n 8000f06 <HAL_RCC_OscConfig+0x62>
80011f2: f042 0204 orr.w r2, r2, #4
80011f6: 621a str r2, [r3, #32]
80011f8: 6a1a ldr r2, [r3, #32]
80011fa: f042 0201 orr.w r2, r2, #1
80011fe: 621a str r2, [r3, #32]
8001200: e70d b.n 800101e <HAL_RCC_OscConfig+0x17a>
8001202: 2801 cmp r0, #1
8001204: f43f af4d beq.w 80010a2 <HAL_RCC_OscConfig+0x1fe>
8001208: 686b ldr r3, [r5, #4]
800120a: 6a22 ldr r2, [r4, #32]
800120c: f403 3180 and.w r1, r3, #65536 ; 0x10000
8001210: 4291 cmp r1, r2
8001212: f47f af45 bne.w 80010a0 <HAL_RCC_OscConfig+0x1fc>
8001216: 6a60 ldr r0, [r4, #36] ; 0x24
8001218: f403 1370 and.w r3, r3, #3932160 ; 0x3c0000
800121c: 1a18 subs r0, r3, r0
800121e: bf18 it ne
8001220: 2001 movne r0, #1
8001222: e73e b.n 80010a2 <HAL_RCC_OscConfig+0x1fe>
8001224: 6011 str r1, [r2, #0]
8001226: f7fe ffd5 bl 80001d4 <HAL_GetTick>
800122a: 4606 mov r6, r0
800122c: e005 b.n 800123a <HAL_RCC_OscConfig+0x396>
800122e: f7fe ffd1 bl 80001d4 <HAL_GetTick>
8001232: 1b80 subs r0, r0, r6
8001234: 2802 cmp r0, #2
8001236: f63f af66 bhi.w 8001106 <HAL_RCC_OscConfig+0x262>
800123a: 682b ldr r3, [r5, #0]
800123c: 0199 lsls r1, r3, #6
800123e: d4f6 bmi.n 800122e <HAL_RCC_OscConfig+0x38a>
8001240: 6a22 ldr r2, [r4, #32]
8001242: f5b2 3f80 cmp.w r2, #65536 ; 0x10000
8001246: d105 bne.n 8001254 <HAL_RCC_OscConfig+0x3b0>
8001248: 686b ldr r3, [r5, #4]
800124a: 68a1 ldr r1, [r4, #8]
800124c: f423 3300 bic.w r3, r3, #131072 ; 0x20000
8001250: 430b orrs r3, r1
8001252: 606b str r3, [r5, #4]
8001254: 2501 movs r5, #1
8001256: 4b0d ldr r3, [pc, #52] ; (800128c <HAL_RCC_OscConfig+0x3e8>)
8001258: 6a60 ldr r0, [r4, #36] ; 0x24
800125a: 6859 ldr r1, [r3, #4]
800125c: 4302 orrs r2, r0
800125e: f421 1174 bic.w r1, r1, #3997696 ; 0x3d0000
8001262: 480b ldr r0, [pc, #44] ; (8001290 <HAL_RCC_OscConfig+0x3ec>)
8001264: 430a orrs r2, r1
8001266: 605a str r2, [r3, #4]
8001268: 6005 str r5, [r0, #0]
800126a: 461c mov r4, r3
800126c: f7fe ffb2 bl 80001d4 <HAL_GetTick>
8001270: 4605 mov r5, r0
8001272: e005 b.n 8001280 <HAL_RCC_OscConfig+0x3dc>
8001274: f7fe ffae bl 80001d4 <HAL_GetTick>
8001278: 1b40 subs r0, r0, r5
800127a: 2802 cmp r0, #2
800127c: f63f af43 bhi.w 8001106 <HAL_RCC_OscConfig+0x262>
8001280: 6823 ldr r3, [r4, #0]
8001282: 019a lsls r2, r3, #6
8001284: d5f6 bpl.n 8001274 <HAL_RCC_OscConfig+0x3d0>
8001286: e6fd b.n 8001084 <HAL_RCC_OscConfig+0x1e0>
8001288: 42420000 .word 0x42420000
800128c: 40021000 .word 0x40021000
8001290: 42420060 .word 0x42420060
08001294 <HAL_RCC_ClockConfig>:
8001294: b178 cbz r0, 80012b6 <HAL_RCC_ClockConfig+0x22>
8001296: 4a5d ldr r2, [pc, #372] ; (800140c <HAL_RCC_ClockConfig+0x178>)
8001298: 6813 ldr r3, [r2, #0]
800129a: f003 0307 and.w r3, r3, #7
800129e: 428b cmp r3, r1
80012a0: d20b bcs.n 80012ba <HAL_RCC_ClockConfig+0x26>
80012a2: 6813 ldr r3, [r2, #0]
80012a4: f023 0307 bic.w r3, r3, #7
80012a8: 430b orrs r3, r1
80012aa: 6013 str r3, [r2, #0]
80012ac: 6813 ldr r3, [r2, #0]
80012ae: f003 0307 and.w r3, r3, #7
80012b2: 428b cmp r3, r1
80012b4: d001 beq.n 80012ba <HAL_RCC_ClockConfig+0x26>
80012b6: 2001 movs r0, #1
80012b8: 4770 bx lr
80012ba: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
80012be: 6803 ldr r3, [r0, #0]
80012c0: b086 sub sp, #24
80012c2: 079d lsls r5, r3, #30
80012c4: d514 bpl.n 80012f0 <HAL_RCC_ClockConfig+0x5c>
80012c6: 075c lsls r4, r3, #29
80012c8: d504 bpl.n 80012d4 <HAL_RCC_ClockConfig+0x40>
80012ca: 4c51 ldr r4, [pc, #324] ; (8001410 <HAL_RCC_ClockConfig+0x17c>)
80012cc: 6862 ldr r2, [r4, #4]
80012ce: f442 62e0 orr.w r2, r2, #1792 ; 0x700
80012d2: 6062 str r2, [r4, #4]
80012d4: 071a lsls r2, r3, #28
80012d6: d504 bpl.n 80012e2 <HAL_RCC_ClockConfig+0x4e>
80012d8: 4c4d ldr r4, [pc, #308] ; (8001410 <HAL_RCC_ClockConfig+0x17c>)
80012da: 6862 ldr r2, [r4, #4]
80012dc: f442 5260 orr.w r2, r2, #14336 ; 0x3800
80012e0: 6062 str r2, [r4, #4]
80012e2: 4c4b ldr r4, [pc, #300] ; (8001410 <HAL_RCC_ClockConfig+0x17c>)
80012e4: 6885 ldr r5, [r0, #8]
80012e6: 6862 ldr r2, [r4, #4]
80012e8: f022 02f0 bic.w r2, r2, #240 ; 0xf0
80012ec: 432a orrs r2, r5
80012ee: 6062 str r2, [r4, #4]
80012f0: 07db lsls r3, r3, #31
80012f2: 4604 mov r4, r0
80012f4: 460d mov r5, r1
80012f6: d520 bpl.n 800133a <HAL_RCC_ClockConfig+0xa6>
80012f8: 6842 ldr r2, [r0, #4]
80012fa: 4b45 ldr r3, [pc, #276] ; (8001410 <HAL_RCC_ClockConfig+0x17c>)
80012fc: 2a01 cmp r2, #1
80012fe: 681b ldr r3, [r3, #0]
8001300: d06f beq.n 80013e2 <HAL_RCC_ClockConfig+0x14e>
8001302: 2a02 cmp r2, #2
8001304: d07e beq.n 8001404 <HAL_RCC_ClockConfig+0x170>
8001306: 0798 lsls r0, r3, #30
8001308: d527 bpl.n 800135a <HAL_RCC_ClockConfig+0xc6>
800130a: 4e41 ldr r6, [pc, #260] ; (8001410 <HAL_RCC_ClockConfig+0x17c>)
800130c: f241 3888 movw r8, #5000 ; 0x1388
8001310: 6873 ldr r3, [r6, #4]
8001312: f023 0303 bic.w r3, r3, #3
8001316: 4313 orrs r3, r2
8001318: 6073 str r3, [r6, #4]
800131a: f7fe ff5b bl 80001d4 <HAL_GetTick>
800131e: 4607 mov r7, r0
8001320: e004 b.n 800132c <HAL_RCC_ClockConfig+0x98>
8001322: f7fe ff57 bl 80001d4 <HAL_GetTick>
8001326: 1bc0 subs r0, r0, r7
8001328: 4540 cmp r0, r8
800132a: d869 bhi.n 8001400 <HAL_RCC_ClockConfig+0x16c>
800132c: 6873 ldr r3, [r6, #4]
800132e: 6862 ldr r2, [r4, #4]
8001330: f003 030c and.w r3, r3, #12
8001334: ebb3 0f82 cmp.w r3, r2, lsl #2
8001338: d1f3 bne.n 8001322 <HAL_RCC_ClockConfig+0x8e>
800133a: 4a34 ldr r2, [pc, #208] ; (800140c <HAL_RCC_ClockConfig+0x178>)
800133c: 6813 ldr r3, [r2, #0]
800133e: f003 0307 and.w r3, r3, #7
8001342: 42ab cmp r3, r5
8001344: d90d bls.n 8001362 <HAL_RCC_ClockConfig+0xce>
8001346: 6813 ldr r3, [r2, #0]
8001348: f023 0307 bic.w r3, r3, #7
800134c: 432b orrs r3, r5
800134e: 6013 str r3, [r2, #0]
8001350: 6813 ldr r3, [r2, #0]
8001352: f003 0307 and.w r3, r3, #7
8001356: 42ab cmp r3, r5
8001358: d003 beq.n 8001362 <HAL_RCC_ClockConfig+0xce>
800135a: 2001 movs r0, #1
800135c: b006 add sp, #24
800135e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
8001362: 6823 ldr r3, [r4, #0]
8001364: 0759 lsls r1, r3, #29
8001366: d506 bpl.n 8001376 <HAL_RCC_ClockConfig+0xe2>
8001368: 4929 ldr r1, [pc, #164] ; (8001410 <HAL_RCC_ClockConfig+0x17c>)
800136a: 68e0 ldr r0, [r4, #12]
800136c: 684a ldr r2, [r1, #4]
800136e: f422 62e0 bic.w r2, r2, #1792 ; 0x700
8001372: 4302 orrs r2, r0
8001374: 604a str r2, [r1, #4]
8001376: 071a lsls r2, r3, #28
8001378: d507 bpl.n 800138a <HAL_RCC_ClockConfig+0xf6>
800137a: 4a25 ldr r2, [pc, #148] ; (8001410 <HAL_RCC_ClockConfig+0x17c>)
800137c: 6921 ldr r1, [r4, #16]
800137e: 6853 ldr r3, [r2, #4]
8001380: f423 5360 bic.w r3, r3, #14336 ; 0x3800
8001384: ea43 03c1 orr.w r3, r3, r1, lsl #3
8001388: 6053 str r3, [r2, #4]
800138a: f240 2201 movw r2, #513 ; 0x201
800138e: 4b21 ldr r3, [pc, #132] ; (8001414 <HAL_RCC_ClockConfig+0x180>)
8001390: ac06 add r4, sp, #24
8001392: f8ad 2004 strh.w r2, [sp, #4]
8001396: cb0f ldmia r3, {r0, r1, r2, r3}
8001398: e904 000f stmdb r4, {r0, r1, r2, r3}
800139c: 491c ldr r1, [pc, #112] ; (8001410 <HAL_RCC_ClockConfig+0x17c>)
800139e: 684a ldr r2, [r1, #4]
80013a0: f002 030c and.w r3, r2, #12
80013a4: 2b08 cmp r3, #8
80013a6: d11a bne.n 80013de <HAL_RCC_ClockConfig+0x14a>
80013a8: f3c2 4383 ubfx r3, r2, #18, #4
80013ac: 4423 add r3, r4
80013ae: f813 0c10 ldrb.w r0, [r3, #-16]
80013b2: 03d3 lsls r3, r2, #15
80013b4: d418 bmi.n 80013e8 <HAL_RCC_ClockConfig+0x154>
80013b6: 4b18 ldr r3, [pc, #96] ; (8001418 <HAL_RCC_ClockConfig+0x184>)
80013b8: fb03 f300 mul.w r3, r3, r0
80013bc: 4a14 ldr r2, [pc, #80] ; (8001410 <HAL_RCC_ClockConfig+0x17c>)
80013be: 4817 ldr r0, [pc, #92] ; (800141c <HAL_RCC_ClockConfig+0x188>)
80013c0: 6852 ldr r2, [r2, #4]
80013c2: 4917 ldr r1, [pc, #92] ; (8001420 <HAL_RCC_ClockConfig+0x18c>)
80013c4: f3c2 1203 ubfx r2, r2, #4, #4
80013c8: 5c80 ldrb r0, [r0, r2]
80013ca: 4a16 ldr r2, [pc, #88] ; (8001424 <HAL_RCC_ClockConfig+0x190>)
80013cc: 40c3 lsrs r3, r0
80013ce: 6808 ldr r0, [r1, #0]
80013d0: 6013 str r3, [r2, #0]
80013d2: f7fe febd bl 8000150 <HAL_InitTick>
80013d6: 2000 movs r0, #0
80013d8: b006 add sp, #24
80013da: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
80013de: 4b12 ldr r3, [pc, #72] ; (8001428 <HAL_RCC_ClockConfig+0x194>)
80013e0: e7ec b.n 80013bc <HAL_RCC_ClockConfig+0x128>
80013e2: 039f lsls r7, r3, #14
80013e4: d491 bmi.n 800130a <HAL_RCC_ClockConfig+0x76>
80013e6: e7b8 b.n 800135a <HAL_RCC_ClockConfig+0xc6>
80013e8: 684a ldr r2, [r1, #4]
80013ea: 4b0f ldr r3, [pc, #60] ; (8001428 <HAL_RCC_ClockConfig+0x194>)
80013ec: f3c2 4240 ubfx r2, r2, #17, #1
80013f0: fb03 f300 mul.w r3, r3, r0
80013f4: 4422 add r2, r4
80013f6: f812 2c14 ldrb.w r2, [r2, #-20]
80013fa: fbb3 f3f2 udiv r3, r3, r2
80013fe: e7dd b.n 80013bc <HAL_RCC_ClockConfig+0x128>
8001400: 2003 movs r0, #3
8001402: e7ab b.n 800135c <HAL_RCC_ClockConfig+0xc8>
8001404: 019e lsls r6, r3, #6
8001406: d480 bmi.n 800130a <HAL_RCC_ClockConfig+0x76>
8001408: e7a7 b.n 800135a <HAL_RCC_ClockConfig+0xc6>
800140a: bf00 nop
800140c: 40022000 .word 0x40022000
8001410: 40021000 .word 0x40021000
8001414: 0800443c .word 0x0800443c
8001418: 003d0900 .word 0x003d0900
800141c: 0800449c .word 0x0800449c
8001420: 20000004 .word 0x20000004
8001424: 2000011c .word 0x2000011c
8001428: 007a1200 .word 0x007a1200
0800142c <HAL_RCC_GetPCLK1Freq>:
800142c: 4b04 ldr r3, [pc, #16] ; (8001440 <HAL_RCC_GetPCLK1Freq+0x14>)
800142e: 4905 ldr r1, [pc, #20] ; (8001444 <HAL_RCC_GetPCLK1Freq+0x18>)
8001430: 685b ldr r3, [r3, #4]
8001432: 4a05 ldr r2, [pc, #20] ; (8001448 <HAL_RCC_GetPCLK1Freq+0x1c>)
8001434: f3c3 2302 ubfx r3, r3, #8, #3
8001438: 5ccb ldrb r3, [r1, r3]
800143a: 6810 ldr r0, [r2, #0]
800143c: 40d8 lsrs r0, r3
800143e: 4770 bx lr
8001440: 40021000 .word 0x40021000
8001444: 080044ac .word 0x080044ac
8001448: 2000011c .word 0x2000011c
0800144c <HAL_RCC_GetPCLK2Freq>:
800144c: 4b04 ldr r3, [pc, #16] ; (8001460 <HAL_RCC_GetPCLK2Freq+0x14>)
800144e: 4905 ldr r1, [pc, #20] ; (8001464 <HAL_RCC_GetPCLK2Freq+0x18>)
8001450: 685b ldr r3, [r3, #4]
8001452: 4a05 ldr r2, [pc, #20] ; (8001468 <HAL_RCC_GetPCLK2Freq+0x1c>)
8001454: f3c3 23c2 ubfx r3, r3, #11, #3
8001458: 5ccb ldrb r3, [r1, r3]
800145a: 6810 ldr r0, [r2, #0]
800145c: 40d8 lsrs r0, r3
800145e: 4770 bx lr
8001460: 40021000 .word 0x40021000
8001464: 080044ac .word 0x080044ac
8001468: 2000011c .word 0x2000011c
0800146c <HAL_RCCEx_PeriphCLKConfig>:
800146c: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
8001470: 4604 mov r4, r0
8001472: 6800 ldr r0, [r0, #0]
8001474: b082 sub sp, #8
8001476: 07c5 lsls r5, r0, #31
8001478: d52a bpl.n 80014d0 <HAL_RCCEx_PeriphCLKConfig+0x64>
800147a: 4b3a ldr r3, [pc, #232] ; (8001564 <HAL_RCCEx_PeriphCLKConfig+0xf8>)
800147c: 69da ldr r2, [r3, #28]
800147e: 00d1 lsls r1, r2, #3
8001480: d53d bpl.n 80014fe <HAL_RCCEx_PeriphCLKConfig+0x92>
8001482: 4b39 ldr r3, [pc, #228] ; (8001568 <HAL_RCCEx_PeriphCLKConfig+0xfc>)
8001484: 2500 movs r5, #0
8001486: 681a ldr r2, [r3, #0]
8001488: 05d2 lsls r2, r2, #23
800148a: d546 bpl.n 800151a <HAL_RCCEx_PeriphCLKConfig+0xae>
800148c: 4935 ldr r1, [pc, #212] ; (8001564 <HAL_RCCEx_PeriphCLKConfig+0xf8>)
800148e: 6860 ldr r0, [r4, #4]
8001490: 6a0a ldr r2, [r1, #32]
8001492: f412 7240 ands.w r2, r2, #768 ; 0x300
8001496: d00f beq.n 80014b8 <HAL_RCCEx_PeriphCLKConfig+0x4c>
8001498: f400 7340 and.w r3, r0, #768 ; 0x300
800149c: 4293 cmp r3, r2
800149e: d00b beq.n 80014b8 <HAL_RCCEx_PeriphCLKConfig+0x4c>
80014a0: 2701 movs r7, #1
80014a2: 2600 movs r6, #0
80014a4: 6a0b ldr r3, [r1, #32]
80014a6: 4a31 ldr r2, [pc, #196] ; (800156c <HAL_RCCEx_PeriphCLKConfig+0x100>)
80014a8: f423 7040 bic.w r0, r3, #768 ; 0x300
80014ac: 6017 str r7, [r2, #0]
80014ae: 6016 str r6, [r2, #0]
80014b0: 6208 str r0, [r1, #32]
80014b2: 07d8 lsls r0, r3, #31
80014b4: d445 bmi.n 8001542 <HAL_RCCEx_PeriphCLKConfig+0xd6>
80014b6: 6860 ldr r0, [r4, #4]
80014b8: 4a2a ldr r2, [pc, #168] ; (8001564 <HAL_RCCEx_PeriphCLKConfig+0xf8>)
80014ba: 6a13 ldr r3, [r2, #32]
80014bc: f423 7340 bic.w r3, r3, #768 ; 0x300
80014c0: 4303 orrs r3, r0
80014c2: 6213 str r3, [r2, #32]
80014c4: b11d cbz r5, 80014ce <HAL_RCCEx_PeriphCLKConfig+0x62>
80014c6: 69d3 ldr r3, [r2, #28]
80014c8: f023 5380 bic.w r3, r3, #268435456 ; 0x10000000
80014cc: 61d3 str r3, [r2, #28]
80014ce: 6820 ldr r0, [r4, #0]
80014d0: 0783 lsls r3, r0, #30
80014d2: d506 bpl.n 80014e2 <HAL_RCCEx_PeriphCLKConfig+0x76>
80014d4: 4a23 ldr r2, [pc, #140] ; (8001564 <HAL_RCCEx_PeriphCLKConfig+0xf8>)
80014d6: 68a1 ldr r1, [r4, #8]
80014d8: 6853 ldr r3, [r2, #4]
80014da: f423 4340 bic.w r3, r3, #49152 ; 0xc000
80014de: 430b orrs r3, r1
80014e0: 6053 str r3, [r2, #4]
80014e2: f010 0010 ands.w r0, r0, #16
80014e6: d007 beq.n 80014f8 <HAL_RCCEx_PeriphCLKConfig+0x8c>
80014e8: 2000 movs r0, #0
80014ea: 4a1e ldr r2, [pc, #120] ; (8001564 <HAL_RCCEx_PeriphCLKConfig+0xf8>)
80014ec: 68e1 ldr r1, [r4, #12]
80014ee: 6853 ldr r3, [r2, #4]
80014f0: f423 0380 bic.w r3, r3, #4194304 ; 0x400000
80014f4: 430b orrs r3, r1
80014f6: 6053 str r3, [r2, #4]
80014f8: b002 add sp, #8
80014fa: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
80014fe: 69da ldr r2, [r3, #28]
8001500: 2501 movs r5, #1
8001502: f042 5280 orr.w r2, r2, #268435456 ; 0x10000000
8001506: 61da str r2, [r3, #28]
8001508: 69db ldr r3, [r3, #28]
800150a: f003 5380 and.w r3, r3, #268435456 ; 0x10000000
800150e: 9301 str r3, [sp, #4]
8001510: 9b01 ldr r3, [sp, #4]
8001512: 4b15 ldr r3, [pc, #84] ; (8001568 <HAL_RCCEx_PeriphCLKConfig+0xfc>)
8001514: 681a ldr r2, [r3, #0]
8001516: 05d2 lsls r2, r2, #23
8001518: d4b8 bmi.n 800148c <HAL_RCCEx_PeriphCLKConfig+0x20>
800151a: 681a ldr r2, [r3, #0]
800151c: 461e mov r6, r3
800151e: f442 7280 orr.w r2, r2, #256 ; 0x100
8001522: 601a str r2, [r3, #0]
8001524: f7fe fe56 bl 80001d4 <HAL_GetTick>
8001528: 4607 mov r7, r0
800152a: 6833 ldr r3, [r6, #0]
800152c: 05db lsls r3, r3, #23
800152e: d4ad bmi.n 800148c <HAL_RCCEx_PeriphCLKConfig+0x20>
8001530: f7fe fe50 bl 80001d4 <HAL_GetTick>
8001534: 1bc0 subs r0, r0, r7
8001536: 2864 cmp r0, #100 ; 0x64
8001538: d9f7 bls.n 800152a <HAL_RCCEx_PeriphCLKConfig+0xbe>
800153a: 2003 movs r0, #3
800153c: b002 add sp, #8
800153e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
8001542: 460e mov r6, r1
8001544: f7fe fe46 bl 80001d4 <HAL_GetTick>
8001548: f241 3788 movw r7, #5000 ; 0x1388
800154c: 4680 mov r8, r0
800154e: 6a33 ldr r3, [r6, #32]
8001550: 079a lsls r2, r3, #30
8001552: d4b0 bmi.n 80014b6 <HAL_RCCEx_PeriphCLKConfig+0x4a>
8001554: f7fe fe3e bl 80001d4 <HAL_GetTick>
8001558: eba0 0008 sub.w r0, r0, r8
800155c: 42b8 cmp r0, r7
800155e: d9f6 bls.n 800154e <HAL_RCCEx_PeriphCLKConfig+0xe2>
8001560: e7eb b.n 800153a <HAL_RCCEx_PeriphCLKConfig+0xce>
8001562: bf00 nop
8001564: 40021000 .word 0x40021000
8001568: 40007000 .word 0x40007000
800156c: 42420440 .word 0x42420440
08001570 <HAL_RCCEx_GetPeriphCLKFreq>:
8001570: b510 push {r4, lr}
8001572: 4604 mov r4, r0
8001574: f240 2201 movw r2, #513 ; 0x201
8001578: b086 sub sp, #24
800157a: 4b34 ldr r3, [pc, #208] ; (800164c <HAL_RCCEx_GetPeriphCLKFreq+0xdc>)
800157c: f10d 0c18 add.w ip, sp, #24
8001580: 2c02 cmp r4, #2
8001582: f8ad 2004 strh.w r2, [sp, #4]
8001586: cb0f ldmia r3, {r0, r1, r2, r3}
8001588: e90c 000f stmdb ip, {r0, r1, r2, r3}
800158c: d042 beq.n 8001614 <HAL_RCCEx_GetPeriphCLKFreq+0xa4>
800158e: 2c10 cmp r4, #16
8001590: d01c beq.n 80015cc <HAL_RCCEx_GetPeriphCLKFreq+0x5c>
8001592: 2c01 cmp r4, #1
8001594: d002 beq.n 800159c <HAL_RCCEx_GetPeriphCLKFreq+0x2c>
8001596: 2000 movs r0, #0
8001598: b006 add sp, #24
800159a: bd10 pop {r4, pc}
800159c: f240 3202 movw r2, #770 ; 0x302
80015a0: 492b ldr r1, [pc, #172] ; (8001650 <HAL_RCCEx_GetPeriphCLKFreq+0xe0>)
80015a2: 6a0b ldr r3, [r1, #32]
80015a4: 401a ands r2, r3
80015a6: f5b2 7f81 cmp.w r2, #258 ; 0x102
80015aa: d04b beq.n 8001644 <HAL_RCCEx_GetPeriphCLKFreq+0xd4>
80015ac: f403 7340 and.w r3, r3, #768 ; 0x300
80015b0: f5b3 7f00 cmp.w r3, #512 ; 0x200
80015b4: d03a beq.n 800162c <HAL_RCCEx_GetPeriphCLKFreq+0xbc>
80015b6: f5b3 7f40 cmp.w r3, #768 ; 0x300
80015ba: d1ec bne.n 8001596 <HAL_RCCEx_GetPeriphCLKFreq+0x26>
80015bc: 680b ldr r3, [r1, #0]
80015be: f24f 4024 movw r0, #62500 ; 0xf424
80015c2: f413 3f00 tst.w r3, #131072 ; 0x20000
80015c6: bf08 it eq
80015c8: 2000 moveq r0, #0
80015ca: e7e5 b.n 8001598 <HAL_RCCEx_GetPeriphCLKFreq+0x28>
80015cc: 4b20 ldr r3, [pc, #128] ; (8001650 <HAL_RCCEx_GetPeriphCLKFreq+0xe0>)
80015ce: 6859 ldr r1, [r3, #4]
80015d0: 6818 ldr r0, [r3, #0]
80015d2: f010 7080 ands.w r0, r0, #16777216 ; 0x1000000
80015d6: d0df beq.n 8001598 <HAL_RCCEx_GetPeriphCLKFreq+0x28>
80015d8: a806 add r0, sp, #24
80015da: f3c1 4283 ubfx r2, r1, #18, #4
80015de: 4402 add r2, r0
80015e0: f812 0c10 ldrb.w r0, [r2, #-16]
80015e4: 03ca lsls r2, r1, #15
80015e6: d529 bpl.n 800163c <HAL_RCCEx_GetPeriphCLKFreq+0xcc>
80015e8: 685b ldr r3, [r3, #4]
80015ea: a906 add r1, sp, #24
80015ec: f3c3 4340 ubfx r3, r3, #17, #1
80015f0: 440b add r3, r1
80015f2: 4a18 ldr r2, [pc, #96] ; (8001654 <HAL_RCCEx_GetPeriphCLKFreq+0xe4>)
80015f4: f813 3c14 ldrb.w r3, [r3, #-20]
80015f8: fbb2 f3f3 udiv r3, r2, r3
80015fc: fb00 f003 mul.w r0, r0, r3
8001600: 4b13 ldr r3, [pc, #76] ; (8001650 <HAL_RCCEx_GetPeriphCLKFreq+0xe0>)
8001602: 685b ldr r3, [r3, #4]
8001604: 025b lsls r3, r3, #9
8001606: d4c7 bmi.n 8001598 <HAL_RCCEx_GetPeriphCLKFreq+0x28>
8001608: 4b13 ldr r3, [pc, #76] ; (8001658 <HAL_RCCEx_GetPeriphCLKFreq+0xe8>)
800160a: 0040 lsls r0, r0, #1
800160c: fba3 3000 umull r3, r0, r3, r0
8001610: 0840 lsrs r0, r0, #1
8001612: e7c1 b.n 8001598 <HAL_RCCEx_GetPeriphCLKFreq+0x28>
8001614: f7ff ff1a bl 800144c <HAL_RCC_GetPCLK2Freq>
8001618: 4b0d ldr r3, [pc, #52] ; (8001650 <HAL_RCCEx_GetPeriphCLKFreq+0xe0>)
800161a: 685b ldr r3, [r3, #4]
800161c: f3c3 3381 ubfx r3, r3, #14, #2
8001620: 3301 adds r3, #1
8001622: 005b lsls r3, r3, #1
8001624: fbb0 f0f3 udiv r0, r0, r3
8001628: b006 add sp, #24
800162a: bd10 pop {r4, pc}
800162c: 6a4b ldr r3, [r1, #36] ; 0x24
800162e: f649 4040 movw r0, #40000 ; 0x9c40
8001632: f013 0f02 tst.w r3, #2
8001636: bf08 it eq
8001638: 2000 moveq r0, #0
800163a: e7ad b.n 8001598 <HAL_RCCEx_GetPeriphCLKFreq+0x28>
800163c: 4b07 ldr r3, [pc, #28] ; (800165c <HAL_RCCEx_GetPeriphCLKFreq+0xec>)
800163e: fb03 f000 mul.w r0, r3, r0
8001642: e7dd b.n 8001600 <HAL_RCCEx_GetPeriphCLKFreq+0x90>
8001644: f44f 4000 mov.w r0, #32768 ; 0x8000
8001648: e7a6 b.n 8001598 <HAL_RCCEx_GetPeriphCLKFreq+0x28>
800164a: bf00 nop
800164c: 0800444c .word 0x0800444c
8001650: 40021000 .word 0x40021000
8001654: 007a1200 .word 0x007a1200
8001658: aaaaaaab .word 0xaaaaaaab
800165c: 003d0900 .word 0x003d0900
08001660 <HAL_RTC_Init>:
8001660: 2800 cmp r0, #0
8001662: d06e beq.n 8001742 <HAL_RTC_Init+0xe2>
8001664: b538 push {r3, r4, r5, lr}
8001666: 7c43 ldrb r3, [r0, #17]
8001668: 4604 mov r4, r0
800166a: f003 02ff and.w r2, r3, #255 ; 0xff
800166e: 2b00 cmp r3, #0
8001670: d063 beq.n 800173a <HAL_RTC_Init+0xda>
8001672: 2302 movs r3, #2
8001674: 6822 ldr r2, [r4, #0]
8001676: 7463 strb r3, [r4, #17]
8001678: 6853 ldr r3, [r2, #4]
800167a: f023 0308 bic.w r3, r3, #8
800167e: 6053 str r3, [r2, #4]
8001680: f7fe fda8 bl 80001d4 <HAL_GetTick>
8001684: 4605 mov r5, r0
8001686: e005 b.n 8001694 <HAL_RTC_Init+0x34>
8001688: f7fe fda4 bl 80001d4 <HAL_GetTick>
800168c: 1b40 subs r0, r0, r5
800168e: f5b0 7f7a cmp.w r0, #1000 ; 0x3e8
8001692: d84e bhi.n 8001732 <HAL_RTC_Init+0xd2>
8001694: 6823 ldr r3, [r4, #0]
8001696: 685b ldr r3, [r3, #4]
8001698: 0718 lsls r0, r3, #28
800169a: d5f5 bpl.n 8001688 <HAL_RTC_Init+0x28>
800169c: f7fe fd9a bl 80001d4 <HAL_GetTick>
80016a0: 4605 mov r5, r0
80016a2: e005 b.n 80016b0 <HAL_RTC_Init+0x50>
80016a4: f7fe fd96 bl 80001d4 <HAL_GetTick>
80016a8: 1b40 subs r0, r0, r5
80016aa: f5b0 7f7a cmp.w r0, #1000 ; 0x3e8
80016ae: d840 bhi.n 8001732 <HAL_RTC_Init+0xd2>
80016b0: 6823 ldr r3, [r4, #0]
80016b2: 685a ldr r2, [r3, #4]
80016b4: 0691 lsls r1, r2, #26
80016b6: d5f5 bpl.n 80016a4 <HAL_RTC_Init+0x44>
80016b8: 6859 ldr r1, [r3, #4]
80016ba: 68a0 ldr r0, [r4, #8]
80016bc: f041 0110 orr.w r1, r1, #16
80016c0: 6059 str r1, [r3, #4]
80016c2: 6859 ldr r1, [r3, #4]
80016c4: f021 0107 bic.w r1, r1, #7
80016c8: 6059 str r1, [r3, #4]
80016ca: b120 cbz r0, 80016d6 <HAL_RTC_Init+0x76>
80016cc: 4922 ldr r1, [pc, #136] ; (8001758 <HAL_RTC_Init+0xf8>)
80016ce: 6b0a ldr r2, [r1, #48] ; 0x30
80016d0: f022 0201 bic.w r2, r2, #1
80016d4: 630a str r2, [r1, #48] ; 0x30
80016d6: 4920 ldr r1, [pc, #128] ; (8001758 <HAL_RTC_Init+0xf8>)
80016d8: 6aca ldr r2, [r1, #44] ; 0x2c
80016da: f422 7260 bic.w r2, r2, #896 ; 0x380
80016de: 4302 orrs r2, r0
80016e0: 62ca str r2, [r1, #44] ; 0x2c
80016e2: 6860 ldr r0, [r4, #4]
80016e4: 1c42 adds r2, r0, #1
80016e6: d02e beq.n 8001746 <HAL_RTC_Init+0xe6>
80016e8: 6899 ldr r1, [r3, #8]
80016ea: b285 uxth r5, r0
80016ec: f021 010f bic.w r1, r1, #15
80016f0: ea41 4110 orr.w r1, r1, r0, lsr #16
80016f4: 6099 str r1, [r3, #8]
80016f6: 68da ldr r2, [r3, #12]
80016f8: 0c12 lsrs r2, r2, #16
80016fa: 0412 lsls r2, r2, #16
80016fc: 432a orrs r2, r5
80016fe: 60da str r2, [r3, #12]
8001700: 685a ldr r2, [r3, #4]
8001702: f022 0210 bic.w r2, r2, #16
8001706: 605a str r2, [r3, #4]
8001708: f7fe fd64 bl 80001d4 <HAL_GetTick>
800170c: 4605 mov r5, r0
800170e: e005 b.n 800171c <HAL_RTC_Init+0xbc>
8001710: f7fe fd60 bl 80001d4 <HAL_GetTick>
8001714: 1b40 subs r0, r0, r5
8001716: f5b0 7f7a cmp.w r0, #1000 ; 0x3e8
800171a: d80a bhi.n 8001732 <HAL_RTC_Init+0xd2>
800171c: 6823 ldr r3, [r4, #0]
800171e: 685b ldr r3, [r3, #4]
8001720: 069b lsls r3, r3, #26
8001722: d5f5 bpl.n 8001710 <HAL_RTC_Init+0xb0>
8001724: 2301 movs r3, #1
8001726: 2000 movs r0, #0
8001728: 7363 strb r3, [r4, #13]
800172a: 73e0 strb r0, [r4, #15]
800172c: 73a3 strb r3, [r4, #14]
800172e: 7463 strb r3, [r4, #17]
8001730: bd38 pop {r3, r4, r5, pc}
8001732: 2304 movs r3, #4
8001734: 2001 movs r0, #1
8001736: 7463 strb r3, [r4, #17]
8001738: bd38 pop {r3, r4, r5, pc}
800173a: 7402 strb r2, [r0, #16]
800173c: f002 faf6 bl 8003d2c <HAL_RTC_MspInit>
8001740: e797 b.n 8001672 <HAL_RTC_Init+0x12>
8001742: 2001 movs r0, #1
8001744: 4770 bx lr
8001746: 2001 movs r0, #1
8001748: f7ff ff12 bl 8001570 <HAL_RCCEx_GetPeriphCLKFreq>
800174c: 2800 cmp r0, #0
800174e: d0f0 beq.n 8001732 <HAL_RTC_Init+0xd2>
8001750: 6823 ldr r3, [r4, #0]
8001752: 3801 subs r0, #1
8001754: e7c8 b.n 80016e8 <HAL_RTC_Init+0x88>
8001756: bf00 nop
8001758: 40006c00 .word 0x40006c00
0800175c <HAL_SPI_Init>:
800175c: 2800 cmp r0, #0
800175e: d03b beq.n 80017d8 <HAL_SPI_Init+0x7c>
8001760: b5f8 push {r3, r4, r5, r6, r7, lr}
8001762: 2300 movs r3, #0
8001764: f890 1051 ldrb.w r1, [r0, #81] ; 0x51
8001768: 4604 mov r4, r0
800176a: 6283 str r3, [r0, #40] ; 0x28
800176c: f001 02ff and.w r2, r1, #255 ; 0xff
8001770: b361 cbz r1, 80017cc <HAL_SPI_Init+0x70>
8001772: 461a mov r2, r3
8001774: e9d4 3601 ldrd r3, r6, [r4, #4]
8001778: 2702 movs r7, #2
800177a: 2100 movs r1, #0
800177c: 2501 movs r5, #1
800177e: 68e0 ldr r0, [r4, #12]
8001780: 4333 orrs r3, r6
8001782: 6926 ldr r6, [r4, #16]
8001784: 4303 orrs r3, r0
8001786: 6960 ldr r0, [r4, #20]
8001788: 4333 orrs r3, r6
800178a: 69e6 ldr r6, [r4, #28]
800178c: f8d4 c018 ldr.w ip, [r4, #24]
8001790: 4303 orrs r3, r0
8001792: 6a20 ldr r0, [r4, #32]
8001794: 4333 orrs r3, r6
8001796: 6826 ldr r6, [r4, #0]
8001798: f884 7051 strb.w r7, [r4, #81] ; 0x51
800179c: 4303 orrs r3, r0
800179e: f40c 7000 and.w r0, ip, #512 ; 0x200
80017a2: 4303 orrs r3, r0
80017a4: 6830 ldr r0, [r6, #0]
80017a6: ea4f 4c1c mov.w ip, ip, lsr #16
80017aa: 4313 orrs r3, r2
80017ac: f020 0040 bic.w r0, r0, #64 ; 0x40
80017b0: f00c 0204 and.w r2, ip, #4
80017b4: 6030 str r0, [r6, #0]
80017b6: 6033 str r3, [r6, #0]
80017b8: 6072 str r2, [r6, #4]
80017ba: 69f3 ldr r3, [r6, #28]
80017bc: 4608 mov r0, r1
80017be: f423 6300 bic.w r3, r3, #2048 ; 0x800
80017c2: 61f3 str r3, [r6, #28]
80017c4: 6561 str r1, [r4, #84] ; 0x54
80017c6: f884 5051 strb.w r5, [r4, #81] ; 0x51
80017ca: bdf8 pop {r3, r4, r5, r6, r7, pc}
80017cc: f880 2050 strb.w r2, [r0, #80] ; 0x50
80017d0: f002 facc bl 8003d6c <HAL_SPI_MspInit>
80017d4: 6aa2 ldr r2, [r4, #40] ; 0x28
80017d6: e7cd b.n 8001774 <HAL_SPI_Init+0x18>
80017d8: 2001 movs r0, #1
80017da: 4770 bx lr
080017dc <HAL_UART_Init>:
80017dc: 2800 cmp r0, #0
80017de: d05e beq.n 800189e <HAL_UART_Init+0xc2>
80017e0: b538 push {r3, r4, r5, lr}
80017e2: f890 3039 ldrb.w r3, [r0, #57] ; 0x39
80017e6: 4604 mov r4, r0
80017e8: f003 02ff and.w r2, r3, #255 ; 0xff
80017ec: 2b00 cmp r3, #0
80017ee: d051 beq.n 8001894 <HAL_UART_Init+0xb8>
80017f0: 2224 movs r2, #36 ; 0x24
80017f2: 6823 ldr r3, [r4, #0]
80017f4: f884 2039 strb.w r2, [r4, #57] ; 0x39
80017f8: 68da ldr r2, [r3, #12]
80017fa: 68e0 ldr r0, [r4, #12]
80017fc: f422 5200 bic.w r2, r2, #8192 ; 0x2000
8001800: 60da str r2, [r3, #12]
8001802: 6919 ldr r1, [r3, #16]
8001804: 68a2 ldr r2, [r4, #8]
8001806: f421 5140 bic.w r1, r1, #12288 ; 0x3000
800180a: 4301 orrs r1, r0
800180c: 6119 str r1, [r3, #16]
800180e: 68d9 ldr r1, [r3, #12]
8001810: e9d4 5004 ldrd r5, r0, [r4, #16]
8001814: f421 51b0 bic.w r1, r1, #5632 ; 0x1600
8001818: 432a orrs r2, r5
800181a: f021 010c bic.w r1, r1, #12
800181e: 4302 orrs r2, r0
8001820: 430a orrs r2, r1
8001822: 60da str r2, [r3, #12]
8001824: 695a ldr r2, [r3, #20]
8001826: 69a0 ldr r0, [r4, #24]
8001828: 491f ldr r1, [pc, #124] ; (80018a8 <HAL_UART_Init+0xcc>)
800182a: f422 7240 bic.w r2, r2, #768 ; 0x300
800182e: 4302 orrs r2, r0
8001830: 428b cmp r3, r1
8001832: 615a str r2, [r3, #20]
8001834: d035 beq.n 80018a2 <HAL_UART_Init+0xc6>
8001836: f7ff fdf9 bl 800142c <HAL_RCC_GetPCLK1Freq>
800183a: 6862 ldr r2, [r4, #4]
800183c: eb00 0080 add.w r0, r0, r0, lsl #2
8001840: 0092 lsls r2, r2, #2
8001842: eb00 0080 add.w r0, r0, r0, lsl #2
8001846: fbb0 f0f2 udiv r0, r0, r2
800184a: 2264 movs r2, #100 ; 0x64
800184c: 4d17 ldr r5, [pc, #92] ; (80018ac <HAL_UART_Init+0xd0>)
800184e: 6823 ldr r3, [r4, #0]
8001850: fba5 c100 umull ip, r1, r5, r0
8001854: 0949 lsrs r1, r1, #5
8001856: fb02 0211 mls r2, r2, r1, r0
800185a: 0112 lsls r2, r2, #4
800185c: 3232 adds r2, #50 ; 0x32
800185e: fba5 0202 umull r0, r2, r5, r2
8001862: 0109 lsls r1, r1, #4
8001864: eb01 1252 add.w r2, r1, r2, lsr #5
8001868: 2500 movs r5, #0
800186a: 2120 movs r1, #32
800186c: 609a str r2, [r3, #8]
800186e: 691a ldr r2, [r3, #16]
8001870: 4628 mov r0, r5
8001872: f422 4290 bic.w r2, r2, #18432 ; 0x4800
8001876: 611a str r2, [r3, #16]
8001878: 695a ldr r2, [r3, #20]
800187a: f022 022a bic.w r2, r2, #42 ; 0x2a
800187e: 615a str r2, [r3, #20]
8001880: 68da ldr r2, [r3, #12]
8001882: f442 5200 orr.w r2, r2, #8192 ; 0x2000
8001886: 60da str r2, [r3, #12]
8001888: 63e5 str r5, [r4, #60] ; 0x3c
800188a: f884 1039 strb.w r1, [r4, #57] ; 0x39
800188e: f884 103a strb.w r1, [r4, #58] ; 0x3a
8001892: bd38 pop {r3, r4, r5, pc}
8001894: f880 2038 strb.w r2, [r0, #56] ; 0x38
8001898: f002 faa4 bl 8003de4 <HAL_UART_MspInit>
800189c: e7a8 b.n 80017f0 <HAL_UART_Init+0x14>
800189e: 2001 movs r0, #1
80018a0: 4770 bx lr
80018a2: f7ff fdd3 bl 800144c <HAL_RCC_GetPCLK2Freq>
80018a6: e7c8 b.n 800183a <HAL_UART_Init+0x5e>
80018a8: 40013800 .word 0x40013800
80018ac: 51eb851f .word 0x51eb851f
080018b0 <USB_CoreInit>:
80018b0: b084 sub sp, #16
80018b2: a801 add r0, sp, #4
80018b4: e880 000e stmia.w r0, {r1, r2, r3}
80018b8: b004 add sp, #16
80018ba: 2000 movs r0, #0
80018bc: 4770 bx lr
80018be: bf00 nop
080018c0 <USB_EnableGlobalInt>:
80018c0: 4602 mov r2, r0
80018c2: f8b0 3040 ldrh.w r3, [r0, #64] ; 0x40
80018c6: 2000 movs r0, #0
80018c8: f443 433f orr.w r3, r3, #48896 ; 0xbf00
80018cc: f8a2 3040 strh.w r3, [r2, #64] ; 0x40
80018d0: 4770 bx lr
80018d2: bf00 nop
080018d4 <USB_DisableGlobalInt>:
80018d4: f244 03ff movw r3, #16639 ; 0x40ff
80018d8: 4602 mov r2, r0
80018da: f8b0 1040 ldrh.w r1, [r0, #64] ; 0x40
80018de: 2000 movs r0, #0
80018e0: 400b ands r3, r1
80018e2: f8a2 3040 strh.w r3, [r2, #64] ; 0x40
80018e6: 4770 bx lr
080018e8 <USB_SetCurrentMode>:
80018e8: 2000 movs r0, #0
80018ea: 4770 bx lr
080018ec <USB_DevInit>:
80018ec: b084 sub sp, #16
80018ee: b470 push {r4, r5, r6}
80018f0: 4604 mov r4, r0
80018f2: 2501 movs r5, #1
80018f4: 2000 movs r0, #0
80018f6: f8a4 5040 strh.w r5, [r4, #64] ; 0x40
80018fa: f8a4 0040 strh.w r0, [r4, #64] ; 0x40
80018fe: f8a4 0044 strh.w r0, [r4, #68] ; 0x44
8001902: f8a4 0050 strh.w r0, [r4, #80] ; 0x50
8001906: f8b4 6040 ldrh.w r6, [r4, #64] ; 0x40
800190a: ad04 add r5, sp, #16
800190c: f446 463f orr.w r6, r6, #48896 ; 0xbf00
8001910: f8a4 6040 strh.w r6, [r4, #64] ; 0x40
8001914: e885 000e stmia.w r5, {r1, r2, r3}
8001918: bc70 pop {r4, r5, r6}
800191a: b004 add sp, #16
800191c: 4770 bx lr
800191e: bf00 nop
08001920 <USB_ActivateEndpoint>:
8001920: b470 push {r4, r5, r6}
8001922: 780d ldrb r5, [r1, #0]
8001924: 4603 mov r3, r0
8001926: f830 4025 ldrh.w r4, [r0, r5, lsl #2]
800192a: 4abc ldr r2, [pc, #752] ; (8001c1c <USB_ActivateEndpoint+0x2fc>)
800192c: 78c8 ldrb r0, [r1, #3]
800192e: 4022 ands r2, r4
8001930: 2803 cmp r0, #3
8001932: f200 8142 bhi.w 8001bba <USB_ActivateEndpoint+0x29a>
8001936: e8df f000 tbb [pc, r0]
800193a: 464e .short 0x464e
800193c: 4a02 .short 0x4a02
800193e: 2000 movs r0, #0
8001940: f248 0480 movw r4, #32896 ; 0x8080
8001944: 4322 orrs r2, r4
8001946: f823 2025 strh.w r2, [r3, r5, lsl #2]
800194a: 780d ldrb r5, [r1, #0]
800194c: 4eb4 ldr r6, [pc, #720] ; (8001c20 <USB_ActivateEndpoint+0x300>)
800194e: f833 2025 ldrh.w r2, [r3, r5, lsl #2]
8001952: 432c orrs r4, r5
8001954: 4032 ands r2, r6
8001956: 4322 orrs r2, r4
8001958: f823 2025 strh.w r2, [r3, r5, lsl #2]
800195c: 7b0a ldrb r2, [r1, #12]
800195e: 2a00 cmp r2, #0
8001960: d13d bne.n 80019de <USB_ActivateEndpoint+0xbe>
8001962: 88cc ldrh r4, [r1, #6]
8001964: 780a ldrb r2, [r1, #0]
8001966: 784d ldrb r5, [r1, #1]
8001968: 0864 lsrs r4, r4, #1
800196a: 0064 lsls r4, r4, #1
800196c: eb03 1202 add.w r2, r3, r2, lsl #4
8001970: 2d00 cmp r5, #0
8001972: f000 80e8 beq.w 8001b46 <USB_ActivateEndpoint+0x226>
8001976: f8b3 5050 ldrh.w r5, [r3, #80] ; 0x50
800197a: 442a add r2, r5
800197c: f8a2 4400 strh.w r4, [r2, #1024] ; 0x400
8001980: 780a ldrb r2, [r1, #0]
8001982: f833 5022 ldrh.w r5, [r3, r2, lsl #2]
8001986: eb03 0482 add.w r4, r3, r2, lsl #2
800198a: 066d lsls r5, r5, #25
800198c: d50b bpl.n 80019a6 <USB_ActivateEndpoint+0x86>
800198e: f833 4022 ldrh.w r4, [r3, r2, lsl #2]
8001992: 4026 ands r6, r4
8001994: f446 4600 orr.w r6, r6, #32768 ; 0x8000
8001998: f046 06c0 orr.w r6, r6, #192 ; 0xc0
800199c: f823 6022 strh.w r6, [r3, r2, lsl #2]
80019a0: 780c ldrb r4, [r1, #0]
80019a2: eb03 0484 add.w r4, r3, r4, lsl #2
80019a6: 78cb ldrb r3, [r1, #3]
80019a8: 2b01 cmp r3, #1
80019aa: f000 8120 beq.w 8001bee <USB_ActivateEndpoint+0x2ce>
80019ae: 8822 ldrh r2, [r4, #0]
80019b0: 4b9c ldr r3, [pc, #624] ; (8001c24 <USB_ActivateEndpoint+0x304>)
80019b2: 4013 ands r3, r2
80019b4: f083 0320 eor.w r3, r3, #32
80019b8: f443 4300 orr.w r3, r3, #32768 ; 0x8000
80019bc: f043 0380 orr.w r3, r3, #128 ; 0x80
80019c0: 8023 strh r3, [r4, #0]
80019c2: bc70 pop {r4, r5, r6}
80019c4: 4770 bx lr
80019c6: f442 6280 orr.w r2, r2, #1024 ; 0x400
80019ca: 2000 movs r0, #0
80019cc: e7b8 b.n 8001940 <USB_ActivateEndpoint+0x20>
80019ce: f442 62c0 orr.w r2, r2, #1536 ; 0x600
80019d2: 2000 movs r0, #0
80019d4: e7b4 b.n 8001940 <USB_ActivateEndpoint+0x20>
80019d6: f442 7200 orr.w r2, r2, #512 ; 0x200
80019da: 2000 movs r0, #0
80019dc: e7b0 b.n 8001940 <USB_ActivateEndpoint+0x20>
80019de: 780c ldrb r4, [r1, #0]
80019e0: f833 2024 ldrh.w r2, [r3, r4, lsl #2]
80019e4: 4032 ands r2, r6
80019e6: f442 4201 orr.w r2, r2, #33024 ; 0x8100
80019ea: f042 0280 orr.w r2, r2, #128 ; 0x80
80019ee: f823 2024 strh.w r2, [r3, r4, lsl #2]
80019f2: 780a ldrb r2, [r1, #0]
80019f4: 890c ldrh r4, [r1, #8]
80019f6: f8b3 5050 ldrh.w r5, [r3, #80] ; 0x50
80019fa: eb03 1202 add.w r2, r3, r2, lsl #4
80019fe: 0864 lsrs r4, r4, #1
8001a00: f502 6280 add.w r2, r2, #1024 ; 0x400
8001a04: 0064 lsls r4, r4, #1
8001a06: b2ad uxth r5, r5
8001a08: 5354 strh r4, [r2, r5]
8001a0a: 780a ldrb r2, [r1, #0]
8001a0c: 894c ldrh r4, [r1, #10]
8001a0e: f8b3 5050 ldrh.w r5, [r3, #80] ; 0x50
8001a12: eb03 1202 add.w r2, r3, r2, lsl #4
8001a16: 0864 lsrs r4, r4, #1
8001a18: f502 6281 add.w r2, r2, #1032 ; 0x408
8001a1c: 0064 lsls r4, r4, #1
8001a1e: b2ad uxth r5, r5
8001a20: 5354 strh r4, [r2, r5]
8001a22: 784a ldrb r2, [r1, #1]
8001a24: 2a00 cmp r2, #0
8001a26: d142 bne.n 8001aae <USB_ActivateEndpoint+0x18e>
8001a28: 780a ldrb r2, [r1, #0]
8001a2a: f833 5022 ldrh.w r5, [r3, r2, lsl #2]
8001a2e: eb03 0482 add.w r4, r3, r2, lsl #2
8001a32: 046d lsls r5, r5, #17
8001a34: d50b bpl.n 8001a4e <USB_ActivateEndpoint+0x12e>
8001a36: f833 4022 ldrh.w r4, [r3, r2, lsl #2]
8001a3a: 4026 ands r6, r4
8001a3c: f446 4640 orr.w r6, r6, #49152 ; 0xc000
8001a40: f046 0680 orr.w r6, r6, #128 ; 0x80
8001a44: f823 6022 strh.w r6, [r3, r2, lsl #2]
8001a48: 780c ldrb r4, [r1, #0]
8001a4a: eb03 0484 add.w r4, r3, r4, lsl #2
8001a4e: 8822 ldrh r2, [r4, #0]
8001a50: 0656 lsls r6, r2, #25
8001a52: d50c bpl.n 8001a6e <USB_ActivateEndpoint+0x14e>
8001a54: 8822 ldrh r2, [r4, #0]
8001a56: f022 02f0 bic.w r2, r2, #240 ; 0xf0
8001a5a: 0512 lsls r2, r2, #20
8001a5c: 0d12 lsrs r2, r2, #20
8001a5e: f442 4200 orr.w r2, r2, #32768 ; 0x8000
8001a62: f042 02c0 orr.w r2, r2, #192 ; 0xc0
8001a66: 8022 strh r2, [r4, #0]
8001a68: 780c ldrb r4, [r1, #0]
8001a6a: eb03 0484 add.w r4, r3, r4, lsl #2
8001a6e: f248 0680 movw r6, #32896 ; 0x8080
8001a72: 8822 ldrh r2, [r4, #0]
8001a74: 4d6c ldr r5, [pc, #432] ; (8001c28 <USB_ActivateEndpoint+0x308>)
8001a76: f022 02f0 bic.w r2, r2, #240 ; 0xf0
8001a7a: 0512 lsls r2, r2, #20
8001a7c: 0d12 lsrs r2, r2, #20
8001a7e: f442 4200 orr.w r2, r2, #32768 ; 0x8000
8001a82: f042 02c0 orr.w r2, r2, #192 ; 0xc0
8001a86: 8022 strh r2, [r4, #0]
8001a88: 780c ldrb r4, [r1, #0]
8001a8a: f833 2024 ldrh.w r2, [r3, r4, lsl #2]
8001a8e: 402a ands r2, r5
8001a90: f482 5240 eor.w r2, r2, #12288 ; 0x3000
8001a94: 4332 orrs r2, r6
8001a96: f823 2024 strh.w r2, [r3, r4, lsl #2]
8001a9a: 7809 ldrb r1, [r1, #0]
8001a9c: 4a61 ldr r2, [pc, #388] ; (8001c24 <USB_ActivateEndpoint+0x304>)
8001a9e: f833 4021 ldrh.w r4, [r3, r1, lsl #2]
8001aa2: 4022 ands r2, r4
8001aa4: 4332 orrs r2, r6
8001aa6: f823 2021 strh.w r2, [r3, r1, lsl #2]
8001aaa: bc70 pop {r4, r5, r6}
8001aac: 4770 bx lr
8001aae: 780a ldrb r2, [r1, #0]
8001ab0: f833 5022 ldrh.w r5, [r3, r2, lsl #2]
8001ab4: eb03 0482 add.w r4, r3, r2, lsl #2
8001ab8: 046d lsls r5, r5, #17
8001aba: d50b bpl.n 8001ad4 <USB_ActivateEndpoint+0x1b4>
8001abc: f833 4022 ldrh.w r4, [r3, r2, lsl #2]
8001ac0: 4026 ands r6, r4
8001ac2: f446 4640 orr.w r6, r6, #49152 ; 0xc000
8001ac6: f046 0680 orr.w r6, r6, #128 ; 0x80
8001aca: f823 6022 strh.w r6, [r3, r2, lsl #2]
8001ace: 780c ldrb r4, [r1, #0]
8001ad0: eb03 0484 add.w r4, r3, r4, lsl #2
8001ad4: 8822 ldrh r2, [r4, #0]
8001ad6: 0652 lsls r2, r2, #25
8001ad8: d50c bpl.n 8001af4 <USB_ActivateEndpoint+0x1d4>
8001ada: 8822 ldrh r2, [r4, #0]
8001adc: f022 02f0 bic.w r2, r2, #240 ; 0xf0
8001ae0: 0512 lsls r2, r2, #20
8001ae2: 0d12 lsrs r2, r2, #20
8001ae4: f442 4200 orr.w r2, r2, #32768 ; 0x8000
8001ae8: f042 02c0 orr.w r2, r2, #192 ; 0xc0
8001aec: 8022 strh r2, [r4, #0]
8001aee: 780c ldrb r4, [r1, #0]
8001af0: eb03 0484 add.w r4, r3, r4, lsl #2
8001af4: 8822 ldrh r2, [r4, #0]
8001af6: f022 02f0 bic.w r2, r2, #240 ; 0xf0
8001afa: 0512 lsls r2, r2, #20
8001afc: 0d12 lsrs r2, r2, #20
8001afe: f442 4240 orr.w r2, r2, #49152 ; 0xc000
8001b02: f042 0280 orr.w r2, r2, #128 ; 0x80
8001b06: 8022 strh r2, [r4, #0]
8001b08: 78ca ldrb r2, [r1, #3]
8001b0a: 780c ldrb r4, [r1, #0]
8001b0c: 2a01 cmp r2, #1
8001b0e: d061 beq.n 8001bd4 <USB_ActivateEndpoint+0x2b4>
8001b10: f833 5024 ldrh.w r5, [r3, r4, lsl #2]
8001b14: 4a43 ldr r2, [pc, #268] ; (8001c24 <USB_ActivateEndpoint+0x304>)
8001b16: 402a ands r2, r5
8001b18: f082 0220 eor.w r2, r2, #32
8001b1c: f442 4200 orr.w r2, r2, #32768 ; 0x8000
8001b20: f042 0280 orr.w r2, r2, #128 ; 0x80
8001b24: f823 2024 strh.w r2, [r3, r4, lsl #2]
8001b28: 7809 ldrb r1, [r1, #0]
8001b2a: bc70 pop {r4, r5, r6}
8001b2c: f833 2021 ldrh.w r2, [r3, r1, lsl #2]
8001b30: f022 02f0 bic.w r2, r2, #240 ; 0xf0
8001b34: 0492 lsls r2, r2, #18
8001b36: 0c92 lsrs r2, r2, #18
8001b38: f442 4200 orr.w r2, r2, #32768 ; 0x8000
8001b3c: f042 0280 orr.w r2, r2, #128 ; 0x80
8001b40: f823 2021 strh.w r2, [r3, r1, lsl #2]
8001b44: 4770 bx lr
8001b46: f8b3 6050 ldrh.w r6, [r3, #80] ; 0x50
8001b4a: 690d ldr r5, [r1, #16]
8001b4c: 4432 add r2, r6
8001b4e: f8a2 4408 strh.w r4, [r2, #1032] ; 0x408
8001b52: 780a ldrb r2, [r1, #0]
8001b54: f8b3 4050 ldrh.w r4, [r3, #80] ; 0x50
8001b58: eb03 1202 add.w r2, r3, r2, lsl #4
8001b5c: f202 420c addw r2, r2, #1036 ; 0x40c
8001b60: b2a4 uxth r4, r4
8001b62: b365 cbz r5, 8001bbe <USB_ActivateEndpoint+0x29e>
8001b64: 2d3e cmp r5, #62 ; 0x3e
8001b66: d84d bhi.n 8001c04 <USB_ActivateEndpoint+0x2e4>
8001b68: 086e lsrs r6, r5, #1
8001b6a: 07ed lsls r5, r5, #31
8001b6c: bf48 it mi
8001b6e: 3601 addmi r6, #1
8001b70: 02b6 lsls r6, r6, #10
8001b72: b2b6 uxth r6, r6
8001b74: 5316 strh r6, [r2, r4]
8001b76: 780c ldrb r4, [r1, #0]
8001b78: f833 5024 ldrh.w r5, [r3, r4, lsl #2]
8001b7c: eb03 0284 add.w r2, r3, r4, lsl #2
8001b80: 046e lsls r6, r5, #17
8001b82: d50e bpl.n 8001ba2 <USB_ActivateEndpoint+0x282>
8001b84: f833 2024 ldrh.w r2, [r3, r4, lsl #2]
8001b88: f022 02f0 bic.w r2, r2, #240 ; 0xf0
8001b8c: 0512 lsls r2, r2, #20
8001b8e: 0d12 lsrs r2, r2, #20
8001b90: f442 4240 orr.w r2, r2, #49152 ; 0xc000
8001b94: f042 0280 orr.w r2, r2, #128 ; 0x80
8001b98: f823 2024 strh.w r2, [r3, r4, lsl #2]
8001b9c: 780a ldrb r2, [r1, #0]
8001b9e: eb03 0282 add.w r2, r3, r2, lsl #2
8001ba2: 8811 ldrh r1, [r2, #0]
8001ba4: 4b20 ldr r3, [pc, #128] ; (8001c28 <USB_ActivateEndpoint+0x308>)
8001ba6: bc70 pop {r4, r5, r6}
8001ba8: 400b ands r3, r1
8001baa: f483 5340 eor.w r3, r3, #12288 ; 0x3000
8001bae: f443 4300 orr.w r3, r3, #32768 ; 0x8000
8001bb2: f043 0380 orr.w r3, r3, #128 ; 0x80
8001bb6: 8013 strh r3, [r2, #0]
8001bb8: 4770 bx lr
8001bba: 2001 movs r0, #1
8001bbc: e6c0 b.n 8001940 <USB_ActivateEndpoint+0x20>
8001bbe: 5b15 ldrh r5, [r2, r4]
8001bc0: f425 45f8 bic.w r5, r5, #31744 ; 0x7c00
8001bc4: 042d lsls r5, r5, #16
8001bc6: 0c2d lsrs r5, r5, #16
8001bc8: 5315 strh r5, [r2, r4]
8001bca: 5b15 ldrh r5, [r2, r4]
8001bcc: f445 4500 orr.w r5, r5, #32768 ; 0x8000
8001bd0: 5315 strh r5, [r2, r4]
8001bd2: e7d0 b.n 8001b76 <USB_ActivateEndpoint+0x256>
8001bd4: f833 2024 ldrh.w r2, [r3, r4, lsl #2]
8001bd8: f022 02c0 bic.w r2, r2, #192 ; 0xc0
8001bdc: 0512 lsls r2, r2, #20
8001bde: 0d12 lsrs r2, r2, #20
8001be0: f442 4200 orr.w r2, r2, #32768 ; 0x8000
8001be4: f042 0280 orr.w r2, r2, #128 ; 0x80
8001be8: f823 2024 strh.w r2, [r3, r4, lsl #2]
8001bec: e79c b.n 8001b28 <USB_ActivateEndpoint+0x208>
8001bee: 8823 ldrh r3, [r4, #0]
8001bf0: f023 03c0 bic.w r3, r3, #192 ; 0xc0
8001bf4: 051b lsls r3, r3, #20
8001bf6: 0d1b lsrs r3, r3, #20
8001bf8: f443 4300 orr.w r3, r3, #32768 ; 0x8000
8001bfc: f043 0380 orr.w r3, r3, #128 ; 0x80
8001c00: 8023 strh r3, [r4, #0]
8001c02: e752 b.n 8001aaa <USB_ActivateEndpoint+0x18a>
8001c04: 096e lsrs r6, r5, #5
8001c06: 06ed lsls r5, r5, #27
8001c08: 4d08 ldr r5, [pc, #32] ; (8001c2c <USB_ActivateEndpoint+0x30c>)
8001c0a: bf08 it eq
8001c0c: f106 36ff addeq.w r6, r6, #4294967295 ; 0xffffffff
8001c10: ea45 2586 orr.w r5, r5, r6, lsl #10
8001c14: b2ad uxth r5, r5
8001c16: 5315 strh r5, [r2, r4]
8001c18: e7ad b.n 8001b76 <USB_ActivateEndpoint+0x256>
8001c1a: bf00 nop
8001c1c: ffff898f .word 0xffff898f
8001c20: ffff8f8f .word 0xffff8f8f
8001c24: ffff8fbf .word 0xffff8fbf
8001c28: ffffbf8f .word 0xffffbf8f
8001c2c: ffff8000 .word 0xffff8000
08001c30 <USB_DeactivateEndpoint>:
8001c30: b430 push {r4, r5}
8001c32: 780a ldrb r2, [r1, #0]
8001c34: 7b0d ldrb r5, [r1, #12]
8001c36: eb00 0382 add.w r3, r0, r2, lsl #2
8001c3a: 784c ldrb r4, [r1, #1]
8001c3c: bb15 cbnz r5, 8001c84 <USB_DeactivateEndpoint+0x54>
8001c3e: 2c00 cmp r4, #0
8001c40: f000 8099 beq.w 8001d76 <USB_DeactivateEndpoint+0x146>
8001c44: f830 4022 ldrh.w r4, [r0, r2, lsl #2]
8001c48: 0664 lsls r4, r4, #25
8001c4a: d50e bpl.n 8001c6a <USB_DeactivateEndpoint+0x3a>
8001c4c: f830 3022 ldrh.w r3, [r0, r2, lsl #2]
8001c50: f023 03f0 bic.w r3, r3, #240 ; 0xf0
8001c54: 051b lsls r3, r3, #20
8001c56: 0d1b lsrs r3, r3, #20
8001c58: f443 4300 orr.w r3, r3, #32768 ; 0x8000
8001c5c: f043 03c0 orr.w r3, r3, #192 ; 0xc0
8001c60: f820 3022 strh.w r3, [r0, r2, lsl #2]
8001c64: 780b ldrb r3, [r1, #0]
8001c66: eb00 0383 add.w r3, r0, r3, lsl #2
8001c6a: 881a ldrh r2, [r3, #0]
8001c6c: 2000 movs r0, #0
8001c6e: bc30 pop {r4, r5}
8001c70: f022 02c0 bic.w r2, r2, #192 ; 0xc0
8001c74: 0512 lsls r2, r2, #20
8001c76: 0d12 lsrs r2, r2, #20
8001c78: f442 4200 orr.w r2, r2, #32768 ; 0x8000
8001c7c: f042 0280 orr.w r2, r2, #128 ; 0x80
8001c80: 801a strh r2, [r3, #0]
8001c82: 4770 bx lr
8001c84: 2c00 cmp r4, #0
8001c86: d141 bne.n 8001d0c <USB_DeactivateEndpoint+0xdc>
8001c88: f830 4022 ldrh.w r4, [r0, r2, lsl #2]
8001c8c: 0464 lsls r4, r4, #17
8001c8e: d50e bpl.n 8001cae <USB_DeactivateEndpoint+0x7e>
8001c90: f830 3022 ldrh.w r3, [r0, r2, lsl #2]
8001c94: f023 03f0 bic.w r3, r3, #240 ; 0xf0
8001c98: 051b lsls r3, r3, #20
8001c9a: 0d1b lsrs r3, r3, #20
8001c9c: f443 4340 orr.w r3, r3, #49152 ; 0xc000
8001ca0: f043 0380 orr.w r3, r3, #128 ; 0x80
8001ca4: f820 3022 strh.w r3, [r0, r2, lsl #2]
8001ca8: 780b ldrb r3, [r1, #0]
8001caa: eb00 0383 add.w r3, r0, r3, lsl #2
8001cae: 881a ldrh r2, [r3, #0]
8001cb0: 0655 lsls r5, r2, #25
8001cb2: d50c bpl.n 8001cce <USB_DeactivateEndpoint+0x9e>
8001cb4: 881a ldrh r2, [r3, #0]
8001cb6: f022 02f0 bic.w r2, r2, #240 ; 0xf0
8001cba: 0512 lsls r2, r2, #20
8001cbc: 0d12 lsrs r2, r2, #20
8001cbe: f442 4200 orr.w r2, r2, #32768 ; 0x8000
8001cc2: f042 02c0 orr.w r2, r2, #192 ; 0xc0
8001cc6: 801a strh r2, [r3, #0]
8001cc8: 780b ldrb r3, [r1, #0]
8001cca: eb00 0383 add.w r3, r0, r3, lsl #2
8001cce: f248 0580 movw r5, #32896 ; 0x8080
8001cd2: 881a ldrh r2, [r3, #0]
8001cd4: 4c3f ldr r4, [pc, #252] ; (8001dd4 <USB_DeactivateEndpoint+0x1a4>)
8001cd6: f022 02f0 bic.w r2, r2, #240 ; 0xf0
8001cda: 0512 lsls r2, r2, #20
8001cdc: 0d12 lsrs r2, r2, #20
8001cde: f442 4200 orr.w r2, r2, #32768 ; 0x8000
8001ce2: f042 02c0 orr.w r2, r2, #192 ; 0xc0
8001ce6: 801a strh r2, [r3, #0]
8001ce8: 780a ldrb r2, [r1, #0]
8001cea: f830 3022 ldrh.w r3, [r0, r2, lsl #2]
8001cee: 4023 ands r3, r4
8001cf0: 432b orrs r3, r5
8001cf2: f820 3022 strh.w r3, [r0, r2, lsl #2]
8001cf6: 780a ldrb r2, [r1, #0]
8001cf8: 4b37 ldr r3, [pc, #220] ; (8001dd8 <USB_DeactivateEndpoint+0x1a8>)
8001cfa: f830 1022 ldrh.w r1, [r0, r2, lsl #2]
8001cfe: 400b ands r3, r1
8001d00: 431d orrs r5, r3
8001d02: f820 5022 strh.w r5, [r0, r2, lsl #2]
8001d06: 2000 movs r0, #0
8001d08: bc30 pop {r4, r5}
8001d0a: 4770 bx lr
8001d0c: f830 4022 ldrh.w r4, [r0, r2, lsl #2]
8001d10: 0464 lsls r4, r4, #17
8001d12: d50e bpl.n 8001d32 <USB_DeactivateEndpoint+0x102>
8001d14: f830 3022 ldrh.w r3, [r0, r2, lsl #2]
8001d18: f023 03f0 bic.w r3, r3, #240 ; 0xf0
8001d1c: 051b lsls r3, r3, #20
8001d1e: 0d1b lsrs r3, r3, #20
8001d20: f443 4340 orr.w r3, r3, #49152 ; 0xc000
8001d24: f043 0380 orr.w r3, r3, #128 ; 0x80
8001d28: f820 3022 strh.w r3, [r0, r2, lsl #2]
8001d2c: 780b ldrb r3, [r1, #0]
8001d2e: eb00 0383 add.w r3, r0, r3, lsl #2
8001d32: 881a ldrh r2, [r3, #0]
8001d34: 0652 lsls r2, r2, #25
8001d36: d43e bmi.n 8001db6 <USB_DeactivateEndpoint+0x186>
8001d38: f248 0580 movw r5, #32896 ; 0x8080
8001d3c: 881a ldrh r2, [r3, #0]
8001d3e: 4c26 ldr r4, [pc, #152] ; (8001dd8 <USB_DeactivateEndpoint+0x1a8>)
8001d40: f022 02f0 bic.w r2, r2, #240 ; 0xf0
8001d44: 0512 lsls r2, r2, #20
8001d46: 0d12 lsrs r2, r2, #20
8001d48: f442 4240 orr.w r2, r2, #49152 ; 0xc000
8001d4c: f042 0280 orr.w r2, r2, #128 ; 0x80
8001d50: 801a strh r2, [r3, #0]
8001d52: 780a ldrb r2, [r1, #0]
8001d54: f830 3022 ldrh.w r3, [r0, r2, lsl #2]
8001d58: 4023 ands r3, r4
8001d5a: 432b orrs r3, r5
8001d5c: f820 3022 strh.w r3, [r0, r2, lsl #2]
8001d60: 780a ldrb r2, [r1, #0]
8001d62: 4b1c ldr r3, [pc, #112] ; (8001dd4 <USB_DeactivateEndpoint+0x1a4>)
8001d64: f830 1022 ldrh.w r1, [r0, r2, lsl #2]
8001d68: 400b ands r3, r1
8001d6a: 431d orrs r5, r3
8001d6c: f820 5022 strh.w r5, [r0, r2, lsl #2]
8001d70: 2000 movs r0, #0
8001d72: bc30 pop {r4, r5}
8001d74: 4770 bx lr
8001d76: f830 4022 ldrh.w r4, [r0, r2, lsl #2]
8001d7a: 0465 lsls r5, r4, #17
8001d7c: d50e bpl.n 8001d9c <USB_DeactivateEndpoint+0x16c>
8001d7e: f830 3022 ldrh.w r3, [r0, r2, lsl #2]
8001d82: f023 03f0 bic.w r3, r3, #240 ; 0xf0
8001d86: 051b lsls r3, r3, #20
8001d88: 0d1b lsrs r3, r3, #20
8001d8a: f443 4340 orr.w r3, r3, #49152 ; 0xc000
8001d8e: f043 0380 orr.w r3, r3, #128 ; 0x80
8001d92: f820 3022 strh.w r3, [r0, r2, lsl #2]
8001d96: 780b ldrb r3, [r1, #0]
8001d98: eb00 0383 add.w r3, r0, r3, lsl #2
8001d9c: 881a ldrh r2, [r3, #0]
8001d9e: 2000 movs r0, #0
8001da0: bc30 pop {r4, r5}
8001da2: f022 02f0 bic.w r2, r2, #240 ; 0xf0
8001da6: 0492 lsls r2, r2, #18
8001da8: 0c92 lsrs r2, r2, #18
8001daa: f442 4200 orr.w r2, r2, #32768 ; 0x8000
8001dae: f042 0280 orr.w r2, r2, #128 ; 0x80
8001db2: 801a strh r2, [r3, #0]
8001db4: 4770 bx lr
8001db6: 881a ldrh r2, [r3, #0]
8001db8: f022 02f0 bic.w r2, r2, #240 ; 0xf0
8001dbc: 0512 lsls r2, r2, #20
8001dbe: 0d12 lsrs r2, r2, #20
8001dc0: f442 4200 orr.w r2, r2, #32768 ; 0x8000
8001dc4: f042 02c0 orr.w r2, r2, #192 ; 0xc0
8001dc8: 801a strh r2, [r3, #0]
8001dca: 780b ldrb r3, [r1, #0]
8001dcc: eb00 0383 add.w r3, r0, r3, lsl #2
8001dd0: e7b2 b.n 8001d38 <USB_DeactivateEndpoint+0x108>
8001dd2: bf00 nop
8001dd4: ffffbf8f .word 0xffffbf8f
8001dd8: ffff8fbf .word 0xffff8fbf
08001ddc <USB_EPStartXfer>:
8001ddc: b4f0 push {r4, r5, r6, r7}
8001dde: 784c ldrb r4, [r1, #1]
8001de0: 698b ldr r3, [r1, #24]
8001de2: 2c01 cmp r4, #1
8001de4: 690a ldr r2, [r1, #16]
8001de6: d05a beq.n 8001e9e <USB_EPStartXfer+0xc2>
8001de8: 4293 cmp r3, r2
8001dea: bf98 it ls
8001dec: 2600 movls r6, #0
8001dee: 7b0d ldrb r5, [r1, #12]
8001df0: bf88 it hi
8001df2: 1a9e subhi r6, r3, r2
8001df4: 618e str r6, [r1, #24]
8001df6: bf88 it hi
8001df8: 4613 movhi r3, r2
8001dfa: 780a ldrb r2, [r1, #0]
8001dfc: bb15 cbnz r5, 8001e44 <USB_EPStartXfer+0x68>
8001dfe: f8b0 5050 ldrh.w r5, [r0, #80] ; 0x50
8001e02: f200 440c addw r4, r0, #1036 ; 0x40c
8001e06: 0112 lsls r2, r2, #4
8001e08: 442c add r4, r5
8001e0a: 2b00 cmp r3, #0
8001e0c: f000 80a8 beq.w 8001f60 <USB_EPStartXfer+0x184>
8001e10: 2b3e cmp r3, #62 ; 0x3e
8001e12: f200 80c9 bhi.w 8001fa8 <USB_EPStartXfer+0x1cc>
8001e16: 085d lsrs r5, r3, #1
8001e18: 07db lsls r3, r3, #31
8001e1a: bf48 it mi
8001e1c: 3501 addmi r5, #1
8001e1e: 02ad lsls r5, r5, #10
8001e20: b2ad uxth r5, r5
8001e22: 52a5 strh r5, [r4, r2]
8001e24: 780a ldrb r2, [r1, #0]
8001e26: f830 1022 ldrh.w r1, [r0, r2, lsl #2]
8001e2a: 4b7d ldr r3, [pc, #500] ; (8002020 <USB_EPStartXfer+0x244>)
8001e2c: bcf0 pop {r4, r5, r6, r7}
8001e2e: 400b ands r3, r1
8001e30: f483 5340 eor.w r3, r3, #12288 ; 0x3000
8001e34: f443 4300 orr.w r3, r3, #32768 ; 0x8000
8001e38: f043 0380 orr.w r3, r3, #128 ; 0x80
8001e3c: f820 3022 strh.w r3, [r0, r2, lsl #2]
8001e40: 2000 movs r0, #0
8001e42: 4770 bx lr
8001e44: 2c00 cmp r4, #0
8001e46: d1ee bne.n 8001e26 <USB_EPStartXfer+0x4a>
8001e48: f8b0 5050 ldrh.w r5, [r0, #80] ; 0x50
8001e4c: f200 4404 addw r4, r0, #1028 ; 0x404
8001e50: 0112 lsls r2, r2, #4
8001e52: 442c add r4, r5
8001e54: 2b00 cmp r3, #0
8001e56: f040 80b3 bne.w 8001fc0 <USB_EPStartXfer+0x1e4>
8001e5a: 5aa5 ldrh r5, [r4, r2]
8001e5c: 4e71 ldr r6, [pc, #452] ; (8002024 <USB_EPStartXfer+0x248>)
8001e5e: f425 45f8 bic.w r5, r5, #31744 ; 0x7c00
8001e62: 042d lsls r5, r5, #16
8001e64: 0c2d lsrs r5, r5, #16
8001e66: 52a5 strh r5, [r4, r2]
8001e68: 5aa5 ldrh r5, [r4, r2]
8001e6a: f445 4500 orr.w r5, r5, #32768 ; 0x8000
8001e6e: 52a5 strh r5, [r4, r2]
8001e70: 784c ldrb r4, [r1, #1]
8001e72: 2c00 cmp r4, #0
8001e74: f040 80af bne.w 8001fd6 <USB_EPStartXfer+0x1fa>
8001e78: f8b0 3050 ldrh.w r3, [r0, #80] ; 0x50
8001e7c: 780a ldrb r2, [r1, #0]
8001e7e: f200 440c addw r4, r0, #1036 ; 0x40c
8001e82: 0112 lsls r2, r2, #4
8001e84: 441c add r4, r3
8001e86: 5aa3 ldrh r3, [r4, r2]
8001e88: f423 43f8 bic.w r3, r3, #31744 ; 0x7c00
8001e8c: 041b lsls r3, r3, #16
8001e8e: 0c1b lsrs r3, r3, #16
8001e90: 52a3 strh r3, [r4, r2]
8001e92: 5aa3 ldrh r3, [r4, r2]
8001e94: 4333 orrs r3, r6
8001e96: b29b uxth r3, r3
8001e98: 52a3 strh r3, [r4, r2]
8001e9a: 780a ldrb r2, [r1, #0]
8001e9c: e7c3 b.n 8001e26 <USB_EPStartXfer+0x4a>
8001e9e: 4293 cmp r3, r2
8001ea0: bf86 itte hi
8001ea2: 1a9c subhi r4, r3, r2
8001ea4: 4613 movhi r3, r2
8001ea6: 2400 movls r4, #0
8001ea8: b29a uxth r2, r3
8001eaa: 7b0d ldrb r5, [r1, #12]
8001eac: 3201 adds r2, #1
8001eae: 0856 lsrs r6, r2, #1
8001eb0: 618c str r4, [r1, #24]
8001eb2: b29b uxth r3, r3
8001eb4: 694a ldr r2, [r1, #20]
8001eb6: f500 6780 add.w r7, r0, #1024 ; 0x400
8001eba: b36d cbz r5, 8001f18 <USB_EPStartXfer+0x13c>
8001ebc: 780d ldrb r5, [r1, #0]
8001ebe: f830 4025 ldrh.w r4, [r0, r5, lsl #2]
8001ec2: 012d lsls r5, r5, #4
8001ec4: 0664 lsls r4, r4, #25
8001ec6: f8b0 c050 ldrh.w ip, [r0, #80] ; 0x50
8001eca: d555 bpl.n 8001f78 <USB_EPStartXfer+0x19c>
8001ecc: f200 440c addw r4, r0, #1036 ; 0x40c
8001ed0: 4464 add r4, ip
8001ed2: 5363 strh r3, [r4, r5]
8001ed4: 894c ldrh r4, [r1, #10]
8001ed6: eb07 0444 add.w r4, r7, r4, lsl #1
8001eda: b13e cbz r6, 8001eec <USB_EPStartXfer+0x110>
8001edc: eb02 0346 add.w r3, r2, r6, lsl #1
8001ee0: f832 5b02 ldrh.w r5, [r2], #2
8001ee4: 4293 cmp r3, r2
8001ee6: f824 5b04 strh.w r5, [r4], #4
8001eea: d1f9 bne.n 8001ee0 <USB_EPStartXfer+0x104>
8001eec: 780c ldrb r4, [r1, #0]
8001eee: 784b ldrb r3, [r1, #1]
8001ef0: eb00 0284 add.w r2, r0, r4, lsl #2
8001ef4: 2b00 cmp r3, #0
8001ef6: d145 bne.n 8001f84 <USB_EPStartXfer+0x1a8>
8001ef8: f830 3024 ldrh.w r3, [r0, r4, lsl #2]
8001efc: f023 03f0 bic.w r3, r3, #240 ; 0xf0
8001f00: 051b lsls r3, r3, #20
8001f02: 0d1b lsrs r3, r3, #20
8001f04: f443 4300 orr.w r3, r3, #32768 ; 0x8000
8001f08: f043 03c0 orr.w r3, r3, #192 ; 0xc0
8001f0c: f820 3024 strh.w r3, [r0, r4, lsl #2]
8001f10: 780a ldrb r2, [r1, #0]
8001f12: eb00 0282 add.w r2, r0, r2, lsl #2
8001f16: e016 b.n 8001f46 <USB_EPStartXfer+0x16a>
8001f18: 88cc ldrh r4, [r1, #6]
8001f1a: eb07 0444 add.w r4, r7, r4, lsl #1
8001f1e: b13e cbz r6, 8001f30 <USB_EPStartXfer+0x154>
8001f20: eb04 0686 add.w r6, r4, r6, lsl #2
8001f24: f832 5b02 ldrh.w r5, [r2], #2
8001f28: f824 5b04 strh.w r5, [r4], #4
8001f2c: 42a6 cmp r6, r4
8001f2e: d1f9 bne.n 8001f24 <USB_EPStartXfer+0x148>
8001f30: f8b0 5050 ldrh.w r5, [r0, #80] ; 0x50
8001f34: 780c ldrb r4, [r1, #0]
8001f36: f200 4204 addw r2, r0, #1028 ; 0x404
8001f3a: 442a add r2, r5
8001f3c: 0124 lsls r4, r4, #4
8001f3e: 52a3 strh r3, [r4, r2]
8001f40: 780a ldrb r2, [r1, #0]
8001f42: eb00 0282 add.w r2, r0, r2, lsl #2
8001f46: 8811 ldrh r1, [r2, #0]
8001f48: 4b37 ldr r3, [pc, #220] ; (8002028 <USB_EPStartXfer+0x24c>)
8001f4a: 2000 movs r0, #0
8001f4c: bcf0 pop {r4, r5, r6, r7}
8001f4e: 400b ands r3, r1
8001f50: f083 0330 eor.w r3, r3, #48 ; 0x30
8001f54: f443 4300 orr.w r3, r3, #32768 ; 0x8000
8001f58: f043 0380 orr.w r3, r3, #128 ; 0x80
8001f5c: 8013 strh r3, [r2, #0]
8001f5e: 4770 bx lr
8001f60: 5aa3 ldrh r3, [r4, r2]
8001f62: f423 43f8 bic.w r3, r3, #31744 ; 0x7c00
8001f66: 041b lsls r3, r3, #16
8001f68: 0c1b lsrs r3, r3, #16
8001f6a: 52a3 strh r3, [r4, r2]
8001f6c: 5aa3 ldrh r3, [r4, r2]
8001f6e: f443 4300 orr.w r3, r3, #32768 ; 0x8000
8001f72: 52a3 strh r3, [r4, r2]
8001f74: 780a ldrb r2, [r1, #0]
8001f76: e756 b.n 8001e26 <USB_EPStartXfer+0x4a>
8001f78: f200 4404 addw r4, r0, #1028 ; 0x404
8001f7c: 4464 add r4, ip
8001f7e: 5363 strh r3, [r4, r5]
8001f80: 890c ldrh r4, [r1, #8]
8001f82: e7a8 b.n 8001ed6 <USB_EPStartXfer+0xfa>
8001f84: 2b01 cmp r3, #1
8001f86: d1de bne.n 8001f46 <USB_EPStartXfer+0x16a>
8001f88: f830 3024 ldrh.w r3, [r0, r4, lsl #2]
8001f8c: f023 03f0 bic.w r3, r3, #240 ; 0xf0
8001f90: 051b lsls r3, r3, #20
8001f92: 0d1b lsrs r3, r3, #20
8001f94: f443 4340 orr.w r3, r3, #49152 ; 0xc000
8001f98: f043 0380 orr.w r3, r3, #128 ; 0x80
8001f9c: f820 3024 strh.w r3, [r0, r4, lsl #2]
8001fa0: 780a ldrb r2, [r1, #0]
8001fa2: eb00 0282 add.w r2, r0, r2, lsl #2
8001fa6: e7ce b.n 8001f46 <USB_EPStartXfer+0x16a>
8001fa8: 095d lsrs r5, r3, #5
8001faa: 06df lsls r7, r3, #27
8001fac: 4b1d ldr r3, [pc, #116] ; (8002024 <USB_EPStartXfer+0x248>)
8001fae: bf08 it eq
8001fb0: f105 35ff addeq.w r5, r5, #4294967295 ; 0xffffffff
8001fb4: ea43 2385 orr.w r3, r3, r5, lsl #10
8001fb8: b29b uxth r3, r3
8001fba: 52a3 strh r3, [r4, r2]
8001fbc: 780a ldrb r2, [r1, #0]
8001fbe: e732 b.n 8001e26 <USB_EPStartXfer+0x4a>
8001fc0: 2b3e cmp r3, #62 ; 0x3e
8001fc2: d816 bhi.n 8001ff2 <USB_EPStartXfer+0x216>
8001fc4: 085d lsrs r5, r3, #1
8001fc6: 07de lsls r6, r3, #31
8001fc8: bf48 it mi
8001fca: 3501 addmi r5, #1
8001fcc: 02ad lsls r5, r5, #10
8001fce: b2ad uxth r5, r5
8001fd0: 52a5 strh r5, [r4, r2]
8001fd2: 784c ldrb r4, [r1, #1]
8001fd4: b1d4 cbz r4, 800200c <USB_EPStartXfer+0x230>
8001fd6: 2c01 cmp r4, #1
8001fd8: 780a ldrb r2, [r1, #0]
8001fda: f47f af24 bne.w 8001e26 <USB_EPStartXfer+0x4a>
8001fde: f8b0 5050 ldrh.w r5, [r0, #80] ; 0x50
8001fe2: f200 440c addw r4, r0, #1036 ; 0x40c
8001fe6: 0112 lsls r2, r2, #4
8001fe8: b29b uxth r3, r3
8001fea: 442c add r4, r5
8001fec: 52a3 strh r3, [r4, r2]
8001fee: 780a ldrb r2, [r1, #0]
8001ff0: e719 b.n 8001e26 <USB_EPStartXfer+0x4a>
8001ff2: 095e lsrs r6, r3, #5
8001ff4: 06dd lsls r5, r3, #27
8001ff6: 4d0b ldr r5, [pc, #44] ; (8002024 <USB_EPStartXfer+0x248>)
8001ff8: bf08 it eq
8001ffa: f106 36ff addeq.w r6, r6, #4294967295 ; 0xffffffff
8001ffe: ea45 2586 orr.w r5, r5, r6, lsl #10
8002002: b2ad uxth r5, r5
8002004: 52a5 strh r5, [r4, r2]
8002006: 784c ldrb r4, [r1, #1]
8002008: 2c00 cmp r4, #0
800200a: d1e4 bne.n 8001fd6 <USB_EPStartXfer+0x1fa>
800200c: f8b0 4050 ldrh.w r4, [r0, #80] ; 0x50
8002010: 780b ldrb r3, [r1, #0]
8002012: f200 420c addw r2, r0, #1036 ; 0x40c
8002016: 4422 add r2, r4
8002018: 011b lsls r3, r3, #4
800201a: 52d5 strh r5, [r2, r3]
800201c: 780a ldrb r2, [r1, #0]
800201e: e702 b.n 8001e26 <USB_EPStartXfer+0x4a>
8002020: ffffbf8f .word 0xffffbf8f
8002024: ffff8000 .word 0xffff8000
8002028: ffff8fbf .word 0xffff8fbf
0800202c <USB_EPSetStall>:
800202c: 784b ldrb r3, [r1, #1]
800202e: 780a ldrb r2, [r1, #0]
8002030: f830 1022 ldrh.w r1, [r0, r2, lsl #2]
8002034: b95b cbnz r3, 800204e <USB_EPSetStall+0x22>
8002036: 4b0c ldr r3, [pc, #48] ; (8002068 <USB_EPSetStall+0x3c>)
8002038: 400b ands r3, r1
800203a: f483 5380 eor.w r3, r3, #4096 ; 0x1000
800203e: f443 4300 orr.w r3, r3, #32768 ; 0x8000
8002042: f043 0380 orr.w r3, r3, #128 ; 0x80
8002046: f820 3022 strh.w r3, [r0, r2, lsl #2]
800204a: 2000 movs r0, #0
800204c: 4770 bx lr
800204e: 4b07 ldr r3, [pc, #28] ; (800206c <USB_EPSetStall+0x40>)
8002050: 400b ands r3, r1
8002052: f083 0310 eor.w r3, r3, #16
8002056: f443 4300 orr.w r3, r3, #32768 ; 0x8000
800205a: f043 0380 orr.w r3, r3, #128 ; 0x80
800205e: f820 3022 strh.w r3, [r0, r2, lsl #2]
8002062: 2000 movs r0, #0
8002064: 4770 bx lr
8002066: bf00 nop
8002068: ffffbf8f .word 0xffffbf8f
800206c: ffff8fbf .word 0xffff8fbf
08002070 <USB_EPClearStall>:
8002070: 7b0b ldrb r3, [r1, #12]
8002072: 2b00 cmp r3, #0
8002074: d139 bne.n 80020ea <USB_EPClearStall+0x7a>
8002076: b410 push {r4}
8002078: 780b ldrb r3, [r1, #0]
800207a: 784c ldrb r4, [r1, #1]
800207c: eb00 0283 add.w r2, r0, r3, lsl #2
8002080: b314 cbz r4, 80020c8 <USB_EPClearStall+0x58>
8002082: f830 2023 ldrh.w r2, [r0, r3, lsl #2]
8002086: 0652 lsls r2, r2, #25
8002088: d50b bpl.n 80020a2 <USB_EPClearStall+0x32>
800208a: f830 2023 ldrh.w r2, [r0, r3, lsl #2]
800208e: f022 02f0 bic.w r2, r2, #240 ; 0xf0
8002092: 0512 lsls r2, r2, #20
8002094: 0d12 lsrs r2, r2, #20
8002096: f442 4200 orr.w r2, r2, #32768 ; 0x8000
800209a: f042 02c0 orr.w r2, r2, #192 ; 0xc0
800209e: f820 2023 strh.w r2, [r0, r3, lsl #2]
80020a2: 78cb ldrb r3, [r1, #3]
80020a4: 2b01 cmp r3, #1
80020a6: d01d beq.n 80020e4 <USB_EPClearStall+0x74>
80020a8: 780a ldrb r2, [r1, #0]
80020aa: 4b19 ldr r3, [pc, #100] ; (8002110 <USB_EPClearStall+0xa0>)
80020ac: f830 1022 ldrh.w r1, [r0, r2, lsl #2]
80020b0: bc10 pop {r4}
80020b2: 400b ands r3, r1
80020b4: f083 0320 eor.w r3, r3, #32
80020b8: f443 4300 orr.w r3, r3, #32768 ; 0x8000
80020bc: f043 0380 orr.w r3, r3, #128 ; 0x80
80020c0: f820 3022 strh.w r3, [r0, r2, lsl #2]
80020c4: 2000 movs r0, #0
80020c6: 4770 bx lr
80020c8: f830 4023 ldrh.w r4, [r0, r3, lsl #2]
80020cc: 0464 lsls r4, r4, #17
80020ce: d40e bmi.n 80020ee <USB_EPClearStall+0x7e>
80020d0: 8811 ldrh r1, [r2, #0]
80020d2: 4b10 ldr r3, [pc, #64] ; (8002114 <USB_EPClearStall+0xa4>)
80020d4: 400b ands r3, r1
80020d6: f483 5340 eor.w r3, r3, #12288 ; 0x3000
80020da: f443 4300 orr.w r3, r3, #32768 ; 0x8000
80020de: f043 0380 orr.w r3, r3, #128 ; 0x80
80020e2: 8013 strh r3, [r2, #0]
80020e4: 2000 movs r0, #0
80020e6: bc10 pop {r4}
80020e8: 4770 bx lr
80020ea: 2000 movs r0, #0
80020ec: 4770 bx lr
80020ee: f830 2023 ldrh.w r2, [r0, r3, lsl #2]
80020f2: f022 02f0 bic.w r2, r2, #240 ; 0xf0
80020f6: 0512 lsls r2, r2, #20
80020f8: 0d12 lsrs r2, r2, #20
80020fa: f442 4240 orr.w r2, r2, #49152 ; 0xc000
80020fe: f042 0280 orr.w r2, r2, #128 ; 0x80
8002102: f820 2023 strh.w r2, [r0, r3, lsl #2]
8002106: 780a ldrb r2, [r1, #0]
8002108: eb00 0282 add.w r2, r0, r2, lsl #2
800210c: e7e0 b.n 80020d0 <USB_EPClearStall+0x60>
800210e: bf00 nop
8002110: ffff8fbf .word 0xffff8fbf
8002114: ffffbf8f .word 0xffffbf8f
08002118 <USB_SetDevAddress>:
8002118: b911 cbnz r1, 8002120 <USB_SetDevAddress+0x8>
800211a: 2380 movs r3, #128 ; 0x80
800211c: f8a0 304c strh.w r3, [r0, #76] ; 0x4c
8002120: 2000 movs r0, #0
8002122: 4770 bx lr
08002124 <USB_DevConnect>:
8002124: 2000 movs r0, #0
8002126: 4770 bx lr
08002128 <USB_DevDisconnect>:
8002128: 2000 movs r0, #0
800212a: 4770 bx lr
0800212c <USB_ReadInterrupts>:
800212c: f8b0 0044 ldrh.w r0, [r0, #68] ; 0x44
8002130: 4770 bx lr
8002132: bf00 nop
08002134 <USB_EP0_OutStart>:
8002134: 2000 movs r0, #0
8002136: 4770 bx lr
08002138 <USB_ReadPMA>:
8002138: eb00 0242 add.w r2, r0, r2, lsl #1
800213c: 0858 lsrs r0, r3, #1
800213e: f502 6280 add.w r2, r2, #1024 ; 0x400
8002142: d01a beq.n 800217a <USB_ReadPMA+0x42>
8002144: b4f0 push {r4, r5, r6, r7}
8002146: 4617 mov r7, r2
8002148: 4606 mov r6, r0
800214a: 1c8d adds r5, r1, #2
800214c: f837 4b04 ldrh.w r4, [r7], #4
8002150: 3e01 subs r6, #1
8002152: b2a4 uxth r4, r4
8002154: ea4f 2c14 mov.w ip, r4, lsr #8
8002158: f805 4c02 strb.w r4, [r5, #-2]
800215c: f805 cc01 strb.w ip, [r5, #-1]
8002160: f105 0502 add.w r5, r5, #2
8002164: d1f2 bne.n 800214c <USB_ReadPMA+0x14>
8002166: bcf0 pop {r4, r5, r6, r7}
8002168: eb01 0140 add.w r1, r1, r0, lsl #1
800216c: eb02 0280 add.w r2, r2, r0, lsl #2
8002170: 07d8 lsls r0, r3, #31
8002172: bf44 itt mi
8002174: 8813 ldrhmi r3, [r2, #0]
8002176: 700b strbmi r3, [r1, #0]
8002178: 4770 bx lr
800217a: 07db lsls r3, r3, #31
800217c: bf44 itt mi
800217e: 8813 ldrhmi r3, [r2, #0]
8002180: 700b strbmi r3, [r1, #0]
8002182: 4770 bx lr
08002184 <USBD_CDC_EP0_RxReady>:
8002184: f8d0 32bc ldr.w r3, [r0, #700] ; 0x2bc
8002188: b183 cbz r3, 80021ac <USBD_CDC_EP0_RxReady+0x28>
800218a: b510 push {r4, lr}
800218c: f8d0 42b8 ldr.w r4, [r0, #696] ; 0x2b8
8002190: f894 0200 ldrb.w r0, [r4, #512] ; 0x200
8002194: 28ff cmp r0, #255 ; 0xff
8002196: d007 beq.n 80021a8 <USBD_CDC_EP0_RxReady+0x24>
8002198: 689b ldr r3, [r3, #8]
800219a: f894 2201 ldrb.w r2, [r4, #513] ; 0x201
800219e: 4621 mov r1, r4
80021a0: 4798 blx r3
80021a2: 23ff movs r3, #255 ; 0xff
80021a4: f884 3200 strb.w r3, [r4, #512] ; 0x200
80021a8: 2000 movs r0, #0
80021aa: bd10 pop {r4, pc}
80021ac: 2000 movs r0, #0
80021ae: 4770 bx lr
080021b0 <USBD_CDC_GetFSCfgDesc>:
80021b0: 2343 movs r3, #67 ; 0x43
80021b2: 8003 strh r3, [r0, #0]
80021b4: 4800 ldr r0, [pc, #0] ; (80021b8 <USBD_CDC_GetFSCfgDesc+0x8>)
80021b6: 4770 bx lr
80021b8: 20000040 .word 0x20000040
080021bc <USBD_CDC_GetHSCfgDesc>:
80021bc: 2343 movs r3, #67 ; 0x43
80021be: 8003 strh r3, [r0, #0]
80021c0: 4800 ldr r0, [pc, #0] ; (80021c4 <USBD_CDC_GetHSCfgDesc+0x8>)
80021c2: 4770 bx lr
80021c4: 20000084 .word 0x20000084
080021c8 <USBD_CDC_GetOtherSpeedCfgDesc>:
80021c8: 2343 movs r3, #67 ; 0x43
80021ca: 8003 strh r3, [r0, #0]
80021cc: 4800 ldr r0, [pc, #0] ; (80021d0 <USBD_CDC_GetOtherSpeedCfgDesc+0x8>)
80021ce: 4770 bx lr
80021d0: 200000d4 .word 0x200000d4
080021d4 <USBD_CDC_GetDeviceQualifierDescriptor>:
80021d4: 230a movs r3, #10
80021d6: 8003 strh r3, [r0, #0]
80021d8: 4800 ldr r0, [pc, #0] ; (80021dc <USBD_CDC_GetDeviceQualifierDescriptor+0x8>)
80021da: 4770 bx lr
80021dc: 200000c8 .word 0x200000c8
080021e0 <USBD_CDC_DataOut>:
80021e0: b538 push {r3, r4, r5, lr}
80021e2: 4604 mov r4, r0
80021e4: f8d0 52b8 ldr.w r5, [r0, #696] ; 0x2b8
80021e8: f001 fff0 bl 80041cc <USBD_LL_GetRxDataSize>
80021ec: f8d4 32b8 ldr.w r3, [r4, #696] ; 0x2b8
80021f0: f8c5 020c str.w r0, [r5, #524] ; 0x20c
80021f4: b14b cbz r3, 800220a <USBD_CDC_DataOut+0x2a>
80021f6: f8d4 32bc ldr.w r3, [r4, #700] ; 0x2bc
80021fa: f505 7103 add.w r1, r5, #524 ; 0x20c
80021fe: 68db ldr r3, [r3, #12]
8002200: f8d5 0204 ldr.w r0, [r5, #516] ; 0x204
8002204: 4798 blx r3
8002206: 2000 movs r0, #0
8002208: bd38 pop {r3, r4, r5, pc}
800220a: 2002 movs r0, #2
800220c: bd38 pop {r3, r4, r5, pc}
800220e: bf00 nop
08002210 <USBD_CDC_DataIn>:
8002210: b5f8 push {r3, r4, r5, r6, r7, lr}
8002212: f8d0 62b8 ldr.w r6, [r0, #696] ; 0x2b8
8002216: b1d6 cbz r6, 800224e <USBD_CDC_DataIn+0x3e>
8002218: eb01 0381 add.w r3, r1, r1, lsl #2
800221c: eb00 0383 add.w r3, r0, r3, lsl #2
8002220: 69df ldr r7, [r3, #28]
8002222: b14f cbz r7, 8002238 <USBD_CDC_DataIn+0x28>
8002224: f8d0 22c0 ldr.w r2, [r0, #704] ; 0x2c0
8002228: eb02 1541 add.w r5, r2, r1, lsl #5
800222c: 6baa ldr r2, [r5, #56] ; 0x38
800222e: fbb7 f4f2 udiv r4, r7, r2
8002232: fb02 7414 mls r4, r2, r4, r7
8002236: b11c cbz r4, 8002240 <USBD_CDC_DataIn+0x30>
8002238: 2000 movs r0, #0
800223a: f8c6 0214 str.w r0, [r6, #532] ; 0x214
800223e: bdf8 pop {r3, r4, r5, r6, r7, pc}
8002240: 61dc str r4, [r3, #28]
8002242: 4622 mov r2, r4
8002244: 4623 mov r3, r4
8002246: f001 ffa5 bl 8004194 <USBD_LL_Transmit>
800224a: 4620 mov r0, r4
800224c: bdf8 pop {r3, r4, r5, r6, r7, pc}
800224e: 2002 movs r0, #2
8002250: bdf8 pop {r3, r4, r5, r6, r7, pc}
8002252: bf00 nop
08002254 <USBD_CDC_Setup>:
8002254: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
8002258: 2700 movs r7, #0
800225a: 780b ldrb r3, [r1, #0]
800225c: b082 sub sp, #8
800225e: f013 0460 ands.w r4, r3, #96 ; 0x60
8002262: 460d mov r5, r1
8002264: 4606 mov r6, r0
8002266: f8d0 82b8 ldr.w r8, [r0, #696] ; 0x2b8
800226a: f88d 7005 strb.w r7, [sp, #5]
800226e: f8ad 7006 strh.w r7, [sp, #6]
8002272: d00f beq.n 8002294 <USBD_CDC_Setup+0x40>
8002274: 2c20 cmp r4, #32
8002276: d117 bne.n 80022a8 <USBD_CDC_Setup+0x54>
8002278: 88cc ldrh r4, [r1, #6]
800227a: f891 c001 ldrb.w ip, [r1, #1]
800227e: bb64 cbnz r4, 80022da <USBD_CDC_Setup+0x86>
8002280: f8d0 32bc ldr.w r3, [r0, #700] ; 0x2bc
8002284: 4622 mov r2, r4
8002286: 4660 mov r0, ip
8002288: 689b ldr r3, [r3, #8]
800228a: 4798 blx r3
800228c: 4620 mov r0, r4
800228e: b002 add sp, #8
8002290: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
8002294: 784f ldrb r7, [r1, #1]
8002296: 2f0a cmp r7, #10
8002298: d014 beq.n 80022c4 <USBD_CDC_Setup+0x70>
800229a: 2f0b cmp r7, #11
800229c: d00c beq.n 80022b8 <USBD_CDC_Setup+0x64>
800229e: b91f cbnz r7, 80022a8 <USBD_CDC_Setup+0x54>
80022a0: f890 329c ldrb.w r3, [r0, #668] ; 0x29c
80022a4: 2b03 cmp r3, #3
80022a6: d028 beq.n 80022fa <USBD_CDC_Setup+0xa6>
80022a8: 4630 mov r0, r6
80022aa: 4629 mov r1, r5
80022ac: f000 fc84 bl 8002bb8 <USBD_CtlError>
80022b0: 2002 movs r0, #2
80022b2: b002 add sp, #8
80022b4: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
80022b8: f890 329c ldrb.w r3, [r0, #668] ; 0x29c
80022bc: 2b03 cmp r3, #3
80022be: d1f3 bne.n 80022a8 <USBD_CDC_Setup+0x54>
80022c0: 4620 mov r0, r4
80022c2: e7f6 b.n 80022b2 <USBD_CDC_Setup+0x5e>
80022c4: f890 329c ldrb.w r3, [r0, #668] ; 0x29c
80022c8: 2b03 cmp r3, #3
80022ca: d1ed bne.n 80022a8 <USBD_CDC_Setup+0x54>
80022cc: 2201 movs r2, #1
80022ce: f10d 0105 add.w r1, sp, #5
80022d2: f000 fca3 bl 8002c1c <USBD_CtlSendData>
80022d6: 4620 mov r0, r4
80022d8: e7eb b.n 80022b2 <USBD_CDC_Setup+0x5e>
80022da: 061b lsls r3, r3, #24
80022dc: d514 bpl.n 8002308 <USBD_CDC_Setup+0xb4>
80022de: f8d0 32bc ldr.w r3, [r0, #700] ; 0x2bc
80022e2: 4622 mov r2, r4
80022e4: 4660 mov r0, ip
80022e6: 689b ldr r3, [r3, #8]
80022e8: 4641 mov r1, r8
80022ea: 4798 blx r3
80022ec: 88ea ldrh r2, [r5, #6]
80022ee: 4641 mov r1, r8
80022f0: 4630 mov r0, r6
80022f2: f000 fc93 bl 8002c1c <USBD_CtlSendData>
80022f6: 4638 mov r0, r7
80022f8: e7db b.n 80022b2 <USBD_CDC_Setup+0x5e>
80022fa: 2202 movs r2, #2
80022fc: f10d 0106 add.w r1, sp, #6
8002300: f000 fc8c bl 8002c1c <USBD_CtlSendData>
8002304: 4638 mov r0, r7
8002306: e7d4 b.n 80022b2 <USBD_CDC_Setup+0x5e>
8002308: f888 c200 strb.w ip, [r8, #512] ; 0x200
800230c: f888 4201 strb.w r4, [r8, #513] ; 0x201
8002310: 4622 mov r2, r4
8002312: 4641 mov r1, r8
8002314: f000 fc98 bl 8002c48 <USBD_CtlPrepareRx>
8002318: 4638 mov r0, r7
800231a: e7ca b.n 80022b2 <USBD_CDC_Setup+0x5e>
0800231c <USBD_CDC_DeInit>:
800231c: b538 push {r3, r4, r5, lr}
800231e: 4604 mov r4, r0
8002320: 2500 movs r5, #0
8002322: 2181 movs r1, #129 ; 0x81
8002324: f001 feee bl 8004104 <USBD_LL_CloseEP>
8002328: 2101 movs r1, #1
800232a: 62e5 str r5, [r4, #44] ; 0x2c
800232c: 4620 mov r0, r4
800232e: f001 fee9 bl 8004104 <USBD_LL_CloseEP>
8002332: f8c4 516c str.w r5, [r4, #364] ; 0x16c
8002336: 4620 mov r0, r4
8002338: 2182 movs r1, #130 ; 0x82
800233a: f001 fee3 bl 8004104 <USBD_LL_CloseEP>
800233e: f8d4 32b8 ldr.w r3, [r4, #696] ; 0x2b8
8002342: 6425 str r5, [r4, #64] ; 0x40
8002344: b14b cbz r3, 800235a <USBD_CDC_DeInit+0x3e>
8002346: f8d4 32bc ldr.w r3, [r4, #700] ; 0x2bc
800234a: 685b ldr r3, [r3, #4]
800234c: 4798 blx r3
800234e: f8d4 02b8 ldr.w r0, [r4, #696] ; 0x2b8
8002352: f001 ff43 bl 80041dc <USBD_static_free>
8002356: f8c4 52b8 str.w r5, [r4, #696] ; 0x2b8
800235a: 2000 movs r0, #0
800235c: bd38 pop {r3, r4, r5, pc}
800235e: bf00 nop
08002360 <USBD_CDC_Init>:
8002360: 7c03 ldrb r3, [r0, #16]
8002362: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
8002366: 4604 mov r4, r0
8002368: 2501 movs r5, #1
800236a: bbbb cbnz r3, 80023dc <USBD_CDC_Init+0x7c>
800236c: f44f 7300 mov.w r3, #512 ; 0x200
8002370: 2202 movs r2, #2
8002372: 2181 movs r1, #129 ; 0x81
8002374: f001 feb6 bl 80040e4 <USBD_LL_OpenEP>
8002378: 62e5 str r5, [r4, #44] ; 0x2c
800237a: 4629 mov r1, r5
800237c: f44f 7300 mov.w r3, #512 ; 0x200
8002380: 2202 movs r2, #2
8002382: 4620 mov r0, r4
8002384: f001 feae bl 80040e4 <USBD_LL_OpenEP>
8002388: f8c4 516c str.w r5, [r4, #364] ; 0x16c
800238c: 2701 movs r7, #1
800238e: 2308 movs r3, #8
8002390: 2203 movs r2, #3
8002392: 2182 movs r1, #130 ; 0x82
8002394: 4620 mov r0, r4
8002396: f001 fea5 bl 80040e4 <USBD_LL_OpenEP>
800239a: 6427 str r7, [r4, #64] ; 0x40
800239c: f44f 7007 mov.w r0, #540 ; 0x21c
80023a0: f001 ff18 bl 80041d4 <USBD_static_malloc>
80023a4: 4605 mov r5, r0
80023a6: f8c4 02b8 str.w r0, [r4, #696] ; 0x2b8
80023aa: b368 cbz r0, 8002408 <USBD_CDC_Init+0xa8>
80023ac: 2600 movs r6, #0
80023ae: f8d4 32bc ldr.w r3, [r4, #700] ; 0x2bc
80023b2: 681b ldr r3, [r3, #0]
80023b4: 4798 blx r3
80023b6: f894 8010 ldrb.w r8, [r4, #16]
80023ba: f8d5 2204 ldr.w r2, [r5, #516] ; 0x204
80023be: f8c5 6214 str.w r6, [r5, #532] ; 0x214
80023c2: 4639 mov r1, r7
80023c4: f8c5 6218 str.w r6, [r5, #536] ; 0x218
80023c8: 4620 mov r0, r4
80023ca: f1b8 0f00 cmp.w r8, #0
80023ce: d014 beq.n 80023fa <USBD_CDC_Init+0x9a>
80023d0: 2340 movs r3, #64 ; 0x40
80023d2: f001 feed bl 80041b0 <USBD_LL_PrepareReceive>
80023d6: 4630 mov r0, r6
80023d8: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
80023dc: 2340 movs r3, #64 ; 0x40
80023de: 2202 movs r2, #2
80023e0: 2181 movs r1, #129 ; 0x81
80023e2: f001 fe7f bl 80040e4 <USBD_LL_OpenEP>
80023e6: 62e5 str r5, [r4, #44] ; 0x2c
80023e8: 4629 mov r1, r5
80023ea: 2340 movs r3, #64 ; 0x40
80023ec: 2202 movs r2, #2
80023ee: 4620 mov r0, r4
80023f0: f001 fe78 bl 80040e4 <USBD_LL_OpenEP>
80023f4: f8c4 516c str.w r5, [r4, #364] ; 0x16c
80023f8: e7c8 b.n 800238c <USBD_CDC_Init+0x2c>
80023fa: f44f 7300 mov.w r3, #512 ; 0x200
80023fe: f001 fed7 bl 80041b0 <USBD_LL_PrepareReceive>
8002402: 4640 mov r0, r8
8002404: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
8002408: 4638 mov r0, r7
800240a: e7e5 b.n 80023d8 <USBD_CDC_Init+0x78>
0800240c <USBD_CDC_RegisterInterface>:
800240c: b119 cbz r1, 8002416 <USBD_CDC_RegisterInterface+0xa>
800240e: f8c0 12bc str.w r1, [r0, #700] ; 0x2bc
8002412: 2000 movs r0, #0
8002414: 4770 bx lr
8002416: 2002 movs r0, #2
8002418: 4770 bx lr
800241a: bf00 nop
0800241c <USBD_CDC_SetTxBuffer>:
800241c: f8d0 32b8 ldr.w r3, [r0, #696] ; 0x2b8
8002420: 2000 movs r0, #0
8002422: f8c3 1208 str.w r1, [r3, #520] ; 0x208
8002426: f8c3 2210 str.w r2, [r3, #528] ; 0x210
800242a: 4770 bx lr
0800242c <USBD_CDC_SetRxBuffer>:
800242c: f8d0 32b8 ldr.w r3, [r0, #696] ; 0x2b8
8002430: 2000 movs r0, #0
8002432: f8c3 1204 str.w r1, [r3, #516] ; 0x204
8002436: 4770 bx lr
08002438 <USBD_CDC_ReceivePacket>:
8002438: f8d0 22b8 ldr.w r2, [r0, #696] ; 0x2b8
800243c: b18a cbz r2, 8002462 <USBD_CDC_ReceivePacket+0x2a>
800243e: b510 push {r4, lr}
8002440: 7c04 ldrb r4, [r0, #16]
8002442: f8d2 2204 ldr.w r2, [r2, #516] ; 0x204
8002446: b12c cbz r4, 8002454 <USBD_CDC_ReceivePacket+0x1c>
8002448: 2340 movs r3, #64 ; 0x40
800244a: 2101 movs r1, #1
800244c: f001 feb0 bl 80041b0 <USBD_LL_PrepareReceive>
8002450: 2000 movs r0, #0
8002452: bd10 pop {r4, pc}
8002454: f44f 7300 mov.w r3, #512 ; 0x200
8002458: 2101 movs r1, #1
800245a: f001 fea9 bl 80041b0 <USBD_LL_PrepareReceive>
800245e: 4620 mov r0, r4
8002460: bd10 pop {r4, pc}
8002462: 2002 movs r0, #2
8002464: 4770 bx lr
8002466: bf00 nop
08002468 <USBD_Init>:
8002468: b188 cbz r0, 800248e <USBD_Init+0x26>
800246a: b508 push {r3, lr}
800246c: f8d0 32b4 ldr.w r3, [r0, #692] ; 0x2b4
8002470: b113 cbz r3, 8002478 <USBD_Init+0x10>
8002472: 2300 movs r3, #0
8002474: f8c0 32b4 str.w r3, [r0, #692] ; 0x2b4
8002478: b109 cbz r1, 800247e <USBD_Init+0x16>
800247a: f8c0 12b0 str.w r1, [r0, #688] ; 0x2b0
800247e: 2301 movs r3, #1
8002480: 7002 strb r2, [r0, #0]
8002482: f880 329c strb.w r3, [r0, #668] ; 0x29c
8002486: f001 fddd bl 8004044 <USBD_LL_Init>
800248a: 2000 movs r0, #0
800248c: bd08 pop {r3, pc}
800248e: 2002 movs r0, #2
8002490: 4770 bx lr
8002492: bf00 nop
08002494 <USBD_RegisterClass>:
8002494: b119 cbz r1, 800249e <USBD_RegisterClass+0xa>
8002496: f8c0 12b4 str.w r1, [r0, #692] ; 0x2b4
800249a: 2000 movs r0, #0
800249c: 4770 bx lr
800249e: 2002 movs r0, #2
80024a0: 4770 bx lr
80024a2: bf00 nop
080024a4 <USBD_Start>:
80024a4: b508 push {r3, lr}
80024a6: f001 fe0f bl 80040c8 <USBD_LL_Start>
80024aa: 2000 movs r0, #0
80024ac: bd08 pop {r3, pc}
80024ae: bf00 nop
080024b0 <USBD_SetClassConfig>:
80024b0: b508 push {r3, lr}
80024b2: f8d0 32b4 ldr.w r3, [r0, #692] ; 0x2b4
80024b6: b11b cbz r3, 80024c0 <USBD_SetClassConfig+0x10>
80024b8: 681b ldr r3, [r3, #0]
80024ba: 4798 blx r3
80024bc: b900 cbnz r0, 80024c0 <USBD_SetClassConfig+0x10>
80024be: bd08 pop {r3, pc}
80024c0: 2002 movs r0, #2
80024c2: bd08 pop {r3, pc}
080024c4 <USBD_ClrClassConfig>:
80024c4: b508 push {r3, lr}
80024c6: f8d0 32b4 ldr.w r3, [r0, #692] ; 0x2b4
80024ca: 685b ldr r3, [r3, #4]
80024cc: 4798 blx r3
80024ce: 2000 movs r0, #0
80024d0: bd08 pop {r3, pc}
80024d2: bf00 nop
080024d4 <USBD_LL_SetupStage>:
80024d4: b538 push {r3, r4, r5, lr}
80024d6: 4604 mov r4, r0
80024d8: f500 752a add.w r5, r0, #680 ; 0x2a8
80024dc: 4628 mov r0, r5
80024de: f000 fb57 bl 8002b90 <USBD_ParseSetupRequest>
80024e2: 2001 movs r0, #1
80024e4: f894 12a8 ldrb.w r1, [r4, #680] ; 0x2a8
80024e8: f8b4 22ae ldrh.w r2, [r4, #686] ; 0x2ae
80024ec: f001 031f and.w r3, r1, #31
80024f0: 4283 cmp r3, r0
80024f2: f8c4 0294 str.w r0, [r4, #660] ; 0x294
80024f6: f8c4 2298 str.w r2, [r4, #664] ; 0x298
80024fa: d015 beq.n 8002528 <USBD_LL_SetupStage+0x54>
80024fc: d30e bcc.n 800251c <USBD_LL_SetupStage+0x48>
80024fe: 2b02 cmp r3, #2
8002500: d006 beq.n 8002510 <USBD_LL_SetupStage+0x3c>
8002502: f001 0180 and.w r1, r1, #128 ; 0x80
8002506: 4620 mov r0, r4
8002508: f001 fe0a bl 8004120 <USBD_LL_StallEP>
800250c: 2000 movs r0, #0
800250e: bd38 pop {r3, r4, r5, pc}
8002510: 4629 mov r1, r5
8002512: 4620 mov r0, r4
8002514: f000 faa6 bl 8002a64 <USBD_StdEPReq>
8002518: 2000 movs r0, #0
800251a: bd38 pop {r3, r4, r5, pc}
800251c: 4629 mov r1, r5
800251e: 4620 mov r0, r4
8002520: f000 f8f6 bl 8002710 <USBD_StdDevReq>
8002524: 2000 movs r0, #0
8002526: bd38 pop {r3, r4, r5, pc}
8002528: 4629 mov r1, r5
800252a: 4620 mov r0, r4
800252c: f000 fa6e bl 8002a0c <USBD_StdItfReq>
8002530: 2000 movs r0, #0
8002532: bd38 pop {r3, r4, r5, pc}
08002534 <USBD_LL_DataOutStage>:
8002534: b570 push {r4, r5, r6, lr}
8002536: 4605 mov r5, r0
8002538: b941 cbnz r1, 800254c <USBD_LL_DataOutStage+0x18>
800253a: f8d0 3294 ldr.w r3, [r0, #660] ; 0x294
800253e: 2b03 cmp r3, #3
8002540: d00f beq.n 8002562 <USBD_LL_DataOutStage+0x2e>
8002542: 2b05 cmp r3, #5
8002544: 460c mov r4, r1
8002546: d02e beq.n 80025a6 <USBD_LL_DataOutStage+0x72>
8002548: 2000 movs r0, #0
800254a: bd70 pop {r4, r5, r6, pc}
800254c: f8d0 32b4 ldr.w r3, [r0, #692] ; 0x2b4
8002550: 699b ldr r3, [r3, #24]
8002552: b1c3 cbz r3, 8002586 <USBD_LL_DataOutStage+0x52>
8002554: f890 229c ldrb.w r2, [r0, #668] ; 0x29c
8002558: 2a03 cmp r2, #3
800255a: d114 bne.n 8002586 <USBD_LL_DataOutStage+0x52>
800255c: 4798 blx r3
800255e: 2000 movs r0, #0
8002560: bd70 pop {r4, r5, r6, pc}
8002562: 4616 mov r6, r2
8002564: f8d0 3160 ldr.w r3, [r0, #352] ; 0x160
8002568: f8d0 2164 ldr.w r2, [r0, #356] ; 0x164
800256c: 4293 cmp r3, r2
800256e: d90c bls.n 800258a <USBD_LL_DataOutStage+0x56>
8002570: 1a9b subs r3, r3, r2
8002572: 429a cmp r2, r3
8002574: f8c0 3160 str.w r3, [r0, #352] ; 0x160
8002578: bf8c ite hi
800257a: b29a uxthhi r2, r3
800257c: b292 uxthls r2, r2
800257e: 4631 mov r1, r6
8002580: f000 fb72 bl 8002c68 <USBD_CtlContinueRx>
8002584: e7e0 b.n 8002548 <USBD_LL_DataOutStage+0x14>
8002586: 2002 movs r0, #2
8002588: bd70 pop {r4, r5, r6, pc}
800258a: f8d0 32b4 ldr.w r3, [r0, #692] ; 0x2b4
800258e: 691b ldr r3, [r3, #16]
8002590: b123 cbz r3, 800259c <USBD_LL_DataOutStage+0x68>
8002592: f890 229c ldrb.w r2, [r0, #668] ; 0x29c
8002596: 2a03 cmp r2, #3
8002598: d100 bne.n 800259c <USBD_LL_DataOutStage+0x68>
800259a: 4798 blx r3
800259c: 4628 mov r0, r5
800259e: f000 fb6b bl 8002c78 <USBD_CtlSendStatus>
80025a2: 2000 movs r0, #0
80025a4: bd70 pop {r4, r5, r6, pc}
80025a6: f8c5 1294 str.w r1, [r5, #660] ; 0x294
80025aa: f001 fdb9 bl 8004120 <USBD_LL_StallEP>
80025ae: 4620 mov r0, r4
80025b0: bd70 pop {r4, r5, r6, pc}
80025b2: bf00 nop
080025b4 <USBD_LL_DataInStage>:
80025b4: b570 push {r4, r5, r6, lr}
80025b6: 4604 mov r4, r0
80025b8: b981 cbnz r1, 80025dc <USBD_LL_DataInStage+0x28>
80025ba: 4613 mov r3, r2
80025bc: f8d0 2294 ldr.w r2, [r0, #660] ; 0x294
80025c0: 2a02 cmp r2, #2
80025c2: d019 beq.n 80025f8 <USBD_LL_DataInStage+0x44>
80025c4: f032 0304 bics.w r3, r2, #4
80025c8: d102 bne.n 80025d0 <USBD_LL_DataInStage+0x1c>
80025ca: 2180 movs r1, #128 ; 0x80
80025cc: f001 fda8 bl 8004120 <USBD_LL_StallEP>
80025d0: f894 32a0 ldrb.w r3, [r4, #672] ; 0x2a0
80025d4: 2000 movs r0, #0
80025d6: 2b01 cmp r3, #1
80025d8: d00b beq.n 80025f2 <USBD_LL_DataInStage+0x3e>
80025da: bd70 pop {r4, r5, r6, pc}
80025dc: f8d0 32b4 ldr.w r3, [r0, #692] ; 0x2b4
80025e0: 695b ldr r3, [r3, #20]
80025e2: b363 cbz r3, 800263e <USBD_LL_DataInStage+0x8a>
80025e4: f890 229c ldrb.w r2, [r0, #668] ; 0x29c
80025e8: 2a03 cmp r2, #3
80025ea: d128 bne.n 800263e <USBD_LL_DataInStage+0x8a>
80025ec: 4798 blx r3
80025ee: 2000 movs r0, #0
80025f0: bd70 pop {r4, r5, r6, pc}
80025f2: f884 02a0 strb.w r0, [r4, #672] ; 0x2a0
80025f6: bd70 pop {r4, r5, r6, pc}
80025f8: e9d0 6208 ldrd r6, r2, [r0, #32]
80025fc: 4296 cmp r6, r2
80025fe: d820 bhi.n 8002642 <USBD_LL_DataInStage+0x8e>
8002600: 69c3 ldr r3, [r0, #28]
8002602: fbb3 f5f2 udiv r5, r3, r2
8002606: fb02 3515 mls r5, r2, r5, r3
800260a: b90d cbnz r5, 8002610 <USBD_LL_DataInStage+0x5c>
800260c: 429a cmp r2, r3
800260e: d926 bls.n 800265e <USBD_LL_DataInStage+0xaa>
8002610: f8d4 32b4 ldr.w r3, [r4, #692] ; 0x2b4
8002614: 68db ldr r3, [r3, #12]
8002616: b12b cbz r3, 8002624 <USBD_LL_DataInStage+0x70>
8002618: f894 229c ldrb.w r2, [r4, #668] ; 0x29c
800261c: 2a03 cmp r2, #3
800261e: d101 bne.n 8002624 <USBD_LL_DataInStage+0x70>
8002620: 4620 mov r0, r4
8002622: 4798 blx r3
8002624: 2180 movs r1, #128 ; 0x80
8002626: 4620 mov r0, r4
8002628: f001 fd7a bl 8004120 <USBD_LL_StallEP>
800262c: 4620 mov r0, r4
800262e: f000 fb2f bl 8002c90 <USBD_CtlReceiveStatus>
8002632: f894 32a0 ldrb.w r3, [r4, #672] ; 0x2a0
8002636: 2000 movs r0, #0
8002638: 2b01 cmp r3, #1
800263a: d1ce bne.n 80025da <USBD_LL_DataInStage+0x26>
800263c: e7d9 b.n 80025f2 <USBD_LL_DataInStage+0x3e>
800263e: 2002 movs r0, #2
8002640: bd70 pop {r4, r5, r6, pc}
8002642: 1ab2 subs r2, r6, r2
8002644: 460d mov r5, r1
8002646: 6202 str r2, [r0, #32]
8002648: 4619 mov r1, r3
800264a: b292 uxth r2, r2
800264c: f000 faf4 bl 8002c38 <USBD_CtlContinueSendData>
8002650: 462b mov r3, r5
8002652: 462a mov r2, r5
8002654: 4629 mov r1, r5
8002656: 4620 mov r0, r4
8002658: f001 fdaa bl 80041b0 <USBD_LL_PrepareReceive>
800265c: e7b8 b.n 80025d0 <USBD_LL_DataInStage+0x1c>
800265e: f8d0 2298 ldr.w r2, [r0, #664] ; 0x298
8002662: 4293 cmp r3, r2
8002664: d2d4 bcs.n 8002610 <USBD_LL_DataInStage+0x5c>
8002666: 462a mov r2, r5
8002668: f000 fae6 bl 8002c38 <USBD_CtlContinueSendData>
800266c: f8c4 5298 str.w r5, [r4, #664] ; 0x298
8002670: e7ee b.n 8002650 <USBD_LL_DataInStage+0x9c>
8002672: bf00 nop
08002674 <USBD_LL_Reset>:
8002674: b570 push {r4, r5, r6, lr}
8002676: 2200 movs r2, #0
8002678: 2640 movs r6, #64 ; 0x40
800267a: 4604 mov r4, r0
800267c: 2501 movs r5, #1
800267e: 4611 mov r1, r2
8002680: 4633 mov r3, r6
8002682: f001 fd2f bl 80040e4 <USBD_LL_OpenEP>
8002686: 4633 mov r3, r6
8002688: 2180 movs r1, #128 ; 0x80
800268a: f8c4 5158 str.w r5, [r4, #344] ; 0x158
800268e: f8c4 6164 str.w r6, [r4, #356] ; 0x164
8002692: 4620 mov r0, r4
8002694: 2200 movs r2, #0
8002696: f001 fd25 bl 80040e4 <USBD_LL_OpenEP>
800269a: 2100 movs r1, #0
800269c: f8d4 32b8 ldr.w r3, [r4, #696] ; 0x2b8
80026a0: 61a5 str r5, [r4, #24]
80026a2: 6266 str r6, [r4, #36] ; 0x24
80026a4: f884 529c strb.w r5, [r4, #668] ; 0x29c
80026a8: f8c4 1294 str.w r1, [r4, #660] ; 0x294
80026ac: 6061 str r1, [r4, #4]
80026ae: f8c4 12a4 str.w r1, [r4, #676] ; 0x2a4
80026b2: b123 cbz r3, 80026be <USBD_LL_Reset+0x4a>
80026b4: f8d4 32b4 ldr.w r3, [r4, #692] ; 0x2b4
80026b8: 4620 mov r0, r4
80026ba: 685b ldr r3, [r3, #4]
80026bc: 4798 blx r3
80026be: 2000 movs r0, #0
80026c0: bd70 pop {r4, r5, r6, pc}
80026c2: bf00 nop
080026c4 <USBD_LL_SetSpeed>:
80026c4: 7401 strb r1, [r0, #16]
80026c6: 2000 movs r0, #0
80026c8: 4770 bx lr
80026ca: bf00 nop
080026cc <USBD_LL_Suspend>:
80026cc: 4603 mov r3, r0
80026ce: 2204 movs r2, #4
80026d0: f890 129c ldrb.w r1, [r0, #668] ; 0x29c
80026d4: 2000 movs r0, #0
80026d6: f883 129d strb.w r1, [r3, #669] ; 0x29d
80026da: f883 229c strb.w r2, [r3, #668] ; 0x29c
80026de: 4770 bx lr
080026e0 <USBD_LL_Resume>:
80026e0: f890 329c ldrb.w r3, [r0, #668] ; 0x29c
80026e4: 2b04 cmp r3, #4
80026e6: bf04 itt eq
80026e8: f890 329d ldrbeq.w r3, [r0, #669] ; 0x29d
80026ec: f880 329c strbeq.w r3, [r0, #668] ; 0x29c
80026f0: 2000 movs r0, #0
80026f2: 4770 bx lr
080026f4 <USBD_LL_SOF>:
80026f4: f890 229c ldrb.w r2, [r0, #668] ; 0x29c
80026f8: 2a03 cmp r2, #3
80026fa: d001 beq.n 8002700 <USBD_LL_SOF+0xc>
80026fc: 2000 movs r0, #0
80026fe: 4770 bx lr
8002700: b508 push {r3, lr}
8002702: f8d0 32b4 ldr.w r3, [r0, #692] ; 0x2b4
8002706: 69db ldr r3, [r3, #28]
8002708: b103 cbz r3, 800270c <USBD_LL_SOF+0x18>
800270a: 4798 blx r3
800270c: 2000 movs r0, #0
800270e: bd08 pop {r3, pc}
08002710 <USBD_StdDevReq>:
8002710: b530 push {r4, r5, lr}
8002712: 780b ldrb r3, [r1, #0]
8002714: b083 sub sp, #12
8002716: f003 0360 and.w r3, r3, #96 ; 0x60
800271a: 2b20 cmp r3, #32
800271c: 460d mov r5, r1
800271e: 4604 mov r4, r0
8002720: d028 beq.n 8002774 <USBD_StdDevReq+0x64>
8002722: 2b40 cmp r3, #64 ; 0x40
8002724: d026 beq.n 8002774 <USBD_StdDevReq+0x64>
8002726: b153 cbz r3, 800273e <USBD_StdDevReq+0x2e>
8002728: 2180 movs r1, #128 ; 0x80
800272a: 4620 mov r0, r4
800272c: f001 fcf8 bl 8004120 <USBD_LL_StallEP>
8002730: 4620 mov r0, r4
8002732: 2100 movs r1, #0
8002734: f001 fcf4 bl 8004120 <USBD_LL_StallEP>
8002738: 2000 movs r0, #0
800273a: b003 add sp, #12
800273c: bd30 pop {r4, r5, pc}
800273e: 784b ldrb r3, [r1, #1]
8002740: 2b09 cmp r3, #9
8002742: d8f1 bhi.n 8002728 <USBD_StdDevReq+0x18>
8002744: a201 add r2, pc, #4 ; (adr r2, 800274c <USBD_StdDevReq+0x3c>)
8002746: f852 f023 ldr.w pc, [r2, r3, lsl #2]
800274a: bf00 nop
800274c: 080027c9 .word 0x080027c9
8002750: 080027f5 .word 0x080027f5
8002754: 08002729 .word 0x08002729
8002758: 08002811 .word 0x08002811
800275c: 08002729 .word 0x08002729
8002760: 0800281d .word 0x0800281d
8002764: 0800285b .word 0x0800285b
8002768: 08002729 .word 0x08002729
800276c: 08002891 .word 0x08002891
8002770: 08002787 .word 0x08002787
8002774: f8d4 32b4 ldr.w r3, [r4, #692] ; 0x2b4
8002778: 4629 mov r1, r5
800277a: 689b ldr r3, [r3, #8]
800277c: 4620 mov r0, r4
800277e: 4798 blx r3
8002780: 2000 movs r0, #0
8002782: b003 add sp, #12
8002784: bd30 pop {r4, r5, pc}
8002786: 7889 ldrb r1, [r1, #2]
8002788: 4d9f ldr r5, [pc, #636] ; (8002a08 <USBD_StdDevReq+0x2f8>)
800278a: 2901 cmp r1, #1
800278c: 7029 strb r1, [r5, #0]
800278e: d8cb bhi.n 8002728 <USBD_StdDevReq+0x18>
8002790: f890 329c ldrb.w r3, [r0, #668] ; 0x29c
8002794: 2b02 cmp r3, #2
8002796: f000 810d beq.w 80029b4 <USBD_StdDevReq+0x2a4>
800279a: 2b03 cmp r3, #3
800279c: f040 80fe bne.w 800299c <USBD_StdDevReq+0x28c>
80027a0: 2900 cmp r1, #0
80027a2: f000 8127 beq.w 80029f4 <USBD_StdDevReq+0x2e4>
80027a6: 6841 ldr r1, [r0, #4]
80027a8: 2901 cmp r1, #1
80027aa: d009 beq.n 80027c0 <USBD_StdDevReq+0xb0>
80027ac: b2c9 uxtb r1, r1
80027ae: f7ff fe89 bl 80024c4 <USBD_ClrClassConfig>
80027b2: 7829 ldrb r1, [r5, #0]
80027b4: 4620 mov r0, r4
80027b6: 6061 str r1, [r4, #4]
80027b8: f7ff fe7a bl 80024b0 <USBD_SetClassConfig>
80027bc: 2802 cmp r0, #2
80027be: d0b3 beq.n 8002728 <USBD_StdDevReq+0x18>
80027c0: 4620 mov r0, r4
80027c2: f000 fa59 bl 8002c78 <USBD_CtlSendStatus>
80027c6: e7b7 b.n 8002738 <USBD_StdDevReq+0x28>
80027c8: f890 329c ldrb.w r3, [r0, #668] ; 0x29c
80027cc: 2203 movs r2, #3
80027ce: 3b01 subs r3, #1
80027d0: 2b02 cmp r3, #2
80027d2: d8a9 bhi.n 8002728 <USBD_StdDevReq+0x18>
80027d4: 88cb ldrh r3, [r1, #6]
80027d6: 2b02 cmp r3, #2
80027d8: d1a6 bne.n 8002728 <USBD_StdDevReq+0x18>
80027da: 2101 movs r1, #1
80027dc: f8d0 32a4 ldr.w r3, [r0, #676] ; 0x2a4
80027e0: 60c1 str r1, [r0, #12]
80027e2: b103 cbz r3, 80027e6 <USBD_StdDevReq+0xd6>
80027e4: 60c2 str r2, [r0, #12]
80027e6: 2202 movs r2, #2
80027e8: f104 010c add.w r1, r4, #12
80027ec: 4620 mov r0, r4
80027ee: f000 fa15 bl 8002c1c <USBD_CtlSendData>
80027f2: e7a1 b.n 8002738 <USBD_StdDevReq+0x28>
80027f4: f890 329c ldrb.w r3, [r0, #668] ; 0x29c
80027f8: 3b01 subs r3, #1
80027fa: 2b02 cmp r3, #2
80027fc: d894 bhi.n 8002728 <USBD_StdDevReq+0x18>
80027fe: 884b ldrh r3, [r1, #2]
8002800: 2b01 cmp r3, #1
8002802: d199 bne.n 8002738 <USBD_StdDevReq+0x28>
8002804: 2300 movs r3, #0
8002806: f8c0 32a4 str.w r3, [r0, #676] ; 0x2a4
800280a: f000 fa35 bl 8002c78 <USBD_CtlSendStatus>
800280e: e793 b.n 8002738 <USBD_StdDevReq+0x28>
8002810: 884b ldrh r3, [r1, #2]
8002812: 2b01 cmp r3, #1
8002814: d190 bne.n 8002738 <USBD_StdDevReq+0x28>
8002816: f8c0 32a4 str.w r3, [r0, #676] ; 0x2a4
800281a: e7d1 b.n 80027c0 <USBD_StdDevReq+0xb0>
800281c: 888b ldrh r3, [r1, #4]
800281e: 2b00 cmp r3, #0
8002820: d182 bne.n 8002728 <USBD_StdDevReq+0x18>
8002822: 88cb ldrh r3, [r1, #6]
8002824: 2b00 cmp r3, #0
8002826: f47f af7f bne.w 8002728 <USBD_StdDevReq+0x18>
800282a: 884d ldrh r5, [r1, #2]
800282c: 2d7f cmp r5, #127 ; 0x7f
800282e: f63f af7b bhi.w 8002728 <USBD_StdDevReq+0x18>
8002832: f890 329c ldrb.w r3, [r0, #668] ; 0x29c
8002836: 2b03 cmp r3, #3
8002838: f43f af76 beq.w 8002728 <USBD_StdDevReq+0x18>
800283c: b2e9 uxtb r1, r5
800283e: f880 129e strb.w r1, [r0, #670] ; 0x29e
8002842: f001 fc99 bl 8004178 <USBD_LL_SetUSBAddress>
8002846: 4620 mov r0, r4
8002848: f000 fa16 bl 8002c78 <USBD_CtlSendStatus>
800284c: 2d00 cmp r5, #0
800284e: f000 80cd beq.w 80029ec <USBD_StdDevReq+0x2dc>
8002852: 2302 movs r3, #2
8002854: f884 329c strb.w r3, [r4, #668] ; 0x29c
8002858: e76e b.n 8002738 <USBD_StdDevReq+0x28>
800285a: 2300 movs r3, #0
800285c: 884a ldrh r2, [r1, #2]
800285e: f8ad 3006 strh.w r3, [sp, #6]
8002862: 0a13 lsrs r3, r2, #8
8002864: 3b01 subs r3, #1
8002866: 2b06 cmp r3, #6
8002868: f63f af5e bhi.w 8002728 <USBD_StdDevReq+0x18>
800286c: a101 add r1, pc, #4 ; (adr r1, 8002874 <USBD_StdDevReq+0x164>)
800286e: f851 f023 ldr.w pc, [r1, r3, lsl #2]
8002872: bf00 nop
8002874: 08002929 .word 0x08002929
8002878: 08002911 .word 0x08002911
800287c: 08002939 .word 0x08002939
8002880: 08002729 .word 0x08002729
8002884: 08002729 .word 0x08002729
8002888: 080028fb .word 0x080028fb
800288c: 080028b7 .word 0x080028b7
8002890: 88ca ldrh r2, [r1, #6]
8002892: 2a01 cmp r2, #1
8002894: f47f af48 bne.w 8002728 <USBD_StdDevReq+0x18>
8002898: f890 329c ldrb.w r3, [r0, #668] ; 0x29c
800289c: 2b00 cmp r3, #0
800289e: f43f af43 beq.w 8002728 <USBD_StdDevReq+0x18>
80028a2: 2b02 cmp r3, #2
80028a4: f240 8094 bls.w 80029d0 <USBD_StdDevReq+0x2c0>
80028a8: 2b03 cmp r3, #3
80028aa: f47f af3d bne.w 8002728 <USBD_StdDevReq+0x18>
80028ae: 1d01 adds r1, r0, #4
80028b0: f000 f9b4 bl 8002c1c <USBD_CtlSendData>
80028b4: e740 b.n 8002738 <USBD_StdDevReq+0x28>
80028b6: 7c03 ldrb r3, [r0, #16]
80028b8: 2b00 cmp r3, #0
80028ba: f47f af35 bne.w 8002728 <USBD_StdDevReq+0x18>
80028be: f8d0 32b4 ldr.w r3, [r0, #692] ; 0x2b4
80028c2: f10d 0006 add.w r0, sp, #6
80028c6: 6b1b ldr r3, [r3, #48] ; 0x30
80028c8: 4798 blx r3
80028ca: 2307 movs r3, #7
80028cc: 7043 strb r3, [r0, #1]
80028ce: f8bd 3006 ldrh.w r3, [sp, #6]
80028d2: 88ea ldrh r2, [r5, #6]
80028d4: b16b cbz r3, 80028f2 <USBD_StdDevReq+0x1e2>
80028d6: 2a00 cmp r2, #0
80028d8: f43f af72 beq.w 80027c0 <USBD_StdDevReq+0xb0>
80028dc: 4293 cmp r3, r2
80028de: bf28 it cs
80028e0: 4613 movcs r3, r2
80028e2: 4601 mov r1, r0
80028e4: 461a mov r2, r3
80028e6: 4620 mov r0, r4
80028e8: f8ad 3006 strh.w r3, [sp, #6]
80028ec: f000 f996 bl 8002c1c <USBD_CtlSendData>
80028f0: 88ea ldrh r2, [r5, #6]
80028f2: 2a00 cmp r2, #0
80028f4: f47f af20 bne.w 8002738 <USBD_StdDevReq+0x28>
80028f8: e762 b.n 80027c0 <USBD_StdDevReq+0xb0>
80028fa: 7c03 ldrb r3, [r0, #16]
80028fc: 2b00 cmp r3, #0
80028fe: f47f af13 bne.w 8002728 <USBD_StdDevReq+0x18>
8002902: f8d0 32b4 ldr.w r3, [r0, #692] ; 0x2b4
8002906: f10d 0006 add.w r0, sp, #6
800290a: 6b5b ldr r3, [r3, #52] ; 0x34
800290c: 4798 blx r3
800290e: e7de b.n 80028ce <USBD_StdDevReq+0x1be>
8002910: 7c02 ldrb r2, [r0, #16]
8002912: f8d0 32b4 ldr.w r3, [r0, #692] ; 0x2b4
8002916: 2a00 cmp r2, #0
8002918: d161 bne.n 80029de <USBD_StdDevReq+0x2ce>
800291a: 6a9b ldr r3, [r3, #40] ; 0x28
800291c: f10d 0006 add.w r0, sp, #6
8002920: 4798 blx r3
8002922: 2302 movs r3, #2
8002924: 7043 strb r3, [r0, #1]
8002926: e7d2 b.n 80028ce <USBD_StdDevReq+0x1be>
8002928: f8d0 32b0 ldr.w r3, [r0, #688] ; 0x2b0
800292c: f10d 0106 add.w r1, sp, #6
8002930: 681b ldr r3, [r3, #0]
8002932: 7c00 ldrb r0, [r0, #16]
8002934: 4798 blx r3
8002936: e7ca b.n 80028ce <USBD_StdDevReq+0x1be>
8002938: b2d2 uxtb r2, r2
800293a: 2a05 cmp r2, #5
800293c: f63f aef4 bhi.w 8002728 <USBD_StdDevReq+0x18>
8002940: e8df f002 tbb [pc, r2]
8002944: 141a2026 .word 0x141a2026
8002948: 030e .short 0x030e
800294a: f8d0 32b0 ldr.w r3, [r0, #688] ; 0x2b0
800294e: 699b ldr r3, [r3, #24]
8002950: 2b00 cmp r3, #0
8002952: f43f aee9 beq.w 8002728 <USBD_StdDevReq+0x18>
8002956: f10d 0106 add.w r1, sp, #6
800295a: 7c20 ldrb r0, [r4, #16]
800295c: 4798 blx r3
800295e: e7b6 b.n 80028ce <USBD_StdDevReq+0x1be>
8002960: f8d0 32b0 ldr.w r3, [r0, #688] ; 0x2b0
8002964: 695b ldr r3, [r3, #20]
8002966: 2b00 cmp r3, #0
8002968: d1f5 bne.n 8002956 <USBD_StdDevReq+0x246>
800296a: e6dd b.n 8002728 <USBD_StdDevReq+0x18>
800296c: f8d0 32b0 ldr.w r3, [r0, #688] ; 0x2b0
8002970: 691b ldr r3, [r3, #16]
8002972: 2b00 cmp r3, #0
8002974: d1ef bne.n 8002956 <USBD_StdDevReq+0x246>
8002976: e6d7 b.n 8002728 <USBD_StdDevReq+0x18>
8002978: f8d0 32b0 ldr.w r3, [r0, #688] ; 0x2b0
800297c: 68db ldr r3, [r3, #12]
800297e: 2b00 cmp r3, #0
8002980: d1e9 bne.n 8002956 <USBD_StdDevReq+0x246>
8002982: e6d1 b.n 8002728 <USBD_StdDevReq+0x18>
8002984: f8d0 32b0 ldr.w r3, [r0, #688] ; 0x2b0
8002988: 689b ldr r3, [r3, #8]
800298a: 2b00 cmp r3, #0
800298c: d1e3 bne.n 8002956 <USBD_StdDevReq+0x246>
800298e: e6cb b.n 8002728 <USBD_StdDevReq+0x18>
8002990: f8d0 32b0 ldr.w r3, [r0, #688] ; 0x2b0
8002994: 685b ldr r3, [r3, #4]
8002996: 2b00 cmp r3, #0
8002998: d1dd bne.n 8002956 <USBD_StdDevReq+0x246>
800299a: e6c5 b.n 8002728 <USBD_StdDevReq+0x18>
800299c: 2180 movs r1, #128 ; 0x80
800299e: f001 fbbf bl 8004120 <USBD_LL_StallEP>
80029a2: 2100 movs r1, #0
80029a4: 4620 mov r0, r4
80029a6: f001 fbbb bl 8004120 <USBD_LL_StallEP>
80029aa: 7829 ldrb r1, [r5, #0]
80029ac: 4620 mov r0, r4
80029ae: f7ff fd89 bl 80024c4 <USBD_ClrClassConfig>
80029b2: e6c1 b.n 8002738 <USBD_StdDevReq+0x28>
80029b4: 2900 cmp r1, #0
80029b6: f43f af03 beq.w 80027c0 <USBD_StdDevReq+0xb0>
80029ba: 2101 movs r1, #1
80029bc: 2303 movs r3, #3
80029be: 6041 str r1, [r0, #4]
80029c0: f880 329c strb.w r3, [r0, #668] ; 0x29c
80029c4: f7ff fd74 bl 80024b0 <USBD_SetClassConfig>
80029c8: 2802 cmp r0, #2
80029ca: f47f aef9 bne.w 80027c0 <USBD_StdDevReq+0xb0>
80029ce: e6ab b.n 8002728 <USBD_StdDevReq+0x18>
80029d0: 2300 movs r3, #0
80029d2: 4601 mov r1, r0
80029d4: f841 3f08 str.w r3, [r1, #8]!
80029d8: f000 f920 bl 8002c1c <USBD_CtlSendData>
80029dc: e6ac b.n 8002738 <USBD_StdDevReq+0x28>
80029de: 6adb ldr r3, [r3, #44] ; 0x2c
80029e0: f10d 0006 add.w r0, sp, #6
80029e4: 4798 blx r3
80029e6: 2302 movs r3, #2
80029e8: 7043 strb r3, [r0, #1]
80029ea: e770 b.n 80028ce <USBD_StdDevReq+0x1be>
80029ec: 2301 movs r3, #1
80029ee: f884 329c strb.w r3, [r4, #668] ; 0x29c
80029f2: e6a1 b.n 8002738 <USBD_StdDevReq+0x28>
80029f4: 2302 movs r3, #2
80029f6: 6041 str r1, [r0, #4]
80029f8: f880 329c strb.w r3, [r0, #668] ; 0x29c
80029fc: f7ff fd62 bl 80024c4 <USBD_ClrClassConfig>
8002a00: 4620 mov r0, r4
8002a02: f000 f939 bl 8002c78 <USBD_CtlSendStatus>
8002a06: e697 b.n 8002738 <USBD_StdDevReq+0x28>
8002a08: 2000019c .word 0x2000019c
08002a0c <USBD_StdItfReq>:
8002a0c: b538 push {r3, r4, r5, lr}
8002a0e: 780b ldrb r3, [r1, #0]
8002a10: 460d mov r5, r1
8002a12: f003 0360 and.w r3, r3, #96 ; 0x60
8002a16: 2b20 cmp r3, #32
8002a18: 4604 mov r4, r0
8002a1a: d00c beq.n 8002a36 <USBD_StdItfReq+0x2a>
8002a1c: 2b40 cmp r3, #64 ; 0x40
8002a1e: d00a beq.n 8002a36 <USBD_StdItfReq+0x2a>
8002a20: b14b cbz r3, 8002a36 <USBD_StdItfReq+0x2a>
8002a22: 2180 movs r1, #128 ; 0x80
8002a24: 4620 mov r0, r4
8002a26: f001 fb7b bl 8004120 <USBD_LL_StallEP>
8002a2a: 4620 mov r0, r4
8002a2c: 2100 movs r1, #0
8002a2e: f001 fb77 bl 8004120 <USBD_LL_StallEP>
8002a32: 2000 movs r0, #0
8002a34: bd38 pop {r3, r4, r5, pc}
8002a36: f894 329c ldrb.w r3, [r4, #668] ; 0x29c
8002a3a: 3b01 subs r3, #1
8002a3c: 2b02 cmp r3, #2
8002a3e: d8f0 bhi.n 8002a22 <USBD_StdItfReq+0x16>
8002a40: 792b ldrb r3, [r5, #4]
8002a42: 2b01 cmp r3, #1
8002a44: d8ed bhi.n 8002a22 <USBD_StdItfReq+0x16>
8002a46: f8d4 32b4 ldr.w r3, [r4, #692] ; 0x2b4
8002a4a: 4629 mov r1, r5
8002a4c: 689b ldr r3, [r3, #8]
8002a4e: 4620 mov r0, r4
8002a50: 4798 blx r3
8002a52: 88eb ldrh r3, [r5, #6]
8002a54: 2b00 cmp r3, #0
8002a56: d1ec bne.n 8002a32 <USBD_StdItfReq+0x26>
8002a58: 2800 cmp r0, #0
8002a5a: d1ea bne.n 8002a32 <USBD_StdItfReq+0x26>
8002a5c: 4620 mov r0, r4
8002a5e: f000 f90b bl 8002c78 <USBD_CtlSendStatus>
8002a62: e7e6 b.n 8002a32 <USBD_StdItfReq+0x26>
08002a64 <USBD_StdEPReq>:
8002a64: b570 push {r4, r5, r6, lr}
8002a66: 780b ldrb r3, [r1, #0]
8002a68: 4604 mov r4, r0
8002a6a: f003 0360 and.w r3, r3, #96 ; 0x60
8002a6e: 2b20 cmp r3, #32
8002a70: d00c beq.n 8002a8c <USBD_StdEPReq+0x28>
8002a72: 2b40 cmp r3, #64 ; 0x40
8002a74: d00a beq.n 8002a8c <USBD_StdEPReq+0x28>
8002a76: b183 cbz r3, 8002a9a <USBD_StdEPReq+0x36>
8002a78: 2180 movs r1, #128 ; 0x80
8002a7a: 4620 mov r0, r4
8002a7c: f001 fb50 bl 8004120 <USBD_LL_StallEP>
8002a80: 4620 mov r0, r4
8002a82: 2100 movs r1, #0
8002a84: f001 fb4c bl 8004120 <USBD_LL_StallEP>
8002a88: 2000 movs r0, #0
8002a8a: bd70 pop {r4, r5, r6, pc}
8002a8c: f8d4 32b4 ldr.w r3, [r4, #692] ; 0x2b4
8002a90: 4620 mov r0, r4
8002a92: 689b ldr r3, [r3, #8]
8002a94: 4798 blx r3
8002a96: 2000 movs r0, #0
8002a98: bd70 pop {r4, r5, r6, pc}
8002a9a: 784b ldrb r3, [r1, #1]
8002a9c: 888a ldrh r2, [r1, #4]
8002a9e: 2b01 cmp r3, #1
8002aa0: b2d5 uxtb r5, r2
8002aa2: d03e beq.n 8002b22 <USBD_StdEPReq+0xbe>
8002aa4: d314 bcc.n 8002ad0 <USBD_StdEPReq+0x6c>
8002aa6: 2b03 cmp r3, #3
8002aa8: d1e6 bne.n 8002a78 <USBD_StdEPReq+0x14>
8002aaa: f890 329c ldrb.w r3, [r0, #668] ; 0x29c
8002aae: 2b02 cmp r3, #2
8002ab0: d046 beq.n 8002b40 <USBD_StdEPReq+0xdc>
8002ab2: 2b03 cmp r3, #3
8002ab4: d1e0 bne.n 8002a78 <USBD_StdEPReq+0x14>
8002ab6: 884b ldrh r3, [r1, #2]
8002ab8: b933 cbnz r3, 8002ac8 <USBD_StdEPReq+0x64>
8002aba: 066a lsls r2, r5, #25
8002abc: d004 beq.n 8002ac8 <USBD_StdEPReq+0x64>
8002abe: 88cb ldrh r3, [r1, #6]
8002ac0: b913 cbnz r3, 8002ac8 <USBD_StdEPReq+0x64>
8002ac2: 4629 mov r1, r5
8002ac4: f001 fb2c bl 8004120 <USBD_LL_StallEP>
8002ac8: 4620 mov r0, r4
8002aca: f000 f8d5 bl 8002c78 <USBD_CtlSendStatus>
8002ace: e7db b.n 8002a88 <USBD_StdEPReq+0x24>
8002ad0: f890 329c ldrb.w r3, [r0, #668] ; 0x29c
8002ad4: 2b02 cmp r3, #2
8002ad6: d03d beq.n 8002b54 <USBD_StdEPReq+0xf0>
8002ad8: 2b03 cmp r3, #3
8002ada: d1cd bne.n 8002a78 <USBD_StdEPReq+0x14>
8002adc: f005 030f and.w r3, r5, #15
8002ae0: eb03 0383 add.w r3, r3, r3, lsl #2
8002ae4: 0612 lsls r2, r2, #24
8002ae6: eb00 0383 add.w r3, r0, r3, lsl #2
8002aea: d442 bmi.n 8002b72 <USBD_StdEPReq+0x10e>
8002aec: f8d3 3158 ldr.w r3, [r3, #344] ; 0x158
8002af0: 2b00 cmp r3, #0
8002af2: d0c1 beq.n 8002a78 <USBD_StdEPReq+0x14>
8002af4: f005 037f and.w r3, r5, #127 ; 0x7f
8002af8: eb03 0683 add.w r6, r3, r3, lsl #2
8002afc: eb00 0686 add.w r6, r0, r6, lsl #2
8002b00: f506 76aa add.w r6, r6, #340 ; 0x154
8002b04: b133 cbz r3, 8002b14 <USBD_StdEPReq+0xb0>
8002b06: 4629 mov r1, r5
8002b08: 4620 mov r0, r4
8002b0a: f001 fb25 bl 8004158 <USBD_LL_IsStallEP>
8002b0e: 2800 cmp r0, #0
8002b10: d03b beq.n 8002b8a <USBD_StdEPReq+0x126>
8002b12: 2301 movs r3, #1
8002b14: 6033 str r3, [r6, #0]
8002b16: 4631 mov r1, r6
8002b18: 4620 mov r0, r4
8002b1a: 2202 movs r2, #2
8002b1c: f000 f87e bl 8002c1c <USBD_CtlSendData>
8002b20: e7b2 b.n 8002a88 <USBD_StdEPReq+0x24>
8002b22: f890 329c ldrb.w r3, [r0, #668] ; 0x29c
8002b26: 2b02 cmp r3, #2
8002b28: d00a beq.n 8002b40 <USBD_StdEPReq+0xdc>
8002b2a: 2b03 cmp r3, #3
8002b2c: d1a4 bne.n 8002a78 <USBD_StdEPReq+0x14>
8002b2e: 884b ldrh r3, [r1, #2]
8002b30: 2b00 cmp r3, #0
8002b32: d1a9 bne.n 8002a88 <USBD_StdEPReq+0x24>
8002b34: 066e lsls r6, r5, #25
8002b36: d0c7 beq.n 8002ac8 <USBD_StdEPReq+0x64>
8002b38: 4629 mov r1, r5
8002b3a: f001 faff bl 800413c <USBD_LL_ClearStallEP>
8002b3e: e7c3 b.n 8002ac8 <USBD_StdEPReq+0x64>
8002b40: 066b lsls r3, r5, #25
8002b42: d099 beq.n 8002a78 <USBD_StdEPReq+0x14>
8002b44: 4629 mov r1, r5
8002b46: f001 faeb bl 8004120 <USBD_LL_StallEP>
8002b4a: 4620 mov r0, r4
8002b4c: 2180 movs r1, #128 ; 0x80
8002b4e: f001 fae7 bl 8004120 <USBD_LL_StallEP>
8002b52: e799 b.n 8002a88 <USBD_StdEPReq+0x24>
8002b54: 0668 lsls r0, r5, #25
8002b56: d18f bne.n 8002a78 <USBD_StdEPReq+0x14>
8002b58: 2300 movs r3, #0
8002b5a: 0611 lsls r1, r2, #24
8002b5c: bf4c ite mi
8002b5e: f104 0114 addmi.w r1, r4, #20
8002b62: f504 71aa addpl.w r1, r4, #340 ; 0x154
8002b66: 4620 mov r0, r4
8002b68: 600b str r3, [r1, #0]
8002b6a: 2202 movs r2, #2
8002b6c: f000 f856 bl 8002c1c <USBD_CtlSendData>
8002b70: e78a b.n 8002a88 <USBD_StdEPReq+0x24>
8002b72: 699b ldr r3, [r3, #24]
8002b74: 2b00 cmp r3, #0
8002b76: f43f af7f beq.w 8002a78 <USBD_StdEPReq+0x14>
8002b7a: f005 037f and.w r3, r5, #127 ; 0x7f
8002b7e: 1c5e adds r6, r3, #1
8002b80: eb06 0686 add.w r6, r6, r6, lsl #2
8002b84: eb00 0686 add.w r6, r0, r6, lsl #2
8002b88: e7bc b.n 8002b04 <USBD_StdEPReq+0xa0>
8002b8a: 6030 str r0, [r6, #0]
8002b8c: e7c3 b.n 8002b16 <USBD_StdEPReq+0xb2>
8002b8e: bf00 nop
08002b90 <USBD_ParseSetupRequest>:
8002b90: 780b ldrb r3, [r1, #0]
8002b92: 7003 strb r3, [r0, #0]
8002b94: 784b ldrb r3, [r1, #1]
8002b96: 7043 strb r3, [r0, #1]
8002b98: 78ca ldrb r2, [r1, #3]
8002b9a: 788b ldrb r3, [r1, #2]
8002b9c: eb03 2302 add.w r3, r3, r2, lsl #8
8002ba0: 8043 strh r3, [r0, #2]
8002ba2: 794a ldrb r2, [r1, #5]
8002ba4: 790b ldrb r3, [r1, #4]
8002ba6: eb03 2302 add.w r3, r3, r2, lsl #8
8002baa: 8083 strh r3, [r0, #4]
8002bac: 79ca ldrb r2, [r1, #7]
8002bae: 798b ldrb r3, [r1, #6]
8002bb0: eb03 2302 add.w r3, r3, r2, lsl #8
8002bb4: 80c3 strh r3, [r0, #6]
8002bb6: 4770 bx lr
08002bb8 <USBD_CtlError>:
8002bb8: b510 push {r4, lr}
8002bba: 4604 mov r4, r0
8002bbc: 2180 movs r1, #128 ; 0x80
8002bbe: f001 faaf bl 8004120 <USBD_LL_StallEP>
8002bc2: 4620 mov r0, r4
8002bc4: e8bd 4010 ldmia.w sp!, {r4, lr}
8002bc8: 2100 movs r1, #0
8002bca: f001 baa9 b.w 8004120 <USBD_LL_StallEP>
8002bce: bf00 nop
08002bd0 <USBD_GetString>:
8002bd0: b300 cbz r0, 8002c14 <USBD_GetString+0x44>
8002bd2: 7803 ldrb r3, [r0, #0]
8002bd4: b430 push {r4, r5}
8002bd6: b1f3 cbz r3, 8002c16 <USBD_GetString+0x46>
8002bd8: 4604 mov r4, r0
8002bda: 2300 movs r3, #0
8002bdc: f814 5f01 ldrb.w r5, [r4, #1]!
8002be0: 3301 adds r3, #1
8002be2: b2db uxtb r3, r3
8002be4: 2d00 cmp r5, #0
8002be6: d1f9 bne.n 8002bdc <USBD_GetString+0xc>
8002be8: 005b lsls r3, r3, #1
8002bea: 3302 adds r3, #2
8002bec: 2403 movs r4, #3
8002bee: 8013 strh r3, [r2, #0]
8002bf0: 700b strb r3, [r1, #0]
8002bf2: 704c strb r4, [r1, #1]
8002bf4: 7804 ldrb r4, [r0, #0]
8002bf6: b15c cbz r4, 8002c10 <USBD_GetString+0x40>
8002bf8: 2302 movs r3, #2
8002bfa: 2500 movs r5, #0
8002bfc: 1c5a adds r2, r3, #1
8002bfe: b2d2 uxtb r2, r2
8002c00: 54cc strb r4, [r1, r3]
8002c02: 548d strb r5, [r1, r2]
8002c04: f810 4f01 ldrb.w r4, [r0, #1]!
8002c08: 3302 adds r3, #2
8002c0a: b2db uxtb r3, r3
8002c0c: 2c00 cmp r4, #0
8002c0e: d1f5 bne.n 8002bfc <USBD_GetString+0x2c>
8002c10: bc30 pop {r4, r5}
8002c12: 4770 bx lr
8002c14: 4770 bx lr
8002c16: 2302 movs r3, #2
8002c18: e7e8 b.n 8002bec <USBD_GetString+0x1c>
8002c1a: bf00 nop
08002c1c <USBD_CtlSendData>:
8002c1c: b538 push {r3, r4, r5, lr}
8002c1e: 4613 mov r3, r2
8002c20: 2502 movs r5, #2
8002c22: 460a mov r2, r1
8002c24: e9c0 3307 strd r3, r3, [r0, #28]
8002c28: f8c0 5294 str.w r5, [r0, #660] ; 0x294
8002c2c: 2100 movs r1, #0
8002c2e: f001 fab1 bl 8004194 <USBD_LL_Transmit>
8002c32: 2000 movs r0, #0
8002c34: bd38 pop {r3, r4, r5, pc}
8002c36: bf00 nop
08002c38 <USBD_CtlContinueSendData>:
8002c38: b508 push {r3, lr}
8002c3a: 4613 mov r3, r2
8002c3c: 460a mov r2, r1
8002c3e: 2100 movs r1, #0
8002c40: f001 faa8 bl 8004194 <USBD_LL_Transmit>
8002c44: 2000 movs r0, #0
8002c46: bd08 pop {r3, pc}
08002c48 <USBD_CtlPrepareRx>:
8002c48: b538 push {r3, r4, r5, lr}
8002c4a: 4613 mov r3, r2
8002c4c: 2503 movs r5, #3
8002c4e: 460a mov r2, r1
8002c50: f8c0 315c str.w r3, [r0, #348] ; 0x15c
8002c54: f8c0 3160 str.w r3, [r0, #352] ; 0x160
8002c58: f8c0 5294 str.w r5, [r0, #660] ; 0x294
8002c5c: 2100 movs r1, #0
8002c5e: f001 faa7 bl 80041b0 <USBD_LL_PrepareReceive>
8002c62: 2000 movs r0, #0
8002c64: bd38 pop {r3, r4, r5, pc}
8002c66: bf00 nop
08002c68 <USBD_CtlContinueRx>:
8002c68: b508 push {r3, lr}
8002c6a: 4613 mov r3, r2
8002c6c: 460a mov r2, r1
8002c6e: 2100 movs r1, #0
8002c70: f001 fa9e bl 80041b0 <USBD_LL_PrepareReceive>
8002c74: 2000 movs r0, #0
8002c76: bd08 pop {r3, pc}
08002c78 <USBD_CtlSendStatus>:
8002c78: b508 push {r3, lr}
8002c7a: 2204 movs r2, #4
8002c7c: 2300 movs r3, #0
8002c7e: f8c0 2294 str.w r2, [r0, #660] ; 0x294
8002c82: 4619 mov r1, r3
8002c84: 461a mov r2, r3
8002c86: f001 fa85 bl 8004194 <USBD_LL_Transmit>
8002c8a: 2000 movs r0, #0
8002c8c: bd08 pop {r3, pc}
8002c8e: bf00 nop
08002c90 <USBD_CtlReceiveStatus>:
8002c90: b508 push {r3, lr}
8002c92: 2205 movs r2, #5
8002c94: 2300 movs r3, #0
8002c96: f8c0 2294 str.w r2, [r0, #660] ; 0x294
8002c9a: 4619 mov r1, r3
8002c9c: 461a mov r2, r3
8002c9e: f001 fa87 bl 80041b0 <USBD_LL_PrepareReceive>
8002ca2: 2000 movs r0, #0
8002ca4: bd08 pop {r3, pc}
8002ca6: bf00 nop
08002ca8 <osKernelStart>:
8002ca8: b508 push {r3, lr}
8002caa: f000 fa25 bl 80030f8 <vTaskStartScheduler>
8002cae: 2000 movs r0, #0
8002cb0: bd08 pop {r3, pc}
8002cb2: bf00 nop
08002cb4 <osThreadCreate>:
8002cb4: b530 push {r4, r5, lr}
8002cb6: f9b0 4008 ldrsh.w r4, [r0, #8]
8002cba: 4602 mov r2, r0
8002cbc: 2c84 cmp r4, #132 ; 0x84
8002cbe: bf08 it eq
8002cc0: 2400 moveq r4, #0
8002cc2: b085 sub sp, #20
8002cc4: bf18 it ne
8002cc6: 3403 addne r4, #3
8002cc8: ad03 add r5, sp, #12
8002cca: 460b mov r3, r1
8002ccc: 6840 ldr r0, [r0, #4]
8002cce: 6811 ldr r1, [r2, #0]
8002cd0: 8a12 ldrh r2, [r2, #16]
8002cd2: e9cd 4500 strd r4, r5, [sp]
8002cd6: f000 f8d9 bl 8002e8c <xTaskCreate>
8002cda: 2801 cmp r0, #1
8002cdc: bf14 ite ne
8002cde: 2000 movne r0, #0
8002ce0: 9803 ldreq r0, [sp, #12]
8002ce2: b005 add sp, #20
8002ce4: bd30 pop {r4, r5, pc}
8002ce6: bf00 nop
08002ce8 <osDelay>:
8002ce8: b508 push {r3, lr}
8002cea: 2800 cmp r0, #0
8002cec: bf08 it eq
8002cee: 2001 moveq r0, #1
8002cf0: f000 fc30 bl 8003554 <vTaskDelay>
8002cf4: 2000 movs r0, #0
8002cf6: bd08 pop {r3, pc}
08002cf8 <vListInitialise>:
8002cf8: f04f 31ff mov.w r1, #4294967295 ; 0xffffffff
8002cfc: 2200 movs r2, #0
8002cfe: f100 0308 add.w r3, r0, #8
8002d02: 6081 str r1, [r0, #8]
8002d04: 6002 str r2, [r0, #0]
8002d06: 6043 str r3, [r0, #4]
8002d08: e9c0 3303 strd r3, r3, [r0, #12]
8002d0c: 4770 bx lr
8002d0e: bf00 nop
08002d10 <vListInitialiseItem>:
8002d10: 2300 movs r3, #0
8002d12: 6103 str r3, [r0, #16]
8002d14: 4770 bx lr
8002d16: bf00 nop
08002d18 <vListInsertEnd>:
8002d18: 6843 ldr r3, [r0, #4]
8002d1a: b410 push {r4}
8002d1c: 689c ldr r4, [r3, #8]
8002d1e: 6802 ldr r2, [r0, #0]
8002d20: 608c str r4, [r1, #8]
8002d22: 689c ldr r4, [r3, #8]
8002d24: 3201 adds r2, #1
8002d26: 604b str r3, [r1, #4]
8002d28: 6061 str r1, [r4, #4]
8002d2a: 6099 str r1, [r3, #8]
8002d2c: bc10 pop {r4}
8002d2e: 6108 str r0, [r1, #16]
8002d30: 6002 str r2, [r0, #0]
8002d32: 4770 bx lr
08002d34 <vListInsert>:
8002d34: b430 push {r4, r5}
8002d36: 680d ldr r5, [r1, #0]
8002d38: 1c6b adds r3, r5, #1
8002d3a: d011 beq.n 8002d60 <vListInsert+0x2c>
8002d3c: f100 0208 add.w r2, r0, #8
8002d40: e000 b.n 8002d44 <vListInsert+0x10>
8002d42: 461a mov r2, r3
8002d44: 6853 ldr r3, [r2, #4]
8002d46: 681c ldr r4, [r3, #0]
8002d48: 42ac cmp r4, r5
8002d4a: d9fa bls.n 8002d42 <vListInsert+0xe>
8002d4c: 6804 ldr r4, [r0, #0]
8002d4e: 604b str r3, [r1, #4]
8002d50: 3401 adds r4, #1
8002d52: 6099 str r1, [r3, #8]
8002d54: 608a str r2, [r1, #8]
8002d56: 6051 str r1, [r2, #4]
8002d58: 6108 str r0, [r1, #16]
8002d5a: 6004 str r4, [r0, #0]
8002d5c: bc30 pop {r4, r5}
8002d5e: 4770 bx lr
8002d60: 6902 ldr r2, [r0, #16]
8002d62: 6853 ldr r3, [r2, #4]
8002d64: e7f2 b.n 8002d4c <vListInsert+0x18>
8002d66: bf00 nop
08002d68 <uxListRemove>:
8002d68: 6903 ldr r3, [r0, #16]
8002d6a: b410 push {r4}
8002d6c: e9d0 2101 ldrd r2, r1, [r0, #4]
8002d70: 685c ldr r4, [r3, #4]
8002d72: 6091 str r1, [r2, #8]
8002d74: 6881 ldr r1, [r0, #8]
8002d76: 4284 cmp r4, r0
8002d78: 604a str r2, [r1, #4]
8002d7a: bf08 it eq
8002d7c: 6059 streq r1, [r3, #4]
8002d7e: 2100 movs r1, #0
8002d80: 681a ldr r2, [r3, #0]
8002d82: 6101 str r1, [r0, #16]
8002d84: 3a01 subs r2, #1
8002d86: 601a str r2, [r3, #0]
8002d88: 6818 ldr r0, [r3, #0]
8002d8a: bc10 pop {r4}
8002d8c: 4770 bx lr
8002d8e: bf00 nop
08002d90 <prvIdleTask>:
8002d90: b580 push {r7, lr}
8002d92: f04f 5a80 mov.w sl, #268435456 ; 0x10000000
8002d96: 4d15 ldr r5, [pc, #84] ; (8002dec <prvIdleTask+0x5c>)
8002d98: 4f15 ldr r7, [pc, #84] ; (8002df0 <prvIdleTask+0x60>)
8002d9a: 4e16 ldr r6, [pc, #88] ; (8002df4 <prvIdleTask+0x64>)
8002d9c: f8df 8058 ldr.w r8, [pc, #88] ; 8002df8 <prvIdleTask+0x68>
8002da0: f8df 9058 ldr.w r9, [pc, #88] ; 8002dfc <prvIdleTask+0x6c>
8002da4: e014 b.n 8002dd0 <prvIdleTask+0x40>
8002da6: f000 fc9d bl 80036e4 <vPortEnterCritical>
8002daa: 68fb ldr r3, [r7, #12]
8002dac: 68dc ldr r4, [r3, #12]
8002dae: 1d20 adds r0, r4, #4
8002db0: f7ff ffda bl 8002d68 <uxListRemove>
8002db4: 6833 ldr r3, [r6, #0]
8002db6: 3b01 subs r3, #1
8002db8: 6033 str r3, [r6, #0]
8002dba: 682b ldr r3, [r5, #0]
8002dbc: 3b01 subs r3, #1
8002dbe: 602b str r3, [r5, #0]
8002dc0: f000 fcb2 bl 8003728 <vPortExitCritical>
8002dc4: 6b20 ldr r0, [r4, #48] ; 0x30
8002dc6: f000 fe31 bl 8003a2c <vPortFree>
8002dca: 4620 mov r0, r4
8002dcc: f000 fe2e bl 8003a2c <vPortFree>
8002dd0: 682b ldr r3, [r5, #0]
8002dd2: 2b00 cmp r3, #0
8002dd4: d1e7 bne.n 8002da6 <prvIdleTask+0x16>
8002dd6: f8d8 3000 ldr.w r3, [r8]
8002dda: 2b01 cmp r3, #1
8002ddc: d9f8 bls.n 8002dd0 <prvIdleTask+0x40>
8002dde: f8c9 a000 str.w sl, [r9]
8002de2: f3bf 8f4f dsb sy
8002de6: f3bf 8f6f isb sy
8002dea: e7f1 b.n 8002dd0 <prvIdleTask+0x40>
8002dec: 2000023c .word 0x2000023c
8002df0: 200002b0 .word 0x200002b0
8002df4: 20000238 .word 0x20000238
8002df8: 200001ac .word 0x200001ac
8002dfc: e000ed04 .word 0xe000ed04
08002e00 <prvAddCurrentTaskToDelayedList>:
8002e00: b5f8 push {r3, r4, r5, r6, r7, lr}
8002e02: 4b1b ldr r3, [pc, #108] ; (8002e70 <prvAddCurrentTaskToDelayedList+0x70>)
8002e04: 4e1b ldr r6, [pc, #108] ; (8002e74 <prvAddCurrentTaskToDelayedList+0x74>)
8002e06: 681c ldr r4, [r3, #0]
8002e08: 6833 ldr r3, [r6, #0]
8002e0a: 4605 mov r5, r0
8002e0c: 1d18 adds r0, r3, #4
8002e0e: 460f mov r7, r1
8002e10: f7ff ffaa bl 8002d68 <uxListRemove>
8002e14: b940 cbnz r0, 8002e28 <prvAddCurrentTaskToDelayedList+0x28>
8002e16: 2201 movs r2, #1
8002e18: 6833 ldr r3, [r6, #0]
8002e1a: 4917 ldr r1, [pc, #92] ; (8002e78 <prvAddCurrentTaskToDelayedList+0x78>)
8002e1c: 6ad8 ldr r0, [r3, #44] ; 0x2c
8002e1e: 680b ldr r3, [r1, #0]
8002e20: 4082 lsls r2, r0
8002e22: ea23 0302 bic.w r3, r3, r2
8002e26: 600b str r3, [r1, #0]
8002e28: 1c6b adds r3, r5, #1
8002e2a: d017 beq.n 8002e5c <prvAddCurrentTaskToDelayedList+0x5c>
8002e2c: 6833 ldr r3, [r6, #0]
8002e2e: 1964 adds r4, r4, r5
8002e30: 605c str r4, [r3, #4]
8002e32: d20b bcs.n 8002e4c <prvAddCurrentTaskToDelayedList+0x4c>
8002e34: 4b11 ldr r3, [pc, #68] ; (8002e7c <prvAddCurrentTaskToDelayedList+0x7c>)
8002e36: 6818 ldr r0, [r3, #0]
8002e38: 6831 ldr r1, [r6, #0]
8002e3a: 3104 adds r1, #4
8002e3c: f7ff ff7a bl 8002d34 <vListInsert>
8002e40: 4b0f ldr r3, [pc, #60] ; (8002e80 <prvAddCurrentTaskToDelayedList+0x80>)
8002e42: 681a ldr r2, [r3, #0]
8002e44: 42a2 cmp r2, r4
8002e46: bf88 it hi
8002e48: 601c strhi r4, [r3, #0]
8002e4a: bdf8 pop {r3, r4, r5, r6, r7, pc}
8002e4c: 4b0d ldr r3, [pc, #52] ; (8002e84 <prvAddCurrentTaskToDelayedList+0x84>)
8002e4e: 6818 ldr r0, [r3, #0]
8002e50: 6831 ldr r1, [r6, #0]
8002e52: e8bd 40f8 ldmia.w sp!, {r3, r4, r5, r6, r7, lr}
8002e56: 3104 adds r1, #4
8002e58: f7ff bf6c b.w 8002d34 <vListInsert>
8002e5c: 2f00 cmp r7, #0
8002e5e: d0e5 beq.n 8002e2c <prvAddCurrentTaskToDelayedList+0x2c>
8002e60: 6831 ldr r1, [r6, #0]
8002e62: 4809 ldr r0, [pc, #36] ; (8002e88 <prvAddCurrentTaskToDelayedList+0x88>)
8002e64: 3104 adds r1, #4
8002e66: e8bd 40f8 ldmia.w sp!, {r3, r4, r5, r6, r7, lr}
8002e6a: f7ff bf55 b.w 8002d18 <vListInsertEnd>
8002e6e: bf00 nop
8002e70: 200002c4 .word 0x200002c4
8002e74: 200001a0 .word 0x200001a0
8002e78: 2000024c .word 0x2000024c
8002e7c: 200001a4 .word 0x200001a4
8002e80: 2000027c .word 0x2000027c
8002e84: 200001a8 .word 0x200001a8
8002e88: 2000029c .word 0x2000029c
08002e8c <xTaskCreate>:
8002e8c: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr}
8002e90: ea4f 0a82 mov.w sl, r2, lsl #2
8002e94: 4680 mov r8, r0
8002e96: 4650 mov r0, sl
8002e98: 460d mov r5, r1
8002e9a: 4699 mov r9, r3
8002e9c: 9f0b ldr r7, [sp, #44] ; 0x2c
8002e9e: f000 fd31 bl 8003904 <pvPortMalloc>
8002ea2: 2800 cmp r0, #0
8002ea4: f000 8108 beq.w 80030b8 <xTaskCreate+0x22c>
8002ea8: 4606 mov r6, r0
8002eaa: 2054 movs r0, #84 ; 0x54
8002eac: f000 fd2a bl 8003904 <pvPortMalloc>
8002eb0: 4604 mov r4, r0
8002eb2: 2800 cmp r0, #0
8002eb4: f000 80d3 beq.w 800305e <xTaskCreate+0x1d2>
8002eb8: 6306 str r6, [r0, #48] ; 0x30
8002eba: 782b ldrb r3, [r5, #0]
8002ebc: f1aa 0a04 sub.w sl, sl, #4
8002ec0: f880 3034 strb.w r3, [r0, #52] ; 0x34
8002ec4: 782b ldrb r3, [r5, #0]
8002ec6: 4456 add r6, sl
8002ec8: f026 0a07 bic.w sl, r6, #7
8002ecc: 2b00 cmp r3, #0
8002ece: d04d beq.n 8002f6c <xTaskCreate+0xe0>
8002ed0: 786b ldrb r3, [r5, #1]
8002ed2: f880 3035 strb.w r3, [r0, #53] ; 0x35
8002ed6: 786b ldrb r3, [r5, #1]
8002ed8: 2b00 cmp r3, #0
8002eda: d047 beq.n 8002f6c <xTaskCreate+0xe0>
8002edc: 78ab ldrb r3, [r5, #2]
8002ede: f880 3036 strb.w r3, [r0, #54] ; 0x36
8002ee2: 78ab ldrb r3, [r5, #2]
8002ee4: 2b00 cmp r3, #0
8002ee6: d041 beq.n 8002f6c <xTaskCreate+0xe0>
8002ee8: 78eb ldrb r3, [r5, #3]
8002eea: f880 3037 strb.w r3, [r0, #55] ; 0x37
8002eee: 78eb ldrb r3, [r5, #3]
8002ef0: 2b00 cmp r3, #0
8002ef2: d03b beq.n 8002f6c <xTaskCreate+0xe0>
8002ef4: 792b ldrb r3, [r5, #4]
8002ef6: f880 3038 strb.w r3, [r0, #56] ; 0x38
8002efa: 792b ldrb r3, [r5, #4]
8002efc: 2b00 cmp r3, #0
8002efe: d035 beq.n 8002f6c <xTaskCreate+0xe0>
8002f00: 796b ldrb r3, [r5, #5]
8002f02: f880 3039 strb.w r3, [r0, #57] ; 0x39
8002f06: 796b ldrb r3, [r5, #5]
8002f08: 2b00 cmp r3, #0
8002f0a: d02f beq.n 8002f6c <xTaskCreate+0xe0>
8002f0c: 79ab ldrb r3, [r5, #6]
8002f0e: f880 303a strb.w r3, [r0, #58] ; 0x3a
8002f12: 79ab ldrb r3, [r5, #6]
8002f14: b353 cbz r3, 8002f6c <xTaskCreate+0xe0>
8002f16: 79eb ldrb r3, [r5, #7]
8002f18: f880 303b strb.w r3, [r0, #59] ; 0x3b
8002f1c: 79eb ldrb r3, [r5, #7]
8002f1e: b32b cbz r3, 8002f6c <xTaskCreate+0xe0>
8002f20: 7a2b ldrb r3, [r5, #8]
8002f22: f880 303c strb.w r3, [r0, #60] ; 0x3c
8002f26: 7a2b ldrb r3, [r5, #8]
8002f28: b303 cbz r3, 8002f6c <xTaskCreate+0xe0>
8002f2a: 7a6b ldrb r3, [r5, #9]
8002f2c: f880 303d strb.w r3, [r0, #61] ; 0x3d
8002f30: 7a6b ldrb r3, [r5, #9]
8002f32: b1db cbz r3, 8002f6c <xTaskCreate+0xe0>
8002f34: 7aab ldrb r3, [r5, #10]
8002f36: f880 303e strb.w r3, [r0, #62] ; 0x3e
8002f3a: 7aab ldrb r3, [r5, #10]
8002f3c: b1b3 cbz r3, 8002f6c <xTaskCreate+0xe0>
8002f3e: 7aeb ldrb r3, [r5, #11]
8002f40: f880 303f strb.w r3, [r0, #63] ; 0x3f
8002f44: 7aeb ldrb r3, [r5, #11]
8002f46: b18b cbz r3, 8002f6c <xTaskCreate+0xe0>
8002f48: 7b2b ldrb r3, [r5, #12]
8002f4a: f880 3040 strb.w r3, [r0, #64] ; 0x40
8002f4e: 7b2b ldrb r3, [r5, #12]
8002f50: b163 cbz r3, 8002f6c <xTaskCreate+0xe0>
8002f52: 7b6b ldrb r3, [r5, #13]
8002f54: f880 3041 strb.w r3, [r0, #65] ; 0x41
8002f58: 7b6b ldrb r3, [r5, #13]
8002f5a: b13b cbz r3, 8002f6c <xTaskCreate+0xe0>
8002f5c: 7bab ldrb r3, [r5, #14]
8002f5e: f880 3042 strb.w r3, [r0, #66] ; 0x42
8002f62: 7bab ldrb r3, [r5, #14]
8002f64: b113 cbz r3, 8002f6c <xTaskCreate+0xe0>
8002f66: 7beb ldrb r3, [r5, #15]
8002f68: f880 3043 strb.w r3, [r0, #67] ; 0x43
8002f6c: 9d0a ldr r5, [sp, #40] ; 0x28
8002f6e: f04f 0b00 mov.w fp, #0
8002f72: 2d06 cmp r5, #6
8002f74: bf28 it cs
8002f76: 2506 movcs r5, #6
8002f78: 1d26 adds r6, r4, #4
8002f7a: 62e5 str r5, [r4, #44] ; 0x2c
8002f7c: 6465 str r5, [r4, #68] ; 0x44
8002f7e: 4630 mov r0, r6
8002f80: f884 b043 strb.w fp, [r4, #67] ; 0x43
8002f84: f8c4 b048 str.w fp, [r4, #72] ; 0x48
8002f88: f7ff fec2 bl 8002d10 <vListInitialiseItem>
8002f8c: f1c5 0507 rsb r5, r5, #7
8002f90: f104 0018 add.w r0, r4, #24
8002f94: f7ff febc bl 8002d10 <vListInitialiseItem>
8002f98: f8c4 b04c str.w fp, [r4, #76] ; 0x4c
8002f9c: 61a5 str r5, [r4, #24]
8002f9e: 6124 str r4, [r4, #16]
8002fa0: f884 b050 strb.w fp, [r4, #80] ; 0x50
8002fa4: 6264 str r4, [r4, #36] ; 0x24
8002fa6: 464a mov r2, r9
8002fa8: 4641 mov r1, r8
8002faa: 4650 mov r0, sl
8002fac: f000 fb74 bl 8003698 <pxPortInitialiseStack>
8002fb0: 6020 str r0, [r4, #0]
8002fb2: b107 cbz r7, 8002fb6 <xTaskCreate+0x12a>
8002fb4: 603c str r4, [r7, #0]
8002fb6: f000 fb95 bl 80036e4 <vPortEnterCritical>
8002fba: 4a41 ldr r2, [pc, #260] ; (80030c0 <xTaskCreate+0x234>)
8002fbc: 4f41 ldr r7, [pc, #260] ; (80030c4 <xTaskCreate+0x238>)
8002fbe: 6813 ldr r3, [r2, #0]
8002fc0: 3301 adds r3, #1
8002fc2: 6013 str r3, [r2, #0]
8002fc4: 683b ldr r3, [r7, #0]
8002fc6: 2b00 cmp r3, #0
8002fc8: d03f beq.n 800304a <xTaskCreate+0x1be>
8002fca: f8df 8118 ldr.w r8, [pc, #280] ; 80030e4 <xTaskCreate+0x258>
8002fce: 6ae3 ldr r3, [r4, #44] ; 0x2c
8002fd0: f8d8 2000 ldr.w r2, [r8]
8002fd4: b372 cbz r2, 8003034 <xTaskCreate+0x1a8>
8002fd6: f8df 9110 ldr.w r9, [pc, #272] ; 80030e8 <xTaskCreate+0x25c>
8002fda: 2501 movs r5, #1
8002fdc: f8df e10c ldr.w lr, [pc, #268] ; 80030ec <xTaskCreate+0x260>
8002fe0: f8df c10c ldr.w ip, [pc, #268] ; 80030f0 <xTaskCreate+0x264>
8002fe4: fa05 f203 lsl.w r2, r5, r3
8002fe8: eb03 0383 add.w r3, r3, r3, lsl #2
8002fec: 4631 mov r1, r6
8002fee: eb09 0083 add.w r0, r9, r3, lsl #2
8002ff2: f8de 6000 ldr.w r6, [lr]
8002ff6: f8dc 3000 ldr.w r3, [ip]
8002ffa: 4332 orrs r2, r6
8002ffc: 442b add r3, r5
8002ffe: f8cc 3000 str.w r3, [ip]
8003002: f8ce 2000 str.w r2, [lr]
8003006: f7ff fe87 bl 8002d18 <vListInsertEnd>
800300a: f000 fb8d bl 8003728 <vPortExitCritical>
800300e: f8d8 3000 ldr.w r3, [r8]
8003012: b1bb cbz r3, 8003044 <xTaskCreate+0x1b8>
8003014: 683a ldr r2, [r7, #0]
8003016: 6ae3 ldr r3, [r4, #44] ; 0x2c
8003018: 6ad2 ldr r2, [r2, #44] ; 0x2c
800301a: 429a cmp r2, r3
800301c: d212 bcs.n 8003044 <xTaskCreate+0x1b8>
800301e: f04f 5280 mov.w r2, #268435456 ; 0x10000000
8003022: 4b29 ldr r3, [pc, #164] ; (80030c8 <xTaskCreate+0x23c>)
8003024: 601a str r2, [r3, #0]
8003026: f3bf 8f4f dsb sy
800302a: f3bf 8f6f isb sy
800302e: 4628 mov r0, r5
8003030: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc}
8003034: 683a ldr r2, [r7, #0]
8003036: f8df 90b0 ldr.w r9, [pc, #176] ; 80030e8 <xTaskCreate+0x25c>
800303a: 6ad2 ldr r2, [r2, #44] ; 0x2c
800303c: 429a cmp r2, r3
800303e: bf98 it ls
8003040: 603c strls r4, [r7, #0]
8003042: e7ca b.n 8002fda <xTaskCreate+0x14e>
8003044: 4628 mov r0, r5
8003046: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc}
800304a: 603c str r4, [r7, #0]
800304c: 6813 ldr r3, [r2, #0]
800304e: 2b01 cmp r3, #1
8003050: d00c beq.n 800306c <xTaskCreate+0x1e0>
8003052: 6ae3 ldr r3, [r4, #44] ; 0x2c
8003054: f8df 9090 ldr.w r9, [pc, #144] ; 80030e8 <xTaskCreate+0x25c>
8003058: f8df 8088 ldr.w r8, [pc, #136] ; 80030e4 <xTaskCreate+0x258>
800305c: e7bd b.n 8002fda <xTaskCreate+0x14e>
800305e: 4630 mov r0, r6
8003060: f000 fce4 bl 8003a2c <vPortFree>
8003064: f04f 30ff mov.w r0, #4294967295 ; 0xffffffff
8003068: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc}
800306c: f8df 9078 ldr.w r9, [pc, #120] ; 80030e8 <xTaskCreate+0x25c>
8003070: 464d mov r5, r9
8003072: f109 088c add.w r8, r9, #140 ; 0x8c
8003076: 4628 mov r0, r5
8003078: 3514 adds r5, #20
800307a: f7ff fe3d bl 8002cf8 <vListInitialise>
800307e: 4545 cmp r5, r8
8003080: d1f9 bne.n 8003076 <xTaskCreate+0x1ea>
8003082: f8df 8070 ldr.w r8, [pc, #112] ; 80030f4 <xTaskCreate+0x268>
8003086: 4d11 ldr r5, [pc, #68] ; (80030cc <xTaskCreate+0x240>)
8003088: 4640 mov r0, r8
800308a: f7ff fe35 bl 8002cf8 <vListInitialise>
800308e: 4628 mov r0, r5
8003090: f7ff fe32 bl 8002cf8 <vListInitialise>
8003094: 480e ldr r0, [pc, #56] ; (80030d0 <xTaskCreate+0x244>)
8003096: f7ff fe2f bl 8002cf8 <vListInitialise>
800309a: 480e ldr r0, [pc, #56] ; (80030d4 <xTaskCreate+0x248>)
800309c: f7ff fe2c bl 8002cf8 <vListInitialise>
80030a0: 480d ldr r0, [pc, #52] ; (80030d8 <xTaskCreate+0x24c>)
80030a2: f7ff fe29 bl 8002cf8 <vListInitialise>
80030a6: 4b0d ldr r3, [pc, #52] ; (80030dc <xTaskCreate+0x250>)
80030a8: 4a0d ldr r2, [pc, #52] ; (80030e0 <xTaskCreate+0x254>)
80030aa: f8c3 8000 str.w r8, [r3]
80030ae: 6ae3 ldr r3, [r4, #44] ; 0x2c
80030b0: 6015 str r5, [r2, #0]
80030b2: f8df 8030 ldr.w r8, [pc, #48] ; 80030e4 <xTaskCreate+0x258>
80030b6: e790 b.n 8002fda <xTaskCreate+0x14e>
80030b8: f04f 30ff mov.w r0, #4294967295 ; 0xffffffff
80030bc: e7b8 b.n 8003030 <xTaskCreate+0x1a4>
80030be: bf00 nop
80030c0: 20000238 .word 0x20000238
80030c4: 200001a0 .word 0x200001a0
80030c8: e000ed04 .word 0xe000ed04
80030cc: 20000264 .word 0x20000264
80030d0: 20000284 .word 0x20000284
80030d4: 200002b0 .word 0x200002b0
80030d8: 2000029c .word 0x2000029c
80030dc: 200001a4 .word 0x200001a4
80030e0: 200001a8 .word 0x200001a8
80030e4: 20000298 .word 0x20000298
80030e8: 200001ac .word 0x200001ac
80030ec: 2000024c .word 0x2000024c
80030f0: 20000248 .word 0x20000248
80030f4: 20000250 .word 0x20000250
080030f8 <vTaskStartScheduler>:
80030f8: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr}
80030fc: f44f 7000 mov.w r0, #512 ; 0x200
8003100: f000 fc00 bl 8003904 <pvPortMalloc>
8003104: 2800 cmp r0, #0
8003106: f000 8093 beq.w 8003230 <vTaskStartScheduler+0x138>
800310a: 4606 mov r6, r0
800310c: 2054 movs r0, #84 ; 0x54
800310e: f000 fbf9 bl 8003904 <pvPortMalloc>
8003112: 4604 mov r4, r0
8003114: 2800 cmp r0, #0
8003116: f000 8088 beq.w 800322a <vTaskStartScheduler+0x132>
800311a: 2500 movs r5, #0
800311c: 4b5b ldr r3, [pc, #364] ; (800328c <vTaskStartScheduler+0x194>)
800311e: 1d07 adds r7, r0, #4
8003120: 6343 str r3, [r0, #52] ; 0x34
8003122: 6306 str r6, [r0, #48] ; 0x30
8003124: f880 5038 strb.w r5, [r0, #56] ; 0x38
8003128: f880 5043 strb.w r5, [r0, #67] ; 0x43
800312c: 62c5 str r5, [r0, #44] ; 0x2c
800312e: e9c0 5511 strd r5, r5, [r0, #68] ; 0x44
8003132: 4638 mov r0, r7
8003134: f7ff fdec bl 8002d10 <vListInitialiseItem>
8003138: f104 0018 add.w r0, r4, #24
800313c: f7ff fde8 bl 8002d10 <vListInitialiseItem>
8003140: 2307 movs r3, #7
8003142: f506 76fe add.w r6, r6, #508 ; 0x1fc
8003146: f026 0607 bic.w r6, r6, #7
800314a: 462a mov r2, r5
800314c: 64e5 str r5, [r4, #76] ; 0x4c
800314e: 61a3 str r3, [r4, #24]
8003150: 494f ldr r1, [pc, #316] ; (8003290 <vTaskStartScheduler+0x198>)
8003152: 4630 mov r0, r6
8003154: 6124 str r4, [r4, #16]
8003156: f884 5050 strb.w r5, [r4, #80] ; 0x50
800315a: 6264 str r4, [r4, #36] ; 0x24
800315c: f000 fa9c bl 8003698 <pxPortInitialiseStack>
8003160: 4b4c ldr r3, [pc, #304] ; (8003294 <vTaskStartScheduler+0x19c>)
8003162: 6020 str r0, [r4, #0]
8003164: 601c str r4, [r3, #0]
8003166: f000 fabd bl 80036e4 <vPortEnterCritical>
800316a: 4b4b ldr r3, [pc, #300] ; (8003298 <vTaskStartScheduler+0x1a0>)
800316c: f8df 8158 ldr.w r8, [pc, #344] ; 80032c8 <vTaskStartScheduler+0x1d0>
8003170: 681a ldr r2, [r3, #0]
8003172: 3201 adds r2, #1
8003174: 601a str r2, [r3, #0]
8003176: f8d8 2000 ldr.w r2, [r8]
800317a: 2a00 cmp r2, #0
800317c: d04c beq.n 8003218 <vTaskStartScheduler+0x120>
800317e: 4e47 ldr r6, [pc, #284] ; (800329c <vTaskStartScheduler+0x1a4>)
8003180: 6ae0 ldr r0, [r4, #44] ; 0x2c
8003182: 6833 ldr r3, [r6, #0]
8003184: 2b00 cmp r3, #0
8003186: d03e beq.n 8003206 <vTaskStartScheduler+0x10e>
8003188: 4d45 ldr r5, [pc, #276] ; (80032a0 <vTaskStartScheduler+0x1a8>)
800318a: 2301 movs r3, #1
800318c: f8df e13c ldr.w lr, [pc, #316] ; 80032cc <vTaskStartScheduler+0x1d4>
8003190: f8df c13c ldr.w ip, [pc, #316] ; 80032d0 <vTaskStartScheduler+0x1d8>
8003194: 4083 lsls r3, r0
8003196: eb00 0080 add.w r0, r0, r0, lsl #2
800319a: f8dc 2000 ldr.w r2, [ip]
800319e: eb05 0080 add.w r0, r5, r0, lsl #2
80031a2: f8de 5000 ldr.w r5, [lr]
80031a6: 3201 adds r2, #1
80031a8: 432b orrs r3, r5
80031aa: 4639 mov r1, r7
80031ac: f8ce 3000 str.w r3, [lr]
80031b0: f8cc 2000 str.w r2, [ip]
80031b4: f7ff fdb0 bl 8002d18 <vListInsertEnd>
80031b8: f000 fab6 bl 8003728 <vPortExitCritical>
80031bc: 6833 ldr r3, [r6, #0]
80031be: b16b cbz r3, 80031dc <vTaskStartScheduler+0xe4>
80031c0: f8d8 2000 ldr.w r2, [r8]
80031c4: 6ae3 ldr r3, [r4, #44] ; 0x2c
80031c6: 6ad2 ldr r2, [r2, #44] ; 0x2c
80031c8: 429a cmp r2, r3
80031ca: d207 bcs.n 80031dc <vTaskStartScheduler+0xe4>
80031cc: f04f 5280 mov.w r2, #268435456 ; 0x10000000
80031d0: 4b34 ldr r3, [pc, #208] ; (80032a4 <vTaskStartScheduler+0x1ac>)
80031d2: 601a str r2, [r3, #0]
80031d4: f3bf 8f4f dsb sy
80031d8: f3bf 8f6f isb sy
80031dc: f04f 0350 mov.w r3, #80 ; 0x50
80031e0: f383 8811 msr BASEPRI, r3
80031e4: f3bf 8f6f isb sy
80031e8: f3bf 8f4f dsb sy
80031ec: f04f 34ff mov.w r4, #4294967295 ; 0xffffffff
80031f0: 2101 movs r1, #1
80031f2: 2200 movs r2, #0
80031f4: 4b2c ldr r3, [pc, #176] ; (80032a8 <vTaskStartScheduler+0x1b0>)
80031f6: 482d ldr r0, [pc, #180] ; (80032ac <vTaskStartScheduler+0x1b4>)
80031f8: 6004 str r4, [r0, #0]
80031fa: 6031 str r1, [r6, #0]
80031fc: 601a str r2, [r3, #0]
80031fe: e8bd 43f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, lr}
8003202: f000 bafb b.w 80037fc <xPortStartScheduler>
8003206: f8d8 3000 ldr.w r3, [r8]
800320a: 4d25 ldr r5, [pc, #148] ; (80032a0 <vTaskStartScheduler+0x1a8>)
800320c: 6adb ldr r3, [r3, #44] ; 0x2c
800320e: 4283 cmp r3, r0
8003210: bf98 it ls
8003212: f8c8 4000 strls.w r4, [r8]
8003216: e7b8 b.n 800318a <vTaskStartScheduler+0x92>
8003218: f8c8 4000 str.w r4, [r8]
800321c: 681b ldr r3, [r3, #0]
800321e: 2b01 cmp r3, #1
8003220: d00f beq.n 8003242 <vTaskStartScheduler+0x14a>
8003222: 6ae0 ldr r0, [r4, #44] ; 0x2c
8003224: 4d1e ldr r5, [pc, #120] ; (80032a0 <vTaskStartScheduler+0x1a8>)
8003226: 4e1d ldr r6, [pc, #116] ; (800329c <vTaskStartScheduler+0x1a4>)
8003228: e7af b.n 800318a <vTaskStartScheduler+0x92>
800322a: 4630 mov r0, r6
800322c: f000 fbfe bl 8003a2c <vPortFree>
8003230: f04f 0350 mov.w r3, #80 ; 0x50
8003234: f383 8811 msr BASEPRI, r3
8003238: f3bf 8f6f isb sy
800323c: f3bf 8f4f dsb sy
8003240: e7fe b.n 8003240 <vTaskStartScheduler+0x148>
8003242: 4d17 ldr r5, [pc, #92] ; (80032a0 <vTaskStartScheduler+0x1a8>)
8003244: 462e mov r6, r5
8003246: f105 098c add.w r9, r5, #140 ; 0x8c
800324a: 4630 mov r0, r6
800324c: 3614 adds r6, #20
800324e: f7ff fd53 bl 8002cf8 <vListInitialise>
8003252: 45b1 cmp r9, r6
8003254: d1f9 bne.n 800324a <vTaskStartScheduler+0x152>
8003256: f8df 907c ldr.w r9, [pc, #124] ; 80032d4 <vTaskStartScheduler+0x1dc>
800325a: 4e15 ldr r6, [pc, #84] ; (80032b0 <vTaskStartScheduler+0x1b8>)
800325c: 4648 mov r0, r9
800325e: f7ff fd4b bl 8002cf8 <vListInitialise>
8003262: 4630 mov r0, r6
8003264: f7ff fd48 bl 8002cf8 <vListInitialise>
8003268: 4812 ldr r0, [pc, #72] ; (80032b4 <vTaskStartScheduler+0x1bc>)
800326a: f7ff fd45 bl 8002cf8 <vListInitialise>
800326e: 4812 ldr r0, [pc, #72] ; (80032b8 <vTaskStartScheduler+0x1c0>)
8003270: f7ff fd42 bl 8002cf8 <vListInitialise>
8003274: 4811 ldr r0, [pc, #68] ; (80032bc <vTaskStartScheduler+0x1c4>)
8003276: f7ff fd3f bl 8002cf8 <vListInitialise>
800327a: 4a11 ldr r2, [pc, #68] ; (80032c0 <vTaskStartScheduler+0x1c8>)
800327c: 4b11 ldr r3, [pc, #68] ; (80032c4 <vTaskStartScheduler+0x1cc>)
800327e: f8c2 9000 str.w r9, [r2]
8003282: 6ae0 ldr r0, [r4, #44] ; 0x2c
8003284: 601e str r6, [r3, #0]
8003286: 4e05 ldr r6, [pc, #20] ; (800329c <vTaskStartScheduler+0x1a4>)
8003288: e77f b.n 800318a <vTaskStartScheduler+0x92>
800328a: bf00 nop
800328c: 454c4449 .word 0x454c4449
8003290: 08002d91 .word 0x08002d91
8003294: 20000278 .word 0x20000278
8003298: 20000238 .word 0x20000238
800329c: 20000298 .word 0x20000298
80032a0: 200001ac .word 0x200001ac
80032a4: e000ed04 .word 0xe000ed04
80032a8: 200002c4 .word 0x200002c4
80032ac: 2000027c .word 0x2000027c
80032b0: 20000264 .word 0x20000264
80032b4: 20000284 .word 0x20000284
80032b8: 200002b0 .word 0x200002b0
80032bc: 2000029c .word 0x2000029c
80032c0: 200001a4 .word 0x200001a4
80032c4: 200001a8 .word 0x200001a8
80032c8: 200001a0 .word 0x200001a0
80032cc: 2000024c .word 0x2000024c
80032d0: 20000248 .word 0x20000248
80032d4: 20000250 .word 0x20000250
080032d8 <vTaskSuspendAll>:
80032d8: 4a02 ldr r2, [pc, #8] ; (80032e4 <vTaskSuspendAll+0xc>)
80032da: 6813 ldr r3, [r2, #0]
80032dc: 3301 adds r3, #1
80032de: 6013 str r3, [r2, #0]
80032e0: 4770 bx lr
80032e2: bf00 nop
80032e4: 20000244 .word 0x20000244
080032e8 <xTaskIncrementTick>:
80032e8: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr}
80032ec: 4b49 ldr r3, [pc, #292] ; (8003414 <xTaskIncrementTick+0x12c>)
80032ee: 681b ldr r3, [r3, #0]
80032f0: b9cb cbnz r3, 8003326 <xTaskIncrementTick+0x3e>
80032f2: 4b49 ldr r3, [pc, #292] ; (8003418 <xTaskIncrementTick+0x130>)
80032f4: 681e ldr r6, [r3, #0]
80032f6: 3601 adds r6, #1
80032f8: 601e str r6, [r3, #0]
80032fa: b30e cbz r6, 8003340 <xTaskIncrementTick+0x58>
80032fc: f8df b138 ldr.w fp, [pc, #312] ; 8003438 <xTaskIncrementTick+0x150>
8003300: f8db 2000 ldr.w r2, [fp]
8003304: 2500 movs r5, #0
8003306: 42b2 cmp r2, r6
8003308: d928 bls.n 800335c <xTaskIncrementTick+0x74>
800330a: 4f44 ldr r7, [pc, #272] ; (800341c <xTaskIncrementTick+0x134>)
800330c: f8df 812c ldr.w r8, [pc, #300] ; 800343c <xTaskIncrementTick+0x154>
8003310: f8d8 3000 ldr.w r3, [r8]
8003314: 6adb ldr r3, [r3, #44] ; 0x2c
8003316: eb03 0383 add.w r3, r3, r3, lsl #2
800331a: 009b lsls r3, r3, #2
800331c: 58fb ldr r3, [r7, r3]
800331e: 2b02 cmp r3, #2
8003320: bf28 it cs
8003322: 2501 movcs r5, #1
8003324: e004 b.n 8003330 <xTaskIncrementTick+0x48>
8003326: 2500 movs r5, #0
8003328: 4a3d ldr r2, [pc, #244] ; (8003420 <xTaskIncrementTick+0x138>)
800332a: 6813 ldr r3, [r2, #0]
800332c: 3301 adds r3, #1
800332e: 6013 str r3, [r2, #0]
8003330: 4b3c ldr r3, [pc, #240] ; (8003424 <xTaskIncrementTick+0x13c>)
8003332: 681b ldr r3, [r3, #0]
8003334: 2b00 cmp r3, #0
8003336: bf0c ite eq
8003338: 4628 moveq r0, r5
800333a: 2001 movne r0, #1
800333c: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc}
8003340: 4c39 ldr r4, [pc, #228] ; (8003428 <xTaskIncrementTick+0x140>)
8003342: 6823 ldr r3, [r4, #0]
8003344: 681b ldr r3, [r3, #0]
8003346: 2b00 cmp r3, #0
8003348: d047 beq.n 80033da <xTaskIncrementTick+0xf2>
800334a: f04f 0350 mov.w r3, #80 ; 0x50
800334e: f383 8811 msr BASEPRI, r3
8003352: f3bf 8f6f isb sy
8003356: f3bf 8f4f dsb sy
800335a: e7fe b.n 800335a <xTaskIncrementTick+0x72>
800335c: 4c32 ldr r4, [pc, #200] ; (8003428 <xTaskIncrementTick+0x140>)
800335e: 4f2f ldr r7, [pc, #188] ; (800341c <xTaskIncrementTick+0x134>)
8003360: f8df 80d8 ldr.w r8, [pc, #216] ; 800343c <xTaskIncrementTick+0x154>
8003364: e02d b.n 80033c2 <xTaskIncrementTick+0xda>
8003366: 6822 ldr r2, [r4, #0]
8003368: 68d2 ldr r2, [r2, #12]
800336a: f8d2 900c ldr.w r9, [r2, #12]
800336e: f8d9 1004 ldr.w r1, [r9, #4]
8003372: f109 0a04 add.w sl, r9, #4
8003376: 428e cmp r6, r1
8003378: d32c bcc.n 80033d4 <xTaskIncrementTick+0xec>
800337a: 4650 mov r0, sl
800337c: f7ff fcf4 bl 8002d68 <uxListRemove>
8003380: f8d9 1028 ldr.w r1, [r9, #40] ; 0x28
8003384: f109 0018 add.w r0, r9, #24
8003388: b109 cbz r1, 800338e <xTaskIncrementTick+0xa6>
800338a: f7ff fced bl 8002d68 <uxListRemove>
800338e: 2101 movs r1, #1
8003390: 4a26 ldr r2, [pc, #152] ; (800342c <xTaskIncrementTick+0x144>)
8003392: f8d9 002c ldr.w r0, [r9, #44] ; 0x2c
8003396: 6813 ldr r3, [r2, #0]
8003398: fa01 fc00 lsl.w ip, r1, r0
800339c: eb00 0080 add.w r0, r0, r0, lsl #2
80033a0: 4651 mov r1, sl
80033a2: eb07 0080 add.w r0, r7, r0, lsl #2
80033a6: ea4c 0c03 orr.w ip, ip, r3
80033aa: f8c2 c000 str.w ip, [r2]
80033ae: f7ff fcb3 bl 8002d18 <vListInsertEnd>
80033b2: f8d8 0000 ldr.w r0, [r8]
80033b6: f8d9 102c ldr.w r1, [r9, #44] ; 0x2c
80033ba: 6ac2 ldr r2, [r0, #44] ; 0x2c
80033bc: 4291 cmp r1, r2
80033be: bf28 it cs
80033c0: 2501 movcs r5, #1
80033c2: 6822 ldr r2, [r4, #0]
80033c4: 6812 ldr r2, [r2, #0]
80033c6: 2a00 cmp r2, #0
80033c8: d1cd bne.n 8003366 <xTaskIncrementTick+0x7e>
80033ca: f04f 32ff mov.w r2, #4294967295 ; 0xffffffff
80033ce: f8cb 2000 str.w r2, [fp]
80033d2: e79d b.n 8003310 <xTaskIncrementTick+0x28>
80033d4: f8cb 1000 str.w r1, [fp]
80033d8: e79a b.n 8003310 <xTaskIncrementTick+0x28>
80033da: 4b15 ldr r3, [pc, #84] ; (8003430 <xTaskIncrementTick+0x148>)
80033dc: 6821 ldr r1, [r4, #0]
80033de: 6818 ldr r0, [r3, #0]
80033e0: 4a14 ldr r2, [pc, #80] ; (8003434 <xTaskIncrementTick+0x14c>)
80033e2: 6020 str r0, [r4, #0]
80033e4: 6019 str r1, [r3, #0]
80033e6: 6813 ldr r3, [r2, #0]
80033e8: 3301 adds r3, #1
80033ea: 6013 str r3, [r2, #0]
80033ec: 6823 ldr r3, [r4, #0]
80033ee: 681b ldr r3, [r3, #0]
80033f0: b933 cbnz r3, 8003400 <xTaskIncrementTick+0x118>
80033f2: f04f 32ff mov.w r2, #4294967295 ; 0xffffffff
80033f6: f8df b040 ldr.w fp, [pc, #64] ; 8003438 <xTaskIncrementTick+0x150>
80033fa: f8cb 2000 str.w r2, [fp]
80033fe: e77f b.n 8003300 <xTaskIncrementTick+0x18>
8003400: 6822 ldr r2, [r4, #0]
8003402: f8df b034 ldr.w fp, [pc, #52] ; 8003438 <xTaskIncrementTick+0x150>
8003406: 68d2 ldr r2, [r2, #12]
8003408: 68d2 ldr r2, [r2, #12]
800340a: 6852 ldr r2, [r2, #4]
800340c: f8cb 2000 str.w r2, [fp]
8003410: e776 b.n 8003300 <xTaskIncrementTick+0x18>
8003412: bf00 nop
8003414: 20000244 .word 0x20000244
8003418: 200002c4 .word 0x200002c4
800341c: 200001ac .word 0x200001ac
8003420: 20000240 .word 0x20000240
8003424: 200002c8 .word 0x200002c8
8003428: 200001a4 .word 0x200001a4
800342c: 2000024c .word 0x2000024c
8003430: 200001a8 .word 0x200001a8
8003434: 20000280 .word 0x20000280
8003438: 2000027c .word 0x2000027c
800343c: 200001a0 .word 0x200001a0
08003440 <xTaskResumeAll>:
8003440: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr}
8003444: 4c38 ldr r4, [pc, #224] ; (8003528 <xTaskResumeAll+0xe8>)
8003446: 6823 ldr r3, [r4, #0]
8003448: b943 cbnz r3, 800345c <xTaskResumeAll+0x1c>
800344a: f04f 0350 mov.w r3, #80 ; 0x50
800344e: f383 8811 msr BASEPRI, r3
8003452: f3bf 8f6f isb sy
8003456: f3bf 8f4f dsb sy
800345a: e7fe b.n 800345a <xTaskResumeAll+0x1a>
800345c: f000 f942 bl 80036e4 <vPortEnterCritical>
8003460: 6823 ldr r3, [r4, #0]
8003462: 3b01 subs r3, #1
8003464: 6023 str r3, [r4, #0]
8003466: 6824 ldr r4, [r4, #0]
8003468: bb7c cbnz r4, 80034ca <xTaskResumeAll+0x8a>
800346a: 4b30 ldr r3, [pc, #192] ; (800352c <xTaskResumeAll+0xec>)
800346c: 681b ldr r3, [r3, #0]
800346e: b363 cbz r3, 80034ca <xTaskResumeAll+0x8a>
8003470: 4d2f ldr r5, [pc, #188] ; (8003530 <xTaskResumeAll+0xf0>)
8003472: f8df a0d4 ldr.w sl, [pc, #212] ; 8003548 <xTaskResumeAll+0x108>
8003476: 4e2f ldr r6, [pc, #188] ; (8003534 <xTaskResumeAll+0xf4>)
8003478: f8df 90d0 ldr.w r9, [pc, #208] ; 800354c <xTaskResumeAll+0x10c>
800347c: f8df b0d0 ldr.w fp, [pc, #208] ; 8003550 <xTaskResumeAll+0x110>
8003480: f8da 3000 ldr.w r3, [sl]
8003484: b33b cbz r3, 80034d6 <xTaskResumeAll+0x96>
8003486: 2701 movs r7, #1
8003488: f8da 300c ldr.w r3, [sl, #12]
800348c: 68dc ldr r4, [r3, #12]
800348e: f104 0804 add.w r8, r4, #4
8003492: f104 0018 add.w r0, r4, #24
8003496: f7ff fc67 bl 8002d68 <uxListRemove>
800349a: 4640 mov r0, r8
800349c: f7ff fc64 bl 8002d68 <uxListRemove>
80034a0: 6ae0 ldr r0, [r4, #44] ; 0x2c
80034a2: 6832 ldr r2, [r6, #0]
80034a4: fa07 f300 lsl.w r3, r7, r0
80034a8: eb00 0080 add.w r0, r0, r0, lsl #2
80034ac: 4313 orrs r3, r2
80034ae: 4641 mov r1, r8
80034b0: eb09 0080 add.w r0, r9, r0, lsl #2
80034b4: 6033 str r3, [r6, #0]
80034b6: f7ff fc2f bl 8002d18 <vListInsertEnd>
80034ba: f8db 3000 ldr.w r3, [fp]
80034be: 6ae2 ldr r2, [r4, #44] ; 0x2c
80034c0: 6adb ldr r3, [r3, #44] ; 0x2c
80034c2: 429a cmp r2, r3
80034c4: d3dc bcc.n 8003480 <xTaskResumeAll+0x40>
80034c6: 602f str r7, [r5, #0]
80034c8: e7da b.n 8003480 <xTaskResumeAll+0x40>
80034ca: 2400 movs r4, #0
80034cc: f000 f92c bl 8003728 <vPortExitCritical>
80034d0: 4620 mov r0, r4
80034d2: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc}
80034d6: b13c cbz r4, 80034e8 <xTaskResumeAll+0xa8>
80034d8: 4b17 ldr r3, [pc, #92] ; (8003538 <xTaskResumeAll+0xf8>)
80034da: 681a ldr r2, [r3, #0]
80034dc: 6812 ldr r2, [r2, #0]
80034de: b9da cbnz r2, 8003518 <xTaskResumeAll+0xd8>
80034e0: f04f 32ff mov.w r2, #4294967295 ; 0xffffffff
80034e4: 4b15 ldr r3, [pc, #84] ; (800353c <xTaskResumeAll+0xfc>)
80034e6: 601a str r2, [r3, #0]
80034e8: 4e15 ldr r6, [pc, #84] ; (8003540 <xTaskResumeAll+0x100>)
80034ea: 6834 ldr r4, [r6, #0]
80034ec: b13c cbz r4, 80034fe <xTaskResumeAll+0xbe>
80034ee: 2701 movs r7, #1
80034f0: f7ff fefa bl 80032e8 <xTaskIncrementTick>
80034f4: b100 cbz r0, 80034f8 <xTaskResumeAll+0xb8>
80034f6: 602f str r7, [r5, #0]
80034f8: 3c01 subs r4, #1
80034fa: d1f9 bne.n 80034f0 <xTaskResumeAll+0xb0>
80034fc: 6034 str r4, [r6, #0]
80034fe: 682b ldr r3, [r5, #0]
8003500: 2b00 cmp r3, #0
8003502: d0e2 beq.n 80034ca <xTaskResumeAll+0x8a>
8003504: f04f 5280 mov.w r2, #268435456 ; 0x10000000
8003508: 4b0e ldr r3, [pc, #56] ; (8003544 <xTaskResumeAll+0x104>)
800350a: 601a str r2, [r3, #0]
800350c: f3bf 8f4f dsb sy
8003510: f3bf 8f6f isb sy
8003514: 2401 movs r4, #1
8003516: e7d9 b.n 80034cc <xTaskResumeAll+0x8c>
8003518: 681a ldr r2, [r3, #0]
800351a: 4b08 ldr r3, [pc, #32] ; (800353c <xTaskResumeAll+0xfc>)
800351c: 68d2 ldr r2, [r2, #12]
800351e: 68d2 ldr r2, [r2, #12]
8003520: 6852 ldr r2, [r2, #4]
8003522: 601a str r2, [r3, #0]
8003524: e7e0 b.n 80034e8 <xTaskResumeAll+0xa8>
8003526: bf00 nop
8003528: 20000244 .word 0x20000244
800352c: 20000238 .word 0x20000238
8003530: 200002c8 .word 0x200002c8
8003534: 2000024c .word 0x2000024c
8003538: 200001a4 .word 0x200001a4
800353c: 2000027c .word 0x2000027c
8003540: 20000240 .word 0x20000240
8003544: e000ed04 .word 0xe000ed04
8003548: 20000284 .word 0x20000284
800354c: 200001ac .word 0x200001ac
8003550: 200001a0 .word 0x200001a0
08003554 <vTaskDelay>:
8003554: b508 push {r3, lr}
8003556: b198 cbz r0, 8003580 <vTaskDelay+0x2c>
8003558: 4b0e ldr r3, [pc, #56] ; (8003594 <vTaskDelay+0x40>)
800355a: 6819 ldr r1, [r3, #0]
800355c: b141 cbz r1, 8003570 <vTaskDelay+0x1c>
800355e: f04f 0350 mov.w r3, #80 ; 0x50
8003562: f383 8811 msr BASEPRI, r3
8003566: f3bf 8f6f isb sy
800356a: f3bf 8f4f dsb sy
800356e: e7fe b.n 800356e <vTaskDelay+0x1a>
8003570: 681a ldr r2, [r3, #0]
8003572: 3201 adds r2, #1
8003574: 601a str r2, [r3, #0]
8003576: f7ff fc43 bl 8002e00 <prvAddCurrentTaskToDelayedList>
800357a: f7ff ff61 bl 8003440 <xTaskResumeAll>
800357e: b938 cbnz r0, 8003590 <vTaskDelay+0x3c>
8003580: f04f 5280 mov.w r2, #268435456 ; 0x10000000
8003584: 4b04 ldr r3, [pc, #16] ; (8003598 <vTaskDelay+0x44>)
8003586: 601a str r2, [r3, #0]
8003588: f3bf 8f4f dsb sy
800358c: f3bf 8f6f isb sy
8003590: bd08 pop {r3, pc}
8003592: bf00 nop
8003594: 20000244 .word 0x20000244
8003598: e000ed04 .word 0xe000ed04
0800359c <vTaskSwitchContext>:
800359c: 4b19 ldr r3, [pc, #100] ; (8003604 <vTaskSwitchContext+0x68>)
800359e: 681b ldr r3, [r3, #0]
80035a0: b9e3 cbnz r3, 80035dc <vTaskSwitchContext+0x40>
80035a2: 4919 ldr r1, [pc, #100] ; (8003608 <vTaskSwitchContext+0x6c>)
80035a4: 4a19 ldr r2, [pc, #100] ; (800360c <vTaskSwitchContext+0x70>)
80035a6: b410 push {r4}
80035a8: 600b str r3, [r1, #0]
80035aa: 6813 ldr r3, [r2, #0]
80035ac: fab3 f383 clz r3, r3
80035b0: b2db uxtb r3, r3
80035b2: f1c3 031f rsb r3, r3, #31
80035b6: 4816 ldr r0, [pc, #88] ; (8003610 <vTaskSwitchContext+0x74>)
80035b8: eb03 0283 add.w r2, r3, r3, lsl #2
80035bc: 0092 lsls r2, r2, #2
80035be: 5881 ldr r1, [r0, r2]
80035c0: 1884 adds r4, r0, r2
80035c2: b179 cbz r1, 80035e4 <vTaskSwitchContext+0x48>
80035c4: 6861 ldr r1, [r4, #4]
80035c6: 3208 adds r2, #8
80035c8: 6849 ldr r1, [r1, #4]
80035ca: 4402 add r2, r0
80035cc: 4291 cmp r1, r2
80035ce: 6061 str r1, [r4, #4]
80035d0: d011 beq.n 80035f6 <vTaskSwitchContext+0x5a>
80035d2: 68ca ldr r2, [r1, #12]
80035d4: 4b0f ldr r3, [pc, #60] ; (8003614 <vTaskSwitchContext+0x78>)
80035d6: bc10 pop {r4}
80035d8: 601a str r2, [r3, #0]
80035da: 4770 bx lr
80035dc: 2201 movs r2, #1
80035de: 4b0a ldr r3, [pc, #40] ; (8003608 <vTaskSwitchContext+0x6c>)
80035e0: 601a str r2, [r3, #0]
80035e2: 4770 bx lr
80035e4: f04f 0350 mov.w r3, #80 ; 0x50
80035e8: f383 8811 msr BASEPRI, r3
80035ec: f3bf 8f6f isb sy
80035f0: f3bf 8f4f dsb sy
80035f4: e7fe b.n 80035f4 <vTaskSwitchContext+0x58>
80035f6: 2214 movs r2, #20
80035f8: fb02 0303 mla r3, r2, r3, r0
80035fc: 6849 ldr r1, [r1, #4]
80035fe: 6059 str r1, [r3, #4]
8003600: e7e7 b.n 80035d2 <vTaskSwitchContext+0x36>
8003602: bf00 nop
8003604: 20000244 .word 0x20000244
8003608: 200002c8 .word 0x200002c8
800360c: 2000024c .word 0x2000024c
8003610: 200001ac .word 0x200001ac
8003614: 200001a0 .word 0x200001a0
08003618 <xTaskGetSchedulerState>:
8003618: 4b05 ldr r3, [pc, #20] ; (8003630 <xTaskGetSchedulerState+0x18>)
800361a: 681b ldr r3, [r3, #0]
800361c: b133 cbz r3, 800362c <xTaskGetSchedulerState+0x14>
800361e: 4b05 ldr r3, [pc, #20] ; (8003634 <xTaskGetSchedulerState+0x1c>)
8003620: 681b ldr r3, [r3, #0]
8003622: 2b00 cmp r3, #0
8003624: bf0c ite eq
8003626: 2002 moveq r0, #2
8003628: 2000 movne r0, #0
800362a: 4770 bx lr
800362c: 2001 movs r0, #1
800362e: 4770 bx lr
8003630: 20000298 .word 0x20000298
8003634: 20000244 .word 0x20000244
08003638 <prvTaskExitError>:
8003638: 2200 movs r2, #0
800363a: 4b0e ldr r3, [pc, #56] ; (8003674 <prvTaskExitError+0x3c>)
800363c: b082 sub sp, #8
800363e: 681b ldr r3, [r3, #0]
8003640: 9201 str r2, [sp, #4]
8003642: 3301 adds r3, #1
8003644: d008 beq.n 8003658 <prvTaskExitError+0x20>
8003646: f04f 0350 mov.w r3, #80 ; 0x50
800364a: f383 8811 msr BASEPRI, r3
800364e: f3bf 8f6f isb sy
8003652: f3bf 8f4f dsb sy
8003656: e7fe b.n 8003656 <prvTaskExitError+0x1e>
8003658: f04f 0350 mov.w r3, #80 ; 0x50
800365c: f383 8811 msr BASEPRI, r3
8003660: f3bf 8f6f isb sy
8003664: f3bf 8f4f dsb sy
8003668: 9b01 ldr r3, [sp, #4]
800366a: 2b00 cmp r3, #0
800366c: d0fc beq.n 8003668 <prvTaskExitError+0x30>
800366e: b002 add sp, #8
8003670: 4770 bx lr
8003672: bf00 nop
8003674: 20000118 .word 0x20000118
08003678 <prvPortStartFirstTask>:
8003678: 4806 ldr r0, [pc, #24] ; (8003694 <prvPortStartFirstTask+0x1c>)
800367a: 6800 ldr r0, [r0, #0]
800367c: 6800 ldr r0, [r0, #0]
800367e: f380 8808 msr MSP, r0
8003682: b662 cpsie i
8003684: b661 cpsie f
8003686: f3bf 8f4f dsb sy
800368a: f3bf 8f6f isb sy
800368e: df00 svc 0
8003690: bf00 nop
8003692: 0000 .short 0x0000
8003694: e000ed08 .word 0xe000ed08
08003698 <pxPortInitialiseStack>:
8003698: b410 push {r4}
800369a: f04f 7480 mov.w r4, #16777216 ; 0x1000000
800369e: 4b06 ldr r3, [pc, #24] ; (80036b8 <pxPortInitialiseStack+0x20>)
80036a0: f021 0101 bic.w r1, r1, #1
80036a4: f840 2c20 str.w r2, [r0, #-32]
80036a8: e940 1402 strd r1, r4, [r0, #-8]
80036ac: f840 3c0c str.w r3, [r0, #-12]
80036b0: bc10 pop {r4}
80036b2: 3840 subs r0, #64 ; 0x40
80036b4: 4770 bx lr
80036b6: bf00 nop
80036b8: 08003639 .word 0x08003639
80036bc: 00000000 .word 0x00000000
080036c0 <SVC_Handler>:
80036c0: 4b07 ldr r3, [pc, #28] ; (80036e0 <pxCurrentTCBConst2>)
80036c2: 6819 ldr r1, [r3, #0]
80036c4: 6808 ldr r0, [r1, #0]
80036c6: e8b0 0ff0 ldmia.w r0!, {r4, r5, r6, r7, r8, r9, sl, fp}
80036ca: f380 8809 msr PSP, r0
80036ce: f3bf 8f6f isb sy
80036d2: f04f 0000 mov.w r0, #0
80036d6: f380 8811 msr BASEPRI, r0
80036da: f04e 0e0d orr.w lr, lr, #13
80036de: 4770 bx lr
080036e0 <pxCurrentTCBConst2>:
80036e0: 200001a0 .word 0x200001a0
080036e4 <vPortEnterCritical>:
80036e4: f04f 0350 mov.w r3, #80 ; 0x50
80036e8: f383 8811 msr BASEPRI, r3
80036ec: f3bf 8f6f isb sy
80036f0: f3bf 8f4f dsb sy
80036f4: 4a0a ldr r2, [pc, #40] ; (8003720 <vPortEnterCritical+0x3c>)
80036f6: 6813 ldr r3, [r2, #0]
80036f8: 3301 adds r3, #1
80036fa: 2b01 cmp r3, #1
80036fc: 6013 str r3, [r2, #0]
80036fe: d000 beq.n 8003702 <vPortEnterCritical+0x1e>
8003700: 4770 bx lr
8003702: 4b08 ldr r3, [pc, #32] ; (8003724 <vPortEnterCritical+0x40>)
8003704: 681b ldr r3, [r3, #0]
8003706: f013 0fff tst.w r3, #255 ; 0xff
800370a: d0f9 beq.n 8003700 <vPortEnterCritical+0x1c>
800370c: f04f 0350 mov.w r3, #80 ; 0x50
8003710: f383 8811 msr BASEPRI, r3
8003714: f3bf 8f6f isb sy
8003718: f3bf 8f4f dsb sy
800371c: e7fe b.n 800371c <vPortEnterCritical+0x38>
800371e: bf00 nop
8003720: 20000118 .word 0x20000118
8003724: e000ed04 .word 0xe000ed04
08003728 <vPortExitCritical>:
8003728: 4a08 ldr r2, [pc, #32] ; (800374c <vPortExitCritical+0x24>)
800372a: 6813 ldr r3, [r2, #0]
800372c: b943 cbnz r3, 8003740 <vPortExitCritical+0x18>
800372e: f04f 0350 mov.w r3, #80 ; 0x50
8003732: f383 8811 msr BASEPRI, r3
8003736: f3bf 8f6f isb sy
800373a: f3bf 8f4f dsb sy
800373e: e7fe b.n 800373e <vPortExitCritical+0x16>
8003740: 3b01 subs r3, #1
8003742: 6013 str r3, [r2, #0]
8003744: b90b cbnz r3, 800374a <vPortExitCritical+0x22>
8003746: f383 8811 msr BASEPRI, r3
800374a: 4770 bx lr
800374c: 20000118 .word 0x20000118
08003750 <PendSV_Handler>:
8003750: f3ef 8009 mrs r0, PSP
8003754: f3bf 8f6f isb sy
8003758: 4b0d ldr r3, [pc, #52] ; (8003790 <pxCurrentTCBConst>)
800375a: 681a ldr r2, [r3, #0]
800375c: e920 0ff0 stmdb r0!, {r4, r5, r6, r7, r8, r9, sl, fp}
8003760: 6010 str r0, [r2, #0]
8003762: e92d 4008 stmdb sp!, {r3, lr}
8003766: f04f 0050 mov.w r0, #80 ; 0x50
800376a: f380 8811 msr BASEPRI, r0
800376e: f7ff ff15 bl 800359c <vTaskSwitchContext>
8003772: f04f 0000 mov.w r0, #0
8003776: f380 8811 msr BASEPRI, r0
800377a: e8bd 4008 ldmia.w sp!, {r3, lr}
800377e: 6819 ldr r1, [r3, #0]
8003780: 6808 ldr r0, [r1, #0]
8003782: e8b0 0ff0 ldmia.w r0!, {r4, r5, r6, r7, r8, r9, sl, fp}
8003786: f380 8809 msr PSP, r0
800378a: f3bf 8f6f isb sy
800378e: 4770 bx lr
08003790 <pxCurrentTCBConst>:
8003790: 200001a0 .word 0x200001a0
08003794 <xPortSysTickHandler>:
8003794: b508 push {r3, lr}
8003796: f04f 0350 mov.w r3, #80 ; 0x50
800379a: f383 8811 msr BASEPRI, r3
800379e: f3bf 8f6f isb sy
80037a2: f3bf 8f4f dsb sy
80037a6: f7ff fd9f bl 80032e8 <xTaskIncrementTick>
80037aa: b118 cbz r0, 80037b4 <xPortSysTickHandler+0x20>
80037ac: f04f 5280 mov.w r2, #268435456 ; 0x10000000
80037b0: 4b02 ldr r3, [pc, #8] ; (80037bc <xPortSysTickHandler+0x28>)
80037b2: 601a str r2, [r3, #0]
80037b4: 2300 movs r3, #0
80037b6: f383 8811 msr BASEPRI, r3
80037ba: bd08 pop {r3, pc}
80037bc: e000ed04 .word 0xe000ed04
080037c0 <vPortSetupTimerInterrupt>:
80037c0: 2300 movs r3, #0
80037c2: 2107 movs r1, #7
80037c4: b410 push {r4}
80037c6: 4a08 ldr r2, [pc, #32] ; (80037e8 <vPortSetupTimerInterrupt+0x28>)
80037c8: 4c08 ldr r4, [pc, #32] ; (80037ec <vPortSetupTimerInterrupt+0x2c>)
80037ca: 4809 ldr r0, [pc, #36] ; (80037f0 <vPortSetupTimerInterrupt+0x30>)
80037cc: 6013 str r3, [r2, #0]
80037ce: 6023 str r3, [r4, #0]
80037d0: 6803 ldr r3, [r0, #0]
80037d2: 4c08 ldr r4, [pc, #32] ; (80037f4 <vPortSetupTimerInterrupt+0x34>)
80037d4: 4808 ldr r0, [pc, #32] ; (80037f8 <vPortSetupTimerInterrupt+0x38>)
80037d6: fba4 4303 umull r4, r3, r4, r3
80037da: 099b lsrs r3, r3, #6
80037dc: 3b01 subs r3, #1
80037de: 6003 str r3, [r0, #0]
80037e0: bc10 pop {r4}
80037e2: 6011 str r1, [r2, #0]
80037e4: 4770 bx lr
80037e6: bf00 nop
80037e8: e000e010 .word 0xe000e010
80037ec: e000e018 .word 0xe000e018
80037f0: 2000011c .word 0x2000011c
80037f4: 10624dd3 .word 0x10624dd3
80037f8: e000e014 .word 0xe000e014
080037fc <xPortStartScheduler>:
80037fc: b530 push {r4, r5, lr}
80037fe: 25ff movs r5, #255 ; 0xff
8003800: 2407 movs r4, #7
8003802: 4b27 ldr r3, [pc, #156] ; (80038a0 <xPortStartScheduler+0xa4>)
8003804: b083 sub sp, #12
8003806: 781a ldrb r2, [r3, #0]
8003808: 4926 ldr r1, [pc, #152] ; (80038a4 <xPortStartScheduler+0xa8>)
800380a: b2d2 uxtb r2, r2
800380c: 9201 str r2, [sp, #4]
800380e: 701d strb r5, [r3, #0]
8003810: 781b ldrb r3, [r3, #0]
8003812: 4825 ldr r0, [pc, #148] ; (80038a8 <xPortStartScheduler+0xac>)
8003814: b2db uxtb r3, r3
8003816: f88d 3003 strb.w r3, [sp, #3]
800381a: f89d 3003 ldrb.w r3, [sp, #3]
800381e: f89d 2003 ldrb.w r2, [sp, #3]
8003822: f003 0350 and.w r3, r3, #80 ; 0x50
8003826: 700b strb r3, [r1, #0]
8003828: 0611 lsls r1, r2, #24
800382a: 6004 str r4, [r0, #0]
800382c: d510 bpl.n 8003850 <xPortStartScheduler+0x54>
800382e: 2306 movs r3, #6
8003830: e000 b.n 8003834 <xPortStartScheduler+0x38>
8003832: 460b mov r3, r1
8003834: f89d 2003 ldrb.w r2, [sp, #3]
8003838: 1e59 subs r1, r3, #1
800383a: 0052 lsls r2, r2, #1
800383c: b2d2 uxtb r2, r2
800383e: f88d 2003 strb.w r2, [sp, #3]
8003842: f89d 2003 ldrb.w r2, [sp, #3]
8003846: 0612 lsls r2, r2, #24
8003848: d4f3 bmi.n 8003832 <xPortStartScheduler+0x36>
800384a: 2b03 cmp r3, #3
800384c: 6003 str r3, [r0, #0]
800384e: d008 beq.n 8003862 <xPortStartScheduler+0x66>
8003850: f04f 0350 mov.w r3, #80 ; 0x50
8003854: f383 8811 msr BASEPRI, r3
8003858: f3bf 8f6f isb sy
800385c: f3bf 8f4f dsb sy
8003860: e7fe b.n 8003860 <xPortStartScheduler+0x64>
8003862: 2400 movs r4, #0
8003864: 9901 ldr r1, [sp, #4]
8003866: 4d0e ldr r5, [pc, #56] ; (80038a0 <xPortStartScheduler+0xa4>)
8003868: 021b lsls r3, r3, #8
800386a: 4a10 ldr r2, [pc, #64] ; (80038ac <xPortStartScheduler+0xb0>)
800386c: b2c9 uxtb r1, r1
800386e: f403 63e0 and.w r3, r3, #1792 ; 0x700
8003872: 6003 str r3, [r0, #0]
8003874: 7029 strb r1, [r5, #0]
8003876: 6813 ldr r3, [r2, #0]
8003878: f443 0370 orr.w r3, r3, #15728640 ; 0xf00000
800387c: 6013 str r3, [r2, #0]
800387e: 6813 ldr r3, [r2, #0]
8003880: f043 4370 orr.w r3, r3, #4026531840 ; 0xf0000000
8003884: 6013 str r3, [r2, #0]
8003886: f7ff ff9b bl 80037c0 <vPortSetupTimerInterrupt>
800388a: 4b09 ldr r3, [pc, #36] ; (80038b0 <xPortStartScheduler+0xb4>)
800388c: 601c str r4, [r3, #0]
800388e: f7ff fef3 bl 8003678 <prvPortStartFirstTask>
8003892: f7ff fe83 bl 800359c <vTaskSwitchContext>
8003896: f7ff fecf bl 8003638 <prvTaskExitError>
800389a: 4620 mov r0, r4
800389c: b003 add sp, #12
800389e: bd30 pop {r4, r5, pc}
80038a0: e000e400 .word 0xe000e400
80038a4: 200002cc .word 0x200002cc
80038a8: 200002d0 .word 0x200002d0
80038ac: e000ed20 .word 0xe000ed20
80038b0: 20000118 .word 0x20000118
080038b4 <prvInsertBlockIntoFreeList>:
80038b4: b430 push {r4, r5}
80038b6: 4b11 ldr r3, [pc, #68] ; (80038fc <prvInsertBlockIntoFreeList+0x48>)
80038b8: 681a ldr r2, [r3, #0]
80038ba: 4282 cmp r2, r0
80038bc: d201 bcs.n 80038c2 <prvInsertBlockIntoFreeList+0xe>
80038be: 4613 mov r3, r2
80038c0: e7fa b.n 80038b8 <prvInsertBlockIntoFreeList+0x4>
80038c2: 685c ldr r4, [r3, #4]
80038c4: 1919 adds r1, r3, r4
80038c6: 4288 cmp r0, r1
80038c8: d103 bne.n 80038d2 <prvInsertBlockIntoFreeList+0x1e>
80038ca: 6841 ldr r1, [r0, #4]
80038cc: 4618 mov r0, r3
80038ce: 4421 add r1, r4
80038d0: 6059 str r1, [r3, #4]
80038d2: 6844 ldr r4, [r0, #4]
80038d4: 1901 adds r1, r0, r4
80038d6: 428a cmp r2, r1
80038d8: d109 bne.n 80038ee <prvInsertBlockIntoFreeList+0x3a>
80038da: 4909 ldr r1, [pc, #36] ; (8003900 <prvInsertBlockIntoFreeList+0x4c>)
80038dc: 6809 ldr r1, [r1, #0]
80038de: 428a cmp r2, r1
80038e0: d005 beq.n 80038ee <prvInsertBlockIntoFreeList+0x3a>
80038e2: e9d2 5100 ldrd r5, r1, [r2]
80038e6: 4421 add r1, r4
80038e8: e9c0 5100 strd r5, r1, [r0]
80038ec: e000 b.n 80038f0 <prvInsertBlockIntoFreeList+0x3c>
80038ee: 6002 str r2, [r0, #0]
80038f0: 4298 cmp r0, r3
80038f2: bf18 it ne
80038f4: 6018 strne r0, [r3, #0]
80038f6: bc30 pop {r4, r5}
80038f8: 4770 bx lr
80038fa: bf00 nop
80038fc: 20000ee4 .word 0x20000ee4
8003900: 200002d4 .word 0x200002d4
08003904 <pvPortMalloc>:
8003904: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
8003908: 4f41 ldr r7, [pc, #260] ; (8003a10 <pvPortMalloc+0x10c>)
800390a: 4604 mov r4, r0
800390c: f7ff fce4 bl 80032d8 <vTaskSuspendAll>
8003910: 683a ldr r2, [r7, #0]
8003912: 2a00 cmp r2, #0
8003914: d05a beq.n 80039cc <pvPortMalloc+0xc8>
8003916: 4b3f ldr r3, [pc, #252] ; (8003a14 <pvPortMalloc+0x110>)
8003918: 681e ldr r6, [r3, #0]
800391a: 4234 tst r4, r6
800391c: d150 bne.n 80039c0 <pvPortMalloc+0xbc>
800391e: 2c00 cmp r4, #0
8003920: d04e beq.n 80039c0 <pvPortMalloc+0xbc>
8003922: f104 0308 add.w r3, r4, #8
8003926: 0758 lsls r0, r3, #29
8003928: bf1c itt ne
800392a: f023 0307 bicne.w r3, r3, #7
800392e: 3308 addne r3, #8
8003930: 2b00 cmp r3, #0
8003932: d045 beq.n 80039c0 <pvPortMalloc+0xbc>
8003934: f8df 80f0 ldr.w r8, [pc, #240] ; 8003a28 <pvPortMalloc+0x124>
8003938: f8d8 5000 ldr.w r5, [r8]
800393c: 429d cmp r5, r3
800393e: d33f bcc.n 80039c0 <pvPortMalloc+0xbc>
8003940: 4835 ldr r0, [pc, #212] ; (8003a18 <pvPortMalloc+0x114>)
8003942: 6804 ldr r4, [r0, #0]
8003944: e006 b.n 8003954 <pvPortMalloc+0x50>
8003946: f8d4 c000 ldr.w ip, [r4]
800394a: f1bc 0f00 cmp.w ip, #0
800394e: d004 beq.n 800395a <pvPortMalloc+0x56>
8003950: 4620 mov r0, r4
8003952: 4664 mov r4, ip
8003954: 6861 ldr r1, [r4, #4]
8003956: 4299 cmp r1, r3
8003958: d3f5 bcc.n 8003946 <pvPortMalloc+0x42>
800395a: 4294 cmp r4, r2
800395c: d030 beq.n 80039c0 <pvPortMalloc+0xbc>
800395e: 1aca subs r2, r1, r3
8003960: 6827 ldr r7, [r4, #0]
8003962: 2a10 cmp r2, #16
8003964: 6007 str r7, [r0, #0]
8003966: d910 bls.n 800398a <pvPortMalloc+0x86>
8003968: 18e0 adds r0, r4, r3
800396a: 0741 lsls r1, r0, #29
800396c: d008 beq.n 8003980 <pvPortMalloc+0x7c>
800396e: f04f 0350 mov.w r3, #80 ; 0x50
8003972: f383 8811 msr BASEPRI, r3
8003976: f3bf 8f6f isb sy
800397a: f3bf 8f4f dsb sy
800397e: e7fe b.n 800397e <pvPortMalloc+0x7a>
8003980: 6042 str r2, [r0, #4]
8003982: 6063 str r3, [r4, #4]
8003984: f7ff ff96 bl 80038b4 <prvInsertBlockIntoFreeList>
8003988: 6861 ldr r1, [r4, #4]
800398a: 2300 movs r3, #0
800398c: 4a23 ldr r2, [pc, #140] ; (8003a1c <pvPortMalloc+0x118>)
800398e: 1a6d subs r5, r5, r1
8003990: 6810 ldr r0, [r2, #0]
8003992: 4331 orrs r1, r6
8003994: 4285 cmp r5, r0
8003996: e9c4 3100 strd r3, r1, [r4]
800399a: f104 0408 add.w r4, r4, #8
800399e: bf38 it cc
80039a0: 6015 strcc r5, [r2, #0]
80039a2: f8c8 5000 str.w r5, [r8]
80039a6: f7ff fd4b bl 8003440 <xTaskResumeAll>
80039aa: 0763 lsls r3, r4, #29
80039ac: d00b beq.n 80039c6 <pvPortMalloc+0xc2>
80039ae: f04f 0350 mov.w r3, #80 ; 0x50
80039b2: f383 8811 msr BASEPRI, r3
80039b6: f3bf 8f6f isb sy
80039ba: f3bf 8f4f dsb sy
80039be: e7fe b.n 80039be <pvPortMalloc+0xba>
80039c0: f7ff fd3e bl 8003440 <xTaskResumeAll>
80039c4: 2400 movs r4, #0
80039c6: 4620 mov r0, r4
80039c8: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
80039cc: 4b14 ldr r3, [pc, #80] ; (8003a20 <pvPortMalloc+0x11c>)
80039ce: 2000 movs r0, #0
80039d0: 075d lsls r5, r3, #29
80039d2: bf1c itt ne
80039d4: 3307 addne r3, #7
80039d6: f023 0307 bicne.w r3, r3, #7
80039da: 4619 mov r1, r3
80039dc: f04f 4500 mov.w r5, #2147483648 ; 0x80000000
80039e0: 4a10 ldr r2, [pc, #64] ; (8003a24 <pvPortMalloc+0x120>)
80039e2: f8df c034 ldr.w ip, [pc, #52] ; 8003a18 <pvPortMalloc+0x114>
80039e6: f022 0207 bic.w r2, r2, #7
80039ea: 1ad3 subs r3, r2, r3
80039ec: f8cc 0004 str.w r0, [ip, #4]
80039f0: f8cc 1000 str.w r1, [ip]
80039f4: 603a str r2, [r7, #0]
80039f6: e9c2 0000 strd r0, r0, [r2]
80039fa: 4f08 ldr r7, [pc, #32] ; (8003a1c <pvPortMalloc+0x118>)
80039fc: e9c1 2300 strd r2, r3, [r1]
8003a00: 4809 ldr r0, [pc, #36] ; (8003a28 <pvPortMalloc+0x124>)
8003a02: 4904 ldr r1, [pc, #16] ; (8003a14 <pvPortMalloc+0x110>)
8003a04: 462e mov r6, r5
8003a06: 603b str r3, [r7, #0]
8003a08: 6003 str r3, [r0, #0]
8003a0a: 600d str r5, [r1, #0]
8003a0c: e785 b.n 800391a <pvPortMalloc+0x16>
8003a0e: bf00 nop
8003a10: 200002d4 .word 0x200002d4
8003a14: 20000ed8 .word 0x20000ed8
8003a18: 20000ee4 .word 0x20000ee4
8003a1c: 20000ee0 .word 0x20000ee0
8003a20: 200002d8 .word 0x200002d8
8003a24: 20000ed0 .word 0x20000ed0
8003a28: 20000edc .word 0x20000edc
08003a2c <vPortFree>:
8003a2c: b1d0 cbz r0, 8003a64 <vPortFree+0x38>
8003a2e: 4a19 ldr r2, [pc, #100] ; (8003a94 <vPortFree+0x68>)
8003a30: f850 3c04 ldr.w r3, [r0, #-4]
8003a34: 6812 ldr r2, [r2, #0]
8003a36: 4213 tst r3, r2
8003a38: d108 bne.n 8003a4c <vPortFree+0x20>
8003a3a: f04f 0350 mov.w r3, #80 ; 0x50
8003a3e: f383 8811 msr BASEPRI, r3
8003a42: f3bf 8f6f isb sy
8003a46: f3bf 8f4f dsb sy
8003a4a: e7fe b.n 8003a4a <vPortFree+0x1e>
8003a4c: f850 1c08 ldr.w r1, [r0, #-8]
8003a50: b149 cbz r1, 8003a66 <vPortFree+0x3a>
8003a52: f04f 0350 mov.w r3, #80 ; 0x50
8003a56: f383 8811 msr BASEPRI, r3
8003a5a: f3bf 8f6f isb sy
8003a5e: f3bf 8f4f dsb sy
8003a62: e7fe b.n 8003a62 <vPortFree+0x36>
8003a64: 4770 bx lr
8003a66: b510 push {r4, lr}
8003a68: 4604 mov r4, r0
8003a6a: ea23 0302 bic.w r3, r3, r2
8003a6e: f840 3c04 str.w r3, [r0, #-4]
8003a72: f7ff fc31 bl 80032d8 <vTaskSuspendAll>
8003a76: 4a08 ldr r2, [pc, #32] ; (8003a98 <vPortFree+0x6c>)
8003a78: f854 3c04 ldr.w r3, [r4, #-4]
8003a7c: 6811 ldr r1, [r2, #0]
8003a7e: f1a4 0008 sub.w r0, r4, #8
8003a82: 440b add r3, r1
8003a84: 6013 str r3, [r2, #0]
8003a86: f7ff ff15 bl 80038b4 <prvInsertBlockIntoFreeList>
8003a8a: e8bd 4010 ldmia.w sp!, {r4, lr}
8003a8e: f7ff bcd7 b.w 8003440 <xTaskResumeAll>
8003a92: bf00 nop
8003a94: 20000ed8 .word 0x20000ed8
8003a98: 20000edc .word 0x20000edc
08003a9c <StartDefaultTask>:
8003a9c: b508 push {r3, lr}
8003a9e: f000 fa1f bl 8003ee0 <MX_USB_DEVICE_Init>
8003aa2: 2001 movs r0, #1
8003aa4: f7ff f920 bl 8002ce8 <osDelay>
8003aa8: e7fb b.n 8003aa2 <StartDefaultTask+0x6>
8003aaa: bf00 nop
08003aac <StartTask02>:
8003aac: b508 push {r3, lr}
8003aae: 2001 movs r0, #1
8003ab0: f7ff f91a bl 8002ce8 <osDelay>
8003ab4: e7fb b.n 8003aae <StartTask02+0x2>
8003ab6: bf00 nop
08003ab8 <SystemClock_Config>:
8003ab8: b570 push {r4, r5, r6, lr}
8003aba: f44f 3380 mov.w r3, #65536 ; 0x10000
8003abe: 2400 movs r4, #0
8003ac0: 2501 movs r5, #1
8003ac2: 2109 movs r1, #9
8003ac4: 2602 movs r6, #2
8003ac6: f44f 1280 mov.w r2, #1048576 ; 0x100000
8003aca: b094 sub sp, #80 ; 0x50
8003acc: a80a add r0, sp, #40 ; 0x28
8003ace: e9cd 130a strd r1, r3, [sp, #40] ; 0x28
8003ad2: 9312 str r3, [sp, #72] ; 0x48
8003ad4: 9213 str r2, [sp, #76] ; 0x4c
8003ad6: 940c str r4, [sp, #48] ; 0x30
8003ad8: 9405 str r4, [sp, #20]
8003ada: 9401 str r4, [sp, #4]
8003adc: 940d str r4, [sp, #52] ; 0x34
8003ade: 940f str r4, [sp, #60] ; 0x3c
8003ae0: e9cd 4406 strd r4, r4, [sp, #24]
8003ae4: e9cd 4408 strd r4, r4, [sp, #32]
8003ae8: e9cd 4402 strd r4, r4, [sp, #8]
8003aec: 9404 str r4, [sp, #16]
8003aee: 950e str r5, [sp, #56] ; 0x38
8003af0: e9cd 5610 strd r5, r6, [sp, #64] ; 0x40
8003af4: f7fd f9d6 bl 8000ea4 <HAL_RCC_OscConfig>
8003af8: 220f movs r2, #15
8003afa: f44f 6380 mov.w r3, #1024 ; 0x400
8003afe: 4629 mov r1, r5
8003b00: a805 add r0, sp, #20
8003b02: 9205 str r2, [sp, #20]
8003b04: 9308 str r3, [sp, #32]
8003b06: e9cd 6406 strd r6, r4, [sp, #24]
8003b0a: 9409 str r4, [sp, #36] ; 0x24
8003b0c: f7fd fbc2 bl 8001294 <HAL_RCC_ClockConfig>
8003b10: 2111 movs r1, #17
8003b12: f44f 7200 mov.w r2, #512 ; 0x200
8003b16: f44f 0380 mov.w r3, #4194304 ; 0x400000
8003b1a: a801 add r0, sp, #4
8003b1c: e9cd 1201 strd r1, r2, [sp, #4]
8003b20: 9304 str r3, [sp, #16]
8003b22: f7fd fca3 bl 800146c <HAL_RCCEx_PeriphCLKConfig>
8003b26: b014 add sp, #80 ; 0x50
8003b28: bd70 pop {r4, r5, r6, pc}
8003b2a: bf00 nop
08003b2c <main>:
8003b2c: 2400 movs r4, #0
8003b2e: b580 push {r7, lr}
8003b30: b08e sub sp, #56 ; 0x38
8003b32: f7fc fb31 bl 8000198 <HAL_Init>
8003b36: f7ff ffbf bl 8003ab8 <SystemClock_Config>
8003b3a: 4b41 ldr r3, [pc, #260] ; (8003c40 <main+0x114>)
8003b3c: f44f 4580 mov.w r5, #16384 ; 0x4000
8003b40: 699a ldr r2, [r3, #24]
8003b42: 4e40 ldr r6, [pc, #256] ; (8003c44 <main+0x118>)
8003b44: f042 0210 orr.w r2, r2, #16
8003b48: 619a str r2, [r3, #24]
8003b4a: 6999 ldr r1, [r3, #24]
8003b4c: 4a3e ldr r2, [pc, #248] ; (8003c48 <main+0x11c>)
8003b4e: f001 0110 and.w r1, r1, #16
8003b52: 9100 str r1, [sp, #0]
8003b54: 9900 ldr r1, [sp, #0]
8003b56: 6999 ldr r1, [r3, #24]
8003b58: 4f3c ldr r7, [pc, #240] ; (8003c4c <main+0x120>)
8003b5a: f041 0120 orr.w r1, r1, #32
8003b5e: 6199 str r1, [r3, #24]
8003b60: 6999 ldr r1, [r3, #24]
8003b62: 4610 mov r0, r2
8003b64: f001 0120 and.w r1, r1, #32
8003b68: 9101 str r1, [sp, #4]
8003b6a: 9901 ldr r1, [sp, #4]
8003b6c: 6999 ldr r1, [r3, #24]
8003b6e: 6094 str r4, [r2, #8]
8003b70: f041 0104 orr.w r1, r1, #4
8003b74: 6199 str r1, [r3, #24]
8003b76: 6999 ldr r1, [r3, #24]
8003b78: 60d4 str r4, [r2, #12]
8003b7a: f001 0104 and.w r1, r1, #4
8003b7e: 9102 str r1, [sp, #8]
8003b80: 9902 ldr r1, [sp, #8]
8003b82: 6999 ldr r1, [r3, #24]
8003b84: 6154 str r4, [r2, #20]
8003b86: f041 0108 orr.w r1, r1, #8
8003b8a: 6199 str r1, [r3, #24]
8003b8c: 699b ldr r3, [r3, #24]
8003b8e: e9c2 7600 strd r7, r6, [r2]
8003b92: f003 0308 and.w r3, r3, #8
8003b96: 9303 str r3, [sp, #12]
8003b98: 6115 str r5, [r2, #16]
8003b9a: 9b03 ldr r3, [sp, #12]
8003b9c: e9c2 4406 strd r4, r4, [r2, #24]
8003ba0: 6214 str r4, [r2, #32]
8003ba2: f04f 35ff mov.w r5, #4294967295 ; 0xffffffff
8003ba6: f7fc fc83 bl 80004b0 <HAL_I2C_Init>
8003baa: f44f 7280 mov.w r2, #256 ; 0x100
8003bae: 4b28 ldr r3, [pc, #160] ; (8003c50 <main+0x124>)
8003bb0: 4928 ldr r1, [pc, #160] ; (8003c54 <main+0x128>)
8003bb2: 4618 mov r0, r3
8003bb4: e9c3 1500 strd r1, r5, [r3]
8003bb8: 609a str r2, [r3, #8]
8003bba: f44f 7582 mov.w r5, #260 ; 0x104
8003bbe: f7fd fd4f bl 8001660 <HAL_RTC_Init>
8003bc2: f44f 7100 mov.w r1, #512 ; 0x200
8003bc6: 220a movs r2, #10
8003bc8: 4b23 ldr r3, [pc, #140] ; (8003c58 <main+0x12c>)
8003bca: 4e24 ldr r6, [pc, #144] ; (8003c5c <main+0x130>)
8003bcc: 4618 mov r0, r3
8003bce: e9c3 6500 strd r6, r5, [r3]
8003bd2: 6199 str r1, [r3, #24]
8003bd4: 62da str r2, [r3, #44] ; 0x2c
8003bd6: e9c3 4402 strd r4, r4, [r3, #8]
8003bda: e9c3 4404 strd r4, r4, [r3, #16]
8003bde: e9c3 4407 strd r4, r4, [r3, #28]
8003be2: e9c3 4409 strd r4, r4, [r3, #36] ; 0x24
8003be6: f7fd fdb9 bl 800175c <HAL_SPI_Init>
8003bea: f44f 31e1 mov.w r1, #115200 ; 0x1c200
8003bee: 220c movs r2, #12
8003bf0: 4b1b ldr r3, [pc, #108] ; (8003c60 <main+0x134>)
8003bf2: 4d1c ldr r5, [pc, #112] ; (8003c64 <main+0x138>)
8003bf4: 4618 mov r0, r3
8003bf6: e9c3 5100 strd r5, r1, [r3]
8003bfa: 4d1b ldr r5, [pc, #108] ; (8003c68 <main+0x13c>)
8003bfc: ae04 add r6, sp, #16
8003bfe: e9c3 4402 strd r4, r4, [r3, #8]
8003c02: 611c str r4, [r3, #16]
8003c04: e9c3 4406 strd r4, r4, [r3, #24]
8003c08: 615a str r2, [r3, #20]
8003c0a: f7fd fde7 bl 80017dc <HAL_UART_Init>
8003c0e: cd0f ldmia r5!, {r0, r1, r2, r3}
8003c10: c60f stmia r6!, {r0, r1, r2, r3}
8003c12: f855 3b04 ldr.w r3, [r5], #4
8003c16: 4621 mov r1, r4
8003c18: a804 add r0, sp, #16
8003c1a: 6033 str r3, [r6, #0]
8003c1c: f7ff f84a bl 8002cb4 <osThreadCreate>
8003c20: 4b12 ldr r3, [pc, #72] ; (8003c6c <main+0x140>)
8003c22: ae09 add r6, sp, #36 ; 0x24
8003c24: 6018 str r0, [r3, #0]
8003c26: cd0f ldmia r5!, {r0, r1, r2, r3}
8003c28: c60f stmia r6!, {r0, r1, r2, r3}
8003c2a: 682b ldr r3, [r5, #0]
8003c2c: 4621 mov r1, r4
8003c2e: a809 add r0, sp, #36 ; 0x24
8003c30: 6033 str r3, [r6, #0]
8003c32: f7ff f83f bl 8002cb4 <osThreadCreate>
8003c36: 4b0e ldr r3, [pc, #56] ; (8003c70 <main+0x144>)
8003c38: 6018 str r0, [r3, #0]
8003c3a: f7ff f835 bl 8002ca8 <osKernelStart>
8003c3e: e7fe b.n 8003c3e <main+0x112>
8003c40: 40021000 .word 0x40021000
8003c44: 000186a0 .word 0x000186a0
8003c48: 2000116c .word 0x2000116c
8003c4c: 40005400 .word 0x40005400
8003c50: 200011c4 .word 0x200011c4
8003c54: 40002800 .word 0x40002800
8003c58: 20001114 .word 0x20001114
8003c5c: 40003800 .word 0x40003800
8003c60: 200011d8 .word 0x200011d8
8003c64: 40004400 .word 0x40004400
8003c68: 0800445c .word 0x0800445c
8003c6c: 20001110 .word 0x20001110
8003c70: 200011c0 .word 0x200011c0
08003c74 <Error_Handler>:
8003c74: 4770 bx lr
8003c76: bf00 nop
08003c78 <HAL_MspInit>:
8003c78: 4b11 ldr r3, [pc, #68] ; (8003cc0 <HAL_MspInit+0x48>)
8003c7a: b510 push {r4, lr}
8003c7c: 6998 ldr r0, [r3, #24]
8003c7e: b082 sub sp, #8
8003c80: f040 0001 orr.w r0, r0, #1
8003c84: 6198 str r0, [r3, #24]
8003c86: 699c ldr r4, [r3, #24]
8003c88: 2200 movs r2, #0
8003c8a: f004 0401 and.w r4, r4, #1
8003c8e: 9400 str r4, [sp, #0]
8003c90: 9c00 ldr r4, [sp, #0]
8003c92: 69dc ldr r4, [r3, #28]
8003c94: 210f movs r1, #15
8003c96: f044 5480 orr.w r4, r4, #268435456 ; 0x10000000
8003c9a: 61dc str r4, [r3, #28]
8003c9c: 69db ldr r3, [r3, #28]
8003c9e: f06f 0001 mvn.w r0, #1
8003ca2: f003 5380 and.w r3, r3, #268435456 ; 0x10000000
8003ca6: 9301 str r3, [sp, #4]
8003ca8: 9b01 ldr r3, [sp, #4]
8003caa: f7fc faab bl 8000204 <HAL_NVIC_SetPriority>
8003cae: 4a05 ldr r2, [pc, #20] ; (8003cc4 <HAL_MspInit+0x4c>)
8003cb0: 6853 ldr r3, [r2, #4]
8003cb2: f023 63e0 bic.w r3, r3, #117440512 ; 0x7000000
8003cb6: f043 6380 orr.w r3, r3, #67108864 ; 0x4000000
8003cba: 6053 str r3, [r2, #4]
8003cbc: b002 add sp, #8
8003cbe: bd10 pop {r4, pc}
8003cc0: 40021000 .word 0x40021000
8003cc4: 40010000 .word 0x40010000
08003cc8 <HAL_I2C_MspInit>:
8003cc8: 2300 movs r3, #0
8003cca: b530 push {r4, r5, lr}
8003ccc: 6801 ldr r1, [r0, #0]
8003cce: 4a14 ldr r2, [pc, #80] ; (8003d20 <HAL_I2C_MspInit+0x58>)
8003cd0: b087 sub sp, #28
8003cd2: 4291 cmp r1, r2
8003cd4: e9cd 3302 strd r3, r3, [sp, #8]
8003cd8: e9cd 3304 strd r3, r3, [sp, #16]
8003cdc: d001 beq.n 8003ce2 <HAL_I2C_MspInit+0x1a>
8003cde: b007 add sp, #28
8003ce0: bd30 pop {r4, r5, pc}
8003ce2: 20c0 movs r0, #192 ; 0xc0
8003ce4: 2203 movs r2, #3
8003ce6: 2512 movs r5, #18
8003ce8: 4c0e ldr r4, [pc, #56] ; (8003d24 <HAL_I2C_MspInit+0x5c>)
8003cea: a902 add r1, sp, #8
8003cec: 69a3 ldr r3, [r4, #24]
8003cee: f043 0308 orr.w r3, r3, #8
8003cf2: 61a3 str r3, [r4, #24]
8003cf4: 69a3 ldr r3, [r4, #24]
8003cf6: 9002 str r0, [sp, #8]
8003cf8: f003 0308 and.w r3, r3, #8
8003cfc: 9300 str r3, [sp, #0]
8003cfe: 480a ldr r0, [pc, #40] ; (8003d28 <HAL_I2C_MspInit+0x60>)
8003d00: 9b00 ldr r3, [sp, #0]
8003d02: 9503 str r5, [sp, #12]
8003d04: 9205 str r2, [sp, #20]
8003d06: f7fc fad9 bl 80002bc <HAL_GPIO_Init>
8003d0a: 69e3 ldr r3, [r4, #28]
8003d0c: f443 1300 orr.w r3, r3, #2097152 ; 0x200000
8003d10: 61e3 str r3, [r4, #28]
8003d12: 69e3 ldr r3, [r4, #28]
8003d14: f403 1300 and.w r3, r3, #2097152 ; 0x200000
8003d18: 9301 str r3, [sp, #4]
8003d1a: 9b01 ldr r3, [sp, #4]
8003d1c: b007 add sp, #28
8003d1e: bd30 pop {r4, r5, pc}
8003d20: 40005400 .word 0x40005400
8003d24: 40021000 .word 0x40021000
8003d28: 40010c00 .word 0x40010c00
08003d2c <HAL_RTC_MspInit>:
8003d2c: 6802 ldr r2, [r0, #0]
8003d2e: 4b0c ldr r3, [pc, #48] ; (8003d60 <HAL_RTC_MspInit+0x34>)
8003d30: 429a cmp r2, r3
8003d32: d000 beq.n 8003d36 <HAL_RTC_MspInit+0xa>
8003d34: 4770 bx lr
8003d36: b500 push {lr}
8003d38: b083 sub sp, #12
8003d3a: f7fd f8ad bl 8000e98 <HAL_PWR_EnableBkUpAccess>
8003d3e: 2001 movs r0, #1
8003d40: 4b08 ldr r3, [pc, #32] ; (8003d64 <HAL_RTC_MspInit+0x38>)
8003d42: 4909 ldr r1, [pc, #36] ; (8003d68 <HAL_RTC_MspInit+0x3c>)
8003d44: 69da ldr r2, [r3, #28]
8003d46: f042 6200 orr.w r2, r2, #134217728 ; 0x8000000
8003d4a: 61da str r2, [r3, #28]
8003d4c: 69db ldr r3, [r3, #28]
8003d4e: f003 6300 and.w r3, r3, #134217728 ; 0x8000000
8003d52: 9301 str r3, [sp, #4]
8003d54: 9b01 ldr r3, [sp, #4]
8003d56: 6008 str r0, [r1, #0]
8003d58: b003 add sp, #12
8003d5a: f85d fb04 ldr.w pc, [sp], #4
8003d5e: bf00 nop
8003d60: 40002800 .word 0x40002800
8003d64: 40021000 .word 0x40021000
8003d68: 4242043c .word 0x4242043c
08003d6c <HAL_SPI_MspInit>:
8003d6c: b570 push {r4, r5, r6, lr}
8003d6e: 2400 movs r4, #0
8003d70: 6802 ldr r2, [r0, #0]
8003d72: 4b1a ldr r3, [pc, #104] ; (8003ddc <HAL_SPI_MspInit+0x70>)
8003d74: b086 sub sp, #24
8003d76: 429a cmp r2, r3
8003d78: e9cd 4402 strd r4, r4, [sp, #8]
8003d7c: e9cd 4404 strd r4, r4, [sp, #16]
8003d80: d001 beq.n 8003d86 <HAL_SPI_MspInit+0x1a>
8003d82: b006 add sp, #24
8003d84: bd70 pop {r4, r5, r6, pc}
8003d86: f44f 4120 mov.w r1, #40960 ; 0xa000
8003d8a: 2602 movs r6, #2
8003d8c: 2503 movs r5, #3
8003d8e: f503 33ec add.w r3, r3, #120832 ; 0x1d800
8003d92: 69da ldr r2, [r3, #28]
8003d94: 4812 ldr r0, [pc, #72] ; (8003de0 <HAL_SPI_MspInit+0x74>)
8003d96: f442 4280 orr.w r2, r2, #16384 ; 0x4000
8003d9a: 61da str r2, [r3, #28]
8003d9c: 69da ldr r2, [r3, #28]
8003d9e: f402 4280 and.w r2, r2, #16384 ; 0x4000
8003da2: 9200 str r2, [sp, #0]
8003da4: 9a00 ldr r2, [sp, #0]
8003da6: 699a ldr r2, [r3, #24]
8003da8: f042 0208 orr.w r2, r2, #8
8003dac: 619a str r2, [r3, #24]
8003dae: 699b ldr r3, [r3, #24]
8003db0: 9102 str r1, [sp, #8]
8003db2: f003 0308 and.w r3, r3, #8
8003db6: 9301 str r3, [sp, #4]
8003db8: a902 add r1, sp, #8
8003dba: 9b01 ldr r3, [sp, #4]
8003dbc: 9603 str r6, [sp, #12]
8003dbe: 9505 str r5, [sp, #20]
8003dc0: f7fc fa7c bl 80002bc <HAL_GPIO_Init>
8003dc4: f44f 4380 mov.w r3, #16384 ; 0x4000
8003dc8: a902 add r1, sp, #8
8003dca: 4805 ldr r0, [pc, #20] ; (8003de0 <HAL_SPI_MspInit+0x74>)
8003dcc: e9cd 4403 strd r4, r4, [sp, #12]
8003dd0: 9302 str r3, [sp, #8]
8003dd2: f7fc fa73 bl 80002bc <HAL_GPIO_Init>
8003dd6: b006 add sp, #24
8003dd8: bd70 pop {r4, r5, r6, pc}
8003dda: bf00 nop
8003ddc: 40003800 .word 0x40003800
8003de0: 40010c00 .word 0x40010c00
08003de4 <HAL_UART_MspInit>:
8003de4: b570 push {r4, r5, r6, lr}
8003de6: 2400 movs r4, #0
8003de8: 6802 ldr r2, [r0, #0]
8003dea: 4b18 ldr r3, [pc, #96] ; (8003e4c <HAL_UART_MspInit+0x68>)
8003dec: b086 sub sp, #24
8003dee: 429a cmp r2, r3
8003df0: e9cd 4402 strd r4, r4, [sp, #8]
8003df4: e9cd 4404 strd r4, r4, [sp, #16]
8003df8: d001 beq.n 8003dfe <HAL_UART_MspInit+0x1a>
8003dfa: b006 add sp, #24
8003dfc: bd70 pop {r4, r5, r6, pc}
8003dfe: 2104 movs r1, #4
8003e00: 2602 movs r6, #2
8003e02: 2503 movs r5, #3
8003e04: f503 33e6 add.w r3, r3, #117760 ; 0x1cc00
8003e08: 69da ldr r2, [r3, #28]
8003e0a: 4811 ldr r0, [pc, #68] ; (8003e50 <HAL_UART_MspInit+0x6c>)
8003e0c: f442 3200 orr.w r2, r2, #131072 ; 0x20000
8003e10: 61da str r2, [r3, #28]
8003e12: 69da ldr r2, [r3, #28]
8003e14: f402 3200 and.w r2, r2, #131072 ; 0x20000
8003e18: 9200 str r2, [sp, #0]
8003e1a: 9a00 ldr r2, [sp, #0]
8003e1c: 699a ldr r2, [r3, #24]
8003e1e: 430a orrs r2, r1
8003e20: 619a str r2, [r3, #24]
8003e22: 699b ldr r3, [r3, #24]
8003e24: 9102 str r1, [sp, #8]
8003e26: 400b ands r3, r1
8003e28: 9301 str r3, [sp, #4]
8003e2a: a902 add r1, sp, #8
8003e2c: 9b01 ldr r3, [sp, #4]
8003e2e: 9603 str r6, [sp, #12]
8003e30: 9505 str r5, [sp, #20]
8003e32: f7fc fa43 bl 80002bc <HAL_GPIO_Init>
8003e36: 2308 movs r3, #8
8003e38: 4805 ldr r0, [pc, #20] ; (8003e50 <HAL_UART_MspInit+0x6c>)
8003e3a: eb0d 0103 add.w r1, sp, r3
8003e3e: e9cd 4403 strd r4, r4, [sp, #12]
8003e42: 9302 str r3, [sp, #8]
8003e44: f7fc fa3a bl 80002bc <HAL_GPIO_Init>
8003e48: b006 add sp, #24
8003e4a: bd70 pop {r4, r5, r6, pc}
8003e4c: 40004400 .word 0x40004400
8003e50: 40010800 .word 0x40010800
08003e54 <NMI_Handler>:
8003e54: 4770 bx lr
8003e56: bf00 nop
08003e58 <HardFault_Handler>:
8003e58: e7fe b.n 8003e58 <HardFault_Handler>
8003e5a: bf00 nop
08003e5c <MemManage_Handler>:
8003e5c: e7fe b.n 8003e5c <MemManage_Handler>
8003e5e: bf00 nop
08003e60 <BusFault_Handler>:
8003e60: e7fe b.n 8003e60 <BusFault_Handler>
8003e62: bf00 nop
08003e64 <UsageFault_Handler>:
8003e64: e7fe b.n 8003e64 <UsageFault_Handler>
8003e66: bf00 nop
08003e68 <DebugMon_Handler>:
8003e68: 4770 bx lr
8003e6a: bf00 nop
08003e6c <SysTick_Handler>:
8003e6c: b508 push {r3, lr}
8003e6e: f7fc f9a5 bl 80001bc <HAL_IncTick>
8003e72: f7ff fbd1 bl 8003618 <xTaskGetSchedulerState>
8003e76: 2801 cmp r0, #1
8003e78: d003 beq.n 8003e82 <SysTick_Handler+0x16>
8003e7a: e8bd 4008 ldmia.w sp!, {r3, lr}
8003e7e: f7ff bc89 b.w 8003794 <xPortSysTickHandler>
8003e82: bd08 pop {r3, pc}
08003e84 <USB_LP_CAN1_RX0_IRQHandler>:
8003e84: 4801 ldr r0, [pc, #4] ; (8003e8c <USB_LP_CAN1_RX0_IRQHandler+0x8>)
8003e86: f7fc bc61 b.w 800074c <HAL_PCD_IRQHandler>
8003e8a: bf00 nop
8003e8c: 20001cac .word 0x20001cac
08003e90 <SystemInit>:
8003e90: b430 push {r4, r5}
8003e92: f44f 051f mov.w r5, #10420224 ; 0x9f0000
8003e96: f04f 6400 mov.w r4, #134217728 ; 0x8000000
8003e9a: 4b0e ldr r3, [pc, #56] ; (8003ed4 <SystemInit+0x44>)
8003e9c: 4a0e ldr r2, [pc, #56] ; (8003ed8 <SystemInit+0x48>)
8003e9e: 6819 ldr r1, [r3, #0]
8003ea0: 480e ldr r0, [pc, #56] ; (8003edc <SystemInit+0x4c>)
8003ea2: f041 0101 orr.w r1, r1, #1
8003ea6: 6019 str r1, [r3, #0]
8003ea8: 6859 ldr r1, [r3, #4]
8003eaa: 400a ands r2, r1
8003eac: 605a str r2, [r3, #4]
8003eae: 681a ldr r2, [r3, #0]
8003eb0: f022 7284 bic.w r2, r2, #17301504 ; 0x1080000
8003eb4: f422 3280 bic.w r2, r2, #65536 ; 0x10000
8003eb8: 601a str r2, [r3, #0]
8003eba: 681a ldr r2, [r3, #0]
8003ebc: f422 2280 bic.w r2, r2, #262144 ; 0x40000
8003ec0: 601a str r2, [r3, #0]
8003ec2: 685a ldr r2, [r3, #4]
8003ec4: f422 02fe bic.w r2, r2, #8323072 ; 0x7f0000
8003ec8: 605a str r2, [r3, #4]
8003eca: 609d str r5, [r3, #8]
8003ecc: 6084 str r4, [r0, #8]
8003ece: bc30 pop {r4, r5}
8003ed0: 4770 bx lr
8003ed2: bf00 nop
8003ed4: 40021000 .word 0x40021000
8003ed8: f8ff0000 .word 0xf8ff0000
8003edc: e000ed00 .word 0xe000ed00
08003ee0 <MX_USB_DEVICE_Init>:
8003ee0: b508 push {r3, lr}
8003ee2: 2200 movs r2, #0
8003ee4: 4910 ldr r1, [pc, #64] ; (8003f28 <MX_USB_DEVICE_Init+0x48>)
8003ee6: 4811 ldr r0, [pc, #68] ; (8003f2c <MX_USB_DEVICE_Init+0x4c>)
8003ee8: f7fe fabe bl 8002468 <USBD_Init>
8003eec: b9c0 cbnz r0, 8003f20 <MX_USB_DEVICE_Init+0x40>
8003eee: 4910 ldr r1, [pc, #64] ; (8003f30 <MX_USB_DEVICE_Init+0x50>)
8003ef0: 480e ldr r0, [pc, #56] ; (8003f2c <MX_USB_DEVICE_Init+0x4c>)
8003ef2: f7fe facf bl 8002494 <USBD_RegisterClass>
8003ef6: b980 cbnz r0, 8003f1a <MX_USB_DEVICE_Init+0x3a>
8003ef8: 490e ldr r1, [pc, #56] ; (8003f34 <MX_USB_DEVICE_Init+0x54>)
8003efa: 480c ldr r0, [pc, #48] ; (8003f2c <MX_USB_DEVICE_Init+0x4c>)
8003efc: f7fe fa86 bl 800240c <USBD_CDC_RegisterInterface>
8003f00: b940 cbnz r0, 8003f14 <MX_USB_DEVICE_Init+0x34>
8003f02: 480a ldr r0, [pc, #40] ; (8003f2c <MX_USB_DEVICE_Init+0x4c>)
8003f04: f7fe face bl 80024a4 <USBD_Start>
8003f08: b900 cbnz r0, 8003f0c <MX_USB_DEVICE_Init+0x2c>
8003f0a: bd08 pop {r3, pc}
8003f0c: e8bd 4008 ldmia.w sp!, {r3, lr}
8003f10: f7ff beb0 b.w 8003c74 <Error_Handler>
8003f14: f7ff feae bl 8003c74 <Error_Handler>
8003f18: e7f3 b.n 8003f02 <MX_USB_DEVICE_Init+0x22>
8003f1a: f7ff feab bl 8003c74 <Error_Handler>
8003f1e: e7eb b.n 8003ef8 <MX_USB_DEVICE_Init+0x18>
8003f20: f7ff fea8 bl 8003c74 <Error_Handler>
8003f24: e7e3 b.n 8003eee <MX_USB_DEVICE_Init+0xe>
8003f26: bf00 nop
8003f28: 20000130 .word 0x20000130
8003f2c: 20001218 .word 0x20001218
8003f30: 20000008 .word 0x20000008
8003f34: 20000120 .word 0x20000120
08003f38 <CDC_DeInit_FS>:
8003f38: 2000 movs r0, #0
8003f3a: 4770 bx lr
08003f3c <CDC_Control_FS>:
8003f3c: 2000 movs r0, #0
8003f3e: 4770 bx lr
08003f40 <CDC_Receive_FS>:
8003f40: b510 push {r4, lr}
8003f42: 4c05 ldr r4, [pc, #20] ; (8003f58 <CDC_Receive_FS+0x18>)
8003f44: 4601 mov r1, r0
8003f46: 4620 mov r0, r4
8003f48: f7fe fa70 bl 800242c <USBD_CDC_SetRxBuffer>
8003f4c: 4620 mov r0, r4
8003f4e: f7fe fa73 bl 8002438 <USBD_CDC_ReceivePacket>
8003f52: 2000 movs r0, #0
8003f54: bd10 pop {r4, pc}
8003f56: bf00 nop
8003f58: 20001218 .word 0x20001218
08003f5c <CDC_Init_FS>:
8003f5c: b510 push {r4, lr}
8003f5e: 4c06 ldr r4, [pc, #24] ; (8003f78 <CDC_Init_FS+0x1c>)
8003f60: 2200 movs r2, #0
8003f62: 4620 mov r0, r4
8003f64: 4905 ldr r1, [pc, #20] ; (8003f7c <CDC_Init_FS+0x20>)
8003f66: f7fe fa59 bl 800241c <USBD_CDC_SetTxBuffer>
8003f6a: 4620 mov r0, r4
8003f6c: 4904 ldr r1, [pc, #16] ; (8003f80 <CDC_Init_FS+0x24>)
8003f6e: f7fe fa5d bl 800242c <USBD_CDC_SetRxBuffer>
8003f72: 2000 movs r0, #0
8003f74: bd10 pop {r4, pc}
8003f76: bf00 nop
8003f78: 20001218 .word 0x20001218
8003f7c: 200018c4 .word 0x200018c4
8003f80: 200014dc .word 0x200014dc
08003f84 <HAL_PCD_MspInit>:
8003f84: 6802 ldr r2, [r0, #0]
8003f86: 4b0e ldr r3, [pc, #56] ; (8003fc0 <HAL_PCD_MspInit+0x3c>)
8003f88: 429a cmp r2, r3
8003f8a: d000 beq.n 8003f8e <HAL_PCD_MspInit+0xa>
8003f8c: 4770 bx lr
8003f8e: f503 33da add.w r3, r3, #111616 ; 0x1b400
8003f92: 69d8 ldr r0, [r3, #28]
8003f94: b500 push {lr}
8003f96: f440 0000 orr.w r0, r0, #8388608 ; 0x800000
8003f9a: 61d8 str r0, [r3, #28]
8003f9c: 69db ldr r3, [r3, #28]
8003f9e: b083 sub sp, #12
8003fa0: f403 0300 and.w r3, r3, #8388608 ; 0x800000
8003fa4: 9301 str r3, [sp, #4]
8003fa6: 2200 movs r2, #0
8003fa8: 2105 movs r1, #5
8003faa: 2014 movs r0, #20
8003fac: 9b01 ldr r3, [sp, #4]
8003fae: f7fc f929 bl 8000204 <HAL_NVIC_SetPriority>
8003fb2: 2014 movs r0, #20
8003fb4: b003 add sp, #12
8003fb6: f85d eb04 ldr.w lr, [sp], #4
8003fba: f7fc b959 b.w 8000270 <HAL_NVIC_EnableIRQ>
8003fbe: bf00 nop
8003fc0: 40005c00 .word 0x40005c00
08003fc4 <HAL_PCD_SetupStageCallback>:
8003fc4: f500 710c add.w r1, r0, #560 ; 0x230
8003fc8: f8d0 0268 ldr.w r0, [r0, #616] ; 0x268
8003fcc: f7fe ba82 b.w 80024d4 <USBD_LL_SetupStage>
08003fd0 <HAL_PCD_DataOutStageCallback>:
8003fd0: eb00 1341 add.w r3, r0, r1, lsl #5
8003fd4: f8d3 213c ldr.w r2, [r3, #316] ; 0x13c
8003fd8: f8d0 0268 ldr.w r0, [r0, #616] ; 0x268
8003fdc: f7fe baaa b.w 8002534 <USBD_LL_DataOutStage>
08003fe0 <HAL_PCD_DataInStageCallback>:
8003fe0: eb00 1341 add.w r3, r0, r1, lsl #5
8003fe4: 6bda ldr r2, [r3, #60] ; 0x3c
8003fe6: f8d0 0268 ldr.w r0, [r0, #616] ; 0x268
8003fea: f7fe bae3 b.w 80025b4 <USBD_LL_DataInStage>
8003fee: bf00 nop
08003ff0 <HAL_PCD_SOFCallback>:
8003ff0: f8d0 0268 ldr.w r0, [r0, #616] ; 0x268
8003ff4: f7fe bb7e b.w 80026f4 <USBD_LL_SOF>
08003ff8 <HAL_PCD_ResetCallback>:
8003ff8: 6883 ldr r3, [r0, #8]
8003ffa: b510 push {r4, lr}
8003ffc: 2b02 cmp r3, #2
8003ffe: 4604 mov r4, r0
8004000: d001 beq.n 8004006 <HAL_PCD_ResetCallback+0xe>
8004002: f7ff fe37 bl 8003c74 <Error_Handler>
8004006: f8d4 0268 ldr.w r0, [r4, #616] ; 0x268
800400a: 2101 movs r1, #1
800400c: f7fe fb5a bl 80026c4 <USBD_LL_SetSpeed>
8004010: f8d4 0268 ldr.w r0, [r4, #616] ; 0x268
8004014: e8bd 4010 ldmia.w sp!, {r4, lr}
8004018: f7fe bb2c b.w 8002674 <USBD_LL_Reset>
0800401c <HAL_PCD_SuspendCallback>:
800401c: b510 push {r4, lr}
800401e: 4604 mov r4, r0
8004020: f8d0 0268 ldr.w r0, [r0, #616] ; 0x268
8004024: f7fe fb52 bl 80026cc <USBD_LL_Suspend>
8004028: 69a3 ldr r3, [r4, #24]
800402a: b123 cbz r3, 8004036 <HAL_PCD_SuspendCallback+0x1a>
800402c: 4a02 ldr r2, [pc, #8] ; (8004038 <HAL_PCD_SuspendCallback+0x1c>)
800402e: 6913 ldr r3, [r2, #16]
8004030: f043 0306 orr.w r3, r3, #6
8004034: 6113 str r3, [r2, #16]
8004036: bd10 pop {r4, pc}
8004038: e000ed00 .word 0xe000ed00
0800403c <HAL_PCD_ResumeCallback>:
800403c: f8d0 0268 ldr.w r0, [r0, #616] ; 0x268
8004040: f7fe bb4e b.w 80026e0 <USBD_LL_Resume>
08004044 <USBD_LL_Init>:
8004044: b538 push {r3, r4, r5, lr}
8004046: 4604 mov r4, r0
8004048: 2200 movs r2, #0
800404a: 2508 movs r5, #8
800404c: 2102 movs r1, #2
800404e: 4b1c ldr r3, [pc, #112] ; (80040c0 <USBD_LL_Init+0x7c>)
8004050: 481c ldr r0, [pc, #112] ; (80040c4 <USBD_LL_Init+0x80>)
8004052: f8c4 32c0 str.w r3, [r4, #704] ; 0x2c0
8004056: 6018 str r0, [r3, #0]
8004058: 4618 mov r0, r3
800405a: f8c3 4268 str.w r4, [r3, #616] ; 0x268
800405e: e9c3 5101 strd r5, r1, [r3, #4]
8004062: e9c3 2206 strd r2, r2, [r3, #24]
8004066: 621a str r2, [r3, #32]
8004068: f7fc fada bl 8000620 <HAL_PCD_Init>
800406c: b108 cbz r0, 8004072 <USBD_LL_Init+0x2e>
800406e: f7ff fe01 bl 8003c74 <Error_Handler>
8004072: 2200 movs r2, #0
8004074: 2318 movs r3, #24
8004076: 4611 mov r1, r2
8004078: f8d4 02c0 ldr.w r0, [r4, #704] ; 0x2c0
800407c: f7fc fef0 bl 8000e60 <HAL_PCDEx_PMAConfig>
8004080: 2358 movs r3, #88 ; 0x58
8004082: 2200 movs r2, #0
8004084: 2180 movs r1, #128 ; 0x80
8004086: f8d4 02c0 ldr.w r0, [r4, #704] ; 0x2c0
800408a: f7fc fee9 bl 8000e60 <HAL_PCDEx_PMAConfig>
800408e: 23c0 movs r3, #192 ; 0xc0
8004090: 2200 movs r2, #0
8004092: 2181 movs r1, #129 ; 0x81
8004094: f8d4 02c0 ldr.w r0, [r4, #704] ; 0x2c0
8004098: f7fc fee2 bl 8000e60 <HAL_PCDEx_PMAConfig>
800409c: f44f 7388 mov.w r3, #272 ; 0x110
80040a0: 2200 movs r2, #0
80040a2: 2101 movs r1, #1
80040a4: f8d4 02c0 ldr.w r0, [r4, #704] ; 0x2c0
80040a8: f7fc feda bl 8000e60 <HAL_PCDEx_PMAConfig>
80040ac: f8d4 02c0 ldr.w r0, [r4, #704] ; 0x2c0
80040b0: f44f 7380 mov.w r3, #256 ; 0x100
80040b4: 2200 movs r2, #0
80040b6: 2182 movs r1, #130 ; 0x82
80040b8: f7fc fed2 bl 8000e60 <HAL_PCDEx_PMAConfig>
80040bc: 2000 movs r0, #0
80040be: bd38 pop {r3, r4, r5, pc}
80040c0: 20001cac .word 0x20001cac
80040c4: 40005c00 .word 0x40005c00
080040c8 <USBD_LL_Start>:
80040c8: b508 push {r3, lr}
80040ca: f8d0 02c0 ldr.w r0, [r0, #704] ; 0x2c0
80040ce: f7fc fb25 bl 800071c <HAL_PCD_Start>
80040d2: 2803 cmp r0, #3
80040d4: bf96 itet ls
80040d6: 4b02 ldrls r3, [pc, #8] ; (80040e0 <USBD_LL_Start+0x18>)
80040d8: 2002 movhi r0, #2
80040da: 5c18 ldrbls r0, [r3, r0]
80040dc: bd08 pop {r3, pc}
80040de: bf00 nop
80040e0: 080044b4 .word 0x080044b4
080040e4 <USBD_LL_OpenEP>:
80040e4: b510 push {r4, lr}
80040e6: 461c mov r4, r3
80040e8: f8d0 02c0 ldr.w r0, [r0, #704] ; 0x2c0
80040ec: 4613 mov r3, r2
80040ee: 4622 mov r2, r4
80040f0: f7fc fdae bl 8000c50 <HAL_PCD_EP_Open>
80040f4: 2803 cmp r0, #3
80040f6: bf96 itet ls
80040f8: 4b01 ldrls r3, [pc, #4] ; (8004100 <USBD_LL_OpenEP+0x1c>)
80040fa: 2002 movhi r0, #2
80040fc: 5c18 ldrbls r0, [r3, r0]
80040fe: bd10 pop {r4, pc}
8004100: 080044b4 .word 0x080044b4
08004104 <USBD_LL_CloseEP>:
8004104: b508 push {r3, lr}
8004106: f8d0 02c0 ldr.w r0, [r0, #704] ; 0x2c0
800410a: f7fc fdd3 bl 8000cb4 <HAL_PCD_EP_Close>
800410e: 2803 cmp r0, #3
8004110: bf96 itet ls
8004112: 4b02 ldrls r3, [pc, #8] ; (800411c <USBD_LL_CloseEP+0x18>)
8004114: 2002 movhi r0, #2
8004116: 5c18 ldrbls r0, [r3, r0]
8004118: bd08 pop {r3, pc}
800411a: bf00 nop
800411c: 080044b4 .word 0x080044b4
08004120 <USBD_LL_StallEP>:
8004120: b508 push {r3, lr}
8004122: f8d0 02c0 ldr.w r0, [r0, #704] ; 0x2c0
8004126: f7fc fe27 bl 8000d78 <HAL_PCD_EP_SetStall>
800412a: 2803 cmp r0, #3
800412c: bf96 itet ls
800412e: 4b02 ldrls r3, [pc, #8] ; (8004138 <USBD_LL_StallEP+0x18>)
8004130: 2002 movhi r0, #2
8004132: 5c18 ldrbls r0, [r3, r0]
8004134: bd08 pop {r3, pc}
8004136: bf00 nop
8004138: 080044b4 .word 0x080044b4
0800413c <USBD_LL_ClearStallEP>:
800413c: b508 push {r3, lr}
800413e: f8d0 02c0 ldr.w r0, [r0, #704] ; 0x2c0
8004142: f7fc fe55 bl 8000df0 <HAL_PCD_EP_ClrStall>
8004146: 2803 cmp r0, #3
8004148: bf96 itet ls
800414a: 4b02 ldrls r3, [pc, #8] ; (8004154 <USBD_LL_ClearStallEP+0x18>)
800414c: 2002 movhi r0, #2
800414e: 5c18 ldrbls r0, [r3, r0]
8004150: bd08 pop {r3, pc}
8004152: bf00 nop
8004154: 080044b4 .word 0x080044b4
08004158 <USBD_LL_IsStallEP>:
8004158: 060a lsls r2, r1, #24
800415a: f8d0 32c0 ldr.w r3, [r0, #704] ; 0x2c0
800415e: d404 bmi.n 800416a <USBD_LL_IsStallEP+0x12>
8004160: eb03 1341 add.w r3, r3, r1, lsl #5
8004164: f893 012a ldrb.w r0, [r3, #298] ; 0x12a
8004168: 4770 bx lr
800416a: f001 017f and.w r1, r1, #127 ; 0x7f
800416e: eb03 1341 add.w r3, r3, r1, lsl #5
8004172: f893 002a ldrb.w r0, [r3, #42] ; 0x2a
8004176: 4770 bx lr
08004178 <USBD_LL_SetUSBAddress>:
8004178: b508 push {r3, lr}
800417a: f8d0 02c0 ldr.w r0, [r0, #704] ; 0x2c0
800417e: f7fc fd53 bl 8000c28 <HAL_PCD_SetAddress>
8004182: 2803 cmp r0, #3
8004184: bf96 itet ls
8004186: 4b02 ldrls r3, [pc, #8] ; (8004190 <USBD_LL_SetUSBAddress+0x18>)
8004188: 2002 movhi r0, #2
800418a: 5c18 ldrbls r0, [r3, r0]
800418c: bd08 pop {r3, pc}
800418e: bf00 nop
8004190: 080044b4 .word 0x080044b4
08004194 <USBD_LL_Transmit>:
8004194: b508 push {r3, lr}
8004196: f8d0 02c0 ldr.w r0, [r0, #704] ; 0x2c0
800419a: f7fc fdd7 bl 8000d4c <HAL_PCD_EP_Transmit>
800419e: 2803 cmp r0, #3
80041a0: bf96 itet ls
80041a2: 4b02 ldrls r3, [pc, #8] ; (80041ac <USBD_LL_Transmit+0x18>)
80041a4: 2002 movhi r0, #2
80041a6: 5c18 ldrbls r0, [r3, r0]
80041a8: bd08 pop {r3, pc}
80041aa: bf00 nop
80041ac: 080044b4 .word 0x080044b4
080041b0 <USBD_LL_PrepareReceive>:
80041b0: b508 push {r3, lr}
80041b2: f8d0 02c0 ldr.w r0, [r0, #704] ; 0x2c0
80041b6: f7fc fda9 bl 8000d0c <HAL_PCD_EP_Receive>
80041ba: 2803 cmp r0, #3
80041bc: bf96 itet ls
80041be: 4b02 ldrls r3, [pc, #8] ; (80041c8 <USBD_LL_PrepareReceive+0x18>)
80041c0: 2002 movhi r0, #2
80041c2: 5c18 ldrbls r0, [r3, r0]
80041c4: bd08 pop {r3, pc}
80041c6: bf00 nop
80041c8: 080044b4 .word 0x080044b4
080041cc <USBD_LL_GetRxDataSize>:
80041cc: f8d0 02c0 ldr.w r0, [r0, #704] ; 0x2c0
80041d0: f7fc bdb4 b.w 8000d3c <HAL_PCD_EP_GetRxCount>
080041d4 <USBD_static_malloc>:
80041d4: 4800 ldr r0, [pc, #0] ; (80041d8 <USBD_static_malloc+0x4>)
80041d6: 4770 bx lr
80041d8: 20000eec .word 0x20000eec
080041dc <USBD_static_free>:
80041dc: 4770 bx lr
80041de: bf00 nop
080041e0 <HAL_PCDEx_SetConnectionState>:
80041e0: 4770 bx lr
80041e2: bf00 nop
080041e4 <USBD_FS_DeviceDescriptor>:
80041e4: 2312 movs r3, #18
80041e6: 4801 ldr r0, [pc, #4] ; (80041ec <USBD_FS_DeviceDescriptor+0x8>)
80041e8: 800b strh r3, [r1, #0]
80041ea: 4770 bx lr
80041ec: 2000014c .word 0x2000014c
080041f0 <USBD_FS_LangIDStrDescriptor>:
80041f0: 2304 movs r3, #4
80041f2: 4801 ldr r0, [pc, #4] ; (80041f8 <USBD_FS_LangIDStrDescriptor+0x8>)
80041f4: 800b strh r3, [r1, #0]
80041f6: 4770 bx lr
80041f8: 20000160 .word 0x20000160
080041fc <USBD_FS_ManufacturerStrDescriptor>:
80041fc: b510 push {r4, lr}
80041fe: 4c04 ldr r4, [pc, #16] ; (8004210 <USBD_FS_ManufacturerStrDescriptor+0x14>)
8004200: 460a mov r2, r1
8004202: 4804 ldr r0, [pc, #16] ; (8004214 <USBD_FS_ManufacturerStrDescriptor+0x18>)
8004204: 4621 mov r1, r4
8004206: f7fe fce3 bl 8002bd0 <USBD_GetString>
800420a: 4620 mov r0, r4
800420c: bd10 pop {r4, pc}
800420e: bf00 nop
8004210: 20001f18 .word 0x20001f18
8004214: 080044d4 .word 0x080044d4
08004218 <USBD_FS_ProductStrDescriptor>:
8004218: b510 push {r4, lr}
800421a: 4c04 ldr r4, [pc, #16] ; (800422c <USBD_FS_ProductStrDescriptor+0x14>)
800421c: 460a mov r2, r1
800421e: 4804 ldr r0, [pc, #16] ; (8004230 <USBD_FS_ProductStrDescriptor+0x18>)
8004220: 4621 mov r1, r4
8004222: f7fe fcd5 bl 8002bd0 <USBD_GetString>
8004226: 4620 mov r0, r4
8004228: bd10 pop {r4, pc}
800422a: bf00 nop
800422c: 20001f18 .word 0x20001f18
8004230: 080044e8 .word 0x080044e8
08004234 <USBD_FS_ConfigStrDescriptor>:
8004234: b510 push {r4, lr}
8004236: 4c04 ldr r4, [pc, #16] ; (8004248 <USBD_FS_ConfigStrDescriptor+0x14>)
8004238: 460a mov r2, r1
800423a: 4804 ldr r0, [pc, #16] ; (800424c <USBD_FS_ConfigStrDescriptor+0x18>)
800423c: 4621 mov r1, r4
800423e: f7fe fcc7 bl 8002bd0 <USBD_GetString>
8004242: 4620 mov r0, r4
8004244: bd10 pop {r4, pc}
8004246: bf00 nop
8004248: 20001f18 .word 0x20001f18
800424c: 080044b8 .word 0x080044b8
08004250 <USBD_FS_InterfaceStrDescriptor>:
8004250: b510 push {r4, lr}
8004252: 4c04 ldr r4, [pc, #16] ; (8004264 <USBD_FS_InterfaceStrDescriptor+0x14>)
8004254: 460a mov r2, r1
8004256: 4804 ldr r0, [pc, #16] ; (8004268 <USBD_FS_InterfaceStrDescriptor+0x18>)
8004258: 4621 mov r1, r4
800425a: f7fe fcb9 bl 8002bd0 <USBD_GetString>
800425e: 4620 mov r0, r4
8004260: bd10 pop {r4, pc}
8004262: bf00 nop
8004264: 20001f18 .word 0x20001f18
8004268: 080044c4 .word 0x080044c4
0800426c <USBD_FS_SerialStrDescriptor>:
800426c: 201a movs r0, #26
800426e: 4a44 ldr r2, [pc, #272] ; (8004380 <USBD_FS_SerialStrDescriptor+0x114>)
8004270: 4b44 ldr r3, [pc, #272] ; (8004384 <USBD_FS_SerialStrDescriptor+0x118>)
8004272: 6812 ldr r2, [r2, #0]
8004274: 681b ldr r3, [r3, #0]
8004276: 8008 strh r0, [r1, #0]
8004278: 18d2 adds r2, r2, r3
800427a: d101 bne.n 8004280 <USBD_FS_SerialStrDescriptor+0x14>
800427c: 4842 ldr r0, [pc, #264] ; (8004388 <USBD_FS_SerialStrDescriptor+0x11c>)
800427e: 4770 bx lr
8004280: b410 push {r4}
8004282: 2400 movs r4, #0
8004284: 0f13 lsrs r3, r2, #28
8004286: b2d8 uxtb r0, r3
8004288: 2b09 cmp r3, #9
800428a: 4940 ldr r1, [pc, #256] ; (800438c <USBD_FS_SerialStrDescriptor+0x120>)
800428c: 4b3e ldr r3, [pc, #248] ; (8004388 <USBD_FS_SerialStrDescriptor+0x11c>)
800428e: bf94 ite ls
8004290: 3030 addls r0, #48 ; 0x30
8004292: 3037 addhi r0, #55 ; 0x37
8004294: 6809 ldr r1, [r1, #0]
8004296: 7098 strb r0, [r3, #2]
8004298: f3c2 6003 ubfx r0, r2, #24, #4
800429c: 2809 cmp r0, #9
800429e: 70dc strb r4, [r3, #3]
80042a0: b2c4 uxtb r4, r0
80042a2: bf94 ite ls
80042a4: 3430 addls r4, #48 ; 0x30
80042a6: 3437 addhi r4, #55 ; 0x37
80042a8: 711c strb r4, [r3, #4]
80042aa: 2400 movs r4, #0
80042ac: f3c2 5003 ubfx r0, r2, #20, #4
80042b0: 2809 cmp r0, #9
80042b2: 715c strb r4, [r3, #5]
80042b4: b2c4 uxtb r4, r0
80042b6: bf94 ite ls
80042b8: 3430 addls r4, #48 ; 0x30
80042ba: 3437 addhi r4, #55 ; 0x37
80042bc: 719c strb r4, [r3, #6]
80042be: 2400 movs r4, #0
80042c0: f3c2 4003 ubfx r0, r2, #16, #4
80042c4: 2809 cmp r0, #9
80042c6: 71dc strb r4, [r3, #7]
80042c8: b2c4 uxtb r4, r0
80042ca: bf94 ite ls
80042cc: 3430 addls r4, #48 ; 0x30
80042ce: 3437 addhi r4, #55 ; 0x37
80042d0: 721c strb r4, [r3, #8]
80042d2: 2400 movs r4, #0
80042d4: f3c2 3003 ubfx r0, r2, #12, #4
80042d8: 2809 cmp r0, #9
80042da: 725c strb r4, [r3, #9]
80042dc: b2c4 uxtb r4, r0
80042de: bf94 ite ls
80042e0: 3430 addls r4, #48 ; 0x30
80042e2: 3437 addhi r4, #55 ; 0x37
80042e4: 729c strb r4, [r3, #10]
80042e6: 2400 movs r4, #0
80042e8: f3c2 2003 ubfx r0, r2, #8, #4
80042ec: 2809 cmp r0, #9
80042ee: 72dc strb r4, [r3, #11]
80042f0: b2c4 uxtb r4, r0
80042f2: bf94 ite ls
80042f4: 3430 addls r4, #48 ; 0x30
80042f6: 3437 addhi r4, #55 ; 0x37
80042f8: 731c strb r4, [r3, #12]
80042fa: 2400 movs r4, #0
80042fc: f3c2 1003 ubfx r0, r2, #4, #4
8004300: 2809 cmp r0, #9
8004302: f002 020f and.w r2, r2, #15
8004306: 735c strb r4, [r3, #13]
8004308: b2c4 uxtb r4, r0
800430a: bf98 it ls
800430c: 3430 addls r4, #48 ; 0x30
800430e: b2d0 uxtb r0, r2
8004310: bf88 it hi
8004312: 3437 addhi r4, #55 ; 0x37
8004314: 2a09 cmp r2, #9
8004316: bf94 ite ls
8004318: 3030 addls r0, #48 ; 0x30
800431a: 3037 addhi r0, #55 ; 0x37
800431c: 7418 strb r0, [r3, #16]
800431e: 2000 movs r0, #0
8004320: 0f0a lsrs r2, r1, #28
8004322: 2a09 cmp r2, #9
8004324: 7458 strb r0, [r3, #17]
8004326: b2d0 uxtb r0, r2
8004328: bf94 ite ls
800432a: 3030 addls r0, #48 ; 0x30
800432c: 3037 addhi r0, #55 ; 0x37
800432e: 7498 strb r0, [r3, #18]
8004330: 2000 movs r0, #0
8004332: f3c1 6203 ubfx r2, r1, #24, #4
8004336: 2a09 cmp r2, #9
8004338: 74d8 strb r0, [r3, #19]
800433a: b2d0 uxtb r0, r2
800433c: bf94 ite ls
800433e: 3030 addls r0, #48 ; 0x30
8004340: 3037 addhi r0, #55 ; 0x37
8004342: 7518 strb r0, [r3, #20]
8004344: 2000 movs r0, #0
8004346: f3c1 5203 ubfx r2, r1, #20, #4
800434a: 2a09 cmp r2, #9
800434c: 7558 strb r0, [r3, #21]
800434e: f3c1 4103 ubfx r1, r1, #16, #4
8004352: b2d0 uxtb r0, r2
8004354: bf98 it ls
8004356: 3030 addls r0, #48 ; 0x30
8004358: b2ca uxtb r2, r1
800435a: bf88 it hi
800435c: 3037 addhi r0, #55 ; 0x37
800435e: 2909 cmp r1, #9
8004360: bf94 ite ls
8004362: 3230 addls r2, #48 ; 0x30
8004364: 3237 addhi r2, #55 ; 0x37
8004366: 739c strb r4, [r3, #14]
8004368: 7598 strb r0, [r3, #22]
800436a: 2400 movs r4, #0
800436c: 2000 movs r0, #0
800436e: 761a strb r2, [r3, #24]
8004370: 2200 movs r2, #0
8004372: 75d8 strb r0, [r3, #23]
8004374: 73dc strb r4, [r3, #15]
8004376: 765a strb r2, [r3, #25]
8004378: 4803 ldr r0, [pc, #12] ; (8004388 <USBD_FS_SerialStrDescriptor+0x11c>)
800437a: bc10 pop {r4}
800437c: 4770 bx lr
800437e: bf00 nop
8004380: 1ffff7e8 .word 0x1ffff7e8
8004384: 1ffff7f0 .word 0x1ffff7f0
8004388: 20000164 .word 0x20000164
800438c: 1ffff7ec .word 0x1ffff7ec
08004390 <Reset_Handler>:
8004390: 2100 movs r1, #0
8004392: e003 b.n 800439c <LoopCopyDataInit>
08004394 <CopyDataInit>:
8004394: 4b0b ldr r3, [pc, #44] ; (80043c4 <LoopFillZerobss+0x14>)
8004396: 585b ldr r3, [r3, r1]
8004398: 5043 str r3, [r0, r1]
800439a: 3104 adds r1, #4
0800439c <LoopCopyDataInit>:
800439c: 480a ldr r0, [pc, #40] ; (80043c8 <LoopFillZerobss+0x18>)
800439e: 4b0b ldr r3, [pc, #44] ; (80043cc <LoopFillZerobss+0x1c>)
80043a0: 1842 adds r2, r0, r1
80043a2: 429a cmp r2, r3
80043a4: d3f6 bcc.n 8004394 <CopyDataInit>
80043a6: 4a0a ldr r2, [pc, #40] ; (80043d0 <LoopFillZerobss+0x20>)
80043a8: e002 b.n 80043b0 <LoopFillZerobss>
080043aa <FillZerobss>:
80043aa: 2300 movs r3, #0
80043ac: f842 3b04 str.w r3, [r2], #4
080043b0 <LoopFillZerobss>:
80043b0: 4b08 ldr r3, [pc, #32] ; (80043d4 <LoopFillZerobss+0x24>)
80043b2: 429a cmp r2, r3
80043b4: d3f9 bcc.n 80043aa <FillZerobss>
80043b6: f7ff fd6b bl 8003e90 <SystemInit>
80043ba: f000 f80f bl 80043dc <__libc_init_array>
80043be: f7ff fbb5 bl 8003b2c <main>
80043c2: 4770 bx lr
80043c4: 08004508 .word 0x08004508
80043c8: 20000000 .word 0x20000000
80043cc: 20000180 .word 0x20000180
80043d0: 20000180 .word 0x20000180
80043d4: 20002118 .word 0x20002118
080043d8 <ADC1_2_IRQHandler>:
80043d8: e7fe b.n 80043d8 <ADC1_2_IRQHandler>
...
080043dc <__libc_init_array>:
80043dc: b570 push {r4, r5, r6, lr}
80043de: 2500 movs r5, #0
80043e0: 4e0c ldr r6, [pc, #48] ; (8004414 <__libc_init_array+0x38>)
80043e2: 4c0d ldr r4, [pc, #52] ; (8004418 <__libc_init_array+0x3c>)
80043e4: 1ba4 subs r4, r4, r6
80043e6: 10a4 asrs r4, r4, #2
80043e8: 42a5 cmp r5, r4
80043ea: d109 bne.n 8004400 <__libc_init_array+0x24>
80043ec: f000 f81a bl 8004424 <_init>
80043f0: 2500 movs r5, #0
80043f2: 4e0a ldr r6, [pc, #40] ; (800441c <__libc_init_array+0x40>)
80043f4: 4c0a ldr r4, [pc, #40] ; (8004420 <__libc_init_array+0x44>)
80043f6: 1ba4 subs r4, r4, r6
80043f8: 10a4 asrs r4, r4, #2
80043fa: 42a5 cmp r5, r4
80043fc: d105 bne.n 800440a <__libc_init_array+0x2e>
80043fe: bd70 pop {r4, r5, r6, pc}
8004400: f856 3025 ldr.w r3, [r6, r5, lsl #2]
8004404: 4798 blx r3
8004406: 3501 adds r5, #1
8004408: e7ee b.n 80043e8 <__libc_init_array+0xc>
800440a: f856 3025 ldr.w r3, [r6, r5, lsl #2]
800440e: 4798 blx r3
8004410: 3501 adds r5, #1
8004412: e7f2 b.n 80043fa <__libc_init_array+0x1e>
8004414: 08004500 .word 0x08004500
8004418: 08004500 .word 0x08004500
800441c: 08004500 .word 0x08004500
8004420: 08004504 .word 0x08004504
08004424 <_init>:
8004424: b5f8 push {r3, r4, r5, r6, r7, lr}
8004426: bf00 nop
8004428: bcf8 pop {r3, r4, r5, r6, r7}
800442a: bc08 pop {r3}
800442c: 469e mov lr, r3
800442e: 4770 bx lr
08004430 <_fini>:
8004430: b5f8 push {r3, r4, r5, r6, r7, lr}
8004432: bf00 nop
8004434: bcf8 pop {r3, r4, r5, r6, r7}
8004436: bc08 pop {r3}
8004438: 469e mov lr, r3
800443a: 4770 bx lr