From 67e88420ff3ccfe800924064bb726c348971f353 Mon Sep 17 00:00:00 2001 From: Federica Di Lauro Date: Mon, 18 Nov 2019 16:58:18 +0100 Subject: [PATCH] rosserial works, odometry si rompe --- .../Debug/otto_controller_source.list | 27944 +++++++++++----- .../Debug/st-link_gdbserver_log.txt | 8126 ++--- otto_controller_source/Inc/stm32f7xx_it.h | 2 + otto_controller_source/Src/main.cpp | 292 +- otto_controller_source/Src/odometry_calc.cpp | 6 +- .../Src/stm32f7xx_hal_msp.c | 86 + otto_controller_source/Src/stm32f7xx_it.c | 30 + .../otto_controller_source Debug.cfg | 40 + .../otto_controller_source Debug.launch | 17 +- .../otto_controller_source.ioc | 49 +- 10 files changed, 23199 insertions(+), 13393 deletions(-) create mode 100644 otto_controller_source/otto_controller_source Debug.cfg diff --git a/otto_controller_source/Debug/otto_controller_source.list b/otto_controller_source/Debug/otto_controller_source.list index d540b9f..50b86b1 100644 --- a/otto_controller_source/Debug/otto_controller_source.list +++ b/otto_controller_source/Debug/otto_controller_source.list @@ -5,45 +5,45 @@ Sections: Idx Name Size VMA LMA File off Algn 0 .isr_vector 000001f8 08000000 08000000 00010000 2**0 CONTENTS, ALLOC, LOAD, READONLY, DATA - 1 .text 00004b88 080001f8 080001f8 000101f8 2**2 + 1 .text 00009ec8 080001f8 080001f8 000101f8 2**3 CONTENTS, ALLOC, LOAD, READONLY, CODE - 2 .rodata 00000020 08004d80 08004d80 00014d80 2**2 + 2 .rodata 00000ac8 0800a0c0 0800a0c0 0001a0c0 2**3 CONTENTS, ALLOC, LOAD, READONLY, DATA - 3 .ARM.extab 00000000 08004da0 08004da0 0002000c 2**0 + 3 .ARM.extab 00000000 0800ab88 0800ab88 00020084 2**0 CONTENTS - 4 .ARM 00000008 08004da0 08004da0 00014da0 2**2 + 4 .ARM 00000008 0800ab88 0800ab88 0001ab88 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA - 5 .preinit_array 00000000 08004da8 08004da8 0002000c 2**0 + 5 .preinit_array 00000000 0800ab90 0800ab90 00020084 2**0 CONTENTS, ALLOC, LOAD, DATA - 6 .init_array 00000008 08004da8 08004da8 00014da8 2**2 + 6 .init_array 00000008 0800ab90 0800ab90 0001ab90 2**2 CONTENTS, ALLOC, LOAD, DATA - 7 .fini_array 00000004 08004db0 08004db0 00014db0 2**2 + 7 .fini_array 00000004 0800ab98 0800ab98 0001ab98 2**2 CONTENTS, ALLOC, LOAD, DATA - 8 .data 0000000c 20000000 08004db4 00020000 2**2 + 8 .data 00000084 20000000 0800ab9c 00020000 2**2 CONTENTS, ALLOC, LOAD, DATA - 9 .bss 000002a8 2000000c 08004dc0 0002000c 2**2 + 9 .bss 00000e38 20000084 0800ac20 00020084 2**2 ALLOC - 10 ._user_heap_stack 00000604 200002b4 08004dc0 000202b4 2**0 + 10 ._user_heap_stack 00000604 20000ebc 0800ac20 00020ebc 2**0 ALLOC - 11 .ARM.attributes 0000002e 00000000 00000000 0002000c 2**0 + 11 .ARM.attributes 0000002e 00000000 00000000 00020084 2**0 CONTENTS, READONLY - 12 .debug_info 0000d411 00000000 00000000 0002003a 2**0 + 12 .debug_info 00019598 00000000 00000000 000200b2 2**0 CONTENTS, READONLY, DEBUGGING - 13 .debug_abbrev 00001d33 00000000 00000000 0002d44b 2**0 + 13 .debug_abbrev 000030a1 00000000 00000000 0003964a 2**0 CONTENTS, READONLY, DEBUGGING - 14 .debug_aranges 00000d08 00000000 00000000 0002f180 2**3 + 14 .debug_aranges 00001230 00000000 00000000 0003c6f0 2**3 CONTENTS, READONLY, DEBUGGING - 15 .debug_ranges 00000c20 00000000 00000000 0002fe88 2**3 + 15 .debug_ranges 00001120 00000000 00000000 0003d920 2**3 CONTENTS, READONLY, DEBUGGING - 16 .debug_macro 000274ae 00000000 00000000 00030aa8 2**0 + 16 .debug_macro 00029a16 00000000 00000000 0003ea40 2**0 CONTENTS, READONLY, DEBUGGING - 17 .debug_line 00009762 00000000 00000000 00057f56 2**0 + 17 .debug_line 0000cf1f 00000000 00000000 00068456 2**0 CONTENTS, READONLY, DEBUGGING - 18 .debug_str 000f1727 00000000 00000000 000616b8 2**0 + 18 .debug_str 000fc058 00000000 00000000 00075375 2**0 CONTENTS, READONLY, DEBUGGING - 19 .comment 0000007b 00000000 00000000 00152ddf 2**0 + 19 .comment 0000007b 00000000 00000000 001713cd 2**0 CONTENTS, READONLY - 20 .debug_frame 0000368c 00000000 00000000 00152e5c 2**2 + 20 .debug_frame 00005508 00000000 00000000 00171448 2**2 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: @@ -60,9 +60,9 @@ Disassembly of section .text: 800020a: 2301 movs r3, #1 800020c: 7023 strb r3, [r4, #0] 800020e: bd10 pop {r4, pc} - 8000210: 2000000c .word 0x2000000c + 8000210: 20000084 .word 0x20000084 8000214: 00000000 .word 0x00000000 - 8000218: 08004d68 .word 0x08004d68 + 8000218: 0800a0a8 .word 0x0800a0a8 0800021c : 800021c: b508 push {r3, lr} @@ -73,13034 +73,23852 @@ Disassembly of section .text: 8000226: f3af 8000 nop.w 800022a: bd08 pop {r3, pc} 800022c: 00000000 .word 0x00000000 - 8000230: 20000010 .word 0x20000010 - 8000234: 08004d68 .word 0x08004d68 - -08000238 <__aeabi_uldivmod>: - 8000238: b953 cbnz r3, 8000250 <__aeabi_uldivmod+0x18> - 800023a: b94a cbnz r2, 8000250 <__aeabi_uldivmod+0x18> - 800023c: 2900 cmp r1, #0 - 800023e: bf08 it eq - 8000240: 2800 cmpeq r0, #0 - 8000242: bf1c itt ne - 8000244: f04f 31ff movne.w r1, #4294967295 ; 0xffffffff - 8000248: f04f 30ff movne.w r0, #4294967295 ; 0xffffffff - 800024c: f000 b972 b.w 8000534 <__aeabi_idiv0> - 8000250: f1ad 0c08 sub.w ip, sp, #8 - 8000254: e96d ce04 strd ip, lr, [sp, #-16]! - 8000258: f000 f806 bl 8000268 <__udivmoddi4> - 800025c: f8dd e004 ldr.w lr, [sp, #4] - 8000260: e9dd 2302 ldrd r2, r3, [sp, #8] - 8000264: b004 add sp, #16 - 8000266: 4770 bx lr - -08000268 <__udivmoddi4>: - 8000268: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 800026c: 9e08 ldr r6, [sp, #32] - 800026e: 4604 mov r4, r0 - 8000270: 4688 mov r8, r1 - 8000272: 2b00 cmp r3, #0 - 8000274: d14b bne.n 800030e <__udivmoddi4+0xa6> - 8000276: 428a cmp r2, r1 - 8000278: 4615 mov r5, r2 - 800027a: d967 bls.n 800034c <__udivmoddi4+0xe4> - 800027c: fab2 f282 clz r2, r2 - 8000280: b14a cbz r2, 8000296 <__udivmoddi4+0x2e> - 8000282: f1c2 0720 rsb r7, r2, #32 - 8000286: fa01 f302 lsl.w r3, r1, r2 - 800028a: fa20 f707 lsr.w r7, r0, r7 - 800028e: 4095 lsls r5, r2 - 8000290: ea47 0803 orr.w r8, r7, r3 - 8000294: 4094 lsls r4, r2 - 8000296: ea4f 4e15 mov.w lr, r5, lsr #16 - 800029a: 0c23 lsrs r3, r4, #16 - 800029c: fbb8 f7fe udiv r7, r8, lr - 80002a0: fa1f fc85 uxth.w ip, r5 - 80002a4: fb0e 8817 mls r8, lr, r7, r8 - 80002a8: ea43 4308 orr.w r3, r3, r8, lsl #16 - 80002ac: fb07 f10c mul.w r1, r7, ip - 80002b0: 4299 cmp r1, r3 - 80002b2: d909 bls.n 80002c8 <__udivmoddi4+0x60> - 80002b4: 18eb adds r3, r5, r3 - 80002b6: f107 30ff add.w r0, r7, #4294967295 ; 0xffffffff - 80002ba: f080 811b bcs.w 80004f4 <__udivmoddi4+0x28c> - 80002be: 4299 cmp r1, r3 - 80002c0: f240 8118 bls.w 80004f4 <__udivmoddi4+0x28c> - 80002c4: 3f02 subs r7, #2 - 80002c6: 442b add r3, r5 - 80002c8: 1a5b subs r3, r3, r1 - 80002ca: b2a4 uxth r4, r4 - 80002cc: fbb3 f0fe udiv r0, r3, lr - 80002d0: fb0e 3310 mls r3, lr, r0, r3 - 80002d4: ea44 4403 orr.w r4, r4, r3, lsl #16 - 80002d8: fb00 fc0c mul.w ip, r0, ip - 80002dc: 45a4 cmp ip, r4 - 80002de: d909 bls.n 80002f4 <__udivmoddi4+0x8c> - 80002e0: 192c adds r4, r5, r4 - 80002e2: f100 33ff add.w r3, r0, #4294967295 ; 0xffffffff - 80002e6: f080 8107 bcs.w 80004f8 <__udivmoddi4+0x290> - 80002ea: 45a4 cmp ip, r4 - 80002ec: f240 8104 bls.w 80004f8 <__udivmoddi4+0x290> - 80002f0: 3802 subs r0, #2 - 80002f2: 442c add r4, r5 - 80002f4: ea40 4007 orr.w r0, r0, r7, lsl #16 - 80002f8: eba4 040c sub.w r4, r4, ip - 80002fc: 2700 movs r7, #0 - 80002fe: b11e cbz r6, 8000308 <__udivmoddi4+0xa0> - 8000300: 40d4 lsrs r4, r2 - 8000302: 2300 movs r3, #0 - 8000304: e9c6 4300 strd r4, r3, [r6] - 8000308: 4639 mov r1, r7 - 800030a: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 800030e: 428b cmp r3, r1 - 8000310: d909 bls.n 8000326 <__udivmoddi4+0xbe> - 8000312: 2e00 cmp r6, #0 - 8000314: f000 80eb beq.w 80004ee <__udivmoddi4+0x286> - 8000318: 2700 movs r7, #0 - 800031a: e9c6 0100 strd r0, r1, [r6] - 800031e: 4638 mov r0, r7 - 8000320: 4639 mov r1, r7 - 8000322: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 8000326: fab3 f783 clz r7, r3 - 800032a: 2f00 cmp r7, #0 - 800032c: d147 bne.n 80003be <__udivmoddi4+0x156> - 800032e: 428b cmp r3, r1 - 8000330: d302 bcc.n 8000338 <__udivmoddi4+0xd0> - 8000332: 4282 cmp r2, r0 - 8000334: f200 80fa bhi.w 800052c <__udivmoddi4+0x2c4> - 8000338: 1a84 subs r4, r0, r2 - 800033a: eb61 0303 sbc.w r3, r1, r3 - 800033e: 2001 movs r0, #1 - 8000340: 4698 mov r8, r3 - 8000342: 2e00 cmp r6, #0 - 8000344: d0e0 beq.n 8000308 <__udivmoddi4+0xa0> - 8000346: e9c6 4800 strd r4, r8, [r6] - 800034a: e7dd b.n 8000308 <__udivmoddi4+0xa0> - 800034c: b902 cbnz r2, 8000350 <__udivmoddi4+0xe8> - 800034e: deff udf #255 ; 0xff - 8000350: fab2 f282 clz r2, r2 - 8000354: 2a00 cmp r2, #0 - 8000356: f040 808f bne.w 8000478 <__udivmoddi4+0x210> - 800035a: 1b49 subs r1, r1, r5 - 800035c: ea4f 4e15 mov.w lr, r5, lsr #16 - 8000360: fa1f f885 uxth.w r8, r5 - 8000364: 2701 movs r7, #1 - 8000366: fbb1 fcfe udiv ip, r1, lr - 800036a: 0c23 lsrs r3, r4, #16 - 800036c: fb0e 111c mls r1, lr, ip, r1 - 8000370: ea43 4301 orr.w r3, r3, r1, lsl #16 - 8000374: fb08 f10c mul.w r1, r8, ip - 8000378: 4299 cmp r1, r3 - 800037a: d907 bls.n 800038c <__udivmoddi4+0x124> - 800037c: 18eb adds r3, r5, r3 - 800037e: f10c 30ff add.w r0, ip, #4294967295 ; 0xffffffff - 8000382: d202 bcs.n 800038a <__udivmoddi4+0x122> - 8000384: 4299 cmp r1, r3 - 8000386: f200 80cd bhi.w 8000524 <__udivmoddi4+0x2bc> - 800038a: 4684 mov ip, r0 - 800038c: 1a59 subs r1, r3, r1 - 800038e: b2a3 uxth r3, r4 - 8000390: fbb1 f0fe udiv r0, r1, lr - 8000394: fb0e 1410 mls r4, lr, r0, r1 - 8000398: ea43 4404 orr.w r4, r3, r4, lsl #16 - 800039c: fb08 f800 mul.w r8, r8, r0 - 80003a0: 45a0 cmp r8, r4 - 80003a2: d907 bls.n 80003b4 <__udivmoddi4+0x14c> - 80003a4: 192c adds r4, r5, r4 - 80003a6: f100 33ff add.w r3, r0, #4294967295 ; 0xffffffff - 80003aa: d202 bcs.n 80003b2 <__udivmoddi4+0x14a> - 80003ac: 45a0 cmp r8, r4 - 80003ae: f200 80b6 bhi.w 800051e <__udivmoddi4+0x2b6> - 80003b2: 4618 mov r0, r3 - 80003b4: eba4 0408 sub.w r4, r4, r8 - 80003b8: ea40 400c orr.w r0, r0, ip, lsl #16 - 80003bc: e79f b.n 80002fe <__udivmoddi4+0x96> - 80003be: f1c7 0c20 rsb ip, r7, #32 - 80003c2: 40bb lsls r3, r7 - 80003c4: fa22 fe0c lsr.w lr, r2, ip - 80003c8: ea4e 0e03 orr.w lr, lr, r3 - 80003cc: fa01 f407 lsl.w r4, r1, r7 - 80003d0: fa20 f50c lsr.w r5, r0, ip - 80003d4: fa21 f30c lsr.w r3, r1, ip - 80003d8: ea4f 481e mov.w r8, lr, lsr #16 - 80003dc: 4325 orrs r5, r4 - 80003de: fbb3 f9f8 udiv r9, r3, r8 - 80003e2: 0c2c lsrs r4, r5, #16 - 80003e4: fb08 3319 mls r3, r8, r9, r3 - 80003e8: fa1f fa8e uxth.w sl, lr - 80003ec: ea44 4303 orr.w r3, r4, r3, lsl #16 - 80003f0: fb09 f40a mul.w r4, r9, sl - 80003f4: 429c cmp r4, r3 - 80003f6: fa02 f207 lsl.w r2, r2, r7 - 80003fa: fa00 f107 lsl.w r1, r0, r7 - 80003fe: d90b bls.n 8000418 <__udivmoddi4+0x1b0> - 8000400: eb1e 0303 adds.w r3, lr, r3 - 8000404: f109 30ff add.w r0, r9, #4294967295 ; 0xffffffff - 8000408: f080 8087 bcs.w 800051a <__udivmoddi4+0x2b2> - 800040c: 429c cmp r4, r3 - 800040e: f240 8084 bls.w 800051a <__udivmoddi4+0x2b2> - 8000412: f1a9 0902 sub.w r9, r9, #2 - 8000416: 4473 add r3, lr - 8000418: 1b1b subs r3, r3, r4 - 800041a: b2ad uxth r5, r5 - 800041c: fbb3 f0f8 udiv r0, r3, r8 - 8000420: fb08 3310 mls r3, r8, r0, r3 - 8000424: ea45 4403 orr.w r4, r5, r3, lsl #16 - 8000428: fb00 fa0a mul.w sl, r0, sl - 800042c: 45a2 cmp sl, r4 - 800042e: d908 bls.n 8000442 <__udivmoddi4+0x1da> - 8000430: eb1e 0404 adds.w r4, lr, r4 - 8000434: f100 33ff add.w r3, r0, #4294967295 ; 0xffffffff - 8000438: d26b bcs.n 8000512 <__udivmoddi4+0x2aa> - 800043a: 45a2 cmp sl, r4 - 800043c: d969 bls.n 8000512 <__udivmoddi4+0x2aa> - 800043e: 3802 subs r0, #2 - 8000440: 4474 add r4, lr - 8000442: ea40 4009 orr.w r0, r0, r9, lsl #16 - 8000446: fba0 8902 umull r8, r9, r0, r2 - 800044a: eba4 040a sub.w r4, r4, sl - 800044e: 454c cmp r4, r9 - 8000450: 46c2 mov sl, r8 - 8000452: 464b mov r3, r9 - 8000454: d354 bcc.n 8000500 <__udivmoddi4+0x298> - 8000456: d051 beq.n 80004fc <__udivmoddi4+0x294> - 8000458: 2e00 cmp r6, #0 - 800045a: d069 beq.n 8000530 <__udivmoddi4+0x2c8> - 800045c: ebb1 050a subs.w r5, r1, sl - 8000460: eb64 0403 sbc.w r4, r4, r3 - 8000464: fa04 fc0c lsl.w ip, r4, ip - 8000468: 40fd lsrs r5, r7 - 800046a: 40fc lsrs r4, r7 - 800046c: ea4c 0505 orr.w r5, ip, r5 - 8000470: e9c6 5400 strd r5, r4, [r6] - 8000474: 2700 movs r7, #0 - 8000476: e747 b.n 8000308 <__udivmoddi4+0xa0> - 8000478: f1c2 0320 rsb r3, r2, #32 - 800047c: fa20 f703 lsr.w r7, r0, r3 - 8000480: 4095 lsls r5, r2 - 8000482: fa01 f002 lsl.w r0, r1, r2 - 8000486: fa21 f303 lsr.w r3, r1, r3 - 800048a: ea4f 4e15 mov.w lr, r5, lsr #16 - 800048e: 4338 orrs r0, r7 - 8000490: 0c01 lsrs r1, r0, #16 - 8000492: fbb3 f7fe udiv r7, r3, lr - 8000496: fa1f f885 uxth.w r8, r5 - 800049a: fb0e 3317 mls r3, lr, r7, r3 - 800049e: ea41 4103 orr.w r1, r1, r3, lsl #16 - 80004a2: fb07 f308 mul.w r3, r7, r8 - 80004a6: 428b cmp r3, r1 - 80004a8: fa04 f402 lsl.w r4, r4, r2 - 80004ac: d907 bls.n 80004be <__udivmoddi4+0x256> - 80004ae: 1869 adds r1, r5, r1 - 80004b0: f107 3cff add.w ip, r7, #4294967295 ; 0xffffffff - 80004b4: d22f bcs.n 8000516 <__udivmoddi4+0x2ae> + 8000230: 20000088 .word 0x20000088 + 8000234: 0800a0a8 .word 0x0800a0a8 + +08000238 : + 8000238: 4603 mov r3, r0 + 800023a: f813 2b01 ldrb.w r2, [r3], #1 + 800023e: 2a00 cmp r2, #0 + 8000240: d1fb bne.n 800023a + 8000242: 1a18 subs r0, r3, r0 + 8000244: 3801 subs r0, #1 + 8000246: 4770 bx lr + +08000248 <__aeabi_uldivmod>: + 8000248: b953 cbnz r3, 8000260 <__aeabi_uldivmod+0x18> + 800024a: b94a cbnz r2, 8000260 <__aeabi_uldivmod+0x18> + 800024c: 2900 cmp r1, #0 + 800024e: bf08 it eq + 8000250: 2800 cmpeq r0, #0 + 8000252: bf1c itt ne + 8000254: f04f 31ff movne.w r1, #4294967295 ; 0xffffffff + 8000258: f04f 30ff movne.w r0, #4294967295 ; 0xffffffff + 800025c: f000 b972 b.w 8000544 <__aeabi_idiv0> + 8000260: f1ad 0c08 sub.w ip, sp, #8 + 8000264: e96d ce04 strd ip, lr, [sp, #-16]! + 8000268: f000 f806 bl 8000278 <__udivmoddi4> + 800026c: f8dd e004 ldr.w lr, [sp, #4] + 8000270: e9dd 2302 ldrd r2, r3, [sp, #8] + 8000274: b004 add sp, #16 + 8000276: 4770 bx lr + +08000278 <__udivmoddi4>: + 8000278: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 800027c: 9e08 ldr r6, [sp, #32] + 800027e: 4604 mov r4, r0 + 8000280: 4688 mov r8, r1 + 8000282: 2b00 cmp r3, #0 + 8000284: d14b bne.n 800031e <__udivmoddi4+0xa6> + 8000286: 428a cmp r2, r1 + 8000288: 4615 mov r5, r2 + 800028a: d967 bls.n 800035c <__udivmoddi4+0xe4> + 800028c: fab2 f282 clz r2, r2 + 8000290: b14a cbz r2, 80002a6 <__udivmoddi4+0x2e> + 8000292: f1c2 0720 rsb r7, r2, #32 + 8000296: fa01 f302 lsl.w r3, r1, r2 + 800029a: fa20 f707 lsr.w r7, r0, r7 + 800029e: 4095 lsls r5, r2 + 80002a0: ea47 0803 orr.w r8, r7, r3 + 80002a4: 4094 lsls r4, r2 + 80002a6: ea4f 4e15 mov.w lr, r5, lsr #16 + 80002aa: 0c23 lsrs r3, r4, #16 + 80002ac: fbb8 f7fe udiv r7, r8, lr + 80002b0: fa1f fc85 uxth.w ip, r5 + 80002b4: fb0e 8817 mls r8, lr, r7, r8 + 80002b8: ea43 4308 orr.w r3, r3, r8, lsl #16 + 80002bc: fb07 f10c mul.w r1, r7, ip + 80002c0: 4299 cmp r1, r3 + 80002c2: d909 bls.n 80002d8 <__udivmoddi4+0x60> + 80002c4: 18eb adds r3, r5, r3 + 80002c6: f107 30ff add.w r0, r7, #4294967295 ; 0xffffffff + 80002ca: f080 811b bcs.w 8000504 <__udivmoddi4+0x28c> + 80002ce: 4299 cmp r1, r3 + 80002d0: f240 8118 bls.w 8000504 <__udivmoddi4+0x28c> + 80002d4: 3f02 subs r7, #2 + 80002d6: 442b add r3, r5 + 80002d8: 1a5b subs r3, r3, r1 + 80002da: b2a4 uxth r4, r4 + 80002dc: fbb3 f0fe udiv r0, r3, lr + 80002e0: fb0e 3310 mls r3, lr, r0, r3 + 80002e4: ea44 4403 orr.w r4, r4, r3, lsl #16 + 80002e8: fb00 fc0c mul.w ip, r0, ip + 80002ec: 45a4 cmp ip, r4 + 80002ee: d909 bls.n 8000304 <__udivmoddi4+0x8c> + 80002f0: 192c adds r4, r5, r4 + 80002f2: f100 33ff add.w r3, r0, #4294967295 ; 0xffffffff + 80002f6: f080 8107 bcs.w 8000508 <__udivmoddi4+0x290> + 80002fa: 45a4 cmp ip, r4 + 80002fc: f240 8104 bls.w 8000508 <__udivmoddi4+0x290> + 8000300: 3802 subs r0, #2 + 8000302: 442c add r4, r5 + 8000304: ea40 4007 orr.w r0, r0, r7, lsl #16 + 8000308: eba4 040c sub.w r4, r4, ip + 800030c: 2700 movs r7, #0 + 800030e: b11e cbz r6, 8000318 <__udivmoddi4+0xa0> + 8000310: 40d4 lsrs r4, r2 + 8000312: 2300 movs r3, #0 + 8000314: e9c6 4300 strd r4, r3, [r6] + 8000318: 4639 mov r1, r7 + 800031a: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 800031e: 428b cmp r3, r1 + 8000320: d909 bls.n 8000336 <__udivmoddi4+0xbe> + 8000322: 2e00 cmp r6, #0 + 8000324: f000 80eb beq.w 80004fe <__udivmoddi4+0x286> + 8000328: 2700 movs r7, #0 + 800032a: e9c6 0100 strd r0, r1, [r6] + 800032e: 4638 mov r0, r7 + 8000330: 4639 mov r1, r7 + 8000332: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 8000336: fab3 f783 clz r7, r3 + 800033a: 2f00 cmp r7, #0 + 800033c: d147 bne.n 80003ce <__udivmoddi4+0x156> + 800033e: 428b cmp r3, r1 + 8000340: d302 bcc.n 8000348 <__udivmoddi4+0xd0> + 8000342: 4282 cmp r2, r0 + 8000344: f200 80fa bhi.w 800053c <__udivmoddi4+0x2c4> + 8000348: 1a84 subs r4, r0, r2 + 800034a: eb61 0303 sbc.w r3, r1, r3 + 800034e: 2001 movs r0, #1 + 8000350: 4698 mov r8, r3 + 8000352: 2e00 cmp r6, #0 + 8000354: d0e0 beq.n 8000318 <__udivmoddi4+0xa0> + 8000356: e9c6 4800 strd r4, r8, [r6] + 800035a: e7dd b.n 8000318 <__udivmoddi4+0xa0> + 800035c: b902 cbnz r2, 8000360 <__udivmoddi4+0xe8> + 800035e: deff udf #255 ; 0xff + 8000360: fab2 f282 clz r2, r2 + 8000364: 2a00 cmp r2, #0 + 8000366: f040 808f bne.w 8000488 <__udivmoddi4+0x210> + 800036a: 1b49 subs r1, r1, r5 + 800036c: ea4f 4e15 mov.w lr, r5, lsr #16 + 8000370: fa1f f885 uxth.w r8, r5 + 8000374: 2701 movs r7, #1 + 8000376: fbb1 fcfe udiv ip, r1, lr + 800037a: 0c23 lsrs r3, r4, #16 + 800037c: fb0e 111c mls r1, lr, ip, r1 + 8000380: ea43 4301 orr.w r3, r3, r1, lsl #16 + 8000384: fb08 f10c mul.w r1, r8, ip + 8000388: 4299 cmp r1, r3 + 800038a: d907 bls.n 800039c <__udivmoddi4+0x124> + 800038c: 18eb adds r3, r5, r3 + 800038e: f10c 30ff add.w r0, ip, #4294967295 ; 0xffffffff + 8000392: d202 bcs.n 800039a <__udivmoddi4+0x122> + 8000394: 4299 cmp r1, r3 + 8000396: f200 80cd bhi.w 8000534 <__udivmoddi4+0x2bc> + 800039a: 4684 mov ip, r0 + 800039c: 1a59 subs r1, r3, r1 + 800039e: b2a3 uxth r3, r4 + 80003a0: fbb1 f0fe udiv r0, r1, lr + 80003a4: fb0e 1410 mls r4, lr, r0, r1 + 80003a8: ea43 4404 orr.w r4, r3, r4, lsl #16 + 80003ac: fb08 f800 mul.w r8, r8, r0 + 80003b0: 45a0 cmp r8, r4 + 80003b2: d907 bls.n 80003c4 <__udivmoddi4+0x14c> + 80003b4: 192c adds r4, r5, r4 + 80003b6: f100 33ff add.w r3, r0, #4294967295 ; 0xffffffff + 80003ba: d202 bcs.n 80003c2 <__udivmoddi4+0x14a> + 80003bc: 45a0 cmp r8, r4 + 80003be: f200 80b6 bhi.w 800052e <__udivmoddi4+0x2b6> + 80003c2: 4618 mov r0, r3 + 80003c4: eba4 0408 sub.w r4, r4, r8 + 80003c8: ea40 400c orr.w r0, r0, ip, lsl #16 + 80003cc: e79f b.n 800030e <__udivmoddi4+0x96> + 80003ce: f1c7 0c20 rsb ip, r7, #32 + 80003d2: 40bb lsls r3, r7 + 80003d4: fa22 fe0c lsr.w lr, r2, ip + 80003d8: ea4e 0e03 orr.w lr, lr, r3 + 80003dc: fa01 f407 lsl.w r4, r1, r7 + 80003e0: fa20 f50c lsr.w r5, r0, ip + 80003e4: fa21 f30c lsr.w r3, r1, ip + 80003e8: ea4f 481e mov.w r8, lr, lsr #16 + 80003ec: 4325 orrs r5, r4 + 80003ee: fbb3 f9f8 udiv r9, r3, r8 + 80003f2: 0c2c lsrs r4, r5, #16 + 80003f4: fb08 3319 mls r3, r8, r9, r3 + 80003f8: fa1f fa8e uxth.w sl, lr + 80003fc: ea44 4303 orr.w r3, r4, r3, lsl #16 + 8000400: fb09 f40a mul.w r4, r9, sl + 8000404: 429c cmp r4, r3 + 8000406: fa02 f207 lsl.w r2, r2, r7 + 800040a: fa00 f107 lsl.w r1, r0, r7 + 800040e: d90b bls.n 8000428 <__udivmoddi4+0x1b0> + 8000410: eb1e 0303 adds.w r3, lr, r3 + 8000414: f109 30ff add.w r0, r9, #4294967295 ; 0xffffffff + 8000418: f080 8087 bcs.w 800052a <__udivmoddi4+0x2b2> + 800041c: 429c cmp r4, r3 + 800041e: f240 8084 bls.w 800052a <__udivmoddi4+0x2b2> + 8000422: f1a9 0902 sub.w r9, r9, #2 + 8000426: 4473 add r3, lr + 8000428: 1b1b subs r3, r3, r4 + 800042a: b2ad uxth r5, r5 + 800042c: fbb3 f0f8 udiv r0, r3, r8 + 8000430: fb08 3310 mls r3, r8, r0, r3 + 8000434: ea45 4403 orr.w r4, r5, r3, lsl #16 + 8000438: fb00 fa0a mul.w sl, r0, sl + 800043c: 45a2 cmp sl, r4 + 800043e: d908 bls.n 8000452 <__udivmoddi4+0x1da> + 8000440: eb1e 0404 adds.w r4, lr, r4 + 8000444: f100 33ff add.w r3, r0, #4294967295 ; 0xffffffff + 8000448: d26b bcs.n 8000522 <__udivmoddi4+0x2aa> + 800044a: 45a2 cmp sl, r4 + 800044c: d969 bls.n 8000522 <__udivmoddi4+0x2aa> + 800044e: 3802 subs r0, #2 + 8000450: 4474 add r4, lr + 8000452: ea40 4009 orr.w r0, r0, r9, lsl #16 + 8000456: fba0 8902 umull r8, r9, r0, r2 + 800045a: eba4 040a sub.w r4, r4, sl + 800045e: 454c cmp r4, r9 + 8000460: 46c2 mov sl, r8 + 8000462: 464b mov r3, r9 + 8000464: d354 bcc.n 8000510 <__udivmoddi4+0x298> + 8000466: d051 beq.n 800050c <__udivmoddi4+0x294> + 8000468: 2e00 cmp r6, #0 + 800046a: d069 beq.n 8000540 <__udivmoddi4+0x2c8> + 800046c: ebb1 050a subs.w r5, r1, sl + 8000470: eb64 0403 sbc.w r4, r4, r3 + 8000474: fa04 fc0c lsl.w ip, r4, ip + 8000478: 40fd lsrs r5, r7 + 800047a: 40fc lsrs r4, r7 + 800047c: ea4c 0505 orr.w r5, ip, r5 + 8000480: e9c6 5400 strd r5, r4, [r6] + 8000484: 2700 movs r7, #0 + 8000486: e747 b.n 8000318 <__udivmoddi4+0xa0> + 8000488: f1c2 0320 rsb r3, r2, #32 + 800048c: fa20 f703 lsr.w r7, r0, r3 + 8000490: 4095 lsls r5, r2 + 8000492: fa01 f002 lsl.w r0, r1, r2 + 8000496: fa21 f303 lsr.w r3, r1, r3 + 800049a: ea4f 4e15 mov.w lr, r5, lsr #16 + 800049e: 4338 orrs r0, r7 + 80004a0: 0c01 lsrs r1, r0, #16 + 80004a2: fbb3 f7fe udiv r7, r3, lr + 80004a6: fa1f f885 uxth.w r8, r5 + 80004aa: fb0e 3317 mls r3, lr, r7, r3 + 80004ae: ea41 4103 orr.w r1, r1, r3, lsl #16 + 80004b2: fb07 f308 mul.w r3, r7, r8 80004b6: 428b cmp r3, r1 - 80004b8: d92d bls.n 8000516 <__udivmoddi4+0x2ae> - 80004ba: 3f02 subs r7, #2 - 80004bc: 4429 add r1, r5 - 80004be: 1acb subs r3, r1, r3 - 80004c0: b281 uxth r1, r0 - 80004c2: fbb3 f0fe udiv r0, r3, lr - 80004c6: fb0e 3310 mls r3, lr, r0, r3 - 80004ca: ea41 4103 orr.w r1, r1, r3, lsl #16 - 80004ce: fb00 f308 mul.w r3, r0, r8 - 80004d2: 428b cmp r3, r1 - 80004d4: d907 bls.n 80004e6 <__udivmoddi4+0x27e> - 80004d6: 1869 adds r1, r5, r1 - 80004d8: f100 3cff add.w ip, r0, #4294967295 ; 0xffffffff - 80004dc: d217 bcs.n 800050e <__udivmoddi4+0x2a6> - 80004de: 428b cmp r3, r1 - 80004e0: d915 bls.n 800050e <__udivmoddi4+0x2a6> - 80004e2: 3802 subs r0, #2 - 80004e4: 4429 add r1, r5 - 80004e6: 1ac9 subs r1, r1, r3 - 80004e8: ea40 4707 orr.w r7, r0, r7, lsl #16 - 80004ec: e73b b.n 8000366 <__udivmoddi4+0xfe> - 80004ee: 4637 mov r7, r6 - 80004f0: 4630 mov r0, r6 - 80004f2: e709 b.n 8000308 <__udivmoddi4+0xa0> - 80004f4: 4607 mov r7, r0 - 80004f6: e6e7 b.n 80002c8 <__udivmoddi4+0x60> - 80004f8: 4618 mov r0, r3 - 80004fa: e6fb b.n 80002f4 <__udivmoddi4+0x8c> - 80004fc: 4541 cmp r1, r8 - 80004fe: d2ab bcs.n 8000458 <__udivmoddi4+0x1f0> - 8000500: ebb8 0a02 subs.w sl, r8, r2 - 8000504: eb69 020e sbc.w r2, r9, lr - 8000508: 3801 subs r0, #1 - 800050a: 4613 mov r3, r2 - 800050c: e7a4 b.n 8000458 <__udivmoddi4+0x1f0> - 800050e: 4660 mov r0, ip - 8000510: e7e9 b.n 80004e6 <__udivmoddi4+0x27e> - 8000512: 4618 mov r0, r3 - 8000514: e795 b.n 8000442 <__udivmoddi4+0x1da> - 8000516: 4667 mov r7, ip - 8000518: e7d1 b.n 80004be <__udivmoddi4+0x256> - 800051a: 4681 mov r9, r0 - 800051c: e77c b.n 8000418 <__udivmoddi4+0x1b0> - 800051e: 3802 subs r0, #2 - 8000520: 442c add r4, r5 - 8000522: e747 b.n 80003b4 <__udivmoddi4+0x14c> - 8000524: f1ac 0c02 sub.w ip, ip, #2 - 8000528: 442b add r3, r5 - 800052a: e72f b.n 800038c <__udivmoddi4+0x124> - 800052c: 4638 mov r0, r7 - 800052e: e708 b.n 8000342 <__udivmoddi4+0xda> - 8000530: 4637 mov r7, r6 - 8000532: e6e9 b.n 8000308 <__udivmoddi4+0xa0> - -08000534 <__aeabi_idiv0>: - 8000534: 4770 bx lr - 8000536: bf00 nop - -08000538 : + 80004b8: fa04 f402 lsl.w r4, r4, r2 + 80004bc: d907 bls.n 80004ce <__udivmoddi4+0x256> + 80004be: 1869 adds r1, r5, r1 + 80004c0: f107 3cff add.w ip, r7, #4294967295 ; 0xffffffff + 80004c4: d22f bcs.n 8000526 <__udivmoddi4+0x2ae> + 80004c6: 428b cmp r3, r1 + 80004c8: d92d bls.n 8000526 <__udivmoddi4+0x2ae> + 80004ca: 3f02 subs r7, #2 + 80004cc: 4429 add r1, r5 + 80004ce: 1acb subs r3, r1, r3 + 80004d0: b281 uxth r1, r0 + 80004d2: fbb3 f0fe udiv r0, r3, lr + 80004d6: fb0e 3310 mls r3, lr, r0, r3 + 80004da: ea41 4103 orr.w r1, r1, r3, lsl #16 + 80004de: fb00 f308 mul.w r3, r0, r8 + 80004e2: 428b cmp r3, r1 + 80004e4: d907 bls.n 80004f6 <__udivmoddi4+0x27e> + 80004e6: 1869 adds r1, r5, r1 + 80004e8: f100 3cff add.w ip, r0, #4294967295 ; 0xffffffff + 80004ec: d217 bcs.n 800051e <__udivmoddi4+0x2a6> + 80004ee: 428b cmp r3, r1 + 80004f0: d915 bls.n 800051e <__udivmoddi4+0x2a6> + 80004f2: 3802 subs r0, #2 + 80004f4: 4429 add r1, r5 + 80004f6: 1ac9 subs r1, r1, r3 + 80004f8: ea40 4707 orr.w r7, r0, r7, lsl #16 + 80004fc: e73b b.n 8000376 <__udivmoddi4+0xfe> + 80004fe: 4637 mov r7, r6 + 8000500: 4630 mov r0, r6 + 8000502: e709 b.n 8000318 <__udivmoddi4+0xa0> + 8000504: 4607 mov r7, r0 + 8000506: e6e7 b.n 80002d8 <__udivmoddi4+0x60> + 8000508: 4618 mov r0, r3 + 800050a: e6fb b.n 8000304 <__udivmoddi4+0x8c> + 800050c: 4541 cmp r1, r8 + 800050e: d2ab bcs.n 8000468 <__udivmoddi4+0x1f0> + 8000510: ebb8 0a02 subs.w sl, r8, r2 + 8000514: eb69 020e sbc.w r2, r9, lr + 8000518: 3801 subs r0, #1 + 800051a: 4613 mov r3, r2 + 800051c: e7a4 b.n 8000468 <__udivmoddi4+0x1f0> + 800051e: 4660 mov r0, ip + 8000520: e7e9 b.n 80004f6 <__udivmoddi4+0x27e> + 8000522: 4618 mov r0, r3 + 8000524: e795 b.n 8000452 <__udivmoddi4+0x1da> + 8000526: 4667 mov r7, ip + 8000528: e7d1 b.n 80004ce <__udivmoddi4+0x256> + 800052a: 4681 mov r9, r0 + 800052c: e77c b.n 8000428 <__udivmoddi4+0x1b0> + 800052e: 3802 subs r0, #2 + 8000530: 442c add r4, r5 + 8000532: e747 b.n 80003c4 <__udivmoddi4+0x14c> + 8000534: f1ac 0c02 sub.w ip, ip, #2 + 8000538: 442b add r3, r5 + 800053a: e72f b.n 800039c <__udivmoddi4+0x124> + 800053c: 4638 mov r0, r7 + 800053e: e708 b.n 8000352 <__udivmoddi4+0xda> + 8000540: 4637 mov r7, r6 + 8000542: e6e9 b.n 8000318 <__udivmoddi4+0xa0> + +08000544 <__aeabi_idiv0>: + 8000544: 4770 bx lr + 8000546: bf00 nop + +08000548 : * need to ensure that the SysTick time base is always set to 1 millisecond * to have correct HAL operation. * @retval HAL status */ HAL_StatusTypeDef HAL_Init(void) { - 8000538: b580 push {r7, lr} - 800053a: af00 add r7, sp, #0 + 8000548: b580 push {r7, lr} + 800054a: af00 add r7, sp, #0 #if (PREFETCH_ENABLE != 0U) __HAL_FLASH_PREFETCH_BUFFER_ENABLE(); #endif /* PREFETCH_ENABLE */ /* Set Interrupt Group Priority */ HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4); - 800053c: 2003 movs r0, #3 - 800053e: f000 f929 bl 8000794 + 800054c: 2003 movs r0, #3 + 800054e: f000 f929 bl 80007a4 /* Use systick as time base source and configure 1ms tick (default clock after Reset is HSI) */ HAL_InitTick(TICK_INT_PRIORITY); - 8000542: 2000 movs r0, #0 - 8000544: f000 f806 bl 8000554 + 8000552: 2000 movs r0, #0 + 8000554: f000 f806 bl 8000564 /* Init the low level hardware */ HAL_MspInit(); - 8000548: f004 f946 bl 80047d8 + 8000558: f007 fca2 bl 8007ea0 /* Return function status */ return HAL_OK; - 800054c: 2300 movs r3, #0 + 800055c: 2300 movs r3, #0 } - 800054e: 4618 mov r0, r3 - 8000550: bd80 pop {r7, pc} + 800055e: 4618 mov r0, r3 + 8000560: bd80 pop {r7, pc} ... -08000554 : +08000564 : * implementation in user file. * @param TickPriority Tick interrupt priority. * @retval HAL status */ __weak HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority) { - 8000554: b580 push {r7, lr} - 8000556: b082 sub sp, #8 - 8000558: af00 add r7, sp, #0 - 800055a: 6078 str r0, [r7, #4] + 8000564: b580 push {r7, lr} + 8000566: b082 sub sp, #8 + 8000568: af00 add r7, sp, #0 + 800056a: 6078 str r0, [r7, #4] /* Configure the SysTick to have interrupt in 1ms time basis*/ if (HAL_SYSTICK_Config(SystemCoreClock / (1000U / uwTickFreq)) > 0U) - 800055c: 4b12 ldr r3, [pc, #72] ; (80005a8 ) - 800055e: 681a ldr r2, [r3, #0] - 8000560: 4b12 ldr r3, [pc, #72] ; (80005ac ) - 8000562: 781b ldrb r3, [r3, #0] - 8000564: 4619 mov r1, r3 - 8000566: f44f 737a mov.w r3, #1000 ; 0x3e8 - 800056a: fbb3 f3f1 udiv r3, r3, r1 - 800056e: fbb2 f3f3 udiv r3, r2, r3 - 8000572: 4618 mov r0, r3 - 8000574: f000 f943 bl 80007fe - 8000578: 4603 mov r3, r0 - 800057a: 2b00 cmp r3, #0 - 800057c: d001 beq.n 8000582 + 800056c: 4b12 ldr r3, [pc, #72] ; (80005b8 ) + 800056e: 681a ldr r2, [r3, #0] + 8000570: 4b12 ldr r3, [pc, #72] ; (80005bc ) + 8000572: 781b ldrb r3, [r3, #0] + 8000574: 4619 mov r1, r3 + 8000576: f44f 737a mov.w r3, #1000 ; 0x3e8 + 800057a: fbb3 f3f1 udiv r3, r3, r1 + 800057e: fbb2 f3f3 udiv r3, r2, r3 + 8000582: 4618 mov r0, r3 + 8000584: f000 f943 bl 800080e + 8000588: 4603 mov r3, r0 + 800058a: 2b00 cmp r3, #0 + 800058c: d001 beq.n 8000592 { return HAL_ERROR; - 800057e: 2301 movs r3, #1 - 8000580: e00e b.n 80005a0 + 800058e: 2301 movs r3, #1 + 8000590: e00e b.n 80005b0 } /* Configure the SysTick IRQ priority */ if (TickPriority < (1UL << __NVIC_PRIO_BITS)) - 8000582: 687b ldr r3, [r7, #4] - 8000584: 2b0f cmp r3, #15 - 8000586: d80a bhi.n 800059e + 8000592: 687b ldr r3, [r7, #4] + 8000594: 2b0f cmp r3, #15 + 8000596: d80a bhi.n 80005ae { HAL_NVIC_SetPriority(SysTick_IRQn, TickPriority, 0U); - 8000588: 2200 movs r2, #0 - 800058a: 6879 ldr r1, [r7, #4] - 800058c: f04f 30ff mov.w r0, #4294967295 ; 0xffffffff - 8000590: f000 f90b bl 80007aa + 8000598: 2200 movs r2, #0 + 800059a: 6879 ldr r1, [r7, #4] + 800059c: f04f 30ff mov.w r0, #4294967295 ; 0xffffffff + 80005a0: f000 f90b bl 80007ba uwTickPrio = TickPriority; - 8000594: 4a06 ldr r2, [pc, #24] ; (80005b0 ) - 8000596: 687b ldr r3, [r7, #4] - 8000598: 6013 str r3, [r2, #0] + 80005a4: 4a06 ldr r2, [pc, #24] ; (80005c0 ) + 80005a6: 687b ldr r3, [r7, #4] + 80005a8: 6013 str r3, [r2, #0] { return HAL_ERROR; } /* Return function status */ return HAL_OK; - 800059a: 2300 movs r3, #0 - 800059c: e000 b.n 80005a0 + 80005aa: 2300 movs r3, #0 + 80005ac: e000 b.n 80005b0 return HAL_ERROR; - 800059e: 2301 movs r3, #1 + 80005ae: 2301 movs r3, #1 } - 80005a0: 4618 mov r0, r3 - 80005a2: 3708 adds r7, #8 - 80005a4: 46bd mov sp, r7 - 80005a6: bd80 pop {r7, pc} - 80005a8: 20000008 .word 0x20000008 - 80005ac: 20000004 .word 0x20000004 - 80005b0: 20000000 .word 0x20000000 - -080005b4 : + 80005b0: 4618 mov r0, r3 + 80005b2: 3708 adds r7, #8 + 80005b4: 46bd mov sp, r7 + 80005b6: bd80 pop {r7, pc} + 80005b8: 20000018 .word 0x20000018 + 80005bc: 20000004 .word 0x20000004 + 80005c0: 20000000 .word 0x20000000 + +080005c4 : * @note This function is declared as __weak to be overwritten in case of other * implementations in user file. * @retval None */ __weak void HAL_IncTick(void) { - 80005b4: b480 push {r7} - 80005b6: af00 add r7, sp, #0 + 80005c4: b480 push {r7} + 80005c6: af00 add r7, sp, #0 uwTick += uwTickFreq; - 80005b8: 4b06 ldr r3, [pc, #24] ; (80005d4 ) - 80005ba: 781b ldrb r3, [r3, #0] - 80005bc: 461a mov r2, r3 - 80005be: 4b06 ldr r3, [pc, #24] ; (80005d8 ) - 80005c0: 681b ldr r3, [r3, #0] - 80005c2: 4413 add r3, r2 - 80005c4: 4a04 ldr r2, [pc, #16] ; (80005d8 ) - 80005c6: 6013 str r3, [r2, #0] -} - 80005c8: bf00 nop - 80005ca: 46bd mov sp, r7 - 80005cc: f85d 7b04 ldr.w r7, [sp], #4 - 80005d0: 4770 bx lr - 80005d2: bf00 nop - 80005d4: 20000004 .word 0x20000004 - 80005d8: 200002b0 .word 0x200002b0 - -080005dc : + 80005c8: 4b06 ldr r3, [pc, #24] ; (80005e4 ) + 80005ca: 781b ldrb r3, [r3, #0] + 80005cc: 461a mov r2, r3 + 80005ce: 4b06 ldr r3, [pc, #24] ; (80005e8 ) + 80005d0: 681b ldr r3, [r3, #0] + 80005d2: 4413 add r3, r2 + 80005d4: 4a04 ldr r2, [pc, #16] ; (80005e8 ) + 80005d6: 6013 str r3, [r2, #0] +} + 80005d8: bf00 nop + 80005da: 46bd mov sp, r7 + 80005dc: f85d 7b04 ldr.w r7, [sp], #4 + 80005e0: 4770 bx lr + 80005e2: bf00 nop + 80005e4: 20000004 .word 0x20000004 + 80005e8: 20000eb4 .word 0x20000eb4 + +080005ec : * @note This function is declared as __weak to be overwritten in case of other * implementations in user file. * @retval tick value */ __weak uint32_t HAL_GetTick(void) { - 80005dc: b480 push {r7} - 80005de: af00 add r7, sp, #0 + 80005ec: b480 push {r7} + 80005ee: af00 add r7, sp, #0 return uwTick; - 80005e0: 4b03 ldr r3, [pc, #12] ; (80005f0 ) - 80005e2: 681b ldr r3, [r3, #0] + 80005f0: 4b03 ldr r3, [pc, #12] ; (8000600 ) + 80005f2: 681b ldr r3, [r3, #0] } - 80005e4: 4618 mov r0, r3 - 80005e6: 46bd mov sp, r7 - 80005e8: f85d 7b04 ldr.w r7, [sp], #4 - 80005ec: 4770 bx lr - 80005ee: bf00 nop - 80005f0: 200002b0 .word 0x200002b0 - -080005f4 <__NVIC_SetPriorityGrouping>: + 80005f4: 4618 mov r0, r3 + 80005f6: 46bd mov sp, r7 + 80005f8: f85d 7b04 ldr.w r7, [sp], #4 + 80005fc: 4770 bx lr + 80005fe: bf00 nop + 8000600: 20000eb4 .word 0x20000eb4 + +08000604 <__NVIC_SetPriorityGrouping>: In case of a conflict between priority grouping and available priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set. \param [in] PriorityGroup Priority grouping field. */ __STATIC_INLINE void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup) { - 80005f4: b480 push {r7} - 80005f6: b085 sub sp, #20 - 80005f8: af00 add r7, sp, #0 - 80005fa: 6078 str r0, [r7, #4] + 8000604: b480 push {r7} + 8000606: b085 sub sp, #20 + 8000608: af00 add r7, sp, #0 + 800060a: 6078 str r0, [r7, #4] uint32_t reg_value; uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ - 80005fc: 687b ldr r3, [r7, #4] - 80005fe: f003 0307 and.w r3, r3, #7 - 8000602: 60fb str r3, [r7, #12] + 800060c: 687b ldr r3, [r7, #4] + 800060e: f003 0307 and.w r3, r3, #7 + 8000612: 60fb str r3, [r7, #12] reg_value = SCB->AIRCR; /* read old register configuration */ - 8000604: 4b0b ldr r3, [pc, #44] ; (8000634 <__NVIC_SetPriorityGrouping+0x40>) - 8000606: 68db ldr r3, [r3, #12] - 8000608: 60bb str r3, [r7, #8] + 8000614: 4b0b ldr r3, [pc, #44] ; (8000644 <__NVIC_SetPriorityGrouping+0x40>) + 8000616: 68db ldr r3, [r3, #12] + 8000618: 60bb str r3, [r7, #8] reg_value &= ~((uint32_t)(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk)); /* clear bits to change */ - 800060a: 68ba ldr r2, [r7, #8] - 800060c: f64f 03ff movw r3, #63743 ; 0xf8ff - 8000610: 4013 ands r3, r2 - 8000612: 60bb str r3, [r7, #8] + 800061a: 68ba ldr r2, [r7, #8] + 800061c: f64f 03ff movw r3, #63743 ; 0xf8ff + 8000620: 4013 ands r3, r2 + 8000622: 60bb str r3, [r7, #8] reg_value = (reg_value | ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | (PriorityGroupTmp << SCB_AIRCR_PRIGROUP_Pos) ); /* Insert write key and priority group */ - 8000614: 68fb ldr r3, [r7, #12] - 8000616: 021a lsls r2, r3, #8 + 8000624: 68fb ldr r3, [r7, #12] + 8000626: 021a lsls r2, r3, #8 ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | - 8000618: 68bb ldr r3, [r7, #8] - 800061a: 431a orrs r2, r3 + 8000628: 68bb ldr r3, [r7, #8] + 800062a: 431a orrs r2, r3 reg_value = (reg_value | - 800061c: 4b06 ldr r3, [pc, #24] ; (8000638 <__NVIC_SetPriorityGrouping+0x44>) - 800061e: 4313 orrs r3, r2 - 8000620: 60bb str r3, [r7, #8] + 800062c: 4b06 ldr r3, [pc, #24] ; (8000648 <__NVIC_SetPriorityGrouping+0x44>) + 800062e: 4313 orrs r3, r2 + 8000630: 60bb str r3, [r7, #8] SCB->AIRCR = reg_value; - 8000622: 4a04 ldr r2, [pc, #16] ; (8000634 <__NVIC_SetPriorityGrouping+0x40>) - 8000624: 68bb ldr r3, [r7, #8] - 8000626: 60d3 str r3, [r2, #12] -} - 8000628: bf00 nop - 800062a: 3714 adds r7, #20 - 800062c: 46bd mov sp, r7 - 800062e: f85d 7b04 ldr.w r7, [sp], #4 - 8000632: 4770 bx lr - 8000634: e000ed00 .word 0xe000ed00 - 8000638: 05fa0000 .word 0x05fa0000 - -0800063c <__NVIC_GetPriorityGrouping>: + 8000632: 4a04 ldr r2, [pc, #16] ; (8000644 <__NVIC_SetPriorityGrouping+0x40>) + 8000634: 68bb ldr r3, [r7, #8] + 8000636: 60d3 str r3, [r2, #12] +} + 8000638: bf00 nop + 800063a: 3714 adds r7, #20 + 800063c: 46bd mov sp, r7 + 800063e: f85d 7b04 ldr.w r7, [sp], #4 + 8000642: 4770 bx lr + 8000644: e000ed00 .word 0xe000ed00 + 8000648: 05fa0000 .word 0x05fa0000 + +0800064c <__NVIC_GetPriorityGrouping>: \brief Get Priority Grouping \details Reads the priority grouping field from the NVIC Interrupt Controller. \return Priority grouping field (SCB->AIRCR [10:8] PRIGROUP field). */ __STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping(void) { - 800063c: b480 push {r7} - 800063e: af00 add r7, sp, #0 + 800064c: b480 push {r7} + 800064e: af00 add r7, sp, #0 return ((uint32_t)((SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos)); - 8000640: 4b04 ldr r3, [pc, #16] ; (8000654 <__NVIC_GetPriorityGrouping+0x18>) - 8000642: 68db ldr r3, [r3, #12] - 8000644: 0a1b lsrs r3, r3, #8 - 8000646: f003 0307 and.w r3, r3, #7 -} - 800064a: 4618 mov r0, r3 - 800064c: 46bd mov sp, r7 - 800064e: f85d 7b04 ldr.w r7, [sp], #4 - 8000652: 4770 bx lr - 8000654: e000ed00 .word 0xe000ed00 - -08000658 <__NVIC_EnableIRQ>: + 8000650: 4b04 ldr r3, [pc, #16] ; (8000664 <__NVIC_GetPriorityGrouping+0x18>) + 8000652: 68db ldr r3, [r3, #12] + 8000654: 0a1b lsrs r3, r3, #8 + 8000656: f003 0307 and.w r3, r3, #7 +} + 800065a: 4618 mov r0, r3 + 800065c: 46bd mov sp, r7 + 800065e: f85d 7b04 ldr.w r7, [sp], #4 + 8000662: 4770 bx lr + 8000664: e000ed00 .word 0xe000ed00 + +08000668 <__NVIC_EnableIRQ>: \details Enables a device specific interrupt in the NVIC interrupt controller. \param [in] IRQn Device specific interrupt number. \note IRQn must not be negative. */ __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn) { - 8000658: b480 push {r7} - 800065a: b083 sub sp, #12 - 800065c: af00 add r7, sp, #0 - 800065e: 4603 mov r3, r0 - 8000660: 71fb strb r3, [r7, #7] + 8000668: b480 push {r7} + 800066a: b083 sub sp, #12 + 800066c: af00 add r7, sp, #0 + 800066e: 4603 mov r3, r0 + 8000670: 71fb strb r3, [r7, #7] if ((int32_t)(IRQn) >= 0) - 8000662: f997 3007 ldrsb.w r3, [r7, #7] - 8000666: 2b00 cmp r3, #0 - 8000668: db0b blt.n 8000682 <__NVIC_EnableIRQ+0x2a> + 8000672: f997 3007 ldrsb.w r3, [r7, #7] + 8000676: 2b00 cmp r3, #0 + 8000678: db0b blt.n 8000692 <__NVIC_EnableIRQ+0x2a> { NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); - 800066a: 79fb ldrb r3, [r7, #7] - 800066c: f003 021f and.w r2, r3, #31 - 8000670: 4907 ldr r1, [pc, #28] ; (8000690 <__NVIC_EnableIRQ+0x38>) - 8000672: f997 3007 ldrsb.w r3, [r7, #7] - 8000676: 095b lsrs r3, r3, #5 - 8000678: 2001 movs r0, #1 - 800067a: fa00 f202 lsl.w r2, r0, r2 - 800067e: f841 2023 str.w r2, [r1, r3, lsl #2] + 800067a: 79fb ldrb r3, [r7, #7] + 800067c: f003 021f and.w r2, r3, #31 + 8000680: 4907 ldr r1, [pc, #28] ; (80006a0 <__NVIC_EnableIRQ+0x38>) + 8000682: f997 3007 ldrsb.w r3, [r7, #7] + 8000686: 095b lsrs r3, r3, #5 + 8000688: 2001 movs r0, #1 + 800068a: fa00 f202 lsl.w r2, r0, r2 + 800068e: f841 2023 str.w r2, [r1, r3, lsl #2] } } - 8000682: bf00 nop - 8000684: 370c adds r7, #12 - 8000686: 46bd mov sp, r7 - 8000688: f85d 7b04 ldr.w r7, [sp], #4 - 800068c: 4770 bx lr - 800068e: bf00 nop - 8000690: e000e100 .word 0xe000e100 - -08000694 <__NVIC_SetPriority>: + 8000692: bf00 nop + 8000694: 370c adds r7, #12 + 8000696: 46bd mov sp, r7 + 8000698: f85d 7b04 ldr.w r7, [sp], #4 + 800069c: 4770 bx lr + 800069e: bf00 nop + 80006a0: e000e100 .word 0xe000e100 + +080006a4 <__NVIC_SetPriority>: \param [in] IRQn Interrupt number. \param [in] priority Priority to set. \note The priority cannot be set for every processor exception. */ __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority) { - 8000694: b480 push {r7} - 8000696: b083 sub sp, #12 - 8000698: af00 add r7, sp, #0 - 800069a: 4603 mov r3, r0 - 800069c: 6039 str r1, [r7, #0] - 800069e: 71fb strb r3, [r7, #7] + 80006a4: b480 push {r7} + 80006a6: b083 sub sp, #12 + 80006a8: af00 add r7, sp, #0 + 80006aa: 4603 mov r3, r0 + 80006ac: 6039 str r1, [r7, #0] + 80006ae: 71fb strb r3, [r7, #7] if ((int32_t)(IRQn) >= 0) - 80006a0: f997 3007 ldrsb.w r3, [r7, #7] - 80006a4: 2b00 cmp r3, #0 - 80006a6: db0a blt.n 80006be <__NVIC_SetPriority+0x2a> + 80006b0: f997 3007 ldrsb.w r3, [r7, #7] + 80006b4: 2b00 cmp r3, #0 + 80006b6: db0a blt.n 80006ce <__NVIC_SetPriority+0x2a> { NVIC->IP[((uint32_t)IRQn)] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); - 80006a8: 683b ldr r3, [r7, #0] - 80006aa: b2da uxtb r2, r3 - 80006ac: 490c ldr r1, [pc, #48] ; (80006e0 <__NVIC_SetPriority+0x4c>) - 80006ae: f997 3007 ldrsb.w r3, [r7, #7] - 80006b2: 0112 lsls r2, r2, #4 - 80006b4: b2d2 uxtb r2, r2 - 80006b6: 440b add r3, r1 - 80006b8: f883 2300 strb.w r2, [r3, #768] ; 0x300 + 80006b8: 683b ldr r3, [r7, #0] + 80006ba: b2da uxtb r2, r3 + 80006bc: 490c ldr r1, [pc, #48] ; (80006f0 <__NVIC_SetPriority+0x4c>) + 80006be: f997 3007 ldrsb.w r3, [r7, #7] + 80006c2: 0112 lsls r2, r2, #4 + 80006c4: b2d2 uxtb r2, r2 + 80006c6: 440b add r3, r1 + 80006c8: f883 2300 strb.w r2, [r3, #768] ; 0x300 } else { SCB->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); } } - 80006bc: e00a b.n 80006d4 <__NVIC_SetPriority+0x40> + 80006cc: e00a b.n 80006e4 <__NVIC_SetPriority+0x40> SCB->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); - 80006be: 683b ldr r3, [r7, #0] - 80006c0: b2da uxtb r2, r3 - 80006c2: 4908 ldr r1, [pc, #32] ; (80006e4 <__NVIC_SetPriority+0x50>) - 80006c4: 79fb ldrb r3, [r7, #7] - 80006c6: f003 030f and.w r3, r3, #15 - 80006ca: 3b04 subs r3, #4 - 80006cc: 0112 lsls r2, r2, #4 - 80006ce: b2d2 uxtb r2, r2 - 80006d0: 440b add r3, r1 - 80006d2: 761a strb r2, [r3, #24] -} - 80006d4: bf00 nop - 80006d6: 370c adds r7, #12 - 80006d8: 46bd mov sp, r7 - 80006da: f85d 7b04 ldr.w r7, [sp], #4 - 80006de: 4770 bx lr - 80006e0: e000e100 .word 0xe000e100 - 80006e4: e000ed00 .word 0xe000ed00 - -080006e8 : + 80006ce: 683b ldr r3, [r7, #0] + 80006d0: b2da uxtb r2, r3 + 80006d2: 4908 ldr r1, [pc, #32] ; (80006f4 <__NVIC_SetPriority+0x50>) + 80006d4: 79fb ldrb r3, [r7, #7] + 80006d6: f003 030f and.w r3, r3, #15 + 80006da: 3b04 subs r3, #4 + 80006dc: 0112 lsls r2, r2, #4 + 80006de: b2d2 uxtb r2, r2 + 80006e0: 440b add r3, r1 + 80006e2: 761a strb r2, [r3, #24] +} + 80006e4: bf00 nop + 80006e6: 370c adds r7, #12 + 80006e8: 46bd mov sp, r7 + 80006ea: f85d 7b04 ldr.w r7, [sp], #4 + 80006ee: 4770 bx lr + 80006f0: e000e100 .word 0xe000e100 + 80006f4: e000ed00 .word 0xe000ed00 + +080006f8 : \param [in] PreemptPriority Preemptive priority value (starting from 0). \param [in] SubPriority Subpriority value (starting from 0). \return Encoded priority. Value can be used in the function \ref NVIC_SetPriority(). */ __STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority) { - 80006e8: b480 push {r7} - 80006ea: b089 sub sp, #36 ; 0x24 - 80006ec: af00 add r7, sp, #0 - 80006ee: 60f8 str r0, [r7, #12] - 80006f0: 60b9 str r1, [r7, #8] - 80006f2: 607a str r2, [r7, #4] + 80006f8: b480 push {r7} + 80006fa: b089 sub sp, #36 ; 0x24 + 80006fc: af00 add r7, sp, #0 + 80006fe: 60f8 str r0, [r7, #12] + 8000700: 60b9 str r1, [r7, #8] + 8000702: 607a str r2, [r7, #4] uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ - 80006f4: 68fb ldr r3, [r7, #12] - 80006f6: f003 0307 and.w r3, r3, #7 - 80006fa: 61fb str r3, [r7, #28] + 8000704: 68fb ldr r3, [r7, #12] + 8000706: f003 0307 and.w r3, r3, #7 + 800070a: 61fb str r3, [r7, #28] uint32_t PreemptPriorityBits; uint32_t SubPriorityBits; PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); - 80006fc: 69fb ldr r3, [r7, #28] - 80006fe: f1c3 0307 rsb r3, r3, #7 - 8000702: 2b04 cmp r3, #4 - 8000704: bf28 it cs - 8000706: 2304 movcs r3, #4 - 8000708: 61bb str r3, [r7, #24] + 800070c: 69fb ldr r3, [r7, #28] + 800070e: f1c3 0307 rsb r3, r3, #7 + 8000712: 2b04 cmp r3, #4 + 8000714: bf28 it cs + 8000716: 2304 movcs r3, #4 + 8000718: 61bb str r3, [r7, #24] SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS)); - 800070a: 69fb ldr r3, [r7, #28] - 800070c: 3304 adds r3, #4 - 800070e: 2b06 cmp r3, #6 - 8000710: d902 bls.n 8000718 - 8000712: 69fb ldr r3, [r7, #28] - 8000714: 3b03 subs r3, #3 - 8000716: e000 b.n 800071a - 8000718: 2300 movs r3, #0 - 800071a: 617b str r3, [r7, #20] + 800071a: 69fb ldr r3, [r7, #28] + 800071c: 3304 adds r3, #4 + 800071e: 2b06 cmp r3, #6 + 8000720: d902 bls.n 8000728 + 8000722: 69fb ldr r3, [r7, #28] + 8000724: 3b03 subs r3, #3 + 8000726: e000 b.n 800072a + 8000728: 2300 movs r3, #0 + 800072a: 617b str r3, [r7, #20] return ( ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | - 800071c: f04f 32ff mov.w r2, #4294967295 ; 0xffffffff - 8000720: 69bb ldr r3, [r7, #24] - 8000722: fa02 f303 lsl.w r3, r2, r3 - 8000726: 43da mvns r2, r3 - 8000728: 68bb ldr r3, [r7, #8] - 800072a: 401a ands r2, r3 - 800072c: 697b ldr r3, [r7, #20] - 800072e: 409a lsls r2, r3 + 800072c: f04f 32ff mov.w r2, #4294967295 ; 0xffffffff + 8000730: 69bb ldr r3, [r7, #24] + 8000732: fa02 f303 lsl.w r3, r2, r3 + 8000736: 43da mvns r2, r3 + 8000738: 68bb ldr r3, [r7, #8] + 800073a: 401a ands r2, r3 + 800073c: 697b ldr r3, [r7, #20] + 800073e: 409a lsls r2, r3 ((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL))) - 8000730: f04f 31ff mov.w r1, #4294967295 ; 0xffffffff - 8000734: 697b ldr r3, [r7, #20] - 8000736: fa01 f303 lsl.w r3, r1, r3 - 800073a: 43d9 mvns r1, r3 - 800073c: 687b ldr r3, [r7, #4] - 800073e: 400b ands r3, r1 + 8000740: f04f 31ff mov.w r1, #4294967295 ; 0xffffffff + 8000744: 697b ldr r3, [r7, #20] + 8000746: fa01 f303 lsl.w r3, r1, r3 + 800074a: 43d9 mvns r1, r3 + 800074c: 687b ldr r3, [r7, #4] + 800074e: 400b ands r3, r1 ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | - 8000740: 4313 orrs r3, r2 + 8000750: 4313 orrs r3, r2 ); } - 8000742: 4618 mov r0, r3 - 8000744: 3724 adds r7, #36 ; 0x24 - 8000746: 46bd mov sp, r7 - 8000748: f85d 7b04 ldr.w r7, [sp], #4 - 800074c: 4770 bx lr + 8000752: 4618 mov r0, r3 + 8000754: 3724 adds r7, #36 ; 0x24 + 8000756: 46bd mov sp, r7 + 8000758: f85d 7b04 ldr.w r7, [sp], #4 + 800075c: 4770 bx lr ... -08000750 : +08000760 : \note When the variable __Vendor_SysTickConfig is set to 1, then the function SysTick_Config is not included. In this case, the file device.h must contain a vendor-specific implementation of this function. */ __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks) { - 8000750: b580 push {r7, lr} - 8000752: b082 sub sp, #8 - 8000754: af00 add r7, sp, #0 - 8000756: 6078 str r0, [r7, #4] + 8000760: b580 push {r7, lr} + 8000762: b082 sub sp, #8 + 8000764: af00 add r7, sp, #0 + 8000766: 6078 str r0, [r7, #4] if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk) - 8000758: 687b ldr r3, [r7, #4] - 800075a: 3b01 subs r3, #1 - 800075c: f1b3 7f80 cmp.w r3, #16777216 ; 0x1000000 - 8000760: d301 bcc.n 8000766 + 8000768: 687b ldr r3, [r7, #4] + 800076a: 3b01 subs r3, #1 + 800076c: f1b3 7f80 cmp.w r3, #16777216 ; 0x1000000 + 8000770: d301 bcc.n 8000776 { return (1UL); /* Reload value impossible */ - 8000762: 2301 movs r3, #1 - 8000764: e00f b.n 8000786 + 8000772: 2301 movs r3, #1 + 8000774: e00f b.n 8000796 } SysTick->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */ - 8000766: 4a0a ldr r2, [pc, #40] ; (8000790 ) - 8000768: 687b ldr r3, [r7, #4] - 800076a: 3b01 subs r3, #1 - 800076c: 6053 str r3, [r2, #4] + 8000776: 4a0a ldr r2, [pc, #40] ; (80007a0 ) + 8000778: 687b ldr r3, [r7, #4] + 800077a: 3b01 subs r3, #1 + 800077c: 6053 str r3, [r2, #4] NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */ - 800076e: 210f movs r1, #15 - 8000770: f04f 30ff mov.w r0, #4294967295 ; 0xffffffff - 8000774: f7ff ff8e bl 8000694 <__NVIC_SetPriority> + 800077e: 210f movs r1, #15 + 8000780: f04f 30ff mov.w r0, #4294967295 ; 0xffffffff + 8000784: f7ff ff8e bl 80006a4 <__NVIC_SetPriority> SysTick->VAL = 0UL; /* Load the SysTick Counter Value */ - 8000778: 4b05 ldr r3, [pc, #20] ; (8000790 ) - 800077a: 2200 movs r2, #0 - 800077c: 609a str r2, [r3, #8] + 8000788: 4b05 ldr r3, [pc, #20] ; (80007a0 ) + 800078a: 2200 movs r2, #0 + 800078c: 609a str r2, [r3, #8] SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | - 800077e: 4b04 ldr r3, [pc, #16] ; (8000790 ) - 8000780: 2207 movs r2, #7 - 8000782: 601a str r2, [r3, #0] + 800078e: 4b04 ldr r3, [pc, #16] ; (80007a0 ) + 8000790: 2207 movs r2, #7 + 8000792: 601a str r2, [r3, #0] SysTick_CTRL_TICKINT_Msk | SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */ return (0UL); /* Function successful */ - 8000784: 2300 movs r3, #0 + 8000794: 2300 movs r3, #0 } - 8000786: 4618 mov r0, r3 - 8000788: 3708 adds r7, #8 - 800078a: 46bd mov sp, r7 - 800078c: bd80 pop {r7, pc} - 800078e: bf00 nop - 8000790: e000e010 .word 0xe000e010 - -08000794 : + 8000796: 4618 mov r0, r3 + 8000798: 3708 adds r7, #8 + 800079a: 46bd mov sp, r7 + 800079c: bd80 pop {r7, pc} + 800079e: bf00 nop + 80007a0: e000e010 .word 0xe000e010 + +080007a4 : * @note When the NVIC_PriorityGroup_0 is selected, IRQ preemption is no more possible. * The pending IRQ priority will be managed only by the subpriority. * @retval None */ void HAL_NVIC_SetPriorityGrouping(uint32_t PriorityGroup) { - 8000794: b580 push {r7, lr} - 8000796: b082 sub sp, #8 - 8000798: af00 add r7, sp, #0 - 800079a: 6078 str r0, [r7, #4] + 80007a4: b580 push {r7, lr} + 80007a6: b082 sub sp, #8 + 80007a8: af00 add r7, sp, #0 + 80007aa: 6078 str r0, [r7, #4] /* Check the parameters */ assert_param(IS_NVIC_PRIORITY_GROUP(PriorityGroup)); /* Set the PRIGROUP[10:8] bits according to the PriorityGroup parameter value */ NVIC_SetPriorityGrouping(PriorityGroup); - 800079c: 6878 ldr r0, [r7, #4] - 800079e: f7ff ff29 bl 80005f4 <__NVIC_SetPriorityGrouping> + 80007ac: 6878 ldr r0, [r7, #4] + 80007ae: f7ff ff29 bl 8000604 <__NVIC_SetPriorityGrouping> } - 80007a2: bf00 nop - 80007a4: 3708 adds r7, #8 - 80007a6: 46bd mov sp, r7 - 80007a8: bd80 pop {r7, pc} + 80007b2: bf00 nop + 80007b4: 3708 adds r7, #8 + 80007b6: 46bd mov sp, r7 + 80007b8: bd80 pop {r7, pc} -080007aa : +080007ba : * This parameter can be a value between 0 and 15 * A lower priority value indicates a higher priority. * @retval None */ void HAL_NVIC_SetPriority(IRQn_Type IRQn, uint32_t PreemptPriority, uint32_t SubPriority) { - 80007aa: b580 push {r7, lr} - 80007ac: b086 sub sp, #24 - 80007ae: af00 add r7, sp, #0 - 80007b0: 4603 mov r3, r0 - 80007b2: 60b9 str r1, [r7, #8] - 80007b4: 607a str r2, [r7, #4] - 80007b6: 73fb strb r3, [r7, #15] + 80007ba: b580 push {r7, lr} + 80007bc: b086 sub sp, #24 + 80007be: af00 add r7, sp, #0 + 80007c0: 4603 mov r3, r0 + 80007c2: 60b9 str r1, [r7, #8] + 80007c4: 607a str r2, [r7, #4] + 80007c6: 73fb strb r3, [r7, #15] uint32_t prioritygroup = 0x00; - 80007b8: 2300 movs r3, #0 - 80007ba: 617b str r3, [r7, #20] + 80007c8: 2300 movs r3, #0 + 80007ca: 617b str r3, [r7, #20] /* Check the parameters */ assert_param(IS_NVIC_SUB_PRIORITY(SubPriority)); assert_param(IS_NVIC_PREEMPTION_PRIORITY(PreemptPriority)); prioritygroup = NVIC_GetPriorityGrouping(); - 80007bc: f7ff ff3e bl 800063c <__NVIC_GetPriorityGrouping> - 80007c0: 6178 str r0, [r7, #20] + 80007cc: f7ff ff3e bl 800064c <__NVIC_GetPriorityGrouping> + 80007d0: 6178 str r0, [r7, #20] NVIC_SetPriority(IRQn, NVIC_EncodePriority(prioritygroup, PreemptPriority, SubPriority)); - 80007c2: 687a ldr r2, [r7, #4] - 80007c4: 68b9 ldr r1, [r7, #8] - 80007c6: 6978 ldr r0, [r7, #20] - 80007c8: f7ff ff8e bl 80006e8 - 80007cc: 4602 mov r2, r0 - 80007ce: f997 300f ldrsb.w r3, [r7, #15] - 80007d2: 4611 mov r1, r2 - 80007d4: 4618 mov r0, r3 - 80007d6: f7ff ff5d bl 8000694 <__NVIC_SetPriority> -} - 80007da: bf00 nop - 80007dc: 3718 adds r7, #24 - 80007de: 46bd mov sp, r7 - 80007e0: bd80 pop {r7, pc} - -080007e2 : + 80007d2: 687a ldr r2, [r7, #4] + 80007d4: 68b9 ldr r1, [r7, #8] + 80007d6: 6978 ldr r0, [r7, #20] + 80007d8: f7ff ff8e bl 80006f8 + 80007dc: 4602 mov r2, r0 + 80007de: f997 300f ldrsb.w r3, [r7, #15] + 80007e2: 4611 mov r1, r2 + 80007e4: 4618 mov r0, r3 + 80007e6: f7ff ff5d bl 80006a4 <__NVIC_SetPriority> +} + 80007ea: bf00 nop + 80007ec: 3718 adds r7, #24 + 80007ee: 46bd mov sp, r7 + 80007f0: bd80 pop {r7, pc} + +080007f2 : * This parameter can be an enumerator of IRQn_Type enumeration * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSIS device file (stm32f7xxxx.h)) * @retval None */ void HAL_NVIC_EnableIRQ(IRQn_Type IRQn) { - 80007e2: b580 push {r7, lr} - 80007e4: b082 sub sp, #8 - 80007e6: af00 add r7, sp, #0 - 80007e8: 4603 mov r3, r0 - 80007ea: 71fb strb r3, [r7, #7] + 80007f2: b580 push {r7, lr} + 80007f4: b082 sub sp, #8 + 80007f6: af00 add r7, sp, #0 + 80007f8: 4603 mov r3, r0 + 80007fa: 71fb strb r3, [r7, #7] /* Check the parameters */ assert_param(IS_NVIC_DEVICE_IRQ(IRQn)); /* Enable interrupt */ NVIC_EnableIRQ(IRQn); - 80007ec: f997 3007 ldrsb.w r3, [r7, #7] - 80007f0: 4618 mov r0, r3 - 80007f2: f7ff ff31 bl 8000658 <__NVIC_EnableIRQ> + 80007fc: f997 3007 ldrsb.w r3, [r7, #7] + 8000800: 4618 mov r0, r3 + 8000802: f7ff ff31 bl 8000668 <__NVIC_EnableIRQ> } - 80007f6: bf00 nop - 80007f8: 3708 adds r7, #8 - 80007fa: 46bd mov sp, r7 - 80007fc: bd80 pop {r7, pc} + 8000806: bf00 nop + 8000808: 3708 adds r7, #8 + 800080a: 46bd mov sp, r7 + 800080c: bd80 pop {r7, pc} -080007fe : +0800080e : * @param TicksNumb Specifies the ticks Number of ticks between two interrupts. * @retval status: - 0 Function succeeded. * - 1 Function failed. */ uint32_t HAL_SYSTICK_Config(uint32_t TicksNumb) { - 80007fe: b580 push {r7, lr} - 8000800: b082 sub sp, #8 - 8000802: af00 add r7, sp, #0 - 8000804: 6078 str r0, [r7, #4] + 800080e: b580 push {r7, lr} + 8000810: b082 sub sp, #8 + 8000812: af00 add r7, sp, #0 + 8000814: 6078 str r0, [r7, #4] return SysTick_Config(TicksNumb); - 8000806: 6878 ldr r0, [r7, #4] - 8000808: f7ff ffa2 bl 8000750 - 800080c: 4603 mov r3, r0 -} - 800080e: 4618 mov r0, r3 - 8000810: 3708 adds r7, #8 - 8000812: 46bd mov sp, r7 - 8000814: bd80 pop {r7, pc} + 8000816: 6878 ldr r0, [r7, #4] + 8000818: f7ff ffa2 bl 8000760 + 800081c: 4603 mov r3, r0 +} + 800081e: 4618 mov r0, r3 + 8000820: 3708 adds r7, #8 + 8000822: 46bd mov sp, r7 + 8000824: bd80 pop {r7, pc} ... -08000818 : +08000828 : * @param hdma Pointer to a DMA_HandleTypeDef structure that contains * the configuration information for the specified DMA Stream. * @retval HAL status */ HAL_StatusTypeDef HAL_DMA_Init(DMA_HandleTypeDef *hdma) { - 8000818: b580 push {r7, lr} - 800081a: b086 sub sp, #24 - 800081c: af00 add r7, sp, #0 - 800081e: 6078 str r0, [r7, #4] + 8000828: b580 push {r7, lr} + 800082a: b086 sub sp, #24 + 800082c: af00 add r7, sp, #0 + 800082e: 6078 str r0, [r7, #4] uint32_t tmp = 0U; - 8000820: 2300 movs r3, #0 - 8000822: 617b str r3, [r7, #20] + 8000830: 2300 movs r3, #0 + 8000832: 617b str r3, [r7, #20] uint32_t tickstart = HAL_GetTick(); - 8000824: f7ff feda bl 80005dc - 8000828: 6138 str r0, [r7, #16] + 8000834: f7ff feda bl 80005ec + 8000838: 6138 str r0, [r7, #16] DMA_Base_Registers *regs; /* Check the DMA peripheral state */ if(hdma == NULL) - 800082a: 687b ldr r3, [r7, #4] - 800082c: 2b00 cmp r3, #0 - 800082e: d101 bne.n 8000834 + 800083a: 687b ldr r3, [r7, #4] + 800083c: 2b00 cmp r3, #0 + 800083e: d101 bne.n 8000844 { return HAL_ERROR; - 8000830: 2301 movs r3, #1 - 8000832: e099 b.n 8000968 + 8000840: 2301 movs r3, #1 + 8000842: e099 b.n 8000978 assert_param(IS_DMA_MEMORY_BURST(hdma->Init.MemBurst)); assert_param(IS_DMA_PERIPHERAL_BURST(hdma->Init.PeriphBurst)); } /* Allocate lock resource */ __HAL_UNLOCK(hdma); - 8000834: 687b ldr r3, [r7, #4] - 8000836: 2200 movs r2, #0 - 8000838: f883 2034 strb.w r2, [r3, #52] ; 0x34 + 8000844: 687b ldr r3, [r7, #4] + 8000846: 2200 movs r2, #0 + 8000848: f883 2034 strb.w r2, [r3, #52] ; 0x34 /* Change DMA peripheral state */ hdma->State = HAL_DMA_STATE_BUSY; - 800083c: 687b ldr r3, [r7, #4] - 800083e: 2202 movs r2, #2 - 8000840: f883 2035 strb.w r2, [r3, #53] ; 0x35 + 800084c: 687b ldr r3, [r7, #4] + 800084e: 2202 movs r2, #2 + 8000850: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Disable the peripheral */ __HAL_DMA_DISABLE(hdma); - 8000844: 687b ldr r3, [r7, #4] - 8000846: 681b ldr r3, [r3, #0] - 8000848: 681a ldr r2, [r3, #0] - 800084a: 687b ldr r3, [r7, #4] - 800084c: 681b ldr r3, [r3, #0] - 800084e: f022 0201 bic.w r2, r2, #1 - 8000852: 601a str r2, [r3, #0] + 8000854: 687b ldr r3, [r7, #4] + 8000856: 681b ldr r3, [r3, #0] + 8000858: 681a ldr r2, [r3, #0] + 800085a: 687b ldr r3, [r7, #4] + 800085c: 681b ldr r3, [r3, #0] + 800085e: f022 0201 bic.w r2, r2, #1 + 8000862: 601a str r2, [r3, #0] /* Check if the DMA Stream is effectively disabled */ while((hdma->Instance->CR & DMA_SxCR_EN) != RESET) - 8000854: e00f b.n 8000876 + 8000864: e00f b.n 8000886 { /* Check for the Timeout */ if((HAL_GetTick() - tickstart ) > HAL_TIMEOUT_DMA_ABORT) - 8000856: f7ff fec1 bl 80005dc - 800085a: 4602 mov r2, r0 - 800085c: 693b ldr r3, [r7, #16] - 800085e: 1ad3 subs r3, r2, r3 - 8000860: 2b05 cmp r3, #5 - 8000862: d908 bls.n 8000876 + 8000866: f7ff fec1 bl 80005ec + 800086a: 4602 mov r2, r0 + 800086c: 693b ldr r3, [r7, #16] + 800086e: 1ad3 subs r3, r2, r3 + 8000870: 2b05 cmp r3, #5 + 8000872: d908 bls.n 8000886 { /* Update error code */ hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT; - 8000864: 687b ldr r3, [r7, #4] - 8000866: 2220 movs r2, #32 - 8000868: 655a str r2, [r3, #84] ; 0x54 + 8000874: 687b ldr r3, [r7, #4] + 8000876: 2220 movs r2, #32 + 8000878: 655a str r2, [r3, #84] ; 0x54 /* Change the DMA state */ hdma->State = HAL_DMA_STATE_TIMEOUT; - 800086a: 687b ldr r3, [r7, #4] - 800086c: 2203 movs r2, #3 - 800086e: f883 2035 strb.w r2, [r3, #53] ; 0x35 + 800087a: 687b ldr r3, [r7, #4] + 800087c: 2203 movs r2, #3 + 800087e: f883 2035 strb.w r2, [r3, #53] ; 0x35 return HAL_TIMEOUT; - 8000872: 2303 movs r3, #3 - 8000874: e078 b.n 8000968 + 8000882: 2303 movs r3, #3 + 8000884: e078 b.n 8000978 while((hdma->Instance->CR & DMA_SxCR_EN) != RESET) - 8000876: 687b ldr r3, [r7, #4] - 8000878: 681b ldr r3, [r3, #0] - 800087a: 681b ldr r3, [r3, #0] - 800087c: f003 0301 and.w r3, r3, #1 - 8000880: 2b00 cmp r3, #0 - 8000882: d1e8 bne.n 8000856 + 8000886: 687b ldr r3, [r7, #4] + 8000888: 681b ldr r3, [r3, #0] + 800088a: 681b ldr r3, [r3, #0] + 800088c: f003 0301 and.w r3, r3, #1 + 8000890: 2b00 cmp r3, #0 + 8000892: d1e8 bne.n 8000866 } } /* Get the CR register value */ tmp = hdma->Instance->CR; - 8000884: 687b ldr r3, [r7, #4] - 8000886: 681b ldr r3, [r3, #0] - 8000888: 681b ldr r3, [r3, #0] - 800088a: 617b str r3, [r7, #20] + 8000894: 687b ldr r3, [r7, #4] + 8000896: 681b ldr r3, [r3, #0] + 8000898: 681b ldr r3, [r3, #0] + 800089a: 617b str r3, [r7, #20] /* Clear CHSEL, MBURST, PBURST, PL, MSIZE, PSIZE, MINC, PINC, CIRC, DIR, CT and DBM bits */ tmp &= ((uint32_t)~(DMA_SxCR_CHSEL | DMA_SxCR_MBURST | DMA_SxCR_PBURST | \ - 800088c: 697a ldr r2, [r7, #20] - 800088e: 4b38 ldr r3, [pc, #224] ; (8000970 ) - 8000890: 4013 ands r3, r2 - 8000892: 617b str r3, [r7, #20] + 800089c: 697a ldr r2, [r7, #20] + 800089e: 4b38 ldr r3, [pc, #224] ; (8000980 ) + 80008a0: 4013 ands r3, r2 + 80008a2: 617b str r3, [r7, #20] DMA_SxCR_PL | DMA_SxCR_MSIZE | DMA_SxCR_PSIZE | \ DMA_SxCR_MINC | DMA_SxCR_PINC | DMA_SxCR_CIRC | \ DMA_SxCR_DIR | DMA_SxCR_CT | DMA_SxCR_DBM)); /* Prepare the DMA Stream configuration */ tmp |= hdma->Init.Channel | hdma->Init.Direction | - 8000894: 687b ldr r3, [r7, #4] - 8000896: 685a ldr r2, [r3, #4] - 8000898: 687b ldr r3, [r7, #4] - 800089a: 689b ldr r3, [r3, #8] - 800089c: 431a orrs r2, r3 + 80008a4: 687b ldr r3, [r7, #4] + 80008a6: 685a ldr r2, [r3, #4] + 80008a8: 687b ldr r3, [r7, #4] + 80008aa: 689b ldr r3, [r3, #8] + 80008ac: 431a orrs r2, r3 hdma->Init.PeriphInc | hdma->Init.MemInc | - 800089e: 687b ldr r3, [r7, #4] - 80008a0: 68db ldr r3, [r3, #12] + 80008ae: 687b ldr r3, [r7, #4] + 80008b0: 68db ldr r3, [r3, #12] tmp |= hdma->Init.Channel | hdma->Init.Direction | - 80008a2: 431a orrs r2, r3 + 80008b2: 431a orrs r2, r3 hdma->Init.PeriphInc | hdma->Init.MemInc | - 80008a4: 687b ldr r3, [r7, #4] - 80008a6: 691b ldr r3, [r3, #16] - 80008a8: 431a orrs r2, r3 + 80008b4: 687b ldr r3, [r7, #4] + 80008b6: 691b ldr r3, [r3, #16] + 80008b8: 431a orrs r2, r3 hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment | - 80008aa: 687b ldr r3, [r7, #4] - 80008ac: 695b ldr r3, [r3, #20] + 80008ba: 687b ldr r3, [r7, #4] + 80008bc: 695b ldr r3, [r3, #20] hdma->Init.PeriphInc | hdma->Init.MemInc | - 80008ae: 431a orrs r2, r3 + 80008be: 431a orrs r2, r3 hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment | - 80008b0: 687b ldr r3, [r7, #4] - 80008b2: 699b ldr r3, [r3, #24] - 80008b4: 431a orrs r2, r3 + 80008c0: 687b ldr r3, [r7, #4] + 80008c2: 699b ldr r3, [r3, #24] + 80008c4: 431a orrs r2, r3 hdma->Init.Mode | hdma->Init.Priority; - 80008b6: 687b ldr r3, [r7, #4] - 80008b8: 69db ldr r3, [r3, #28] + 80008c6: 687b ldr r3, [r7, #4] + 80008c8: 69db ldr r3, [r3, #28] hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment | - 80008ba: 431a orrs r2, r3 + 80008ca: 431a orrs r2, r3 hdma->Init.Mode | hdma->Init.Priority; - 80008bc: 687b ldr r3, [r7, #4] - 80008be: 6a1b ldr r3, [r3, #32] - 80008c0: 4313 orrs r3, r2 + 80008cc: 687b ldr r3, [r7, #4] + 80008ce: 6a1b ldr r3, [r3, #32] + 80008d0: 4313 orrs r3, r2 tmp |= hdma->Init.Channel | hdma->Init.Direction | - 80008c2: 697a ldr r2, [r7, #20] - 80008c4: 4313 orrs r3, r2 - 80008c6: 617b str r3, [r7, #20] + 80008d2: 697a ldr r2, [r7, #20] + 80008d4: 4313 orrs r3, r2 + 80008d6: 617b str r3, [r7, #20] /* the Memory burst and peripheral burst are not used when the FIFO is disabled */ if(hdma->Init.FIFOMode == DMA_FIFOMODE_ENABLE) - 80008c8: 687b ldr r3, [r7, #4] - 80008ca: 6a5b ldr r3, [r3, #36] ; 0x24 - 80008cc: 2b04 cmp r3, #4 - 80008ce: d107 bne.n 80008e0 + 80008d8: 687b ldr r3, [r7, #4] + 80008da: 6a5b ldr r3, [r3, #36] ; 0x24 + 80008dc: 2b04 cmp r3, #4 + 80008de: d107 bne.n 80008f0 { /* Get memory burst and peripheral burst */ tmp |= hdma->Init.MemBurst | hdma->Init.PeriphBurst; - 80008d0: 687b ldr r3, [r7, #4] - 80008d2: 6ada ldr r2, [r3, #44] ; 0x2c - 80008d4: 687b ldr r3, [r7, #4] - 80008d6: 6b1b ldr r3, [r3, #48] ; 0x30 - 80008d8: 4313 orrs r3, r2 - 80008da: 697a ldr r2, [r7, #20] - 80008dc: 4313 orrs r3, r2 - 80008de: 617b str r3, [r7, #20] + 80008e0: 687b ldr r3, [r7, #4] + 80008e2: 6ada ldr r2, [r3, #44] ; 0x2c + 80008e4: 687b ldr r3, [r7, #4] + 80008e6: 6b1b ldr r3, [r3, #48] ; 0x30 + 80008e8: 4313 orrs r3, r2 + 80008ea: 697a ldr r2, [r7, #20] + 80008ec: 4313 orrs r3, r2 + 80008ee: 617b str r3, [r7, #20] } /* Write to DMA Stream CR register */ hdma->Instance->CR = tmp; - 80008e0: 687b ldr r3, [r7, #4] - 80008e2: 681b ldr r3, [r3, #0] - 80008e4: 697a ldr r2, [r7, #20] - 80008e6: 601a str r2, [r3, #0] + 80008f0: 687b ldr r3, [r7, #4] + 80008f2: 681b ldr r3, [r3, #0] + 80008f4: 697a ldr r2, [r7, #20] + 80008f6: 601a str r2, [r3, #0] /* Get the FCR register value */ tmp = hdma->Instance->FCR; - 80008e8: 687b ldr r3, [r7, #4] - 80008ea: 681b ldr r3, [r3, #0] - 80008ec: 695b ldr r3, [r3, #20] - 80008ee: 617b str r3, [r7, #20] + 80008f8: 687b ldr r3, [r7, #4] + 80008fa: 681b ldr r3, [r3, #0] + 80008fc: 695b ldr r3, [r3, #20] + 80008fe: 617b str r3, [r7, #20] /* Clear Direct mode and FIFO threshold bits */ tmp &= (uint32_t)~(DMA_SxFCR_DMDIS | DMA_SxFCR_FTH); - 80008f0: 697b ldr r3, [r7, #20] - 80008f2: f023 0307 bic.w r3, r3, #7 - 80008f6: 617b str r3, [r7, #20] + 8000900: 697b ldr r3, [r7, #20] + 8000902: f023 0307 bic.w r3, r3, #7 + 8000906: 617b str r3, [r7, #20] /* Prepare the DMA Stream FIFO configuration */ tmp |= hdma->Init.FIFOMode; - 80008f8: 687b ldr r3, [r7, #4] - 80008fa: 6a5b ldr r3, [r3, #36] ; 0x24 - 80008fc: 697a ldr r2, [r7, #20] - 80008fe: 4313 orrs r3, r2 - 8000900: 617b str r3, [r7, #20] + 8000908: 687b ldr r3, [r7, #4] + 800090a: 6a5b ldr r3, [r3, #36] ; 0x24 + 800090c: 697a ldr r2, [r7, #20] + 800090e: 4313 orrs r3, r2 + 8000910: 617b str r3, [r7, #20] /* The FIFO threshold is not used when the FIFO mode is disabled */ if(hdma->Init.FIFOMode == DMA_FIFOMODE_ENABLE) - 8000902: 687b ldr r3, [r7, #4] - 8000904: 6a5b ldr r3, [r3, #36] ; 0x24 - 8000906: 2b04 cmp r3, #4 - 8000908: d117 bne.n 800093a + 8000912: 687b ldr r3, [r7, #4] + 8000914: 6a5b ldr r3, [r3, #36] ; 0x24 + 8000916: 2b04 cmp r3, #4 + 8000918: d117 bne.n 800094a { /* Get the FIFO threshold */ tmp |= hdma->Init.FIFOThreshold; - 800090a: 687b ldr r3, [r7, #4] - 800090c: 6a9b ldr r3, [r3, #40] ; 0x28 - 800090e: 697a ldr r2, [r7, #20] - 8000910: 4313 orrs r3, r2 - 8000912: 617b str r3, [r7, #20] + 800091a: 687b ldr r3, [r7, #4] + 800091c: 6a9b ldr r3, [r3, #40] ; 0x28 + 800091e: 697a ldr r2, [r7, #20] + 8000920: 4313 orrs r3, r2 + 8000922: 617b str r3, [r7, #20] /* Check compatibility between FIFO threshold level and size of the memory burst */ /* for INCR4, INCR8, INCR16 bursts */ if (hdma->Init.MemBurst != DMA_MBURST_SINGLE) - 8000914: 687b ldr r3, [r7, #4] - 8000916: 6adb ldr r3, [r3, #44] ; 0x2c - 8000918: 2b00 cmp r3, #0 - 800091a: d00e beq.n 800093a + 8000924: 687b ldr r3, [r7, #4] + 8000926: 6adb ldr r3, [r3, #44] ; 0x2c + 8000928: 2b00 cmp r3, #0 + 800092a: d00e beq.n 800094a { if (DMA_CheckFifoParam(hdma) != HAL_OK) - 800091c: 6878 ldr r0, [r7, #4] - 800091e: f000 fa0b bl 8000d38 - 8000922: 4603 mov r3, r0 - 8000924: 2b00 cmp r3, #0 - 8000926: d008 beq.n 800093a + 800092c: 6878 ldr r0, [r7, #4] + 800092e: f000 fa99 bl 8000e64 + 8000932: 4603 mov r3, r0 + 8000934: 2b00 cmp r3, #0 + 8000936: d008 beq.n 800094a { /* Update error code */ hdma->ErrorCode = HAL_DMA_ERROR_PARAM; - 8000928: 687b ldr r3, [r7, #4] - 800092a: 2240 movs r2, #64 ; 0x40 - 800092c: 655a str r2, [r3, #84] ; 0x54 + 8000938: 687b ldr r3, [r7, #4] + 800093a: 2240 movs r2, #64 ; 0x40 + 800093c: 655a str r2, [r3, #84] ; 0x54 /* Change the DMA state */ hdma->State = HAL_DMA_STATE_READY; - 800092e: 687b ldr r3, [r7, #4] - 8000930: 2201 movs r2, #1 - 8000932: f883 2035 strb.w r2, [r3, #53] ; 0x35 + 800093e: 687b ldr r3, [r7, #4] + 8000940: 2201 movs r2, #1 + 8000942: f883 2035 strb.w r2, [r3, #53] ; 0x35 return HAL_ERROR; - 8000936: 2301 movs r3, #1 - 8000938: e016 b.n 8000968 + 8000946: 2301 movs r3, #1 + 8000948: e016 b.n 8000978 } } } /* Write to DMA Stream FCR */ hdma->Instance->FCR = tmp; - 800093a: 687b ldr r3, [r7, #4] - 800093c: 681b ldr r3, [r3, #0] - 800093e: 697a ldr r2, [r7, #20] - 8000940: 615a str r2, [r3, #20] + 800094a: 687b ldr r3, [r7, #4] + 800094c: 681b ldr r3, [r3, #0] + 800094e: 697a ldr r2, [r7, #20] + 8000950: 615a str r2, [r3, #20] /* Initialize StreamBaseAddress and StreamIndex parameters to be used to calculate DMA steam Base Address needed by HAL_DMA_IRQHandler() and HAL_DMA_PollForTransfer() */ regs = (DMA_Base_Registers *)DMA_CalcBaseAndBitshift(hdma); - 8000942: 6878 ldr r0, [r7, #4] - 8000944: f000 f9c2 bl 8000ccc - 8000948: 4603 mov r3, r0 - 800094a: 60fb str r3, [r7, #12] + 8000952: 6878 ldr r0, [r7, #4] + 8000954: f000 fa50 bl 8000df8 + 8000958: 4603 mov r3, r0 + 800095a: 60fb str r3, [r7, #12] /* Clear all interrupt flags */ regs->IFCR = 0x3FU << hdma->StreamIndex; - 800094c: 687b ldr r3, [r7, #4] - 800094e: 6ddb ldr r3, [r3, #92] ; 0x5c - 8000950: 223f movs r2, #63 ; 0x3f - 8000952: 409a lsls r2, r3 - 8000954: 68fb ldr r3, [r7, #12] - 8000956: 609a str r2, [r3, #8] + 800095c: 687b ldr r3, [r7, #4] + 800095e: 6ddb ldr r3, [r3, #92] ; 0x5c + 8000960: 223f movs r2, #63 ; 0x3f + 8000962: 409a lsls r2, r3 + 8000964: 68fb ldr r3, [r7, #12] + 8000966: 609a str r2, [r3, #8] /* Initialize the error code */ hdma->ErrorCode = HAL_DMA_ERROR_NONE; - 8000958: 687b ldr r3, [r7, #4] - 800095a: 2200 movs r2, #0 - 800095c: 655a str r2, [r3, #84] ; 0x54 + 8000968: 687b ldr r3, [r7, #4] + 800096a: 2200 movs r2, #0 + 800096c: 655a str r2, [r3, #84] ; 0x54 /* Initialize the DMA state */ hdma->State = HAL_DMA_STATE_READY; - 800095e: 687b ldr r3, [r7, #4] - 8000960: 2201 movs r2, #1 - 8000962: f883 2035 strb.w r2, [r3, #53] ; 0x35 + 800096e: 687b ldr r3, [r7, #4] + 8000970: 2201 movs r2, #1 + 8000972: f883 2035 strb.w r2, [r3, #53] ; 0x35 return HAL_OK; - 8000966: 2300 movs r3, #0 + 8000976: 2300 movs r3, #0 } - 8000968: 4618 mov r0, r3 - 800096a: 3718 adds r7, #24 - 800096c: 46bd mov sp, r7 - 800096e: bd80 pop {r7, pc} - 8000970: e010803f .word 0xe010803f + 8000978: 4618 mov r0, r3 + 800097a: 3718 adds r7, #24 + 800097c: 46bd mov sp, r7 + 800097e: bd80 pop {r7, pc} + 8000980: e010803f .word 0xe010803f + +08000984 : + * @param DstAddress The destination memory Buffer address + * @param DataLength The length of data to be transferred from source to destination + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMA_Start_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t DataLength) +{ + 8000984: b580 push {r7, lr} + 8000986: b086 sub sp, #24 + 8000988: af00 add r7, sp, #0 + 800098a: 60f8 str r0, [r7, #12] + 800098c: 60b9 str r1, [r7, #8] + 800098e: 607a str r2, [r7, #4] + 8000990: 603b str r3, [r7, #0] + HAL_StatusTypeDef status = HAL_OK; + 8000992: 2300 movs r3, #0 + 8000994: 75fb strb r3, [r7, #23] + + /* calculate DMA base and stream number */ + DMA_Base_Registers *regs = (DMA_Base_Registers *)hdma->StreamBaseAddress; + 8000996: 68fb ldr r3, [r7, #12] + 8000998: 6d9b ldr r3, [r3, #88] ; 0x58 + 800099a: 613b str r3, [r7, #16] + + /* Check the parameters */ + assert_param(IS_DMA_BUFFER_SIZE(DataLength)); + + /* Process locked */ + __HAL_LOCK(hdma); + 800099c: 68fb ldr r3, [r7, #12] + 800099e: f893 3034 ldrb.w r3, [r3, #52] ; 0x34 + 80009a2: 2b01 cmp r3, #1 + 80009a4: d101 bne.n 80009aa + 80009a6: 2302 movs r3, #2 + 80009a8: e048 b.n 8000a3c + 80009aa: 68fb ldr r3, [r7, #12] + 80009ac: 2201 movs r2, #1 + 80009ae: f883 2034 strb.w r2, [r3, #52] ; 0x34 + + if(HAL_DMA_STATE_READY == hdma->State) + 80009b2: 68fb ldr r3, [r7, #12] + 80009b4: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 + 80009b8: b2db uxtb r3, r3 + 80009ba: 2b01 cmp r3, #1 + 80009bc: d137 bne.n 8000a2e + { + /* Change DMA peripheral state */ + hdma->State = HAL_DMA_STATE_BUSY; + 80009be: 68fb ldr r3, [r7, #12] + 80009c0: 2202 movs r2, #2 + 80009c2: f883 2035 strb.w r2, [r3, #53] ; 0x35 + + /* Initialize the error code */ + hdma->ErrorCode = HAL_DMA_ERROR_NONE; + 80009c6: 68fb ldr r3, [r7, #12] + 80009c8: 2200 movs r2, #0 + 80009ca: 655a str r2, [r3, #84] ; 0x54 + + /* Configure the source, destination address and the data length */ + DMA_SetConfig(hdma, SrcAddress, DstAddress, DataLength); + 80009cc: 683b ldr r3, [r7, #0] + 80009ce: 687a ldr r2, [r7, #4] + 80009d0: 68b9 ldr r1, [r7, #8] + 80009d2: 68f8 ldr r0, [r7, #12] + 80009d4: f000 f9e2 bl 8000d9c + + /* Clear all interrupt flags at correct offset within the register */ + regs->IFCR = 0x3FU << hdma->StreamIndex; + 80009d8: 68fb ldr r3, [r7, #12] + 80009da: 6ddb ldr r3, [r3, #92] ; 0x5c + 80009dc: 223f movs r2, #63 ; 0x3f + 80009de: 409a lsls r2, r3 + 80009e0: 693b ldr r3, [r7, #16] + 80009e2: 609a str r2, [r3, #8] + + /* Enable Common interrupts*/ + hdma->Instance->CR |= DMA_IT_TC | DMA_IT_TE | DMA_IT_DME; + 80009e4: 68fb ldr r3, [r7, #12] + 80009e6: 681b ldr r3, [r3, #0] + 80009e8: 681a ldr r2, [r3, #0] + 80009ea: 68fb ldr r3, [r7, #12] + 80009ec: 681b ldr r3, [r3, #0] + 80009ee: f042 0216 orr.w r2, r2, #22 + 80009f2: 601a str r2, [r3, #0] + hdma->Instance->FCR |= DMA_IT_FE; + 80009f4: 68fb ldr r3, [r7, #12] + 80009f6: 681b ldr r3, [r3, #0] + 80009f8: 695a ldr r2, [r3, #20] + 80009fa: 68fb ldr r3, [r7, #12] + 80009fc: 681b ldr r3, [r3, #0] + 80009fe: f042 0280 orr.w r2, r2, #128 ; 0x80 + 8000a02: 615a str r2, [r3, #20] + + if(hdma->XferHalfCpltCallback != NULL) + 8000a04: 68fb ldr r3, [r7, #12] + 8000a06: 6c1b ldr r3, [r3, #64] ; 0x40 + 8000a08: 2b00 cmp r3, #0 + 8000a0a: d007 beq.n 8000a1c + { + hdma->Instance->CR |= DMA_IT_HT; + 8000a0c: 68fb ldr r3, [r7, #12] + 8000a0e: 681b ldr r3, [r3, #0] + 8000a10: 681a ldr r2, [r3, #0] + 8000a12: 68fb ldr r3, [r7, #12] + 8000a14: 681b ldr r3, [r3, #0] + 8000a16: f042 0208 orr.w r2, r2, #8 + 8000a1a: 601a str r2, [r3, #0] + } + + /* Enable the Peripheral */ + __HAL_DMA_ENABLE(hdma); + 8000a1c: 68fb ldr r3, [r7, #12] + 8000a1e: 681b ldr r3, [r3, #0] + 8000a20: 681a ldr r2, [r3, #0] + 8000a22: 68fb ldr r3, [r7, #12] + 8000a24: 681b ldr r3, [r3, #0] + 8000a26: f042 0201 orr.w r2, r2, #1 + 8000a2a: 601a str r2, [r3, #0] + 8000a2c: e005 b.n 8000a3a + } + else + { + /* Process unlocked */ + __HAL_UNLOCK(hdma); + 8000a2e: 68fb ldr r3, [r7, #12] + 8000a30: 2200 movs r2, #0 + 8000a32: f883 2034 strb.w r2, [r3, #52] ; 0x34 + + /* Return error status */ + status = HAL_BUSY; + 8000a36: 2302 movs r3, #2 + 8000a38: 75fb strb r3, [r7, #23] + } + + return status; + 8000a3a: 7dfb ldrb r3, [r7, #23] +} + 8000a3c: 4618 mov r0, r3 + 8000a3e: 3718 adds r7, #24 + 8000a40: 46bd mov sp, r7 + 8000a42: bd80 pop {r7, pc} -08000974 : +08000a44 : * @param hdma pointer to a DMA_HandleTypeDef structure that contains * the configuration information for the specified DMA Stream. * @retval HAL status */ HAL_StatusTypeDef HAL_DMA_Abort_IT(DMA_HandleTypeDef *hdma) { - 8000974: b480 push {r7} - 8000976: b083 sub sp, #12 - 8000978: af00 add r7, sp, #0 - 800097a: 6078 str r0, [r7, #4] + 8000a44: b480 push {r7} + 8000a46: b083 sub sp, #12 + 8000a48: af00 add r7, sp, #0 + 8000a4a: 6078 str r0, [r7, #4] if(hdma->State != HAL_DMA_STATE_BUSY) - 800097c: 687b ldr r3, [r7, #4] - 800097e: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 - 8000982: b2db uxtb r3, r3 - 8000984: 2b02 cmp r3, #2 - 8000986: d004 beq.n 8000992 + 8000a4c: 687b ldr r3, [r7, #4] + 8000a4e: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 + 8000a52: b2db uxtb r3, r3 + 8000a54: 2b02 cmp r3, #2 + 8000a56: d004 beq.n 8000a62 { hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER; - 8000988: 687b ldr r3, [r7, #4] - 800098a: 2280 movs r2, #128 ; 0x80 - 800098c: 655a str r2, [r3, #84] ; 0x54 + 8000a58: 687b ldr r3, [r7, #4] + 8000a5a: 2280 movs r2, #128 ; 0x80 + 8000a5c: 655a str r2, [r3, #84] ; 0x54 return HAL_ERROR; - 800098e: 2301 movs r3, #1 - 8000990: e00c b.n 80009ac + 8000a5e: 2301 movs r3, #1 + 8000a60: e00c b.n 8000a7c } else { /* Set Abort State */ hdma->State = HAL_DMA_STATE_ABORT; - 8000992: 687b ldr r3, [r7, #4] - 8000994: 2205 movs r2, #5 - 8000996: f883 2035 strb.w r2, [r3, #53] ; 0x35 + 8000a62: 687b ldr r3, [r7, #4] + 8000a64: 2205 movs r2, #5 + 8000a66: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Disable the stream */ __HAL_DMA_DISABLE(hdma); - 800099a: 687b ldr r3, [r7, #4] - 800099c: 681b ldr r3, [r3, #0] - 800099e: 681a ldr r2, [r3, #0] - 80009a0: 687b ldr r3, [r7, #4] - 80009a2: 681b ldr r3, [r3, #0] - 80009a4: f022 0201 bic.w r2, r2, #1 - 80009a8: 601a str r2, [r3, #0] + 8000a6a: 687b ldr r3, [r7, #4] + 8000a6c: 681b ldr r3, [r3, #0] + 8000a6e: 681a ldr r2, [r3, #0] + 8000a70: 687b ldr r3, [r7, #4] + 8000a72: 681b ldr r3, [r3, #0] + 8000a74: f022 0201 bic.w r2, r2, #1 + 8000a78: 601a str r2, [r3, #0] } return HAL_OK; - 80009aa: 2300 movs r3, #0 + 8000a7a: 2300 movs r3, #0 } - 80009ac: 4618 mov r0, r3 - 80009ae: 370c adds r7, #12 - 80009b0: 46bd mov sp, r7 - 80009b2: f85d 7b04 ldr.w r7, [sp], #4 - 80009b6: 4770 bx lr + 8000a7c: 4618 mov r0, r3 + 8000a7e: 370c adds r7, #12 + 8000a80: 46bd mov sp, r7 + 8000a82: f85d 7b04 ldr.w r7, [sp], #4 + 8000a86: 4770 bx lr -080009b8 : +08000a88 : * @param hdma pointer to a DMA_HandleTypeDef structure that contains * the configuration information for the specified DMA Stream. * @retval None */ void HAL_DMA_IRQHandler(DMA_HandleTypeDef *hdma) { - 80009b8: b580 push {r7, lr} - 80009ba: b086 sub sp, #24 - 80009bc: af00 add r7, sp, #0 - 80009be: 6078 str r0, [r7, #4] + 8000a88: b580 push {r7, lr} + 8000a8a: b086 sub sp, #24 + 8000a8c: af00 add r7, sp, #0 + 8000a8e: 6078 str r0, [r7, #4] uint32_t tmpisr; __IO uint32_t count = 0; - 80009c0: 2300 movs r3, #0 - 80009c2: 60bb str r3, [r7, #8] + 8000a90: 2300 movs r3, #0 + 8000a92: 60bb str r3, [r7, #8] uint32_t timeout = SystemCoreClock / 9600; - 80009c4: 4b92 ldr r3, [pc, #584] ; (8000c10 ) - 80009c6: 681b ldr r3, [r3, #0] - 80009c8: 4a92 ldr r2, [pc, #584] ; (8000c14 ) - 80009ca: fba2 2303 umull r2, r3, r2, r3 - 80009ce: 0a9b lsrs r3, r3, #10 - 80009d0: 617b str r3, [r7, #20] + 8000a94: 4b92 ldr r3, [pc, #584] ; (8000ce0 ) + 8000a96: 681b ldr r3, [r3, #0] + 8000a98: 4a92 ldr r2, [pc, #584] ; (8000ce4 ) + 8000a9a: fba2 2303 umull r2, r3, r2, r3 + 8000a9e: 0a9b lsrs r3, r3, #10 + 8000aa0: 617b str r3, [r7, #20] /* calculate DMA base and stream number */ DMA_Base_Registers *regs = (DMA_Base_Registers *)hdma->StreamBaseAddress; - 80009d2: 687b ldr r3, [r7, #4] - 80009d4: 6d9b ldr r3, [r3, #88] ; 0x58 - 80009d6: 613b str r3, [r7, #16] + 8000aa2: 687b ldr r3, [r7, #4] + 8000aa4: 6d9b ldr r3, [r3, #88] ; 0x58 + 8000aa6: 613b str r3, [r7, #16] tmpisr = regs->ISR; - 80009d8: 693b ldr r3, [r7, #16] - 80009da: 681b ldr r3, [r3, #0] - 80009dc: 60fb str r3, [r7, #12] + 8000aa8: 693b ldr r3, [r7, #16] + 8000aaa: 681b ldr r3, [r3, #0] + 8000aac: 60fb str r3, [r7, #12] /* Transfer Error Interrupt management ***************************************/ if ((tmpisr & (DMA_FLAG_TEIF0_4 << hdma->StreamIndex)) != RESET) - 80009de: 687b ldr r3, [r7, #4] - 80009e0: 6ddb ldr r3, [r3, #92] ; 0x5c - 80009e2: 2208 movs r2, #8 - 80009e4: 409a lsls r2, r3 - 80009e6: 68fb ldr r3, [r7, #12] - 80009e8: 4013 ands r3, r2 - 80009ea: 2b00 cmp r3, #0 - 80009ec: d01a beq.n 8000a24 + 8000aae: 687b ldr r3, [r7, #4] + 8000ab0: 6ddb ldr r3, [r3, #92] ; 0x5c + 8000ab2: 2208 movs r2, #8 + 8000ab4: 409a lsls r2, r3 + 8000ab6: 68fb ldr r3, [r7, #12] + 8000ab8: 4013 ands r3, r2 + 8000aba: 2b00 cmp r3, #0 + 8000abc: d01a beq.n 8000af4 { if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_TE) != RESET) - 80009ee: 687b ldr r3, [r7, #4] - 80009f0: 681b ldr r3, [r3, #0] - 80009f2: 681b ldr r3, [r3, #0] - 80009f4: f003 0304 and.w r3, r3, #4 - 80009f8: 2b00 cmp r3, #0 - 80009fa: d013 beq.n 8000a24 + 8000abe: 687b ldr r3, [r7, #4] + 8000ac0: 681b ldr r3, [r3, #0] + 8000ac2: 681b ldr r3, [r3, #0] + 8000ac4: f003 0304 and.w r3, r3, #4 + 8000ac8: 2b00 cmp r3, #0 + 8000aca: d013 beq.n 8000af4 { /* Disable the transfer error interrupt */ hdma->Instance->CR &= ~(DMA_IT_TE); - 80009fc: 687b ldr r3, [r7, #4] - 80009fe: 681b ldr r3, [r3, #0] - 8000a00: 681a ldr r2, [r3, #0] - 8000a02: 687b ldr r3, [r7, #4] - 8000a04: 681b ldr r3, [r3, #0] - 8000a06: f022 0204 bic.w r2, r2, #4 - 8000a0a: 601a str r2, [r3, #0] + 8000acc: 687b ldr r3, [r7, #4] + 8000ace: 681b ldr r3, [r3, #0] + 8000ad0: 681a ldr r2, [r3, #0] + 8000ad2: 687b ldr r3, [r7, #4] + 8000ad4: 681b ldr r3, [r3, #0] + 8000ad6: f022 0204 bic.w r2, r2, #4 + 8000ada: 601a str r2, [r3, #0] /* Clear the transfer error flag */ regs->IFCR = DMA_FLAG_TEIF0_4 << hdma->StreamIndex; - 8000a0c: 687b ldr r3, [r7, #4] - 8000a0e: 6ddb ldr r3, [r3, #92] ; 0x5c - 8000a10: 2208 movs r2, #8 - 8000a12: 409a lsls r2, r3 - 8000a14: 693b ldr r3, [r7, #16] - 8000a16: 609a str r2, [r3, #8] + 8000adc: 687b ldr r3, [r7, #4] + 8000ade: 6ddb ldr r3, [r3, #92] ; 0x5c + 8000ae0: 2208 movs r2, #8 + 8000ae2: 409a lsls r2, r3 + 8000ae4: 693b ldr r3, [r7, #16] + 8000ae6: 609a str r2, [r3, #8] /* Update error code */ hdma->ErrorCode |= HAL_DMA_ERROR_TE; - 8000a18: 687b ldr r3, [r7, #4] - 8000a1a: 6d5b ldr r3, [r3, #84] ; 0x54 - 8000a1c: f043 0201 orr.w r2, r3, #1 - 8000a20: 687b ldr r3, [r7, #4] - 8000a22: 655a str r2, [r3, #84] ; 0x54 + 8000ae8: 687b ldr r3, [r7, #4] + 8000aea: 6d5b ldr r3, [r3, #84] ; 0x54 + 8000aec: f043 0201 orr.w r2, r3, #1 + 8000af0: 687b ldr r3, [r7, #4] + 8000af2: 655a str r2, [r3, #84] ; 0x54 } } /* FIFO Error Interrupt management ******************************************/ if ((tmpisr & (DMA_FLAG_FEIF0_4 << hdma->StreamIndex)) != RESET) - 8000a24: 687b ldr r3, [r7, #4] - 8000a26: 6ddb ldr r3, [r3, #92] ; 0x5c - 8000a28: 2201 movs r2, #1 - 8000a2a: 409a lsls r2, r3 - 8000a2c: 68fb ldr r3, [r7, #12] - 8000a2e: 4013 ands r3, r2 - 8000a30: 2b00 cmp r3, #0 - 8000a32: d012 beq.n 8000a5a + 8000af4: 687b ldr r3, [r7, #4] + 8000af6: 6ddb ldr r3, [r3, #92] ; 0x5c + 8000af8: 2201 movs r2, #1 + 8000afa: 409a lsls r2, r3 + 8000afc: 68fb ldr r3, [r7, #12] + 8000afe: 4013 ands r3, r2 + 8000b00: 2b00 cmp r3, #0 + 8000b02: d012 beq.n 8000b2a { if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_FE) != RESET) - 8000a34: 687b ldr r3, [r7, #4] - 8000a36: 681b ldr r3, [r3, #0] - 8000a38: 695b ldr r3, [r3, #20] - 8000a3a: f003 0380 and.w r3, r3, #128 ; 0x80 - 8000a3e: 2b00 cmp r3, #0 - 8000a40: d00b beq.n 8000a5a + 8000b04: 687b ldr r3, [r7, #4] + 8000b06: 681b ldr r3, [r3, #0] + 8000b08: 695b ldr r3, [r3, #20] + 8000b0a: f003 0380 and.w r3, r3, #128 ; 0x80 + 8000b0e: 2b00 cmp r3, #0 + 8000b10: d00b beq.n 8000b2a { /* Clear the FIFO error flag */ regs->IFCR = DMA_FLAG_FEIF0_4 << hdma->StreamIndex; - 8000a42: 687b ldr r3, [r7, #4] - 8000a44: 6ddb ldr r3, [r3, #92] ; 0x5c - 8000a46: 2201 movs r2, #1 - 8000a48: 409a lsls r2, r3 - 8000a4a: 693b ldr r3, [r7, #16] - 8000a4c: 609a str r2, [r3, #8] + 8000b12: 687b ldr r3, [r7, #4] + 8000b14: 6ddb ldr r3, [r3, #92] ; 0x5c + 8000b16: 2201 movs r2, #1 + 8000b18: 409a lsls r2, r3 + 8000b1a: 693b ldr r3, [r7, #16] + 8000b1c: 609a str r2, [r3, #8] /* Update error code */ hdma->ErrorCode |= HAL_DMA_ERROR_FE; - 8000a4e: 687b ldr r3, [r7, #4] - 8000a50: 6d5b ldr r3, [r3, #84] ; 0x54 - 8000a52: f043 0202 orr.w r2, r3, #2 - 8000a56: 687b ldr r3, [r7, #4] - 8000a58: 655a str r2, [r3, #84] ; 0x54 + 8000b1e: 687b ldr r3, [r7, #4] + 8000b20: 6d5b ldr r3, [r3, #84] ; 0x54 + 8000b22: f043 0202 orr.w r2, r3, #2 + 8000b26: 687b ldr r3, [r7, #4] + 8000b28: 655a str r2, [r3, #84] ; 0x54 } } /* Direct Mode Error Interrupt management ***********************************/ if ((tmpisr & (DMA_FLAG_DMEIF0_4 << hdma->StreamIndex)) != RESET) - 8000a5a: 687b ldr r3, [r7, #4] - 8000a5c: 6ddb ldr r3, [r3, #92] ; 0x5c - 8000a5e: 2204 movs r2, #4 - 8000a60: 409a lsls r2, r3 - 8000a62: 68fb ldr r3, [r7, #12] - 8000a64: 4013 ands r3, r2 - 8000a66: 2b00 cmp r3, #0 - 8000a68: d012 beq.n 8000a90 + 8000b2a: 687b ldr r3, [r7, #4] + 8000b2c: 6ddb ldr r3, [r3, #92] ; 0x5c + 8000b2e: 2204 movs r2, #4 + 8000b30: 409a lsls r2, r3 + 8000b32: 68fb ldr r3, [r7, #12] + 8000b34: 4013 ands r3, r2 + 8000b36: 2b00 cmp r3, #0 + 8000b38: d012 beq.n 8000b60 { if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_DME) != RESET) - 8000a6a: 687b ldr r3, [r7, #4] - 8000a6c: 681b ldr r3, [r3, #0] - 8000a6e: 681b ldr r3, [r3, #0] - 8000a70: f003 0302 and.w r3, r3, #2 - 8000a74: 2b00 cmp r3, #0 - 8000a76: d00b beq.n 8000a90 + 8000b3a: 687b ldr r3, [r7, #4] + 8000b3c: 681b ldr r3, [r3, #0] + 8000b3e: 681b ldr r3, [r3, #0] + 8000b40: f003 0302 and.w r3, r3, #2 + 8000b44: 2b00 cmp r3, #0 + 8000b46: d00b beq.n 8000b60 { /* Clear the direct mode error flag */ regs->IFCR = DMA_FLAG_DMEIF0_4 << hdma->StreamIndex; - 8000a78: 687b ldr r3, [r7, #4] - 8000a7a: 6ddb ldr r3, [r3, #92] ; 0x5c - 8000a7c: 2204 movs r2, #4 - 8000a7e: 409a lsls r2, r3 - 8000a80: 693b ldr r3, [r7, #16] - 8000a82: 609a str r2, [r3, #8] + 8000b48: 687b ldr r3, [r7, #4] + 8000b4a: 6ddb ldr r3, [r3, #92] ; 0x5c + 8000b4c: 2204 movs r2, #4 + 8000b4e: 409a lsls r2, r3 + 8000b50: 693b ldr r3, [r7, #16] + 8000b52: 609a str r2, [r3, #8] /* Update error code */ hdma->ErrorCode |= HAL_DMA_ERROR_DME; - 8000a84: 687b ldr r3, [r7, #4] - 8000a86: 6d5b ldr r3, [r3, #84] ; 0x54 - 8000a88: f043 0204 orr.w r2, r3, #4 - 8000a8c: 687b ldr r3, [r7, #4] - 8000a8e: 655a str r2, [r3, #84] ; 0x54 + 8000b54: 687b ldr r3, [r7, #4] + 8000b56: 6d5b ldr r3, [r3, #84] ; 0x54 + 8000b58: f043 0204 orr.w r2, r3, #4 + 8000b5c: 687b ldr r3, [r7, #4] + 8000b5e: 655a str r2, [r3, #84] ; 0x54 } } /* Half Transfer Complete Interrupt management ******************************/ if ((tmpisr & (DMA_FLAG_HTIF0_4 << hdma->StreamIndex)) != RESET) - 8000a90: 687b ldr r3, [r7, #4] - 8000a92: 6ddb ldr r3, [r3, #92] ; 0x5c - 8000a94: 2210 movs r2, #16 - 8000a96: 409a lsls r2, r3 - 8000a98: 68fb ldr r3, [r7, #12] - 8000a9a: 4013 ands r3, r2 - 8000a9c: 2b00 cmp r3, #0 - 8000a9e: d043 beq.n 8000b28 + 8000b60: 687b ldr r3, [r7, #4] + 8000b62: 6ddb ldr r3, [r3, #92] ; 0x5c + 8000b64: 2210 movs r2, #16 + 8000b66: 409a lsls r2, r3 + 8000b68: 68fb ldr r3, [r7, #12] + 8000b6a: 4013 ands r3, r2 + 8000b6c: 2b00 cmp r3, #0 + 8000b6e: d043 beq.n 8000bf8 { if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_HT) != RESET) - 8000aa0: 687b ldr r3, [r7, #4] - 8000aa2: 681b ldr r3, [r3, #0] - 8000aa4: 681b ldr r3, [r3, #0] - 8000aa6: f003 0308 and.w r3, r3, #8 - 8000aaa: 2b00 cmp r3, #0 - 8000aac: d03c beq.n 8000b28 + 8000b70: 687b ldr r3, [r7, #4] + 8000b72: 681b ldr r3, [r3, #0] + 8000b74: 681b ldr r3, [r3, #0] + 8000b76: f003 0308 and.w r3, r3, #8 + 8000b7a: 2b00 cmp r3, #0 + 8000b7c: d03c beq.n 8000bf8 { /* Clear the half transfer complete flag */ regs->IFCR = DMA_FLAG_HTIF0_4 << hdma->StreamIndex; - 8000aae: 687b ldr r3, [r7, #4] - 8000ab0: 6ddb ldr r3, [r3, #92] ; 0x5c - 8000ab2: 2210 movs r2, #16 - 8000ab4: 409a lsls r2, r3 - 8000ab6: 693b ldr r3, [r7, #16] - 8000ab8: 609a str r2, [r3, #8] + 8000b7e: 687b ldr r3, [r7, #4] + 8000b80: 6ddb ldr r3, [r3, #92] ; 0x5c + 8000b82: 2210 movs r2, #16 + 8000b84: 409a lsls r2, r3 + 8000b86: 693b ldr r3, [r7, #16] + 8000b88: 609a str r2, [r3, #8] /* Multi_Buffering mode enabled */ if(((hdma->Instance->CR) & (uint32_t)(DMA_SxCR_DBM)) != RESET) - 8000aba: 687b ldr r3, [r7, #4] - 8000abc: 681b ldr r3, [r3, #0] - 8000abe: 681b ldr r3, [r3, #0] - 8000ac0: f403 2380 and.w r3, r3, #262144 ; 0x40000 - 8000ac4: 2b00 cmp r3, #0 - 8000ac6: d018 beq.n 8000afa + 8000b8a: 687b ldr r3, [r7, #4] + 8000b8c: 681b ldr r3, [r3, #0] + 8000b8e: 681b ldr r3, [r3, #0] + 8000b90: f403 2380 and.w r3, r3, #262144 ; 0x40000 + 8000b94: 2b00 cmp r3, #0 + 8000b96: d018 beq.n 8000bca { /* Current memory buffer used is Memory 0 */ if((hdma->Instance->CR & DMA_SxCR_CT) == RESET) - 8000ac8: 687b ldr r3, [r7, #4] - 8000aca: 681b ldr r3, [r3, #0] - 8000acc: 681b ldr r3, [r3, #0] - 8000ace: f403 2300 and.w r3, r3, #524288 ; 0x80000 - 8000ad2: 2b00 cmp r3, #0 - 8000ad4: d108 bne.n 8000ae8 + 8000b98: 687b ldr r3, [r7, #4] + 8000b9a: 681b ldr r3, [r3, #0] + 8000b9c: 681b ldr r3, [r3, #0] + 8000b9e: f403 2300 and.w r3, r3, #524288 ; 0x80000 + 8000ba2: 2b00 cmp r3, #0 + 8000ba4: d108 bne.n 8000bb8 { if(hdma->XferHalfCpltCallback != NULL) - 8000ad6: 687b ldr r3, [r7, #4] - 8000ad8: 6c1b ldr r3, [r3, #64] ; 0x40 - 8000ada: 2b00 cmp r3, #0 - 8000adc: d024 beq.n 8000b28 + 8000ba6: 687b ldr r3, [r7, #4] + 8000ba8: 6c1b ldr r3, [r3, #64] ; 0x40 + 8000baa: 2b00 cmp r3, #0 + 8000bac: d024 beq.n 8000bf8 { /* Half transfer callback */ hdma->XferHalfCpltCallback(hdma); - 8000ade: 687b ldr r3, [r7, #4] - 8000ae0: 6c1b ldr r3, [r3, #64] ; 0x40 - 8000ae2: 6878 ldr r0, [r7, #4] - 8000ae4: 4798 blx r3 - 8000ae6: e01f b.n 8000b28 + 8000bae: 687b ldr r3, [r7, #4] + 8000bb0: 6c1b ldr r3, [r3, #64] ; 0x40 + 8000bb2: 6878 ldr r0, [r7, #4] + 8000bb4: 4798 blx r3 + 8000bb6: e01f b.n 8000bf8 } } /* Current memory buffer used is Memory 1 */ else { if(hdma->XferM1HalfCpltCallback != NULL) - 8000ae8: 687b ldr r3, [r7, #4] - 8000aea: 6c9b ldr r3, [r3, #72] ; 0x48 - 8000aec: 2b00 cmp r3, #0 - 8000aee: d01b beq.n 8000b28 + 8000bb8: 687b ldr r3, [r7, #4] + 8000bba: 6c9b ldr r3, [r3, #72] ; 0x48 + 8000bbc: 2b00 cmp r3, #0 + 8000bbe: d01b beq.n 8000bf8 { /* Half transfer callback */ hdma->XferM1HalfCpltCallback(hdma); - 8000af0: 687b ldr r3, [r7, #4] - 8000af2: 6c9b ldr r3, [r3, #72] ; 0x48 - 8000af4: 6878 ldr r0, [r7, #4] - 8000af6: 4798 blx r3 - 8000af8: e016 b.n 8000b28 + 8000bc0: 687b ldr r3, [r7, #4] + 8000bc2: 6c9b ldr r3, [r3, #72] ; 0x48 + 8000bc4: 6878 ldr r0, [r7, #4] + 8000bc6: 4798 blx r3 + 8000bc8: e016 b.n 8000bf8 } } else { /* Disable the half transfer interrupt if the DMA mode is not CIRCULAR */ if((hdma->Instance->CR & DMA_SxCR_CIRC) == RESET) - 8000afa: 687b ldr r3, [r7, #4] - 8000afc: 681b ldr r3, [r3, #0] - 8000afe: 681b ldr r3, [r3, #0] - 8000b00: f403 7380 and.w r3, r3, #256 ; 0x100 - 8000b04: 2b00 cmp r3, #0 - 8000b06: d107 bne.n 8000b18 + 8000bca: 687b ldr r3, [r7, #4] + 8000bcc: 681b ldr r3, [r3, #0] + 8000bce: 681b ldr r3, [r3, #0] + 8000bd0: f403 7380 and.w r3, r3, #256 ; 0x100 + 8000bd4: 2b00 cmp r3, #0 + 8000bd6: d107 bne.n 8000be8 { /* Disable the half transfer interrupt */ hdma->Instance->CR &= ~(DMA_IT_HT); - 8000b08: 687b ldr r3, [r7, #4] - 8000b0a: 681b ldr r3, [r3, #0] - 8000b0c: 681a ldr r2, [r3, #0] - 8000b0e: 687b ldr r3, [r7, #4] - 8000b10: 681b ldr r3, [r3, #0] - 8000b12: f022 0208 bic.w r2, r2, #8 - 8000b16: 601a str r2, [r3, #0] + 8000bd8: 687b ldr r3, [r7, #4] + 8000bda: 681b ldr r3, [r3, #0] + 8000bdc: 681a ldr r2, [r3, #0] + 8000bde: 687b ldr r3, [r7, #4] + 8000be0: 681b ldr r3, [r3, #0] + 8000be2: f022 0208 bic.w r2, r2, #8 + 8000be6: 601a str r2, [r3, #0] } if(hdma->XferHalfCpltCallback != NULL) - 8000b18: 687b ldr r3, [r7, #4] - 8000b1a: 6c1b ldr r3, [r3, #64] ; 0x40 - 8000b1c: 2b00 cmp r3, #0 - 8000b1e: d003 beq.n 8000b28 + 8000be8: 687b ldr r3, [r7, #4] + 8000bea: 6c1b ldr r3, [r3, #64] ; 0x40 + 8000bec: 2b00 cmp r3, #0 + 8000bee: d003 beq.n 8000bf8 { /* Half transfer callback */ hdma->XferHalfCpltCallback(hdma); - 8000b20: 687b ldr r3, [r7, #4] - 8000b22: 6c1b ldr r3, [r3, #64] ; 0x40 - 8000b24: 6878 ldr r0, [r7, #4] - 8000b26: 4798 blx r3 + 8000bf0: 687b ldr r3, [r7, #4] + 8000bf2: 6c1b ldr r3, [r3, #64] ; 0x40 + 8000bf4: 6878 ldr r0, [r7, #4] + 8000bf6: 4798 blx r3 } } } } /* Transfer Complete Interrupt management ***********************************/ if ((tmpisr & (DMA_FLAG_TCIF0_4 << hdma->StreamIndex)) != RESET) - 8000b28: 687b ldr r3, [r7, #4] - 8000b2a: 6ddb ldr r3, [r3, #92] ; 0x5c - 8000b2c: 2220 movs r2, #32 - 8000b2e: 409a lsls r2, r3 - 8000b30: 68fb ldr r3, [r7, #12] - 8000b32: 4013 ands r3, r2 - 8000b34: 2b00 cmp r3, #0 - 8000b36: f000 808e beq.w 8000c56 + 8000bf8: 687b ldr r3, [r7, #4] + 8000bfa: 6ddb ldr r3, [r3, #92] ; 0x5c + 8000bfc: 2220 movs r2, #32 + 8000bfe: 409a lsls r2, r3 + 8000c00: 68fb ldr r3, [r7, #12] + 8000c02: 4013 ands r3, r2 + 8000c04: 2b00 cmp r3, #0 + 8000c06: f000 808e beq.w 8000d26 { if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_TC) != RESET) - 8000b3a: 687b ldr r3, [r7, #4] - 8000b3c: 681b ldr r3, [r3, #0] - 8000b3e: 681b ldr r3, [r3, #0] - 8000b40: f003 0310 and.w r3, r3, #16 - 8000b44: 2b00 cmp r3, #0 - 8000b46: f000 8086 beq.w 8000c56 + 8000c0a: 687b ldr r3, [r7, #4] + 8000c0c: 681b ldr r3, [r3, #0] + 8000c0e: 681b ldr r3, [r3, #0] + 8000c10: f003 0310 and.w r3, r3, #16 + 8000c14: 2b00 cmp r3, #0 + 8000c16: f000 8086 beq.w 8000d26 { /* Clear the transfer complete flag */ regs->IFCR = DMA_FLAG_TCIF0_4 << hdma->StreamIndex; - 8000b4a: 687b ldr r3, [r7, #4] - 8000b4c: 6ddb ldr r3, [r3, #92] ; 0x5c - 8000b4e: 2220 movs r2, #32 - 8000b50: 409a lsls r2, r3 - 8000b52: 693b ldr r3, [r7, #16] - 8000b54: 609a str r2, [r3, #8] + 8000c1a: 687b ldr r3, [r7, #4] + 8000c1c: 6ddb ldr r3, [r3, #92] ; 0x5c + 8000c1e: 2220 movs r2, #32 + 8000c20: 409a lsls r2, r3 + 8000c22: 693b ldr r3, [r7, #16] + 8000c24: 609a str r2, [r3, #8] if(HAL_DMA_STATE_ABORT == hdma->State) - 8000b56: 687b ldr r3, [r7, #4] - 8000b58: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 - 8000b5c: b2db uxtb r3, r3 - 8000b5e: 2b05 cmp r3, #5 - 8000b60: d136 bne.n 8000bd0 + 8000c26: 687b ldr r3, [r7, #4] + 8000c28: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 + 8000c2c: b2db uxtb r3, r3 + 8000c2e: 2b05 cmp r3, #5 + 8000c30: d136 bne.n 8000ca0 { /* Disable all the transfer interrupts */ hdma->Instance->CR &= ~(DMA_IT_TC | DMA_IT_TE | DMA_IT_DME); - 8000b62: 687b ldr r3, [r7, #4] - 8000b64: 681b ldr r3, [r3, #0] - 8000b66: 681a ldr r2, [r3, #0] - 8000b68: 687b ldr r3, [r7, #4] - 8000b6a: 681b ldr r3, [r3, #0] - 8000b6c: f022 0216 bic.w r2, r2, #22 - 8000b70: 601a str r2, [r3, #0] + 8000c32: 687b ldr r3, [r7, #4] + 8000c34: 681b ldr r3, [r3, #0] + 8000c36: 681a ldr r2, [r3, #0] + 8000c38: 687b ldr r3, [r7, #4] + 8000c3a: 681b ldr r3, [r3, #0] + 8000c3c: f022 0216 bic.w r2, r2, #22 + 8000c40: 601a str r2, [r3, #0] hdma->Instance->FCR &= ~(DMA_IT_FE); - 8000b72: 687b ldr r3, [r7, #4] - 8000b74: 681b ldr r3, [r3, #0] - 8000b76: 695a ldr r2, [r3, #20] - 8000b78: 687b ldr r3, [r7, #4] - 8000b7a: 681b ldr r3, [r3, #0] - 8000b7c: f022 0280 bic.w r2, r2, #128 ; 0x80 - 8000b80: 615a str r2, [r3, #20] + 8000c42: 687b ldr r3, [r7, #4] + 8000c44: 681b ldr r3, [r3, #0] + 8000c46: 695a ldr r2, [r3, #20] + 8000c48: 687b ldr r3, [r7, #4] + 8000c4a: 681b ldr r3, [r3, #0] + 8000c4c: f022 0280 bic.w r2, r2, #128 ; 0x80 + 8000c50: 615a str r2, [r3, #20] if((hdma->XferHalfCpltCallback != NULL) || (hdma->XferM1HalfCpltCallback != NULL)) - 8000b82: 687b ldr r3, [r7, #4] - 8000b84: 6c1b ldr r3, [r3, #64] ; 0x40 - 8000b86: 2b00 cmp r3, #0 - 8000b88: d103 bne.n 8000b92 - 8000b8a: 687b ldr r3, [r7, #4] - 8000b8c: 6c9b ldr r3, [r3, #72] ; 0x48 - 8000b8e: 2b00 cmp r3, #0 - 8000b90: d007 beq.n 8000ba2 + 8000c52: 687b ldr r3, [r7, #4] + 8000c54: 6c1b ldr r3, [r3, #64] ; 0x40 + 8000c56: 2b00 cmp r3, #0 + 8000c58: d103 bne.n 8000c62 + 8000c5a: 687b ldr r3, [r7, #4] + 8000c5c: 6c9b ldr r3, [r3, #72] ; 0x48 + 8000c5e: 2b00 cmp r3, #0 + 8000c60: d007 beq.n 8000c72 { hdma->Instance->CR &= ~(DMA_IT_HT); - 8000b92: 687b ldr r3, [r7, #4] - 8000b94: 681b ldr r3, [r3, #0] - 8000b96: 681a ldr r2, [r3, #0] - 8000b98: 687b ldr r3, [r7, #4] - 8000b9a: 681b ldr r3, [r3, #0] - 8000b9c: f022 0208 bic.w r2, r2, #8 - 8000ba0: 601a str r2, [r3, #0] + 8000c62: 687b ldr r3, [r7, #4] + 8000c64: 681b ldr r3, [r3, #0] + 8000c66: 681a ldr r2, [r3, #0] + 8000c68: 687b ldr r3, [r7, #4] + 8000c6a: 681b ldr r3, [r3, #0] + 8000c6c: f022 0208 bic.w r2, r2, #8 + 8000c70: 601a str r2, [r3, #0] } /* Clear all interrupt flags at correct offset within the register */ regs->IFCR = 0x3FU << hdma->StreamIndex; - 8000ba2: 687b ldr r3, [r7, #4] - 8000ba4: 6ddb ldr r3, [r3, #92] ; 0x5c - 8000ba6: 223f movs r2, #63 ; 0x3f - 8000ba8: 409a lsls r2, r3 - 8000baa: 693b ldr r3, [r7, #16] - 8000bac: 609a str r2, [r3, #8] + 8000c72: 687b ldr r3, [r7, #4] + 8000c74: 6ddb ldr r3, [r3, #92] ; 0x5c + 8000c76: 223f movs r2, #63 ; 0x3f + 8000c78: 409a lsls r2, r3 + 8000c7a: 693b ldr r3, [r7, #16] + 8000c7c: 609a str r2, [r3, #8] /* Process Unlocked */ __HAL_UNLOCK(hdma); - 8000bae: 687b ldr r3, [r7, #4] - 8000bb0: 2200 movs r2, #0 - 8000bb2: f883 2034 strb.w r2, [r3, #52] ; 0x34 + 8000c7e: 687b ldr r3, [r7, #4] + 8000c80: 2200 movs r2, #0 + 8000c82: f883 2034 strb.w r2, [r3, #52] ; 0x34 /* Change the DMA state */ hdma->State = HAL_DMA_STATE_READY; - 8000bb6: 687b ldr r3, [r7, #4] - 8000bb8: 2201 movs r2, #1 - 8000bba: f883 2035 strb.w r2, [r3, #53] ; 0x35 + 8000c86: 687b ldr r3, [r7, #4] + 8000c88: 2201 movs r2, #1 + 8000c8a: f883 2035 strb.w r2, [r3, #53] ; 0x35 if(hdma->XferAbortCallback != NULL) - 8000bbe: 687b ldr r3, [r7, #4] - 8000bc0: 6d1b ldr r3, [r3, #80] ; 0x50 - 8000bc2: 2b00 cmp r3, #0 - 8000bc4: d07d beq.n 8000cc2 + 8000c8e: 687b ldr r3, [r7, #4] + 8000c90: 6d1b ldr r3, [r3, #80] ; 0x50 + 8000c92: 2b00 cmp r3, #0 + 8000c94: d07d beq.n 8000d92 { hdma->XferAbortCallback(hdma); - 8000bc6: 687b ldr r3, [r7, #4] - 8000bc8: 6d1b ldr r3, [r3, #80] ; 0x50 - 8000bca: 6878 ldr r0, [r7, #4] - 8000bcc: 4798 blx r3 + 8000c96: 687b ldr r3, [r7, #4] + 8000c98: 6d1b ldr r3, [r3, #80] ; 0x50 + 8000c9a: 6878 ldr r0, [r7, #4] + 8000c9c: 4798 blx r3 } return; - 8000bce: e078 b.n 8000cc2 + 8000c9e: e078 b.n 8000d92 } if(((hdma->Instance->CR) & (uint32_t)(DMA_SxCR_DBM)) != RESET) - 8000bd0: 687b ldr r3, [r7, #4] - 8000bd2: 681b ldr r3, [r3, #0] - 8000bd4: 681b ldr r3, [r3, #0] - 8000bd6: f403 2380 and.w r3, r3, #262144 ; 0x40000 - 8000bda: 2b00 cmp r3, #0 - 8000bdc: d01c beq.n 8000c18 + 8000ca0: 687b ldr r3, [r7, #4] + 8000ca2: 681b ldr r3, [r3, #0] + 8000ca4: 681b ldr r3, [r3, #0] + 8000ca6: f403 2380 and.w r3, r3, #262144 ; 0x40000 + 8000caa: 2b00 cmp r3, #0 + 8000cac: d01c beq.n 8000ce8 { /* Current memory buffer used is Memory 0 */ if((hdma->Instance->CR & DMA_SxCR_CT) == RESET) - 8000bde: 687b ldr r3, [r7, #4] - 8000be0: 681b ldr r3, [r3, #0] - 8000be2: 681b ldr r3, [r3, #0] - 8000be4: f403 2300 and.w r3, r3, #524288 ; 0x80000 - 8000be8: 2b00 cmp r3, #0 - 8000bea: d108 bne.n 8000bfe + 8000cae: 687b ldr r3, [r7, #4] + 8000cb0: 681b ldr r3, [r3, #0] + 8000cb2: 681b ldr r3, [r3, #0] + 8000cb4: f403 2300 and.w r3, r3, #524288 ; 0x80000 + 8000cb8: 2b00 cmp r3, #0 + 8000cba: d108 bne.n 8000cce { if(hdma->XferM1CpltCallback != NULL) - 8000bec: 687b ldr r3, [r7, #4] - 8000bee: 6c5b ldr r3, [r3, #68] ; 0x44 - 8000bf0: 2b00 cmp r3, #0 - 8000bf2: d030 beq.n 8000c56 + 8000cbc: 687b ldr r3, [r7, #4] + 8000cbe: 6c5b ldr r3, [r3, #68] ; 0x44 + 8000cc0: 2b00 cmp r3, #0 + 8000cc2: d030 beq.n 8000d26 { /* Transfer complete Callback for memory1 */ hdma->XferM1CpltCallback(hdma); - 8000bf4: 687b ldr r3, [r7, #4] - 8000bf6: 6c5b ldr r3, [r3, #68] ; 0x44 - 8000bf8: 6878 ldr r0, [r7, #4] - 8000bfa: 4798 blx r3 - 8000bfc: e02b b.n 8000c56 + 8000cc4: 687b ldr r3, [r7, #4] + 8000cc6: 6c5b ldr r3, [r3, #68] ; 0x44 + 8000cc8: 6878 ldr r0, [r7, #4] + 8000cca: 4798 blx r3 + 8000ccc: e02b b.n 8000d26 } } /* Current memory buffer used is Memory 1 */ else { if(hdma->XferCpltCallback != NULL) - 8000bfe: 687b ldr r3, [r7, #4] - 8000c00: 6bdb ldr r3, [r3, #60] ; 0x3c - 8000c02: 2b00 cmp r3, #0 - 8000c04: d027 beq.n 8000c56 + 8000cce: 687b ldr r3, [r7, #4] + 8000cd0: 6bdb ldr r3, [r3, #60] ; 0x3c + 8000cd2: 2b00 cmp r3, #0 + 8000cd4: d027 beq.n 8000d26 { /* Transfer complete Callback for memory0 */ hdma->XferCpltCallback(hdma); - 8000c06: 687b ldr r3, [r7, #4] - 8000c08: 6bdb ldr r3, [r3, #60] ; 0x3c - 8000c0a: 6878 ldr r0, [r7, #4] - 8000c0c: 4798 blx r3 - 8000c0e: e022 b.n 8000c56 - 8000c10: 20000008 .word 0x20000008 - 8000c14: 1b4e81b5 .word 0x1b4e81b5 + 8000cd6: 687b ldr r3, [r7, #4] + 8000cd8: 6bdb ldr r3, [r3, #60] ; 0x3c + 8000cda: 6878 ldr r0, [r7, #4] + 8000cdc: 4798 blx r3 + 8000cde: e022 b.n 8000d26 + 8000ce0: 20000018 .word 0x20000018 + 8000ce4: 1b4e81b5 .word 0x1b4e81b5 } } /* Disable the transfer complete interrupt if the DMA mode is not CIRCULAR */ else { if((hdma->Instance->CR & DMA_SxCR_CIRC) == RESET) - 8000c18: 687b ldr r3, [r7, #4] - 8000c1a: 681b ldr r3, [r3, #0] - 8000c1c: 681b ldr r3, [r3, #0] - 8000c1e: f403 7380 and.w r3, r3, #256 ; 0x100 - 8000c22: 2b00 cmp r3, #0 - 8000c24: d10f bne.n 8000c46 + 8000ce8: 687b ldr r3, [r7, #4] + 8000cea: 681b ldr r3, [r3, #0] + 8000cec: 681b ldr r3, [r3, #0] + 8000cee: f403 7380 and.w r3, r3, #256 ; 0x100 + 8000cf2: 2b00 cmp r3, #0 + 8000cf4: d10f bne.n 8000d16 { /* Disable the transfer complete interrupt */ hdma->Instance->CR &= ~(DMA_IT_TC); - 8000c26: 687b ldr r3, [r7, #4] - 8000c28: 681b ldr r3, [r3, #0] - 8000c2a: 681a ldr r2, [r3, #0] - 8000c2c: 687b ldr r3, [r7, #4] - 8000c2e: 681b ldr r3, [r3, #0] - 8000c30: f022 0210 bic.w r2, r2, #16 - 8000c34: 601a str r2, [r3, #0] + 8000cf6: 687b ldr r3, [r7, #4] + 8000cf8: 681b ldr r3, [r3, #0] + 8000cfa: 681a ldr r2, [r3, #0] + 8000cfc: 687b ldr r3, [r7, #4] + 8000cfe: 681b ldr r3, [r3, #0] + 8000d00: f022 0210 bic.w r2, r2, #16 + 8000d04: 601a str r2, [r3, #0] /* Process Unlocked */ __HAL_UNLOCK(hdma); - 8000c36: 687b ldr r3, [r7, #4] - 8000c38: 2200 movs r2, #0 - 8000c3a: f883 2034 strb.w r2, [r3, #52] ; 0x34 + 8000d06: 687b ldr r3, [r7, #4] + 8000d08: 2200 movs r2, #0 + 8000d0a: f883 2034 strb.w r2, [r3, #52] ; 0x34 /* Change the DMA state */ hdma->State = HAL_DMA_STATE_READY; - 8000c3e: 687b ldr r3, [r7, #4] - 8000c40: 2201 movs r2, #1 - 8000c42: f883 2035 strb.w r2, [r3, #53] ; 0x35 + 8000d0e: 687b ldr r3, [r7, #4] + 8000d10: 2201 movs r2, #1 + 8000d12: f883 2035 strb.w r2, [r3, #53] ; 0x35 } if(hdma->XferCpltCallback != NULL) - 8000c46: 687b ldr r3, [r7, #4] - 8000c48: 6bdb ldr r3, [r3, #60] ; 0x3c - 8000c4a: 2b00 cmp r3, #0 - 8000c4c: d003 beq.n 8000c56 + 8000d16: 687b ldr r3, [r7, #4] + 8000d18: 6bdb ldr r3, [r3, #60] ; 0x3c + 8000d1a: 2b00 cmp r3, #0 + 8000d1c: d003 beq.n 8000d26 { /* Transfer complete callback */ hdma->XferCpltCallback(hdma); - 8000c4e: 687b ldr r3, [r7, #4] - 8000c50: 6bdb ldr r3, [r3, #60] ; 0x3c - 8000c52: 6878 ldr r0, [r7, #4] - 8000c54: 4798 blx r3 + 8000d1e: 687b ldr r3, [r7, #4] + 8000d20: 6bdb ldr r3, [r3, #60] ; 0x3c + 8000d22: 6878 ldr r0, [r7, #4] + 8000d24: 4798 blx r3 } } } /* manage error case */ if(hdma->ErrorCode != HAL_DMA_ERROR_NONE) - 8000c56: 687b ldr r3, [r7, #4] - 8000c58: 6d5b ldr r3, [r3, #84] ; 0x54 - 8000c5a: 2b00 cmp r3, #0 - 8000c5c: d032 beq.n 8000cc4 + 8000d26: 687b ldr r3, [r7, #4] + 8000d28: 6d5b ldr r3, [r3, #84] ; 0x54 + 8000d2a: 2b00 cmp r3, #0 + 8000d2c: d032 beq.n 8000d94 { if((hdma->ErrorCode & HAL_DMA_ERROR_TE) != RESET) - 8000c5e: 687b ldr r3, [r7, #4] - 8000c60: 6d5b ldr r3, [r3, #84] ; 0x54 - 8000c62: f003 0301 and.w r3, r3, #1 - 8000c66: 2b00 cmp r3, #0 - 8000c68: d022 beq.n 8000cb0 + 8000d2e: 687b ldr r3, [r7, #4] + 8000d30: 6d5b ldr r3, [r3, #84] ; 0x54 + 8000d32: f003 0301 and.w r3, r3, #1 + 8000d36: 2b00 cmp r3, #0 + 8000d38: d022 beq.n 8000d80 { hdma->State = HAL_DMA_STATE_ABORT; - 8000c6a: 687b ldr r3, [r7, #4] - 8000c6c: 2205 movs r2, #5 - 8000c6e: f883 2035 strb.w r2, [r3, #53] ; 0x35 + 8000d3a: 687b ldr r3, [r7, #4] + 8000d3c: 2205 movs r2, #5 + 8000d3e: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Disable the stream */ __HAL_DMA_DISABLE(hdma); - 8000c72: 687b ldr r3, [r7, #4] - 8000c74: 681b ldr r3, [r3, #0] - 8000c76: 681a ldr r2, [r3, #0] - 8000c78: 687b ldr r3, [r7, #4] - 8000c7a: 681b ldr r3, [r3, #0] - 8000c7c: f022 0201 bic.w r2, r2, #1 - 8000c80: 601a str r2, [r3, #0] + 8000d42: 687b ldr r3, [r7, #4] + 8000d44: 681b ldr r3, [r3, #0] + 8000d46: 681a ldr r2, [r3, #0] + 8000d48: 687b ldr r3, [r7, #4] + 8000d4a: 681b ldr r3, [r3, #0] + 8000d4c: f022 0201 bic.w r2, r2, #1 + 8000d50: 601a str r2, [r3, #0] do { if (++count > timeout) - 8000c82: 68bb ldr r3, [r7, #8] - 8000c84: 3301 adds r3, #1 - 8000c86: 60bb str r3, [r7, #8] - 8000c88: 697a ldr r2, [r7, #20] - 8000c8a: 429a cmp r2, r3 - 8000c8c: d307 bcc.n 8000c9e + 8000d52: 68bb ldr r3, [r7, #8] + 8000d54: 3301 adds r3, #1 + 8000d56: 60bb str r3, [r7, #8] + 8000d58: 697a ldr r2, [r7, #20] + 8000d5a: 429a cmp r2, r3 + 8000d5c: d307 bcc.n 8000d6e { break; } } while((hdma->Instance->CR & DMA_SxCR_EN) != RESET); - 8000c8e: 687b ldr r3, [r7, #4] - 8000c90: 681b ldr r3, [r3, #0] - 8000c92: 681b ldr r3, [r3, #0] - 8000c94: f003 0301 and.w r3, r3, #1 - 8000c98: 2b00 cmp r3, #0 - 8000c9a: d1f2 bne.n 8000c82 - 8000c9c: e000 b.n 8000ca0 + 8000d5e: 687b ldr r3, [r7, #4] + 8000d60: 681b ldr r3, [r3, #0] + 8000d62: 681b ldr r3, [r3, #0] + 8000d64: f003 0301 and.w r3, r3, #1 + 8000d68: 2b00 cmp r3, #0 + 8000d6a: d1f2 bne.n 8000d52 + 8000d6c: e000 b.n 8000d70 break; - 8000c9e: bf00 nop + 8000d6e: bf00 nop /* Process Unlocked */ __HAL_UNLOCK(hdma); - 8000ca0: 687b ldr r3, [r7, #4] - 8000ca2: 2200 movs r2, #0 - 8000ca4: f883 2034 strb.w r2, [r3, #52] ; 0x34 + 8000d70: 687b ldr r3, [r7, #4] + 8000d72: 2200 movs r2, #0 + 8000d74: f883 2034 strb.w r2, [r3, #52] ; 0x34 /* Change the DMA state */ hdma->State = HAL_DMA_STATE_READY; - 8000ca8: 687b ldr r3, [r7, #4] - 8000caa: 2201 movs r2, #1 - 8000cac: f883 2035 strb.w r2, [r3, #53] ; 0x35 + 8000d78: 687b ldr r3, [r7, #4] + 8000d7a: 2201 movs r2, #1 + 8000d7c: f883 2035 strb.w r2, [r3, #53] ; 0x35 } if(hdma->XferErrorCallback != NULL) - 8000cb0: 687b ldr r3, [r7, #4] - 8000cb2: 6cdb ldr r3, [r3, #76] ; 0x4c - 8000cb4: 2b00 cmp r3, #0 - 8000cb6: d005 beq.n 8000cc4 + 8000d80: 687b ldr r3, [r7, #4] + 8000d82: 6cdb ldr r3, [r3, #76] ; 0x4c + 8000d84: 2b00 cmp r3, #0 + 8000d86: d005 beq.n 8000d94 { /* Transfer error callback */ hdma->XferErrorCallback(hdma); - 8000cb8: 687b ldr r3, [r7, #4] - 8000cba: 6cdb ldr r3, [r3, #76] ; 0x4c - 8000cbc: 6878 ldr r0, [r7, #4] - 8000cbe: 4798 blx r3 - 8000cc0: e000 b.n 8000cc4 + 8000d88: 687b ldr r3, [r7, #4] + 8000d8a: 6cdb ldr r3, [r3, #76] ; 0x4c + 8000d8c: 6878 ldr r0, [r7, #4] + 8000d8e: 4798 blx r3 + 8000d90: e000 b.n 8000d94 return; - 8000cc2: bf00 nop + 8000d92: bf00 nop } } } - 8000cc4: 3718 adds r7, #24 - 8000cc6: 46bd mov sp, r7 - 8000cc8: bd80 pop {r7, pc} - 8000cca: bf00 nop + 8000d94: 3718 adds r7, #24 + 8000d96: 46bd mov sp, r7 + 8000d98: bd80 pop {r7, pc} + 8000d9a: bf00 nop + +08000d9c : + * @param DstAddress The destination memory Buffer address + * @param DataLength The length of data to be transferred from source to destination + * @retval HAL status + */ +static void DMA_SetConfig(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t DataLength) +{ + 8000d9c: b480 push {r7} + 8000d9e: b085 sub sp, #20 + 8000da0: af00 add r7, sp, #0 + 8000da2: 60f8 str r0, [r7, #12] + 8000da4: 60b9 str r1, [r7, #8] + 8000da6: 607a str r2, [r7, #4] + 8000da8: 603b str r3, [r7, #0] + /* Clear DBM bit */ + hdma->Instance->CR &= (uint32_t)(~DMA_SxCR_DBM); + 8000daa: 68fb ldr r3, [r7, #12] + 8000dac: 681b ldr r3, [r3, #0] + 8000dae: 681a ldr r2, [r3, #0] + 8000db0: 68fb ldr r3, [r7, #12] + 8000db2: 681b ldr r3, [r3, #0] + 8000db4: f422 2280 bic.w r2, r2, #262144 ; 0x40000 + 8000db8: 601a str r2, [r3, #0] + + /* Configure DMA Stream data length */ + hdma->Instance->NDTR = DataLength; + 8000dba: 68fb ldr r3, [r7, #12] + 8000dbc: 681b ldr r3, [r3, #0] + 8000dbe: 683a ldr r2, [r7, #0] + 8000dc0: 605a str r2, [r3, #4] + + /* Memory to Peripheral */ + if((hdma->Init.Direction) == DMA_MEMORY_TO_PERIPH) + 8000dc2: 68fb ldr r3, [r7, #12] + 8000dc4: 689b ldr r3, [r3, #8] + 8000dc6: 2b40 cmp r3, #64 ; 0x40 + 8000dc8: d108 bne.n 8000ddc + { + /* Configure DMA Stream destination address */ + hdma->Instance->PAR = DstAddress; + 8000dca: 68fb ldr r3, [r7, #12] + 8000dcc: 681b ldr r3, [r3, #0] + 8000dce: 687a ldr r2, [r7, #4] + 8000dd0: 609a str r2, [r3, #8] + + /* Configure DMA Stream source address */ + hdma->Instance->M0AR = SrcAddress; + 8000dd2: 68fb ldr r3, [r7, #12] + 8000dd4: 681b ldr r3, [r3, #0] + 8000dd6: 68ba ldr r2, [r7, #8] + 8000dd8: 60da str r2, [r3, #12] + hdma->Instance->PAR = SrcAddress; + + /* Configure DMA Stream destination address */ + hdma->Instance->M0AR = DstAddress; + } +} + 8000dda: e007 b.n 8000dec + hdma->Instance->PAR = SrcAddress; + 8000ddc: 68fb ldr r3, [r7, #12] + 8000dde: 681b ldr r3, [r3, #0] + 8000de0: 68ba ldr r2, [r7, #8] + 8000de2: 609a str r2, [r3, #8] + hdma->Instance->M0AR = DstAddress; + 8000de4: 68fb ldr r3, [r7, #12] + 8000de6: 681b ldr r3, [r3, #0] + 8000de8: 687a ldr r2, [r7, #4] + 8000dea: 60da str r2, [r3, #12] +} + 8000dec: bf00 nop + 8000dee: 3714 adds r7, #20 + 8000df0: 46bd mov sp, r7 + 8000df2: f85d 7b04 ldr.w r7, [sp], #4 + 8000df6: 4770 bx lr -08000ccc : +08000df8 : * @param hdma pointer to a DMA_HandleTypeDef structure that contains * the configuration information for the specified DMA Stream. * @retval Stream base address */ static uint32_t DMA_CalcBaseAndBitshift(DMA_HandleTypeDef *hdma) { - 8000ccc: b480 push {r7} - 8000cce: b085 sub sp, #20 - 8000cd0: af00 add r7, sp, #0 - 8000cd2: 6078 str r0, [r7, #4] + 8000df8: b480 push {r7} + 8000dfa: b085 sub sp, #20 + 8000dfc: af00 add r7, sp, #0 + 8000dfe: 6078 str r0, [r7, #4] uint32_t stream_number = (((uint32_t)hdma->Instance & 0xFFU) - 16U) / 24U; - 8000cd4: 687b ldr r3, [r7, #4] - 8000cd6: 681b ldr r3, [r3, #0] - 8000cd8: b2db uxtb r3, r3 - 8000cda: 3b10 subs r3, #16 - 8000cdc: 4a13 ldr r2, [pc, #76] ; (8000d2c ) - 8000cde: fba2 2303 umull r2, r3, r2, r3 - 8000ce2: 091b lsrs r3, r3, #4 - 8000ce4: 60fb str r3, [r7, #12] + 8000e00: 687b ldr r3, [r7, #4] + 8000e02: 681b ldr r3, [r3, #0] + 8000e04: b2db uxtb r3, r3 + 8000e06: 3b10 subs r3, #16 + 8000e08: 4a13 ldr r2, [pc, #76] ; (8000e58 ) + 8000e0a: fba2 2303 umull r2, r3, r2, r3 + 8000e0e: 091b lsrs r3, r3, #4 + 8000e10: 60fb str r3, [r7, #12] /* lookup table for necessary bitshift of flags within status registers */ static const uint8_t flagBitshiftOffset[8U] = {0U, 6U, 16U, 22U, 0U, 6U, 16U, 22U}; hdma->StreamIndex = flagBitshiftOffset[stream_number]; - 8000ce6: 4a12 ldr r2, [pc, #72] ; (8000d30 ) - 8000ce8: 68fb ldr r3, [r7, #12] - 8000cea: 4413 add r3, r2 - 8000cec: 781b ldrb r3, [r3, #0] - 8000cee: 461a mov r2, r3 - 8000cf0: 687b ldr r3, [r7, #4] - 8000cf2: 65da str r2, [r3, #92] ; 0x5c + 8000e12: 4a12 ldr r2, [pc, #72] ; (8000e5c ) + 8000e14: 68fb ldr r3, [r7, #12] + 8000e16: 4413 add r3, r2 + 8000e18: 781b ldrb r3, [r3, #0] + 8000e1a: 461a mov r2, r3 + 8000e1c: 687b ldr r3, [r7, #4] + 8000e1e: 65da str r2, [r3, #92] ; 0x5c if (stream_number > 3U) - 8000cf4: 68fb ldr r3, [r7, #12] - 8000cf6: 2b03 cmp r3, #3 - 8000cf8: d908 bls.n 8000d0c + 8000e20: 68fb ldr r3, [r7, #12] + 8000e22: 2b03 cmp r3, #3 + 8000e24: d908 bls.n 8000e38 { /* return pointer to HISR and HIFCR */ hdma->StreamBaseAddress = (((uint32_t)hdma->Instance & (uint32_t)(~0x3FFU)) + 4U); - 8000cfa: 687b ldr r3, [r7, #4] - 8000cfc: 681b ldr r3, [r3, #0] - 8000cfe: 461a mov r2, r3 - 8000d00: 4b0c ldr r3, [pc, #48] ; (8000d34 ) - 8000d02: 4013 ands r3, r2 - 8000d04: 1d1a adds r2, r3, #4 - 8000d06: 687b ldr r3, [r7, #4] - 8000d08: 659a str r2, [r3, #88] ; 0x58 - 8000d0a: e006 b.n 8000d1a + 8000e26: 687b ldr r3, [r7, #4] + 8000e28: 681b ldr r3, [r3, #0] + 8000e2a: 461a mov r2, r3 + 8000e2c: 4b0c ldr r3, [pc, #48] ; (8000e60 ) + 8000e2e: 4013 ands r3, r2 + 8000e30: 1d1a adds r2, r3, #4 + 8000e32: 687b ldr r3, [r7, #4] + 8000e34: 659a str r2, [r3, #88] ; 0x58 + 8000e36: e006 b.n 8000e46 } else { /* return pointer to LISR and LIFCR */ hdma->StreamBaseAddress = ((uint32_t)hdma->Instance & (uint32_t)(~0x3FFU)); - 8000d0c: 687b ldr r3, [r7, #4] - 8000d0e: 681b ldr r3, [r3, #0] - 8000d10: 461a mov r2, r3 - 8000d12: 4b08 ldr r3, [pc, #32] ; (8000d34 ) - 8000d14: 4013 ands r3, r2 - 8000d16: 687a ldr r2, [r7, #4] - 8000d18: 6593 str r3, [r2, #88] ; 0x58 + 8000e38: 687b ldr r3, [r7, #4] + 8000e3a: 681b ldr r3, [r3, #0] + 8000e3c: 461a mov r2, r3 + 8000e3e: 4b08 ldr r3, [pc, #32] ; (8000e60 ) + 8000e40: 4013 ands r3, r2 + 8000e42: 687a ldr r2, [r7, #4] + 8000e44: 6593 str r3, [r2, #88] ; 0x58 } return hdma->StreamBaseAddress; - 8000d1a: 687b ldr r3, [r7, #4] - 8000d1c: 6d9b ldr r3, [r3, #88] ; 0x58 -} - 8000d1e: 4618 mov r0, r3 - 8000d20: 3714 adds r7, #20 - 8000d22: 46bd mov sp, r7 - 8000d24: f85d 7b04 ldr.w r7, [sp], #4 - 8000d28: 4770 bx lr - 8000d2a: bf00 nop - 8000d2c: aaaaaaab .word 0xaaaaaaab - 8000d30: 08004d80 .word 0x08004d80 - 8000d34: fffffc00 .word 0xfffffc00 - -08000d38 : + 8000e46: 687b ldr r3, [r7, #4] + 8000e48: 6d9b ldr r3, [r3, #88] ; 0x58 +} + 8000e4a: 4618 mov r0, r3 + 8000e4c: 3714 adds r7, #20 + 8000e4e: 46bd mov sp, r7 + 8000e50: f85d 7b04 ldr.w r7, [sp], #4 + 8000e54: 4770 bx lr + 8000e56: bf00 nop + 8000e58: aaaaaaab .word 0xaaaaaaab + 8000e5c: 0800a414 .word 0x0800a414 + 8000e60: fffffc00 .word 0xfffffc00 + +08000e64 : * @param hdma pointer to a DMA_HandleTypeDef structure that contains * the configuration information for the specified DMA Stream. * @retval HAL status */ static HAL_StatusTypeDef DMA_CheckFifoParam(DMA_HandleTypeDef *hdma) { - 8000d38: b480 push {r7} - 8000d3a: b085 sub sp, #20 - 8000d3c: af00 add r7, sp, #0 - 8000d3e: 6078 str r0, [r7, #4] + 8000e64: b480 push {r7} + 8000e66: b085 sub sp, #20 + 8000e68: af00 add r7, sp, #0 + 8000e6a: 6078 str r0, [r7, #4] HAL_StatusTypeDef status = HAL_OK; - 8000d40: 2300 movs r3, #0 - 8000d42: 73fb strb r3, [r7, #15] + 8000e6c: 2300 movs r3, #0 + 8000e6e: 73fb strb r3, [r7, #15] uint32_t tmp = hdma->Init.FIFOThreshold; - 8000d44: 687b ldr r3, [r7, #4] - 8000d46: 6a9b ldr r3, [r3, #40] ; 0x28 - 8000d48: 60bb str r3, [r7, #8] + 8000e70: 687b ldr r3, [r7, #4] + 8000e72: 6a9b ldr r3, [r3, #40] ; 0x28 + 8000e74: 60bb str r3, [r7, #8] /* Memory Data size equal to Byte */ if(hdma->Init.MemDataAlignment == DMA_MDATAALIGN_BYTE) - 8000d4a: 687b ldr r3, [r7, #4] - 8000d4c: 699b ldr r3, [r3, #24] - 8000d4e: 2b00 cmp r3, #0 - 8000d50: d11f bne.n 8000d92 + 8000e76: 687b ldr r3, [r7, #4] + 8000e78: 699b ldr r3, [r3, #24] + 8000e7a: 2b00 cmp r3, #0 + 8000e7c: d11f bne.n 8000ebe { switch (tmp) - 8000d52: 68bb ldr r3, [r7, #8] - 8000d54: 2b03 cmp r3, #3 - 8000d56: d855 bhi.n 8000e04 - 8000d58: a201 add r2, pc, #4 ; (adr r2, 8000d60 ) - 8000d5a: f852 f023 ldr.w pc, [r2, r3, lsl #2] - 8000d5e: bf00 nop - 8000d60: 08000d71 .word 0x08000d71 - 8000d64: 08000d83 .word 0x08000d83 - 8000d68: 08000d71 .word 0x08000d71 - 8000d6c: 08000e05 .word 0x08000e05 + 8000e7e: 68bb ldr r3, [r7, #8] + 8000e80: 2b03 cmp r3, #3 + 8000e82: d855 bhi.n 8000f30 + 8000e84: a201 add r2, pc, #4 ; (adr r2, 8000e8c ) + 8000e86: f852 f023 ldr.w pc, [r2, r3, lsl #2] + 8000e8a: bf00 nop + 8000e8c: 08000e9d .word 0x08000e9d + 8000e90: 08000eaf .word 0x08000eaf + 8000e94: 08000e9d .word 0x08000e9d + 8000e98: 08000f31 .word 0x08000f31 { case DMA_FIFO_THRESHOLD_1QUARTERFULL: case DMA_FIFO_THRESHOLD_3QUARTERSFULL: if ((hdma->Init.MemBurst & DMA_SxCR_MBURST_1) == DMA_SxCR_MBURST_1) - 8000d70: 687b ldr r3, [r7, #4] - 8000d72: 6adb ldr r3, [r3, #44] ; 0x2c - 8000d74: f003 7380 and.w r3, r3, #16777216 ; 0x1000000 - 8000d78: 2b00 cmp r3, #0 - 8000d7a: d045 beq.n 8000e08 + 8000e9c: 687b ldr r3, [r7, #4] + 8000e9e: 6adb ldr r3, [r3, #44] ; 0x2c + 8000ea0: f003 7380 and.w r3, r3, #16777216 ; 0x1000000 + 8000ea4: 2b00 cmp r3, #0 + 8000ea6: d045 beq.n 8000f34 { status = HAL_ERROR; - 8000d7c: 2301 movs r3, #1 - 8000d7e: 73fb strb r3, [r7, #15] + 8000ea8: 2301 movs r3, #1 + 8000eaa: 73fb strb r3, [r7, #15] } break; - 8000d80: e042 b.n 8000e08 + 8000eac: e042 b.n 8000f34 case DMA_FIFO_THRESHOLD_HALFFULL: if (hdma->Init.MemBurst == DMA_MBURST_INC16) - 8000d82: 687b ldr r3, [r7, #4] - 8000d84: 6adb ldr r3, [r3, #44] ; 0x2c - 8000d86: f1b3 7fc0 cmp.w r3, #25165824 ; 0x1800000 - 8000d8a: d13f bne.n 8000e0c + 8000eae: 687b ldr r3, [r7, #4] + 8000eb0: 6adb ldr r3, [r3, #44] ; 0x2c + 8000eb2: f1b3 7fc0 cmp.w r3, #25165824 ; 0x1800000 + 8000eb6: d13f bne.n 8000f38 { status = HAL_ERROR; - 8000d8c: 2301 movs r3, #1 - 8000d8e: 73fb strb r3, [r7, #15] + 8000eb8: 2301 movs r3, #1 + 8000eba: 73fb strb r3, [r7, #15] } break; - 8000d90: e03c b.n 8000e0c + 8000ebc: e03c b.n 8000f38 break; } } /* Memory Data size equal to Half-Word */ else if (hdma->Init.MemDataAlignment == DMA_MDATAALIGN_HALFWORD) - 8000d92: 687b ldr r3, [r7, #4] - 8000d94: 699b ldr r3, [r3, #24] - 8000d96: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 - 8000d9a: d121 bne.n 8000de0 + 8000ebe: 687b ldr r3, [r7, #4] + 8000ec0: 699b ldr r3, [r3, #24] + 8000ec2: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 + 8000ec6: d121 bne.n 8000f0c { switch (tmp) - 8000d9c: 68bb ldr r3, [r7, #8] - 8000d9e: 2b03 cmp r3, #3 - 8000da0: d836 bhi.n 8000e10 - 8000da2: a201 add r2, pc, #4 ; (adr r2, 8000da8 ) - 8000da4: f852 f023 ldr.w pc, [r2, r3, lsl #2] - 8000da8: 08000db9 .word 0x08000db9 - 8000dac: 08000dbf .word 0x08000dbf - 8000db0: 08000db9 .word 0x08000db9 - 8000db4: 08000dd1 .word 0x08000dd1 + 8000ec8: 68bb ldr r3, [r7, #8] + 8000eca: 2b03 cmp r3, #3 + 8000ecc: d836 bhi.n 8000f3c + 8000ece: a201 add r2, pc, #4 ; (adr r2, 8000ed4 ) + 8000ed0: f852 f023 ldr.w pc, [r2, r3, lsl #2] + 8000ed4: 08000ee5 .word 0x08000ee5 + 8000ed8: 08000eeb .word 0x08000eeb + 8000edc: 08000ee5 .word 0x08000ee5 + 8000ee0: 08000efd .word 0x08000efd { case DMA_FIFO_THRESHOLD_1QUARTERFULL: case DMA_FIFO_THRESHOLD_3QUARTERSFULL: status = HAL_ERROR; - 8000db8: 2301 movs r3, #1 - 8000dba: 73fb strb r3, [r7, #15] + 8000ee4: 2301 movs r3, #1 + 8000ee6: 73fb strb r3, [r7, #15] break; - 8000dbc: e02f b.n 8000e1e + 8000ee8: e02f b.n 8000f4a case DMA_FIFO_THRESHOLD_HALFFULL: if ((hdma->Init.MemBurst & DMA_SxCR_MBURST_1) == DMA_SxCR_MBURST_1) - 8000dbe: 687b ldr r3, [r7, #4] - 8000dc0: 6adb ldr r3, [r3, #44] ; 0x2c - 8000dc2: f003 7380 and.w r3, r3, #16777216 ; 0x1000000 - 8000dc6: 2b00 cmp r3, #0 - 8000dc8: d024 beq.n 8000e14 + 8000eea: 687b ldr r3, [r7, #4] + 8000eec: 6adb ldr r3, [r3, #44] ; 0x2c + 8000eee: f003 7380 and.w r3, r3, #16777216 ; 0x1000000 + 8000ef2: 2b00 cmp r3, #0 + 8000ef4: d024 beq.n 8000f40 { status = HAL_ERROR; - 8000dca: 2301 movs r3, #1 - 8000dcc: 73fb strb r3, [r7, #15] + 8000ef6: 2301 movs r3, #1 + 8000ef8: 73fb strb r3, [r7, #15] } break; - 8000dce: e021 b.n 8000e14 + 8000efa: e021 b.n 8000f40 case DMA_FIFO_THRESHOLD_FULL: if (hdma->Init.MemBurst == DMA_MBURST_INC16) - 8000dd0: 687b ldr r3, [r7, #4] - 8000dd2: 6adb ldr r3, [r3, #44] ; 0x2c - 8000dd4: f1b3 7fc0 cmp.w r3, #25165824 ; 0x1800000 - 8000dd8: d11e bne.n 8000e18 + 8000efc: 687b ldr r3, [r7, #4] + 8000efe: 6adb ldr r3, [r3, #44] ; 0x2c + 8000f00: f1b3 7fc0 cmp.w r3, #25165824 ; 0x1800000 + 8000f04: d11e bne.n 8000f44 { status = HAL_ERROR; - 8000dda: 2301 movs r3, #1 - 8000ddc: 73fb strb r3, [r7, #15] + 8000f06: 2301 movs r3, #1 + 8000f08: 73fb strb r3, [r7, #15] } break; - 8000dde: e01b b.n 8000e18 + 8000f0a: e01b b.n 8000f44 } /* Memory Data size equal to Word */ else { switch (tmp) - 8000de0: 68bb ldr r3, [r7, #8] - 8000de2: 2b02 cmp r3, #2 - 8000de4: d902 bls.n 8000dec - 8000de6: 2b03 cmp r3, #3 - 8000de8: d003 beq.n 8000df2 + 8000f0c: 68bb ldr r3, [r7, #8] + 8000f0e: 2b02 cmp r3, #2 + 8000f10: d902 bls.n 8000f18 + 8000f12: 2b03 cmp r3, #3 + 8000f14: d003 beq.n 8000f1e { status = HAL_ERROR; } break; default: break; - 8000dea: e018 b.n 8000e1e + 8000f16: e018 b.n 8000f4a status = HAL_ERROR; - 8000dec: 2301 movs r3, #1 - 8000dee: 73fb strb r3, [r7, #15] + 8000f18: 2301 movs r3, #1 + 8000f1a: 73fb strb r3, [r7, #15] break; - 8000df0: e015 b.n 8000e1e + 8000f1c: e015 b.n 8000f4a if ((hdma->Init.MemBurst & DMA_SxCR_MBURST_1) == DMA_SxCR_MBURST_1) - 8000df2: 687b ldr r3, [r7, #4] - 8000df4: 6adb ldr r3, [r3, #44] ; 0x2c - 8000df6: f003 7380 and.w r3, r3, #16777216 ; 0x1000000 - 8000dfa: 2b00 cmp r3, #0 - 8000dfc: d00e beq.n 8000e1c + 8000f1e: 687b ldr r3, [r7, #4] + 8000f20: 6adb ldr r3, [r3, #44] ; 0x2c + 8000f22: f003 7380 and.w r3, r3, #16777216 ; 0x1000000 + 8000f26: 2b00 cmp r3, #0 + 8000f28: d00e beq.n 8000f48 status = HAL_ERROR; - 8000dfe: 2301 movs r3, #1 - 8000e00: 73fb strb r3, [r7, #15] + 8000f2a: 2301 movs r3, #1 + 8000f2c: 73fb strb r3, [r7, #15] break; - 8000e02: e00b b.n 8000e1c + 8000f2e: e00b b.n 8000f48 break; - 8000e04: bf00 nop - 8000e06: e00a b.n 8000e1e + 8000f30: bf00 nop + 8000f32: e00a b.n 8000f4a break; - 8000e08: bf00 nop - 8000e0a: e008 b.n 8000e1e + 8000f34: bf00 nop + 8000f36: e008 b.n 8000f4a break; - 8000e0c: bf00 nop - 8000e0e: e006 b.n 8000e1e + 8000f38: bf00 nop + 8000f3a: e006 b.n 8000f4a break; - 8000e10: bf00 nop - 8000e12: e004 b.n 8000e1e + 8000f3c: bf00 nop + 8000f3e: e004 b.n 8000f4a break; - 8000e14: bf00 nop - 8000e16: e002 b.n 8000e1e + 8000f40: bf00 nop + 8000f42: e002 b.n 8000f4a break; - 8000e18: bf00 nop - 8000e1a: e000 b.n 8000e1e + 8000f44: bf00 nop + 8000f46: e000 b.n 8000f4a break; - 8000e1c: bf00 nop + 8000f48: bf00 nop } } return status; - 8000e1e: 7bfb ldrb r3, [r7, #15] + 8000f4a: 7bfb ldrb r3, [r7, #15] } - 8000e20: 4618 mov r0, r3 - 8000e22: 3714 adds r7, #20 - 8000e24: 46bd mov sp, r7 - 8000e26: f85d 7b04 ldr.w r7, [sp], #4 - 8000e2a: 4770 bx lr + 8000f4c: 4618 mov r0, r3 + 8000f4e: 3714 adds r7, #20 + 8000f50: 46bd mov sp, r7 + 8000f52: f85d 7b04 ldr.w r7, [sp], #4 + 8000f56: 4770 bx lr -08000e2c : +08000f58 : * @param GPIO_Init pointer to a GPIO_InitTypeDef structure that contains * the configuration information for the specified GPIO peripheral. * @retval None */ void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init) { - 8000e2c: b480 push {r7} - 8000e2e: b089 sub sp, #36 ; 0x24 - 8000e30: af00 add r7, sp, #0 - 8000e32: 6078 str r0, [r7, #4] - 8000e34: 6039 str r1, [r7, #0] + 8000f58: b480 push {r7} + 8000f5a: b089 sub sp, #36 ; 0x24 + 8000f5c: af00 add r7, sp, #0 + 8000f5e: 6078 str r0, [r7, #4] + 8000f60: 6039 str r1, [r7, #0] uint32_t position = 0x00; - 8000e36: 2300 movs r3, #0 - 8000e38: 61fb str r3, [r7, #28] + 8000f62: 2300 movs r3, #0 + 8000f64: 61fb str r3, [r7, #28] uint32_t ioposition = 0x00; - 8000e3a: 2300 movs r3, #0 - 8000e3c: 617b str r3, [r7, #20] + 8000f66: 2300 movs r3, #0 + 8000f68: 617b str r3, [r7, #20] uint32_t iocurrent = 0x00; - 8000e3e: 2300 movs r3, #0 - 8000e40: 613b str r3, [r7, #16] + 8000f6a: 2300 movs r3, #0 + 8000f6c: 613b str r3, [r7, #16] uint32_t temp = 0x00; - 8000e42: 2300 movs r3, #0 - 8000e44: 61bb str r3, [r7, #24] + 8000f6e: 2300 movs r3, #0 + 8000f70: 61bb str r3, [r7, #24] assert_param(IS_GPIO_PIN(GPIO_Init->Pin)); assert_param(IS_GPIO_MODE(GPIO_Init->Mode)); assert_param(IS_GPIO_PULL(GPIO_Init->Pull)); /* Configure the port pins */ for(position = 0; position < GPIO_NUMBER; position++) - 8000e46: 2300 movs r3, #0 - 8000e48: 61fb str r3, [r7, #28] - 8000e4a: e175 b.n 8001138 + 8000f72: 2300 movs r3, #0 + 8000f74: 61fb str r3, [r7, #28] + 8000f76: e175 b.n 8001264 { /* Get the IO position */ ioposition = ((uint32_t)0x01) << position; - 8000e4c: 2201 movs r2, #1 - 8000e4e: 69fb ldr r3, [r7, #28] - 8000e50: fa02 f303 lsl.w r3, r2, r3 - 8000e54: 617b str r3, [r7, #20] + 8000f78: 2201 movs r2, #1 + 8000f7a: 69fb ldr r3, [r7, #28] + 8000f7c: fa02 f303 lsl.w r3, r2, r3 + 8000f80: 617b str r3, [r7, #20] /* Get the current IO position */ iocurrent = (uint32_t)(GPIO_Init->Pin) & ioposition; - 8000e56: 683b ldr r3, [r7, #0] - 8000e58: 681b ldr r3, [r3, #0] - 8000e5a: 697a ldr r2, [r7, #20] - 8000e5c: 4013 ands r3, r2 - 8000e5e: 613b str r3, [r7, #16] + 8000f82: 683b ldr r3, [r7, #0] + 8000f84: 681b ldr r3, [r3, #0] + 8000f86: 697a ldr r2, [r7, #20] + 8000f88: 4013 ands r3, r2 + 8000f8a: 613b str r3, [r7, #16] if(iocurrent == ioposition) - 8000e60: 693a ldr r2, [r7, #16] - 8000e62: 697b ldr r3, [r7, #20] - 8000e64: 429a cmp r2, r3 - 8000e66: f040 8164 bne.w 8001132 + 8000f8c: 693a ldr r2, [r7, #16] + 8000f8e: 697b ldr r3, [r7, #20] + 8000f90: 429a cmp r2, r3 + 8000f92: f040 8164 bne.w 800125e { /*--------------------- GPIO Mode Configuration ------------------------*/ /* In case of Alternate function mode selection */ if((GPIO_Init->Mode == GPIO_MODE_AF_PP) || (GPIO_Init->Mode == GPIO_MODE_AF_OD)) - 8000e6a: 683b ldr r3, [r7, #0] - 8000e6c: 685b ldr r3, [r3, #4] - 8000e6e: 2b02 cmp r3, #2 - 8000e70: d003 beq.n 8000e7a - 8000e72: 683b ldr r3, [r7, #0] - 8000e74: 685b ldr r3, [r3, #4] - 8000e76: 2b12 cmp r3, #18 - 8000e78: d123 bne.n 8000ec2 + 8000f96: 683b ldr r3, [r7, #0] + 8000f98: 685b ldr r3, [r3, #4] + 8000f9a: 2b02 cmp r3, #2 + 8000f9c: d003 beq.n 8000fa6 + 8000f9e: 683b ldr r3, [r7, #0] + 8000fa0: 685b ldr r3, [r3, #4] + 8000fa2: 2b12 cmp r3, #18 + 8000fa4: d123 bne.n 8000fee { /* Check the Alternate function parameter */ assert_param(IS_GPIO_AF(GPIO_Init->Alternate)); /* Configure Alternate function mapped with the current IO */ temp = GPIOx->AFR[position >> 3]; - 8000e7a: 69fb ldr r3, [r7, #28] - 8000e7c: 08da lsrs r2, r3, #3 - 8000e7e: 687b ldr r3, [r7, #4] - 8000e80: 3208 adds r2, #8 - 8000e82: f853 3022 ldr.w r3, [r3, r2, lsl #2] - 8000e86: 61bb str r3, [r7, #24] + 8000fa6: 69fb ldr r3, [r7, #28] + 8000fa8: 08da lsrs r2, r3, #3 + 8000faa: 687b ldr r3, [r7, #4] + 8000fac: 3208 adds r2, #8 + 8000fae: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 8000fb2: 61bb str r3, [r7, #24] temp &= ~((uint32_t)0xF << ((uint32_t)(position & (uint32_t)0x07) * 4)) ; - 8000e88: 69fb ldr r3, [r7, #28] - 8000e8a: f003 0307 and.w r3, r3, #7 - 8000e8e: 009b lsls r3, r3, #2 - 8000e90: 220f movs r2, #15 - 8000e92: fa02 f303 lsl.w r3, r2, r3 - 8000e96: 43db mvns r3, r3 - 8000e98: 69ba ldr r2, [r7, #24] - 8000e9a: 4013 ands r3, r2 - 8000e9c: 61bb str r3, [r7, #24] + 8000fb4: 69fb ldr r3, [r7, #28] + 8000fb6: f003 0307 and.w r3, r3, #7 + 8000fba: 009b lsls r3, r3, #2 + 8000fbc: 220f movs r2, #15 + 8000fbe: fa02 f303 lsl.w r3, r2, r3 + 8000fc2: 43db mvns r3, r3 + 8000fc4: 69ba ldr r2, [r7, #24] + 8000fc6: 4013 ands r3, r2 + 8000fc8: 61bb str r3, [r7, #24] temp |= ((uint32_t)(GPIO_Init->Alternate) << (((uint32_t)position & (uint32_t)0x07) * 4)); - 8000e9e: 683b ldr r3, [r7, #0] - 8000ea0: 691a ldr r2, [r3, #16] - 8000ea2: 69fb ldr r3, [r7, #28] - 8000ea4: f003 0307 and.w r3, r3, #7 - 8000ea8: 009b lsls r3, r3, #2 - 8000eaa: fa02 f303 lsl.w r3, r2, r3 - 8000eae: 69ba ldr r2, [r7, #24] - 8000eb0: 4313 orrs r3, r2 - 8000eb2: 61bb str r3, [r7, #24] + 8000fca: 683b ldr r3, [r7, #0] + 8000fcc: 691a ldr r2, [r3, #16] + 8000fce: 69fb ldr r3, [r7, #28] + 8000fd0: f003 0307 and.w r3, r3, #7 + 8000fd4: 009b lsls r3, r3, #2 + 8000fd6: fa02 f303 lsl.w r3, r2, r3 + 8000fda: 69ba ldr r2, [r7, #24] + 8000fdc: 4313 orrs r3, r2 + 8000fde: 61bb str r3, [r7, #24] GPIOx->AFR[position >> 3] = temp; - 8000eb4: 69fb ldr r3, [r7, #28] - 8000eb6: 08da lsrs r2, r3, #3 - 8000eb8: 687b ldr r3, [r7, #4] - 8000eba: 3208 adds r2, #8 - 8000ebc: 69b9 ldr r1, [r7, #24] - 8000ebe: f843 1022 str.w r1, [r3, r2, lsl #2] + 8000fe0: 69fb ldr r3, [r7, #28] + 8000fe2: 08da lsrs r2, r3, #3 + 8000fe4: 687b ldr r3, [r7, #4] + 8000fe6: 3208 adds r2, #8 + 8000fe8: 69b9 ldr r1, [r7, #24] + 8000fea: f843 1022 str.w r1, [r3, r2, lsl #2] } /* Configure IO Direction mode (Input, Output, Alternate or Analog) */ temp = GPIOx->MODER; - 8000ec2: 687b ldr r3, [r7, #4] - 8000ec4: 681b ldr r3, [r3, #0] - 8000ec6: 61bb str r3, [r7, #24] + 8000fee: 687b ldr r3, [r7, #4] + 8000ff0: 681b ldr r3, [r3, #0] + 8000ff2: 61bb str r3, [r7, #24] temp &= ~(GPIO_MODER_MODER0 << (position * 2)); - 8000ec8: 69fb ldr r3, [r7, #28] - 8000eca: 005b lsls r3, r3, #1 - 8000ecc: 2203 movs r2, #3 - 8000ece: fa02 f303 lsl.w r3, r2, r3 - 8000ed2: 43db mvns r3, r3 - 8000ed4: 69ba ldr r2, [r7, #24] - 8000ed6: 4013 ands r3, r2 - 8000ed8: 61bb str r3, [r7, #24] + 8000ff4: 69fb ldr r3, [r7, #28] + 8000ff6: 005b lsls r3, r3, #1 + 8000ff8: 2203 movs r2, #3 + 8000ffa: fa02 f303 lsl.w r3, r2, r3 + 8000ffe: 43db mvns r3, r3 + 8001000: 69ba ldr r2, [r7, #24] + 8001002: 4013 ands r3, r2 + 8001004: 61bb str r3, [r7, #24] temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2)); - 8000eda: 683b ldr r3, [r7, #0] - 8000edc: 685b ldr r3, [r3, #4] - 8000ede: f003 0203 and.w r2, r3, #3 - 8000ee2: 69fb ldr r3, [r7, #28] - 8000ee4: 005b lsls r3, r3, #1 - 8000ee6: fa02 f303 lsl.w r3, r2, r3 - 8000eea: 69ba ldr r2, [r7, #24] - 8000eec: 4313 orrs r3, r2 - 8000eee: 61bb str r3, [r7, #24] + 8001006: 683b ldr r3, [r7, #0] + 8001008: 685b ldr r3, [r3, #4] + 800100a: f003 0203 and.w r2, r3, #3 + 800100e: 69fb ldr r3, [r7, #28] + 8001010: 005b lsls r3, r3, #1 + 8001012: fa02 f303 lsl.w r3, r2, r3 + 8001016: 69ba ldr r2, [r7, #24] + 8001018: 4313 orrs r3, r2 + 800101a: 61bb str r3, [r7, #24] GPIOx->MODER = temp; - 8000ef0: 687b ldr r3, [r7, #4] - 8000ef2: 69ba ldr r2, [r7, #24] - 8000ef4: 601a str r2, [r3, #0] + 800101c: 687b ldr r3, [r7, #4] + 800101e: 69ba ldr r2, [r7, #24] + 8001020: 601a str r2, [r3, #0] /* In case of Output or Alternate function mode selection */ if((GPIO_Init->Mode == GPIO_MODE_OUTPUT_PP) || (GPIO_Init->Mode == GPIO_MODE_AF_PP) || - 8000ef6: 683b ldr r3, [r7, #0] - 8000ef8: 685b ldr r3, [r3, #4] - 8000efa: 2b01 cmp r3, #1 - 8000efc: d00b beq.n 8000f16 - 8000efe: 683b ldr r3, [r7, #0] - 8000f00: 685b ldr r3, [r3, #4] - 8000f02: 2b02 cmp r3, #2 - 8000f04: d007 beq.n 8000f16 + 8001022: 683b ldr r3, [r7, #0] + 8001024: 685b ldr r3, [r3, #4] + 8001026: 2b01 cmp r3, #1 + 8001028: d00b beq.n 8001042 + 800102a: 683b ldr r3, [r7, #0] + 800102c: 685b ldr r3, [r3, #4] + 800102e: 2b02 cmp r3, #2 + 8001030: d007 beq.n 8001042 (GPIO_Init->Mode == GPIO_MODE_OUTPUT_OD) || (GPIO_Init->Mode == GPIO_MODE_AF_OD)) - 8000f06: 683b ldr r3, [r7, #0] - 8000f08: 685b ldr r3, [r3, #4] + 8001032: 683b ldr r3, [r7, #0] + 8001034: 685b ldr r3, [r3, #4] if((GPIO_Init->Mode == GPIO_MODE_OUTPUT_PP) || (GPIO_Init->Mode == GPIO_MODE_AF_PP) || - 8000f0a: 2b11 cmp r3, #17 - 8000f0c: d003 beq.n 8000f16 + 8001036: 2b11 cmp r3, #17 + 8001038: d003 beq.n 8001042 (GPIO_Init->Mode == GPIO_MODE_OUTPUT_OD) || (GPIO_Init->Mode == GPIO_MODE_AF_OD)) - 8000f0e: 683b ldr r3, [r7, #0] - 8000f10: 685b ldr r3, [r3, #4] - 8000f12: 2b12 cmp r3, #18 - 8000f14: d130 bne.n 8000f78 + 800103a: 683b ldr r3, [r7, #0] + 800103c: 685b ldr r3, [r3, #4] + 800103e: 2b12 cmp r3, #18 + 8001040: d130 bne.n 80010a4 { /* Check the Speed parameter */ assert_param(IS_GPIO_SPEED(GPIO_Init->Speed)); /* Configure the IO Speed */ temp = GPIOx->OSPEEDR; - 8000f16: 687b ldr r3, [r7, #4] - 8000f18: 689b ldr r3, [r3, #8] - 8000f1a: 61bb str r3, [r7, #24] + 8001042: 687b ldr r3, [r7, #4] + 8001044: 689b ldr r3, [r3, #8] + 8001046: 61bb str r3, [r7, #24] temp &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2)); - 8000f1c: 69fb ldr r3, [r7, #28] - 8000f1e: 005b lsls r3, r3, #1 - 8000f20: 2203 movs r2, #3 - 8000f22: fa02 f303 lsl.w r3, r2, r3 - 8000f26: 43db mvns r3, r3 - 8000f28: 69ba ldr r2, [r7, #24] - 8000f2a: 4013 ands r3, r2 - 8000f2c: 61bb str r3, [r7, #24] + 8001048: 69fb ldr r3, [r7, #28] + 800104a: 005b lsls r3, r3, #1 + 800104c: 2203 movs r2, #3 + 800104e: fa02 f303 lsl.w r3, r2, r3 + 8001052: 43db mvns r3, r3 + 8001054: 69ba ldr r2, [r7, #24] + 8001056: 4013 ands r3, r2 + 8001058: 61bb str r3, [r7, #24] temp |= (GPIO_Init->Speed << (position * 2)); - 8000f2e: 683b ldr r3, [r7, #0] - 8000f30: 68da ldr r2, [r3, #12] - 8000f32: 69fb ldr r3, [r7, #28] - 8000f34: 005b lsls r3, r3, #1 - 8000f36: fa02 f303 lsl.w r3, r2, r3 - 8000f3a: 69ba ldr r2, [r7, #24] - 8000f3c: 4313 orrs r3, r2 - 8000f3e: 61bb str r3, [r7, #24] + 800105a: 683b ldr r3, [r7, #0] + 800105c: 68da ldr r2, [r3, #12] + 800105e: 69fb ldr r3, [r7, #28] + 8001060: 005b lsls r3, r3, #1 + 8001062: fa02 f303 lsl.w r3, r2, r3 + 8001066: 69ba ldr r2, [r7, #24] + 8001068: 4313 orrs r3, r2 + 800106a: 61bb str r3, [r7, #24] GPIOx->OSPEEDR = temp; - 8000f40: 687b ldr r3, [r7, #4] - 8000f42: 69ba ldr r2, [r7, #24] - 8000f44: 609a str r2, [r3, #8] + 800106c: 687b ldr r3, [r7, #4] + 800106e: 69ba ldr r2, [r7, #24] + 8001070: 609a str r2, [r3, #8] /* Configure the IO Output Type */ temp = GPIOx->OTYPER; - 8000f46: 687b ldr r3, [r7, #4] - 8000f48: 685b ldr r3, [r3, #4] - 8000f4a: 61bb str r3, [r7, #24] + 8001072: 687b ldr r3, [r7, #4] + 8001074: 685b ldr r3, [r3, #4] + 8001076: 61bb str r3, [r7, #24] temp &= ~(GPIO_OTYPER_OT_0 << position) ; - 8000f4c: 2201 movs r2, #1 - 8000f4e: 69fb ldr r3, [r7, #28] - 8000f50: fa02 f303 lsl.w r3, r2, r3 - 8000f54: 43db mvns r3, r3 - 8000f56: 69ba ldr r2, [r7, #24] - 8000f58: 4013 ands r3, r2 - 8000f5a: 61bb str r3, [r7, #24] + 8001078: 2201 movs r2, #1 + 800107a: 69fb ldr r3, [r7, #28] + 800107c: fa02 f303 lsl.w r3, r2, r3 + 8001080: 43db mvns r3, r3 + 8001082: 69ba ldr r2, [r7, #24] + 8001084: 4013 ands r3, r2 + 8001086: 61bb str r3, [r7, #24] temp |= (((GPIO_Init->Mode & GPIO_OUTPUT_TYPE) >> 4) << position); - 8000f5c: 683b ldr r3, [r7, #0] - 8000f5e: 685b ldr r3, [r3, #4] - 8000f60: 091b lsrs r3, r3, #4 - 8000f62: f003 0201 and.w r2, r3, #1 - 8000f66: 69fb ldr r3, [r7, #28] - 8000f68: fa02 f303 lsl.w r3, r2, r3 - 8000f6c: 69ba ldr r2, [r7, #24] - 8000f6e: 4313 orrs r3, r2 - 8000f70: 61bb str r3, [r7, #24] + 8001088: 683b ldr r3, [r7, #0] + 800108a: 685b ldr r3, [r3, #4] + 800108c: 091b lsrs r3, r3, #4 + 800108e: f003 0201 and.w r2, r3, #1 + 8001092: 69fb ldr r3, [r7, #28] + 8001094: fa02 f303 lsl.w r3, r2, r3 + 8001098: 69ba ldr r2, [r7, #24] + 800109a: 4313 orrs r3, r2 + 800109c: 61bb str r3, [r7, #24] GPIOx->OTYPER = temp; - 8000f72: 687b ldr r3, [r7, #4] - 8000f74: 69ba ldr r2, [r7, #24] - 8000f76: 605a str r2, [r3, #4] + 800109e: 687b ldr r3, [r7, #4] + 80010a0: 69ba ldr r2, [r7, #24] + 80010a2: 605a str r2, [r3, #4] } /* Activate the Pull-up or Pull down resistor for the current IO */ temp = GPIOx->PUPDR; - 8000f78: 687b ldr r3, [r7, #4] - 8000f7a: 68db ldr r3, [r3, #12] - 8000f7c: 61bb str r3, [r7, #24] + 80010a4: 687b ldr r3, [r7, #4] + 80010a6: 68db ldr r3, [r3, #12] + 80010a8: 61bb str r3, [r7, #24] temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2)); - 8000f7e: 69fb ldr r3, [r7, #28] - 8000f80: 005b lsls r3, r3, #1 - 8000f82: 2203 movs r2, #3 - 8000f84: fa02 f303 lsl.w r3, r2, r3 - 8000f88: 43db mvns r3, r3 - 8000f8a: 69ba ldr r2, [r7, #24] - 8000f8c: 4013 ands r3, r2 - 8000f8e: 61bb str r3, [r7, #24] + 80010aa: 69fb ldr r3, [r7, #28] + 80010ac: 005b lsls r3, r3, #1 + 80010ae: 2203 movs r2, #3 + 80010b0: fa02 f303 lsl.w r3, r2, r3 + 80010b4: 43db mvns r3, r3 + 80010b6: 69ba ldr r2, [r7, #24] + 80010b8: 4013 ands r3, r2 + 80010ba: 61bb str r3, [r7, #24] temp |= ((GPIO_Init->Pull) << (position * 2)); - 8000f90: 683b ldr r3, [r7, #0] - 8000f92: 689a ldr r2, [r3, #8] - 8000f94: 69fb ldr r3, [r7, #28] - 8000f96: 005b lsls r3, r3, #1 - 8000f98: fa02 f303 lsl.w r3, r2, r3 - 8000f9c: 69ba ldr r2, [r7, #24] - 8000f9e: 4313 orrs r3, r2 - 8000fa0: 61bb str r3, [r7, #24] + 80010bc: 683b ldr r3, [r7, #0] + 80010be: 689a ldr r2, [r3, #8] + 80010c0: 69fb ldr r3, [r7, #28] + 80010c2: 005b lsls r3, r3, #1 + 80010c4: fa02 f303 lsl.w r3, r2, r3 + 80010c8: 69ba ldr r2, [r7, #24] + 80010ca: 4313 orrs r3, r2 + 80010cc: 61bb str r3, [r7, #24] GPIOx->PUPDR = temp; - 8000fa2: 687b ldr r3, [r7, #4] - 8000fa4: 69ba ldr r2, [r7, #24] - 8000fa6: 60da str r2, [r3, #12] + 80010ce: 687b ldr r3, [r7, #4] + 80010d0: 69ba ldr r2, [r7, #24] + 80010d2: 60da str r2, [r3, #12] /*--------------------- EXTI Mode Configuration ------------------------*/ /* Configure the External Interrupt or event for the current IO */ if((GPIO_Init->Mode & EXTI_MODE) == EXTI_MODE) - 8000fa8: 683b ldr r3, [r7, #0] - 8000faa: 685b ldr r3, [r3, #4] - 8000fac: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 - 8000fb0: 2b00 cmp r3, #0 - 8000fb2: f000 80be beq.w 8001132 + 80010d4: 683b ldr r3, [r7, #0] + 80010d6: 685b ldr r3, [r3, #4] + 80010d8: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 + 80010dc: 2b00 cmp r3, #0 + 80010de: f000 80be beq.w 800125e { /* Enable SYSCFG Clock */ __HAL_RCC_SYSCFG_CLK_ENABLE(); - 8000fb6: 4b65 ldr r3, [pc, #404] ; (800114c ) - 8000fb8: 6c5b ldr r3, [r3, #68] ; 0x44 - 8000fba: 4a64 ldr r2, [pc, #400] ; (800114c ) - 8000fbc: f443 4380 orr.w r3, r3, #16384 ; 0x4000 - 8000fc0: 6453 str r3, [r2, #68] ; 0x44 - 8000fc2: 4b62 ldr r3, [pc, #392] ; (800114c ) - 8000fc4: 6c5b ldr r3, [r3, #68] ; 0x44 - 8000fc6: f403 4380 and.w r3, r3, #16384 ; 0x4000 - 8000fca: 60fb str r3, [r7, #12] - 8000fcc: 68fb ldr r3, [r7, #12] + 80010e2: 4b65 ldr r3, [pc, #404] ; (8001278 ) + 80010e4: 6c5b ldr r3, [r3, #68] ; 0x44 + 80010e6: 4a64 ldr r2, [pc, #400] ; (8001278 ) + 80010e8: f443 4380 orr.w r3, r3, #16384 ; 0x4000 + 80010ec: 6453 str r3, [r2, #68] ; 0x44 + 80010ee: 4b62 ldr r3, [pc, #392] ; (8001278 ) + 80010f0: 6c5b ldr r3, [r3, #68] ; 0x44 + 80010f2: f403 4380 and.w r3, r3, #16384 ; 0x4000 + 80010f6: 60fb str r3, [r7, #12] + 80010f8: 68fb ldr r3, [r7, #12] temp = SYSCFG->EXTICR[position >> 2]; - 8000fce: 4a60 ldr r2, [pc, #384] ; (8001150 ) - 8000fd0: 69fb ldr r3, [r7, #28] - 8000fd2: 089b lsrs r3, r3, #2 - 8000fd4: 3302 adds r3, #2 - 8000fd6: f852 3023 ldr.w r3, [r2, r3, lsl #2] - 8000fda: 61bb str r3, [r7, #24] + 80010fa: 4a60 ldr r2, [pc, #384] ; (800127c ) + 80010fc: 69fb ldr r3, [r7, #28] + 80010fe: 089b lsrs r3, r3, #2 + 8001100: 3302 adds r3, #2 + 8001102: f852 3023 ldr.w r3, [r2, r3, lsl #2] + 8001106: 61bb str r3, [r7, #24] temp &= ~(((uint32_t)0x0F) << (4 * (position & 0x03))); - 8000fdc: 69fb ldr r3, [r7, #28] - 8000fde: f003 0303 and.w r3, r3, #3 - 8000fe2: 009b lsls r3, r3, #2 - 8000fe4: 220f movs r2, #15 - 8000fe6: fa02 f303 lsl.w r3, r2, r3 - 8000fea: 43db mvns r3, r3 - 8000fec: 69ba ldr r2, [r7, #24] - 8000fee: 4013 ands r3, r2 - 8000ff0: 61bb str r3, [r7, #24] + 8001108: 69fb ldr r3, [r7, #28] + 800110a: f003 0303 and.w r3, r3, #3 + 800110e: 009b lsls r3, r3, #2 + 8001110: 220f movs r2, #15 + 8001112: fa02 f303 lsl.w r3, r2, r3 + 8001116: 43db mvns r3, r3 + 8001118: 69ba ldr r2, [r7, #24] + 800111a: 4013 ands r3, r2 + 800111c: 61bb str r3, [r7, #24] temp |= ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4 * (position & 0x03))); - 8000ff2: 687b ldr r3, [r7, #4] - 8000ff4: 4a57 ldr r2, [pc, #348] ; (8001154 ) - 8000ff6: 4293 cmp r3, r2 - 8000ff8: d037 beq.n 800106a - 8000ffa: 687b ldr r3, [r7, #4] - 8000ffc: 4a56 ldr r2, [pc, #344] ; (8001158 ) - 8000ffe: 4293 cmp r3, r2 - 8001000: d031 beq.n 8001066 - 8001002: 687b ldr r3, [r7, #4] - 8001004: 4a55 ldr r2, [pc, #340] ; (800115c ) - 8001006: 4293 cmp r3, r2 - 8001008: d02b beq.n 8001062 - 800100a: 687b ldr r3, [r7, #4] - 800100c: 4a54 ldr r2, [pc, #336] ; (8001160 ) - 800100e: 4293 cmp r3, r2 - 8001010: d025 beq.n 800105e - 8001012: 687b ldr r3, [r7, #4] - 8001014: 4a53 ldr r2, [pc, #332] ; (8001164 ) - 8001016: 4293 cmp r3, r2 - 8001018: d01f beq.n 800105a - 800101a: 687b ldr r3, [r7, #4] - 800101c: 4a52 ldr r2, [pc, #328] ; (8001168 ) - 800101e: 4293 cmp r3, r2 - 8001020: d019 beq.n 8001056 - 8001022: 687b ldr r3, [r7, #4] - 8001024: 4a51 ldr r2, [pc, #324] ; (800116c ) - 8001026: 4293 cmp r3, r2 - 8001028: d013 beq.n 8001052 - 800102a: 687b ldr r3, [r7, #4] - 800102c: 4a50 ldr r2, [pc, #320] ; (8001170 ) - 800102e: 4293 cmp r3, r2 - 8001030: d00d beq.n 800104e - 8001032: 687b ldr r3, [r7, #4] - 8001034: 4a4f ldr r2, [pc, #316] ; (8001174 ) - 8001036: 4293 cmp r3, r2 - 8001038: d007 beq.n 800104a - 800103a: 687b ldr r3, [r7, #4] - 800103c: 4a4e ldr r2, [pc, #312] ; (8001178 ) - 800103e: 4293 cmp r3, r2 - 8001040: d101 bne.n 8001046 - 8001042: 2309 movs r3, #9 - 8001044: e012 b.n 800106c - 8001046: 230a movs r3, #10 - 8001048: e010 b.n 800106c - 800104a: 2308 movs r3, #8 - 800104c: e00e b.n 800106c - 800104e: 2307 movs r3, #7 - 8001050: e00c b.n 800106c - 8001052: 2306 movs r3, #6 - 8001054: e00a b.n 800106c - 8001056: 2305 movs r3, #5 - 8001058: e008 b.n 800106c - 800105a: 2304 movs r3, #4 - 800105c: e006 b.n 800106c - 800105e: 2303 movs r3, #3 - 8001060: e004 b.n 800106c - 8001062: 2302 movs r3, #2 - 8001064: e002 b.n 800106c - 8001066: 2301 movs r3, #1 - 8001068: e000 b.n 800106c - 800106a: 2300 movs r3, #0 - 800106c: 69fa ldr r2, [r7, #28] - 800106e: f002 0203 and.w r2, r2, #3 - 8001072: 0092 lsls r2, r2, #2 - 8001074: 4093 lsls r3, r2 - 8001076: 69ba ldr r2, [r7, #24] - 8001078: 4313 orrs r3, r2 - 800107a: 61bb str r3, [r7, #24] + 800111e: 687b ldr r3, [r7, #4] + 8001120: 4a57 ldr r2, [pc, #348] ; (8001280 ) + 8001122: 4293 cmp r3, r2 + 8001124: d037 beq.n 8001196 + 8001126: 687b ldr r3, [r7, #4] + 8001128: 4a56 ldr r2, [pc, #344] ; (8001284 ) + 800112a: 4293 cmp r3, r2 + 800112c: d031 beq.n 8001192 + 800112e: 687b ldr r3, [r7, #4] + 8001130: 4a55 ldr r2, [pc, #340] ; (8001288 ) + 8001132: 4293 cmp r3, r2 + 8001134: d02b beq.n 800118e + 8001136: 687b ldr r3, [r7, #4] + 8001138: 4a54 ldr r2, [pc, #336] ; (800128c ) + 800113a: 4293 cmp r3, r2 + 800113c: d025 beq.n 800118a + 800113e: 687b ldr r3, [r7, #4] + 8001140: 4a53 ldr r2, [pc, #332] ; (8001290 ) + 8001142: 4293 cmp r3, r2 + 8001144: d01f beq.n 8001186 + 8001146: 687b ldr r3, [r7, #4] + 8001148: 4a52 ldr r2, [pc, #328] ; (8001294 ) + 800114a: 4293 cmp r3, r2 + 800114c: d019 beq.n 8001182 + 800114e: 687b ldr r3, [r7, #4] + 8001150: 4a51 ldr r2, [pc, #324] ; (8001298 ) + 8001152: 4293 cmp r3, r2 + 8001154: d013 beq.n 800117e + 8001156: 687b ldr r3, [r7, #4] + 8001158: 4a50 ldr r2, [pc, #320] ; (800129c ) + 800115a: 4293 cmp r3, r2 + 800115c: d00d beq.n 800117a + 800115e: 687b ldr r3, [r7, #4] + 8001160: 4a4f ldr r2, [pc, #316] ; (80012a0 ) + 8001162: 4293 cmp r3, r2 + 8001164: d007 beq.n 8001176 + 8001166: 687b ldr r3, [r7, #4] + 8001168: 4a4e ldr r2, [pc, #312] ; (80012a4 ) + 800116a: 4293 cmp r3, r2 + 800116c: d101 bne.n 8001172 + 800116e: 2309 movs r3, #9 + 8001170: e012 b.n 8001198 + 8001172: 230a movs r3, #10 + 8001174: e010 b.n 8001198 + 8001176: 2308 movs r3, #8 + 8001178: e00e b.n 8001198 + 800117a: 2307 movs r3, #7 + 800117c: e00c b.n 8001198 + 800117e: 2306 movs r3, #6 + 8001180: e00a b.n 8001198 + 8001182: 2305 movs r3, #5 + 8001184: e008 b.n 8001198 + 8001186: 2304 movs r3, #4 + 8001188: e006 b.n 8001198 + 800118a: 2303 movs r3, #3 + 800118c: e004 b.n 8001198 + 800118e: 2302 movs r3, #2 + 8001190: e002 b.n 8001198 + 8001192: 2301 movs r3, #1 + 8001194: e000 b.n 8001198 + 8001196: 2300 movs r3, #0 + 8001198: 69fa ldr r2, [r7, #28] + 800119a: f002 0203 and.w r2, r2, #3 + 800119e: 0092 lsls r2, r2, #2 + 80011a0: 4093 lsls r3, r2 + 80011a2: 69ba ldr r2, [r7, #24] + 80011a4: 4313 orrs r3, r2 + 80011a6: 61bb str r3, [r7, #24] SYSCFG->EXTICR[position >> 2] = temp; - 800107c: 4934 ldr r1, [pc, #208] ; (8001150 ) - 800107e: 69fb ldr r3, [r7, #28] - 8001080: 089b lsrs r3, r3, #2 - 8001082: 3302 adds r3, #2 - 8001084: 69ba ldr r2, [r7, #24] - 8001086: f841 2023 str.w r2, [r1, r3, lsl #2] + 80011a8: 4934 ldr r1, [pc, #208] ; (800127c ) + 80011aa: 69fb ldr r3, [r7, #28] + 80011ac: 089b lsrs r3, r3, #2 + 80011ae: 3302 adds r3, #2 + 80011b0: 69ba ldr r2, [r7, #24] + 80011b2: f841 2023 str.w r2, [r1, r3, lsl #2] /* Clear EXTI line configuration */ temp = EXTI->IMR; - 800108a: 4b3c ldr r3, [pc, #240] ; (800117c ) - 800108c: 681b ldr r3, [r3, #0] - 800108e: 61bb str r3, [r7, #24] + 80011b6: 4b3c ldr r3, [pc, #240] ; (80012a8 ) + 80011b8: 681b ldr r3, [r3, #0] + 80011ba: 61bb str r3, [r7, #24] temp &= ~((uint32_t)iocurrent); - 8001090: 693b ldr r3, [r7, #16] - 8001092: 43db mvns r3, r3 - 8001094: 69ba ldr r2, [r7, #24] - 8001096: 4013 ands r3, r2 - 8001098: 61bb str r3, [r7, #24] + 80011bc: 693b ldr r3, [r7, #16] + 80011be: 43db mvns r3, r3 + 80011c0: 69ba ldr r2, [r7, #24] + 80011c2: 4013 ands r3, r2 + 80011c4: 61bb str r3, [r7, #24] if((GPIO_Init->Mode & GPIO_MODE_IT) == GPIO_MODE_IT) - 800109a: 683b ldr r3, [r7, #0] - 800109c: 685b ldr r3, [r3, #4] - 800109e: f403 3380 and.w r3, r3, #65536 ; 0x10000 - 80010a2: 2b00 cmp r3, #0 - 80010a4: d003 beq.n 80010ae + 80011c6: 683b ldr r3, [r7, #0] + 80011c8: 685b ldr r3, [r3, #4] + 80011ca: f403 3380 and.w r3, r3, #65536 ; 0x10000 + 80011ce: 2b00 cmp r3, #0 + 80011d0: d003 beq.n 80011da { temp |= iocurrent; - 80010a6: 69ba ldr r2, [r7, #24] - 80010a8: 693b ldr r3, [r7, #16] - 80010aa: 4313 orrs r3, r2 - 80010ac: 61bb str r3, [r7, #24] + 80011d2: 69ba ldr r2, [r7, #24] + 80011d4: 693b ldr r3, [r7, #16] + 80011d6: 4313 orrs r3, r2 + 80011d8: 61bb str r3, [r7, #24] } EXTI->IMR = temp; - 80010ae: 4a33 ldr r2, [pc, #204] ; (800117c ) - 80010b0: 69bb ldr r3, [r7, #24] - 80010b2: 6013 str r3, [r2, #0] + 80011da: 4a33 ldr r2, [pc, #204] ; (80012a8 ) + 80011dc: 69bb ldr r3, [r7, #24] + 80011de: 6013 str r3, [r2, #0] temp = EXTI->EMR; - 80010b4: 4b31 ldr r3, [pc, #196] ; (800117c ) - 80010b6: 685b ldr r3, [r3, #4] - 80010b8: 61bb str r3, [r7, #24] + 80011e0: 4b31 ldr r3, [pc, #196] ; (80012a8 ) + 80011e2: 685b ldr r3, [r3, #4] + 80011e4: 61bb str r3, [r7, #24] temp &= ~((uint32_t)iocurrent); - 80010ba: 693b ldr r3, [r7, #16] - 80010bc: 43db mvns r3, r3 - 80010be: 69ba ldr r2, [r7, #24] - 80010c0: 4013 ands r3, r2 - 80010c2: 61bb str r3, [r7, #24] + 80011e6: 693b ldr r3, [r7, #16] + 80011e8: 43db mvns r3, r3 + 80011ea: 69ba ldr r2, [r7, #24] + 80011ec: 4013 ands r3, r2 + 80011ee: 61bb str r3, [r7, #24] if((GPIO_Init->Mode & GPIO_MODE_EVT) == GPIO_MODE_EVT) - 80010c4: 683b ldr r3, [r7, #0] - 80010c6: 685b ldr r3, [r3, #4] - 80010c8: f403 3300 and.w r3, r3, #131072 ; 0x20000 - 80010cc: 2b00 cmp r3, #0 - 80010ce: d003 beq.n 80010d8 + 80011f0: 683b ldr r3, [r7, #0] + 80011f2: 685b ldr r3, [r3, #4] + 80011f4: f403 3300 and.w r3, r3, #131072 ; 0x20000 + 80011f8: 2b00 cmp r3, #0 + 80011fa: d003 beq.n 8001204 { temp |= iocurrent; - 80010d0: 69ba ldr r2, [r7, #24] - 80010d2: 693b ldr r3, [r7, #16] - 80010d4: 4313 orrs r3, r2 - 80010d6: 61bb str r3, [r7, #24] + 80011fc: 69ba ldr r2, [r7, #24] + 80011fe: 693b ldr r3, [r7, #16] + 8001200: 4313 orrs r3, r2 + 8001202: 61bb str r3, [r7, #24] } EXTI->EMR = temp; - 80010d8: 4a28 ldr r2, [pc, #160] ; (800117c ) - 80010da: 69bb ldr r3, [r7, #24] - 80010dc: 6053 str r3, [r2, #4] + 8001204: 4a28 ldr r2, [pc, #160] ; (80012a8 ) + 8001206: 69bb ldr r3, [r7, #24] + 8001208: 6053 str r3, [r2, #4] /* Clear Rising Falling edge configuration */ temp = EXTI->RTSR; - 80010de: 4b27 ldr r3, [pc, #156] ; (800117c ) - 80010e0: 689b ldr r3, [r3, #8] - 80010e2: 61bb str r3, [r7, #24] + 800120a: 4b27 ldr r3, [pc, #156] ; (80012a8 ) + 800120c: 689b ldr r3, [r3, #8] + 800120e: 61bb str r3, [r7, #24] temp &= ~((uint32_t)iocurrent); - 80010e4: 693b ldr r3, [r7, #16] - 80010e6: 43db mvns r3, r3 - 80010e8: 69ba ldr r2, [r7, #24] - 80010ea: 4013 ands r3, r2 - 80010ec: 61bb str r3, [r7, #24] + 8001210: 693b ldr r3, [r7, #16] + 8001212: 43db mvns r3, r3 + 8001214: 69ba ldr r2, [r7, #24] + 8001216: 4013 ands r3, r2 + 8001218: 61bb str r3, [r7, #24] if((GPIO_Init->Mode & RISING_EDGE) == RISING_EDGE) - 80010ee: 683b ldr r3, [r7, #0] - 80010f0: 685b ldr r3, [r3, #4] - 80010f2: f403 1380 and.w r3, r3, #1048576 ; 0x100000 - 80010f6: 2b00 cmp r3, #0 - 80010f8: d003 beq.n 8001102 + 800121a: 683b ldr r3, [r7, #0] + 800121c: 685b ldr r3, [r3, #4] + 800121e: f403 1380 and.w r3, r3, #1048576 ; 0x100000 + 8001222: 2b00 cmp r3, #0 + 8001224: d003 beq.n 800122e { temp |= iocurrent; - 80010fa: 69ba ldr r2, [r7, #24] - 80010fc: 693b ldr r3, [r7, #16] - 80010fe: 4313 orrs r3, r2 - 8001100: 61bb str r3, [r7, #24] + 8001226: 69ba ldr r2, [r7, #24] + 8001228: 693b ldr r3, [r7, #16] + 800122a: 4313 orrs r3, r2 + 800122c: 61bb str r3, [r7, #24] } EXTI->RTSR = temp; - 8001102: 4a1e ldr r2, [pc, #120] ; (800117c ) - 8001104: 69bb ldr r3, [r7, #24] - 8001106: 6093 str r3, [r2, #8] + 800122e: 4a1e ldr r2, [pc, #120] ; (80012a8 ) + 8001230: 69bb ldr r3, [r7, #24] + 8001232: 6093 str r3, [r2, #8] temp = EXTI->FTSR; - 8001108: 4b1c ldr r3, [pc, #112] ; (800117c ) - 800110a: 68db ldr r3, [r3, #12] - 800110c: 61bb str r3, [r7, #24] + 8001234: 4b1c ldr r3, [pc, #112] ; (80012a8 ) + 8001236: 68db ldr r3, [r3, #12] + 8001238: 61bb str r3, [r7, #24] temp &= ~((uint32_t)iocurrent); - 800110e: 693b ldr r3, [r7, #16] - 8001110: 43db mvns r3, r3 - 8001112: 69ba ldr r2, [r7, #24] - 8001114: 4013 ands r3, r2 - 8001116: 61bb str r3, [r7, #24] + 800123a: 693b ldr r3, [r7, #16] + 800123c: 43db mvns r3, r3 + 800123e: 69ba ldr r2, [r7, #24] + 8001240: 4013 ands r3, r2 + 8001242: 61bb str r3, [r7, #24] if((GPIO_Init->Mode & FALLING_EDGE) == FALLING_EDGE) - 8001118: 683b ldr r3, [r7, #0] - 800111a: 685b ldr r3, [r3, #4] - 800111c: f403 1300 and.w r3, r3, #2097152 ; 0x200000 - 8001120: 2b00 cmp r3, #0 - 8001122: d003 beq.n 800112c + 8001244: 683b ldr r3, [r7, #0] + 8001246: 685b ldr r3, [r3, #4] + 8001248: f403 1300 and.w r3, r3, #2097152 ; 0x200000 + 800124c: 2b00 cmp r3, #0 + 800124e: d003 beq.n 8001258 { temp |= iocurrent; - 8001124: 69ba ldr r2, [r7, #24] - 8001126: 693b ldr r3, [r7, #16] - 8001128: 4313 orrs r3, r2 - 800112a: 61bb str r3, [r7, #24] + 8001250: 69ba ldr r2, [r7, #24] + 8001252: 693b ldr r3, [r7, #16] + 8001254: 4313 orrs r3, r2 + 8001256: 61bb str r3, [r7, #24] } EXTI->FTSR = temp; - 800112c: 4a13 ldr r2, [pc, #76] ; (800117c ) - 800112e: 69bb ldr r3, [r7, #24] - 8001130: 60d3 str r3, [r2, #12] + 8001258: 4a13 ldr r2, [pc, #76] ; (80012a8 ) + 800125a: 69bb ldr r3, [r7, #24] + 800125c: 60d3 str r3, [r2, #12] for(position = 0; position < GPIO_NUMBER; position++) - 8001132: 69fb ldr r3, [r7, #28] - 8001134: 3301 adds r3, #1 - 8001136: 61fb str r3, [r7, #28] - 8001138: 69fb ldr r3, [r7, #28] - 800113a: 2b0f cmp r3, #15 - 800113c: f67f ae86 bls.w 8000e4c + 800125e: 69fb ldr r3, [r7, #28] + 8001260: 3301 adds r3, #1 + 8001262: 61fb str r3, [r7, #28] + 8001264: 69fb ldr r3, [r7, #28] + 8001266: 2b0f cmp r3, #15 + 8001268: f67f ae86 bls.w 8000f78 } } } } - 8001140: bf00 nop - 8001142: 3724 adds r7, #36 ; 0x24 - 8001144: 46bd mov sp, r7 - 8001146: f85d 7b04 ldr.w r7, [sp], #4 - 800114a: 4770 bx lr - 800114c: 40023800 .word 0x40023800 - 8001150: 40013800 .word 0x40013800 - 8001154: 40020000 .word 0x40020000 - 8001158: 40020400 .word 0x40020400 - 800115c: 40020800 .word 0x40020800 - 8001160: 40020c00 .word 0x40020c00 - 8001164: 40021000 .word 0x40021000 - 8001168: 40021400 .word 0x40021400 - 800116c: 40021800 .word 0x40021800 - 8001170: 40021c00 .word 0x40021c00 - 8001174: 40022000 .word 0x40022000 - 8001178: 40022400 .word 0x40022400 - 800117c: 40013c00 .word 0x40013c00 - -08001180 : + 800126c: bf00 nop + 800126e: 3724 adds r7, #36 ; 0x24 + 8001270: 46bd mov sp, r7 + 8001272: f85d 7b04 ldr.w r7, [sp], #4 + 8001276: 4770 bx lr + 8001278: 40023800 .word 0x40023800 + 800127c: 40013800 .word 0x40013800 + 8001280: 40020000 .word 0x40020000 + 8001284: 40020400 .word 0x40020400 + 8001288: 40020800 .word 0x40020800 + 800128c: 40020c00 .word 0x40020c00 + 8001290: 40021000 .word 0x40021000 + 8001294: 40021400 .word 0x40021400 + 8001298: 40021800 .word 0x40021800 + 800129c: 40021c00 .word 0x40021c00 + 80012a0: 40022000 .word 0x40022000 + 80012a4: 40022400 .word 0x40022400 + 80012a8: 40013c00 .word 0x40013c00 + +080012ac : * @arg GPIO_PIN_RESET: to clear the port pin * @arg GPIO_PIN_SET: to set the port pin * @retval None */ void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState) { - 8001180: b480 push {r7} - 8001182: b083 sub sp, #12 - 8001184: af00 add r7, sp, #0 - 8001186: 6078 str r0, [r7, #4] - 8001188: 460b mov r3, r1 - 800118a: 807b strh r3, [r7, #2] - 800118c: 4613 mov r3, r2 - 800118e: 707b strb r3, [r7, #1] + 80012ac: b480 push {r7} + 80012ae: b083 sub sp, #12 + 80012b0: af00 add r7, sp, #0 + 80012b2: 6078 str r0, [r7, #4] + 80012b4: 460b mov r3, r1 + 80012b6: 807b strh r3, [r7, #2] + 80012b8: 4613 mov r3, r2 + 80012ba: 707b strb r3, [r7, #1] /* Check the parameters */ assert_param(IS_GPIO_PIN(GPIO_Pin)); assert_param(IS_GPIO_PIN_ACTION(PinState)); if(PinState != GPIO_PIN_RESET) - 8001190: 787b ldrb r3, [r7, #1] - 8001192: 2b00 cmp r3, #0 - 8001194: d003 beq.n 800119e + 80012bc: 787b ldrb r3, [r7, #1] + 80012be: 2b00 cmp r3, #0 + 80012c0: d003 beq.n 80012ca { GPIOx->BSRR = GPIO_Pin; - 8001196: 887a ldrh r2, [r7, #2] - 8001198: 687b ldr r3, [r7, #4] - 800119a: 619a str r2, [r3, #24] + 80012c2: 887a ldrh r2, [r7, #2] + 80012c4: 687b ldr r3, [r7, #4] + 80012c6: 619a str r2, [r3, #24] } else { GPIOx->BSRR = (uint32_t)GPIO_Pin << 16; } } - 800119c: e003 b.n 80011a6 + 80012c8: e003 b.n 80012d2 GPIOx->BSRR = (uint32_t)GPIO_Pin << 16; - 800119e: 887b ldrh r3, [r7, #2] - 80011a0: 041a lsls r2, r3, #16 - 80011a2: 687b ldr r3, [r7, #4] - 80011a4: 619a str r2, [r3, #24] -} - 80011a6: bf00 nop - 80011a8: 370c adds r7, #12 - 80011aa: 46bd mov sp, r7 - 80011ac: f85d 7b04 ldr.w r7, [sp], #4 - 80011b0: 4770 bx lr + 80012ca: 887b ldrh r3, [r7, #2] + 80012cc: 041a lsls r2, r3, #16 + 80012ce: 687b ldr r3, [r7, #4] + 80012d0: 619a str r2, [r3, #24] +} + 80012d2: bf00 nop + 80012d4: 370c adds r7, #12 + 80012d6: 46bd mov sp, r7 + 80012d8: f85d 7b04 ldr.w r7, [sp], #4 + 80012dc: 4770 bx lr ... -080011b4 : +080012e0 : * supported by this function. User should request a transition to HSE Off * first and then HSE On or HSE Bypass. * @retval HAL status */ HAL_StatusTypeDef HAL_RCC_OscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct) { - 80011b4: b580 push {r7, lr} - 80011b6: b086 sub sp, #24 - 80011b8: af00 add r7, sp, #0 - 80011ba: 6078 str r0, [r7, #4] + 80012e0: b580 push {r7, lr} + 80012e2: b086 sub sp, #24 + 80012e4: af00 add r7, sp, #0 + 80012e6: 6078 str r0, [r7, #4] uint32_t tickstart; FlagStatus pwrclkchanged = RESET; - 80011bc: 2300 movs r3, #0 - 80011be: 75fb strb r3, [r7, #23] + 80012e8: 2300 movs r3, #0 + 80012ea: 75fb strb r3, [r7, #23] /* Check Null pointer */ if(RCC_OscInitStruct == NULL) - 80011c0: 687b ldr r3, [r7, #4] - 80011c2: 2b00 cmp r3, #0 - 80011c4: d101 bne.n 80011ca + 80012ec: 687b ldr r3, [r7, #4] + 80012ee: 2b00 cmp r3, #0 + 80012f0: d101 bne.n 80012f6 { return HAL_ERROR; - 80011c6: 2301 movs r3, #1 - 80011c8: e25e b.n 8001688 + 80012f2: 2301 movs r3, #1 + 80012f4: e25e b.n 80017b4 /* Check the parameters */ assert_param(IS_RCC_OSCILLATORTYPE(RCC_OscInitStruct->OscillatorType)); /*------------------------------- HSE Configuration ------------------------*/ if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSE) == RCC_OSCILLATORTYPE_HSE) - 80011ca: 687b ldr r3, [r7, #4] - 80011cc: 681b ldr r3, [r3, #0] - 80011ce: f003 0301 and.w r3, r3, #1 - 80011d2: 2b00 cmp r3, #0 - 80011d4: f000 8087 beq.w 80012e6 + 80012f6: 687b ldr r3, [r7, #4] + 80012f8: 681b ldr r3, [r3, #0] + 80012fa: f003 0301 and.w r3, r3, #1 + 80012fe: 2b00 cmp r3, #0 + 8001300: f000 8087 beq.w 8001412 { /* Check the parameters */ assert_param(IS_RCC_HSE(RCC_OscInitStruct->HSEState)); /* When the HSE is used as system clock or clock source for PLL, It can not be disabled */ if((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_HSE) - 80011d8: 4b96 ldr r3, [pc, #600] ; (8001434 ) - 80011da: 689b ldr r3, [r3, #8] - 80011dc: f003 030c and.w r3, r3, #12 - 80011e0: 2b04 cmp r3, #4 - 80011e2: d00c beq.n 80011fe + 8001304: 4b96 ldr r3, [pc, #600] ; (8001560 ) + 8001306: 689b ldr r3, [r3, #8] + 8001308: f003 030c and.w r3, r3, #12 + 800130c: 2b04 cmp r3, #4 + 800130e: d00c beq.n 800132a || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && ((RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) == RCC_PLLCFGR_PLLSRC_HSE))) - 80011e4: 4b93 ldr r3, [pc, #588] ; (8001434 ) - 80011e6: 689b ldr r3, [r3, #8] - 80011e8: f003 030c and.w r3, r3, #12 - 80011ec: 2b08 cmp r3, #8 - 80011ee: d112 bne.n 8001216 - 80011f0: 4b90 ldr r3, [pc, #576] ; (8001434 ) - 80011f2: 685b ldr r3, [r3, #4] - 80011f4: f403 0380 and.w r3, r3, #4194304 ; 0x400000 - 80011f8: f5b3 0f80 cmp.w r3, #4194304 ; 0x400000 - 80011fc: d10b bne.n 8001216 + 8001310: 4b93 ldr r3, [pc, #588] ; (8001560 ) + 8001312: 689b ldr r3, [r3, #8] + 8001314: f003 030c and.w r3, r3, #12 + 8001318: 2b08 cmp r3, #8 + 800131a: d112 bne.n 8001342 + 800131c: 4b90 ldr r3, [pc, #576] ; (8001560 ) + 800131e: 685b ldr r3, [r3, #4] + 8001320: f403 0380 and.w r3, r3, #4194304 ; 0x400000 + 8001324: f5b3 0f80 cmp.w r3, #4194304 ; 0x400000 + 8001328: d10b bne.n 8001342 { if((__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) && (RCC_OscInitStruct->HSEState == RCC_HSE_OFF)) - 80011fe: 4b8d ldr r3, [pc, #564] ; (8001434 ) - 8001200: 681b ldr r3, [r3, #0] - 8001202: f403 3300 and.w r3, r3, #131072 ; 0x20000 - 8001206: 2b00 cmp r3, #0 - 8001208: d06c beq.n 80012e4 - 800120a: 687b ldr r3, [r7, #4] - 800120c: 685b ldr r3, [r3, #4] - 800120e: 2b00 cmp r3, #0 - 8001210: d168 bne.n 80012e4 + 800132a: 4b8d ldr r3, [pc, #564] ; (8001560 ) + 800132c: 681b ldr r3, [r3, #0] + 800132e: f403 3300 and.w r3, r3, #131072 ; 0x20000 + 8001332: 2b00 cmp r3, #0 + 8001334: d06c beq.n 8001410 + 8001336: 687b ldr r3, [r7, #4] + 8001338: 685b ldr r3, [r3, #4] + 800133a: 2b00 cmp r3, #0 + 800133c: d168 bne.n 8001410 { return HAL_ERROR; - 8001212: 2301 movs r3, #1 - 8001214: e238 b.n 8001688 + 800133e: 2301 movs r3, #1 + 8001340: e238 b.n 80017b4 } } else { /* Set the new HSE configuration ---------------------------------------*/ __HAL_RCC_HSE_CONFIG(RCC_OscInitStruct->HSEState); - 8001216: 687b ldr r3, [r7, #4] - 8001218: 685b ldr r3, [r3, #4] - 800121a: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 - 800121e: d106 bne.n 800122e - 8001220: 4b84 ldr r3, [pc, #528] ; (8001434 ) - 8001222: 681b ldr r3, [r3, #0] - 8001224: 4a83 ldr r2, [pc, #524] ; (8001434 ) - 8001226: f443 3380 orr.w r3, r3, #65536 ; 0x10000 - 800122a: 6013 str r3, [r2, #0] - 800122c: e02e b.n 800128c - 800122e: 687b ldr r3, [r7, #4] - 8001230: 685b ldr r3, [r3, #4] - 8001232: 2b00 cmp r3, #0 - 8001234: d10c bne.n 8001250 - 8001236: 4b7f ldr r3, [pc, #508] ; (8001434 ) - 8001238: 681b ldr r3, [r3, #0] - 800123a: 4a7e ldr r2, [pc, #504] ; (8001434 ) - 800123c: f423 3380 bic.w r3, r3, #65536 ; 0x10000 - 8001240: 6013 str r3, [r2, #0] - 8001242: 4b7c ldr r3, [pc, #496] ; (8001434 ) - 8001244: 681b ldr r3, [r3, #0] - 8001246: 4a7b ldr r2, [pc, #492] ; (8001434 ) - 8001248: f423 2380 bic.w r3, r3, #262144 ; 0x40000 - 800124c: 6013 str r3, [r2, #0] - 800124e: e01d b.n 800128c - 8001250: 687b ldr r3, [r7, #4] - 8001252: 685b ldr r3, [r3, #4] - 8001254: f5b3 2fa0 cmp.w r3, #327680 ; 0x50000 - 8001258: d10c bne.n 8001274 - 800125a: 4b76 ldr r3, [pc, #472] ; (8001434 ) - 800125c: 681b ldr r3, [r3, #0] - 800125e: 4a75 ldr r2, [pc, #468] ; (8001434 ) - 8001260: f443 2380 orr.w r3, r3, #262144 ; 0x40000 - 8001264: 6013 str r3, [r2, #0] - 8001266: 4b73 ldr r3, [pc, #460] ; (8001434 ) - 8001268: 681b ldr r3, [r3, #0] - 800126a: 4a72 ldr r2, [pc, #456] ; (8001434 ) - 800126c: f443 3380 orr.w r3, r3, #65536 ; 0x10000 - 8001270: 6013 str r3, [r2, #0] - 8001272: e00b b.n 800128c - 8001274: 4b6f ldr r3, [pc, #444] ; (8001434 ) - 8001276: 681b ldr r3, [r3, #0] - 8001278: 4a6e ldr r2, [pc, #440] ; (8001434 ) - 800127a: f423 3380 bic.w r3, r3, #65536 ; 0x10000 - 800127e: 6013 str r3, [r2, #0] - 8001280: 4b6c ldr r3, [pc, #432] ; (8001434 ) - 8001282: 681b ldr r3, [r3, #0] - 8001284: 4a6b ldr r2, [pc, #428] ; (8001434 ) - 8001286: f423 2380 bic.w r3, r3, #262144 ; 0x40000 - 800128a: 6013 str r3, [r2, #0] + 8001342: 687b ldr r3, [r7, #4] + 8001344: 685b ldr r3, [r3, #4] + 8001346: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 + 800134a: d106 bne.n 800135a + 800134c: 4b84 ldr r3, [pc, #528] ; (8001560 ) + 800134e: 681b ldr r3, [r3, #0] + 8001350: 4a83 ldr r2, [pc, #524] ; (8001560 ) + 8001352: f443 3380 orr.w r3, r3, #65536 ; 0x10000 + 8001356: 6013 str r3, [r2, #0] + 8001358: e02e b.n 80013b8 + 800135a: 687b ldr r3, [r7, #4] + 800135c: 685b ldr r3, [r3, #4] + 800135e: 2b00 cmp r3, #0 + 8001360: d10c bne.n 800137c + 8001362: 4b7f ldr r3, [pc, #508] ; (8001560 ) + 8001364: 681b ldr r3, [r3, #0] + 8001366: 4a7e ldr r2, [pc, #504] ; (8001560 ) + 8001368: f423 3380 bic.w r3, r3, #65536 ; 0x10000 + 800136c: 6013 str r3, [r2, #0] + 800136e: 4b7c ldr r3, [pc, #496] ; (8001560 ) + 8001370: 681b ldr r3, [r3, #0] + 8001372: 4a7b ldr r2, [pc, #492] ; (8001560 ) + 8001374: f423 2380 bic.w r3, r3, #262144 ; 0x40000 + 8001378: 6013 str r3, [r2, #0] + 800137a: e01d b.n 80013b8 + 800137c: 687b ldr r3, [r7, #4] + 800137e: 685b ldr r3, [r3, #4] + 8001380: f5b3 2fa0 cmp.w r3, #327680 ; 0x50000 + 8001384: d10c bne.n 80013a0 + 8001386: 4b76 ldr r3, [pc, #472] ; (8001560 ) + 8001388: 681b ldr r3, [r3, #0] + 800138a: 4a75 ldr r2, [pc, #468] ; (8001560 ) + 800138c: f443 2380 orr.w r3, r3, #262144 ; 0x40000 + 8001390: 6013 str r3, [r2, #0] + 8001392: 4b73 ldr r3, [pc, #460] ; (8001560 ) + 8001394: 681b ldr r3, [r3, #0] + 8001396: 4a72 ldr r2, [pc, #456] ; (8001560 ) + 8001398: f443 3380 orr.w r3, r3, #65536 ; 0x10000 + 800139c: 6013 str r3, [r2, #0] + 800139e: e00b b.n 80013b8 + 80013a0: 4b6f ldr r3, [pc, #444] ; (8001560 ) + 80013a2: 681b ldr r3, [r3, #0] + 80013a4: 4a6e ldr r2, [pc, #440] ; (8001560 ) + 80013a6: f423 3380 bic.w r3, r3, #65536 ; 0x10000 + 80013aa: 6013 str r3, [r2, #0] + 80013ac: 4b6c ldr r3, [pc, #432] ; (8001560 ) + 80013ae: 681b ldr r3, [r3, #0] + 80013b0: 4a6b ldr r2, [pc, #428] ; (8001560 ) + 80013b2: f423 2380 bic.w r3, r3, #262144 ; 0x40000 + 80013b6: 6013 str r3, [r2, #0] /* Check the HSE State */ if(RCC_OscInitStruct->HSEState != RCC_HSE_OFF) - 800128c: 687b ldr r3, [r7, #4] - 800128e: 685b ldr r3, [r3, #4] - 8001290: 2b00 cmp r3, #0 - 8001292: d013 beq.n 80012bc + 80013b8: 687b ldr r3, [r7, #4] + 80013ba: 685b ldr r3, [r3, #4] + 80013bc: 2b00 cmp r3, #0 + 80013be: d013 beq.n 80013e8 { /* Get Start Tick*/ tickstart = HAL_GetTick(); - 8001294: f7ff f9a2 bl 80005dc - 8001298: 6138 str r0, [r7, #16] + 80013c0: f7ff f914 bl 80005ec + 80013c4: 6138 str r0, [r7, #16] /* Wait till HSE is ready */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET) - 800129a: e008 b.n 80012ae + 80013c6: e008 b.n 80013da { if((HAL_GetTick() - tickstart ) > HSE_TIMEOUT_VALUE) - 800129c: f7ff f99e bl 80005dc - 80012a0: 4602 mov r2, r0 - 80012a2: 693b ldr r3, [r7, #16] - 80012a4: 1ad3 subs r3, r2, r3 - 80012a6: 2b64 cmp r3, #100 ; 0x64 - 80012a8: d901 bls.n 80012ae + 80013c8: f7ff f910 bl 80005ec + 80013cc: 4602 mov r2, r0 + 80013ce: 693b ldr r3, [r7, #16] + 80013d0: 1ad3 subs r3, r2, r3 + 80013d2: 2b64 cmp r3, #100 ; 0x64 + 80013d4: d901 bls.n 80013da { return HAL_TIMEOUT; - 80012aa: 2303 movs r3, #3 - 80012ac: e1ec b.n 8001688 + 80013d6: 2303 movs r3, #3 + 80013d8: e1ec b.n 80017b4 while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET) - 80012ae: 4b61 ldr r3, [pc, #388] ; (8001434 ) - 80012b0: 681b ldr r3, [r3, #0] - 80012b2: f403 3300 and.w r3, r3, #131072 ; 0x20000 - 80012b6: 2b00 cmp r3, #0 - 80012b8: d0f0 beq.n 800129c - 80012ba: e014 b.n 80012e6 + 80013da: 4b61 ldr r3, [pc, #388] ; (8001560 ) + 80013dc: 681b ldr r3, [r3, #0] + 80013de: f403 3300 and.w r3, r3, #131072 ; 0x20000 + 80013e2: 2b00 cmp r3, #0 + 80013e4: d0f0 beq.n 80013c8 + 80013e6: e014 b.n 8001412 } } else { /* Get Start Tick*/ tickstart = HAL_GetTick(); - 80012bc: f7ff f98e bl 80005dc - 80012c0: 6138 str r0, [r7, #16] + 80013e8: f7ff f900 bl 80005ec + 80013ec: 6138 str r0, [r7, #16] /* Wait till HSE is bypassed or disabled */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) - 80012c2: e008 b.n 80012d6 + 80013ee: e008 b.n 8001402 { if((HAL_GetTick() - tickstart ) > HSE_TIMEOUT_VALUE) - 80012c4: f7ff f98a bl 80005dc - 80012c8: 4602 mov r2, r0 - 80012ca: 693b ldr r3, [r7, #16] - 80012cc: 1ad3 subs r3, r2, r3 - 80012ce: 2b64 cmp r3, #100 ; 0x64 - 80012d0: d901 bls.n 80012d6 + 80013f0: f7ff f8fc bl 80005ec + 80013f4: 4602 mov r2, r0 + 80013f6: 693b ldr r3, [r7, #16] + 80013f8: 1ad3 subs r3, r2, r3 + 80013fa: 2b64 cmp r3, #100 ; 0x64 + 80013fc: d901 bls.n 8001402 { return HAL_TIMEOUT; - 80012d2: 2303 movs r3, #3 - 80012d4: e1d8 b.n 8001688 + 80013fe: 2303 movs r3, #3 + 8001400: e1d8 b.n 80017b4 while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) - 80012d6: 4b57 ldr r3, [pc, #348] ; (8001434 ) - 80012d8: 681b ldr r3, [r3, #0] - 80012da: f403 3300 and.w r3, r3, #131072 ; 0x20000 - 80012de: 2b00 cmp r3, #0 - 80012e0: d1f0 bne.n 80012c4 - 80012e2: e000 b.n 80012e6 + 8001402: 4b57 ldr r3, [pc, #348] ; (8001560 ) + 8001404: 681b ldr r3, [r3, #0] + 8001406: f403 3300 and.w r3, r3, #131072 ; 0x20000 + 800140a: 2b00 cmp r3, #0 + 800140c: d1f0 bne.n 80013f0 + 800140e: e000 b.n 8001412 if((__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) && (RCC_OscInitStruct->HSEState == RCC_HSE_OFF)) - 80012e4: bf00 nop + 8001410: bf00 nop } } } } /*----------------------------- HSI Configuration --------------------------*/ if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSI) == RCC_OSCILLATORTYPE_HSI) - 80012e6: 687b ldr r3, [r7, #4] - 80012e8: 681b ldr r3, [r3, #0] - 80012ea: f003 0302 and.w r3, r3, #2 - 80012ee: 2b00 cmp r3, #0 - 80012f0: d069 beq.n 80013c6 + 8001412: 687b ldr r3, [r7, #4] + 8001414: 681b ldr r3, [r3, #0] + 8001416: f003 0302 and.w r3, r3, #2 + 800141a: 2b00 cmp r3, #0 + 800141c: d069 beq.n 80014f2 /* Check the parameters */ assert_param(IS_RCC_HSI(RCC_OscInitStruct->HSIState)); assert_param(IS_RCC_CALIBRATION_VALUE(RCC_OscInitStruct->HSICalibrationValue)); /* Check if HSI is used as system clock or as PLL source when PLL is selected as system clock */ if((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_HSI) - 80012f2: 4b50 ldr r3, [pc, #320] ; (8001434 ) - 80012f4: 689b ldr r3, [r3, #8] - 80012f6: f003 030c and.w r3, r3, #12 - 80012fa: 2b00 cmp r3, #0 - 80012fc: d00b beq.n 8001316 + 800141e: 4b50 ldr r3, [pc, #320] ; (8001560 ) + 8001420: 689b ldr r3, [r3, #8] + 8001422: f003 030c and.w r3, r3, #12 + 8001426: 2b00 cmp r3, #0 + 8001428: d00b beq.n 8001442 || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && ((RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) == RCC_PLLCFGR_PLLSRC_HSI))) - 80012fe: 4b4d ldr r3, [pc, #308] ; (8001434 ) - 8001300: 689b ldr r3, [r3, #8] - 8001302: f003 030c and.w r3, r3, #12 - 8001306: 2b08 cmp r3, #8 - 8001308: d11c bne.n 8001344 - 800130a: 4b4a ldr r3, [pc, #296] ; (8001434 ) - 800130c: 685b ldr r3, [r3, #4] - 800130e: f403 0380 and.w r3, r3, #4194304 ; 0x400000 - 8001312: 2b00 cmp r3, #0 - 8001314: d116 bne.n 8001344 + 800142a: 4b4d ldr r3, [pc, #308] ; (8001560 ) + 800142c: 689b ldr r3, [r3, #8] + 800142e: f003 030c and.w r3, r3, #12 + 8001432: 2b08 cmp r3, #8 + 8001434: d11c bne.n 8001470 + 8001436: 4b4a ldr r3, [pc, #296] ; (8001560 ) + 8001438: 685b ldr r3, [r3, #4] + 800143a: f403 0380 and.w r3, r3, #4194304 ; 0x400000 + 800143e: 2b00 cmp r3, #0 + 8001440: d116 bne.n 8001470 { /* When HSI is used as system clock it will not disabled */ if((__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) && (RCC_OscInitStruct->HSIState != RCC_HSI_ON)) - 8001316: 4b47 ldr r3, [pc, #284] ; (8001434 ) - 8001318: 681b ldr r3, [r3, #0] - 800131a: f003 0302 and.w r3, r3, #2 - 800131e: 2b00 cmp r3, #0 - 8001320: d005 beq.n 800132e - 8001322: 687b ldr r3, [r7, #4] - 8001324: 68db ldr r3, [r3, #12] - 8001326: 2b01 cmp r3, #1 - 8001328: d001 beq.n 800132e + 8001442: 4b47 ldr r3, [pc, #284] ; (8001560 ) + 8001444: 681b ldr r3, [r3, #0] + 8001446: f003 0302 and.w r3, r3, #2 + 800144a: 2b00 cmp r3, #0 + 800144c: d005 beq.n 800145a + 800144e: 687b ldr r3, [r7, #4] + 8001450: 68db ldr r3, [r3, #12] + 8001452: 2b01 cmp r3, #1 + 8001454: d001 beq.n 800145a { return HAL_ERROR; - 800132a: 2301 movs r3, #1 - 800132c: e1ac b.n 8001688 + 8001456: 2301 movs r3, #1 + 8001458: e1ac b.n 80017b4 } /* Otherwise, just the calibration is allowed */ else { /* Adjusts the Internal High Speed oscillator (HSI) calibration value.*/ __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSICalibrationValue); - 800132e: 4b41 ldr r3, [pc, #260] ; (8001434 ) - 8001330: 681b ldr r3, [r3, #0] - 8001332: f023 02f8 bic.w r2, r3, #248 ; 0xf8 - 8001336: 687b ldr r3, [r7, #4] - 8001338: 691b ldr r3, [r3, #16] - 800133a: 00db lsls r3, r3, #3 - 800133c: 493d ldr r1, [pc, #244] ; (8001434 ) - 800133e: 4313 orrs r3, r2 - 8001340: 600b str r3, [r1, #0] + 800145a: 4b41 ldr r3, [pc, #260] ; (8001560 ) + 800145c: 681b ldr r3, [r3, #0] + 800145e: f023 02f8 bic.w r2, r3, #248 ; 0xf8 + 8001462: 687b ldr r3, [r7, #4] + 8001464: 691b ldr r3, [r3, #16] + 8001466: 00db lsls r3, r3, #3 + 8001468: 493d ldr r1, [pc, #244] ; (8001560 ) + 800146a: 4313 orrs r3, r2 + 800146c: 600b str r3, [r1, #0] if((__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) && (RCC_OscInitStruct->HSIState != RCC_HSI_ON)) - 8001342: e040 b.n 80013c6 + 800146e: e040 b.n 80014f2 } } else { /* Check the HSI State */ if((RCC_OscInitStruct->HSIState)!= RCC_HSI_OFF) - 8001344: 687b ldr r3, [r7, #4] - 8001346: 68db ldr r3, [r3, #12] - 8001348: 2b00 cmp r3, #0 - 800134a: d023 beq.n 8001394 + 8001470: 687b ldr r3, [r7, #4] + 8001472: 68db ldr r3, [r3, #12] + 8001474: 2b00 cmp r3, #0 + 8001476: d023 beq.n 80014c0 { /* Enable the Internal High Speed oscillator (HSI). */ __HAL_RCC_HSI_ENABLE(); - 800134c: 4b39 ldr r3, [pc, #228] ; (8001434 ) - 800134e: 681b ldr r3, [r3, #0] - 8001350: 4a38 ldr r2, [pc, #224] ; (8001434 ) - 8001352: f043 0301 orr.w r3, r3, #1 - 8001356: 6013 str r3, [r2, #0] + 8001478: 4b39 ldr r3, [pc, #228] ; (8001560 ) + 800147a: 681b ldr r3, [r3, #0] + 800147c: 4a38 ldr r2, [pc, #224] ; (8001560 ) + 800147e: f043 0301 orr.w r3, r3, #1 + 8001482: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); - 8001358: f7ff f940 bl 80005dc - 800135c: 6138 str r0, [r7, #16] + 8001484: f7ff f8b2 bl 80005ec + 8001488: 6138 str r0, [r7, #16] /* Wait till HSI is ready */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET) - 800135e: e008 b.n 8001372 + 800148a: e008 b.n 800149e { if((HAL_GetTick() - tickstart ) > HSI_TIMEOUT_VALUE) - 8001360: f7ff f93c bl 80005dc - 8001364: 4602 mov r2, r0 - 8001366: 693b ldr r3, [r7, #16] - 8001368: 1ad3 subs r3, r2, r3 - 800136a: 2b02 cmp r3, #2 - 800136c: d901 bls.n 8001372 + 800148c: f7ff f8ae bl 80005ec + 8001490: 4602 mov r2, r0 + 8001492: 693b ldr r3, [r7, #16] + 8001494: 1ad3 subs r3, r2, r3 + 8001496: 2b02 cmp r3, #2 + 8001498: d901 bls.n 800149e { return HAL_TIMEOUT; - 800136e: 2303 movs r3, #3 - 8001370: e18a b.n 8001688 + 800149a: 2303 movs r3, #3 + 800149c: e18a b.n 80017b4 while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET) - 8001372: 4b30 ldr r3, [pc, #192] ; (8001434 ) - 8001374: 681b ldr r3, [r3, #0] - 8001376: f003 0302 and.w r3, r3, #2 - 800137a: 2b00 cmp r3, #0 - 800137c: d0f0 beq.n 8001360 + 800149e: 4b30 ldr r3, [pc, #192] ; (8001560 ) + 80014a0: 681b ldr r3, [r3, #0] + 80014a2: f003 0302 and.w r3, r3, #2 + 80014a6: 2b00 cmp r3, #0 + 80014a8: d0f0 beq.n 800148c } } /* Adjusts the Internal High Speed oscillator (HSI) calibration value.*/ __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSICalibrationValue); - 800137e: 4b2d ldr r3, [pc, #180] ; (8001434 ) - 8001380: 681b ldr r3, [r3, #0] - 8001382: f023 02f8 bic.w r2, r3, #248 ; 0xf8 - 8001386: 687b ldr r3, [r7, #4] - 8001388: 691b ldr r3, [r3, #16] - 800138a: 00db lsls r3, r3, #3 - 800138c: 4929 ldr r1, [pc, #164] ; (8001434 ) - 800138e: 4313 orrs r3, r2 - 8001390: 600b str r3, [r1, #0] - 8001392: e018 b.n 80013c6 + 80014aa: 4b2d ldr r3, [pc, #180] ; (8001560 ) + 80014ac: 681b ldr r3, [r3, #0] + 80014ae: f023 02f8 bic.w r2, r3, #248 ; 0xf8 + 80014b2: 687b ldr r3, [r7, #4] + 80014b4: 691b ldr r3, [r3, #16] + 80014b6: 00db lsls r3, r3, #3 + 80014b8: 4929 ldr r1, [pc, #164] ; (8001560 ) + 80014ba: 4313 orrs r3, r2 + 80014bc: 600b str r3, [r1, #0] + 80014be: e018 b.n 80014f2 } else { /* Disable the Internal High Speed oscillator (HSI). */ __HAL_RCC_HSI_DISABLE(); - 8001394: 4b27 ldr r3, [pc, #156] ; (8001434 ) - 8001396: 681b ldr r3, [r3, #0] - 8001398: 4a26 ldr r2, [pc, #152] ; (8001434 ) - 800139a: f023 0301 bic.w r3, r3, #1 - 800139e: 6013 str r3, [r2, #0] + 80014c0: 4b27 ldr r3, [pc, #156] ; (8001560 ) + 80014c2: 681b ldr r3, [r3, #0] + 80014c4: 4a26 ldr r2, [pc, #152] ; (8001560 ) + 80014c6: f023 0301 bic.w r3, r3, #1 + 80014ca: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); - 80013a0: f7ff f91c bl 80005dc - 80013a4: 6138 str r0, [r7, #16] + 80014cc: f7ff f88e bl 80005ec + 80014d0: 6138 str r0, [r7, #16] /* Wait till HSI is ready */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) - 80013a6: e008 b.n 80013ba + 80014d2: e008 b.n 80014e6 { if((HAL_GetTick() - tickstart ) > HSI_TIMEOUT_VALUE) - 80013a8: f7ff f918 bl 80005dc - 80013ac: 4602 mov r2, r0 - 80013ae: 693b ldr r3, [r7, #16] - 80013b0: 1ad3 subs r3, r2, r3 - 80013b2: 2b02 cmp r3, #2 - 80013b4: d901 bls.n 80013ba + 80014d4: f7ff f88a bl 80005ec + 80014d8: 4602 mov r2, r0 + 80014da: 693b ldr r3, [r7, #16] + 80014dc: 1ad3 subs r3, r2, r3 + 80014de: 2b02 cmp r3, #2 + 80014e0: d901 bls.n 80014e6 { return HAL_TIMEOUT; - 80013b6: 2303 movs r3, #3 - 80013b8: e166 b.n 8001688 + 80014e2: 2303 movs r3, #3 + 80014e4: e166 b.n 80017b4 while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) - 80013ba: 4b1e ldr r3, [pc, #120] ; (8001434 ) - 80013bc: 681b ldr r3, [r3, #0] - 80013be: f003 0302 and.w r3, r3, #2 - 80013c2: 2b00 cmp r3, #0 - 80013c4: d1f0 bne.n 80013a8 + 80014e6: 4b1e ldr r3, [pc, #120] ; (8001560 ) + 80014e8: 681b ldr r3, [r3, #0] + 80014ea: f003 0302 and.w r3, r3, #2 + 80014ee: 2b00 cmp r3, #0 + 80014f0: d1f0 bne.n 80014d4 } } } } /*------------------------------ LSI Configuration -------------------------*/ if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSI) == RCC_OSCILLATORTYPE_LSI) - 80013c6: 687b ldr r3, [r7, #4] - 80013c8: 681b ldr r3, [r3, #0] - 80013ca: f003 0308 and.w r3, r3, #8 - 80013ce: 2b00 cmp r3, #0 - 80013d0: d038 beq.n 8001444 + 80014f2: 687b ldr r3, [r7, #4] + 80014f4: 681b ldr r3, [r3, #0] + 80014f6: f003 0308 and.w r3, r3, #8 + 80014fa: 2b00 cmp r3, #0 + 80014fc: d038 beq.n 8001570 { /* Check the parameters */ assert_param(IS_RCC_LSI(RCC_OscInitStruct->LSIState)); /* Check the LSI State */ if((RCC_OscInitStruct->LSIState)!= RCC_LSI_OFF) - 80013d2: 687b ldr r3, [r7, #4] - 80013d4: 695b ldr r3, [r3, #20] - 80013d6: 2b00 cmp r3, #0 - 80013d8: d019 beq.n 800140e + 80014fe: 687b ldr r3, [r7, #4] + 8001500: 695b ldr r3, [r3, #20] + 8001502: 2b00 cmp r3, #0 + 8001504: d019 beq.n 800153a { /* Enable the Internal Low Speed oscillator (LSI). */ __HAL_RCC_LSI_ENABLE(); - 80013da: 4b16 ldr r3, [pc, #88] ; (8001434 ) - 80013dc: 6f5b ldr r3, [r3, #116] ; 0x74 - 80013de: 4a15 ldr r2, [pc, #84] ; (8001434 ) - 80013e0: f043 0301 orr.w r3, r3, #1 - 80013e4: 6753 str r3, [r2, #116] ; 0x74 + 8001506: 4b16 ldr r3, [pc, #88] ; (8001560 ) + 8001508: 6f5b ldr r3, [r3, #116] ; 0x74 + 800150a: 4a15 ldr r2, [pc, #84] ; (8001560 ) + 800150c: f043 0301 orr.w r3, r3, #1 + 8001510: 6753 str r3, [r2, #116] ; 0x74 /* Get Start Tick*/ tickstart = HAL_GetTick(); - 80013e6: f7ff f8f9 bl 80005dc - 80013ea: 6138 str r0, [r7, #16] + 8001512: f7ff f86b bl 80005ec + 8001516: 6138 str r0, [r7, #16] /* Wait till LSI is ready */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) == RESET) - 80013ec: e008 b.n 8001400 + 8001518: e008 b.n 800152c { if((HAL_GetTick() - tickstart ) > LSI_TIMEOUT_VALUE) - 80013ee: f7ff f8f5 bl 80005dc - 80013f2: 4602 mov r2, r0 - 80013f4: 693b ldr r3, [r7, #16] - 80013f6: 1ad3 subs r3, r2, r3 - 80013f8: 2b02 cmp r3, #2 - 80013fa: d901 bls.n 8001400 + 800151a: f7ff f867 bl 80005ec + 800151e: 4602 mov r2, r0 + 8001520: 693b ldr r3, [r7, #16] + 8001522: 1ad3 subs r3, r2, r3 + 8001524: 2b02 cmp r3, #2 + 8001526: d901 bls.n 800152c { return HAL_TIMEOUT; - 80013fc: 2303 movs r3, #3 - 80013fe: e143 b.n 8001688 + 8001528: 2303 movs r3, #3 + 800152a: e143 b.n 80017b4 while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) == RESET) - 8001400: 4b0c ldr r3, [pc, #48] ; (8001434 ) - 8001402: 6f5b ldr r3, [r3, #116] ; 0x74 - 8001404: f003 0302 and.w r3, r3, #2 - 8001408: 2b00 cmp r3, #0 - 800140a: d0f0 beq.n 80013ee - 800140c: e01a b.n 8001444 + 800152c: 4b0c ldr r3, [pc, #48] ; (8001560 ) + 800152e: 6f5b ldr r3, [r3, #116] ; 0x74 + 8001530: f003 0302 and.w r3, r3, #2 + 8001534: 2b00 cmp r3, #0 + 8001536: d0f0 beq.n 800151a + 8001538: e01a b.n 8001570 } } else { /* Disable the Internal Low Speed oscillator (LSI). */ __HAL_RCC_LSI_DISABLE(); - 800140e: 4b09 ldr r3, [pc, #36] ; (8001434 ) - 8001410: 6f5b ldr r3, [r3, #116] ; 0x74 - 8001412: 4a08 ldr r2, [pc, #32] ; (8001434 ) - 8001414: f023 0301 bic.w r3, r3, #1 - 8001418: 6753 str r3, [r2, #116] ; 0x74 + 800153a: 4b09 ldr r3, [pc, #36] ; (8001560 ) + 800153c: 6f5b ldr r3, [r3, #116] ; 0x74 + 800153e: 4a08 ldr r2, [pc, #32] ; (8001560 ) + 8001540: f023 0301 bic.w r3, r3, #1 + 8001544: 6753 str r3, [r2, #116] ; 0x74 /* Get Start Tick*/ tickstart = HAL_GetTick(); - 800141a: f7ff f8df bl 80005dc - 800141e: 6138 str r0, [r7, #16] + 8001546: f7ff f851 bl 80005ec + 800154a: 6138 str r0, [r7, #16] /* Wait till LSI is ready */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) != RESET) - 8001420: e00a b.n 8001438 + 800154c: e00a b.n 8001564 { if((HAL_GetTick() - tickstart ) > LSI_TIMEOUT_VALUE) - 8001422: f7ff f8db bl 80005dc - 8001426: 4602 mov r2, r0 - 8001428: 693b ldr r3, [r7, #16] - 800142a: 1ad3 subs r3, r2, r3 - 800142c: 2b02 cmp r3, #2 - 800142e: d903 bls.n 8001438 + 800154e: f7ff f84d bl 80005ec + 8001552: 4602 mov r2, r0 + 8001554: 693b ldr r3, [r7, #16] + 8001556: 1ad3 subs r3, r2, r3 + 8001558: 2b02 cmp r3, #2 + 800155a: d903 bls.n 8001564 { return HAL_TIMEOUT; - 8001430: 2303 movs r3, #3 - 8001432: e129 b.n 8001688 - 8001434: 40023800 .word 0x40023800 + 800155c: 2303 movs r3, #3 + 800155e: e129 b.n 80017b4 + 8001560: 40023800 .word 0x40023800 while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) != RESET) - 8001438: 4b95 ldr r3, [pc, #596] ; (8001690 ) - 800143a: 6f5b ldr r3, [r3, #116] ; 0x74 - 800143c: f003 0302 and.w r3, r3, #2 - 8001440: 2b00 cmp r3, #0 - 8001442: d1ee bne.n 8001422 + 8001564: 4b95 ldr r3, [pc, #596] ; (80017bc ) + 8001566: 6f5b ldr r3, [r3, #116] ; 0x74 + 8001568: f003 0302 and.w r3, r3, #2 + 800156c: 2b00 cmp r3, #0 + 800156e: d1ee bne.n 800154e } } } } /*------------------------------ LSE Configuration -------------------------*/ if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSE) == RCC_OSCILLATORTYPE_LSE) - 8001444: 687b ldr r3, [r7, #4] - 8001446: 681b ldr r3, [r3, #0] - 8001448: f003 0304 and.w r3, r3, #4 - 800144c: 2b00 cmp r3, #0 - 800144e: f000 80a4 beq.w 800159a + 8001570: 687b ldr r3, [r7, #4] + 8001572: 681b ldr r3, [r3, #0] + 8001574: f003 0304 and.w r3, r3, #4 + 8001578: 2b00 cmp r3, #0 + 800157a: f000 80a4 beq.w 80016c6 /* Check the parameters */ assert_param(IS_RCC_LSE(RCC_OscInitStruct->LSEState)); /* Update LSE configuration in Backup Domain control register */ /* Requires to enable write access to Backup Domain of necessary */ if(__HAL_RCC_PWR_IS_CLK_DISABLED()) - 8001452: 4b8f ldr r3, [pc, #572] ; (8001690 ) - 8001454: 6c1b ldr r3, [r3, #64] ; 0x40 - 8001456: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 - 800145a: 2b00 cmp r3, #0 - 800145c: d10d bne.n 800147a + 800157e: 4b8f ldr r3, [pc, #572] ; (80017bc ) + 8001580: 6c1b ldr r3, [r3, #64] ; 0x40 + 8001582: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 + 8001586: 2b00 cmp r3, #0 + 8001588: d10d bne.n 80015a6 { /* Enable Power Clock*/ __HAL_RCC_PWR_CLK_ENABLE(); - 800145e: 4b8c ldr r3, [pc, #560] ; (8001690 ) - 8001460: 6c1b ldr r3, [r3, #64] ; 0x40 - 8001462: 4a8b ldr r2, [pc, #556] ; (8001690 ) - 8001464: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 - 8001468: 6413 str r3, [r2, #64] ; 0x40 - 800146a: 4b89 ldr r3, [pc, #548] ; (8001690 ) - 800146c: 6c1b ldr r3, [r3, #64] ; 0x40 - 800146e: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 - 8001472: 60fb str r3, [r7, #12] - 8001474: 68fb ldr r3, [r7, #12] + 800158a: 4b8c ldr r3, [pc, #560] ; (80017bc ) + 800158c: 6c1b ldr r3, [r3, #64] ; 0x40 + 800158e: 4a8b ldr r2, [pc, #556] ; (80017bc ) + 8001590: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 + 8001594: 6413 str r3, [r2, #64] ; 0x40 + 8001596: 4b89 ldr r3, [pc, #548] ; (80017bc ) + 8001598: 6c1b ldr r3, [r3, #64] ; 0x40 + 800159a: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 + 800159e: 60fb str r3, [r7, #12] + 80015a0: 68fb ldr r3, [r7, #12] pwrclkchanged = SET; - 8001476: 2301 movs r3, #1 - 8001478: 75fb strb r3, [r7, #23] + 80015a2: 2301 movs r3, #1 + 80015a4: 75fb strb r3, [r7, #23] } if(HAL_IS_BIT_CLR(PWR->CR1, PWR_CR1_DBP)) - 800147a: 4b86 ldr r3, [pc, #536] ; (8001694 ) - 800147c: 681b ldr r3, [r3, #0] - 800147e: f403 7380 and.w r3, r3, #256 ; 0x100 - 8001482: 2b00 cmp r3, #0 - 8001484: d118 bne.n 80014b8 + 80015a6: 4b86 ldr r3, [pc, #536] ; (80017c0 ) + 80015a8: 681b ldr r3, [r3, #0] + 80015aa: f403 7380 and.w r3, r3, #256 ; 0x100 + 80015ae: 2b00 cmp r3, #0 + 80015b0: d118 bne.n 80015e4 { /* Enable write access to Backup domain */ PWR->CR1 |= PWR_CR1_DBP; - 8001486: 4b83 ldr r3, [pc, #524] ; (8001694 ) - 8001488: 681b ldr r3, [r3, #0] - 800148a: 4a82 ldr r2, [pc, #520] ; (8001694 ) - 800148c: f443 7380 orr.w r3, r3, #256 ; 0x100 - 8001490: 6013 str r3, [r2, #0] + 80015b2: 4b83 ldr r3, [pc, #524] ; (80017c0 ) + 80015b4: 681b ldr r3, [r3, #0] + 80015b6: 4a82 ldr r2, [pc, #520] ; (80017c0 ) + 80015b8: f443 7380 orr.w r3, r3, #256 ; 0x100 + 80015bc: 6013 str r3, [r2, #0] /* Wait for Backup domain Write protection disable */ tickstart = HAL_GetTick(); - 8001492: f7ff f8a3 bl 80005dc - 8001496: 6138 str r0, [r7, #16] + 80015be: f7ff f815 bl 80005ec + 80015c2: 6138 str r0, [r7, #16] while(HAL_IS_BIT_CLR(PWR->CR1, PWR_CR1_DBP)) - 8001498: e008 b.n 80014ac + 80015c4: e008 b.n 80015d8 { if((HAL_GetTick() - tickstart ) > RCC_DBP_TIMEOUT_VALUE) - 800149a: f7ff f89f bl 80005dc - 800149e: 4602 mov r2, r0 - 80014a0: 693b ldr r3, [r7, #16] - 80014a2: 1ad3 subs r3, r2, r3 - 80014a4: 2b64 cmp r3, #100 ; 0x64 - 80014a6: d901 bls.n 80014ac + 80015c6: f7ff f811 bl 80005ec + 80015ca: 4602 mov r2, r0 + 80015cc: 693b ldr r3, [r7, #16] + 80015ce: 1ad3 subs r3, r2, r3 + 80015d0: 2b64 cmp r3, #100 ; 0x64 + 80015d2: d901 bls.n 80015d8 { return HAL_TIMEOUT; - 80014a8: 2303 movs r3, #3 - 80014aa: e0ed b.n 8001688 + 80015d4: 2303 movs r3, #3 + 80015d6: e0ed b.n 80017b4 while(HAL_IS_BIT_CLR(PWR->CR1, PWR_CR1_DBP)) - 80014ac: 4b79 ldr r3, [pc, #484] ; (8001694 ) - 80014ae: 681b ldr r3, [r3, #0] - 80014b0: f403 7380 and.w r3, r3, #256 ; 0x100 - 80014b4: 2b00 cmp r3, #0 - 80014b6: d0f0 beq.n 800149a + 80015d8: 4b79 ldr r3, [pc, #484] ; (80017c0 ) + 80015da: 681b ldr r3, [r3, #0] + 80015dc: f403 7380 and.w r3, r3, #256 ; 0x100 + 80015e0: 2b00 cmp r3, #0 + 80015e2: d0f0 beq.n 80015c6 } } } /* Set the new LSE configuration -----------------------------------------*/ __HAL_RCC_LSE_CONFIG(RCC_OscInitStruct->LSEState); - 80014b8: 687b ldr r3, [r7, #4] - 80014ba: 689b ldr r3, [r3, #8] - 80014bc: 2b01 cmp r3, #1 - 80014be: d106 bne.n 80014ce - 80014c0: 4b73 ldr r3, [pc, #460] ; (8001690 ) - 80014c2: 6f1b ldr r3, [r3, #112] ; 0x70 - 80014c4: 4a72 ldr r2, [pc, #456] ; (8001690 ) - 80014c6: f043 0301 orr.w r3, r3, #1 - 80014ca: 6713 str r3, [r2, #112] ; 0x70 - 80014cc: e02d b.n 800152a - 80014ce: 687b ldr r3, [r7, #4] - 80014d0: 689b ldr r3, [r3, #8] - 80014d2: 2b00 cmp r3, #0 - 80014d4: d10c bne.n 80014f0 - 80014d6: 4b6e ldr r3, [pc, #440] ; (8001690 ) - 80014d8: 6f1b ldr r3, [r3, #112] ; 0x70 - 80014da: 4a6d ldr r2, [pc, #436] ; (8001690 ) - 80014dc: f023 0301 bic.w r3, r3, #1 - 80014e0: 6713 str r3, [r2, #112] ; 0x70 - 80014e2: 4b6b ldr r3, [pc, #428] ; (8001690 ) - 80014e4: 6f1b ldr r3, [r3, #112] ; 0x70 - 80014e6: 4a6a ldr r2, [pc, #424] ; (8001690 ) - 80014e8: f023 0304 bic.w r3, r3, #4 - 80014ec: 6713 str r3, [r2, #112] ; 0x70 - 80014ee: e01c b.n 800152a - 80014f0: 687b ldr r3, [r7, #4] - 80014f2: 689b ldr r3, [r3, #8] - 80014f4: 2b05 cmp r3, #5 - 80014f6: d10c bne.n 8001512 - 80014f8: 4b65 ldr r3, [pc, #404] ; (8001690 ) - 80014fa: 6f1b ldr r3, [r3, #112] ; 0x70 - 80014fc: 4a64 ldr r2, [pc, #400] ; (8001690 ) - 80014fe: f043 0304 orr.w r3, r3, #4 - 8001502: 6713 str r3, [r2, #112] ; 0x70 - 8001504: 4b62 ldr r3, [pc, #392] ; (8001690 ) - 8001506: 6f1b ldr r3, [r3, #112] ; 0x70 - 8001508: 4a61 ldr r2, [pc, #388] ; (8001690 ) - 800150a: f043 0301 orr.w r3, r3, #1 - 800150e: 6713 str r3, [r2, #112] ; 0x70 - 8001510: e00b b.n 800152a - 8001512: 4b5f ldr r3, [pc, #380] ; (8001690 ) - 8001514: 6f1b ldr r3, [r3, #112] ; 0x70 - 8001516: 4a5e ldr r2, [pc, #376] ; (8001690 ) - 8001518: f023 0301 bic.w r3, r3, #1 - 800151c: 6713 str r3, [r2, #112] ; 0x70 - 800151e: 4b5c ldr r3, [pc, #368] ; (8001690 ) - 8001520: 6f1b ldr r3, [r3, #112] ; 0x70 - 8001522: 4a5b ldr r2, [pc, #364] ; (8001690 ) - 8001524: f023 0304 bic.w r3, r3, #4 - 8001528: 6713 str r3, [r2, #112] ; 0x70 + 80015e4: 687b ldr r3, [r7, #4] + 80015e6: 689b ldr r3, [r3, #8] + 80015e8: 2b01 cmp r3, #1 + 80015ea: d106 bne.n 80015fa + 80015ec: 4b73 ldr r3, [pc, #460] ; (80017bc ) + 80015ee: 6f1b ldr r3, [r3, #112] ; 0x70 + 80015f0: 4a72 ldr r2, [pc, #456] ; (80017bc ) + 80015f2: f043 0301 orr.w r3, r3, #1 + 80015f6: 6713 str r3, [r2, #112] ; 0x70 + 80015f8: e02d b.n 8001656 + 80015fa: 687b ldr r3, [r7, #4] + 80015fc: 689b ldr r3, [r3, #8] + 80015fe: 2b00 cmp r3, #0 + 8001600: d10c bne.n 800161c + 8001602: 4b6e ldr r3, [pc, #440] ; (80017bc ) + 8001604: 6f1b ldr r3, [r3, #112] ; 0x70 + 8001606: 4a6d ldr r2, [pc, #436] ; (80017bc ) + 8001608: f023 0301 bic.w r3, r3, #1 + 800160c: 6713 str r3, [r2, #112] ; 0x70 + 800160e: 4b6b ldr r3, [pc, #428] ; (80017bc ) + 8001610: 6f1b ldr r3, [r3, #112] ; 0x70 + 8001612: 4a6a ldr r2, [pc, #424] ; (80017bc ) + 8001614: f023 0304 bic.w r3, r3, #4 + 8001618: 6713 str r3, [r2, #112] ; 0x70 + 800161a: e01c b.n 8001656 + 800161c: 687b ldr r3, [r7, #4] + 800161e: 689b ldr r3, [r3, #8] + 8001620: 2b05 cmp r3, #5 + 8001622: d10c bne.n 800163e + 8001624: 4b65 ldr r3, [pc, #404] ; (80017bc ) + 8001626: 6f1b ldr r3, [r3, #112] ; 0x70 + 8001628: 4a64 ldr r2, [pc, #400] ; (80017bc ) + 800162a: f043 0304 orr.w r3, r3, #4 + 800162e: 6713 str r3, [r2, #112] ; 0x70 + 8001630: 4b62 ldr r3, [pc, #392] ; (80017bc ) + 8001632: 6f1b ldr r3, [r3, #112] ; 0x70 + 8001634: 4a61 ldr r2, [pc, #388] ; (80017bc ) + 8001636: f043 0301 orr.w r3, r3, #1 + 800163a: 6713 str r3, [r2, #112] ; 0x70 + 800163c: e00b b.n 8001656 + 800163e: 4b5f ldr r3, [pc, #380] ; (80017bc ) + 8001640: 6f1b ldr r3, [r3, #112] ; 0x70 + 8001642: 4a5e ldr r2, [pc, #376] ; (80017bc ) + 8001644: f023 0301 bic.w r3, r3, #1 + 8001648: 6713 str r3, [r2, #112] ; 0x70 + 800164a: 4b5c ldr r3, [pc, #368] ; (80017bc ) + 800164c: 6f1b ldr r3, [r3, #112] ; 0x70 + 800164e: 4a5b ldr r2, [pc, #364] ; (80017bc ) + 8001650: f023 0304 bic.w r3, r3, #4 + 8001654: 6713 str r3, [r2, #112] ; 0x70 /* Check the LSE State */ if((RCC_OscInitStruct->LSEState) != RCC_LSE_OFF) - 800152a: 687b ldr r3, [r7, #4] - 800152c: 689b ldr r3, [r3, #8] - 800152e: 2b00 cmp r3, #0 - 8001530: d015 beq.n 800155e + 8001656: 687b ldr r3, [r7, #4] + 8001658: 689b ldr r3, [r3, #8] + 800165a: 2b00 cmp r3, #0 + 800165c: d015 beq.n 800168a { /* Get Start Tick*/ tickstart = HAL_GetTick(); - 8001532: f7ff f853 bl 80005dc - 8001536: 6138 str r0, [r7, #16] + 800165e: f7fe ffc5 bl 80005ec + 8001662: 6138 str r0, [r7, #16] /* Wait till LSE is ready */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET) - 8001538: e00a b.n 8001550 + 8001664: e00a b.n 800167c { if((HAL_GetTick() - tickstart ) > RCC_LSE_TIMEOUT_VALUE) - 800153a: f7ff f84f bl 80005dc - 800153e: 4602 mov r2, r0 - 8001540: 693b ldr r3, [r7, #16] - 8001542: 1ad3 subs r3, r2, r3 - 8001544: f241 3288 movw r2, #5000 ; 0x1388 - 8001548: 4293 cmp r3, r2 - 800154a: d901 bls.n 8001550 + 8001666: f7fe ffc1 bl 80005ec + 800166a: 4602 mov r2, r0 + 800166c: 693b ldr r3, [r7, #16] + 800166e: 1ad3 subs r3, r2, r3 + 8001670: f241 3288 movw r2, #5000 ; 0x1388 + 8001674: 4293 cmp r3, r2 + 8001676: d901 bls.n 800167c { return HAL_TIMEOUT; - 800154c: 2303 movs r3, #3 - 800154e: e09b b.n 8001688 + 8001678: 2303 movs r3, #3 + 800167a: e09b b.n 80017b4 while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET) - 8001550: 4b4f ldr r3, [pc, #316] ; (8001690 ) - 8001552: 6f1b ldr r3, [r3, #112] ; 0x70 - 8001554: f003 0302 and.w r3, r3, #2 - 8001558: 2b00 cmp r3, #0 - 800155a: d0ee beq.n 800153a - 800155c: e014 b.n 8001588 + 800167c: 4b4f ldr r3, [pc, #316] ; (80017bc ) + 800167e: 6f1b ldr r3, [r3, #112] ; 0x70 + 8001680: f003 0302 and.w r3, r3, #2 + 8001684: 2b00 cmp r3, #0 + 8001686: d0ee beq.n 8001666 + 8001688: e014 b.n 80016b4 } } else { /* Get Start Tick*/ tickstart = HAL_GetTick(); - 800155e: f7ff f83d bl 80005dc - 8001562: 6138 str r0, [r7, #16] + 800168a: f7fe ffaf bl 80005ec + 800168e: 6138 str r0, [r7, #16] /* Wait till LSE is ready */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) != RESET) - 8001564: e00a b.n 800157c + 8001690: e00a b.n 80016a8 { if((HAL_GetTick() - tickstart ) > RCC_LSE_TIMEOUT_VALUE) - 8001566: f7ff f839 bl 80005dc - 800156a: 4602 mov r2, r0 - 800156c: 693b ldr r3, [r7, #16] - 800156e: 1ad3 subs r3, r2, r3 - 8001570: f241 3288 movw r2, #5000 ; 0x1388 - 8001574: 4293 cmp r3, r2 - 8001576: d901 bls.n 800157c + 8001692: f7fe ffab bl 80005ec + 8001696: 4602 mov r2, r0 + 8001698: 693b ldr r3, [r7, #16] + 800169a: 1ad3 subs r3, r2, r3 + 800169c: f241 3288 movw r2, #5000 ; 0x1388 + 80016a0: 4293 cmp r3, r2 + 80016a2: d901 bls.n 80016a8 { return HAL_TIMEOUT; - 8001578: 2303 movs r3, #3 - 800157a: e085 b.n 8001688 + 80016a4: 2303 movs r3, #3 + 80016a6: e085 b.n 80017b4 while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) != RESET) - 800157c: 4b44 ldr r3, [pc, #272] ; (8001690 ) - 800157e: 6f1b ldr r3, [r3, #112] ; 0x70 - 8001580: f003 0302 and.w r3, r3, #2 - 8001584: 2b00 cmp r3, #0 - 8001586: d1ee bne.n 8001566 + 80016a8: 4b44 ldr r3, [pc, #272] ; (80017bc ) + 80016aa: 6f1b ldr r3, [r3, #112] ; 0x70 + 80016ac: f003 0302 and.w r3, r3, #2 + 80016b0: 2b00 cmp r3, #0 + 80016b2: d1ee bne.n 8001692 } } } /* Restore clock configuration if changed */ if(pwrclkchanged == SET) - 8001588: 7dfb ldrb r3, [r7, #23] - 800158a: 2b01 cmp r3, #1 - 800158c: d105 bne.n 800159a + 80016b4: 7dfb ldrb r3, [r7, #23] + 80016b6: 2b01 cmp r3, #1 + 80016b8: d105 bne.n 80016c6 { __HAL_RCC_PWR_CLK_DISABLE(); - 800158e: 4b40 ldr r3, [pc, #256] ; (8001690 ) - 8001590: 6c1b ldr r3, [r3, #64] ; 0x40 - 8001592: 4a3f ldr r2, [pc, #252] ; (8001690 ) - 8001594: f023 5380 bic.w r3, r3, #268435456 ; 0x10000000 - 8001598: 6413 str r3, [r2, #64] ; 0x40 + 80016ba: 4b40 ldr r3, [pc, #256] ; (80017bc ) + 80016bc: 6c1b ldr r3, [r3, #64] ; 0x40 + 80016be: 4a3f ldr r2, [pc, #252] ; (80017bc ) + 80016c0: f023 5380 bic.w r3, r3, #268435456 ; 0x10000000 + 80016c4: 6413 str r3, [r2, #64] ; 0x40 } } /*-------------------------------- PLL Configuration -----------------------*/ /* Check the parameters */ assert_param(IS_RCC_PLL(RCC_OscInitStruct->PLL.PLLState)); if ((RCC_OscInitStruct->PLL.PLLState) != RCC_PLL_NONE) - 800159a: 687b ldr r3, [r7, #4] - 800159c: 699b ldr r3, [r3, #24] - 800159e: 2b00 cmp r3, #0 - 80015a0: d071 beq.n 8001686 + 80016c6: 687b ldr r3, [r7, #4] + 80016c8: 699b ldr r3, [r3, #24] + 80016ca: 2b00 cmp r3, #0 + 80016cc: d071 beq.n 80017b2 { /* Check if the PLL is used as system clock or not */ if(__HAL_RCC_GET_SYSCLK_SOURCE() != RCC_SYSCLKSOURCE_STATUS_PLLCLK) - 80015a2: 4b3b ldr r3, [pc, #236] ; (8001690 ) - 80015a4: 689b ldr r3, [r3, #8] - 80015a6: f003 030c and.w r3, r3, #12 - 80015aa: 2b08 cmp r3, #8 - 80015ac: d069 beq.n 8001682 + 80016ce: 4b3b ldr r3, [pc, #236] ; (80017bc ) + 80016d0: 689b ldr r3, [r3, #8] + 80016d2: f003 030c and.w r3, r3, #12 + 80016d6: 2b08 cmp r3, #8 + 80016d8: d069 beq.n 80017ae { if((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_ON) - 80015ae: 687b ldr r3, [r7, #4] - 80015b0: 699b ldr r3, [r3, #24] - 80015b2: 2b02 cmp r3, #2 - 80015b4: d14b bne.n 800164e + 80016da: 687b ldr r3, [r7, #4] + 80016dc: 699b ldr r3, [r3, #24] + 80016de: 2b02 cmp r3, #2 + 80016e0: d14b bne.n 800177a #if defined (RCC_PLLCFGR_PLLR) assert_param(IS_RCC_PLLR_VALUE(RCC_OscInitStruct->PLL.PLLR)); #endif /* Disable the main PLL. */ __HAL_RCC_PLL_DISABLE(); - 80015b6: 4b36 ldr r3, [pc, #216] ; (8001690 ) - 80015b8: 681b ldr r3, [r3, #0] - 80015ba: 4a35 ldr r2, [pc, #212] ; (8001690 ) - 80015bc: f023 7380 bic.w r3, r3, #16777216 ; 0x1000000 - 80015c0: 6013 str r3, [r2, #0] + 80016e2: 4b36 ldr r3, [pc, #216] ; (80017bc ) + 80016e4: 681b ldr r3, [r3, #0] + 80016e6: 4a35 ldr r2, [pc, #212] ; (80017bc ) + 80016e8: f023 7380 bic.w r3, r3, #16777216 ; 0x1000000 + 80016ec: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); - 80015c2: f7ff f80b bl 80005dc - 80015c6: 6138 str r0, [r7, #16] + 80016ee: f7fe ff7d bl 80005ec + 80016f2: 6138 str r0, [r7, #16] /* Wait till PLL is ready */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET) - 80015c8: e008 b.n 80015dc + 80016f4: e008 b.n 8001708 { if((HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE) - 80015ca: f7ff f807 bl 80005dc - 80015ce: 4602 mov r2, r0 - 80015d0: 693b ldr r3, [r7, #16] - 80015d2: 1ad3 subs r3, r2, r3 - 80015d4: 2b02 cmp r3, #2 - 80015d6: d901 bls.n 80015dc + 80016f6: f7fe ff79 bl 80005ec + 80016fa: 4602 mov r2, r0 + 80016fc: 693b ldr r3, [r7, #16] + 80016fe: 1ad3 subs r3, r2, r3 + 8001700: 2b02 cmp r3, #2 + 8001702: d901 bls.n 8001708 { return HAL_TIMEOUT; - 80015d8: 2303 movs r3, #3 - 80015da: e055 b.n 8001688 + 8001704: 2303 movs r3, #3 + 8001706: e055 b.n 80017b4 while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET) - 80015dc: 4b2c ldr r3, [pc, #176] ; (8001690 ) - 80015de: 681b ldr r3, [r3, #0] - 80015e0: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 - 80015e4: 2b00 cmp r3, #0 - 80015e6: d1f0 bne.n 80015ca + 8001708: 4b2c ldr r3, [pc, #176] ; (80017bc ) + 800170a: 681b ldr r3, [r3, #0] + 800170c: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 + 8001710: 2b00 cmp r3, #0 + 8001712: d1f0 bne.n 80016f6 } } /* Configure the main PLL clock source, multiplication and division factors. */ #if defined (RCC_PLLCFGR_PLLR) __HAL_RCC_PLL_CONFIG(RCC_OscInitStruct->PLL.PLLSource, - 80015e8: 687b ldr r3, [r7, #4] - 80015ea: 69da ldr r2, [r3, #28] - 80015ec: 687b ldr r3, [r7, #4] - 80015ee: 6a1b ldr r3, [r3, #32] - 80015f0: 431a orrs r2, r3 - 80015f2: 687b ldr r3, [r7, #4] - 80015f4: 6a5b ldr r3, [r3, #36] ; 0x24 - 80015f6: 019b lsls r3, r3, #6 - 80015f8: 431a orrs r2, r3 - 80015fa: 687b ldr r3, [r7, #4] - 80015fc: 6a9b ldr r3, [r3, #40] ; 0x28 - 80015fe: 085b lsrs r3, r3, #1 - 8001600: 3b01 subs r3, #1 - 8001602: 041b lsls r3, r3, #16 - 8001604: 431a orrs r2, r3 - 8001606: 687b ldr r3, [r7, #4] - 8001608: 6adb ldr r3, [r3, #44] ; 0x2c - 800160a: 061b lsls r3, r3, #24 - 800160c: 431a orrs r2, r3 - 800160e: 687b ldr r3, [r7, #4] - 8001610: 6b1b ldr r3, [r3, #48] ; 0x30 - 8001612: 071b lsls r3, r3, #28 - 8001614: 491e ldr r1, [pc, #120] ; (8001690 ) - 8001616: 4313 orrs r3, r2 - 8001618: 604b str r3, [r1, #4] + 8001714: 687b ldr r3, [r7, #4] + 8001716: 69da ldr r2, [r3, #28] + 8001718: 687b ldr r3, [r7, #4] + 800171a: 6a1b ldr r3, [r3, #32] + 800171c: 431a orrs r2, r3 + 800171e: 687b ldr r3, [r7, #4] + 8001720: 6a5b ldr r3, [r3, #36] ; 0x24 + 8001722: 019b lsls r3, r3, #6 + 8001724: 431a orrs r2, r3 + 8001726: 687b ldr r3, [r7, #4] + 8001728: 6a9b ldr r3, [r3, #40] ; 0x28 + 800172a: 085b lsrs r3, r3, #1 + 800172c: 3b01 subs r3, #1 + 800172e: 041b lsls r3, r3, #16 + 8001730: 431a orrs r2, r3 + 8001732: 687b ldr r3, [r7, #4] + 8001734: 6adb ldr r3, [r3, #44] ; 0x2c + 8001736: 061b lsls r3, r3, #24 + 8001738: 431a orrs r2, r3 + 800173a: 687b ldr r3, [r7, #4] + 800173c: 6b1b ldr r3, [r3, #48] ; 0x30 + 800173e: 071b lsls r3, r3, #28 + 8001740: 491e ldr r1, [pc, #120] ; (80017bc ) + 8001742: 4313 orrs r3, r2 + 8001744: 604b str r3, [r1, #4] RCC_OscInitStruct->PLL.PLLP, RCC_OscInitStruct->PLL.PLLQ); #endif /* Enable the main PLL. */ __HAL_RCC_PLL_ENABLE(); - 800161a: 4b1d ldr r3, [pc, #116] ; (8001690 ) - 800161c: 681b ldr r3, [r3, #0] - 800161e: 4a1c ldr r2, [pc, #112] ; (8001690 ) - 8001620: f043 7380 orr.w r3, r3, #16777216 ; 0x1000000 - 8001624: 6013 str r3, [r2, #0] + 8001746: 4b1d ldr r3, [pc, #116] ; (80017bc ) + 8001748: 681b ldr r3, [r3, #0] + 800174a: 4a1c ldr r2, [pc, #112] ; (80017bc ) + 800174c: f043 7380 orr.w r3, r3, #16777216 ; 0x1000000 + 8001750: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); - 8001626: f7fe ffd9 bl 80005dc - 800162a: 6138 str r0, [r7, #16] + 8001752: f7fe ff4b bl 80005ec + 8001756: 6138 str r0, [r7, #16] /* Wait till PLL is ready */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET) - 800162c: e008 b.n 8001640 + 8001758: e008 b.n 800176c { if((HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE) - 800162e: f7fe ffd5 bl 80005dc - 8001632: 4602 mov r2, r0 - 8001634: 693b ldr r3, [r7, #16] - 8001636: 1ad3 subs r3, r2, r3 - 8001638: 2b02 cmp r3, #2 - 800163a: d901 bls.n 8001640 + 800175a: f7fe ff47 bl 80005ec + 800175e: 4602 mov r2, r0 + 8001760: 693b ldr r3, [r7, #16] + 8001762: 1ad3 subs r3, r2, r3 + 8001764: 2b02 cmp r3, #2 + 8001766: d901 bls.n 800176c { return HAL_TIMEOUT; - 800163c: 2303 movs r3, #3 - 800163e: e023 b.n 8001688 + 8001768: 2303 movs r3, #3 + 800176a: e023 b.n 80017b4 while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET) - 8001640: 4b13 ldr r3, [pc, #76] ; (8001690 ) - 8001642: 681b ldr r3, [r3, #0] - 8001644: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 - 8001648: 2b00 cmp r3, #0 - 800164a: d0f0 beq.n 800162e - 800164c: e01b b.n 8001686 + 800176c: 4b13 ldr r3, [pc, #76] ; (80017bc ) + 800176e: 681b ldr r3, [r3, #0] + 8001770: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 + 8001774: 2b00 cmp r3, #0 + 8001776: d0f0 beq.n 800175a + 8001778: e01b b.n 80017b2 } } else { /* Disable the main PLL. */ __HAL_RCC_PLL_DISABLE(); - 800164e: 4b10 ldr r3, [pc, #64] ; (8001690 ) - 8001650: 681b ldr r3, [r3, #0] - 8001652: 4a0f ldr r2, [pc, #60] ; (8001690 ) - 8001654: f023 7380 bic.w r3, r3, #16777216 ; 0x1000000 - 8001658: 6013 str r3, [r2, #0] + 800177a: 4b10 ldr r3, [pc, #64] ; (80017bc ) + 800177c: 681b ldr r3, [r3, #0] + 800177e: 4a0f ldr r2, [pc, #60] ; (80017bc ) + 8001780: f023 7380 bic.w r3, r3, #16777216 ; 0x1000000 + 8001784: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); - 800165a: f7fe ffbf bl 80005dc - 800165e: 6138 str r0, [r7, #16] + 8001786: f7fe ff31 bl 80005ec + 800178a: 6138 str r0, [r7, #16] /* Wait till PLL is ready */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET) - 8001660: e008 b.n 8001674 + 800178c: e008 b.n 80017a0 { if((HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE) - 8001662: f7fe ffbb bl 80005dc - 8001666: 4602 mov r2, r0 - 8001668: 693b ldr r3, [r7, #16] - 800166a: 1ad3 subs r3, r2, r3 - 800166c: 2b02 cmp r3, #2 - 800166e: d901 bls.n 8001674 + 800178e: f7fe ff2d bl 80005ec + 8001792: 4602 mov r2, r0 + 8001794: 693b ldr r3, [r7, #16] + 8001796: 1ad3 subs r3, r2, r3 + 8001798: 2b02 cmp r3, #2 + 800179a: d901 bls.n 80017a0 { return HAL_TIMEOUT; - 8001670: 2303 movs r3, #3 - 8001672: e009 b.n 8001688 + 800179c: 2303 movs r3, #3 + 800179e: e009 b.n 80017b4 while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET) - 8001674: 4b06 ldr r3, [pc, #24] ; (8001690 ) - 8001676: 681b ldr r3, [r3, #0] - 8001678: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 - 800167c: 2b00 cmp r3, #0 - 800167e: d1f0 bne.n 8001662 - 8001680: e001 b.n 8001686 + 80017a0: 4b06 ldr r3, [pc, #24] ; (80017bc ) + 80017a2: 681b ldr r3, [r3, #0] + 80017a4: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 + 80017a8: 2b00 cmp r3, #0 + 80017aa: d1f0 bne.n 800178e + 80017ac: e001 b.n 80017b2 } } } else { return HAL_ERROR; - 8001682: 2301 movs r3, #1 - 8001684: e000 b.n 8001688 + 80017ae: 2301 movs r3, #1 + 80017b0: e000 b.n 80017b4 } } return HAL_OK; - 8001686: 2300 movs r3, #0 + 80017b2: 2300 movs r3, #0 } - 8001688: 4618 mov r0, r3 - 800168a: 3718 adds r7, #24 - 800168c: 46bd mov sp, r7 - 800168e: bd80 pop {r7, pc} - 8001690: 40023800 .word 0x40023800 - 8001694: 40007000 .word 0x40007000 - -08001698 : + 80017b4: 4618 mov r0, r3 + 80017b6: 3718 adds r7, #24 + 80017b8: 46bd mov sp, r7 + 80017ba: bd80 pop {r7, pc} + 80017bc: 40023800 .word 0x40023800 + 80017c0: 40007000 .word 0x40007000 + +080017c4 : * HPRE[3:0] bits to ensure that HCLK not exceed the maximum allowed frequency * (for more details refer to section above "Initialization/de-initialization functions") * @retval None */ HAL_StatusTypeDef HAL_RCC_ClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t FLatency) { - 8001698: b580 push {r7, lr} - 800169a: b084 sub sp, #16 - 800169c: af00 add r7, sp, #0 - 800169e: 6078 str r0, [r7, #4] - 80016a0: 6039 str r1, [r7, #0] + 80017c4: b580 push {r7, lr} + 80017c6: b084 sub sp, #16 + 80017c8: af00 add r7, sp, #0 + 80017ca: 6078 str r0, [r7, #4] + 80017cc: 6039 str r1, [r7, #0] uint32_t tickstart = 0; - 80016a2: 2300 movs r3, #0 - 80016a4: 60fb str r3, [r7, #12] + 80017ce: 2300 movs r3, #0 + 80017d0: 60fb str r3, [r7, #12] /* Check Null pointer */ if(RCC_ClkInitStruct == NULL) - 80016a6: 687b ldr r3, [r7, #4] - 80016a8: 2b00 cmp r3, #0 - 80016aa: d101 bne.n 80016b0 + 80017d2: 687b ldr r3, [r7, #4] + 80017d4: 2b00 cmp r3, #0 + 80017d6: d101 bne.n 80017dc { return HAL_ERROR; - 80016ac: 2301 movs r3, #1 - 80016ae: e0ce b.n 800184e + 80017d8: 2301 movs r3, #1 + 80017da: e0ce b.n 800197a /* To correctly read data from FLASH memory, the number of wait states (LATENCY) must be correctly programmed according to the frequency of the CPU clock (HCLK) and the supply voltage of the device. */ /* Increasing the CPU frequency */ if(FLatency > __HAL_FLASH_GET_LATENCY()) - 80016b0: 4b69 ldr r3, [pc, #420] ; (8001858 ) - 80016b2: 681b ldr r3, [r3, #0] - 80016b4: f003 030f and.w r3, r3, #15 - 80016b8: 683a ldr r2, [r7, #0] - 80016ba: 429a cmp r2, r3 - 80016bc: d910 bls.n 80016e0 + 80017dc: 4b69 ldr r3, [pc, #420] ; (8001984 ) + 80017de: 681b ldr r3, [r3, #0] + 80017e0: f003 030f and.w r3, r3, #15 + 80017e4: 683a ldr r2, [r7, #0] + 80017e6: 429a cmp r2, r3 + 80017e8: d910 bls.n 800180c { /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */ __HAL_FLASH_SET_LATENCY(FLatency); - 80016be: 4b66 ldr r3, [pc, #408] ; (8001858 ) - 80016c0: 681b ldr r3, [r3, #0] - 80016c2: f023 020f bic.w r2, r3, #15 - 80016c6: 4964 ldr r1, [pc, #400] ; (8001858 ) - 80016c8: 683b ldr r3, [r7, #0] - 80016ca: 4313 orrs r3, r2 - 80016cc: 600b str r3, [r1, #0] + 80017ea: 4b66 ldr r3, [pc, #408] ; (8001984 ) + 80017ec: 681b ldr r3, [r3, #0] + 80017ee: f023 020f bic.w r2, r3, #15 + 80017f2: 4964 ldr r1, [pc, #400] ; (8001984 ) + 80017f4: 683b ldr r3, [r7, #0] + 80017f6: 4313 orrs r3, r2 + 80017f8: 600b str r3, [r1, #0] /* Check that the new number of wait states is taken into account to access the Flash memory by reading the FLASH_ACR register */ if(__HAL_FLASH_GET_LATENCY() != FLatency) - 80016ce: 4b62 ldr r3, [pc, #392] ; (8001858 ) - 80016d0: 681b ldr r3, [r3, #0] - 80016d2: f003 030f and.w r3, r3, #15 - 80016d6: 683a ldr r2, [r7, #0] - 80016d8: 429a cmp r2, r3 - 80016da: d001 beq.n 80016e0 + 80017fa: 4b62 ldr r3, [pc, #392] ; (8001984 ) + 80017fc: 681b ldr r3, [r3, #0] + 80017fe: f003 030f and.w r3, r3, #15 + 8001802: 683a ldr r2, [r7, #0] + 8001804: 429a cmp r2, r3 + 8001806: d001 beq.n 800180c { return HAL_ERROR; - 80016dc: 2301 movs r3, #1 - 80016de: e0b6 b.n 800184e + 8001808: 2301 movs r3, #1 + 800180a: e0b6 b.n 800197a } } /*-------------------------- HCLK Configuration --------------------------*/ if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_HCLK) == RCC_CLOCKTYPE_HCLK) - 80016e0: 687b ldr r3, [r7, #4] - 80016e2: 681b ldr r3, [r3, #0] - 80016e4: f003 0302 and.w r3, r3, #2 - 80016e8: 2b00 cmp r3, #0 - 80016ea: d020 beq.n 800172e + 800180c: 687b ldr r3, [r7, #4] + 800180e: 681b ldr r3, [r3, #0] + 8001810: f003 0302 and.w r3, r3, #2 + 8001814: 2b00 cmp r3, #0 + 8001816: d020 beq.n 800185a { /* Set the highest APBx dividers in order to ensure that we do not go through a non-spec phase whatever we decrease or increase HCLK. */ if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK1) == RCC_CLOCKTYPE_PCLK1) - 80016ec: 687b ldr r3, [r7, #4] - 80016ee: 681b ldr r3, [r3, #0] - 80016f0: f003 0304 and.w r3, r3, #4 - 80016f4: 2b00 cmp r3, #0 - 80016f6: d005 beq.n 8001704 + 8001818: 687b ldr r3, [r7, #4] + 800181a: 681b ldr r3, [r3, #0] + 800181c: f003 0304 and.w r3, r3, #4 + 8001820: 2b00 cmp r3, #0 + 8001822: d005 beq.n 8001830 { MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE1, RCC_HCLK_DIV16); - 80016f8: 4b58 ldr r3, [pc, #352] ; (800185c ) - 80016fa: 689b ldr r3, [r3, #8] - 80016fc: 4a57 ldr r2, [pc, #348] ; (800185c ) - 80016fe: f443 53e0 orr.w r3, r3, #7168 ; 0x1c00 - 8001702: 6093 str r3, [r2, #8] + 8001824: 4b58 ldr r3, [pc, #352] ; (8001988 ) + 8001826: 689b ldr r3, [r3, #8] + 8001828: 4a57 ldr r2, [pc, #348] ; (8001988 ) + 800182a: f443 53e0 orr.w r3, r3, #7168 ; 0x1c00 + 800182e: 6093 str r3, [r2, #8] } if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK2) == RCC_CLOCKTYPE_PCLK2) - 8001704: 687b ldr r3, [r7, #4] - 8001706: 681b ldr r3, [r3, #0] - 8001708: f003 0308 and.w r3, r3, #8 - 800170c: 2b00 cmp r3, #0 - 800170e: d005 beq.n 800171c + 8001830: 687b ldr r3, [r7, #4] + 8001832: 681b ldr r3, [r3, #0] + 8001834: f003 0308 and.w r3, r3, #8 + 8001838: 2b00 cmp r3, #0 + 800183a: d005 beq.n 8001848 { MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE2, (RCC_HCLK_DIV16 << 3)); - 8001710: 4b52 ldr r3, [pc, #328] ; (800185c ) - 8001712: 689b ldr r3, [r3, #8] - 8001714: 4a51 ldr r2, [pc, #324] ; (800185c ) - 8001716: f443 4360 orr.w r3, r3, #57344 ; 0xe000 - 800171a: 6093 str r3, [r2, #8] + 800183c: 4b52 ldr r3, [pc, #328] ; (8001988 ) + 800183e: 689b ldr r3, [r3, #8] + 8001840: 4a51 ldr r2, [pc, #324] ; (8001988 ) + 8001842: f443 4360 orr.w r3, r3, #57344 ; 0xe000 + 8001846: 6093 str r3, [r2, #8] } /* Set the new HCLK clock divider */ assert_param(IS_RCC_HCLK(RCC_ClkInitStruct->AHBCLKDivider)); MODIFY_REG(RCC->CFGR, RCC_CFGR_HPRE, RCC_ClkInitStruct->AHBCLKDivider); - 800171c: 4b4f ldr r3, [pc, #316] ; (800185c ) - 800171e: 689b ldr r3, [r3, #8] - 8001720: f023 02f0 bic.w r2, r3, #240 ; 0xf0 - 8001724: 687b ldr r3, [r7, #4] - 8001726: 689b ldr r3, [r3, #8] - 8001728: 494c ldr r1, [pc, #304] ; (800185c ) - 800172a: 4313 orrs r3, r2 - 800172c: 608b str r3, [r1, #8] + 8001848: 4b4f ldr r3, [pc, #316] ; (8001988 ) + 800184a: 689b ldr r3, [r3, #8] + 800184c: f023 02f0 bic.w r2, r3, #240 ; 0xf0 + 8001850: 687b ldr r3, [r7, #4] + 8001852: 689b ldr r3, [r3, #8] + 8001854: 494c ldr r1, [pc, #304] ; (8001988 ) + 8001856: 4313 orrs r3, r2 + 8001858: 608b str r3, [r1, #8] } /*------------------------- SYSCLK Configuration ---------------------------*/ if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_SYSCLK) == RCC_CLOCKTYPE_SYSCLK) - 800172e: 687b ldr r3, [r7, #4] - 8001730: 681b ldr r3, [r3, #0] - 8001732: f003 0301 and.w r3, r3, #1 - 8001736: 2b00 cmp r3, #0 - 8001738: d040 beq.n 80017bc + 800185a: 687b ldr r3, [r7, #4] + 800185c: 681b ldr r3, [r3, #0] + 800185e: f003 0301 and.w r3, r3, #1 + 8001862: 2b00 cmp r3, #0 + 8001864: d040 beq.n 80018e8 { assert_param(IS_RCC_SYSCLKSOURCE(RCC_ClkInitStruct->SYSCLKSource)); /* HSE is selected as System Clock Source */ if(RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_HSE) - 800173a: 687b ldr r3, [r7, #4] - 800173c: 685b ldr r3, [r3, #4] - 800173e: 2b01 cmp r3, #1 - 8001740: d107 bne.n 8001752 + 8001866: 687b ldr r3, [r7, #4] + 8001868: 685b ldr r3, [r3, #4] + 800186a: 2b01 cmp r3, #1 + 800186c: d107 bne.n 800187e { /* Check the HSE ready flag */ if(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET) - 8001742: 4b46 ldr r3, [pc, #280] ; (800185c ) - 8001744: 681b ldr r3, [r3, #0] - 8001746: f403 3300 and.w r3, r3, #131072 ; 0x20000 - 800174a: 2b00 cmp r3, #0 - 800174c: d115 bne.n 800177a + 800186e: 4b46 ldr r3, [pc, #280] ; (8001988 ) + 8001870: 681b ldr r3, [r3, #0] + 8001872: f403 3300 and.w r3, r3, #131072 ; 0x20000 + 8001876: 2b00 cmp r3, #0 + 8001878: d115 bne.n 80018a6 { return HAL_ERROR; - 800174e: 2301 movs r3, #1 - 8001750: e07d b.n 800184e + 800187a: 2301 movs r3, #1 + 800187c: e07d b.n 800197a } } /* PLL is selected as System Clock Source */ else if(RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_PLLCLK) - 8001752: 687b ldr r3, [r7, #4] - 8001754: 685b ldr r3, [r3, #4] - 8001756: 2b02 cmp r3, #2 - 8001758: d107 bne.n 800176a + 800187e: 687b ldr r3, [r7, #4] + 8001880: 685b ldr r3, [r3, #4] + 8001882: 2b02 cmp r3, #2 + 8001884: d107 bne.n 8001896 { /* Check the PLL ready flag */ if(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET) - 800175a: 4b40 ldr r3, [pc, #256] ; (800185c ) - 800175c: 681b ldr r3, [r3, #0] - 800175e: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 - 8001762: 2b00 cmp r3, #0 - 8001764: d109 bne.n 800177a + 8001886: 4b40 ldr r3, [pc, #256] ; (8001988 ) + 8001888: 681b ldr r3, [r3, #0] + 800188a: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 + 800188e: 2b00 cmp r3, #0 + 8001890: d109 bne.n 80018a6 { return HAL_ERROR; - 8001766: 2301 movs r3, #1 - 8001768: e071 b.n 800184e + 8001892: 2301 movs r3, #1 + 8001894: e071 b.n 800197a } /* HSI is selected as System Clock Source */ else { /* Check the HSI ready flag */ if(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET) - 800176a: 4b3c ldr r3, [pc, #240] ; (800185c ) - 800176c: 681b ldr r3, [r3, #0] - 800176e: f003 0302 and.w r3, r3, #2 - 8001772: 2b00 cmp r3, #0 - 8001774: d101 bne.n 800177a + 8001896: 4b3c ldr r3, [pc, #240] ; (8001988 ) + 8001898: 681b ldr r3, [r3, #0] + 800189a: f003 0302 and.w r3, r3, #2 + 800189e: 2b00 cmp r3, #0 + 80018a0: d101 bne.n 80018a6 { return HAL_ERROR; - 8001776: 2301 movs r3, #1 - 8001778: e069 b.n 800184e + 80018a2: 2301 movs r3, #1 + 80018a4: e069 b.n 800197a } } __HAL_RCC_SYSCLK_CONFIG(RCC_ClkInitStruct->SYSCLKSource); - 800177a: 4b38 ldr r3, [pc, #224] ; (800185c ) - 800177c: 689b ldr r3, [r3, #8] - 800177e: f023 0203 bic.w r2, r3, #3 - 8001782: 687b ldr r3, [r7, #4] - 8001784: 685b ldr r3, [r3, #4] - 8001786: 4935 ldr r1, [pc, #212] ; (800185c ) - 8001788: 4313 orrs r3, r2 - 800178a: 608b str r3, [r1, #8] + 80018a6: 4b38 ldr r3, [pc, #224] ; (8001988 ) + 80018a8: 689b ldr r3, [r3, #8] + 80018aa: f023 0203 bic.w r2, r3, #3 + 80018ae: 687b ldr r3, [r7, #4] + 80018b0: 685b ldr r3, [r3, #4] + 80018b2: 4935 ldr r1, [pc, #212] ; (8001988 ) + 80018b4: 4313 orrs r3, r2 + 80018b6: 608b str r3, [r1, #8] /* Get Start Tick*/ tickstart = HAL_GetTick(); - 800178c: f7fe ff26 bl 80005dc - 8001790: 60f8 str r0, [r7, #12] + 80018b8: f7fe fe98 bl 80005ec + 80018bc: 60f8 str r0, [r7, #12] while (__HAL_RCC_GET_SYSCLK_SOURCE() != (RCC_ClkInitStruct->SYSCLKSource << RCC_CFGR_SWS_Pos)) - 8001792: e00a b.n 80017aa + 80018be: e00a b.n 80018d6 { if ((HAL_GetTick() - tickstart) > CLOCKSWITCH_TIMEOUT_VALUE) - 8001794: f7fe ff22 bl 80005dc - 8001798: 4602 mov r2, r0 - 800179a: 68fb ldr r3, [r7, #12] - 800179c: 1ad3 subs r3, r2, r3 - 800179e: f241 3288 movw r2, #5000 ; 0x1388 - 80017a2: 4293 cmp r3, r2 - 80017a4: d901 bls.n 80017aa + 80018c0: f7fe fe94 bl 80005ec + 80018c4: 4602 mov r2, r0 + 80018c6: 68fb ldr r3, [r7, #12] + 80018c8: 1ad3 subs r3, r2, r3 + 80018ca: f241 3288 movw r2, #5000 ; 0x1388 + 80018ce: 4293 cmp r3, r2 + 80018d0: d901 bls.n 80018d6 { return HAL_TIMEOUT; - 80017a6: 2303 movs r3, #3 - 80017a8: e051 b.n 800184e + 80018d2: 2303 movs r3, #3 + 80018d4: e051 b.n 800197a while (__HAL_RCC_GET_SYSCLK_SOURCE() != (RCC_ClkInitStruct->SYSCLKSource << RCC_CFGR_SWS_Pos)) - 80017aa: 4b2c ldr r3, [pc, #176] ; (800185c ) - 80017ac: 689b ldr r3, [r3, #8] - 80017ae: f003 020c and.w r2, r3, #12 - 80017b2: 687b ldr r3, [r7, #4] - 80017b4: 685b ldr r3, [r3, #4] - 80017b6: 009b lsls r3, r3, #2 - 80017b8: 429a cmp r2, r3 - 80017ba: d1eb bne.n 8001794 + 80018d6: 4b2c ldr r3, [pc, #176] ; (8001988 ) + 80018d8: 689b ldr r3, [r3, #8] + 80018da: f003 020c and.w r2, r3, #12 + 80018de: 687b ldr r3, [r7, #4] + 80018e0: 685b ldr r3, [r3, #4] + 80018e2: 009b lsls r3, r3, #2 + 80018e4: 429a cmp r2, r3 + 80018e6: d1eb bne.n 80018c0 } } } /* Decreasing the number of wait states because of lower CPU frequency */ if(FLatency < __HAL_FLASH_GET_LATENCY()) - 80017bc: 4b26 ldr r3, [pc, #152] ; (8001858 ) - 80017be: 681b ldr r3, [r3, #0] - 80017c0: f003 030f and.w r3, r3, #15 - 80017c4: 683a ldr r2, [r7, #0] - 80017c6: 429a cmp r2, r3 - 80017c8: d210 bcs.n 80017ec + 80018e8: 4b26 ldr r3, [pc, #152] ; (8001984 ) + 80018ea: 681b ldr r3, [r3, #0] + 80018ec: f003 030f and.w r3, r3, #15 + 80018f0: 683a ldr r2, [r7, #0] + 80018f2: 429a cmp r2, r3 + 80018f4: d210 bcs.n 8001918 { /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */ __HAL_FLASH_SET_LATENCY(FLatency); - 80017ca: 4b23 ldr r3, [pc, #140] ; (8001858 ) - 80017cc: 681b ldr r3, [r3, #0] - 80017ce: f023 020f bic.w r2, r3, #15 - 80017d2: 4921 ldr r1, [pc, #132] ; (8001858 ) - 80017d4: 683b ldr r3, [r7, #0] - 80017d6: 4313 orrs r3, r2 - 80017d8: 600b str r3, [r1, #0] + 80018f6: 4b23 ldr r3, [pc, #140] ; (8001984 ) + 80018f8: 681b ldr r3, [r3, #0] + 80018fa: f023 020f bic.w r2, r3, #15 + 80018fe: 4921 ldr r1, [pc, #132] ; (8001984 ) + 8001900: 683b ldr r3, [r7, #0] + 8001902: 4313 orrs r3, r2 + 8001904: 600b str r3, [r1, #0] /* Check that the new number of wait states is taken into account to access the Flash memory by reading the FLASH_ACR register */ if(__HAL_FLASH_GET_LATENCY() != FLatency) - 80017da: 4b1f ldr r3, [pc, #124] ; (8001858 ) - 80017dc: 681b ldr r3, [r3, #0] - 80017de: f003 030f and.w r3, r3, #15 - 80017e2: 683a ldr r2, [r7, #0] - 80017e4: 429a cmp r2, r3 - 80017e6: d001 beq.n 80017ec + 8001906: 4b1f ldr r3, [pc, #124] ; (8001984 ) + 8001908: 681b ldr r3, [r3, #0] + 800190a: f003 030f and.w r3, r3, #15 + 800190e: 683a ldr r2, [r7, #0] + 8001910: 429a cmp r2, r3 + 8001912: d001 beq.n 8001918 { return HAL_ERROR; - 80017e8: 2301 movs r3, #1 - 80017ea: e030 b.n 800184e + 8001914: 2301 movs r3, #1 + 8001916: e030 b.n 800197a } } /*-------------------------- PCLK1 Configuration ---------------------------*/ if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK1) == RCC_CLOCKTYPE_PCLK1) - 80017ec: 687b ldr r3, [r7, #4] - 80017ee: 681b ldr r3, [r3, #0] - 80017f0: f003 0304 and.w r3, r3, #4 - 80017f4: 2b00 cmp r3, #0 - 80017f6: d008 beq.n 800180a + 8001918: 687b ldr r3, [r7, #4] + 800191a: 681b ldr r3, [r3, #0] + 800191c: f003 0304 and.w r3, r3, #4 + 8001920: 2b00 cmp r3, #0 + 8001922: d008 beq.n 8001936 { assert_param(IS_RCC_PCLK(RCC_ClkInitStruct->APB1CLKDivider)); MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE1, RCC_ClkInitStruct->APB1CLKDivider); - 80017f8: 4b18 ldr r3, [pc, #96] ; (800185c ) - 80017fa: 689b ldr r3, [r3, #8] - 80017fc: f423 52e0 bic.w r2, r3, #7168 ; 0x1c00 - 8001800: 687b ldr r3, [r7, #4] - 8001802: 68db ldr r3, [r3, #12] - 8001804: 4915 ldr r1, [pc, #84] ; (800185c ) - 8001806: 4313 orrs r3, r2 - 8001808: 608b str r3, [r1, #8] + 8001924: 4b18 ldr r3, [pc, #96] ; (8001988 ) + 8001926: 689b ldr r3, [r3, #8] + 8001928: f423 52e0 bic.w r2, r3, #7168 ; 0x1c00 + 800192c: 687b ldr r3, [r7, #4] + 800192e: 68db ldr r3, [r3, #12] + 8001930: 4915 ldr r1, [pc, #84] ; (8001988 ) + 8001932: 4313 orrs r3, r2 + 8001934: 608b str r3, [r1, #8] } /*-------------------------- PCLK2 Configuration ---------------------------*/ if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK2) == RCC_CLOCKTYPE_PCLK2) - 800180a: 687b ldr r3, [r7, #4] - 800180c: 681b ldr r3, [r3, #0] - 800180e: f003 0308 and.w r3, r3, #8 - 8001812: 2b00 cmp r3, #0 - 8001814: d009 beq.n 800182a + 8001936: 687b ldr r3, [r7, #4] + 8001938: 681b ldr r3, [r3, #0] + 800193a: f003 0308 and.w r3, r3, #8 + 800193e: 2b00 cmp r3, #0 + 8001940: d009 beq.n 8001956 { assert_param(IS_RCC_PCLK(RCC_ClkInitStruct->APB2CLKDivider)); MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE2, ((RCC_ClkInitStruct->APB2CLKDivider) << 3)); - 8001816: 4b11 ldr r3, [pc, #68] ; (800185c ) - 8001818: 689b ldr r3, [r3, #8] - 800181a: f423 4260 bic.w r2, r3, #57344 ; 0xe000 - 800181e: 687b ldr r3, [r7, #4] - 8001820: 691b ldr r3, [r3, #16] - 8001822: 00db lsls r3, r3, #3 - 8001824: 490d ldr r1, [pc, #52] ; (800185c ) - 8001826: 4313 orrs r3, r2 - 8001828: 608b str r3, [r1, #8] + 8001942: 4b11 ldr r3, [pc, #68] ; (8001988 ) + 8001944: 689b ldr r3, [r3, #8] + 8001946: f423 4260 bic.w r2, r3, #57344 ; 0xe000 + 800194a: 687b ldr r3, [r7, #4] + 800194c: 691b ldr r3, [r3, #16] + 800194e: 00db lsls r3, r3, #3 + 8001950: 490d ldr r1, [pc, #52] ; (8001988 ) + 8001952: 4313 orrs r3, r2 + 8001954: 608b str r3, [r1, #8] } /* Update the SystemCoreClock global variable */ SystemCoreClock = HAL_RCC_GetSysClockFreq() >> AHBPrescTable[(RCC->CFGR & RCC_CFGR_HPRE)>> RCC_CFGR_HPRE_Pos]; - 800182a: f000 f81d bl 8001868 - 800182e: 4601 mov r1, r0 - 8001830: 4b0a ldr r3, [pc, #40] ; (800185c ) - 8001832: 689b ldr r3, [r3, #8] - 8001834: 091b lsrs r3, r3, #4 - 8001836: f003 030f and.w r3, r3, #15 - 800183a: 4a09 ldr r2, [pc, #36] ; (8001860 ) - 800183c: 5cd3 ldrb r3, [r2, r3] - 800183e: fa21 f303 lsr.w r3, r1, r3 - 8001842: 4a08 ldr r2, [pc, #32] ; (8001864 ) - 8001844: 6013 str r3, [r2, #0] + 8001956: f000 f81d bl 8001994 + 800195a: 4601 mov r1, r0 + 800195c: 4b0a ldr r3, [pc, #40] ; (8001988 ) + 800195e: 689b ldr r3, [r3, #8] + 8001960: 091b lsrs r3, r3, #4 + 8001962: f003 030f and.w r3, r3, #15 + 8001966: 4a09 ldr r2, [pc, #36] ; (800198c ) + 8001968: 5cd3 ldrb r3, [r2, r3] + 800196a: fa21 f303 lsr.w r3, r1, r3 + 800196e: 4a08 ldr r2, [pc, #32] ; (8001990 ) + 8001970: 6013 str r3, [r2, #0] /* Configure the source of time base considering new system clocks settings*/ HAL_InitTick (TICK_INT_PRIORITY); - 8001846: 2000 movs r0, #0 - 8001848: f7fe fe84 bl 8000554 + 8001972: 2000 movs r0, #0 + 8001974: f7fe fdf6 bl 8000564 return HAL_OK; - 800184c: 2300 movs r3, #0 -} - 800184e: 4618 mov r0, r3 - 8001850: 3710 adds r7, #16 - 8001852: 46bd mov sp, r7 - 8001854: bd80 pop {r7, pc} - 8001856: bf00 nop - 8001858: 40023c00 .word 0x40023c00 - 800185c: 40023800 .word 0x40023800 - 8001860: 08004d88 .word 0x08004d88 - 8001864: 20000008 .word 0x20000008 - -08001868 : + 8001978: 2300 movs r3, #0 +} + 800197a: 4618 mov r0, r3 + 800197c: 3710 adds r7, #16 + 800197e: 46bd mov sp, r7 + 8001980: bd80 pop {r7, pc} + 8001982: bf00 nop + 8001984: 40023c00 .word 0x40023c00 + 8001988: 40023800 .word 0x40023800 + 800198c: 0800a5c8 .word 0x0800a5c8 + 8001990: 20000018 .word 0x20000018 + +08001994 : * * * @retval SYSCLK frequency */ uint32_t HAL_RCC_GetSysClockFreq(void) { - 8001868: b5f0 push {r4, r5, r6, r7, lr} - 800186a: b085 sub sp, #20 - 800186c: af00 add r7, sp, #0 + 8001994: b5f0 push {r4, r5, r6, r7, lr} + 8001996: b085 sub sp, #20 + 8001998: af00 add r7, sp, #0 uint32_t pllm = 0, pllvco = 0, pllp = 0; - 800186e: 2300 movs r3, #0 - 8001870: 607b str r3, [r7, #4] - 8001872: 2300 movs r3, #0 - 8001874: 60fb str r3, [r7, #12] - 8001876: 2300 movs r3, #0 - 8001878: 603b str r3, [r7, #0] + 800199a: 2300 movs r3, #0 + 800199c: 607b str r3, [r7, #4] + 800199e: 2300 movs r3, #0 + 80019a0: 60fb str r3, [r7, #12] + 80019a2: 2300 movs r3, #0 + 80019a4: 603b str r3, [r7, #0] uint32_t sysclockfreq = 0; - 800187a: 2300 movs r3, #0 - 800187c: 60bb str r3, [r7, #8] + 80019a6: 2300 movs r3, #0 + 80019a8: 60bb str r3, [r7, #8] /* Get SYSCLK source -------------------------------------------------------*/ switch (RCC->CFGR & RCC_CFGR_SWS) - 800187e: 4b50 ldr r3, [pc, #320] ; (80019c0 ) - 8001880: 689b ldr r3, [r3, #8] - 8001882: f003 030c and.w r3, r3, #12 - 8001886: 2b04 cmp r3, #4 - 8001888: d007 beq.n 800189a - 800188a: 2b08 cmp r3, #8 - 800188c: d008 beq.n 80018a0 - 800188e: 2b00 cmp r3, #0 - 8001890: f040 808d bne.w 80019ae + 80019aa: 4b50 ldr r3, [pc, #320] ; (8001aec ) + 80019ac: 689b ldr r3, [r3, #8] + 80019ae: f003 030c and.w r3, r3, #12 + 80019b2: 2b04 cmp r3, #4 + 80019b4: d007 beq.n 80019c6 + 80019b6: 2b08 cmp r3, #8 + 80019b8: d008 beq.n 80019cc + 80019ba: 2b00 cmp r3, #0 + 80019bc: f040 808d bne.w 8001ada { case RCC_SYSCLKSOURCE_STATUS_HSI: /* HSI used as system clock source */ { sysclockfreq = HSI_VALUE; - 8001894: 4b4b ldr r3, [pc, #300] ; (80019c4 ) - 8001896: 60bb str r3, [r7, #8] + 80019c0: 4b4b ldr r3, [pc, #300] ; (8001af0 ) + 80019c2: 60bb str r3, [r7, #8] break; - 8001898: e08c b.n 80019b4 + 80019c4: e08c b.n 8001ae0 } case RCC_SYSCLKSOURCE_STATUS_HSE: /* HSE used as system clock source */ { sysclockfreq = HSE_VALUE; - 800189a: 4b4b ldr r3, [pc, #300] ; (80019c8 ) - 800189c: 60bb str r3, [r7, #8] + 80019c6: 4b4b ldr r3, [pc, #300] ; (8001af4 ) + 80019c8: 60bb str r3, [r7, #8] break; - 800189e: e089 b.n 80019b4 + 80019ca: e089 b.n 8001ae0 } case RCC_SYSCLKSOURCE_STATUS_PLLCLK: /* PLL used as system clock source */ { /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLLM) * PLLN SYSCLK = PLL_VCO / PLLP */ pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - 80018a0: 4b47 ldr r3, [pc, #284] ; (80019c0 ) - 80018a2: 685b ldr r3, [r3, #4] - 80018a4: f003 033f and.w r3, r3, #63 ; 0x3f - 80018a8: 607b str r3, [r7, #4] + 80019cc: 4b47 ldr r3, [pc, #284] ; (8001aec ) + 80019ce: 685b ldr r3, [r3, #4] + 80019d0: f003 033f and.w r3, r3, #63 ; 0x3f + 80019d4: 607b str r3, [r7, #4] if (__HAL_RCC_GET_PLL_OSCSOURCE() != RCC_PLLCFGR_PLLSRC_HSI) - 80018aa: 4b45 ldr r3, [pc, #276] ; (80019c0 ) - 80018ac: 685b ldr r3, [r3, #4] - 80018ae: f403 0380 and.w r3, r3, #4194304 ; 0x400000 - 80018b2: 2b00 cmp r3, #0 - 80018b4: d023 beq.n 80018fe + 80019d6: 4b45 ldr r3, [pc, #276] ; (8001aec ) + 80019d8: 685b ldr r3, [r3, #4] + 80019da: f403 0380 and.w r3, r3, #4194304 ; 0x400000 + 80019de: 2b00 cmp r3, #0 + 80019e0: d023 beq.n 8001a2a { /* HSE used as PLL clock source */ pllvco = (uint32_t) ((((uint64_t) HSE_VALUE * ((uint64_t) ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos)))) / (uint64_t)pllm); - 80018b6: 4b42 ldr r3, [pc, #264] ; (80019c0 ) - 80018b8: 685b ldr r3, [r3, #4] - 80018ba: 099b lsrs r3, r3, #6 - 80018bc: f04f 0400 mov.w r4, #0 - 80018c0: f240 11ff movw r1, #511 ; 0x1ff - 80018c4: f04f 0200 mov.w r2, #0 - 80018c8: ea03 0501 and.w r5, r3, r1 - 80018cc: ea04 0602 and.w r6, r4, r2 - 80018d0: 4a3d ldr r2, [pc, #244] ; (80019c8 ) - 80018d2: fb02 f106 mul.w r1, r2, r6 - 80018d6: 2200 movs r2, #0 - 80018d8: fb02 f205 mul.w r2, r2, r5 - 80018dc: 440a add r2, r1 - 80018de: 493a ldr r1, [pc, #232] ; (80019c8 ) - 80018e0: fba5 0101 umull r0, r1, r5, r1 - 80018e4: 1853 adds r3, r2, r1 - 80018e6: 4619 mov r1, r3 - 80018e8: 687b ldr r3, [r7, #4] - 80018ea: f04f 0400 mov.w r4, #0 - 80018ee: 461a mov r2, r3 - 80018f0: 4623 mov r3, r4 - 80018f2: f7fe fca1 bl 8000238 <__aeabi_uldivmod> - 80018f6: 4603 mov r3, r0 - 80018f8: 460c mov r4, r1 - 80018fa: 60fb str r3, [r7, #12] - 80018fc: e049 b.n 8001992 + 80019e2: 4b42 ldr r3, [pc, #264] ; (8001aec ) + 80019e4: 685b ldr r3, [r3, #4] + 80019e6: 099b lsrs r3, r3, #6 + 80019e8: f04f 0400 mov.w r4, #0 + 80019ec: f240 11ff movw r1, #511 ; 0x1ff + 80019f0: f04f 0200 mov.w r2, #0 + 80019f4: ea03 0501 and.w r5, r3, r1 + 80019f8: ea04 0602 and.w r6, r4, r2 + 80019fc: 4a3d ldr r2, [pc, #244] ; (8001af4 ) + 80019fe: fb02 f106 mul.w r1, r2, r6 + 8001a02: 2200 movs r2, #0 + 8001a04: fb02 f205 mul.w r2, r2, r5 + 8001a08: 440a add r2, r1 + 8001a0a: 493a ldr r1, [pc, #232] ; (8001af4 ) + 8001a0c: fba5 0101 umull r0, r1, r5, r1 + 8001a10: 1853 adds r3, r2, r1 + 8001a12: 4619 mov r1, r3 + 8001a14: 687b ldr r3, [r7, #4] + 8001a16: f04f 0400 mov.w r4, #0 + 8001a1a: 461a mov r2, r3 + 8001a1c: 4623 mov r3, r4 + 8001a1e: f7fe fc13 bl 8000248 <__aeabi_uldivmod> + 8001a22: 4603 mov r3, r0 + 8001a24: 460c mov r4, r1 + 8001a26: 60fb str r3, [r7, #12] + 8001a28: e049 b.n 8001abe } else { /* HSI used as PLL clock source */ pllvco = (uint32_t) ((((uint64_t) HSI_VALUE * ((uint64_t) ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos)))) / (uint64_t)pllm); - 80018fe: 4b30 ldr r3, [pc, #192] ; (80019c0 ) - 8001900: 685b ldr r3, [r3, #4] - 8001902: 099b lsrs r3, r3, #6 - 8001904: f04f 0400 mov.w r4, #0 - 8001908: f240 11ff movw r1, #511 ; 0x1ff - 800190c: f04f 0200 mov.w r2, #0 - 8001910: ea03 0501 and.w r5, r3, r1 - 8001914: ea04 0602 and.w r6, r4, r2 - 8001918: 4629 mov r1, r5 - 800191a: 4632 mov r2, r6 - 800191c: f04f 0300 mov.w r3, #0 - 8001920: f04f 0400 mov.w r4, #0 - 8001924: 0154 lsls r4, r2, #5 - 8001926: ea44 64d1 orr.w r4, r4, r1, lsr #27 - 800192a: 014b lsls r3, r1, #5 - 800192c: 4619 mov r1, r3 - 800192e: 4622 mov r2, r4 - 8001930: 1b49 subs r1, r1, r5 - 8001932: eb62 0206 sbc.w r2, r2, r6 - 8001936: f04f 0300 mov.w r3, #0 - 800193a: f04f 0400 mov.w r4, #0 - 800193e: 0194 lsls r4, r2, #6 - 8001940: ea44 6491 orr.w r4, r4, r1, lsr #26 - 8001944: 018b lsls r3, r1, #6 - 8001946: 1a5b subs r3, r3, r1 - 8001948: eb64 0402 sbc.w r4, r4, r2 - 800194c: f04f 0100 mov.w r1, #0 - 8001950: f04f 0200 mov.w r2, #0 - 8001954: 00e2 lsls r2, r4, #3 - 8001956: ea42 7253 orr.w r2, r2, r3, lsr #29 - 800195a: 00d9 lsls r1, r3, #3 - 800195c: 460b mov r3, r1 - 800195e: 4614 mov r4, r2 - 8001960: 195b adds r3, r3, r5 - 8001962: eb44 0406 adc.w r4, r4, r6 - 8001966: f04f 0100 mov.w r1, #0 - 800196a: f04f 0200 mov.w r2, #0 - 800196e: 02a2 lsls r2, r4, #10 - 8001970: ea42 5293 orr.w r2, r2, r3, lsr #22 - 8001974: 0299 lsls r1, r3, #10 - 8001976: 460b mov r3, r1 - 8001978: 4614 mov r4, r2 - 800197a: 4618 mov r0, r3 - 800197c: 4621 mov r1, r4 - 800197e: 687b ldr r3, [r7, #4] - 8001980: f04f 0400 mov.w r4, #0 - 8001984: 461a mov r2, r3 - 8001986: 4623 mov r3, r4 - 8001988: f7fe fc56 bl 8000238 <__aeabi_uldivmod> - 800198c: 4603 mov r3, r0 - 800198e: 460c mov r4, r1 - 8001990: 60fb str r3, [r7, #12] + 8001a2a: 4b30 ldr r3, [pc, #192] ; (8001aec ) + 8001a2c: 685b ldr r3, [r3, #4] + 8001a2e: 099b lsrs r3, r3, #6 + 8001a30: f04f 0400 mov.w r4, #0 + 8001a34: f240 11ff movw r1, #511 ; 0x1ff + 8001a38: f04f 0200 mov.w r2, #0 + 8001a3c: ea03 0501 and.w r5, r3, r1 + 8001a40: ea04 0602 and.w r6, r4, r2 + 8001a44: 4629 mov r1, r5 + 8001a46: 4632 mov r2, r6 + 8001a48: f04f 0300 mov.w r3, #0 + 8001a4c: f04f 0400 mov.w r4, #0 + 8001a50: 0154 lsls r4, r2, #5 + 8001a52: ea44 64d1 orr.w r4, r4, r1, lsr #27 + 8001a56: 014b lsls r3, r1, #5 + 8001a58: 4619 mov r1, r3 + 8001a5a: 4622 mov r2, r4 + 8001a5c: 1b49 subs r1, r1, r5 + 8001a5e: eb62 0206 sbc.w r2, r2, r6 + 8001a62: f04f 0300 mov.w r3, #0 + 8001a66: f04f 0400 mov.w r4, #0 + 8001a6a: 0194 lsls r4, r2, #6 + 8001a6c: ea44 6491 orr.w r4, r4, r1, lsr #26 + 8001a70: 018b lsls r3, r1, #6 + 8001a72: 1a5b subs r3, r3, r1 + 8001a74: eb64 0402 sbc.w r4, r4, r2 + 8001a78: f04f 0100 mov.w r1, #0 + 8001a7c: f04f 0200 mov.w r2, #0 + 8001a80: 00e2 lsls r2, r4, #3 + 8001a82: ea42 7253 orr.w r2, r2, r3, lsr #29 + 8001a86: 00d9 lsls r1, r3, #3 + 8001a88: 460b mov r3, r1 + 8001a8a: 4614 mov r4, r2 + 8001a8c: 195b adds r3, r3, r5 + 8001a8e: eb44 0406 adc.w r4, r4, r6 + 8001a92: f04f 0100 mov.w r1, #0 + 8001a96: f04f 0200 mov.w r2, #0 + 8001a9a: 02a2 lsls r2, r4, #10 + 8001a9c: ea42 5293 orr.w r2, r2, r3, lsr #22 + 8001aa0: 0299 lsls r1, r3, #10 + 8001aa2: 460b mov r3, r1 + 8001aa4: 4614 mov r4, r2 + 8001aa6: 4618 mov r0, r3 + 8001aa8: 4621 mov r1, r4 + 8001aaa: 687b ldr r3, [r7, #4] + 8001aac: f04f 0400 mov.w r4, #0 + 8001ab0: 461a mov r2, r3 + 8001ab2: 4623 mov r3, r4 + 8001ab4: f7fe fbc8 bl 8000248 <__aeabi_uldivmod> + 8001ab8: 4603 mov r3, r0 + 8001aba: 460c mov r4, r1 + 8001abc: 60fb str r3, [r7, #12] } pllp = ((((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >> RCC_PLLCFGR_PLLP_Pos) + 1 ) *2); - 8001992: 4b0b ldr r3, [pc, #44] ; (80019c0 ) - 8001994: 685b ldr r3, [r3, #4] - 8001996: 0c1b lsrs r3, r3, #16 - 8001998: f003 0303 and.w r3, r3, #3 - 800199c: 3301 adds r3, #1 - 800199e: 005b lsls r3, r3, #1 - 80019a0: 603b str r3, [r7, #0] + 8001abe: 4b0b ldr r3, [pc, #44] ; (8001aec ) + 8001ac0: 685b ldr r3, [r3, #4] + 8001ac2: 0c1b lsrs r3, r3, #16 + 8001ac4: f003 0303 and.w r3, r3, #3 + 8001ac8: 3301 adds r3, #1 + 8001aca: 005b lsls r3, r3, #1 + 8001acc: 603b str r3, [r7, #0] sysclockfreq = pllvco/pllp; - 80019a2: 68fa ldr r2, [r7, #12] - 80019a4: 683b ldr r3, [r7, #0] - 80019a6: fbb2 f3f3 udiv r3, r2, r3 - 80019aa: 60bb str r3, [r7, #8] + 8001ace: 68fa ldr r2, [r7, #12] + 8001ad0: 683b ldr r3, [r7, #0] + 8001ad2: fbb2 f3f3 udiv r3, r2, r3 + 8001ad6: 60bb str r3, [r7, #8] break; - 80019ac: e002 b.n 80019b4 + 8001ad8: e002 b.n 8001ae0 } default: { sysclockfreq = HSI_VALUE; - 80019ae: 4b05 ldr r3, [pc, #20] ; (80019c4 ) - 80019b0: 60bb str r3, [r7, #8] + 8001ada: 4b05 ldr r3, [pc, #20] ; (8001af0 ) + 8001adc: 60bb str r3, [r7, #8] break; - 80019b2: bf00 nop + 8001ade: bf00 nop } } return sysclockfreq; - 80019b4: 68bb ldr r3, [r7, #8] -} - 80019b6: 4618 mov r0, r3 - 80019b8: 3714 adds r7, #20 - 80019ba: 46bd mov sp, r7 - 80019bc: bdf0 pop {r4, r5, r6, r7, pc} - 80019be: bf00 nop - 80019c0: 40023800 .word 0x40023800 - 80019c4: 00f42400 .word 0x00f42400 - 80019c8: 017d7840 .word 0x017d7840 - -080019cc : + 8001ae0: 68bb ldr r3, [r7, #8] +} + 8001ae2: 4618 mov r0, r3 + 8001ae4: 3714 adds r7, #20 + 8001ae6: 46bd mov sp, r7 + 8001ae8: bdf0 pop {r4, r5, r6, r7, pc} + 8001aea: bf00 nop + 8001aec: 40023800 .word 0x40023800 + 8001af0: 00f42400 .word 0x00f42400 + 8001af4: 017d7840 .word 0x017d7840 + +08001af8 : * right HCLK value. Otherwise, any configuration based on this function will be incorrect. * @note The SystemCoreClock CMSIS variable is used to store System Clock Frequency. * @retval HCLK frequency */ uint32_t HAL_RCC_GetHCLKFreq(void) { - 80019cc: b480 push {r7} - 80019ce: af00 add r7, sp, #0 + 8001af8: b480 push {r7} + 8001afa: af00 add r7, sp, #0 return SystemCoreClock; - 80019d0: 4b03 ldr r3, [pc, #12] ; (80019e0 ) - 80019d2: 681b ldr r3, [r3, #0] + 8001afc: 4b03 ldr r3, [pc, #12] ; (8001b0c ) + 8001afe: 681b ldr r3, [r3, #0] } - 80019d4: 4618 mov r0, r3 - 80019d6: 46bd mov sp, r7 - 80019d8: f85d 7b04 ldr.w r7, [sp], #4 - 80019dc: 4770 bx lr - 80019de: bf00 nop - 80019e0: 20000008 .word 0x20000008 - -080019e4 : + 8001b00: 4618 mov r0, r3 + 8001b02: 46bd mov sp, r7 + 8001b04: f85d 7b04 ldr.w r7, [sp], #4 + 8001b08: 4770 bx lr + 8001b0a: bf00 nop + 8001b0c: 20000018 .word 0x20000018 + +08001b10 : * @note Each time PCLK1 changes, this function must be called to update the * right PCLK1 value. Otherwise, any configuration based on this function will be incorrect. * @retval PCLK1 frequency */ uint32_t HAL_RCC_GetPCLK1Freq(void) { - 80019e4: b580 push {r7, lr} - 80019e6: af00 add r7, sp, #0 + 8001b10: b580 push {r7, lr} + 8001b12: af00 add r7, sp, #0 /* Get HCLK source and Compute PCLK1 frequency ---------------------------*/ return (HAL_RCC_GetHCLKFreq() >> APBPrescTable[(RCC->CFGR & RCC_CFGR_PPRE1)>> RCC_CFGR_PPRE1_Pos]); - 80019e8: f7ff fff0 bl 80019cc - 80019ec: 4601 mov r1, r0 - 80019ee: 4b05 ldr r3, [pc, #20] ; (8001a04 ) - 80019f0: 689b ldr r3, [r3, #8] - 80019f2: 0a9b lsrs r3, r3, #10 - 80019f4: f003 0307 and.w r3, r3, #7 - 80019f8: 4a03 ldr r2, [pc, #12] ; (8001a08 ) - 80019fa: 5cd3 ldrb r3, [r2, r3] - 80019fc: fa21 f303 lsr.w r3, r1, r3 -} - 8001a00: 4618 mov r0, r3 - 8001a02: bd80 pop {r7, pc} - 8001a04: 40023800 .word 0x40023800 - 8001a08: 08004d98 .word 0x08004d98 - -08001a0c : + 8001b14: f7ff fff0 bl 8001af8 + 8001b18: 4601 mov r1, r0 + 8001b1a: 4b05 ldr r3, [pc, #20] ; (8001b30 ) + 8001b1c: 689b ldr r3, [r3, #8] + 8001b1e: 0a9b lsrs r3, r3, #10 + 8001b20: f003 0307 and.w r3, r3, #7 + 8001b24: 4a03 ldr r2, [pc, #12] ; (8001b34 ) + 8001b26: 5cd3 ldrb r3, [r2, r3] + 8001b28: fa21 f303 lsr.w r3, r1, r3 +} + 8001b2c: 4618 mov r0, r3 + 8001b2e: bd80 pop {r7, pc} + 8001b30: 40023800 .word 0x40023800 + 8001b34: 0800a5d8 .word 0x0800a5d8 + +08001b38 : * @note Each time PCLK2 changes, this function must be called to update the * right PCLK2 value. Otherwise, any configuration based on this function will be incorrect. * @retval PCLK2 frequency */ uint32_t HAL_RCC_GetPCLK2Freq(void) { - 8001a0c: b580 push {r7, lr} - 8001a0e: af00 add r7, sp, #0 + 8001b38: b580 push {r7, lr} + 8001b3a: af00 add r7, sp, #0 /* Get HCLK source and Compute PCLK2 frequency ---------------------------*/ return (HAL_RCC_GetHCLKFreq()>> APBPrescTable[(RCC->CFGR & RCC_CFGR_PPRE2)>> RCC_CFGR_PPRE2_Pos]); - 8001a10: f7ff ffdc bl 80019cc - 8001a14: 4601 mov r1, r0 - 8001a16: 4b05 ldr r3, [pc, #20] ; (8001a2c ) - 8001a18: 689b ldr r3, [r3, #8] - 8001a1a: 0b5b lsrs r3, r3, #13 - 8001a1c: f003 0307 and.w r3, r3, #7 - 8001a20: 4a03 ldr r2, [pc, #12] ; (8001a30 ) - 8001a22: 5cd3 ldrb r3, [r2, r3] - 8001a24: fa21 f303 lsr.w r3, r1, r3 -} - 8001a28: 4618 mov r0, r3 - 8001a2a: bd80 pop {r7, pc} - 8001a2c: 40023800 .word 0x40023800 - 8001a30: 08004d98 .word 0x08004d98 - -08001a34 : + 8001b3c: f7ff ffdc bl 8001af8 + 8001b40: 4601 mov r1, r0 + 8001b42: 4b05 ldr r3, [pc, #20] ; (8001b58 ) + 8001b44: 689b ldr r3, [r3, #8] + 8001b46: 0b5b lsrs r3, r3, #13 + 8001b48: f003 0307 and.w r3, r3, #7 + 8001b4c: 4a03 ldr r2, [pc, #12] ; (8001b5c ) + 8001b4e: 5cd3 ldrb r3, [r2, r3] + 8001b50: fa21 f303 lsr.w r3, r1, r3 +} + 8001b54: 4618 mov r0, r3 + 8001b56: bd80 pop {r7, pc} + 8001b58: 40023800 .word 0x40023800 + 8001b5c: 0800a5d8 .word 0x0800a5d8 + +08001b60 : * the backup registers) are set to their reset values. * * @retval HAL status */ HAL_StatusTypeDef HAL_RCCEx_PeriphCLKConfig(RCC_PeriphCLKInitTypeDef *PeriphClkInit) { - 8001a34: b580 push {r7, lr} - 8001a36: b088 sub sp, #32 - 8001a38: af00 add r7, sp, #0 - 8001a3a: 6078 str r0, [r7, #4] + 8001b60: b580 push {r7, lr} + 8001b62: b088 sub sp, #32 + 8001b64: af00 add r7, sp, #0 + 8001b66: 6078 str r0, [r7, #4] uint32_t tickstart = 0; - 8001a3c: 2300 movs r3, #0 - 8001a3e: 617b str r3, [r7, #20] + 8001b68: 2300 movs r3, #0 + 8001b6a: 617b str r3, [r7, #20] uint32_t tmpreg0 = 0; - 8001a40: 2300 movs r3, #0 - 8001a42: 613b str r3, [r7, #16] + 8001b6c: 2300 movs r3, #0 + 8001b6e: 613b str r3, [r7, #16] uint32_t tmpreg1 = 0; - 8001a44: 2300 movs r3, #0 - 8001a46: 60fb str r3, [r7, #12] + 8001b70: 2300 movs r3, #0 + 8001b72: 60fb str r3, [r7, #12] uint32_t plli2sused = 0; - 8001a48: 2300 movs r3, #0 - 8001a4a: 61fb str r3, [r7, #28] + 8001b74: 2300 movs r3, #0 + 8001b76: 61fb str r3, [r7, #28] uint32_t pllsaiused = 0; - 8001a4c: 2300 movs r3, #0 - 8001a4e: 61bb str r3, [r7, #24] + 8001b78: 2300 movs r3, #0 + 8001b7a: 61bb str r3, [r7, #24] /* Check the parameters */ assert_param(IS_RCC_PERIPHCLOCK(PeriphClkInit->PeriphClockSelection)); /*----------------------------------- I2S configuration ----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2S) == (RCC_PERIPHCLK_I2S)) - 8001a50: 687b ldr r3, [r7, #4] - 8001a52: 681b ldr r3, [r3, #0] - 8001a54: f003 0301 and.w r3, r3, #1 - 8001a58: 2b00 cmp r3, #0 - 8001a5a: d012 beq.n 8001a82 + 8001b7c: 687b ldr r3, [r7, #4] + 8001b7e: 681b ldr r3, [r3, #0] + 8001b80: f003 0301 and.w r3, r3, #1 + 8001b84: 2b00 cmp r3, #0 + 8001b86: d012 beq.n 8001bae { /* Check the parameters */ assert_param(IS_RCC_I2SCLKSOURCE(PeriphClkInit->I2sClockSelection)); /* Configure I2S Clock source */ __HAL_RCC_I2S_CONFIG(PeriphClkInit->I2sClockSelection); - 8001a5c: 4b69 ldr r3, [pc, #420] ; (8001c04 ) - 8001a5e: 689b ldr r3, [r3, #8] - 8001a60: 4a68 ldr r2, [pc, #416] ; (8001c04 ) - 8001a62: f423 0300 bic.w r3, r3, #8388608 ; 0x800000 - 8001a66: 6093 str r3, [r2, #8] - 8001a68: 4b66 ldr r3, [pc, #408] ; (8001c04 ) - 8001a6a: 689a ldr r2, [r3, #8] - 8001a6c: 687b ldr r3, [r7, #4] - 8001a6e: 6b5b ldr r3, [r3, #52] ; 0x34 - 8001a70: 4964 ldr r1, [pc, #400] ; (8001c04 ) - 8001a72: 4313 orrs r3, r2 - 8001a74: 608b str r3, [r1, #8] + 8001b88: 4b69 ldr r3, [pc, #420] ; (8001d30 ) + 8001b8a: 689b ldr r3, [r3, #8] + 8001b8c: 4a68 ldr r2, [pc, #416] ; (8001d30 ) + 8001b8e: f423 0300 bic.w r3, r3, #8388608 ; 0x800000 + 8001b92: 6093 str r3, [r2, #8] + 8001b94: 4b66 ldr r3, [pc, #408] ; (8001d30 ) + 8001b96: 689a ldr r2, [r3, #8] + 8001b98: 687b ldr r3, [r7, #4] + 8001b9a: 6b5b ldr r3, [r3, #52] ; 0x34 + 8001b9c: 4964 ldr r1, [pc, #400] ; (8001d30 ) + 8001b9e: 4313 orrs r3, r2 + 8001ba0: 608b str r3, [r1, #8] /* Enable the PLLI2S when it's used as clock source for I2S */ if(PeriphClkInit->I2sClockSelection == RCC_I2SCLKSOURCE_PLLI2S) - 8001a76: 687b ldr r3, [r7, #4] - 8001a78: 6b5b ldr r3, [r3, #52] ; 0x34 - 8001a7a: 2b00 cmp r3, #0 - 8001a7c: d101 bne.n 8001a82 + 8001ba2: 687b ldr r3, [r7, #4] + 8001ba4: 6b5b ldr r3, [r3, #52] ; 0x34 + 8001ba6: 2b00 cmp r3, #0 + 8001ba8: d101 bne.n 8001bae { plli2sused = 1; - 8001a7e: 2301 movs r3, #1 - 8001a80: 61fb str r3, [r7, #28] + 8001baa: 2301 movs r3, #1 + 8001bac: 61fb str r3, [r7, #28] } } /*------------------------------------ SAI1 configuration --------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == (RCC_PERIPHCLK_SAI1)) - 8001a82: 687b ldr r3, [r7, #4] - 8001a84: 681b ldr r3, [r3, #0] - 8001a86: f403 2300 and.w r3, r3, #524288 ; 0x80000 - 8001a8a: 2b00 cmp r3, #0 - 8001a8c: d017 beq.n 8001abe + 8001bae: 687b ldr r3, [r7, #4] + 8001bb0: 681b ldr r3, [r3, #0] + 8001bb2: f403 2300 and.w r3, r3, #524288 ; 0x80000 + 8001bb6: 2b00 cmp r3, #0 + 8001bb8: d017 beq.n 8001bea { /* Check the parameters */ assert_param(IS_RCC_SAI1CLKSOURCE(PeriphClkInit->Sai1ClockSelection)); /* Configure SAI1 Clock source */ __HAL_RCC_SAI1_CONFIG(PeriphClkInit->Sai1ClockSelection); - 8001a8e: 4b5d ldr r3, [pc, #372] ; (8001c04 ) - 8001a90: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c - 8001a94: f423 1240 bic.w r2, r3, #3145728 ; 0x300000 - 8001a98: 687b ldr r3, [r7, #4] - 8001a9a: 6bdb ldr r3, [r3, #60] ; 0x3c - 8001a9c: 4959 ldr r1, [pc, #356] ; (8001c04 ) - 8001a9e: 4313 orrs r3, r2 - 8001aa0: f8c1 308c str.w r3, [r1, #140] ; 0x8c + 8001bba: 4b5d ldr r3, [pc, #372] ; (8001d30 ) + 8001bbc: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c + 8001bc0: f423 1240 bic.w r2, r3, #3145728 ; 0x300000 + 8001bc4: 687b ldr r3, [r7, #4] + 8001bc6: 6bdb ldr r3, [r3, #60] ; 0x3c + 8001bc8: 4959 ldr r1, [pc, #356] ; (8001d30 ) + 8001bca: 4313 orrs r3, r2 + 8001bcc: f8c1 308c str.w r3, [r1, #140] ; 0x8c /* Enable the PLLI2S when it's used as clock source for SAI */ if(PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLI2S) - 8001aa4: 687b ldr r3, [r7, #4] - 8001aa6: 6bdb ldr r3, [r3, #60] ; 0x3c - 8001aa8: f5b3 1f80 cmp.w r3, #1048576 ; 0x100000 - 8001aac: d101 bne.n 8001ab2 + 8001bd0: 687b ldr r3, [r7, #4] + 8001bd2: 6bdb ldr r3, [r3, #60] ; 0x3c + 8001bd4: f5b3 1f80 cmp.w r3, #1048576 ; 0x100000 + 8001bd8: d101 bne.n 8001bde { plli2sused = 1; - 8001aae: 2301 movs r3, #1 - 8001ab0: 61fb str r3, [r7, #28] + 8001bda: 2301 movs r3, #1 + 8001bdc: 61fb str r3, [r7, #28] } /* Enable the PLLSAI when it's used as clock source for SAI */ if(PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLSAI) - 8001ab2: 687b ldr r3, [r7, #4] - 8001ab4: 6bdb ldr r3, [r3, #60] ; 0x3c - 8001ab6: 2b00 cmp r3, #0 - 8001ab8: d101 bne.n 8001abe + 8001bde: 687b ldr r3, [r7, #4] + 8001be0: 6bdb ldr r3, [r3, #60] ; 0x3c + 8001be2: 2b00 cmp r3, #0 + 8001be4: d101 bne.n 8001bea { pllsaiused = 1; - 8001aba: 2301 movs r3, #1 - 8001abc: 61bb str r3, [r7, #24] + 8001be6: 2301 movs r3, #1 + 8001be8: 61bb str r3, [r7, #24] } } /*------------------------------------ SAI2 configuration --------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == (RCC_PERIPHCLK_SAI2)) - 8001abe: 687b ldr r3, [r7, #4] - 8001ac0: 681b ldr r3, [r3, #0] - 8001ac2: f403 1380 and.w r3, r3, #1048576 ; 0x100000 - 8001ac6: 2b00 cmp r3, #0 - 8001ac8: d017 beq.n 8001afa + 8001bea: 687b ldr r3, [r7, #4] + 8001bec: 681b ldr r3, [r3, #0] + 8001bee: f403 1380 and.w r3, r3, #1048576 ; 0x100000 + 8001bf2: 2b00 cmp r3, #0 + 8001bf4: d017 beq.n 8001c26 { /* Check the parameters */ assert_param(IS_RCC_SAI2CLKSOURCE(PeriphClkInit->Sai2ClockSelection)); /* Configure SAI2 Clock source */ __HAL_RCC_SAI2_CONFIG(PeriphClkInit->Sai2ClockSelection); - 8001aca: 4b4e ldr r3, [pc, #312] ; (8001c04 ) - 8001acc: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c - 8001ad0: f423 0240 bic.w r2, r3, #12582912 ; 0xc00000 - 8001ad4: 687b ldr r3, [r7, #4] - 8001ad6: 6c1b ldr r3, [r3, #64] ; 0x40 - 8001ad8: 494a ldr r1, [pc, #296] ; (8001c04 ) - 8001ada: 4313 orrs r3, r2 - 8001adc: f8c1 308c str.w r3, [r1, #140] ; 0x8c + 8001bf6: 4b4e ldr r3, [pc, #312] ; (8001d30 ) + 8001bf8: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c + 8001bfc: f423 0240 bic.w r2, r3, #12582912 ; 0xc00000 + 8001c00: 687b ldr r3, [r7, #4] + 8001c02: 6c1b ldr r3, [r3, #64] ; 0x40 + 8001c04: 494a ldr r1, [pc, #296] ; (8001d30 ) + 8001c06: 4313 orrs r3, r2 + 8001c08: f8c1 308c str.w r3, [r1, #140] ; 0x8c /* Enable the PLLI2S when it's used as clock source for SAI */ if(PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLI2S) - 8001ae0: 687b ldr r3, [r7, #4] - 8001ae2: 6c1b ldr r3, [r3, #64] ; 0x40 - 8001ae4: f5b3 0f80 cmp.w r3, #4194304 ; 0x400000 - 8001ae8: d101 bne.n 8001aee + 8001c0c: 687b ldr r3, [r7, #4] + 8001c0e: 6c1b ldr r3, [r3, #64] ; 0x40 + 8001c10: f5b3 0f80 cmp.w r3, #4194304 ; 0x400000 + 8001c14: d101 bne.n 8001c1a { plli2sused = 1; - 8001aea: 2301 movs r3, #1 - 8001aec: 61fb str r3, [r7, #28] + 8001c16: 2301 movs r3, #1 + 8001c18: 61fb str r3, [r7, #28] } /* Enable the PLLSAI when it's used as clock source for SAI */ if(PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLSAI) - 8001aee: 687b ldr r3, [r7, #4] - 8001af0: 6c1b ldr r3, [r3, #64] ; 0x40 - 8001af2: 2b00 cmp r3, #0 - 8001af4: d101 bne.n 8001afa + 8001c1a: 687b ldr r3, [r7, #4] + 8001c1c: 6c1b ldr r3, [r3, #64] ; 0x40 + 8001c1e: 2b00 cmp r3, #0 + 8001c20: d101 bne.n 8001c26 { pllsaiused = 1; - 8001af6: 2301 movs r3, #1 - 8001af8: 61bb str r3, [r7, #24] + 8001c22: 2301 movs r3, #1 + 8001c24: 61bb str r3, [r7, #24] } } /*-------------------------------------- SPDIF-RX Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SPDIFRX) == RCC_PERIPHCLK_SPDIFRX) - 8001afa: 687b ldr r3, [r7, #4] - 8001afc: 681b ldr r3, [r3, #0] - 8001afe: f003 7380 and.w r3, r3, #16777216 ; 0x1000000 - 8001b02: 2b00 cmp r3, #0 - 8001b04: d001 beq.n 8001b0a + 8001c26: 687b ldr r3, [r7, #4] + 8001c28: 681b ldr r3, [r3, #0] + 8001c2a: f003 7380 and.w r3, r3, #16777216 ; 0x1000000 + 8001c2e: 2b00 cmp r3, #0 + 8001c30: d001 beq.n 8001c36 { plli2sused = 1; - 8001b06: 2301 movs r3, #1 - 8001b08: 61fb str r3, [r7, #28] + 8001c32: 2301 movs r3, #1 + 8001c34: 61fb str r3, [r7, #28] } /*------------------------------------ RTC configuration --------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_RTC) == (RCC_PERIPHCLK_RTC)) - 8001b0a: 687b ldr r3, [r7, #4] - 8001b0c: 681b ldr r3, [r3, #0] - 8001b0e: f003 0320 and.w r3, r3, #32 - 8001b12: 2b00 cmp r3, #0 - 8001b14: f000 808b beq.w 8001c2e + 8001c36: 687b ldr r3, [r7, #4] + 8001c38: 681b ldr r3, [r3, #0] + 8001c3a: f003 0320 and.w r3, r3, #32 + 8001c3e: 2b00 cmp r3, #0 + 8001c40: f000 808b beq.w 8001d5a { /* Check for RTC Parameters used to output RTCCLK */ assert_param(IS_RCC_RTCCLKSOURCE(PeriphClkInit->RTCClockSelection)); /* Enable Power Clock*/ __HAL_RCC_PWR_CLK_ENABLE(); - 8001b18: 4b3a ldr r3, [pc, #232] ; (8001c04 ) - 8001b1a: 6c1b ldr r3, [r3, #64] ; 0x40 - 8001b1c: 4a39 ldr r2, [pc, #228] ; (8001c04 ) - 8001b1e: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 - 8001b22: 6413 str r3, [r2, #64] ; 0x40 - 8001b24: 4b37 ldr r3, [pc, #220] ; (8001c04 ) - 8001b26: 6c1b ldr r3, [r3, #64] ; 0x40 - 8001b28: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 - 8001b2c: 60bb str r3, [r7, #8] - 8001b2e: 68bb ldr r3, [r7, #8] + 8001c44: 4b3a ldr r3, [pc, #232] ; (8001d30 ) + 8001c46: 6c1b ldr r3, [r3, #64] ; 0x40 + 8001c48: 4a39 ldr r2, [pc, #228] ; (8001d30 ) + 8001c4a: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 + 8001c4e: 6413 str r3, [r2, #64] ; 0x40 + 8001c50: 4b37 ldr r3, [pc, #220] ; (8001d30 ) + 8001c52: 6c1b ldr r3, [r3, #64] ; 0x40 + 8001c54: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 + 8001c58: 60bb str r3, [r7, #8] + 8001c5a: 68bb ldr r3, [r7, #8] /* Enable write access to Backup domain */ PWR->CR1 |= PWR_CR1_DBP; - 8001b30: 4b35 ldr r3, [pc, #212] ; (8001c08 ) - 8001b32: 681b ldr r3, [r3, #0] - 8001b34: 4a34 ldr r2, [pc, #208] ; (8001c08 ) - 8001b36: f443 7380 orr.w r3, r3, #256 ; 0x100 - 8001b3a: 6013 str r3, [r2, #0] + 8001c5c: 4b35 ldr r3, [pc, #212] ; (8001d34 ) + 8001c5e: 681b ldr r3, [r3, #0] + 8001c60: 4a34 ldr r2, [pc, #208] ; (8001d34 ) + 8001c62: f443 7380 orr.w r3, r3, #256 ; 0x100 + 8001c66: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); - 8001b3c: f7fe fd4e bl 80005dc - 8001b40: 6178 str r0, [r7, #20] + 8001c68: f7fe fcc0 bl 80005ec + 8001c6c: 6178 str r0, [r7, #20] /* Wait for Backup domain Write protection disable */ while((PWR->CR1 & PWR_CR1_DBP) == RESET) - 8001b42: e008 b.n 8001b56 + 8001c6e: e008 b.n 8001c82 { if((HAL_GetTick() - tickstart) > RCC_DBP_TIMEOUT_VALUE) - 8001b44: f7fe fd4a bl 80005dc - 8001b48: 4602 mov r2, r0 - 8001b4a: 697b ldr r3, [r7, #20] - 8001b4c: 1ad3 subs r3, r2, r3 - 8001b4e: 2b64 cmp r3, #100 ; 0x64 - 8001b50: d901 bls.n 8001b56 + 8001c70: f7fe fcbc bl 80005ec + 8001c74: 4602 mov r2, r0 + 8001c76: 697b ldr r3, [r7, #20] + 8001c78: 1ad3 subs r3, r2, r3 + 8001c7a: 2b64 cmp r3, #100 ; 0x64 + 8001c7c: d901 bls.n 8001c82 { return HAL_TIMEOUT; - 8001b52: 2303 movs r3, #3 - 8001b54: e38d b.n 8002272 + 8001c7e: 2303 movs r3, #3 + 8001c80: e38d b.n 800239e while((PWR->CR1 & PWR_CR1_DBP) == RESET) - 8001b56: 4b2c ldr r3, [pc, #176] ; (8001c08 ) - 8001b58: 681b ldr r3, [r3, #0] - 8001b5a: f403 7380 and.w r3, r3, #256 ; 0x100 - 8001b5e: 2b00 cmp r3, #0 - 8001b60: d0f0 beq.n 8001b44 + 8001c82: 4b2c ldr r3, [pc, #176] ; (8001d34 ) + 8001c84: 681b ldr r3, [r3, #0] + 8001c86: f403 7380 and.w r3, r3, #256 ; 0x100 + 8001c8a: 2b00 cmp r3, #0 + 8001c8c: d0f0 beq.n 8001c70 } } /* Reset the Backup domain only if the RTC Clock source selection is modified */ tmpreg0 = (RCC->BDCR & RCC_BDCR_RTCSEL); - 8001b62: 4b28 ldr r3, [pc, #160] ; (8001c04 ) - 8001b64: 6f1b ldr r3, [r3, #112] ; 0x70 - 8001b66: f403 7340 and.w r3, r3, #768 ; 0x300 - 8001b6a: 613b str r3, [r7, #16] + 8001c8e: 4b28 ldr r3, [pc, #160] ; (8001d30 ) + 8001c90: 6f1b ldr r3, [r3, #112] ; 0x70 + 8001c92: f403 7340 and.w r3, r3, #768 ; 0x300 + 8001c96: 613b str r3, [r7, #16] if((tmpreg0 != 0x00000000U) && (tmpreg0 != (PeriphClkInit->RTCClockSelection & RCC_BDCR_RTCSEL))) - 8001b6c: 693b ldr r3, [r7, #16] - 8001b6e: 2b00 cmp r3, #0 - 8001b70: d035 beq.n 8001bde - 8001b72: 687b ldr r3, [r7, #4] - 8001b74: 6b1b ldr r3, [r3, #48] ; 0x30 - 8001b76: f403 7340 and.w r3, r3, #768 ; 0x300 - 8001b7a: 693a ldr r2, [r7, #16] - 8001b7c: 429a cmp r2, r3 - 8001b7e: d02e beq.n 8001bde + 8001c98: 693b ldr r3, [r7, #16] + 8001c9a: 2b00 cmp r3, #0 + 8001c9c: d035 beq.n 8001d0a + 8001c9e: 687b ldr r3, [r7, #4] + 8001ca0: 6b1b ldr r3, [r3, #48] ; 0x30 + 8001ca2: f403 7340 and.w r3, r3, #768 ; 0x300 + 8001ca6: 693a ldr r2, [r7, #16] + 8001ca8: 429a cmp r2, r3 + 8001caa: d02e beq.n 8001d0a { /* Store the content of BDCR register before the reset of Backup Domain */ tmpreg0 = (RCC->BDCR & ~(RCC_BDCR_RTCSEL)); - 8001b80: 4b20 ldr r3, [pc, #128] ; (8001c04 ) - 8001b82: 6f1b ldr r3, [r3, #112] ; 0x70 - 8001b84: f423 7340 bic.w r3, r3, #768 ; 0x300 - 8001b88: 613b str r3, [r7, #16] + 8001cac: 4b20 ldr r3, [pc, #128] ; (8001d30 ) + 8001cae: 6f1b ldr r3, [r3, #112] ; 0x70 + 8001cb0: f423 7340 bic.w r3, r3, #768 ; 0x300 + 8001cb4: 613b str r3, [r7, #16] /* RTC Clock selection can be changed only if the Backup Domain is reset */ __HAL_RCC_BACKUPRESET_FORCE(); - 8001b8a: 4b1e ldr r3, [pc, #120] ; (8001c04 ) - 8001b8c: 6f1b ldr r3, [r3, #112] ; 0x70 - 8001b8e: 4a1d ldr r2, [pc, #116] ; (8001c04 ) - 8001b90: f443 3380 orr.w r3, r3, #65536 ; 0x10000 - 8001b94: 6713 str r3, [r2, #112] ; 0x70 + 8001cb6: 4b1e ldr r3, [pc, #120] ; (8001d30 ) + 8001cb8: 6f1b ldr r3, [r3, #112] ; 0x70 + 8001cba: 4a1d ldr r2, [pc, #116] ; (8001d30 ) + 8001cbc: f443 3380 orr.w r3, r3, #65536 ; 0x10000 + 8001cc0: 6713 str r3, [r2, #112] ; 0x70 __HAL_RCC_BACKUPRESET_RELEASE(); - 8001b96: 4b1b ldr r3, [pc, #108] ; (8001c04 ) - 8001b98: 6f1b ldr r3, [r3, #112] ; 0x70 - 8001b9a: 4a1a ldr r2, [pc, #104] ; (8001c04 ) - 8001b9c: f423 3380 bic.w r3, r3, #65536 ; 0x10000 - 8001ba0: 6713 str r3, [r2, #112] ; 0x70 + 8001cc2: 4b1b ldr r3, [pc, #108] ; (8001d30 ) + 8001cc4: 6f1b ldr r3, [r3, #112] ; 0x70 + 8001cc6: 4a1a ldr r2, [pc, #104] ; (8001d30 ) + 8001cc8: f423 3380 bic.w r3, r3, #65536 ; 0x10000 + 8001ccc: 6713 str r3, [r2, #112] ; 0x70 /* Restore the Content of BDCR register */ RCC->BDCR = tmpreg0; - 8001ba2: 4a18 ldr r2, [pc, #96] ; (8001c04 ) - 8001ba4: 693b ldr r3, [r7, #16] - 8001ba6: 6713 str r3, [r2, #112] ; 0x70 + 8001cce: 4a18 ldr r2, [pc, #96] ; (8001d30 ) + 8001cd0: 693b ldr r3, [r7, #16] + 8001cd2: 6713 str r3, [r2, #112] ; 0x70 /* Wait for LSE reactivation if LSE was enable prior to Backup Domain reset */ if (HAL_IS_BIT_SET(RCC->BDCR, RCC_BDCR_LSEON)) - 8001ba8: 4b16 ldr r3, [pc, #88] ; (8001c04 ) - 8001baa: 6f1b ldr r3, [r3, #112] ; 0x70 - 8001bac: f003 0301 and.w r3, r3, #1 - 8001bb0: 2b01 cmp r3, #1 - 8001bb2: d114 bne.n 8001bde + 8001cd4: 4b16 ldr r3, [pc, #88] ; (8001d30 ) + 8001cd6: 6f1b ldr r3, [r3, #112] ; 0x70 + 8001cd8: f003 0301 and.w r3, r3, #1 + 8001cdc: 2b01 cmp r3, #1 + 8001cde: d114 bne.n 8001d0a { /* Get Start Tick*/ tickstart = HAL_GetTick(); - 8001bb4: f7fe fd12 bl 80005dc - 8001bb8: 6178 str r0, [r7, #20] + 8001ce0: f7fe fc84 bl 80005ec + 8001ce4: 6178 str r0, [r7, #20] /* Wait till LSE is ready */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET) - 8001bba: e00a b.n 8001bd2 + 8001ce6: e00a b.n 8001cfe { if((HAL_GetTick() - tickstart ) > RCC_LSE_TIMEOUT_VALUE) - 8001bbc: f7fe fd0e bl 80005dc - 8001bc0: 4602 mov r2, r0 - 8001bc2: 697b ldr r3, [r7, #20] - 8001bc4: 1ad3 subs r3, r2, r3 - 8001bc6: f241 3288 movw r2, #5000 ; 0x1388 - 8001bca: 4293 cmp r3, r2 - 8001bcc: d901 bls.n 8001bd2 + 8001ce8: f7fe fc80 bl 80005ec + 8001cec: 4602 mov r2, r0 + 8001cee: 697b ldr r3, [r7, #20] + 8001cf0: 1ad3 subs r3, r2, r3 + 8001cf2: f241 3288 movw r2, #5000 ; 0x1388 + 8001cf6: 4293 cmp r3, r2 + 8001cf8: d901 bls.n 8001cfe { return HAL_TIMEOUT; - 8001bce: 2303 movs r3, #3 - 8001bd0: e34f b.n 8002272 + 8001cfa: 2303 movs r3, #3 + 8001cfc: e34f b.n 800239e while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET) - 8001bd2: 4b0c ldr r3, [pc, #48] ; (8001c04 ) - 8001bd4: 6f1b ldr r3, [r3, #112] ; 0x70 - 8001bd6: f003 0302 and.w r3, r3, #2 - 8001bda: 2b00 cmp r3, #0 - 8001bdc: d0ee beq.n 8001bbc + 8001cfe: 4b0c ldr r3, [pc, #48] ; (8001d30 ) + 8001d00: 6f1b ldr r3, [r3, #112] ; 0x70 + 8001d02: f003 0302 and.w r3, r3, #2 + 8001d06: 2b00 cmp r3, #0 + 8001d08: d0ee beq.n 8001ce8 } } } } __HAL_RCC_RTC_CONFIG(PeriphClkInit->RTCClockSelection); - 8001bde: 687b ldr r3, [r7, #4] - 8001be0: 6b1b ldr r3, [r3, #48] ; 0x30 - 8001be2: f403 7340 and.w r3, r3, #768 ; 0x300 - 8001be6: f5b3 7f40 cmp.w r3, #768 ; 0x300 - 8001bea: d111 bne.n 8001c10 - 8001bec: 4b05 ldr r3, [pc, #20] ; (8001c04 ) - 8001bee: 689b ldr r3, [r3, #8] - 8001bf0: f423 12f8 bic.w r2, r3, #2031616 ; 0x1f0000 - 8001bf4: 687b ldr r3, [r7, #4] - 8001bf6: 6b19 ldr r1, [r3, #48] ; 0x30 - 8001bf8: 4b04 ldr r3, [pc, #16] ; (8001c0c ) - 8001bfa: 400b ands r3, r1 - 8001bfc: 4901 ldr r1, [pc, #4] ; (8001c04 ) - 8001bfe: 4313 orrs r3, r2 - 8001c00: 608b str r3, [r1, #8] - 8001c02: e00b b.n 8001c1c - 8001c04: 40023800 .word 0x40023800 - 8001c08: 40007000 .word 0x40007000 - 8001c0c: 0ffffcff .word 0x0ffffcff - 8001c10: 4bb3 ldr r3, [pc, #716] ; (8001ee0 ) - 8001c12: 689b ldr r3, [r3, #8] - 8001c14: 4ab2 ldr r2, [pc, #712] ; (8001ee0 ) - 8001c16: f423 13f8 bic.w r3, r3, #2031616 ; 0x1f0000 - 8001c1a: 6093 str r3, [r2, #8] - 8001c1c: 4bb0 ldr r3, [pc, #704] ; (8001ee0 ) - 8001c1e: 6f1a ldr r2, [r3, #112] ; 0x70 - 8001c20: 687b ldr r3, [r7, #4] - 8001c22: 6b1b ldr r3, [r3, #48] ; 0x30 - 8001c24: f3c3 030b ubfx r3, r3, #0, #12 - 8001c28: 49ad ldr r1, [pc, #692] ; (8001ee0 ) - 8001c2a: 4313 orrs r3, r2 - 8001c2c: 670b str r3, [r1, #112] ; 0x70 + 8001d0a: 687b ldr r3, [r7, #4] + 8001d0c: 6b1b ldr r3, [r3, #48] ; 0x30 + 8001d0e: f403 7340 and.w r3, r3, #768 ; 0x300 + 8001d12: f5b3 7f40 cmp.w r3, #768 ; 0x300 + 8001d16: d111 bne.n 8001d3c + 8001d18: 4b05 ldr r3, [pc, #20] ; (8001d30 ) + 8001d1a: 689b ldr r3, [r3, #8] + 8001d1c: f423 12f8 bic.w r2, r3, #2031616 ; 0x1f0000 + 8001d20: 687b ldr r3, [r7, #4] + 8001d22: 6b19 ldr r1, [r3, #48] ; 0x30 + 8001d24: 4b04 ldr r3, [pc, #16] ; (8001d38 ) + 8001d26: 400b ands r3, r1 + 8001d28: 4901 ldr r1, [pc, #4] ; (8001d30 ) + 8001d2a: 4313 orrs r3, r2 + 8001d2c: 608b str r3, [r1, #8] + 8001d2e: e00b b.n 8001d48 + 8001d30: 40023800 .word 0x40023800 + 8001d34: 40007000 .word 0x40007000 + 8001d38: 0ffffcff .word 0x0ffffcff + 8001d3c: 4bb3 ldr r3, [pc, #716] ; (800200c ) + 8001d3e: 689b ldr r3, [r3, #8] + 8001d40: 4ab2 ldr r2, [pc, #712] ; (800200c ) + 8001d42: f423 13f8 bic.w r3, r3, #2031616 ; 0x1f0000 + 8001d46: 6093 str r3, [r2, #8] + 8001d48: 4bb0 ldr r3, [pc, #704] ; (800200c ) + 8001d4a: 6f1a ldr r2, [r3, #112] ; 0x70 + 8001d4c: 687b ldr r3, [r7, #4] + 8001d4e: 6b1b ldr r3, [r3, #48] ; 0x30 + 8001d50: f3c3 030b ubfx r3, r3, #0, #12 + 8001d54: 49ad ldr r1, [pc, #692] ; (800200c ) + 8001d56: 4313 orrs r3, r2 + 8001d58: 670b str r3, [r1, #112] ; 0x70 } /*------------------------------------ TIM configuration --------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_TIM) == (RCC_PERIPHCLK_TIM)) - 8001c2e: 687b ldr r3, [r7, #4] - 8001c30: 681b ldr r3, [r3, #0] - 8001c32: f003 0310 and.w r3, r3, #16 - 8001c36: 2b00 cmp r3, #0 - 8001c38: d010 beq.n 8001c5c + 8001d5a: 687b ldr r3, [r7, #4] + 8001d5c: 681b ldr r3, [r3, #0] + 8001d5e: f003 0310 and.w r3, r3, #16 + 8001d62: 2b00 cmp r3, #0 + 8001d64: d010 beq.n 8001d88 { /* Check the parameters */ assert_param(IS_RCC_TIMPRES(PeriphClkInit->TIMPresSelection)); /* Configure Timer Prescaler */ __HAL_RCC_TIMCLKPRESCALER(PeriphClkInit->TIMPresSelection); - 8001c3a: 4ba9 ldr r3, [pc, #676] ; (8001ee0 ) - 8001c3c: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c - 8001c40: 4aa7 ldr r2, [pc, #668] ; (8001ee0 ) - 8001c42: f023 7380 bic.w r3, r3, #16777216 ; 0x1000000 - 8001c46: f8c2 308c str.w r3, [r2, #140] ; 0x8c - 8001c4a: 4ba5 ldr r3, [pc, #660] ; (8001ee0 ) - 8001c4c: f8d3 208c ldr.w r2, [r3, #140] ; 0x8c - 8001c50: 687b ldr r3, [r7, #4] - 8001c52: 6b9b ldr r3, [r3, #56] ; 0x38 - 8001c54: 49a2 ldr r1, [pc, #648] ; (8001ee0 ) - 8001c56: 4313 orrs r3, r2 - 8001c58: f8c1 308c str.w r3, [r1, #140] ; 0x8c + 8001d66: 4ba9 ldr r3, [pc, #676] ; (800200c ) + 8001d68: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c + 8001d6c: 4aa7 ldr r2, [pc, #668] ; (800200c ) + 8001d6e: f023 7380 bic.w r3, r3, #16777216 ; 0x1000000 + 8001d72: f8c2 308c str.w r3, [r2, #140] ; 0x8c + 8001d76: 4ba5 ldr r3, [pc, #660] ; (800200c ) + 8001d78: f8d3 208c ldr.w r2, [r3, #140] ; 0x8c + 8001d7c: 687b ldr r3, [r7, #4] + 8001d7e: 6b9b ldr r3, [r3, #56] ; 0x38 + 8001d80: 49a2 ldr r1, [pc, #648] ; (800200c ) + 8001d82: 4313 orrs r3, r2 + 8001d84: f8c1 308c str.w r3, [r1, #140] ; 0x8c } /*-------------------------------------- I2C1 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C1) == RCC_PERIPHCLK_I2C1) - 8001c5c: 687b ldr r3, [r7, #4] - 8001c5e: 681b ldr r3, [r3, #0] - 8001c60: f403 4380 and.w r3, r3, #16384 ; 0x4000 - 8001c64: 2b00 cmp r3, #0 - 8001c66: d00a beq.n 8001c7e + 8001d88: 687b ldr r3, [r7, #4] + 8001d8a: 681b ldr r3, [r3, #0] + 8001d8c: f403 4380 and.w r3, r3, #16384 ; 0x4000 + 8001d90: 2b00 cmp r3, #0 + 8001d92: d00a beq.n 8001daa { /* Check the parameters */ assert_param(IS_RCC_I2C1CLKSOURCE(PeriphClkInit->I2c1ClockSelection)); /* Configure the I2C1 clock source */ __HAL_RCC_I2C1_CONFIG(PeriphClkInit->I2c1ClockSelection); - 8001c68: 4b9d ldr r3, [pc, #628] ; (8001ee0 ) - 8001c6a: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 - 8001c6e: f423 3240 bic.w r2, r3, #196608 ; 0x30000 - 8001c72: 687b ldr r3, [r7, #4] - 8001c74: 6e5b ldr r3, [r3, #100] ; 0x64 - 8001c76: 499a ldr r1, [pc, #616] ; (8001ee0 ) - 8001c78: 4313 orrs r3, r2 - 8001c7a: f8c1 3090 str.w r3, [r1, #144] ; 0x90 + 8001d94: 4b9d ldr r3, [pc, #628] ; (800200c ) + 8001d96: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 + 8001d9a: f423 3240 bic.w r2, r3, #196608 ; 0x30000 + 8001d9e: 687b ldr r3, [r7, #4] + 8001da0: 6e5b ldr r3, [r3, #100] ; 0x64 + 8001da2: 499a ldr r1, [pc, #616] ; (800200c ) + 8001da4: 4313 orrs r3, r2 + 8001da6: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- I2C2 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C2) == RCC_PERIPHCLK_I2C2) - 8001c7e: 687b ldr r3, [r7, #4] - 8001c80: 681b ldr r3, [r3, #0] - 8001c82: f403 4300 and.w r3, r3, #32768 ; 0x8000 - 8001c86: 2b00 cmp r3, #0 - 8001c88: d00a beq.n 8001ca0 + 8001daa: 687b ldr r3, [r7, #4] + 8001dac: 681b ldr r3, [r3, #0] + 8001dae: f403 4300 and.w r3, r3, #32768 ; 0x8000 + 8001db2: 2b00 cmp r3, #0 + 8001db4: d00a beq.n 8001dcc { /* Check the parameters */ assert_param(IS_RCC_I2C2CLKSOURCE(PeriphClkInit->I2c2ClockSelection)); /* Configure the I2C2 clock source */ __HAL_RCC_I2C2_CONFIG(PeriphClkInit->I2c2ClockSelection); - 8001c8a: 4b95 ldr r3, [pc, #596] ; (8001ee0 ) - 8001c8c: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 - 8001c90: f423 2240 bic.w r2, r3, #786432 ; 0xc0000 - 8001c94: 687b ldr r3, [r7, #4] - 8001c96: 6e9b ldr r3, [r3, #104] ; 0x68 - 8001c98: 4991 ldr r1, [pc, #580] ; (8001ee0 ) - 8001c9a: 4313 orrs r3, r2 - 8001c9c: f8c1 3090 str.w r3, [r1, #144] ; 0x90 + 8001db6: 4b95 ldr r3, [pc, #596] ; (800200c ) + 8001db8: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 + 8001dbc: f423 2240 bic.w r2, r3, #786432 ; 0xc0000 + 8001dc0: 687b ldr r3, [r7, #4] + 8001dc2: 6e9b ldr r3, [r3, #104] ; 0x68 + 8001dc4: 4991 ldr r1, [pc, #580] ; (800200c ) + 8001dc6: 4313 orrs r3, r2 + 8001dc8: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- I2C3 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C3) == RCC_PERIPHCLK_I2C3) - 8001ca0: 687b ldr r3, [r7, #4] - 8001ca2: 681b ldr r3, [r3, #0] - 8001ca4: f403 3380 and.w r3, r3, #65536 ; 0x10000 - 8001ca8: 2b00 cmp r3, #0 - 8001caa: d00a beq.n 8001cc2 + 8001dcc: 687b ldr r3, [r7, #4] + 8001dce: 681b ldr r3, [r3, #0] + 8001dd0: f403 3380 and.w r3, r3, #65536 ; 0x10000 + 8001dd4: 2b00 cmp r3, #0 + 8001dd6: d00a beq.n 8001dee { /* Check the parameters */ assert_param(IS_RCC_I2C3CLKSOURCE(PeriphClkInit->I2c3ClockSelection)); /* Configure the I2C3 clock source */ __HAL_RCC_I2C3_CONFIG(PeriphClkInit->I2c3ClockSelection); - 8001cac: 4b8c ldr r3, [pc, #560] ; (8001ee0 ) - 8001cae: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 - 8001cb2: f423 1240 bic.w r2, r3, #3145728 ; 0x300000 - 8001cb6: 687b ldr r3, [r7, #4] - 8001cb8: 6edb ldr r3, [r3, #108] ; 0x6c - 8001cba: 4989 ldr r1, [pc, #548] ; (8001ee0 ) - 8001cbc: 4313 orrs r3, r2 - 8001cbe: f8c1 3090 str.w r3, [r1, #144] ; 0x90 + 8001dd8: 4b8c ldr r3, [pc, #560] ; (800200c ) + 8001dda: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 + 8001dde: f423 1240 bic.w r2, r3, #3145728 ; 0x300000 + 8001de2: 687b ldr r3, [r7, #4] + 8001de4: 6edb ldr r3, [r3, #108] ; 0x6c + 8001de6: 4989 ldr r1, [pc, #548] ; (800200c ) + 8001de8: 4313 orrs r3, r2 + 8001dea: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- I2C4 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C4) == RCC_PERIPHCLK_I2C4) - 8001cc2: 687b ldr r3, [r7, #4] - 8001cc4: 681b ldr r3, [r3, #0] - 8001cc6: f403 3300 and.w r3, r3, #131072 ; 0x20000 - 8001cca: 2b00 cmp r3, #0 - 8001ccc: d00a beq.n 8001ce4 + 8001dee: 687b ldr r3, [r7, #4] + 8001df0: 681b ldr r3, [r3, #0] + 8001df2: f403 3300 and.w r3, r3, #131072 ; 0x20000 + 8001df6: 2b00 cmp r3, #0 + 8001df8: d00a beq.n 8001e10 { /* Check the parameters */ assert_param(IS_RCC_I2C4CLKSOURCE(PeriphClkInit->I2c4ClockSelection)); /* Configure the I2C4 clock source */ __HAL_RCC_I2C4_CONFIG(PeriphClkInit->I2c4ClockSelection); - 8001cce: 4b84 ldr r3, [pc, #528] ; (8001ee0 ) - 8001cd0: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 - 8001cd4: f423 0240 bic.w r2, r3, #12582912 ; 0xc00000 - 8001cd8: 687b ldr r3, [r7, #4] - 8001cda: 6f1b ldr r3, [r3, #112] ; 0x70 - 8001cdc: 4980 ldr r1, [pc, #512] ; (8001ee0 ) - 8001cde: 4313 orrs r3, r2 - 8001ce0: f8c1 3090 str.w r3, [r1, #144] ; 0x90 + 8001dfa: 4b84 ldr r3, [pc, #528] ; (800200c ) + 8001dfc: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 + 8001e00: f423 0240 bic.w r2, r3, #12582912 ; 0xc00000 + 8001e04: 687b ldr r3, [r7, #4] + 8001e06: 6f1b ldr r3, [r3, #112] ; 0x70 + 8001e08: 4980 ldr r1, [pc, #512] ; (800200c ) + 8001e0a: 4313 orrs r3, r2 + 8001e0c: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- USART1 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART1) == RCC_PERIPHCLK_USART1) - 8001ce4: 687b ldr r3, [r7, #4] - 8001ce6: 681b ldr r3, [r3, #0] - 8001ce8: f003 0340 and.w r3, r3, #64 ; 0x40 - 8001cec: 2b00 cmp r3, #0 - 8001cee: d00a beq.n 8001d06 + 8001e10: 687b ldr r3, [r7, #4] + 8001e12: 681b ldr r3, [r3, #0] + 8001e14: f003 0340 and.w r3, r3, #64 ; 0x40 + 8001e18: 2b00 cmp r3, #0 + 8001e1a: d00a beq.n 8001e32 { /* Check the parameters */ assert_param(IS_RCC_USART1CLKSOURCE(PeriphClkInit->Usart1ClockSelection)); /* Configure the USART1 clock source */ __HAL_RCC_USART1_CONFIG(PeriphClkInit->Usart1ClockSelection); - 8001cf0: 4b7b ldr r3, [pc, #492] ; (8001ee0 ) - 8001cf2: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 - 8001cf6: f023 0203 bic.w r2, r3, #3 - 8001cfa: 687b ldr r3, [r7, #4] - 8001cfc: 6c5b ldr r3, [r3, #68] ; 0x44 - 8001cfe: 4978 ldr r1, [pc, #480] ; (8001ee0 ) - 8001d00: 4313 orrs r3, r2 - 8001d02: f8c1 3090 str.w r3, [r1, #144] ; 0x90 + 8001e1c: 4b7b ldr r3, [pc, #492] ; (800200c ) + 8001e1e: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 + 8001e22: f023 0203 bic.w r2, r3, #3 + 8001e26: 687b ldr r3, [r7, #4] + 8001e28: 6c5b ldr r3, [r3, #68] ; 0x44 + 8001e2a: 4978 ldr r1, [pc, #480] ; (800200c ) + 8001e2c: 4313 orrs r3, r2 + 8001e2e: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- USART2 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART2) == RCC_PERIPHCLK_USART2) - 8001d06: 687b ldr r3, [r7, #4] - 8001d08: 681b ldr r3, [r3, #0] - 8001d0a: f003 0380 and.w r3, r3, #128 ; 0x80 - 8001d0e: 2b00 cmp r3, #0 - 8001d10: d00a beq.n 8001d28 + 8001e32: 687b ldr r3, [r7, #4] + 8001e34: 681b ldr r3, [r3, #0] + 8001e36: f003 0380 and.w r3, r3, #128 ; 0x80 + 8001e3a: 2b00 cmp r3, #0 + 8001e3c: d00a beq.n 8001e54 { /* Check the parameters */ assert_param(IS_RCC_USART2CLKSOURCE(PeriphClkInit->Usart2ClockSelection)); /* Configure the USART2 clock source */ __HAL_RCC_USART2_CONFIG(PeriphClkInit->Usart2ClockSelection); - 8001d12: 4b73 ldr r3, [pc, #460] ; (8001ee0 ) - 8001d14: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 - 8001d18: f023 020c bic.w r2, r3, #12 - 8001d1c: 687b ldr r3, [r7, #4] - 8001d1e: 6c9b ldr r3, [r3, #72] ; 0x48 - 8001d20: 496f ldr r1, [pc, #444] ; (8001ee0 ) - 8001d22: 4313 orrs r3, r2 - 8001d24: f8c1 3090 str.w r3, [r1, #144] ; 0x90 + 8001e3e: 4b73 ldr r3, [pc, #460] ; (800200c ) + 8001e40: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 + 8001e44: f023 020c bic.w r2, r3, #12 + 8001e48: 687b ldr r3, [r7, #4] + 8001e4a: 6c9b ldr r3, [r3, #72] ; 0x48 + 8001e4c: 496f ldr r1, [pc, #444] ; (800200c ) + 8001e4e: 4313 orrs r3, r2 + 8001e50: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- USART3 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART3) == RCC_PERIPHCLK_USART3) - 8001d28: 687b ldr r3, [r7, #4] - 8001d2a: 681b ldr r3, [r3, #0] - 8001d2c: f403 7380 and.w r3, r3, #256 ; 0x100 - 8001d30: 2b00 cmp r3, #0 - 8001d32: d00a beq.n 8001d4a + 8001e54: 687b ldr r3, [r7, #4] + 8001e56: 681b ldr r3, [r3, #0] + 8001e58: f403 7380 and.w r3, r3, #256 ; 0x100 + 8001e5c: 2b00 cmp r3, #0 + 8001e5e: d00a beq.n 8001e76 { /* Check the parameters */ assert_param(IS_RCC_USART3CLKSOURCE(PeriphClkInit->Usart3ClockSelection)); /* Configure the USART3 clock source */ __HAL_RCC_USART3_CONFIG(PeriphClkInit->Usart3ClockSelection); - 8001d34: 4b6a ldr r3, [pc, #424] ; (8001ee0 ) - 8001d36: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 - 8001d3a: f023 0230 bic.w r2, r3, #48 ; 0x30 - 8001d3e: 687b ldr r3, [r7, #4] - 8001d40: 6cdb ldr r3, [r3, #76] ; 0x4c - 8001d42: 4967 ldr r1, [pc, #412] ; (8001ee0 ) - 8001d44: 4313 orrs r3, r2 - 8001d46: f8c1 3090 str.w r3, [r1, #144] ; 0x90 + 8001e60: 4b6a ldr r3, [pc, #424] ; (800200c ) + 8001e62: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 + 8001e66: f023 0230 bic.w r2, r3, #48 ; 0x30 + 8001e6a: 687b ldr r3, [r7, #4] + 8001e6c: 6cdb ldr r3, [r3, #76] ; 0x4c + 8001e6e: 4967 ldr r1, [pc, #412] ; (800200c ) + 8001e70: 4313 orrs r3, r2 + 8001e72: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- UART4 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_UART4) == RCC_PERIPHCLK_UART4) - 8001d4a: 687b ldr r3, [r7, #4] - 8001d4c: 681b ldr r3, [r3, #0] - 8001d4e: f403 7300 and.w r3, r3, #512 ; 0x200 - 8001d52: 2b00 cmp r3, #0 - 8001d54: d00a beq.n 8001d6c + 8001e76: 687b ldr r3, [r7, #4] + 8001e78: 681b ldr r3, [r3, #0] + 8001e7a: f403 7300 and.w r3, r3, #512 ; 0x200 + 8001e7e: 2b00 cmp r3, #0 + 8001e80: d00a beq.n 8001e98 { /* Check the parameters */ assert_param(IS_RCC_UART4CLKSOURCE(PeriphClkInit->Uart4ClockSelection)); /* Configure the UART4 clock source */ __HAL_RCC_UART4_CONFIG(PeriphClkInit->Uart4ClockSelection); - 8001d56: 4b62 ldr r3, [pc, #392] ; (8001ee0 ) - 8001d58: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 - 8001d5c: f023 02c0 bic.w r2, r3, #192 ; 0xc0 - 8001d60: 687b ldr r3, [r7, #4] - 8001d62: 6d1b ldr r3, [r3, #80] ; 0x50 - 8001d64: 495e ldr r1, [pc, #376] ; (8001ee0 ) - 8001d66: 4313 orrs r3, r2 - 8001d68: f8c1 3090 str.w r3, [r1, #144] ; 0x90 + 8001e82: 4b62 ldr r3, [pc, #392] ; (800200c ) + 8001e84: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 + 8001e88: f023 02c0 bic.w r2, r3, #192 ; 0xc0 + 8001e8c: 687b ldr r3, [r7, #4] + 8001e8e: 6d1b ldr r3, [r3, #80] ; 0x50 + 8001e90: 495e ldr r1, [pc, #376] ; (800200c ) + 8001e92: 4313 orrs r3, r2 + 8001e94: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- UART5 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_UART5) == RCC_PERIPHCLK_UART5) - 8001d6c: 687b ldr r3, [r7, #4] - 8001d6e: 681b ldr r3, [r3, #0] - 8001d70: f403 6380 and.w r3, r3, #1024 ; 0x400 - 8001d74: 2b00 cmp r3, #0 - 8001d76: d00a beq.n 8001d8e + 8001e98: 687b ldr r3, [r7, #4] + 8001e9a: 681b ldr r3, [r3, #0] + 8001e9c: f403 6380 and.w r3, r3, #1024 ; 0x400 + 8001ea0: 2b00 cmp r3, #0 + 8001ea2: d00a beq.n 8001eba { /* Check the parameters */ assert_param(IS_RCC_UART5CLKSOURCE(PeriphClkInit->Uart5ClockSelection)); /* Configure the UART5 clock source */ __HAL_RCC_UART5_CONFIG(PeriphClkInit->Uart5ClockSelection); - 8001d78: 4b59 ldr r3, [pc, #356] ; (8001ee0 ) - 8001d7a: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 - 8001d7e: f423 7240 bic.w r2, r3, #768 ; 0x300 - 8001d82: 687b ldr r3, [r7, #4] - 8001d84: 6d5b ldr r3, [r3, #84] ; 0x54 - 8001d86: 4956 ldr r1, [pc, #344] ; (8001ee0 ) - 8001d88: 4313 orrs r3, r2 - 8001d8a: f8c1 3090 str.w r3, [r1, #144] ; 0x90 + 8001ea4: 4b59 ldr r3, [pc, #356] ; (800200c ) + 8001ea6: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 + 8001eaa: f423 7240 bic.w r2, r3, #768 ; 0x300 + 8001eae: 687b ldr r3, [r7, #4] + 8001eb0: 6d5b ldr r3, [r3, #84] ; 0x54 + 8001eb2: 4956 ldr r1, [pc, #344] ; (800200c ) + 8001eb4: 4313 orrs r3, r2 + 8001eb6: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- USART6 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART6) == RCC_PERIPHCLK_USART6) - 8001d8e: 687b ldr r3, [r7, #4] - 8001d90: 681b ldr r3, [r3, #0] - 8001d92: f403 6300 and.w r3, r3, #2048 ; 0x800 - 8001d96: 2b00 cmp r3, #0 - 8001d98: d00a beq.n 8001db0 + 8001eba: 687b ldr r3, [r7, #4] + 8001ebc: 681b ldr r3, [r3, #0] + 8001ebe: f403 6300 and.w r3, r3, #2048 ; 0x800 + 8001ec2: 2b00 cmp r3, #0 + 8001ec4: d00a beq.n 8001edc { /* Check the parameters */ assert_param(IS_RCC_USART6CLKSOURCE(PeriphClkInit->Usart6ClockSelection)); /* Configure the USART6 clock source */ __HAL_RCC_USART6_CONFIG(PeriphClkInit->Usart6ClockSelection); - 8001d9a: 4b51 ldr r3, [pc, #324] ; (8001ee0 ) - 8001d9c: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 - 8001da0: f423 6240 bic.w r2, r3, #3072 ; 0xc00 - 8001da4: 687b ldr r3, [r7, #4] - 8001da6: 6d9b ldr r3, [r3, #88] ; 0x58 - 8001da8: 494d ldr r1, [pc, #308] ; (8001ee0 ) - 8001daa: 4313 orrs r3, r2 - 8001dac: f8c1 3090 str.w r3, [r1, #144] ; 0x90 + 8001ec6: 4b51 ldr r3, [pc, #324] ; (800200c ) + 8001ec8: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 + 8001ecc: f423 6240 bic.w r2, r3, #3072 ; 0xc00 + 8001ed0: 687b ldr r3, [r7, #4] + 8001ed2: 6d9b ldr r3, [r3, #88] ; 0x58 + 8001ed4: 494d ldr r1, [pc, #308] ; (800200c ) + 8001ed6: 4313 orrs r3, r2 + 8001ed8: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- UART7 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_UART7) == RCC_PERIPHCLK_UART7) - 8001db0: 687b ldr r3, [r7, #4] - 8001db2: 681b ldr r3, [r3, #0] - 8001db4: f403 5380 and.w r3, r3, #4096 ; 0x1000 - 8001db8: 2b00 cmp r3, #0 - 8001dba: d00a beq.n 8001dd2 + 8001edc: 687b ldr r3, [r7, #4] + 8001ede: 681b ldr r3, [r3, #0] + 8001ee0: f403 5380 and.w r3, r3, #4096 ; 0x1000 + 8001ee4: 2b00 cmp r3, #0 + 8001ee6: d00a beq.n 8001efe { /* Check the parameters */ assert_param(IS_RCC_UART7CLKSOURCE(PeriphClkInit->Uart7ClockSelection)); /* Configure the UART7 clock source */ __HAL_RCC_UART7_CONFIG(PeriphClkInit->Uart7ClockSelection); - 8001dbc: 4b48 ldr r3, [pc, #288] ; (8001ee0 ) - 8001dbe: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 - 8001dc2: f423 5240 bic.w r2, r3, #12288 ; 0x3000 - 8001dc6: 687b ldr r3, [r7, #4] - 8001dc8: 6ddb ldr r3, [r3, #92] ; 0x5c - 8001dca: 4945 ldr r1, [pc, #276] ; (8001ee0 ) - 8001dcc: 4313 orrs r3, r2 - 8001dce: f8c1 3090 str.w r3, [r1, #144] ; 0x90 + 8001ee8: 4b48 ldr r3, [pc, #288] ; (800200c ) + 8001eea: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 + 8001eee: f423 5240 bic.w r2, r3, #12288 ; 0x3000 + 8001ef2: 687b ldr r3, [r7, #4] + 8001ef4: 6ddb ldr r3, [r3, #92] ; 0x5c + 8001ef6: 4945 ldr r1, [pc, #276] ; (800200c ) + 8001ef8: 4313 orrs r3, r2 + 8001efa: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- UART8 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_UART8) == RCC_PERIPHCLK_UART8) - 8001dd2: 687b ldr r3, [r7, #4] - 8001dd4: 681b ldr r3, [r3, #0] - 8001dd6: f403 5300 and.w r3, r3, #8192 ; 0x2000 - 8001dda: 2b00 cmp r3, #0 - 8001ddc: d00a beq.n 8001df4 + 8001efe: 687b ldr r3, [r7, #4] + 8001f00: 681b ldr r3, [r3, #0] + 8001f02: f403 5300 and.w r3, r3, #8192 ; 0x2000 + 8001f06: 2b00 cmp r3, #0 + 8001f08: d00a beq.n 8001f20 { /* Check the parameters */ assert_param(IS_RCC_UART8CLKSOURCE(PeriphClkInit->Uart8ClockSelection)); /* Configure the UART8 clock source */ __HAL_RCC_UART8_CONFIG(PeriphClkInit->Uart8ClockSelection); - 8001dde: 4b40 ldr r3, [pc, #256] ; (8001ee0 ) - 8001de0: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 - 8001de4: f423 4240 bic.w r2, r3, #49152 ; 0xc000 - 8001de8: 687b ldr r3, [r7, #4] - 8001dea: 6e1b ldr r3, [r3, #96] ; 0x60 - 8001dec: 493c ldr r1, [pc, #240] ; (8001ee0 ) - 8001dee: 4313 orrs r3, r2 - 8001df0: f8c1 3090 str.w r3, [r1, #144] ; 0x90 + 8001f0a: 4b40 ldr r3, [pc, #256] ; (800200c ) + 8001f0c: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 + 8001f10: f423 4240 bic.w r2, r3, #49152 ; 0xc000 + 8001f14: 687b ldr r3, [r7, #4] + 8001f16: 6e1b ldr r3, [r3, #96] ; 0x60 + 8001f18: 493c ldr r1, [pc, #240] ; (800200c ) + 8001f1a: 4313 orrs r3, r2 + 8001f1c: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*--------------------------------------- CEC Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_CEC) == RCC_PERIPHCLK_CEC) - 8001df4: 687b ldr r3, [r7, #4] - 8001df6: 681b ldr r3, [r3, #0] - 8001df8: f403 0380 and.w r3, r3, #4194304 ; 0x400000 - 8001dfc: 2b00 cmp r3, #0 - 8001dfe: d00a beq.n 8001e16 + 8001f20: 687b ldr r3, [r7, #4] + 8001f22: 681b ldr r3, [r3, #0] + 8001f24: f403 0380 and.w r3, r3, #4194304 ; 0x400000 + 8001f28: 2b00 cmp r3, #0 + 8001f2a: d00a beq.n 8001f42 { /* Check the parameters */ assert_param(IS_RCC_CECCLKSOURCE(PeriphClkInit->CecClockSelection)); /* Configure the CEC clock source */ __HAL_RCC_CEC_CONFIG(PeriphClkInit->CecClockSelection); - 8001e00: 4b37 ldr r3, [pc, #220] ; (8001ee0 ) - 8001e02: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 - 8001e06: f023 6280 bic.w r2, r3, #67108864 ; 0x4000000 - 8001e0a: 687b ldr r3, [r7, #4] - 8001e0c: 6f9b ldr r3, [r3, #120] ; 0x78 - 8001e0e: 4934 ldr r1, [pc, #208] ; (8001ee0 ) - 8001e10: 4313 orrs r3, r2 - 8001e12: f8c1 3090 str.w r3, [r1, #144] ; 0x90 + 8001f2c: 4b37 ldr r3, [pc, #220] ; (800200c ) + 8001f2e: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 + 8001f32: f023 6280 bic.w r2, r3, #67108864 ; 0x4000000 + 8001f36: 687b ldr r3, [r7, #4] + 8001f38: 6f9b ldr r3, [r3, #120] ; 0x78 + 8001f3a: 4934 ldr r1, [pc, #208] ; (800200c ) + 8001f3c: 4313 orrs r3, r2 + 8001f3e: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- CK48 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_CLK48) == RCC_PERIPHCLK_CLK48) - 8001e16: 687b ldr r3, [r7, #4] - 8001e18: 681b ldr r3, [r3, #0] - 8001e1a: f403 1300 and.w r3, r3, #2097152 ; 0x200000 - 8001e1e: 2b00 cmp r3, #0 - 8001e20: d011 beq.n 8001e46 + 8001f42: 687b ldr r3, [r7, #4] + 8001f44: 681b ldr r3, [r3, #0] + 8001f46: f403 1300 and.w r3, r3, #2097152 ; 0x200000 + 8001f4a: 2b00 cmp r3, #0 + 8001f4c: d011 beq.n 8001f72 { /* Check the parameters */ assert_param(IS_RCC_CLK48SOURCE(PeriphClkInit->Clk48ClockSelection)); /* Configure the CLK48 source */ __HAL_RCC_CLK48_CONFIG(PeriphClkInit->Clk48ClockSelection); - 8001e22: 4b2f ldr r3, [pc, #188] ; (8001ee0 ) - 8001e24: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 - 8001e28: f023 6200 bic.w r2, r3, #134217728 ; 0x8000000 - 8001e2c: 687b ldr r3, [r7, #4] - 8001e2e: 6fdb ldr r3, [r3, #124] ; 0x7c - 8001e30: 492b ldr r1, [pc, #172] ; (8001ee0 ) - 8001e32: 4313 orrs r3, r2 - 8001e34: f8c1 3090 str.w r3, [r1, #144] ; 0x90 + 8001f4e: 4b2f ldr r3, [pc, #188] ; (800200c ) + 8001f50: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 + 8001f54: f023 6200 bic.w r2, r3, #134217728 ; 0x8000000 + 8001f58: 687b ldr r3, [r7, #4] + 8001f5a: 6fdb ldr r3, [r3, #124] ; 0x7c + 8001f5c: 492b ldr r1, [pc, #172] ; (800200c ) + 8001f5e: 4313 orrs r3, r2 + 8001f60: f8c1 3090 str.w r3, [r1, #144] ; 0x90 /* Enable the PLLSAI when it's used as clock source for CK48 */ if(PeriphClkInit->Clk48ClockSelection == RCC_CLK48SOURCE_PLLSAIP) - 8001e38: 687b ldr r3, [r7, #4] - 8001e3a: 6fdb ldr r3, [r3, #124] ; 0x7c - 8001e3c: f1b3 6f00 cmp.w r3, #134217728 ; 0x8000000 - 8001e40: d101 bne.n 8001e46 + 8001f64: 687b ldr r3, [r7, #4] + 8001f66: 6fdb ldr r3, [r3, #124] ; 0x7c + 8001f68: f1b3 6f00 cmp.w r3, #134217728 ; 0x8000000 + 8001f6c: d101 bne.n 8001f72 { pllsaiused = 1; - 8001e42: 2301 movs r3, #1 - 8001e44: 61bb str r3, [r7, #24] + 8001f6e: 2301 movs r3, #1 + 8001f70: 61bb str r3, [r7, #24] } } /*-------------------------------------- LTDC Configuration -----------------------------------*/ #if defined(STM32F746xx) || defined(STM32F756xx) || defined (STM32F767xx) || defined (STM32F769xx) || defined (STM32F777xx) || defined (STM32F779xx) || defined (STM32F750xx) if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_LTDC) == RCC_PERIPHCLK_LTDC) - 8001e46: 687b ldr r3, [r7, #4] - 8001e48: 681b ldr r3, [r3, #0] - 8001e4a: f003 0308 and.w r3, r3, #8 - 8001e4e: 2b00 cmp r3, #0 - 8001e50: d001 beq.n 8001e56 + 8001f72: 687b ldr r3, [r7, #4] + 8001f74: 681b ldr r3, [r3, #0] + 8001f76: f003 0308 and.w r3, r3, #8 + 8001f7a: 2b00 cmp r3, #0 + 8001f7c: d001 beq.n 8001f82 { pllsaiused = 1; - 8001e52: 2301 movs r3, #1 - 8001e54: 61bb str r3, [r7, #24] + 8001f7e: 2301 movs r3, #1 + 8001f80: 61bb str r3, [r7, #24] } #endif /* STM32F746xx || STM32F756xx || STM32F767xx || STM32F769xx || STM32F777xx || STM32F779xx || STM32F750xx */ /*-------------------------------------- LPTIM1 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_LPTIM1) == RCC_PERIPHCLK_LPTIM1) - 8001e56: 687b ldr r3, [r7, #4] - 8001e58: 681b ldr r3, [r3, #0] - 8001e5a: f403 2380 and.w r3, r3, #262144 ; 0x40000 - 8001e5e: 2b00 cmp r3, #0 - 8001e60: d00a beq.n 8001e78 + 8001f82: 687b ldr r3, [r7, #4] + 8001f84: 681b ldr r3, [r3, #0] + 8001f86: f403 2380 and.w r3, r3, #262144 ; 0x40000 + 8001f8a: 2b00 cmp r3, #0 + 8001f8c: d00a beq.n 8001fa4 { /* Check the parameters */ assert_param(IS_RCC_LPTIM1CLK(PeriphClkInit->Lptim1ClockSelection)); /* Configure the LTPIM1 clock source */ __HAL_RCC_LPTIM1_CONFIG(PeriphClkInit->Lptim1ClockSelection); - 8001e62: 4b1f ldr r3, [pc, #124] ; (8001ee0 ) - 8001e64: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 - 8001e68: f023 7240 bic.w r2, r3, #50331648 ; 0x3000000 - 8001e6c: 687b ldr r3, [r7, #4] - 8001e6e: 6f5b ldr r3, [r3, #116] ; 0x74 - 8001e70: 491b ldr r1, [pc, #108] ; (8001ee0 ) - 8001e72: 4313 orrs r3, r2 - 8001e74: f8c1 3090 str.w r3, [r1, #144] ; 0x90 + 8001f8e: 4b1f ldr r3, [pc, #124] ; (800200c ) + 8001f90: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 + 8001f94: f023 7240 bic.w r2, r3, #50331648 ; 0x3000000 + 8001f98: 687b ldr r3, [r7, #4] + 8001f9a: 6f5b ldr r3, [r3, #116] ; 0x74 + 8001f9c: 491b ldr r1, [pc, #108] ; (800200c ) + 8001f9e: 4313 orrs r3, r2 + 8001fa0: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*------------------------------------- SDMMC1 Configuration ------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SDMMC1) == RCC_PERIPHCLK_SDMMC1) - 8001e78: 687b ldr r3, [r7, #4] - 8001e7a: 681b ldr r3, [r3, #0] - 8001e7c: f403 0300 and.w r3, r3, #8388608 ; 0x800000 - 8001e80: 2b00 cmp r3, #0 - 8001e82: d00b beq.n 8001e9c + 8001fa4: 687b ldr r3, [r7, #4] + 8001fa6: 681b ldr r3, [r3, #0] + 8001fa8: f403 0300 and.w r3, r3, #8388608 ; 0x800000 + 8001fac: 2b00 cmp r3, #0 + 8001fae: d00b beq.n 8001fc8 { /* Check the parameters */ assert_param(IS_RCC_SDMMC1CLKSOURCE(PeriphClkInit->Sdmmc1ClockSelection)); /* Configure the SDMMC1 clock source */ __HAL_RCC_SDMMC1_CONFIG(PeriphClkInit->Sdmmc1ClockSelection); - 8001e84: 4b16 ldr r3, [pc, #88] ; (8001ee0 ) - 8001e86: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 - 8001e8a: f023 5280 bic.w r2, r3, #268435456 ; 0x10000000 - 8001e8e: 687b ldr r3, [r7, #4] - 8001e90: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 - 8001e94: 4912 ldr r1, [pc, #72] ; (8001ee0 ) - 8001e96: 4313 orrs r3, r2 - 8001e98: f8c1 3090 str.w r3, [r1, #144] ; 0x90 + 8001fb0: 4b16 ldr r3, [pc, #88] ; (800200c ) + 8001fb2: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 + 8001fb6: f023 5280 bic.w r2, r3, #268435456 ; 0x10000000 + 8001fba: 687b ldr r3, [r7, #4] + 8001fbc: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 + 8001fc0: 4912 ldr r1, [pc, #72] ; (800200c ) + 8001fc2: 4313 orrs r3, r2 + 8001fc4: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } #if defined (STM32F765xx) || defined (STM32F767xx) || defined (STM32F769xx) || defined (STM32F777xx) || defined (STM32F779xx) /*------------------------------------- SDMMC2 Configuration ------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SDMMC2) == RCC_PERIPHCLK_SDMMC2) - 8001e9c: 687b ldr r3, [r7, #4] - 8001e9e: 681b ldr r3, [r3, #0] - 8001ea0: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 - 8001ea4: 2b00 cmp r3, #0 - 8001ea6: d00b beq.n 8001ec0 + 8001fc8: 687b ldr r3, [r7, #4] + 8001fca: 681b ldr r3, [r3, #0] + 8001fcc: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 + 8001fd0: 2b00 cmp r3, #0 + 8001fd2: d00b beq.n 8001fec { /* Check the parameters */ assert_param(IS_RCC_SDMMC2CLKSOURCE(PeriphClkInit->Sdmmc2ClockSelection)); /* Configure the SDMMC2 clock source */ __HAL_RCC_SDMMC2_CONFIG(PeriphClkInit->Sdmmc2ClockSelection); - 8001ea8: 4b0d ldr r3, [pc, #52] ; (8001ee0 ) - 8001eaa: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 - 8001eae: f023 5200 bic.w r2, r3, #536870912 ; 0x20000000 - 8001eb2: 687b ldr r3, [r7, #4] - 8001eb4: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 - 8001eb8: 4909 ldr r1, [pc, #36] ; (8001ee0 ) - 8001eba: 4313 orrs r3, r2 - 8001ebc: f8c1 3090 str.w r3, [r1, #144] ; 0x90 + 8001fd4: 4b0d ldr r3, [pc, #52] ; (800200c ) + 8001fd6: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 + 8001fda: f023 5200 bic.w r2, r3, #536870912 ; 0x20000000 + 8001fde: 687b ldr r3, [r7, #4] + 8001fe0: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 + 8001fe4: 4909 ldr r1, [pc, #36] ; (800200c ) + 8001fe6: 4313 orrs r3, r2 + 8001fe8: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*------------------------------------- DFSDM1 Configuration -------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_DFSDM1) == RCC_PERIPHCLK_DFSDM1) - 8001ec0: 687b ldr r3, [r7, #4] - 8001ec2: 681b ldr r3, [r3, #0] - 8001ec4: f003 6300 and.w r3, r3, #134217728 ; 0x8000000 - 8001ec8: 2b00 cmp r3, #0 - 8001eca: d00f beq.n 8001eec + 8001fec: 687b ldr r3, [r7, #4] + 8001fee: 681b ldr r3, [r3, #0] + 8001ff0: f003 6300 and.w r3, r3, #134217728 ; 0x8000000 + 8001ff4: 2b00 cmp r3, #0 + 8001ff6: d00f beq.n 8002018 { /* Check the parameters */ assert_param(IS_RCC_DFSDM1CLKSOURCE(PeriphClkInit->Dfsdm1ClockSelection)); /* Configure the DFSDM1 interface clock source */ __HAL_RCC_DFSDM1_CONFIG(PeriphClkInit->Dfsdm1ClockSelection); - 8001ecc: 4b04 ldr r3, [pc, #16] ; (8001ee0 ) - 8001ece: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c - 8001ed2: f023 7200 bic.w r2, r3, #33554432 ; 0x2000000 - 8001ed6: 687b ldr r3, [r7, #4] - 8001ed8: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 - 8001edc: e002 b.n 8001ee4 - 8001ede: bf00 nop - 8001ee0: 40023800 .word 0x40023800 - 8001ee4: 4985 ldr r1, [pc, #532] ; (80020fc ) - 8001ee6: 4313 orrs r3, r2 - 8001ee8: f8c1 308c str.w r3, [r1, #140] ; 0x8c + 8001ff8: 4b04 ldr r3, [pc, #16] ; (800200c ) + 8001ffa: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c + 8001ffe: f023 7200 bic.w r2, r3, #33554432 ; 0x2000000 + 8002002: 687b ldr r3, [r7, #4] + 8002004: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 + 8002008: e002 b.n 8002010 + 800200a: bf00 nop + 800200c: 40023800 .word 0x40023800 + 8002010: 4985 ldr r1, [pc, #532] ; (8002228 ) + 8002012: 4313 orrs r3, r2 + 8002014: f8c1 308c str.w r3, [r1, #140] ; 0x8c } /*------------------------------------- DFSDM AUDIO Configuration -------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_DFSDM1_AUDIO) == RCC_PERIPHCLK_DFSDM1_AUDIO) - 8001eec: 687b ldr r3, [r7, #4] - 8001eee: 681b ldr r3, [r3, #0] - 8001ef0: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 - 8001ef4: 2b00 cmp r3, #0 - 8001ef6: d00b beq.n 8001f10 + 8002018: 687b ldr r3, [r7, #4] + 800201a: 681b ldr r3, [r3, #0] + 800201c: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 + 8002020: 2b00 cmp r3, #0 + 8002022: d00b beq.n 800203c { /* Check the parameters */ assert_param(IS_RCC_DFSDM1AUDIOCLKSOURCE(PeriphClkInit->Dfsdm1AudioClockSelection)); /* Configure the DFSDM interface clock source */ __HAL_RCC_DFSDM1AUDIO_CONFIG(PeriphClkInit->Dfsdm1AudioClockSelection); - 8001ef8: 4b80 ldr r3, [pc, #512] ; (80020fc ) - 8001efa: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c - 8001efe: f023 6280 bic.w r2, r3, #67108864 ; 0x4000000 - 8001f02: 687b ldr r3, [r7, #4] - 8001f04: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c - 8001f08: 497c ldr r1, [pc, #496] ; (80020fc ) - 8001f0a: 4313 orrs r3, r2 - 8001f0c: f8c1 308c str.w r3, [r1, #140] ; 0x8c + 8002024: 4b80 ldr r3, [pc, #512] ; (8002228 ) + 8002026: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c + 800202a: f023 6280 bic.w r2, r3, #67108864 ; 0x4000000 + 800202e: 687b ldr r3, [r7, #4] + 8002030: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c + 8002034: 497c ldr r1, [pc, #496] ; (8002228 ) + 8002036: 4313 orrs r3, r2 + 8002038: f8c1 308c str.w r3, [r1, #140] ; 0x8c } #endif /* STM32F767xx || STM32F769xx || STM32F777xx || STM32F779xx */ /*-------------------------------------- PLLI2S Configuration ---------------------------------*/ /* PLLI2S is configured when a peripheral will use it as source clock : SAI1, SAI2, I2S or SPDIF-RX */ if((plli2sused == 1) || (PeriphClkInit->PeriphClockSelection == RCC_PERIPHCLK_PLLI2S)) - 8001f10: 69fb ldr r3, [r7, #28] - 8001f12: 2b01 cmp r3, #1 - 8001f14: d005 beq.n 8001f22 - 8001f16: 687b ldr r3, [r7, #4] - 8001f18: 681b ldr r3, [r3, #0] - 8001f1a: f1b3 7f00 cmp.w r3, #33554432 ; 0x2000000 - 8001f1e: f040 80d6 bne.w 80020ce + 800203c: 69fb ldr r3, [r7, #28] + 800203e: 2b01 cmp r3, #1 + 8002040: d005 beq.n 800204e + 8002042: 687b ldr r3, [r7, #4] + 8002044: 681b ldr r3, [r3, #0] + 8002046: f1b3 7f00 cmp.w r3, #33554432 ; 0x2000000 + 800204a: f040 80d6 bne.w 80021fa { /* Disable the PLLI2S */ __HAL_RCC_PLLI2S_DISABLE(); - 8001f22: 4b76 ldr r3, [pc, #472] ; (80020fc ) - 8001f24: 681b ldr r3, [r3, #0] - 8001f26: 4a75 ldr r2, [pc, #468] ; (80020fc ) - 8001f28: f023 6380 bic.w r3, r3, #67108864 ; 0x4000000 - 8001f2c: 6013 str r3, [r2, #0] + 800204e: 4b76 ldr r3, [pc, #472] ; (8002228 ) + 8002050: 681b ldr r3, [r3, #0] + 8002052: 4a75 ldr r2, [pc, #468] ; (8002228 ) + 8002054: f023 6380 bic.w r3, r3, #67108864 ; 0x4000000 + 8002058: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); - 8001f2e: f7fe fb55 bl 80005dc - 8001f32: 6178 str r0, [r7, #20] + 800205a: f7fe fac7 bl 80005ec + 800205e: 6178 str r0, [r7, #20] /* Wait till PLLI2S is disabled */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLI2SRDY) != RESET) - 8001f34: e008 b.n 8001f48 + 8002060: e008 b.n 8002074 { if((HAL_GetTick() - tickstart) > PLLI2S_TIMEOUT_VALUE) - 8001f36: f7fe fb51 bl 80005dc - 8001f3a: 4602 mov r2, r0 - 8001f3c: 697b ldr r3, [r7, #20] - 8001f3e: 1ad3 subs r3, r2, r3 - 8001f40: 2b64 cmp r3, #100 ; 0x64 - 8001f42: d901 bls.n 8001f48 + 8002062: f7fe fac3 bl 80005ec + 8002066: 4602 mov r2, r0 + 8002068: 697b ldr r3, [r7, #20] + 800206a: 1ad3 subs r3, r2, r3 + 800206c: 2b64 cmp r3, #100 ; 0x64 + 800206e: d901 bls.n 8002074 { /* return in case of Timeout detected */ return HAL_TIMEOUT; - 8001f44: 2303 movs r3, #3 - 8001f46: e194 b.n 8002272 + 8002070: 2303 movs r3, #3 + 8002072: e194 b.n 800239e while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLI2SRDY) != RESET) - 8001f48: 4b6c ldr r3, [pc, #432] ; (80020fc ) - 8001f4a: 681b ldr r3, [r3, #0] - 8001f4c: f003 6300 and.w r3, r3, #134217728 ; 0x8000000 - 8001f50: 2b00 cmp r3, #0 - 8001f52: d1f0 bne.n 8001f36 + 8002074: 4b6c ldr r3, [pc, #432] ; (8002228 ) + 8002076: 681b ldr r3, [r3, #0] + 8002078: f003 6300 and.w r3, r3, #134217728 ; 0x8000000 + 800207c: 2b00 cmp r3, #0 + 800207e: d1f0 bne.n 8002062 /* check for common PLLI2S Parameters */ assert_param(IS_RCC_PLLI2SN_VALUE(PeriphClkInit->PLLI2S.PLLI2SN)); /*----------------- In Case of PLLI2S is selected as source clock for I2S -------------------*/ if(((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2S) == RCC_PERIPHCLK_I2S) && (PeriphClkInit->I2sClockSelection == RCC_I2SCLKSOURCE_PLLI2S))) - 8001f54: 687b ldr r3, [r7, #4] - 8001f56: 681b ldr r3, [r3, #0] - 8001f58: f003 0301 and.w r3, r3, #1 - 8001f5c: 2b00 cmp r3, #0 - 8001f5e: d021 beq.n 8001fa4 - 8001f60: 687b ldr r3, [r7, #4] - 8001f62: 6b5b ldr r3, [r3, #52] ; 0x34 - 8001f64: 2b00 cmp r3, #0 - 8001f66: d11d bne.n 8001fa4 + 8002080: 687b ldr r3, [r7, #4] + 8002082: 681b ldr r3, [r3, #0] + 8002084: f003 0301 and.w r3, r3, #1 + 8002088: 2b00 cmp r3, #0 + 800208a: d021 beq.n 80020d0 + 800208c: 687b ldr r3, [r7, #4] + 800208e: 6b5b ldr r3, [r3, #52] ; 0x34 + 8002090: 2b00 cmp r3, #0 + 8002092: d11d bne.n 80020d0 { /* check for Parameters */ assert_param(IS_RCC_PLLI2SR_VALUE(PeriphClkInit->PLLI2S.PLLI2SR)); /* Read PLLI2SP and PLLI2SQ value from PLLI2SCFGR register (this value is not needed for I2S configuration) */ tmpreg0 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SP) >> RCC_PLLI2SCFGR_PLLI2SP_Pos); - 8001f68: 4b64 ldr r3, [pc, #400] ; (80020fc ) - 8001f6a: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 - 8001f6e: 0c1b lsrs r3, r3, #16 - 8001f70: f003 0303 and.w r3, r3, #3 - 8001f74: 613b str r3, [r7, #16] + 8002094: 4b64 ldr r3, [pc, #400] ; (8002228 ) + 8002096: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 + 800209a: 0c1b lsrs r3, r3, #16 + 800209c: f003 0303 and.w r3, r3, #3 + 80020a0: 613b str r3, [r7, #16] tmpreg1 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SQ) >> RCC_PLLI2SCFGR_PLLI2SQ_Pos); - 8001f76: 4b61 ldr r3, [pc, #388] ; (80020fc ) - 8001f78: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 - 8001f7c: 0e1b lsrs r3, r3, #24 - 8001f7e: f003 030f and.w r3, r3, #15 - 8001f82: 60fb str r3, [r7, #12] + 80020a2: 4b61 ldr r3, [pc, #388] ; (8002228 ) + 80020a4: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 + 80020a8: 0e1b lsrs r3, r3, #24 + 80020aa: f003 030f and.w r3, r3, #15 + 80020ae: 60fb str r3, [r7, #12] /* Configure the PLLI2S division factors */ /* PLLI2S_VCO = f(VCO clock) = f(PLLI2S clock input) x (PLLI2SN/PLLM) */ /* I2SCLK = f(PLLI2S clock output) = f(VCO clock) / PLLI2SR */ __HAL_RCC_PLLI2S_CONFIG(PeriphClkInit->PLLI2S.PLLI2SN , tmpreg0, tmpreg1, PeriphClkInit->PLLI2S.PLLI2SR); - 8001f84: 687b ldr r3, [r7, #4] - 8001f86: 685b ldr r3, [r3, #4] - 8001f88: 019a lsls r2, r3, #6 - 8001f8a: 693b ldr r3, [r7, #16] - 8001f8c: 041b lsls r3, r3, #16 - 8001f8e: 431a orrs r2, r3 - 8001f90: 68fb ldr r3, [r7, #12] - 8001f92: 061b lsls r3, r3, #24 - 8001f94: 431a orrs r2, r3 - 8001f96: 687b ldr r3, [r7, #4] - 8001f98: 689b ldr r3, [r3, #8] - 8001f9a: 071b lsls r3, r3, #28 - 8001f9c: 4957 ldr r1, [pc, #348] ; (80020fc ) - 8001f9e: 4313 orrs r3, r2 - 8001fa0: f8c1 3084 str.w r3, [r1, #132] ; 0x84 + 80020b0: 687b ldr r3, [r7, #4] + 80020b2: 685b ldr r3, [r3, #4] + 80020b4: 019a lsls r2, r3, #6 + 80020b6: 693b ldr r3, [r7, #16] + 80020b8: 041b lsls r3, r3, #16 + 80020ba: 431a orrs r2, r3 + 80020bc: 68fb ldr r3, [r7, #12] + 80020be: 061b lsls r3, r3, #24 + 80020c0: 431a orrs r2, r3 + 80020c2: 687b ldr r3, [r7, #4] + 80020c4: 689b ldr r3, [r3, #8] + 80020c6: 071b lsls r3, r3, #28 + 80020c8: 4957 ldr r1, [pc, #348] ; (8002228 ) + 80020ca: 4313 orrs r3, r2 + 80020cc: f8c1 3084 str.w r3, [r1, #132] ; 0x84 } /*----------------- In Case of PLLI2S is selected as source clock for SAI -------------------*/ if(((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == RCC_PERIPHCLK_SAI1) && (PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLI2S)) || - 8001fa4: 687b ldr r3, [r7, #4] - 8001fa6: 681b ldr r3, [r3, #0] - 8001fa8: f403 2300 and.w r3, r3, #524288 ; 0x80000 - 8001fac: 2b00 cmp r3, #0 - 8001fae: d004 beq.n 8001fba - 8001fb0: 687b ldr r3, [r7, #4] - 8001fb2: 6bdb ldr r3, [r3, #60] ; 0x3c - 8001fb4: f5b3 1f80 cmp.w r3, #1048576 ; 0x100000 - 8001fb8: d00a beq.n 8001fd0 + 80020d0: 687b ldr r3, [r7, #4] + 80020d2: 681b ldr r3, [r3, #0] + 80020d4: f403 2300 and.w r3, r3, #524288 ; 0x80000 + 80020d8: 2b00 cmp r3, #0 + 80020da: d004 beq.n 80020e6 + 80020dc: 687b ldr r3, [r7, #4] + 80020de: 6bdb ldr r3, [r3, #60] ; 0x3c + 80020e0: f5b3 1f80 cmp.w r3, #1048576 ; 0x100000 + 80020e4: d00a beq.n 80020fc ((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == RCC_PERIPHCLK_SAI2) && (PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLI2S))) - 8001fba: 687b ldr r3, [r7, #4] - 8001fbc: 681b ldr r3, [r3, #0] - 8001fbe: f403 1380 and.w r3, r3, #1048576 ; 0x100000 + 80020e6: 687b ldr r3, [r7, #4] + 80020e8: 681b ldr r3, [r3, #0] + 80020ea: f403 1380 and.w r3, r3, #1048576 ; 0x100000 if(((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == RCC_PERIPHCLK_SAI1) && (PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLI2S)) || - 8001fc2: 2b00 cmp r3, #0 - 8001fc4: d02e beq.n 8002024 + 80020ee: 2b00 cmp r3, #0 + 80020f0: d02e beq.n 8002150 ((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == RCC_PERIPHCLK_SAI2) && (PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLI2S))) - 8001fc6: 687b ldr r3, [r7, #4] - 8001fc8: 6c1b ldr r3, [r3, #64] ; 0x40 - 8001fca: f5b3 0f80 cmp.w r3, #4194304 ; 0x400000 - 8001fce: d129 bne.n 8002024 + 80020f2: 687b ldr r3, [r7, #4] + 80020f4: 6c1b ldr r3, [r3, #64] ; 0x40 + 80020f6: f5b3 0f80 cmp.w r3, #4194304 ; 0x400000 + 80020fa: d129 bne.n 8002150 assert_param(IS_RCC_PLLI2SQ_VALUE(PeriphClkInit->PLLI2S.PLLI2SQ)); /* Check for PLLI2S/DIVQ parameters */ assert_param(IS_RCC_PLLI2S_DIVQ_VALUE(PeriphClkInit->PLLI2SDivQ)); /* Read PLLI2SP and PLLI2SR values from PLLI2SCFGR register (this value is not needed for SAI configuration) */ tmpreg0 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SP) >> RCC_PLLI2SCFGR_PLLI2SP_Pos); - 8001fd0: 4b4a ldr r3, [pc, #296] ; (80020fc ) - 8001fd2: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 - 8001fd6: 0c1b lsrs r3, r3, #16 - 8001fd8: f003 0303 and.w r3, r3, #3 - 8001fdc: 613b str r3, [r7, #16] + 80020fc: 4b4a ldr r3, [pc, #296] ; (8002228 ) + 80020fe: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 + 8002102: 0c1b lsrs r3, r3, #16 + 8002104: f003 0303 and.w r3, r3, #3 + 8002108: 613b str r3, [r7, #16] tmpreg1 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SR) >> RCC_PLLI2SCFGR_PLLI2SR_Pos); - 8001fde: 4b47 ldr r3, [pc, #284] ; (80020fc ) - 8001fe0: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 - 8001fe4: 0f1b lsrs r3, r3, #28 - 8001fe6: f003 0307 and.w r3, r3, #7 - 8001fea: 60fb str r3, [r7, #12] + 800210a: 4b47 ldr r3, [pc, #284] ; (8002228 ) + 800210c: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 + 8002110: 0f1b lsrs r3, r3, #28 + 8002112: f003 0307 and.w r3, r3, #7 + 8002116: 60fb str r3, [r7, #12] /* Configure the PLLI2S division factors */ /* PLLI2S_VCO Input = PLL_SOURCE/PLLM */ /* PLLI2S_VCO Output = PLLI2S_VCO Input * PLLI2SN */ /* SAI_CLK(first level) = PLLI2S_VCO Output/PLLI2SQ */ __HAL_RCC_PLLI2S_CONFIG(PeriphClkInit->PLLI2S.PLLI2SN, tmpreg0, PeriphClkInit->PLLI2S.PLLI2SQ, tmpreg1); - 8001fec: 687b ldr r3, [r7, #4] - 8001fee: 685b ldr r3, [r3, #4] - 8001ff0: 019a lsls r2, r3, #6 - 8001ff2: 693b ldr r3, [r7, #16] - 8001ff4: 041b lsls r3, r3, #16 - 8001ff6: 431a orrs r2, r3 - 8001ff8: 687b ldr r3, [r7, #4] - 8001ffa: 68db ldr r3, [r3, #12] - 8001ffc: 061b lsls r3, r3, #24 - 8001ffe: 431a orrs r2, r3 - 8002000: 68fb ldr r3, [r7, #12] - 8002002: 071b lsls r3, r3, #28 - 8002004: 493d ldr r1, [pc, #244] ; (80020fc ) - 8002006: 4313 orrs r3, r2 - 8002008: f8c1 3084 str.w r3, [r1, #132] ; 0x84 + 8002118: 687b ldr r3, [r7, #4] + 800211a: 685b ldr r3, [r3, #4] + 800211c: 019a lsls r2, r3, #6 + 800211e: 693b ldr r3, [r7, #16] + 8002120: 041b lsls r3, r3, #16 + 8002122: 431a orrs r2, r3 + 8002124: 687b ldr r3, [r7, #4] + 8002126: 68db ldr r3, [r3, #12] + 8002128: 061b lsls r3, r3, #24 + 800212a: 431a orrs r2, r3 + 800212c: 68fb ldr r3, [r7, #12] + 800212e: 071b lsls r3, r3, #28 + 8002130: 493d ldr r1, [pc, #244] ; (8002228 ) + 8002132: 4313 orrs r3, r2 + 8002134: f8c1 3084 str.w r3, [r1, #132] ; 0x84 /* SAI_CLK_x = SAI_CLK(first level)/PLLI2SDIVQ */ __HAL_RCC_PLLI2S_PLLSAICLKDIVQ_CONFIG(PeriphClkInit->PLLI2SDivQ); - 800200c: 4b3b ldr r3, [pc, #236] ; (80020fc ) - 800200e: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c - 8002012: f023 021f bic.w r2, r3, #31 - 8002016: 687b ldr r3, [r7, #4] - 8002018: 6a5b ldr r3, [r3, #36] ; 0x24 - 800201a: 3b01 subs r3, #1 - 800201c: 4937 ldr r1, [pc, #220] ; (80020fc ) - 800201e: 4313 orrs r3, r2 - 8002020: f8c1 308c str.w r3, [r1, #140] ; 0x8c + 8002138: 4b3b ldr r3, [pc, #236] ; (8002228 ) + 800213a: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c + 800213e: f023 021f bic.w r2, r3, #31 + 8002142: 687b ldr r3, [r7, #4] + 8002144: 6a5b ldr r3, [r3, #36] ; 0x24 + 8002146: 3b01 subs r3, #1 + 8002148: 4937 ldr r1, [pc, #220] ; (8002228 ) + 800214a: 4313 orrs r3, r2 + 800214c: f8c1 308c str.w r3, [r1, #140] ; 0x8c } /*----------------- In Case of PLLI2S is selected as source clock for SPDIF-RX -------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SPDIFRX) == RCC_PERIPHCLK_SPDIFRX) - 8002024: 687b ldr r3, [r7, #4] - 8002026: 681b ldr r3, [r3, #0] - 8002028: f003 7380 and.w r3, r3, #16777216 ; 0x1000000 - 800202c: 2b00 cmp r3, #0 - 800202e: d01d beq.n 800206c + 8002150: 687b ldr r3, [r7, #4] + 8002152: 681b ldr r3, [r3, #0] + 8002154: f003 7380 and.w r3, r3, #16777216 ; 0x1000000 + 8002158: 2b00 cmp r3, #0 + 800215a: d01d beq.n 8002198 { /* check for Parameters */ assert_param(IS_RCC_PLLI2SP_VALUE(PeriphClkInit->PLLI2S.PLLI2SP)); /* Read PLLI2SR value from PLLI2SCFGR register (this value is not needed for SPDIF-RX configuration) */ tmpreg0 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SQ) >> RCC_PLLI2SCFGR_PLLI2SQ_Pos); - 8002030: 4b32 ldr r3, [pc, #200] ; (80020fc ) - 8002032: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 - 8002036: 0e1b lsrs r3, r3, #24 - 8002038: f003 030f and.w r3, r3, #15 - 800203c: 613b str r3, [r7, #16] + 800215c: 4b32 ldr r3, [pc, #200] ; (8002228 ) + 800215e: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 + 8002162: 0e1b lsrs r3, r3, #24 + 8002164: f003 030f and.w r3, r3, #15 + 8002168: 613b str r3, [r7, #16] tmpreg1 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SR) >> RCC_PLLI2SCFGR_PLLI2SR_Pos); - 800203e: 4b2f ldr r3, [pc, #188] ; (80020fc ) - 8002040: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 - 8002044: 0f1b lsrs r3, r3, #28 - 8002046: f003 0307 and.w r3, r3, #7 - 800204a: 60fb str r3, [r7, #12] + 800216a: 4b2f ldr r3, [pc, #188] ; (8002228 ) + 800216c: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 + 8002170: 0f1b lsrs r3, r3, #28 + 8002172: f003 0307 and.w r3, r3, #7 + 8002176: 60fb str r3, [r7, #12] /* Configure the PLLI2S division factors */ /* PLLI2S_VCO = f(VCO clock) = f(PLLI2S clock input) x (PLLI2SN/PLLM) */ /* SPDIFCLK = f(PLLI2S clock output) = f(VCO clock) / PLLI2SP */ __HAL_RCC_PLLI2S_CONFIG(PeriphClkInit->PLLI2S.PLLI2SN , PeriphClkInit->PLLI2S.PLLI2SP, tmpreg0, tmpreg1); - 800204c: 687b ldr r3, [r7, #4] - 800204e: 685b ldr r3, [r3, #4] - 8002050: 019a lsls r2, r3, #6 - 8002052: 687b ldr r3, [r7, #4] - 8002054: 691b ldr r3, [r3, #16] - 8002056: 041b lsls r3, r3, #16 - 8002058: 431a orrs r2, r3 - 800205a: 693b ldr r3, [r7, #16] - 800205c: 061b lsls r3, r3, #24 - 800205e: 431a orrs r2, r3 - 8002060: 68fb ldr r3, [r7, #12] - 8002062: 071b lsls r3, r3, #28 - 8002064: 4925 ldr r1, [pc, #148] ; (80020fc ) - 8002066: 4313 orrs r3, r2 - 8002068: f8c1 3084 str.w r3, [r1, #132] ; 0x84 + 8002178: 687b ldr r3, [r7, #4] + 800217a: 685b ldr r3, [r3, #4] + 800217c: 019a lsls r2, r3, #6 + 800217e: 687b ldr r3, [r7, #4] + 8002180: 691b ldr r3, [r3, #16] + 8002182: 041b lsls r3, r3, #16 + 8002184: 431a orrs r2, r3 + 8002186: 693b ldr r3, [r7, #16] + 8002188: 061b lsls r3, r3, #24 + 800218a: 431a orrs r2, r3 + 800218c: 68fb ldr r3, [r7, #12] + 800218e: 071b lsls r3, r3, #28 + 8002190: 4925 ldr r1, [pc, #148] ; (8002228 ) + 8002192: 4313 orrs r3, r2 + 8002194: f8c1 3084 str.w r3, [r1, #132] ; 0x84 } /*----------------- In Case of PLLI2S is just selected -----------------*/ if((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_PLLI2S) == RCC_PERIPHCLK_PLLI2S) - 800206c: 687b ldr r3, [r7, #4] - 800206e: 681b ldr r3, [r3, #0] - 8002070: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 - 8002074: 2b00 cmp r3, #0 - 8002076: d011 beq.n 800209c + 8002198: 687b ldr r3, [r7, #4] + 800219a: 681b ldr r3, [r3, #0] + 800219c: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 + 80021a0: 2b00 cmp r3, #0 + 80021a2: d011 beq.n 80021c8 assert_param(IS_RCC_PLLI2SQ_VALUE(PeriphClkInit->PLLI2S.PLLI2SQ)); /* Configure the PLLI2S division factors */ /* PLLI2S_VCO = f(VCO clock) = f(PLLI2S clock input) x (PLLI2SN/PLLI2SM) */ /* SPDIFRXCLK = f(PLLI2S clock output) = f(VCO clock) / PLLI2SP */ __HAL_RCC_PLLI2S_CONFIG(PeriphClkInit->PLLI2S.PLLI2SN , PeriphClkInit->PLLI2S.PLLI2SP, PeriphClkInit->PLLI2S.PLLI2SQ, PeriphClkInit->PLLI2S.PLLI2SR); - 8002078: 687b ldr r3, [r7, #4] - 800207a: 685b ldr r3, [r3, #4] - 800207c: 019a lsls r2, r3, #6 - 800207e: 687b ldr r3, [r7, #4] - 8002080: 691b ldr r3, [r3, #16] - 8002082: 041b lsls r3, r3, #16 - 8002084: 431a orrs r2, r3 - 8002086: 687b ldr r3, [r7, #4] - 8002088: 68db ldr r3, [r3, #12] - 800208a: 061b lsls r3, r3, #24 - 800208c: 431a orrs r2, r3 - 800208e: 687b ldr r3, [r7, #4] - 8002090: 689b ldr r3, [r3, #8] - 8002092: 071b lsls r3, r3, #28 - 8002094: 4919 ldr r1, [pc, #100] ; (80020fc ) - 8002096: 4313 orrs r3, r2 - 8002098: f8c1 3084 str.w r3, [r1, #132] ; 0x84 + 80021a4: 687b ldr r3, [r7, #4] + 80021a6: 685b ldr r3, [r3, #4] + 80021a8: 019a lsls r2, r3, #6 + 80021aa: 687b ldr r3, [r7, #4] + 80021ac: 691b ldr r3, [r3, #16] + 80021ae: 041b lsls r3, r3, #16 + 80021b0: 431a orrs r2, r3 + 80021b2: 687b ldr r3, [r7, #4] + 80021b4: 68db ldr r3, [r3, #12] + 80021b6: 061b lsls r3, r3, #24 + 80021b8: 431a orrs r2, r3 + 80021ba: 687b ldr r3, [r7, #4] + 80021bc: 689b ldr r3, [r3, #8] + 80021be: 071b lsls r3, r3, #28 + 80021c0: 4919 ldr r1, [pc, #100] ; (8002228 ) + 80021c2: 4313 orrs r3, r2 + 80021c4: f8c1 3084 str.w r3, [r1, #132] ; 0x84 } /* Enable the PLLI2S */ __HAL_RCC_PLLI2S_ENABLE(); - 800209c: 4b17 ldr r3, [pc, #92] ; (80020fc ) - 800209e: 681b ldr r3, [r3, #0] - 80020a0: 4a16 ldr r2, [pc, #88] ; (80020fc ) - 80020a2: f043 6380 orr.w r3, r3, #67108864 ; 0x4000000 - 80020a6: 6013 str r3, [r2, #0] + 80021c8: 4b17 ldr r3, [pc, #92] ; (8002228 ) + 80021ca: 681b ldr r3, [r3, #0] + 80021cc: 4a16 ldr r2, [pc, #88] ; (8002228 ) + 80021ce: f043 6380 orr.w r3, r3, #67108864 ; 0x4000000 + 80021d2: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); - 80020a8: f7fe fa98 bl 80005dc - 80020ac: 6178 str r0, [r7, #20] + 80021d4: f7fe fa0a bl 80005ec + 80021d8: 6178 str r0, [r7, #20] /* Wait till PLLI2S is ready */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLI2SRDY) == RESET) - 80020ae: e008 b.n 80020c2 + 80021da: e008 b.n 80021ee { if((HAL_GetTick() - tickstart) > PLLI2S_TIMEOUT_VALUE) - 80020b0: f7fe fa94 bl 80005dc - 80020b4: 4602 mov r2, r0 - 80020b6: 697b ldr r3, [r7, #20] - 80020b8: 1ad3 subs r3, r2, r3 - 80020ba: 2b64 cmp r3, #100 ; 0x64 - 80020bc: d901 bls.n 80020c2 + 80021dc: f7fe fa06 bl 80005ec + 80021e0: 4602 mov r2, r0 + 80021e2: 697b ldr r3, [r7, #20] + 80021e4: 1ad3 subs r3, r2, r3 + 80021e6: 2b64 cmp r3, #100 ; 0x64 + 80021e8: d901 bls.n 80021ee { /* return in case of Timeout detected */ return HAL_TIMEOUT; - 80020be: 2303 movs r3, #3 - 80020c0: e0d7 b.n 8002272 + 80021ea: 2303 movs r3, #3 + 80021ec: e0d7 b.n 800239e while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLI2SRDY) == RESET) - 80020c2: 4b0e ldr r3, [pc, #56] ; (80020fc ) - 80020c4: 681b ldr r3, [r3, #0] - 80020c6: f003 6300 and.w r3, r3, #134217728 ; 0x8000000 - 80020ca: 2b00 cmp r3, #0 - 80020cc: d0f0 beq.n 80020b0 + 80021ee: 4b0e ldr r3, [pc, #56] ; (8002228 ) + 80021f0: 681b ldr r3, [r3, #0] + 80021f2: f003 6300 and.w r3, r3, #134217728 ; 0x8000000 + 80021f6: 2b00 cmp r3, #0 + 80021f8: d0f0 beq.n 80021dc } } /*-------------------------------------- PLLSAI Configuration ---------------------------------*/ /* PLLSAI is configured when a peripheral will use it as source clock : SAI1, SAI2, LTDC or CK48 */ if(pllsaiused == 1) - 80020ce: 69bb ldr r3, [r7, #24] - 80020d0: 2b01 cmp r3, #1 - 80020d2: f040 80cd bne.w 8002270 + 80021fa: 69bb ldr r3, [r7, #24] + 80021fc: 2b01 cmp r3, #1 + 80021fe: f040 80cd bne.w 800239c { /* Disable PLLSAI Clock */ __HAL_RCC_PLLSAI_DISABLE(); - 80020d6: 4b09 ldr r3, [pc, #36] ; (80020fc ) - 80020d8: 681b ldr r3, [r3, #0] - 80020da: 4a08 ldr r2, [pc, #32] ; (80020fc ) - 80020dc: f023 5380 bic.w r3, r3, #268435456 ; 0x10000000 - 80020e0: 6013 str r3, [r2, #0] + 8002202: 4b09 ldr r3, [pc, #36] ; (8002228 ) + 8002204: 681b ldr r3, [r3, #0] + 8002206: 4a08 ldr r2, [pc, #32] ; (8002228 ) + 8002208: f023 5380 bic.w r3, r3, #268435456 ; 0x10000000 + 800220c: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); - 80020e2: f7fe fa7b bl 80005dc - 80020e6: 6178 str r0, [r7, #20] + 800220e: f7fe f9ed bl 80005ec + 8002212: 6178 str r0, [r7, #20] /* Wait till PLLSAI is disabled */ while(__HAL_RCC_PLLSAI_GET_FLAG() != RESET) - 80020e8: e00a b.n 8002100 + 8002214: e00a b.n 800222c { if((HAL_GetTick() - tickstart) > PLLSAI_TIMEOUT_VALUE) - 80020ea: f7fe fa77 bl 80005dc - 80020ee: 4602 mov r2, r0 - 80020f0: 697b ldr r3, [r7, #20] - 80020f2: 1ad3 subs r3, r2, r3 - 80020f4: 2b64 cmp r3, #100 ; 0x64 - 80020f6: d903 bls.n 8002100 + 8002216: f7fe f9e9 bl 80005ec + 800221a: 4602 mov r2, r0 + 800221c: 697b ldr r3, [r7, #20] + 800221e: 1ad3 subs r3, r2, r3 + 8002220: 2b64 cmp r3, #100 ; 0x64 + 8002222: d903 bls.n 800222c { /* return in case of Timeout detected */ return HAL_TIMEOUT; - 80020f8: 2303 movs r3, #3 - 80020fa: e0ba b.n 8002272 - 80020fc: 40023800 .word 0x40023800 + 8002224: 2303 movs r3, #3 + 8002226: e0ba b.n 800239e + 8002228: 40023800 .word 0x40023800 while(__HAL_RCC_PLLSAI_GET_FLAG() != RESET) - 8002100: 4b5e ldr r3, [pc, #376] ; (800227c ) - 8002102: 681b ldr r3, [r3, #0] - 8002104: f003 5300 and.w r3, r3, #536870912 ; 0x20000000 - 8002108: f1b3 5f00 cmp.w r3, #536870912 ; 0x20000000 - 800210c: d0ed beq.n 80020ea + 800222c: 4b5e ldr r3, [pc, #376] ; (80023a8 ) + 800222e: 681b ldr r3, [r3, #0] + 8002230: f003 5300 and.w r3, r3, #536870912 ; 0x20000000 + 8002234: f1b3 5f00 cmp.w r3, #536870912 ; 0x20000000 + 8002238: d0ed beq.n 8002216 /* Check the PLLSAI division factors */ assert_param(IS_RCC_PLLSAIN_VALUE(PeriphClkInit->PLLSAI.PLLSAIN)); /*----------------- In Case of PLLSAI is selected as source clock for SAI -------------------*/ if(((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == RCC_PERIPHCLK_SAI1) && (PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLSAI)) ||\ - 800210e: 687b ldr r3, [r7, #4] - 8002110: 681b ldr r3, [r3, #0] - 8002112: f403 2300 and.w r3, r3, #524288 ; 0x80000 - 8002116: 2b00 cmp r3, #0 - 8002118: d003 beq.n 8002122 - 800211a: 687b ldr r3, [r7, #4] - 800211c: 6bdb ldr r3, [r3, #60] ; 0x3c - 800211e: 2b00 cmp r3, #0 - 8002120: d009 beq.n 8002136 + 800223a: 687b ldr r3, [r7, #4] + 800223c: 681b ldr r3, [r3, #0] + 800223e: f403 2300 and.w r3, r3, #524288 ; 0x80000 + 8002242: 2b00 cmp r3, #0 + 8002244: d003 beq.n 800224e + 8002246: 687b ldr r3, [r7, #4] + 8002248: 6bdb ldr r3, [r3, #60] ; 0x3c + 800224a: 2b00 cmp r3, #0 + 800224c: d009 beq.n 8002262 ((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == RCC_PERIPHCLK_SAI2) && (PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLSAI))) - 8002122: 687b ldr r3, [r7, #4] - 8002124: 681b ldr r3, [r3, #0] - 8002126: f403 1380 and.w r3, r3, #1048576 ; 0x100000 + 800224e: 687b ldr r3, [r7, #4] + 8002250: 681b ldr r3, [r3, #0] + 8002252: f403 1380 and.w r3, r3, #1048576 ; 0x100000 if(((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == RCC_PERIPHCLK_SAI1) && (PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLSAI)) ||\ - 800212a: 2b00 cmp r3, #0 - 800212c: d02e beq.n 800218c + 8002256: 2b00 cmp r3, #0 + 8002258: d02e beq.n 80022b8 ((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == RCC_PERIPHCLK_SAI2) && (PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLSAI))) - 800212e: 687b ldr r3, [r7, #4] - 8002130: 6c1b ldr r3, [r3, #64] ; 0x40 - 8002132: 2b00 cmp r3, #0 - 8002134: d12a bne.n 800218c + 800225a: 687b ldr r3, [r7, #4] + 800225c: 6c1b ldr r3, [r3, #64] ; 0x40 + 800225e: 2b00 cmp r3, #0 + 8002260: d12a bne.n 80022b8 assert_param(IS_RCC_PLLSAIQ_VALUE(PeriphClkInit->PLLSAI.PLLSAIQ)); /* check for PLLSAI/DIVQ Parameter */ assert_param(IS_RCC_PLLSAI_DIVQ_VALUE(PeriphClkInit->PLLSAIDivQ)); /* Read PLLSAIP value from PLLSAICFGR register (this value is not needed for SAI configuration) */ tmpreg0 = ((RCC->PLLSAICFGR & RCC_PLLSAICFGR_PLLSAIP) >> RCC_PLLSAICFGR_PLLSAIP_Pos); - 8002136: 4b51 ldr r3, [pc, #324] ; (800227c ) - 8002138: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 - 800213c: 0c1b lsrs r3, r3, #16 - 800213e: f003 0303 and.w r3, r3, #3 - 8002142: 613b str r3, [r7, #16] + 8002262: 4b51 ldr r3, [pc, #324] ; (80023a8 ) + 8002264: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 + 8002268: 0c1b lsrs r3, r3, #16 + 800226a: f003 0303 and.w r3, r3, #3 + 800226e: 613b str r3, [r7, #16] tmpreg1 = ((RCC->PLLSAICFGR & RCC_PLLI2SCFGR_PLLI2SR) >> RCC_PLLSAICFGR_PLLSAIR_Pos); - 8002144: 4b4d ldr r3, [pc, #308] ; (800227c ) - 8002146: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 - 800214a: 0f1b lsrs r3, r3, #28 - 800214c: f003 0307 and.w r3, r3, #7 - 8002150: 60fb str r3, [r7, #12] + 8002270: 4b4d ldr r3, [pc, #308] ; (80023a8 ) + 8002272: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 + 8002276: 0f1b lsrs r3, r3, #28 + 8002278: f003 0307 and.w r3, r3, #7 + 800227c: 60fb str r3, [r7, #12] /* PLLSAI_VCO Input = PLL_SOURCE/PLLM */ /* PLLSAI_VCO Output = PLLSAI_VCO Input * PLLSAIN */ /* SAI_CLK(first level) = PLLSAI_VCO Output/PLLSAIQ */ __HAL_RCC_PLLSAI_CONFIG(PeriphClkInit->PLLSAI.PLLSAIN , tmpreg0, PeriphClkInit->PLLSAI.PLLSAIQ, tmpreg1); - 8002152: 687b ldr r3, [r7, #4] - 8002154: 695b ldr r3, [r3, #20] - 8002156: 019a lsls r2, r3, #6 - 8002158: 693b ldr r3, [r7, #16] - 800215a: 041b lsls r3, r3, #16 - 800215c: 431a orrs r2, r3 - 800215e: 687b ldr r3, [r7, #4] - 8002160: 699b ldr r3, [r3, #24] - 8002162: 061b lsls r3, r3, #24 - 8002164: 431a orrs r2, r3 - 8002166: 68fb ldr r3, [r7, #12] - 8002168: 071b lsls r3, r3, #28 - 800216a: 4944 ldr r1, [pc, #272] ; (800227c ) - 800216c: 4313 orrs r3, r2 - 800216e: f8c1 3088 str.w r3, [r1, #136] ; 0x88 + 800227e: 687b ldr r3, [r7, #4] + 8002280: 695b ldr r3, [r3, #20] + 8002282: 019a lsls r2, r3, #6 + 8002284: 693b ldr r3, [r7, #16] + 8002286: 041b lsls r3, r3, #16 + 8002288: 431a orrs r2, r3 + 800228a: 687b ldr r3, [r7, #4] + 800228c: 699b ldr r3, [r3, #24] + 800228e: 061b lsls r3, r3, #24 + 8002290: 431a orrs r2, r3 + 8002292: 68fb ldr r3, [r7, #12] + 8002294: 071b lsls r3, r3, #28 + 8002296: 4944 ldr r1, [pc, #272] ; (80023a8 ) + 8002298: 4313 orrs r3, r2 + 800229a: f8c1 3088 str.w r3, [r1, #136] ; 0x88 /* SAI_CLK_x = SAI_CLK(first level)/PLLSAIDIVQ */ __HAL_RCC_PLLSAI_PLLSAICLKDIVQ_CONFIG(PeriphClkInit->PLLSAIDivQ); - 8002172: 4b42 ldr r3, [pc, #264] ; (800227c ) - 8002174: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c - 8002178: f423 52f8 bic.w r2, r3, #7936 ; 0x1f00 - 800217c: 687b ldr r3, [r7, #4] - 800217e: 6a9b ldr r3, [r3, #40] ; 0x28 - 8002180: 3b01 subs r3, #1 - 8002182: 021b lsls r3, r3, #8 - 8002184: 493d ldr r1, [pc, #244] ; (800227c ) - 8002186: 4313 orrs r3, r2 - 8002188: f8c1 308c str.w r3, [r1, #140] ; 0x8c + 800229e: 4b42 ldr r3, [pc, #264] ; (80023a8 ) + 80022a0: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c + 80022a4: f423 52f8 bic.w r2, r3, #7936 ; 0x1f00 + 80022a8: 687b ldr r3, [r7, #4] + 80022aa: 6a9b ldr r3, [r3, #40] ; 0x28 + 80022ac: 3b01 subs r3, #1 + 80022ae: 021b lsls r3, r3, #8 + 80022b0: 493d ldr r1, [pc, #244] ; (80023a8 ) + 80022b2: 4313 orrs r3, r2 + 80022b4: f8c1 308c str.w r3, [r1, #140] ; 0x8c } /*----------------- In Case of PLLSAI is selected as source clock for CLK48 -------------------*/ /* In Case of PLLI2S is selected as source clock for CK48 */ if((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_CLK48) == RCC_PERIPHCLK_CLK48) && (PeriphClkInit->Clk48ClockSelection == RCC_CLK48SOURCE_PLLSAIP)) - 800218c: 687b ldr r3, [r7, #4] - 800218e: 681b ldr r3, [r3, #0] - 8002190: f403 1300 and.w r3, r3, #2097152 ; 0x200000 - 8002194: 2b00 cmp r3, #0 - 8002196: d022 beq.n 80021de - 8002198: 687b ldr r3, [r7, #4] - 800219a: 6fdb ldr r3, [r3, #124] ; 0x7c - 800219c: f1b3 6f00 cmp.w r3, #134217728 ; 0x8000000 - 80021a0: d11d bne.n 80021de + 80022b8: 687b ldr r3, [r7, #4] + 80022ba: 681b ldr r3, [r3, #0] + 80022bc: f403 1300 and.w r3, r3, #2097152 ; 0x200000 + 80022c0: 2b00 cmp r3, #0 + 80022c2: d022 beq.n 800230a + 80022c4: 687b ldr r3, [r7, #4] + 80022c6: 6fdb ldr r3, [r3, #124] ; 0x7c + 80022c8: f1b3 6f00 cmp.w r3, #134217728 ; 0x8000000 + 80022cc: d11d bne.n 800230a { /* check for Parameters */ assert_param(IS_RCC_PLLSAIP_VALUE(PeriphClkInit->PLLSAI.PLLSAIP)); /* Read PLLSAIQ and PLLSAIR value from PLLSAICFGR register (this value is not needed for CK48 configuration) */ tmpreg0 = ((RCC->PLLSAICFGR & RCC_PLLSAICFGR_PLLSAIQ) >> RCC_PLLSAICFGR_PLLSAIQ_Pos); - 80021a2: 4b36 ldr r3, [pc, #216] ; (800227c ) - 80021a4: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 - 80021a8: 0e1b lsrs r3, r3, #24 - 80021aa: f003 030f and.w r3, r3, #15 - 80021ae: 613b str r3, [r7, #16] + 80022ce: 4b36 ldr r3, [pc, #216] ; (80023a8 ) + 80022d0: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 + 80022d4: 0e1b lsrs r3, r3, #24 + 80022d6: f003 030f and.w r3, r3, #15 + 80022da: 613b str r3, [r7, #16] tmpreg1 = ((RCC->PLLSAICFGR & RCC_PLLSAICFGR_PLLSAIR) >> RCC_PLLSAICFGR_PLLSAIR_Pos); - 80021b0: 4b32 ldr r3, [pc, #200] ; (800227c ) - 80021b2: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 - 80021b6: 0f1b lsrs r3, r3, #28 - 80021b8: f003 0307 and.w r3, r3, #7 - 80021bc: 60fb str r3, [r7, #12] + 80022dc: 4b32 ldr r3, [pc, #200] ; (80023a8 ) + 80022de: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 + 80022e2: 0f1b lsrs r3, r3, #28 + 80022e4: f003 0307 and.w r3, r3, #7 + 80022e8: 60fb str r3, [r7, #12] /* Configure the PLLSAI division factors */ /* PLLSAI_VCO = f(VCO clock) = f(PLLSAI clock input) x (PLLI2SN/PLLM) */ /* 48CLK = f(PLLSAI clock output) = f(VCO clock) / PLLSAIP */ __HAL_RCC_PLLSAI_CONFIG(PeriphClkInit->PLLSAI.PLLSAIN , PeriphClkInit->PLLSAI.PLLSAIP, tmpreg0, tmpreg1); - 80021be: 687b ldr r3, [r7, #4] - 80021c0: 695b ldr r3, [r3, #20] - 80021c2: 019a lsls r2, r3, #6 - 80021c4: 687b ldr r3, [r7, #4] - 80021c6: 6a1b ldr r3, [r3, #32] - 80021c8: 041b lsls r3, r3, #16 - 80021ca: 431a orrs r2, r3 - 80021cc: 693b ldr r3, [r7, #16] - 80021ce: 061b lsls r3, r3, #24 - 80021d0: 431a orrs r2, r3 - 80021d2: 68fb ldr r3, [r7, #12] - 80021d4: 071b lsls r3, r3, #28 - 80021d6: 4929 ldr r1, [pc, #164] ; (800227c ) - 80021d8: 4313 orrs r3, r2 - 80021da: f8c1 3088 str.w r3, [r1, #136] ; 0x88 + 80022ea: 687b ldr r3, [r7, #4] + 80022ec: 695b ldr r3, [r3, #20] + 80022ee: 019a lsls r2, r3, #6 + 80022f0: 687b ldr r3, [r7, #4] + 80022f2: 6a1b ldr r3, [r3, #32] + 80022f4: 041b lsls r3, r3, #16 + 80022f6: 431a orrs r2, r3 + 80022f8: 693b ldr r3, [r7, #16] + 80022fa: 061b lsls r3, r3, #24 + 80022fc: 431a orrs r2, r3 + 80022fe: 68fb ldr r3, [r7, #12] + 8002300: 071b lsls r3, r3, #28 + 8002302: 4929 ldr r1, [pc, #164] ; (80023a8 ) + 8002304: 4313 orrs r3, r2 + 8002306: f8c1 3088 str.w r3, [r1, #136] ; 0x88 } #if defined(STM32F746xx) || defined(STM32F756xx) || defined (STM32F767xx) || defined (STM32F769xx) || defined (STM32F777xx) || defined (STM32F779xx) || defined (STM32F750xx) /*---------------------------- LTDC configuration -------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_LTDC) == (RCC_PERIPHCLK_LTDC)) - 80021de: 687b ldr r3, [r7, #4] - 80021e0: 681b ldr r3, [r3, #0] - 80021e2: f003 0308 and.w r3, r3, #8 - 80021e6: 2b00 cmp r3, #0 - 80021e8: d028 beq.n 800223c + 800230a: 687b ldr r3, [r7, #4] + 800230c: 681b ldr r3, [r3, #0] + 800230e: f003 0308 and.w r3, r3, #8 + 8002312: 2b00 cmp r3, #0 + 8002314: d028 beq.n 8002368 { assert_param(IS_RCC_PLLSAIR_VALUE(PeriphClkInit->PLLSAI.PLLSAIR)); assert_param(IS_RCC_PLLSAI_DIVR_VALUE(PeriphClkInit->PLLSAIDivR)); /* Read PLLSAIP and PLLSAIQ value from PLLSAICFGR register (these value are not needed for LTDC configuration) */ tmpreg0 = ((RCC->PLLSAICFGR & RCC_PLLSAICFGR_PLLSAIQ) >> RCC_PLLSAICFGR_PLLSAIQ_Pos); - 80021ea: 4b24 ldr r3, [pc, #144] ; (800227c ) - 80021ec: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 - 80021f0: 0e1b lsrs r3, r3, #24 - 80021f2: f003 030f and.w r3, r3, #15 - 80021f6: 613b str r3, [r7, #16] + 8002316: 4b24 ldr r3, [pc, #144] ; (80023a8 ) + 8002318: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 + 800231c: 0e1b lsrs r3, r3, #24 + 800231e: f003 030f and.w r3, r3, #15 + 8002322: 613b str r3, [r7, #16] tmpreg1 = ((RCC->PLLSAICFGR & RCC_PLLSAICFGR_PLLSAIP) >> RCC_PLLSAICFGR_PLLSAIP_Pos); - 80021f8: 4b20 ldr r3, [pc, #128] ; (800227c ) - 80021fa: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 - 80021fe: 0c1b lsrs r3, r3, #16 - 8002200: f003 0303 and.w r3, r3, #3 - 8002204: 60fb str r3, [r7, #12] + 8002324: 4b20 ldr r3, [pc, #128] ; (80023a8 ) + 8002326: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 + 800232a: 0c1b lsrs r3, r3, #16 + 800232c: f003 0303 and.w r3, r3, #3 + 8002330: 60fb str r3, [r7, #12] /* PLLSAI_VCO Input = PLL_SOURCE/PLLM */ /* PLLSAI_VCO Output = PLLSAI_VCO Input * PLLSAIN */ /* LTDC_CLK(first level) = PLLSAI_VCO Output/PLLSAIR */ __HAL_RCC_PLLSAI_CONFIG(PeriphClkInit->PLLSAI.PLLSAIN , tmpreg1, tmpreg0, PeriphClkInit->PLLSAI.PLLSAIR); - 8002206: 687b ldr r3, [r7, #4] - 8002208: 695b ldr r3, [r3, #20] - 800220a: 019a lsls r2, r3, #6 - 800220c: 68fb ldr r3, [r7, #12] - 800220e: 041b lsls r3, r3, #16 - 8002210: 431a orrs r2, r3 - 8002212: 693b ldr r3, [r7, #16] - 8002214: 061b lsls r3, r3, #24 - 8002216: 431a orrs r2, r3 - 8002218: 687b ldr r3, [r7, #4] - 800221a: 69db ldr r3, [r3, #28] - 800221c: 071b lsls r3, r3, #28 - 800221e: 4917 ldr r1, [pc, #92] ; (800227c ) - 8002220: 4313 orrs r3, r2 - 8002222: f8c1 3088 str.w r3, [r1, #136] ; 0x88 + 8002332: 687b ldr r3, [r7, #4] + 8002334: 695b ldr r3, [r3, #20] + 8002336: 019a lsls r2, r3, #6 + 8002338: 68fb ldr r3, [r7, #12] + 800233a: 041b lsls r3, r3, #16 + 800233c: 431a orrs r2, r3 + 800233e: 693b ldr r3, [r7, #16] + 8002340: 061b lsls r3, r3, #24 + 8002342: 431a orrs r2, r3 + 8002344: 687b ldr r3, [r7, #4] + 8002346: 69db ldr r3, [r3, #28] + 8002348: 071b lsls r3, r3, #28 + 800234a: 4917 ldr r1, [pc, #92] ; (80023a8 ) + 800234c: 4313 orrs r3, r2 + 800234e: f8c1 3088 str.w r3, [r1, #136] ; 0x88 /* LTDC_CLK = LTDC_CLK(first level)/PLLSAIDIVR */ __HAL_RCC_PLLSAI_PLLSAICLKDIVR_CONFIG(PeriphClkInit->PLLSAIDivR); - 8002226: 4b15 ldr r3, [pc, #84] ; (800227c ) - 8002228: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c - 800222c: f423 3240 bic.w r2, r3, #196608 ; 0x30000 - 8002230: 687b ldr r3, [r7, #4] - 8002232: 6adb ldr r3, [r3, #44] ; 0x2c - 8002234: 4911 ldr r1, [pc, #68] ; (800227c ) - 8002236: 4313 orrs r3, r2 - 8002238: f8c1 308c str.w r3, [r1, #140] ; 0x8c + 8002352: 4b15 ldr r3, [pc, #84] ; (80023a8 ) + 8002354: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c + 8002358: f423 3240 bic.w r2, r3, #196608 ; 0x30000 + 800235c: 687b ldr r3, [r7, #4] + 800235e: 6adb ldr r3, [r3, #44] ; 0x2c + 8002360: 4911 ldr r1, [pc, #68] ; (80023a8 ) + 8002362: 4313 orrs r3, r2 + 8002364: f8c1 308c str.w r3, [r1, #140] ; 0x8c } #endif /* STM32F746xx || STM32F756xx || STM32F767xx || STM32F769xx || STM32F777xx || STM32F779xx || STM32F750xx */ /* Enable PLLSAI Clock */ __HAL_RCC_PLLSAI_ENABLE(); - 800223c: 4b0f ldr r3, [pc, #60] ; (800227c ) - 800223e: 681b ldr r3, [r3, #0] - 8002240: 4a0e ldr r2, [pc, #56] ; (800227c ) - 8002242: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 - 8002246: 6013 str r3, [r2, #0] + 8002368: 4b0f ldr r3, [pc, #60] ; (80023a8 ) + 800236a: 681b ldr r3, [r3, #0] + 800236c: 4a0e ldr r2, [pc, #56] ; (80023a8 ) + 800236e: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 + 8002372: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); - 8002248: f7fe f9c8 bl 80005dc - 800224c: 6178 str r0, [r7, #20] + 8002374: f7fe f93a bl 80005ec + 8002378: 6178 str r0, [r7, #20] /* Wait till PLLSAI is ready */ while(__HAL_RCC_PLLSAI_GET_FLAG() == RESET) - 800224e: e008 b.n 8002262 + 800237a: e008 b.n 800238e { if((HAL_GetTick() - tickstart) > PLLSAI_TIMEOUT_VALUE) - 8002250: f7fe f9c4 bl 80005dc - 8002254: 4602 mov r2, r0 - 8002256: 697b ldr r3, [r7, #20] - 8002258: 1ad3 subs r3, r2, r3 - 800225a: 2b64 cmp r3, #100 ; 0x64 - 800225c: d901 bls.n 8002262 + 800237c: f7fe f936 bl 80005ec + 8002380: 4602 mov r2, r0 + 8002382: 697b ldr r3, [r7, #20] + 8002384: 1ad3 subs r3, r2, r3 + 8002386: 2b64 cmp r3, #100 ; 0x64 + 8002388: d901 bls.n 800238e { /* return in case of Timeout detected */ return HAL_TIMEOUT; - 800225e: 2303 movs r3, #3 - 8002260: e007 b.n 8002272 + 800238a: 2303 movs r3, #3 + 800238c: e007 b.n 800239e while(__HAL_RCC_PLLSAI_GET_FLAG() == RESET) - 8002262: 4b06 ldr r3, [pc, #24] ; (800227c ) - 8002264: 681b ldr r3, [r3, #0] - 8002266: f003 5300 and.w r3, r3, #536870912 ; 0x20000000 - 800226a: f1b3 5f00 cmp.w r3, #536870912 ; 0x20000000 - 800226e: d1ef bne.n 8002250 + 800238e: 4b06 ldr r3, [pc, #24] ; (80023a8 ) + 8002390: 681b ldr r3, [r3, #0] + 8002392: f003 5300 and.w r3, r3, #536870912 ; 0x20000000 + 8002396: f1b3 5f00 cmp.w r3, #536870912 ; 0x20000000 + 800239a: d1ef bne.n 800237c } } } return HAL_OK; - 8002270: 2300 movs r3, #0 + 800239c: 2300 movs r3, #0 } - 8002272: 4618 mov r0, r3 - 8002274: 3720 adds r7, #32 - 8002276: 46bd mov sp, r7 - 8002278: bd80 pop {r7, pc} - 800227a: bf00 nop - 800227c: 40023800 .word 0x40023800 - -08002280 : + 800239e: 4618 mov r0, r3 + 80023a0: 3720 adds r7, #32 + 80023a2: 46bd mov sp, r7 + 80023a4: bd80 pop {r7, pc} + 80023a6: bf00 nop + 80023a8: 40023800 .word 0x40023800 + +080023ac : * Ex: call @ref HAL_TIM_Base_DeInit() before HAL_TIM_Base_Init() * @param htim TIM Base handle * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_Base_Init(TIM_HandleTypeDef *htim) { - 8002280: b580 push {r7, lr} - 8002282: b082 sub sp, #8 - 8002284: af00 add r7, sp, #0 - 8002286: 6078 str r0, [r7, #4] + 80023ac: b580 push {r7, lr} + 80023ae: b082 sub sp, #8 + 80023b0: af00 add r7, sp, #0 + 80023b2: 6078 str r0, [r7, #4] /* Check the TIM handle allocation */ if (htim == NULL) - 8002288: 687b ldr r3, [r7, #4] - 800228a: 2b00 cmp r3, #0 - 800228c: d101 bne.n 8002292 + 80023b4: 687b ldr r3, [r7, #4] + 80023b6: 2b00 cmp r3, #0 + 80023b8: d101 bne.n 80023be { return HAL_ERROR; - 800228e: 2301 movs r3, #1 - 8002290: e01d b.n 80022ce + 80023ba: 2301 movs r3, #1 + 80023bc: e01d b.n 80023fa assert_param(IS_TIM_INSTANCE(htim->Instance)); assert_param(IS_TIM_COUNTER_MODE(htim->Init.CounterMode)); assert_param(IS_TIM_CLOCKDIVISION_DIV(htim->Init.ClockDivision)); assert_param(IS_TIM_AUTORELOAD_PRELOAD(htim->Init.AutoReloadPreload)); if (htim->State == HAL_TIM_STATE_RESET) - 8002292: 687b ldr r3, [r7, #4] - 8002294: f893 303d ldrb.w r3, [r3, #61] ; 0x3d - 8002298: b2db uxtb r3, r3 - 800229a: 2b00 cmp r3, #0 - 800229c: d106 bne.n 80022ac + 80023be: 687b ldr r3, [r7, #4] + 80023c0: f893 303d ldrb.w r3, [r3, #61] ; 0x3d + 80023c4: b2db uxtb r3, r3 + 80023c6: 2b00 cmp r3, #0 + 80023c8: d106 bne.n 80023d8 { /* Allocate lock resource and initialize it */ htim->Lock = HAL_UNLOCKED; - 800229e: 687b ldr r3, [r7, #4] - 80022a0: 2200 movs r2, #0 - 80022a2: f883 203c strb.w r2, [r3, #60] ; 0x3c + 80023ca: 687b ldr r3, [r7, #4] + 80023cc: 2200 movs r2, #0 + 80023ce: f883 203c strb.w r2, [r3, #60] ; 0x3c } /* Init the low level hardware : GPIO, CLOCK, NVIC */ htim->Base_MspInitCallback(htim); #else /* Init the low level hardware : GPIO, CLOCK, NVIC */ HAL_TIM_Base_MspInit(htim); - 80022a6: 6878 ldr r0, [r7, #4] - 80022a8: f002 fb4a bl 8004940 + 80023d2: 6878 ldr r0, [r7, #4] + 80023d4: f005 fe18 bl 8008008 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } /* Set the TIM state */ htim->State = HAL_TIM_STATE_BUSY; - 80022ac: 687b ldr r3, [r7, #4] - 80022ae: 2202 movs r2, #2 - 80022b0: f883 203d strb.w r2, [r3, #61] ; 0x3d + 80023d8: 687b ldr r3, [r7, #4] + 80023da: 2202 movs r2, #2 + 80023dc: f883 203d strb.w r2, [r3, #61] ; 0x3d /* Set the Time Base configuration */ TIM_Base_SetConfig(htim->Instance, &htim->Init); - 80022b4: 687b ldr r3, [r7, #4] - 80022b6: 681a ldr r2, [r3, #0] - 80022b8: 687b ldr r3, [r7, #4] - 80022ba: 3304 adds r3, #4 - 80022bc: 4619 mov r1, r3 - 80022be: 4610 mov r0, r2 - 80022c0: f000 fc42 bl 8002b48 + 80023e0: 687b ldr r3, [r7, #4] + 80023e2: 681a ldr r2, [r3, #0] + 80023e4: 687b ldr r3, [r7, #4] + 80023e6: 3304 adds r3, #4 + 80023e8: 4619 mov r1, r3 + 80023ea: 4610 mov r0, r2 + 80023ec: f000 fc42 bl 8002c74 /* Initialize the TIM state*/ htim->State = HAL_TIM_STATE_READY; - 80022c4: 687b ldr r3, [r7, #4] - 80022c6: 2201 movs r2, #1 - 80022c8: f883 203d strb.w r2, [r3, #61] ; 0x3d + 80023f0: 687b ldr r3, [r7, #4] + 80023f2: 2201 movs r2, #1 + 80023f4: f883 203d strb.w r2, [r3, #61] ; 0x3d return HAL_OK; - 80022cc: 2300 movs r3, #0 + 80023f8: 2300 movs r3, #0 } - 80022ce: 4618 mov r0, r3 - 80022d0: 3708 adds r7, #8 - 80022d2: 46bd mov sp, r7 - 80022d4: bd80 pop {r7, pc} + 80023fa: 4618 mov r0, r3 + 80023fc: 3708 adds r7, #8 + 80023fe: 46bd mov sp, r7 + 8002400: bd80 pop {r7, pc} ... -080022d8 : +08002404 : * @brief Starts the TIM Base generation in interrupt mode. * @param htim TIM Base handle * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_Base_Start_IT(TIM_HandleTypeDef *htim) { - 80022d8: b480 push {r7} - 80022da: b085 sub sp, #20 - 80022dc: af00 add r7, sp, #0 - 80022de: 6078 str r0, [r7, #4] + 8002404: b480 push {r7} + 8002406: b085 sub sp, #20 + 8002408: af00 add r7, sp, #0 + 800240a: 6078 str r0, [r7, #4] /* Check the parameters */ assert_param(IS_TIM_INSTANCE(htim->Instance)); /* Enable the TIM Update interrupt */ __HAL_TIM_ENABLE_IT(htim, TIM_IT_UPDATE); - 80022e0: 687b ldr r3, [r7, #4] - 80022e2: 681b ldr r3, [r3, #0] - 80022e4: 68da ldr r2, [r3, #12] - 80022e6: 687b ldr r3, [r7, #4] - 80022e8: 681b ldr r3, [r3, #0] - 80022ea: f042 0201 orr.w r2, r2, #1 - 80022ee: 60da str r2, [r3, #12] + 800240c: 687b ldr r3, [r7, #4] + 800240e: 681b ldr r3, [r3, #0] + 8002410: 68da ldr r2, [r3, #12] + 8002412: 687b ldr r3, [r7, #4] + 8002414: 681b ldr r3, [r3, #0] + 8002416: f042 0201 orr.w r2, r2, #1 + 800241a: 60da str r2, [r3, #12] /* Enable the Peripheral, except in trigger mode where enable is automatically done with trigger */ tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS; - 80022f0: 687b ldr r3, [r7, #4] - 80022f2: 681b ldr r3, [r3, #0] - 80022f4: 689a ldr r2, [r3, #8] - 80022f6: 4b0c ldr r3, [pc, #48] ; (8002328 ) - 80022f8: 4013 ands r3, r2 - 80022fa: 60fb str r3, [r7, #12] + 800241c: 687b ldr r3, [r7, #4] + 800241e: 681b ldr r3, [r3, #0] + 8002420: 689a ldr r2, [r3, #8] + 8002422: 4b0c ldr r3, [pc, #48] ; (8002454 ) + 8002424: 4013 ands r3, r2 + 8002426: 60fb str r3, [r7, #12] if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)) - 80022fc: 68fb ldr r3, [r7, #12] - 80022fe: 2b06 cmp r3, #6 - 8002300: d00b beq.n 800231a - 8002302: 68fb ldr r3, [r7, #12] - 8002304: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 - 8002308: d007 beq.n 800231a + 8002428: 68fb ldr r3, [r7, #12] + 800242a: 2b06 cmp r3, #6 + 800242c: d00b beq.n 8002446 + 800242e: 68fb ldr r3, [r7, #12] + 8002430: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 + 8002434: d007 beq.n 8002446 { __HAL_TIM_ENABLE(htim); - 800230a: 687b ldr r3, [r7, #4] - 800230c: 681b ldr r3, [r3, #0] - 800230e: 681a ldr r2, [r3, #0] - 8002310: 687b ldr r3, [r7, #4] - 8002312: 681b ldr r3, [r3, #0] - 8002314: f042 0201 orr.w r2, r2, #1 - 8002318: 601a str r2, [r3, #0] + 8002436: 687b ldr r3, [r7, #4] + 8002438: 681b ldr r3, [r3, #0] + 800243a: 681a ldr r2, [r3, #0] + 800243c: 687b ldr r3, [r7, #4] + 800243e: 681b ldr r3, [r3, #0] + 8002440: f042 0201 orr.w r2, r2, #1 + 8002444: 601a str r2, [r3, #0] } /* Return function status */ return HAL_OK; - 800231a: 2300 movs r3, #0 + 8002446: 2300 movs r3, #0 } - 800231c: 4618 mov r0, r3 - 800231e: 3714 adds r7, #20 - 8002320: 46bd mov sp, r7 - 8002322: f85d 7b04 ldr.w r7, [sp], #4 - 8002326: 4770 bx lr - 8002328: 00010007 .word 0x00010007 - -0800232c : + 8002448: 4618 mov r0, r3 + 800244a: 3714 adds r7, #20 + 800244c: 46bd mov sp, r7 + 800244e: f85d 7b04 ldr.w r7, [sp], #4 + 8002452: 4770 bx lr + 8002454: 00010007 .word 0x00010007 + +08002458 : * Ex: call @ref HAL_TIM_PWM_DeInit() before HAL_TIM_PWM_Init() * @param htim TIM PWM handle * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_PWM_Init(TIM_HandleTypeDef *htim) { - 800232c: b580 push {r7, lr} - 800232e: b082 sub sp, #8 - 8002330: af00 add r7, sp, #0 - 8002332: 6078 str r0, [r7, #4] + 8002458: b580 push {r7, lr} + 800245a: b082 sub sp, #8 + 800245c: af00 add r7, sp, #0 + 800245e: 6078 str r0, [r7, #4] /* Check the TIM handle allocation */ if (htim == NULL) - 8002334: 687b ldr r3, [r7, #4] - 8002336: 2b00 cmp r3, #0 - 8002338: d101 bne.n 800233e + 8002460: 687b ldr r3, [r7, #4] + 8002462: 2b00 cmp r3, #0 + 8002464: d101 bne.n 800246a { return HAL_ERROR; - 800233a: 2301 movs r3, #1 - 800233c: e01d b.n 800237a + 8002466: 2301 movs r3, #1 + 8002468: e01d b.n 80024a6 assert_param(IS_TIM_INSTANCE(htim->Instance)); assert_param(IS_TIM_COUNTER_MODE(htim->Init.CounterMode)); assert_param(IS_TIM_CLOCKDIVISION_DIV(htim->Init.ClockDivision)); assert_param(IS_TIM_AUTORELOAD_PRELOAD(htim->Init.AutoReloadPreload)); if (htim->State == HAL_TIM_STATE_RESET) - 800233e: 687b ldr r3, [r7, #4] - 8002340: f893 303d ldrb.w r3, [r3, #61] ; 0x3d - 8002344: b2db uxtb r3, r3 - 8002346: 2b00 cmp r3, #0 - 8002348: d106 bne.n 8002358 + 800246a: 687b ldr r3, [r7, #4] + 800246c: f893 303d ldrb.w r3, [r3, #61] ; 0x3d + 8002470: b2db uxtb r3, r3 + 8002472: 2b00 cmp r3, #0 + 8002474: d106 bne.n 8002484 { /* Allocate lock resource and initialize it */ htim->Lock = HAL_UNLOCKED; - 800234a: 687b ldr r3, [r7, #4] - 800234c: 2200 movs r2, #0 - 800234e: f883 203c strb.w r2, [r3, #60] ; 0x3c + 8002476: 687b ldr r3, [r7, #4] + 8002478: 2200 movs r2, #0 + 800247a: f883 203c strb.w r2, [r3, #60] ; 0x3c } /* Init the low level hardware : GPIO, CLOCK, NVIC */ htim->PWM_MspInitCallback(htim); #else /* Init the low level hardware : GPIO, CLOCK, NVIC and DMA */ HAL_TIM_PWM_MspInit(htim); - 8002352: 6878 ldr r0, [r7, #4] - 8002354: f002 fb1a bl 800498c + 800247e: 6878 ldr r0, [r7, #4] + 8002480: f005 fde8 bl 8008054 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } /* Set the TIM state */ htim->State = HAL_TIM_STATE_BUSY; - 8002358: 687b ldr r3, [r7, #4] - 800235a: 2202 movs r2, #2 - 800235c: f883 203d strb.w r2, [r3, #61] ; 0x3d + 8002484: 687b ldr r3, [r7, #4] + 8002486: 2202 movs r2, #2 + 8002488: f883 203d strb.w r2, [r3, #61] ; 0x3d /* Init the base time for the PWM */ TIM_Base_SetConfig(htim->Instance, &htim->Init); - 8002360: 687b ldr r3, [r7, #4] - 8002362: 681a ldr r2, [r3, #0] - 8002364: 687b ldr r3, [r7, #4] - 8002366: 3304 adds r3, #4 - 8002368: 4619 mov r1, r3 - 800236a: 4610 mov r0, r2 - 800236c: f000 fbec bl 8002b48 + 800248c: 687b ldr r3, [r7, #4] + 800248e: 681a ldr r2, [r3, #0] + 8002490: 687b ldr r3, [r7, #4] + 8002492: 3304 adds r3, #4 + 8002494: 4619 mov r1, r3 + 8002496: 4610 mov r0, r2 + 8002498: f000 fbec bl 8002c74 /* Initialize the TIM state*/ htim->State = HAL_TIM_STATE_READY; - 8002370: 687b ldr r3, [r7, #4] - 8002372: 2201 movs r2, #1 - 8002374: f883 203d strb.w r2, [r3, #61] ; 0x3d + 800249c: 687b ldr r3, [r7, #4] + 800249e: 2201 movs r2, #1 + 80024a0: f883 203d strb.w r2, [r3, #61] ; 0x3d return HAL_OK; - 8002378: 2300 movs r3, #0 + 80024a4: 2300 movs r3, #0 } - 800237a: 4618 mov r0, r3 - 800237c: 3708 adds r7, #8 - 800237e: 46bd mov sp, r7 - 8002380: bd80 pop {r7, pc} + 80024a6: 4618 mov r0, r3 + 80024a8: 3708 adds r7, #8 + 80024aa: 46bd mov sp, r7 + 80024ac: bd80 pop {r7, pc} ... -08002384 : +080024b0 : * @param htim TIM Encoder Interface handle * @param sConfig TIM Encoder Interface configuration structure * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_Encoder_Init(TIM_HandleTypeDef *htim, TIM_Encoder_InitTypeDef *sConfig) { - 8002384: b580 push {r7, lr} - 8002386: b086 sub sp, #24 - 8002388: af00 add r7, sp, #0 - 800238a: 6078 str r0, [r7, #4] - 800238c: 6039 str r1, [r7, #0] + 80024b0: b580 push {r7, lr} + 80024b2: b086 sub sp, #24 + 80024b4: af00 add r7, sp, #0 + 80024b6: 6078 str r0, [r7, #4] + 80024b8: 6039 str r1, [r7, #0] uint32_t tmpsmcr; uint32_t tmpccmr1; uint32_t tmpccer; /* Check the TIM handle allocation */ if (htim == NULL) - 800238e: 687b ldr r3, [r7, #4] - 8002390: 2b00 cmp r3, #0 - 8002392: d101 bne.n 8002398 + 80024ba: 687b ldr r3, [r7, #4] + 80024bc: 2b00 cmp r3, #0 + 80024be: d101 bne.n 80024c4 { return HAL_ERROR; - 8002394: 2301 movs r3, #1 - 8002396: e07b b.n 8002490 + 80024c0: 2301 movs r3, #1 + 80024c2: e07b b.n 80025bc assert_param(IS_TIM_IC_PRESCALER(sConfig->IC1Prescaler)); assert_param(IS_TIM_IC_PRESCALER(sConfig->IC2Prescaler)); assert_param(IS_TIM_IC_FILTER(sConfig->IC1Filter)); assert_param(IS_TIM_IC_FILTER(sConfig->IC2Filter)); if (htim->State == HAL_TIM_STATE_RESET) - 8002398: 687b ldr r3, [r7, #4] - 800239a: f893 303d ldrb.w r3, [r3, #61] ; 0x3d - 800239e: b2db uxtb r3, r3 - 80023a0: 2b00 cmp r3, #0 - 80023a2: d106 bne.n 80023b2 + 80024c4: 687b ldr r3, [r7, #4] + 80024c6: f893 303d ldrb.w r3, [r3, #61] ; 0x3d + 80024ca: b2db uxtb r3, r3 + 80024cc: 2b00 cmp r3, #0 + 80024ce: d106 bne.n 80024de { /* Allocate lock resource and initialize it */ htim->Lock = HAL_UNLOCKED; - 80023a4: 687b ldr r3, [r7, #4] - 80023a6: 2200 movs r2, #0 - 80023a8: f883 203c strb.w r2, [r3, #60] ; 0x3c + 80024d0: 687b ldr r3, [r7, #4] + 80024d2: 2200 movs r2, #0 + 80024d4: f883 203c strb.w r2, [r3, #60] ; 0x3c } /* Init the low level hardware : GPIO, CLOCK, NVIC */ htim->Encoder_MspInitCallback(htim); #else /* Init the low level hardware : GPIO, CLOCK, NVIC and DMA */ HAL_TIM_Encoder_MspInit(htim); - 80023ac: 6878 ldr r0, [r7, #4] - 80023ae: f002 fa37 bl 8004820 + 80024d8: 6878 ldr r0, [r7, #4] + 80024da: f005 fd05 bl 8007ee8 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } /* Set the TIM state */ htim->State = HAL_TIM_STATE_BUSY; - 80023b2: 687b ldr r3, [r7, #4] - 80023b4: 2202 movs r2, #2 - 80023b6: f883 203d strb.w r2, [r3, #61] ; 0x3d + 80024de: 687b ldr r3, [r7, #4] + 80024e0: 2202 movs r2, #2 + 80024e2: f883 203d strb.w r2, [r3, #61] ; 0x3d /* Reset the SMS and ECE bits */ htim->Instance->SMCR &= ~(TIM_SMCR_SMS | TIM_SMCR_ECE); - 80023ba: 687b ldr r3, [r7, #4] - 80023bc: 681b ldr r3, [r3, #0] - 80023be: 6899 ldr r1, [r3, #8] - 80023c0: 687b ldr r3, [r7, #4] - 80023c2: 681a ldr r2, [r3, #0] - 80023c4: 4b34 ldr r3, [pc, #208] ; (8002498 ) - 80023c6: 400b ands r3, r1 - 80023c8: 6093 str r3, [r2, #8] + 80024e6: 687b ldr r3, [r7, #4] + 80024e8: 681b ldr r3, [r3, #0] + 80024ea: 6899 ldr r1, [r3, #8] + 80024ec: 687b ldr r3, [r7, #4] + 80024ee: 681a ldr r2, [r3, #0] + 80024f0: 4b34 ldr r3, [pc, #208] ; (80025c4 ) + 80024f2: 400b ands r3, r1 + 80024f4: 6093 str r3, [r2, #8] /* Configure the Time base in the Encoder Mode */ TIM_Base_SetConfig(htim->Instance, &htim->Init); - 80023ca: 687b ldr r3, [r7, #4] - 80023cc: 681a ldr r2, [r3, #0] - 80023ce: 687b ldr r3, [r7, #4] - 80023d0: 3304 adds r3, #4 - 80023d2: 4619 mov r1, r3 - 80023d4: 4610 mov r0, r2 - 80023d6: f000 fbb7 bl 8002b48 + 80024f6: 687b ldr r3, [r7, #4] + 80024f8: 681a ldr r2, [r3, #0] + 80024fa: 687b ldr r3, [r7, #4] + 80024fc: 3304 adds r3, #4 + 80024fe: 4619 mov r1, r3 + 8002500: 4610 mov r0, r2 + 8002502: f000 fbb7 bl 8002c74 /* Get the TIMx SMCR register value */ tmpsmcr = htim->Instance->SMCR; - 80023da: 687b ldr r3, [r7, #4] - 80023dc: 681b ldr r3, [r3, #0] - 80023de: 689b ldr r3, [r3, #8] - 80023e0: 617b str r3, [r7, #20] + 8002506: 687b ldr r3, [r7, #4] + 8002508: 681b ldr r3, [r3, #0] + 800250a: 689b ldr r3, [r3, #8] + 800250c: 617b str r3, [r7, #20] /* Get the TIMx CCMR1 register value */ tmpccmr1 = htim->Instance->CCMR1; - 80023e2: 687b ldr r3, [r7, #4] - 80023e4: 681b ldr r3, [r3, #0] - 80023e6: 699b ldr r3, [r3, #24] - 80023e8: 613b str r3, [r7, #16] + 800250e: 687b ldr r3, [r7, #4] + 8002510: 681b ldr r3, [r3, #0] + 8002512: 699b ldr r3, [r3, #24] + 8002514: 613b str r3, [r7, #16] /* Get the TIMx CCER register value */ tmpccer = htim->Instance->CCER; - 80023ea: 687b ldr r3, [r7, #4] - 80023ec: 681b ldr r3, [r3, #0] - 80023ee: 6a1b ldr r3, [r3, #32] - 80023f0: 60fb str r3, [r7, #12] + 8002516: 687b ldr r3, [r7, #4] + 8002518: 681b ldr r3, [r3, #0] + 800251a: 6a1b ldr r3, [r3, #32] + 800251c: 60fb str r3, [r7, #12] /* Set the encoder Mode */ tmpsmcr |= sConfig->EncoderMode; - 80023f2: 683b ldr r3, [r7, #0] - 80023f4: 681b ldr r3, [r3, #0] - 80023f6: 697a ldr r2, [r7, #20] - 80023f8: 4313 orrs r3, r2 - 80023fa: 617b str r3, [r7, #20] + 800251e: 683b ldr r3, [r7, #0] + 8002520: 681b ldr r3, [r3, #0] + 8002522: 697a ldr r2, [r7, #20] + 8002524: 4313 orrs r3, r2 + 8002526: 617b str r3, [r7, #20] /* Select the Capture Compare 1 and the Capture Compare 2 as input */ tmpccmr1 &= ~(TIM_CCMR1_CC1S | TIM_CCMR1_CC2S); - 80023fc: 693a ldr r2, [r7, #16] - 80023fe: 4b27 ldr r3, [pc, #156] ; (800249c ) - 8002400: 4013 ands r3, r2 - 8002402: 613b str r3, [r7, #16] + 8002528: 693a ldr r2, [r7, #16] + 800252a: 4b27 ldr r3, [pc, #156] ; (80025c8 ) + 800252c: 4013 ands r3, r2 + 800252e: 613b str r3, [r7, #16] tmpccmr1 |= (sConfig->IC1Selection | (sConfig->IC2Selection << 8U)); - 8002404: 683b ldr r3, [r7, #0] - 8002406: 689a ldr r2, [r3, #8] - 8002408: 683b ldr r3, [r7, #0] - 800240a: 699b ldr r3, [r3, #24] - 800240c: 021b lsls r3, r3, #8 - 800240e: 4313 orrs r3, r2 - 8002410: 693a ldr r2, [r7, #16] - 8002412: 4313 orrs r3, r2 - 8002414: 613b str r3, [r7, #16] + 8002530: 683b ldr r3, [r7, #0] + 8002532: 689a ldr r2, [r3, #8] + 8002534: 683b ldr r3, [r7, #0] + 8002536: 699b ldr r3, [r3, #24] + 8002538: 021b lsls r3, r3, #8 + 800253a: 4313 orrs r3, r2 + 800253c: 693a ldr r2, [r7, #16] + 800253e: 4313 orrs r3, r2 + 8002540: 613b str r3, [r7, #16] /* Set the Capture Compare 1 and the Capture Compare 2 prescalers and filters */ tmpccmr1 &= ~(TIM_CCMR1_IC1PSC | TIM_CCMR1_IC2PSC); - 8002416: 693a ldr r2, [r7, #16] - 8002418: 4b21 ldr r3, [pc, #132] ; (80024a0 ) - 800241a: 4013 ands r3, r2 - 800241c: 613b str r3, [r7, #16] + 8002542: 693a ldr r2, [r7, #16] + 8002544: 4b21 ldr r3, [pc, #132] ; (80025cc ) + 8002546: 4013 ands r3, r2 + 8002548: 613b str r3, [r7, #16] tmpccmr1 &= ~(TIM_CCMR1_IC1F | TIM_CCMR1_IC2F); - 800241e: 693a ldr r2, [r7, #16] - 8002420: 4b20 ldr r3, [pc, #128] ; (80024a4 ) - 8002422: 4013 ands r3, r2 - 8002424: 613b str r3, [r7, #16] + 800254a: 693a ldr r2, [r7, #16] + 800254c: 4b20 ldr r3, [pc, #128] ; (80025d0 ) + 800254e: 4013 ands r3, r2 + 8002550: 613b str r3, [r7, #16] tmpccmr1 |= sConfig->IC1Prescaler | (sConfig->IC2Prescaler << 8U); - 8002426: 683b ldr r3, [r7, #0] - 8002428: 68da ldr r2, [r3, #12] - 800242a: 683b ldr r3, [r7, #0] - 800242c: 69db ldr r3, [r3, #28] - 800242e: 021b lsls r3, r3, #8 - 8002430: 4313 orrs r3, r2 - 8002432: 693a ldr r2, [r7, #16] - 8002434: 4313 orrs r3, r2 - 8002436: 613b str r3, [r7, #16] + 8002552: 683b ldr r3, [r7, #0] + 8002554: 68da ldr r2, [r3, #12] + 8002556: 683b ldr r3, [r7, #0] + 8002558: 69db ldr r3, [r3, #28] + 800255a: 021b lsls r3, r3, #8 + 800255c: 4313 orrs r3, r2 + 800255e: 693a ldr r2, [r7, #16] + 8002560: 4313 orrs r3, r2 + 8002562: 613b str r3, [r7, #16] tmpccmr1 |= (sConfig->IC1Filter << 4U) | (sConfig->IC2Filter << 12U); - 8002438: 683b ldr r3, [r7, #0] - 800243a: 691b ldr r3, [r3, #16] - 800243c: 011a lsls r2, r3, #4 - 800243e: 683b ldr r3, [r7, #0] - 8002440: 6a1b ldr r3, [r3, #32] - 8002442: 031b lsls r3, r3, #12 - 8002444: 4313 orrs r3, r2 - 8002446: 693a ldr r2, [r7, #16] - 8002448: 4313 orrs r3, r2 - 800244a: 613b str r3, [r7, #16] + 8002564: 683b ldr r3, [r7, #0] + 8002566: 691b ldr r3, [r3, #16] + 8002568: 011a lsls r2, r3, #4 + 800256a: 683b ldr r3, [r7, #0] + 800256c: 6a1b ldr r3, [r3, #32] + 800256e: 031b lsls r3, r3, #12 + 8002570: 4313 orrs r3, r2 + 8002572: 693a ldr r2, [r7, #16] + 8002574: 4313 orrs r3, r2 + 8002576: 613b str r3, [r7, #16] /* Set the TI1 and the TI2 Polarities */ tmpccer &= ~(TIM_CCER_CC1P | TIM_CCER_CC2P); - 800244c: 68fb ldr r3, [r7, #12] - 800244e: f023 0322 bic.w r3, r3, #34 ; 0x22 - 8002452: 60fb str r3, [r7, #12] + 8002578: 68fb ldr r3, [r7, #12] + 800257a: f023 0322 bic.w r3, r3, #34 ; 0x22 + 800257e: 60fb str r3, [r7, #12] tmpccer &= ~(TIM_CCER_CC1NP | TIM_CCER_CC2NP); - 8002454: 68fb ldr r3, [r7, #12] - 8002456: f023 0388 bic.w r3, r3, #136 ; 0x88 - 800245a: 60fb str r3, [r7, #12] + 8002580: 68fb ldr r3, [r7, #12] + 8002582: f023 0388 bic.w r3, r3, #136 ; 0x88 + 8002586: 60fb str r3, [r7, #12] tmpccer |= sConfig->IC1Polarity | (sConfig->IC2Polarity << 4U); - 800245c: 683b ldr r3, [r7, #0] - 800245e: 685a ldr r2, [r3, #4] - 8002460: 683b ldr r3, [r7, #0] - 8002462: 695b ldr r3, [r3, #20] - 8002464: 011b lsls r3, r3, #4 - 8002466: 4313 orrs r3, r2 - 8002468: 68fa ldr r2, [r7, #12] - 800246a: 4313 orrs r3, r2 - 800246c: 60fb str r3, [r7, #12] + 8002588: 683b ldr r3, [r7, #0] + 800258a: 685a ldr r2, [r3, #4] + 800258c: 683b ldr r3, [r7, #0] + 800258e: 695b ldr r3, [r3, #20] + 8002590: 011b lsls r3, r3, #4 + 8002592: 4313 orrs r3, r2 + 8002594: 68fa ldr r2, [r7, #12] + 8002596: 4313 orrs r3, r2 + 8002598: 60fb str r3, [r7, #12] /* Write to TIMx SMCR */ htim->Instance->SMCR = tmpsmcr; - 800246e: 687b ldr r3, [r7, #4] - 8002470: 681b ldr r3, [r3, #0] - 8002472: 697a ldr r2, [r7, #20] - 8002474: 609a str r2, [r3, #8] + 800259a: 687b ldr r3, [r7, #4] + 800259c: 681b ldr r3, [r3, #0] + 800259e: 697a ldr r2, [r7, #20] + 80025a0: 609a str r2, [r3, #8] /* Write to TIMx CCMR1 */ htim->Instance->CCMR1 = tmpccmr1; - 8002476: 687b ldr r3, [r7, #4] - 8002478: 681b ldr r3, [r3, #0] - 800247a: 693a ldr r2, [r7, #16] - 800247c: 619a str r2, [r3, #24] + 80025a2: 687b ldr r3, [r7, #4] + 80025a4: 681b ldr r3, [r3, #0] + 80025a6: 693a ldr r2, [r7, #16] + 80025a8: 619a str r2, [r3, #24] /* Write to TIMx CCER */ htim->Instance->CCER = tmpccer; - 800247e: 687b ldr r3, [r7, #4] - 8002480: 681b ldr r3, [r3, #0] - 8002482: 68fa ldr r2, [r7, #12] - 8002484: 621a str r2, [r3, #32] + 80025aa: 687b ldr r3, [r7, #4] + 80025ac: 681b ldr r3, [r3, #0] + 80025ae: 68fa ldr r2, [r7, #12] + 80025b0: 621a str r2, [r3, #32] /* Initialize the TIM state*/ htim->State = HAL_TIM_STATE_READY; - 8002486: 687b ldr r3, [r7, #4] - 8002488: 2201 movs r2, #1 - 800248a: f883 203d strb.w r2, [r3, #61] ; 0x3d + 80025b2: 687b ldr r3, [r7, #4] + 80025b4: 2201 movs r2, #1 + 80025b6: f883 203d strb.w r2, [r3, #61] ; 0x3d return HAL_OK; - 800248e: 2300 movs r3, #0 -} - 8002490: 4618 mov r0, r3 - 8002492: 3718 adds r7, #24 - 8002494: 46bd mov sp, r7 - 8002496: bd80 pop {r7, pc} - 8002498: fffebff8 .word 0xfffebff8 - 800249c: fffffcfc .word 0xfffffcfc - 80024a0: fffff3f3 .word 0xfffff3f3 - 80024a4: ffff0f0f .word 0xffff0f0f - -080024a8 : + 80025ba: 2300 movs r3, #0 +} + 80025bc: 4618 mov r0, r3 + 80025be: 3718 adds r7, #24 + 80025c0: 46bd mov sp, r7 + 80025c2: bd80 pop {r7, pc} + 80025c4: fffebff8 .word 0xfffebff8 + 80025c8: fffffcfc .word 0xfffffcfc + 80025cc: fffff3f3 .word 0xfffff3f3 + 80025d0: ffff0f0f .word 0xffff0f0f + +080025d4 : * @arg TIM_CHANNEL_2: TIM Channel 2 selected * @arg TIM_CHANNEL_ALL: TIM Channel 1 and TIM Channel 2 are selected * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_Encoder_Start(TIM_HandleTypeDef *htim, uint32_t Channel) { - 80024a8: b580 push {r7, lr} - 80024aa: b082 sub sp, #8 - 80024ac: af00 add r7, sp, #0 - 80024ae: 6078 str r0, [r7, #4] - 80024b0: 6039 str r1, [r7, #0] + 80025d4: b580 push {r7, lr} + 80025d6: b082 sub sp, #8 + 80025d8: af00 add r7, sp, #0 + 80025da: 6078 str r0, [r7, #4] + 80025dc: 6039 str r1, [r7, #0] /* Check the parameters */ assert_param(IS_TIM_CC2_INSTANCE(htim->Instance)); /* Enable the encoder interface channels */ switch (Channel) - 80024b2: 683b ldr r3, [r7, #0] - 80024b4: 2b00 cmp r3, #0 - 80024b6: d002 beq.n 80024be - 80024b8: 2b04 cmp r3, #4 - 80024ba: d008 beq.n 80024ce - 80024bc: e00f b.n 80024de + 80025de: 683b ldr r3, [r7, #0] + 80025e0: 2b00 cmp r3, #0 + 80025e2: d002 beq.n 80025ea + 80025e4: 2b04 cmp r3, #4 + 80025e6: d008 beq.n 80025fa + 80025e8: e00f b.n 800260a { case TIM_CHANNEL_1: { TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_1, TIM_CCx_ENABLE); - 80024be: 687b ldr r3, [r7, #4] - 80024c0: 681b ldr r3, [r3, #0] - 80024c2: 2201 movs r2, #1 - 80024c4: 2100 movs r1, #0 - 80024c6: 4618 mov r0, r3 - 80024c8: f000 fed6 bl 8003278 + 80025ea: 687b ldr r3, [r7, #4] + 80025ec: 681b ldr r3, [r3, #0] + 80025ee: 2201 movs r2, #1 + 80025f0: 2100 movs r1, #0 + 80025f2: 4618 mov r0, r3 + 80025f4: f000 fed6 bl 80033a4 break; - 80024cc: e016 b.n 80024fc + 80025f8: e016 b.n 8002628 } case TIM_CHANNEL_2: { TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_2, TIM_CCx_ENABLE); - 80024ce: 687b ldr r3, [r7, #4] - 80024d0: 681b ldr r3, [r3, #0] - 80024d2: 2201 movs r2, #1 - 80024d4: 2104 movs r1, #4 - 80024d6: 4618 mov r0, r3 - 80024d8: f000 fece bl 8003278 + 80025fa: 687b ldr r3, [r7, #4] + 80025fc: 681b ldr r3, [r3, #0] + 80025fe: 2201 movs r2, #1 + 8002600: 2104 movs r1, #4 + 8002602: 4618 mov r0, r3 + 8002604: f000 fece bl 80033a4 break; - 80024dc: e00e b.n 80024fc + 8002608: e00e b.n 8002628 } default : { TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_1, TIM_CCx_ENABLE); - 80024de: 687b ldr r3, [r7, #4] - 80024e0: 681b ldr r3, [r3, #0] - 80024e2: 2201 movs r2, #1 - 80024e4: 2100 movs r1, #0 - 80024e6: 4618 mov r0, r3 - 80024e8: f000 fec6 bl 8003278 + 800260a: 687b ldr r3, [r7, #4] + 800260c: 681b ldr r3, [r3, #0] + 800260e: 2201 movs r2, #1 + 8002610: 2100 movs r1, #0 + 8002612: 4618 mov r0, r3 + 8002614: f000 fec6 bl 80033a4 TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_2, TIM_CCx_ENABLE); - 80024ec: 687b ldr r3, [r7, #4] - 80024ee: 681b ldr r3, [r3, #0] - 80024f0: 2201 movs r2, #1 - 80024f2: 2104 movs r1, #4 - 80024f4: 4618 mov r0, r3 - 80024f6: f000 febf bl 8003278 + 8002618: 687b ldr r3, [r7, #4] + 800261a: 681b ldr r3, [r3, #0] + 800261c: 2201 movs r2, #1 + 800261e: 2104 movs r1, #4 + 8002620: 4618 mov r0, r3 + 8002622: f000 febf bl 80033a4 break; - 80024fa: bf00 nop + 8002626: bf00 nop } } /* Enable the Peripheral */ __HAL_TIM_ENABLE(htim); - 80024fc: 687b ldr r3, [r7, #4] - 80024fe: 681b ldr r3, [r3, #0] - 8002500: 681a ldr r2, [r3, #0] - 8002502: 687b ldr r3, [r7, #4] - 8002504: 681b ldr r3, [r3, #0] - 8002506: f042 0201 orr.w r2, r2, #1 - 800250a: 601a str r2, [r3, #0] + 8002628: 687b ldr r3, [r7, #4] + 800262a: 681b ldr r3, [r3, #0] + 800262c: 681a ldr r2, [r3, #0] + 800262e: 687b ldr r3, [r7, #4] + 8002630: 681b ldr r3, [r3, #0] + 8002632: f042 0201 orr.w r2, r2, #1 + 8002636: 601a str r2, [r3, #0] /* Return function status */ return HAL_OK; - 800250c: 2300 movs r3, #0 + 8002638: 2300 movs r3, #0 } - 800250e: 4618 mov r0, r3 - 8002510: 3708 adds r7, #8 - 8002512: 46bd mov sp, r7 - 8002514: bd80 pop {r7, pc} + 800263a: 4618 mov r0, r3 + 800263c: 3708 adds r7, #8 + 800263e: 46bd mov sp, r7 + 8002640: bd80 pop {r7, pc} -08002516 : +08002642 : * @brief This function handles TIM interrupts requests. * @param htim TIM handle * @retval None */ void HAL_TIM_IRQHandler(TIM_HandleTypeDef *htim) { - 8002516: b580 push {r7, lr} - 8002518: b082 sub sp, #8 - 800251a: af00 add r7, sp, #0 - 800251c: 6078 str r0, [r7, #4] + 8002642: b580 push {r7, lr} + 8002644: b082 sub sp, #8 + 8002646: af00 add r7, sp, #0 + 8002648: 6078 str r0, [r7, #4] /* Capture compare 1 event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC1) != RESET) - 800251e: 687b ldr r3, [r7, #4] - 8002520: 681b ldr r3, [r3, #0] - 8002522: 691b ldr r3, [r3, #16] - 8002524: f003 0302 and.w r3, r3, #2 - 8002528: 2b02 cmp r3, #2 - 800252a: d122 bne.n 8002572 + 800264a: 687b ldr r3, [r7, #4] + 800264c: 681b ldr r3, [r3, #0] + 800264e: 691b ldr r3, [r3, #16] + 8002650: f003 0302 and.w r3, r3, #2 + 8002654: 2b02 cmp r3, #2 + 8002656: d122 bne.n 800269e { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC1) != RESET) - 800252c: 687b ldr r3, [r7, #4] - 800252e: 681b ldr r3, [r3, #0] - 8002530: 68db ldr r3, [r3, #12] - 8002532: f003 0302 and.w r3, r3, #2 - 8002536: 2b02 cmp r3, #2 - 8002538: d11b bne.n 8002572 + 8002658: 687b ldr r3, [r7, #4] + 800265a: 681b ldr r3, [r3, #0] + 800265c: 68db ldr r3, [r3, #12] + 800265e: f003 0302 and.w r3, r3, #2 + 8002662: 2b02 cmp r3, #2 + 8002664: d11b bne.n 800269e { { __HAL_TIM_CLEAR_IT(htim, TIM_IT_CC1); - 800253a: 687b ldr r3, [r7, #4] - 800253c: 681b ldr r3, [r3, #0] - 800253e: f06f 0202 mvn.w r2, #2 - 8002542: 611a str r2, [r3, #16] + 8002666: 687b ldr r3, [r7, #4] + 8002668: 681b ldr r3, [r3, #0] + 800266a: f06f 0202 mvn.w r2, #2 + 800266e: 611a str r2, [r3, #16] htim->Channel = HAL_TIM_ACTIVE_CHANNEL_1; - 8002544: 687b ldr r3, [r7, #4] - 8002546: 2201 movs r2, #1 - 8002548: 771a strb r2, [r3, #28] + 8002670: 687b ldr r3, [r7, #4] + 8002672: 2201 movs r2, #1 + 8002674: 771a strb r2, [r3, #28] /* Input capture event */ if ((htim->Instance->CCMR1 & TIM_CCMR1_CC1S) != 0x00U) - 800254a: 687b ldr r3, [r7, #4] - 800254c: 681b ldr r3, [r3, #0] - 800254e: 699b ldr r3, [r3, #24] - 8002550: f003 0303 and.w r3, r3, #3 - 8002554: 2b00 cmp r3, #0 - 8002556: d003 beq.n 8002560 + 8002676: 687b ldr r3, [r7, #4] + 8002678: 681b ldr r3, [r3, #0] + 800267a: 699b ldr r3, [r3, #24] + 800267c: f003 0303 and.w r3, r3, #3 + 8002680: 2b00 cmp r3, #0 + 8002682: d003 beq.n 800268c { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->IC_CaptureCallback(htim); #else HAL_TIM_IC_CaptureCallback(htim); - 8002558: 6878 ldr r0, [r7, #4] - 800255a: f000 fad7 bl 8002b0c - 800255e: e005 b.n 800256c + 8002684: 6878 ldr r0, [r7, #4] + 8002686: f000 fad7 bl 8002c38 + 800268a: e005 b.n 8002698 { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->OC_DelayElapsedCallback(htim); htim->PWM_PulseFinishedCallback(htim); #else HAL_TIM_OC_DelayElapsedCallback(htim); - 8002560: 6878 ldr r0, [r7, #4] - 8002562: f000 fac9 bl 8002af8 + 800268c: 6878 ldr r0, [r7, #4] + 800268e: f000 fac9 bl 8002c24 HAL_TIM_PWM_PulseFinishedCallback(htim); - 8002566: 6878 ldr r0, [r7, #4] - 8002568: f000 fada bl 8002b20 + 8002692: 6878 ldr r0, [r7, #4] + 8002694: f000 fada bl 8002c4c #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; - 800256c: 687b ldr r3, [r7, #4] - 800256e: 2200 movs r2, #0 - 8002570: 771a strb r2, [r3, #28] + 8002698: 687b ldr r3, [r7, #4] + 800269a: 2200 movs r2, #0 + 800269c: 771a strb r2, [r3, #28] } } } /* Capture compare 2 event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC2) != RESET) - 8002572: 687b ldr r3, [r7, #4] - 8002574: 681b ldr r3, [r3, #0] - 8002576: 691b ldr r3, [r3, #16] - 8002578: f003 0304 and.w r3, r3, #4 - 800257c: 2b04 cmp r3, #4 - 800257e: d122 bne.n 80025c6 + 800269e: 687b ldr r3, [r7, #4] + 80026a0: 681b ldr r3, [r3, #0] + 80026a2: 691b ldr r3, [r3, #16] + 80026a4: f003 0304 and.w r3, r3, #4 + 80026a8: 2b04 cmp r3, #4 + 80026aa: d122 bne.n 80026f2 { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC2) != RESET) - 8002580: 687b ldr r3, [r7, #4] - 8002582: 681b ldr r3, [r3, #0] - 8002584: 68db ldr r3, [r3, #12] - 8002586: f003 0304 and.w r3, r3, #4 - 800258a: 2b04 cmp r3, #4 - 800258c: d11b bne.n 80025c6 + 80026ac: 687b ldr r3, [r7, #4] + 80026ae: 681b ldr r3, [r3, #0] + 80026b0: 68db ldr r3, [r3, #12] + 80026b2: f003 0304 and.w r3, r3, #4 + 80026b6: 2b04 cmp r3, #4 + 80026b8: d11b bne.n 80026f2 { __HAL_TIM_CLEAR_IT(htim, TIM_IT_CC2); - 800258e: 687b ldr r3, [r7, #4] - 8002590: 681b ldr r3, [r3, #0] - 8002592: f06f 0204 mvn.w r2, #4 - 8002596: 611a str r2, [r3, #16] + 80026ba: 687b ldr r3, [r7, #4] + 80026bc: 681b ldr r3, [r3, #0] + 80026be: f06f 0204 mvn.w r2, #4 + 80026c2: 611a str r2, [r3, #16] htim->Channel = HAL_TIM_ACTIVE_CHANNEL_2; - 8002598: 687b ldr r3, [r7, #4] - 800259a: 2202 movs r2, #2 - 800259c: 771a strb r2, [r3, #28] + 80026c4: 687b ldr r3, [r7, #4] + 80026c6: 2202 movs r2, #2 + 80026c8: 771a strb r2, [r3, #28] /* Input capture event */ if ((htim->Instance->CCMR1 & TIM_CCMR1_CC2S) != 0x00U) - 800259e: 687b ldr r3, [r7, #4] - 80025a0: 681b ldr r3, [r3, #0] - 80025a2: 699b ldr r3, [r3, #24] - 80025a4: f403 7340 and.w r3, r3, #768 ; 0x300 - 80025a8: 2b00 cmp r3, #0 - 80025aa: d003 beq.n 80025b4 + 80026ca: 687b ldr r3, [r7, #4] + 80026cc: 681b ldr r3, [r3, #0] + 80026ce: 699b ldr r3, [r3, #24] + 80026d0: f403 7340 and.w r3, r3, #768 ; 0x300 + 80026d4: 2b00 cmp r3, #0 + 80026d6: d003 beq.n 80026e0 { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->IC_CaptureCallback(htim); #else HAL_TIM_IC_CaptureCallback(htim); - 80025ac: 6878 ldr r0, [r7, #4] - 80025ae: f000 faad bl 8002b0c - 80025b2: e005 b.n 80025c0 + 80026d8: 6878 ldr r0, [r7, #4] + 80026da: f000 faad bl 8002c38 + 80026de: e005 b.n 80026ec { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->OC_DelayElapsedCallback(htim); htim->PWM_PulseFinishedCallback(htim); #else HAL_TIM_OC_DelayElapsedCallback(htim); - 80025b4: 6878 ldr r0, [r7, #4] - 80025b6: f000 fa9f bl 8002af8 + 80026e0: 6878 ldr r0, [r7, #4] + 80026e2: f000 fa9f bl 8002c24 HAL_TIM_PWM_PulseFinishedCallback(htim); - 80025ba: 6878 ldr r0, [r7, #4] - 80025bc: f000 fab0 bl 8002b20 + 80026e6: 6878 ldr r0, [r7, #4] + 80026e8: f000 fab0 bl 8002c4c #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; - 80025c0: 687b ldr r3, [r7, #4] - 80025c2: 2200 movs r2, #0 - 80025c4: 771a strb r2, [r3, #28] + 80026ec: 687b ldr r3, [r7, #4] + 80026ee: 2200 movs r2, #0 + 80026f0: 771a strb r2, [r3, #28] } } /* Capture compare 3 event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC3) != RESET) - 80025c6: 687b ldr r3, [r7, #4] - 80025c8: 681b ldr r3, [r3, #0] - 80025ca: 691b ldr r3, [r3, #16] - 80025cc: f003 0308 and.w r3, r3, #8 - 80025d0: 2b08 cmp r3, #8 - 80025d2: d122 bne.n 800261a + 80026f2: 687b ldr r3, [r7, #4] + 80026f4: 681b ldr r3, [r3, #0] + 80026f6: 691b ldr r3, [r3, #16] + 80026f8: f003 0308 and.w r3, r3, #8 + 80026fc: 2b08 cmp r3, #8 + 80026fe: d122 bne.n 8002746 { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC3) != RESET) - 80025d4: 687b ldr r3, [r7, #4] - 80025d6: 681b ldr r3, [r3, #0] - 80025d8: 68db ldr r3, [r3, #12] - 80025da: f003 0308 and.w r3, r3, #8 - 80025de: 2b08 cmp r3, #8 - 80025e0: d11b bne.n 800261a + 8002700: 687b ldr r3, [r7, #4] + 8002702: 681b ldr r3, [r3, #0] + 8002704: 68db ldr r3, [r3, #12] + 8002706: f003 0308 and.w r3, r3, #8 + 800270a: 2b08 cmp r3, #8 + 800270c: d11b bne.n 8002746 { __HAL_TIM_CLEAR_IT(htim, TIM_IT_CC3); - 80025e2: 687b ldr r3, [r7, #4] - 80025e4: 681b ldr r3, [r3, #0] - 80025e6: f06f 0208 mvn.w r2, #8 - 80025ea: 611a str r2, [r3, #16] + 800270e: 687b ldr r3, [r7, #4] + 8002710: 681b ldr r3, [r3, #0] + 8002712: f06f 0208 mvn.w r2, #8 + 8002716: 611a str r2, [r3, #16] htim->Channel = HAL_TIM_ACTIVE_CHANNEL_3; - 80025ec: 687b ldr r3, [r7, #4] - 80025ee: 2204 movs r2, #4 - 80025f0: 771a strb r2, [r3, #28] + 8002718: 687b ldr r3, [r7, #4] + 800271a: 2204 movs r2, #4 + 800271c: 771a strb r2, [r3, #28] /* Input capture event */ if ((htim->Instance->CCMR2 & TIM_CCMR2_CC3S) != 0x00U) - 80025f2: 687b ldr r3, [r7, #4] - 80025f4: 681b ldr r3, [r3, #0] - 80025f6: 69db ldr r3, [r3, #28] - 80025f8: f003 0303 and.w r3, r3, #3 - 80025fc: 2b00 cmp r3, #0 - 80025fe: d003 beq.n 8002608 + 800271e: 687b ldr r3, [r7, #4] + 8002720: 681b ldr r3, [r3, #0] + 8002722: 69db ldr r3, [r3, #28] + 8002724: f003 0303 and.w r3, r3, #3 + 8002728: 2b00 cmp r3, #0 + 800272a: d003 beq.n 8002734 { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->IC_CaptureCallback(htim); #else HAL_TIM_IC_CaptureCallback(htim); - 8002600: 6878 ldr r0, [r7, #4] - 8002602: f000 fa83 bl 8002b0c - 8002606: e005 b.n 8002614 + 800272c: 6878 ldr r0, [r7, #4] + 800272e: f000 fa83 bl 8002c38 + 8002732: e005 b.n 8002740 { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->OC_DelayElapsedCallback(htim); htim->PWM_PulseFinishedCallback(htim); #else HAL_TIM_OC_DelayElapsedCallback(htim); - 8002608: 6878 ldr r0, [r7, #4] - 800260a: f000 fa75 bl 8002af8 + 8002734: 6878 ldr r0, [r7, #4] + 8002736: f000 fa75 bl 8002c24 HAL_TIM_PWM_PulseFinishedCallback(htim); - 800260e: 6878 ldr r0, [r7, #4] - 8002610: f000 fa86 bl 8002b20 + 800273a: 6878 ldr r0, [r7, #4] + 800273c: f000 fa86 bl 8002c4c #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; - 8002614: 687b ldr r3, [r7, #4] - 8002616: 2200 movs r2, #0 - 8002618: 771a strb r2, [r3, #28] + 8002740: 687b ldr r3, [r7, #4] + 8002742: 2200 movs r2, #0 + 8002744: 771a strb r2, [r3, #28] } } /* Capture compare 4 event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC4) != RESET) - 800261a: 687b ldr r3, [r7, #4] - 800261c: 681b ldr r3, [r3, #0] - 800261e: 691b ldr r3, [r3, #16] - 8002620: f003 0310 and.w r3, r3, #16 - 8002624: 2b10 cmp r3, #16 - 8002626: d122 bne.n 800266e + 8002746: 687b ldr r3, [r7, #4] + 8002748: 681b ldr r3, [r3, #0] + 800274a: 691b ldr r3, [r3, #16] + 800274c: f003 0310 and.w r3, r3, #16 + 8002750: 2b10 cmp r3, #16 + 8002752: d122 bne.n 800279a { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC4) != RESET) - 8002628: 687b ldr r3, [r7, #4] - 800262a: 681b ldr r3, [r3, #0] - 800262c: 68db ldr r3, [r3, #12] - 800262e: f003 0310 and.w r3, r3, #16 - 8002632: 2b10 cmp r3, #16 - 8002634: d11b bne.n 800266e + 8002754: 687b ldr r3, [r7, #4] + 8002756: 681b ldr r3, [r3, #0] + 8002758: 68db ldr r3, [r3, #12] + 800275a: f003 0310 and.w r3, r3, #16 + 800275e: 2b10 cmp r3, #16 + 8002760: d11b bne.n 800279a { __HAL_TIM_CLEAR_IT(htim, TIM_IT_CC4); - 8002636: 687b ldr r3, [r7, #4] - 8002638: 681b ldr r3, [r3, #0] - 800263a: f06f 0210 mvn.w r2, #16 - 800263e: 611a str r2, [r3, #16] + 8002762: 687b ldr r3, [r7, #4] + 8002764: 681b ldr r3, [r3, #0] + 8002766: f06f 0210 mvn.w r2, #16 + 800276a: 611a str r2, [r3, #16] htim->Channel = HAL_TIM_ACTIVE_CHANNEL_4; - 8002640: 687b ldr r3, [r7, #4] - 8002642: 2208 movs r2, #8 - 8002644: 771a strb r2, [r3, #28] + 800276c: 687b ldr r3, [r7, #4] + 800276e: 2208 movs r2, #8 + 8002770: 771a strb r2, [r3, #28] /* Input capture event */ if ((htim->Instance->CCMR2 & TIM_CCMR2_CC4S) != 0x00U) - 8002646: 687b ldr r3, [r7, #4] - 8002648: 681b ldr r3, [r3, #0] - 800264a: 69db ldr r3, [r3, #28] - 800264c: f403 7340 and.w r3, r3, #768 ; 0x300 - 8002650: 2b00 cmp r3, #0 - 8002652: d003 beq.n 800265c + 8002772: 687b ldr r3, [r7, #4] + 8002774: 681b ldr r3, [r3, #0] + 8002776: 69db ldr r3, [r3, #28] + 8002778: f403 7340 and.w r3, r3, #768 ; 0x300 + 800277c: 2b00 cmp r3, #0 + 800277e: d003 beq.n 8002788 { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->IC_CaptureCallback(htim); #else HAL_TIM_IC_CaptureCallback(htim); - 8002654: 6878 ldr r0, [r7, #4] - 8002656: f000 fa59 bl 8002b0c - 800265a: e005 b.n 8002668 + 8002780: 6878 ldr r0, [r7, #4] + 8002782: f000 fa59 bl 8002c38 + 8002786: e005 b.n 8002794 { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->OC_DelayElapsedCallback(htim); htim->PWM_PulseFinishedCallback(htim); #else HAL_TIM_OC_DelayElapsedCallback(htim); - 800265c: 6878 ldr r0, [r7, #4] - 800265e: f000 fa4b bl 8002af8 + 8002788: 6878 ldr r0, [r7, #4] + 800278a: f000 fa4b bl 8002c24 HAL_TIM_PWM_PulseFinishedCallback(htim); - 8002662: 6878 ldr r0, [r7, #4] - 8002664: f000 fa5c bl 8002b20 + 800278e: 6878 ldr r0, [r7, #4] + 8002790: f000 fa5c bl 8002c4c #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; - 8002668: 687b ldr r3, [r7, #4] - 800266a: 2200 movs r2, #0 - 800266c: 771a strb r2, [r3, #28] + 8002794: 687b ldr r3, [r7, #4] + 8002796: 2200 movs r2, #0 + 8002798: 771a strb r2, [r3, #28] } } /* TIM Update event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_UPDATE) != RESET) - 800266e: 687b ldr r3, [r7, #4] - 8002670: 681b ldr r3, [r3, #0] - 8002672: 691b ldr r3, [r3, #16] - 8002674: f003 0301 and.w r3, r3, #1 - 8002678: 2b01 cmp r3, #1 - 800267a: d10e bne.n 800269a + 800279a: 687b ldr r3, [r7, #4] + 800279c: 681b ldr r3, [r3, #0] + 800279e: 691b ldr r3, [r3, #16] + 80027a0: f003 0301 and.w r3, r3, #1 + 80027a4: 2b01 cmp r3, #1 + 80027a6: d10e bne.n 80027c6 { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_UPDATE) != RESET) - 800267c: 687b ldr r3, [r7, #4] - 800267e: 681b ldr r3, [r3, #0] - 8002680: 68db ldr r3, [r3, #12] - 8002682: f003 0301 and.w r3, r3, #1 - 8002686: 2b01 cmp r3, #1 - 8002688: d107 bne.n 800269a + 80027a8: 687b ldr r3, [r7, #4] + 80027aa: 681b ldr r3, [r3, #0] + 80027ac: 68db ldr r3, [r3, #12] + 80027ae: f003 0301 and.w r3, r3, #1 + 80027b2: 2b01 cmp r3, #1 + 80027b4: d107 bne.n 80027c6 { __HAL_TIM_CLEAR_IT(htim, TIM_IT_UPDATE); - 800268a: 687b ldr r3, [r7, #4] - 800268c: 681b ldr r3, [r3, #0] - 800268e: f06f 0201 mvn.w r2, #1 - 8002692: 611a str r2, [r3, #16] + 80027b6: 687b ldr r3, [r7, #4] + 80027b8: 681b ldr r3, [r3, #0] + 80027ba: f06f 0201 mvn.w r2, #1 + 80027be: 611a str r2, [r3, #16] #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->PeriodElapsedCallback(htim); #else HAL_TIM_PeriodElapsedCallback(htim); - 8002694: 6878 ldr r0, [r7, #4] - 8002696: f002 f829 bl 80046ec + 80027c0: 6878 ldr r0, [r7, #4] + 80027c2: f004 fbe9 bl 8006f98 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } } /* TIM Break input event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_BREAK) != RESET) - 800269a: 687b ldr r3, [r7, #4] - 800269c: 681b ldr r3, [r3, #0] - 800269e: 691b ldr r3, [r3, #16] - 80026a0: f003 0380 and.w r3, r3, #128 ; 0x80 - 80026a4: 2b80 cmp r3, #128 ; 0x80 - 80026a6: d10e bne.n 80026c6 + 80027c6: 687b ldr r3, [r7, #4] + 80027c8: 681b ldr r3, [r3, #0] + 80027ca: 691b ldr r3, [r3, #16] + 80027cc: f003 0380 and.w r3, r3, #128 ; 0x80 + 80027d0: 2b80 cmp r3, #128 ; 0x80 + 80027d2: d10e bne.n 80027f2 { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_BREAK) != RESET) - 80026a8: 687b ldr r3, [r7, #4] - 80026aa: 681b ldr r3, [r3, #0] - 80026ac: 68db ldr r3, [r3, #12] - 80026ae: f003 0380 and.w r3, r3, #128 ; 0x80 - 80026b2: 2b80 cmp r3, #128 ; 0x80 - 80026b4: d107 bne.n 80026c6 + 80027d4: 687b ldr r3, [r7, #4] + 80027d6: 681b ldr r3, [r3, #0] + 80027d8: 68db ldr r3, [r3, #12] + 80027da: f003 0380 and.w r3, r3, #128 ; 0x80 + 80027de: 2b80 cmp r3, #128 ; 0x80 + 80027e0: d107 bne.n 80027f2 { __HAL_TIM_CLEAR_IT(htim, TIM_IT_BREAK); - 80026b6: 687b ldr r3, [r7, #4] - 80026b8: 681b ldr r3, [r3, #0] - 80026ba: f06f 0280 mvn.w r2, #128 ; 0x80 - 80026be: 611a str r2, [r3, #16] + 80027e2: 687b ldr r3, [r7, #4] + 80027e4: 681b ldr r3, [r3, #0] + 80027e6: f06f 0280 mvn.w r2, #128 ; 0x80 + 80027ea: 611a str r2, [r3, #16] #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->BreakCallback(htim); #else HAL_TIMEx_BreakCallback(htim); - 80026c0: 6878 ldr r0, [r7, #4] - 80026c2: f000 fe65 bl 8003390 + 80027ec: 6878 ldr r0, [r7, #4] + 80027ee: f000 fe65 bl 80034bc #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } } /* TIM Break2 input event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_BREAK2) != RESET) - 80026c6: 687b ldr r3, [r7, #4] - 80026c8: 681b ldr r3, [r3, #0] - 80026ca: 691b ldr r3, [r3, #16] - 80026cc: f403 7380 and.w r3, r3, #256 ; 0x100 - 80026d0: f5b3 7f80 cmp.w r3, #256 ; 0x100 - 80026d4: d10e bne.n 80026f4 + 80027f2: 687b ldr r3, [r7, #4] + 80027f4: 681b ldr r3, [r3, #0] + 80027f6: 691b ldr r3, [r3, #16] + 80027f8: f403 7380 and.w r3, r3, #256 ; 0x100 + 80027fc: f5b3 7f80 cmp.w r3, #256 ; 0x100 + 8002800: d10e bne.n 8002820 { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_BREAK) != RESET) - 80026d6: 687b ldr r3, [r7, #4] - 80026d8: 681b ldr r3, [r3, #0] - 80026da: 68db ldr r3, [r3, #12] - 80026dc: f003 0380 and.w r3, r3, #128 ; 0x80 - 80026e0: 2b80 cmp r3, #128 ; 0x80 - 80026e2: d107 bne.n 80026f4 + 8002802: 687b ldr r3, [r7, #4] + 8002804: 681b ldr r3, [r3, #0] + 8002806: 68db ldr r3, [r3, #12] + 8002808: f003 0380 and.w r3, r3, #128 ; 0x80 + 800280c: 2b80 cmp r3, #128 ; 0x80 + 800280e: d107 bne.n 8002820 { __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_BREAK2); - 80026e4: 687b ldr r3, [r7, #4] - 80026e6: 681b ldr r3, [r3, #0] - 80026e8: f46f 7280 mvn.w r2, #256 ; 0x100 - 80026ec: 611a str r2, [r3, #16] + 8002810: 687b ldr r3, [r7, #4] + 8002812: 681b ldr r3, [r3, #0] + 8002814: f46f 7280 mvn.w r2, #256 ; 0x100 + 8002818: 611a str r2, [r3, #16] #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->Break2Callback(htim); #else HAL_TIMEx_Break2Callback(htim); - 80026ee: 6878 ldr r0, [r7, #4] - 80026f0: f000 fe58 bl 80033a4 + 800281a: 6878 ldr r0, [r7, #4] + 800281c: f000 fe58 bl 80034d0 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } } /* TIM Trigger detection event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_TRIGGER) != RESET) - 80026f4: 687b ldr r3, [r7, #4] - 80026f6: 681b ldr r3, [r3, #0] - 80026f8: 691b ldr r3, [r3, #16] - 80026fa: f003 0340 and.w r3, r3, #64 ; 0x40 - 80026fe: 2b40 cmp r3, #64 ; 0x40 - 8002700: d10e bne.n 8002720 + 8002820: 687b ldr r3, [r7, #4] + 8002822: 681b ldr r3, [r3, #0] + 8002824: 691b ldr r3, [r3, #16] + 8002826: f003 0340 and.w r3, r3, #64 ; 0x40 + 800282a: 2b40 cmp r3, #64 ; 0x40 + 800282c: d10e bne.n 800284c { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_TRIGGER) != RESET) - 8002702: 687b ldr r3, [r7, #4] - 8002704: 681b ldr r3, [r3, #0] - 8002706: 68db ldr r3, [r3, #12] - 8002708: f003 0340 and.w r3, r3, #64 ; 0x40 - 800270c: 2b40 cmp r3, #64 ; 0x40 - 800270e: d107 bne.n 8002720 + 800282e: 687b ldr r3, [r7, #4] + 8002830: 681b ldr r3, [r3, #0] + 8002832: 68db ldr r3, [r3, #12] + 8002834: f003 0340 and.w r3, r3, #64 ; 0x40 + 8002838: 2b40 cmp r3, #64 ; 0x40 + 800283a: d107 bne.n 800284c { __HAL_TIM_CLEAR_IT(htim, TIM_IT_TRIGGER); - 8002710: 687b ldr r3, [r7, #4] - 8002712: 681b ldr r3, [r3, #0] - 8002714: f06f 0240 mvn.w r2, #64 ; 0x40 - 8002718: 611a str r2, [r3, #16] + 800283c: 687b ldr r3, [r7, #4] + 800283e: 681b ldr r3, [r3, #0] + 8002840: f06f 0240 mvn.w r2, #64 ; 0x40 + 8002844: 611a str r2, [r3, #16] #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->TriggerCallback(htim); #else HAL_TIM_TriggerCallback(htim); - 800271a: 6878 ldr r0, [r7, #4] - 800271c: f000 fa0a bl 8002b34 + 8002846: 6878 ldr r0, [r7, #4] + 8002848: f000 fa0a bl 8002c60 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } } /* TIM commutation event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_COM) != RESET) - 8002720: 687b ldr r3, [r7, #4] - 8002722: 681b ldr r3, [r3, #0] - 8002724: 691b ldr r3, [r3, #16] - 8002726: f003 0320 and.w r3, r3, #32 - 800272a: 2b20 cmp r3, #32 - 800272c: d10e bne.n 800274c + 800284c: 687b ldr r3, [r7, #4] + 800284e: 681b ldr r3, [r3, #0] + 8002850: 691b ldr r3, [r3, #16] + 8002852: f003 0320 and.w r3, r3, #32 + 8002856: 2b20 cmp r3, #32 + 8002858: d10e bne.n 8002878 { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_COM) != RESET) - 800272e: 687b ldr r3, [r7, #4] - 8002730: 681b ldr r3, [r3, #0] - 8002732: 68db ldr r3, [r3, #12] - 8002734: f003 0320 and.w r3, r3, #32 - 8002738: 2b20 cmp r3, #32 - 800273a: d107 bne.n 800274c + 800285a: 687b ldr r3, [r7, #4] + 800285c: 681b ldr r3, [r3, #0] + 800285e: 68db ldr r3, [r3, #12] + 8002860: f003 0320 and.w r3, r3, #32 + 8002864: 2b20 cmp r3, #32 + 8002866: d107 bne.n 8002878 { __HAL_TIM_CLEAR_IT(htim, TIM_FLAG_COM); - 800273c: 687b ldr r3, [r7, #4] - 800273e: 681b ldr r3, [r3, #0] - 8002740: f06f 0220 mvn.w r2, #32 - 8002744: 611a str r2, [r3, #16] + 8002868: 687b ldr r3, [r7, #4] + 800286a: 681b ldr r3, [r3, #0] + 800286c: f06f 0220 mvn.w r2, #32 + 8002870: 611a str r2, [r3, #16] #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->CommutationCallback(htim); #else HAL_TIMEx_CommutCallback(htim); - 8002746: 6878 ldr r0, [r7, #4] - 8002748: f000 fe18 bl 800337c + 8002872: 6878 ldr r0, [r7, #4] + 8002874: f000 fe18 bl 80034a8 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } } } - 800274c: bf00 nop - 800274e: 3708 adds r7, #8 - 8002750: 46bd mov sp, r7 - 8002752: bd80 pop {r7, pc} + 8002878: bf00 nop + 800287a: 3708 adds r7, #8 + 800287c: 46bd mov sp, r7 + 800287e: bd80 pop {r7, pc} -08002754 : +08002880 : * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_PWM_ConfigChannel(TIM_HandleTypeDef *htim, TIM_OC_InitTypeDef *sConfig, uint32_t Channel) { - 8002754: b580 push {r7, lr} - 8002756: b084 sub sp, #16 - 8002758: af00 add r7, sp, #0 - 800275a: 60f8 str r0, [r7, #12] - 800275c: 60b9 str r1, [r7, #8] - 800275e: 607a str r2, [r7, #4] + 8002880: b580 push {r7, lr} + 8002882: b084 sub sp, #16 + 8002884: af00 add r7, sp, #0 + 8002886: 60f8 str r0, [r7, #12] + 8002888: 60b9 str r1, [r7, #8] + 800288a: 607a str r2, [r7, #4] assert_param(IS_TIM_PWM_MODE(sConfig->OCMode)); assert_param(IS_TIM_OC_POLARITY(sConfig->OCPolarity)); assert_param(IS_TIM_FAST_STATE(sConfig->OCFastMode)); /* Process Locked */ __HAL_LOCK(htim); - 8002760: 68fb ldr r3, [r7, #12] - 8002762: f893 303c ldrb.w r3, [r3, #60] ; 0x3c - 8002766: 2b01 cmp r3, #1 - 8002768: d101 bne.n 800276e - 800276a: 2302 movs r3, #2 - 800276c: e105 b.n 800297a - 800276e: 68fb ldr r3, [r7, #12] - 8002770: 2201 movs r2, #1 - 8002772: f883 203c strb.w r2, [r3, #60] ; 0x3c + 800288c: 68fb ldr r3, [r7, #12] + 800288e: f893 303c ldrb.w r3, [r3, #60] ; 0x3c + 8002892: 2b01 cmp r3, #1 + 8002894: d101 bne.n 800289a + 8002896: 2302 movs r3, #2 + 8002898: e105 b.n 8002aa6 + 800289a: 68fb ldr r3, [r7, #12] + 800289c: 2201 movs r2, #1 + 800289e: f883 203c strb.w r2, [r3, #60] ; 0x3c htim->State = HAL_TIM_STATE_BUSY; - 8002776: 68fb ldr r3, [r7, #12] - 8002778: 2202 movs r2, #2 - 800277a: f883 203d strb.w r2, [r3, #61] ; 0x3d + 80028a2: 68fb ldr r3, [r7, #12] + 80028a4: 2202 movs r2, #2 + 80028a6: f883 203d strb.w r2, [r3, #61] ; 0x3d switch (Channel) - 800277e: 687b ldr r3, [r7, #4] - 8002780: 2b14 cmp r3, #20 - 8002782: f200 80f0 bhi.w 8002966 - 8002786: a201 add r2, pc, #4 ; (adr r2, 800278c ) - 8002788: f852 f023 ldr.w pc, [r2, r3, lsl #2] - 800278c: 080027e1 .word 0x080027e1 - 8002790: 08002967 .word 0x08002967 - 8002794: 08002967 .word 0x08002967 - 8002798: 08002967 .word 0x08002967 - 800279c: 08002821 .word 0x08002821 - 80027a0: 08002967 .word 0x08002967 - 80027a4: 08002967 .word 0x08002967 - 80027a8: 08002967 .word 0x08002967 - 80027ac: 08002863 .word 0x08002863 - 80027b0: 08002967 .word 0x08002967 - 80027b4: 08002967 .word 0x08002967 - 80027b8: 08002967 .word 0x08002967 - 80027bc: 080028a3 .word 0x080028a3 - 80027c0: 08002967 .word 0x08002967 - 80027c4: 08002967 .word 0x08002967 - 80027c8: 08002967 .word 0x08002967 - 80027cc: 080028e5 .word 0x080028e5 - 80027d0: 08002967 .word 0x08002967 - 80027d4: 08002967 .word 0x08002967 - 80027d8: 08002967 .word 0x08002967 - 80027dc: 08002925 .word 0x08002925 + 80028aa: 687b ldr r3, [r7, #4] + 80028ac: 2b14 cmp r3, #20 + 80028ae: f200 80f0 bhi.w 8002a92 + 80028b2: a201 add r2, pc, #4 ; (adr r2, 80028b8 ) + 80028b4: f852 f023 ldr.w pc, [r2, r3, lsl #2] + 80028b8: 0800290d .word 0x0800290d + 80028bc: 08002a93 .word 0x08002a93 + 80028c0: 08002a93 .word 0x08002a93 + 80028c4: 08002a93 .word 0x08002a93 + 80028c8: 0800294d .word 0x0800294d + 80028cc: 08002a93 .word 0x08002a93 + 80028d0: 08002a93 .word 0x08002a93 + 80028d4: 08002a93 .word 0x08002a93 + 80028d8: 0800298f .word 0x0800298f + 80028dc: 08002a93 .word 0x08002a93 + 80028e0: 08002a93 .word 0x08002a93 + 80028e4: 08002a93 .word 0x08002a93 + 80028e8: 080029cf .word 0x080029cf + 80028ec: 08002a93 .word 0x08002a93 + 80028f0: 08002a93 .word 0x08002a93 + 80028f4: 08002a93 .word 0x08002a93 + 80028f8: 08002a11 .word 0x08002a11 + 80028fc: 08002a93 .word 0x08002a93 + 8002900: 08002a93 .word 0x08002a93 + 8002904: 08002a93 .word 0x08002a93 + 8002908: 08002a51 .word 0x08002a51 { /* Check the parameters */ assert_param(IS_TIM_CC1_INSTANCE(htim->Instance)); /* Configure the Channel 1 in PWM mode */ TIM_OC1_SetConfig(htim->Instance, sConfig); - 80027e0: 68fb ldr r3, [r7, #12] - 80027e2: 681b ldr r3, [r3, #0] - 80027e4: 68b9 ldr r1, [r7, #8] - 80027e6: 4618 mov r0, r3 - 80027e8: f000 fa4e bl 8002c88 + 800290c: 68fb ldr r3, [r7, #12] + 800290e: 681b ldr r3, [r3, #0] + 8002910: 68b9 ldr r1, [r7, #8] + 8002912: 4618 mov r0, r3 + 8002914: f000 fa4e bl 8002db4 /* Set the Preload enable bit for channel1 */ htim->Instance->CCMR1 |= TIM_CCMR1_OC1PE; - 80027ec: 68fb ldr r3, [r7, #12] - 80027ee: 681b ldr r3, [r3, #0] - 80027f0: 699a ldr r2, [r3, #24] - 80027f2: 68fb ldr r3, [r7, #12] - 80027f4: 681b ldr r3, [r3, #0] - 80027f6: f042 0208 orr.w r2, r2, #8 - 80027fa: 619a str r2, [r3, #24] + 8002918: 68fb ldr r3, [r7, #12] + 800291a: 681b ldr r3, [r3, #0] + 800291c: 699a ldr r2, [r3, #24] + 800291e: 68fb ldr r3, [r7, #12] + 8002920: 681b ldr r3, [r3, #0] + 8002922: f042 0208 orr.w r2, r2, #8 + 8002926: 619a str r2, [r3, #24] /* Configure the Output Fast mode */ htim->Instance->CCMR1 &= ~TIM_CCMR1_OC1FE; - 80027fc: 68fb ldr r3, [r7, #12] - 80027fe: 681b ldr r3, [r3, #0] - 8002800: 699a ldr r2, [r3, #24] - 8002802: 68fb ldr r3, [r7, #12] - 8002804: 681b ldr r3, [r3, #0] - 8002806: f022 0204 bic.w r2, r2, #4 - 800280a: 619a str r2, [r3, #24] + 8002928: 68fb ldr r3, [r7, #12] + 800292a: 681b ldr r3, [r3, #0] + 800292c: 699a ldr r2, [r3, #24] + 800292e: 68fb ldr r3, [r7, #12] + 8002930: 681b ldr r3, [r3, #0] + 8002932: f022 0204 bic.w r2, r2, #4 + 8002936: 619a str r2, [r3, #24] htim->Instance->CCMR1 |= sConfig->OCFastMode; - 800280c: 68fb ldr r3, [r7, #12] - 800280e: 681b ldr r3, [r3, #0] - 8002810: 6999 ldr r1, [r3, #24] - 8002812: 68bb ldr r3, [r7, #8] - 8002814: 691a ldr r2, [r3, #16] - 8002816: 68fb ldr r3, [r7, #12] - 8002818: 681b ldr r3, [r3, #0] - 800281a: 430a orrs r2, r1 - 800281c: 619a str r2, [r3, #24] + 8002938: 68fb ldr r3, [r7, #12] + 800293a: 681b ldr r3, [r3, #0] + 800293c: 6999 ldr r1, [r3, #24] + 800293e: 68bb ldr r3, [r7, #8] + 8002940: 691a ldr r2, [r3, #16] + 8002942: 68fb ldr r3, [r7, #12] + 8002944: 681b ldr r3, [r3, #0] + 8002946: 430a orrs r2, r1 + 8002948: 619a str r2, [r3, #24] break; - 800281e: e0a3 b.n 8002968 + 800294a: e0a3 b.n 8002a94 { /* Check the parameters */ assert_param(IS_TIM_CC2_INSTANCE(htim->Instance)); /* Configure the Channel 2 in PWM mode */ TIM_OC2_SetConfig(htim->Instance, sConfig); - 8002820: 68fb ldr r3, [r7, #12] - 8002822: 681b ldr r3, [r3, #0] - 8002824: 68b9 ldr r1, [r7, #8] - 8002826: 4618 mov r0, r3 - 8002828: f000 faa0 bl 8002d6c + 800294c: 68fb ldr r3, [r7, #12] + 800294e: 681b ldr r3, [r3, #0] + 8002950: 68b9 ldr r1, [r7, #8] + 8002952: 4618 mov r0, r3 + 8002954: f000 faa0 bl 8002e98 /* Set the Preload enable bit for channel2 */ htim->Instance->CCMR1 |= TIM_CCMR1_OC2PE; - 800282c: 68fb ldr r3, [r7, #12] - 800282e: 681b ldr r3, [r3, #0] - 8002830: 699a ldr r2, [r3, #24] - 8002832: 68fb ldr r3, [r7, #12] - 8002834: 681b ldr r3, [r3, #0] - 8002836: f442 6200 orr.w r2, r2, #2048 ; 0x800 - 800283a: 619a str r2, [r3, #24] + 8002958: 68fb ldr r3, [r7, #12] + 800295a: 681b ldr r3, [r3, #0] + 800295c: 699a ldr r2, [r3, #24] + 800295e: 68fb ldr r3, [r7, #12] + 8002960: 681b ldr r3, [r3, #0] + 8002962: f442 6200 orr.w r2, r2, #2048 ; 0x800 + 8002966: 619a str r2, [r3, #24] /* Configure the Output Fast mode */ htim->Instance->CCMR1 &= ~TIM_CCMR1_OC2FE; - 800283c: 68fb ldr r3, [r7, #12] - 800283e: 681b ldr r3, [r3, #0] - 8002840: 699a ldr r2, [r3, #24] - 8002842: 68fb ldr r3, [r7, #12] - 8002844: 681b ldr r3, [r3, #0] - 8002846: f422 6280 bic.w r2, r2, #1024 ; 0x400 - 800284a: 619a str r2, [r3, #24] + 8002968: 68fb ldr r3, [r7, #12] + 800296a: 681b ldr r3, [r3, #0] + 800296c: 699a ldr r2, [r3, #24] + 800296e: 68fb ldr r3, [r7, #12] + 8002970: 681b ldr r3, [r3, #0] + 8002972: f422 6280 bic.w r2, r2, #1024 ; 0x400 + 8002976: 619a str r2, [r3, #24] htim->Instance->CCMR1 |= sConfig->OCFastMode << 8U; - 800284c: 68fb ldr r3, [r7, #12] - 800284e: 681b ldr r3, [r3, #0] - 8002850: 6999 ldr r1, [r3, #24] - 8002852: 68bb ldr r3, [r7, #8] - 8002854: 691b ldr r3, [r3, #16] - 8002856: 021a lsls r2, r3, #8 - 8002858: 68fb ldr r3, [r7, #12] - 800285a: 681b ldr r3, [r3, #0] - 800285c: 430a orrs r2, r1 - 800285e: 619a str r2, [r3, #24] + 8002978: 68fb ldr r3, [r7, #12] + 800297a: 681b ldr r3, [r3, #0] + 800297c: 6999 ldr r1, [r3, #24] + 800297e: 68bb ldr r3, [r7, #8] + 8002980: 691b ldr r3, [r3, #16] + 8002982: 021a lsls r2, r3, #8 + 8002984: 68fb ldr r3, [r7, #12] + 8002986: 681b ldr r3, [r3, #0] + 8002988: 430a orrs r2, r1 + 800298a: 619a str r2, [r3, #24] break; - 8002860: e082 b.n 8002968 + 800298c: e082 b.n 8002a94 { /* Check the parameters */ assert_param(IS_TIM_CC3_INSTANCE(htim->Instance)); /* Configure the Channel 3 in PWM mode */ TIM_OC3_SetConfig(htim->Instance, sConfig); - 8002862: 68fb ldr r3, [r7, #12] - 8002864: 681b ldr r3, [r3, #0] - 8002866: 68b9 ldr r1, [r7, #8] - 8002868: 4618 mov r0, r3 - 800286a: f000 faf7 bl 8002e5c + 800298e: 68fb ldr r3, [r7, #12] + 8002990: 681b ldr r3, [r3, #0] + 8002992: 68b9 ldr r1, [r7, #8] + 8002994: 4618 mov r0, r3 + 8002996: f000 faf7 bl 8002f88 /* Set the Preload enable bit for channel3 */ htim->Instance->CCMR2 |= TIM_CCMR2_OC3PE; - 800286e: 68fb ldr r3, [r7, #12] - 8002870: 681b ldr r3, [r3, #0] - 8002872: 69da ldr r2, [r3, #28] - 8002874: 68fb ldr r3, [r7, #12] - 8002876: 681b ldr r3, [r3, #0] - 8002878: f042 0208 orr.w r2, r2, #8 - 800287c: 61da str r2, [r3, #28] + 800299a: 68fb ldr r3, [r7, #12] + 800299c: 681b ldr r3, [r3, #0] + 800299e: 69da ldr r2, [r3, #28] + 80029a0: 68fb ldr r3, [r7, #12] + 80029a2: 681b ldr r3, [r3, #0] + 80029a4: f042 0208 orr.w r2, r2, #8 + 80029a8: 61da str r2, [r3, #28] /* Configure the Output Fast mode */ htim->Instance->CCMR2 &= ~TIM_CCMR2_OC3FE; - 800287e: 68fb ldr r3, [r7, #12] - 8002880: 681b ldr r3, [r3, #0] - 8002882: 69da ldr r2, [r3, #28] - 8002884: 68fb ldr r3, [r7, #12] - 8002886: 681b ldr r3, [r3, #0] - 8002888: f022 0204 bic.w r2, r2, #4 - 800288c: 61da str r2, [r3, #28] + 80029aa: 68fb ldr r3, [r7, #12] + 80029ac: 681b ldr r3, [r3, #0] + 80029ae: 69da ldr r2, [r3, #28] + 80029b0: 68fb ldr r3, [r7, #12] + 80029b2: 681b ldr r3, [r3, #0] + 80029b4: f022 0204 bic.w r2, r2, #4 + 80029b8: 61da str r2, [r3, #28] htim->Instance->CCMR2 |= sConfig->OCFastMode; - 800288e: 68fb ldr r3, [r7, #12] - 8002890: 681b ldr r3, [r3, #0] - 8002892: 69d9 ldr r1, [r3, #28] - 8002894: 68bb ldr r3, [r7, #8] - 8002896: 691a ldr r2, [r3, #16] - 8002898: 68fb ldr r3, [r7, #12] - 800289a: 681b ldr r3, [r3, #0] - 800289c: 430a orrs r2, r1 - 800289e: 61da str r2, [r3, #28] + 80029ba: 68fb ldr r3, [r7, #12] + 80029bc: 681b ldr r3, [r3, #0] + 80029be: 69d9 ldr r1, [r3, #28] + 80029c0: 68bb ldr r3, [r7, #8] + 80029c2: 691a ldr r2, [r3, #16] + 80029c4: 68fb ldr r3, [r7, #12] + 80029c6: 681b ldr r3, [r3, #0] + 80029c8: 430a orrs r2, r1 + 80029ca: 61da str r2, [r3, #28] break; - 80028a0: e062 b.n 8002968 + 80029cc: e062 b.n 8002a94 { /* Check the parameters */ assert_param(IS_TIM_CC4_INSTANCE(htim->Instance)); /* Configure the Channel 4 in PWM mode */ TIM_OC4_SetConfig(htim->Instance, sConfig); - 80028a2: 68fb ldr r3, [r7, #12] - 80028a4: 681b ldr r3, [r3, #0] - 80028a6: 68b9 ldr r1, [r7, #8] - 80028a8: 4618 mov r0, r3 - 80028aa: f000 fb4d bl 8002f48 + 80029ce: 68fb ldr r3, [r7, #12] + 80029d0: 681b ldr r3, [r3, #0] + 80029d2: 68b9 ldr r1, [r7, #8] + 80029d4: 4618 mov r0, r3 + 80029d6: f000 fb4d bl 8003074 /* Set the Preload enable bit for channel4 */ htim->Instance->CCMR2 |= TIM_CCMR2_OC4PE; - 80028ae: 68fb ldr r3, [r7, #12] - 80028b0: 681b ldr r3, [r3, #0] - 80028b2: 69da ldr r2, [r3, #28] - 80028b4: 68fb ldr r3, [r7, #12] - 80028b6: 681b ldr r3, [r3, #0] - 80028b8: f442 6200 orr.w r2, r2, #2048 ; 0x800 - 80028bc: 61da str r2, [r3, #28] + 80029da: 68fb ldr r3, [r7, #12] + 80029dc: 681b ldr r3, [r3, #0] + 80029de: 69da ldr r2, [r3, #28] + 80029e0: 68fb ldr r3, [r7, #12] + 80029e2: 681b ldr r3, [r3, #0] + 80029e4: f442 6200 orr.w r2, r2, #2048 ; 0x800 + 80029e8: 61da str r2, [r3, #28] /* Configure the Output Fast mode */ htim->Instance->CCMR2 &= ~TIM_CCMR2_OC4FE; - 80028be: 68fb ldr r3, [r7, #12] - 80028c0: 681b ldr r3, [r3, #0] - 80028c2: 69da ldr r2, [r3, #28] - 80028c4: 68fb ldr r3, [r7, #12] - 80028c6: 681b ldr r3, [r3, #0] - 80028c8: f422 6280 bic.w r2, r2, #1024 ; 0x400 - 80028cc: 61da str r2, [r3, #28] + 80029ea: 68fb ldr r3, [r7, #12] + 80029ec: 681b ldr r3, [r3, #0] + 80029ee: 69da ldr r2, [r3, #28] + 80029f0: 68fb ldr r3, [r7, #12] + 80029f2: 681b ldr r3, [r3, #0] + 80029f4: f422 6280 bic.w r2, r2, #1024 ; 0x400 + 80029f8: 61da str r2, [r3, #28] htim->Instance->CCMR2 |= sConfig->OCFastMode << 8U; - 80028ce: 68fb ldr r3, [r7, #12] - 80028d0: 681b ldr r3, [r3, #0] - 80028d2: 69d9 ldr r1, [r3, #28] - 80028d4: 68bb ldr r3, [r7, #8] - 80028d6: 691b ldr r3, [r3, #16] - 80028d8: 021a lsls r2, r3, #8 - 80028da: 68fb ldr r3, [r7, #12] - 80028dc: 681b ldr r3, [r3, #0] - 80028de: 430a orrs r2, r1 - 80028e0: 61da str r2, [r3, #28] + 80029fa: 68fb ldr r3, [r7, #12] + 80029fc: 681b ldr r3, [r3, #0] + 80029fe: 69d9 ldr r1, [r3, #28] + 8002a00: 68bb ldr r3, [r7, #8] + 8002a02: 691b ldr r3, [r3, #16] + 8002a04: 021a lsls r2, r3, #8 + 8002a06: 68fb ldr r3, [r7, #12] + 8002a08: 681b ldr r3, [r3, #0] + 8002a0a: 430a orrs r2, r1 + 8002a0c: 61da str r2, [r3, #28] break; - 80028e2: e041 b.n 8002968 + 8002a0e: e041 b.n 8002a94 { /* Check the parameters */ assert_param(IS_TIM_CC5_INSTANCE(htim->Instance)); /* Configure the Channel 5 in PWM mode */ TIM_OC5_SetConfig(htim->Instance, sConfig); - 80028e4: 68fb ldr r3, [r7, #12] - 80028e6: 681b ldr r3, [r3, #0] - 80028e8: 68b9 ldr r1, [r7, #8] - 80028ea: 4618 mov r0, r3 - 80028ec: f000 fb84 bl 8002ff8 + 8002a10: 68fb ldr r3, [r7, #12] + 8002a12: 681b ldr r3, [r3, #0] + 8002a14: 68b9 ldr r1, [r7, #8] + 8002a16: 4618 mov r0, r3 + 8002a18: f000 fb84 bl 8003124 /* Set the Preload enable bit for channel5*/ htim->Instance->CCMR3 |= TIM_CCMR3_OC5PE; - 80028f0: 68fb ldr r3, [r7, #12] - 80028f2: 681b ldr r3, [r3, #0] - 80028f4: 6d5a ldr r2, [r3, #84] ; 0x54 - 80028f6: 68fb ldr r3, [r7, #12] - 80028f8: 681b ldr r3, [r3, #0] - 80028fa: f042 0208 orr.w r2, r2, #8 - 80028fe: 655a str r2, [r3, #84] ; 0x54 + 8002a1c: 68fb ldr r3, [r7, #12] + 8002a1e: 681b ldr r3, [r3, #0] + 8002a20: 6d5a ldr r2, [r3, #84] ; 0x54 + 8002a22: 68fb ldr r3, [r7, #12] + 8002a24: 681b ldr r3, [r3, #0] + 8002a26: f042 0208 orr.w r2, r2, #8 + 8002a2a: 655a str r2, [r3, #84] ; 0x54 /* Configure the Output Fast mode */ htim->Instance->CCMR3 &= ~TIM_CCMR3_OC5FE; - 8002900: 68fb ldr r3, [r7, #12] - 8002902: 681b ldr r3, [r3, #0] - 8002904: 6d5a ldr r2, [r3, #84] ; 0x54 - 8002906: 68fb ldr r3, [r7, #12] - 8002908: 681b ldr r3, [r3, #0] - 800290a: f022 0204 bic.w r2, r2, #4 - 800290e: 655a str r2, [r3, #84] ; 0x54 + 8002a2c: 68fb ldr r3, [r7, #12] + 8002a2e: 681b ldr r3, [r3, #0] + 8002a30: 6d5a ldr r2, [r3, #84] ; 0x54 + 8002a32: 68fb ldr r3, [r7, #12] + 8002a34: 681b ldr r3, [r3, #0] + 8002a36: f022 0204 bic.w r2, r2, #4 + 8002a3a: 655a str r2, [r3, #84] ; 0x54 htim->Instance->CCMR3 |= sConfig->OCFastMode; - 8002910: 68fb ldr r3, [r7, #12] - 8002912: 681b ldr r3, [r3, #0] - 8002914: 6d59 ldr r1, [r3, #84] ; 0x54 - 8002916: 68bb ldr r3, [r7, #8] - 8002918: 691a ldr r2, [r3, #16] - 800291a: 68fb ldr r3, [r7, #12] - 800291c: 681b ldr r3, [r3, #0] - 800291e: 430a orrs r2, r1 - 8002920: 655a str r2, [r3, #84] ; 0x54 + 8002a3c: 68fb ldr r3, [r7, #12] + 8002a3e: 681b ldr r3, [r3, #0] + 8002a40: 6d59 ldr r1, [r3, #84] ; 0x54 + 8002a42: 68bb ldr r3, [r7, #8] + 8002a44: 691a ldr r2, [r3, #16] + 8002a46: 68fb ldr r3, [r7, #12] + 8002a48: 681b ldr r3, [r3, #0] + 8002a4a: 430a orrs r2, r1 + 8002a4c: 655a str r2, [r3, #84] ; 0x54 break; - 8002922: e021 b.n 8002968 + 8002a4e: e021 b.n 8002a94 { /* Check the parameters */ assert_param(IS_TIM_CC6_INSTANCE(htim->Instance)); /* Configure the Channel 6 in PWM mode */ TIM_OC6_SetConfig(htim->Instance, sConfig); - 8002924: 68fb ldr r3, [r7, #12] - 8002926: 681b ldr r3, [r3, #0] - 8002928: 68b9 ldr r1, [r7, #8] - 800292a: 4618 mov r0, r3 - 800292c: f000 fbb6 bl 800309c + 8002a50: 68fb ldr r3, [r7, #12] + 8002a52: 681b ldr r3, [r3, #0] + 8002a54: 68b9 ldr r1, [r7, #8] + 8002a56: 4618 mov r0, r3 + 8002a58: f000 fbb6 bl 80031c8 /* Set the Preload enable bit for channel6 */ htim->Instance->CCMR3 |= TIM_CCMR3_OC6PE; - 8002930: 68fb ldr r3, [r7, #12] - 8002932: 681b ldr r3, [r3, #0] - 8002934: 6d5a ldr r2, [r3, #84] ; 0x54 - 8002936: 68fb ldr r3, [r7, #12] - 8002938: 681b ldr r3, [r3, #0] - 800293a: f442 6200 orr.w r2, r2, #2048 ; 0x800 - 800293e: 655a str r2, [r3, #84] ; 0x54 + 8002a5c: 68fb ldr r3, [r7, #12] + 8002a5e: 681b ldr r3, [r3, #0] + 8002a60: 6d5a ldr r2, [r3, #84] ; 0x54 + 8002a62: 68fb ldr r3, [r7, #12] + 8002a64: 681b ldr r3, [r3, #0] + 8002a66: f442 6200 orr.w r2, r2, #2048 ; 0x800 + 8002a6a: 655a str r2, [r3, #84] ; 0x54 /* Configure the Output Fast mode */ htim->Instance->CCMR3 &= ~TIM_CCMR3_OC6FE; - 8002940: 68fb ldr r3, [r7, #12] - 8002942: 681b ldr r3, [r3, #0] - 8002944: 6d5a ldr r2, [r3, #84] ; 0x54 - 8002946: 68fb ldr r3, [r7, #12] - 8002948: 681b ldr r3, [r3, #0] - 800294a: f422 6280 bic.w r2, r2, #1024 ; 0x400 - 800294e: 655a str r2, [r3, #84] ; 0x54 + 8002a6c: 68fb ldr r3, [r7, #12] + 8002a6e: 681b ldr r3, [r3, #0] + 8002a70: 6d5a ldr r2, [r3, #84] ; 0x54 + 8002a72: 68fb ldr r3, [r7, #12] + 8002a74: 681b ldr r3, [r3, #0] + 8002a76: f422 6280 bic.w r2, r2, #1024 ; 0x400 + 8002a7a: 655a str r2, [r3, #84] ; 0x54 htim->Instance->CCMR3 |= sConfig->OCFastMode << 8U; - 8002950: 68fb ldr r3, [r7, #12] - 8002952: 681b ldr r3, [r3, #0] - 8002954: 6d59 ldr r1, [r3, #84] ; 0x54 - 8002956: 68bb ldr r3, [r7, #8] - 8002958: 691b ldr r3, [r3, #16] - 800295a: 021a lsls r2, r3, #8 - 800295c: 68fb ldr r3, [r7, #12] - 800295e: 681b ldr r3, [r3, #0] - 8002960: 430a orrs r2, r1 - 8002962: 655a str r2, [r3, #84] ; 0x54 + 8002a7c: 68fb ldr r3, [r7, #12] + 8002a7e: 681b ldr r3, [r3, #0] + 8002a80: 6d59 ldr r1, [r3, #84] ; 0x54 + 8002a82: 68bb ldr r3, [r7, #8] + 8002a84: 691b ldr r3, [r3, #16] + 8002a86: 021a lsls r2, r3, #8 + 8002a88: 68fb ldr r3, [r7, #12] + 8002a8a: 681b ldr r3, [r3, #0] + 8002a8c: 430a orrs r2, r1 + 8002a8e: 655a str r2, [r3, #84] ; 0x54 break; - 8002964: e000 b.n 8002968 + 8002a90: e000 b.n 8002a94 } default: break; - 8002966: bf00 nop + 8002a92: bf00 nop } htim->State = HAL_TIM_STATE_READY; - 8002968: 68fb ldr r3, [r7, #12] - 800296a: 2201 movs r2, #1 - 800296c: f883 203d strb.w r2, [r3, #61] ; 0x3d + 8002a94: 68fb ldr r3, [r7, #12] + 8002a96: 2201 movs r2, #1 + 8002a98: f883 203d strb.w r2, [r3, #61] ; 0x3d __HAL_UNLOCK(htim); - 8002970: 68fb ldr r3, [r7, #12] - 8002972: 2200 movs r2, #0 - 8002974: f883 203c strb.w r2, [r3, #60] ; 0x3c + 8002a9c: 68fb ldr r3, [r7, #12] + 8002a9e: 2200 movs r2, #0 + 8002aa0: f883 203c strb.w r2, [r3, #60] ; 0x3c return HAL_OK; - 8002978: 2300 movs r3, #0 + 8002aa4: 2300 movs r3, #0 } - 800297a: 4618 mov r0, r3 - 800297c: 3710 adds r7, #16 - 800297e: 46bd mov sp, r7 - 8002980: bd80 pop {r7, pc} - 8002982: bf00 nop + 8002aa6: 4618 mov r0, r3 + 8002aa8: 3710 adds r7, #16 + 8002aaa: 46bd mov sp, r7 + 8002aac: bd80 pop {r7, pc} + 8002aae: bf00 nop -08002984 : +08002ab0 : * @param sClockSourceConfig pointer to a TIM_ClockConfigTypeDef structure that * contains the clock source information for the TIM peripheral. * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_ConfigClockSource(TIM_HandleTypeDef *htim, TIM_ClockConfigTypeDef *sClockSourceConfig) { - 8002984: b580 push {r7, lr} - 8002986: b084 sub sp, #16 - 8002988: af00 add r7, sp, #0 - 800298a: 6078 str r0, [r7, #4] - 800298c: 6039 str r1, [r7, #0] + 8002ab0: b580 push {r7, lr} + 8002ab2: b084 sub sp, #16 + 8002ab4: af00 add r7, sp, #0 + 8002ab6: 6078 str r0, [r7, #4] + 8002ab8: 6039 str r1, [r7, #0] uint32_t tmpsmcr; /* Process Locked */ __HAL_LOCK(htim); - 800298e: 687b ldr r3, [r7, #4] - 8002990: f893 303c ldrb.w r3, [r3, #60] ; 0x3c - 8002994: 2b01 cmp r3, #1 - 8002996: d101 bne.n 800299c - 8002998: 2302 movs r3, #2 - 800299a: e0a6 b.n 8002aea - 800299c: 687b ldr r3, [r7, #4] - 800299e: 2201 movs r2, #1 - 80029a0: f883 203c strb.w r2, [r3, #60] ; 0x3c + 8002aba: 687b ldr r3, [r7, #4] + 8002abc: f893 303c ldrb.w r3, [r3, #60] ; 0x3c + 8002ac0: 2b01 cmp r3, #1 + 8002ac2: d101 bne.n 8002ac8 + 8002ac4: 2302 movs r3, #2 + 8002ac6: e0a6 b.n 8002c16 + 8002ac8: 687b ldr r3, [r7, #4] + 8002aca: 2201 movs r2, #1 + 8002acc: f883 203c strb.w r2, [r3, #60] ; 0x3c htim->State = HAL_TIM_STATE_BUSY; - 80029a4: 687b ldr r3, [r7, #4] - 80029a6: 2202 movs r2, #2 - 80029a8: f883 203d strb.w r2, [r3, #61] ; 0x3d + 8002ad0: 687b ldr r3, [r7, #4] + 8002ad2: 2202 movs r2, #2 + 8002ad4: f883 203d strb.w r2, [r3, #61] ; 0x3d /* Check the parameters */ assert_param(IS_TIM_CLOCKSOURCE(sClockSourceConfig->ClockSource)); /* Reset the SMS, TS, ECE, ETPS and ETRF bits */ tmpsmcr = htim->Instance->SMCR; - 80029ac: 687b ldr r3, [r7, #4] - 80029ae: 681b ldr r3, [r3, #0] - 80029b0: 689b ldr r3, [r3, #8] - 80029b2: 60fb str r3, [r7, #12] + 8002ad8: 687b ldr r3, [r7, #4] + 8002ada: 681b ldr r3, [r3, #0] + 8002adc: 689b ldr r3, [r3, #8] + 8002ade: 60fb str r3, [r7, #12] tmpsmcr &= ~(TIM_SMCR_SMS | TIM_SMCR_TS); - 80029b4: 68fa ldr r2, [r7, #12] - 80029b6: 4b4f ldr r3, [pc, #316] ; (8002af4 ) - 80029b8: 4013 ands r3, r2 - 80029ba: 60fb str r3, [r7, #12] + 8002ae0: 68fa ldr r2, [r7, #12] + 8002ae2: 4b4f ldr r3, [pc, #316] ; (8002c20 ) + 8002ae4: 4013 ands r3, r2 + 8002ae6: 60fb str r3, [r7, #12] tmpsmcr &= ~(TIM_SMCR_ETF | TIM_SMCR_ETPS | TIM_SMCR_ECE | TIM_SMCR_ETP); - 80029bc: 68fb ldr r3, [r7, #12] - 80029be: f423 437f bic.w r3, r3, #65280 ; 0xff00 - 80029c2: 60fb str r3, [r7, #12] + 8002ae8: 68fb ldr r3, [r7, #12] + 8002aea: f423 437f bic.w r3, r3, #65280 ; 0xff00 + 8002aee: 60fb str r3, [r7, #12] htim->Instance->SMCR = tmpsmcr; - 80029c4: 687b ldr r3, [r7, #4] - 80029c6: 681b ldr r3, [r3, #0] - 80029c8: 68fa ldr r2, [r7, #12] - 80029ca: 609a str r2, [r3, #8] + 8002af0: 687b ldr r3, [r7, #4] + 8002af2: 681b ldr r3, [r3, #0] + 8002af4: 68fa ldr r2, [r7, #12] + 8002af6: 609a str r2, [r3, #8] switch (sClockSourceConfig->ClockSource) - 80029cc: 683b ldr r3, [r7, #0] - 80029ce: 681b ldr r3, [r3, #0] - 80029d0: 2b40 cmp r3, #64 ; 0x40 - 80029d2: d067 beq.n 8002aa4 - 80029d4: 2b40 cmp r3, #64 ; 0x40 - 80029d6: d80b bhi.n 80029f0 - 80029d8: 2b10 cmp r3, #16 - 80029da: d073 beq.n 8002ac4 - 80029dc: 2b10 cmp r3, #16 - 80029de: d802 bhi.n 80029e6 - 80029e0: 2b00 cmp r3, #0 - 80029e2: d06f beq.n 8002ac4 + 8002af8: 683b ldr r3, [r7, #0] + 8002afa: 681b ldr r3, [r3, #0] + 8002afc: 2b40 cmp r3, #64 ; 0x40 + 8002afe: d067 beq.n 8002bd0 + 8002b00: 2b40 cmp r3, #64 ; 0x40 + 8002b02: d80b bhi.n 8002b1c + 8002b04: 2b10 cmp r3, #16 + 8002b06: d073 beq.n 8002bf0 + 8002b08: 2b10 cmp r3, #16 + 8002b0a: d802 bhi.n 8002b12 + 8002b0c: 2b00 cmp r3, #0 + 8002b0e: d06f beq.n 8002bf0 TIM_ITRx_SetConfig(htim->Instance, sClockSourceConfig->ClockSource); break; } default: break; - 80029e4: e078 b.n 8002ad8 + 8002b10: e078 b.n 8002c04 switch (sClockSourceConfig->ClockSource) - 80029e6: 2b20 cmp r3, #32 - 80029e8: d06c beq.n 8002ac4 - 80029ea: 2b30 cmp r3, #48 ; 0x30 - 80029ec: d06a beq.n 8002ac4 + 8002b12: 2b20 cmp r3, #32 + 8002b14: d06c beq.n 8002bf0 + 8002b16: 2b30 cmp r3, #48 ; 0x30 + 8002b18: d06a beq.n 8002bf0 break; - 80029ee: e073 b.n 8002ad8 + 8002b1a: e073 b.n 8002c04 switch (sClockSourceConfig->ClockSource) - 80029f0: 2b70 cmp r3, #112 ; 0x70 - 80029f2: d00d beq.n 8002a10 - 80029f4: 2b70 cmp r3, #112 ; 0x70 - 80029f6: d804 bhi.n 8002a02 - 80029f8: 2b50 cmp r3, #80 ; 0x50 - 80029fa: d033 beq.n 8002a64 - 80029fc: 2b60 cmp r3, #96 ; 0x60 - 80029fe: d041 beq.n 8002a84 + 8002b1c: 2b70 cmp r3, #112 ; 0x70 + 8002b1e: d00d beq.n 8002b3c + 8002b20: 2b70 cmp r3, #112 ; 0x70 + 8002b22: d804 bhi.n 8002b2e + 8002b24: 2b50 cmp r3, #80 ; 0x50 + 8002b26: d033 beq.n 8002b90 + 8002b28: 2b60 cmp r3, #96 ; 0x60 + 8002b2a: d041 beq.n 8002bb0 break; - 8002a00: e06a b.n 8002ad8 + 8002b2c: e06a b.n 8002c04 switch (sClockSourceConfig->ClockSource) - 8002a02: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 - 8002a06: d066 beq.n 8002ad6 - 8002a08: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 - 8002a0c: d017 beq.n 8002a3e + 8002b2e: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 + 8002b32: d066 beq.n 8002c02 + 8002b34: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 + 8002b38: d017 beq.n 8002b6a break; - 8002a0e: e063 b.n 8002ad8 + 8002b3a: e063 b.n 8002c04 TIM_ETR_SetConfig(htim->Instance, - 8002a10: 687b ldr r3, [r7, #4] - 8002a12: 6818 ldr r0, [r3, #0] - 8002a14: 683b ldr r3, [r7, #0] - 8002a16: 6899 ldr r1, [r3, #8] - 8002a18: 683b ldr r3, [r7, #0] - 8002a1a: 685a ldr r2, [r3, #4] - 8002a1c: 683b ldr r3, [r7, #0] - 8002a1e: 68db ldr r3, [r3, #12] - 8002a20: f000 fc0a bl 8003238 + 8002b3c: 687b ldr r3, [r7, #4] + 8002b3e: 6818 ldr r0, [r3, #0] + 8002b40: 683b ldr r3, [r7, #0] + 8002b42: 6899 ldr r1, [r3, #8] + 8002b44: 683b ldr r3, [r7, #0] + 8002b46: 685a ldr r2, [r3, #4] + 8002b48: 683b ldr r3, [r7, #0] + 8002b4a: 68db ldr r3, [r3, #12] + 8002b4c: f000 fc0a bl 8003364 tmpsmcr = htim->Instance->SMCR; - 8002a24: 687b ldr r3, [r7, #4] - 8002a26: 681b ldr r3, [r3, #0] - 8002a28: 689b ldr r3, [r3, #8] - 8002a2a: 60fb str r3, [r7, #12] + 8002b50: 687b ldr r3, [r7, #4] + 8002b52: 681b ldr r3, [r3, #0] + 8002b54: 689b ldr r3, [r3, #8] + 8002b56: 60fb str r3, [r7, #12] tmpsmcr |= (TIM_SLAVEMODE_EXTERNAL1 | TIM_CLOCKSOURCE_ETRMODE1); - 8002a2c: 68fb ldr r3, [r7, #12] - 8002a2e: f043 0377 orr.w r3, r3, #119 ; 0x77 - 8002a32: 60fb str r3, [r7, #12] + 8002b58: 68fb ldr r3, [r7, #12] + 8002b5a: f043 0377 orr.w r3, r3, #119 ; 0x77 + 8002b5e: 60fb str r3, [r7, #12] htim->Instance->SMCR = tmpsmcr; - 8002a34: 687b ldr r3, [r7, #4] - 8002a36: 681b ldr r3, [r3, #0] - 8002a38: 68fa ldr r2, [r7, #12] - 8002a3a: 609a str r2, [r3, #8] + 8002b60: 687b ldr r3, [r7, #4] + 8002b62: 681b ldr r3, [r3, #0] + 8002b64: 68fa ldr r2, [r7, #12] + 8002b66: 609a str r2, [r3, #8] break; - 8002a3c: e04c b.n 8002ad8 + 8002b68: e04c b.n 8002c04 TIM_ETR_SetConfig(htim->Instance, - 8002a3e: 687b ldr r3, [r7, #4] - 8002a40: 6818 ldr r0, [r3, #0] - 8002a42: 683b ldr r3, [r7, #0] - 8002a44: 6899 ldr r1, [r3, #8] - 8002a46: 683b ldr r3, [r7, #0] - 8002a48: 685a ldr r2, [r3, #4] - 8002a4a: 683b ldr r3, [r7, #0] - 8002a4c: 68db ldr r3, [r3, #12] - 8002a4e: f000 fbf3 bl 8003238 + 8002b6a: 687b ldr r3, [r7, #4] + 8002b6c: 6818 ldr r0, [r3, #0] + 8002b6e: 683b ldr r3, [r7, #0] + 8002b70: 6899 ldr r1, [r3, #8] + 8002b72: 683b ldr r3, [r7, #0] + 8002b74: 685a ldr r2, [r3, #4] + 8002b76: 683b ldr r3, [r7, #0] + 8002b78: 68db ldr r3, [r3, #12] + 8002b7a: f000 fbf3 bl 8003364 htim->Instance->SMCR |= TIM_SMCR_ECE; - 8002a52: 687b ldr r3, [r7, #4] - 8002a54: 681b ldr r3, [r3, #0] - 8002a56: 689a ldr r2, [r3, #8] - 8002a58: 687b ldr r3, [r7, #4] - 8002a5a: 681b ldr r3, [r3, #0] - 8002a5c: f442 4280 orr.w r2, r2, #16384 ; 0x4000 - 8002a60: 609a str r2, [r3, #8] + 8002b7e: 687b ldr r3, [r7, #4] + 8002b80: 681b ldr r3, [r3, #0] + 8002b82: 689a ldr r2, [r3, #8] + 8002b84: 687b ldr r3, [r7, #4] + 8002b86: 681b ldr r3, [r3, #0] + 8002b88: f442 4280 orr.w r2, r2, #16384 ; 0x4000 + 8002b8c: 609a str r2, [r3, #8] break; - 8002a62: e039 b.n 8002ad8 + 8002b8e: e039 b.n 8002c04 TIM_TI1_ConfigInputStage(htim->Instance, - 8002a64: 687b ldr r3, [r7, #4] - 8002a66: 6818 ldr r0, [r3, #0] - 8002a68: 683b ldr r3, [r7, #0] - 8002a6a: 6859 ldr r1, [r3, #4] - 8002a6c: 683b ldr r3, [r7, #0] - 8002a6e: 68db ldr r3, [r3, #12] - 8002a70: 461a mov r2, r3 - 8002a72: f000 fb67 bl 8003144 + 8002b90: 687b ldr r3, [r7, #4] + 8002b92: 6818 ldr r0, [r3, #0] + 8002b94: 683b ldr r3, [r7, #0] + 8002b96: 6859 ldr r1, [r3, #4] + 8002b98: 683b ldr r3, [r7, #0] + 8002b9a: 68db ldr r3, [r3, #12] + 8002b9c: 461a mov r2, r3 + 8002b9e: f000 fb67 bl 8003270 TIM_ITRx_SetConfig(htim->Instance, TIM_CLOCKSOURCE_TI1); - 8002a76: 687b ldr r3, [r7, #4] - 8002a78: 681b ldr r3, [r3, #0] - 8002a7a: 2150 movs r1, #80 ; 0x50 - 8002a7c: 4618 mov r0, r3 - 8002a7e: f000 fbc0 bl 8003202 + 8002ba2: 687b ldr r3, [r7, #4] + 8002ba4: 681b ldr r3, [r3, #0] + 8002ba6: 2150 movs r1, #80 ; 0x50 + 8002ba8: 4618 mov r0, r3 + 8002baa: f000 fbc0 bl 800332e break; - 8002a82: e029 b.n 8002ad8 + 8002bae: e029 b.n 8002c04 TIM_TI2_ConfigInputStage(htim->Instance, - 8002a84: 687b ldr r3, [r7, #4] - 8002a86: 6818 ldr r0, [r3, #0] - 8002a88: 683b ldr r3, [r7, #0] - 8002a8a: 6859 ldr r1, [r3, #4] - 8002a8c: 683b ldr r3, [r7, #0] - 8002a8e: 68db ldr r3, [r3, #12] - 8002a90: 461a mov r2, r3 - 8002a92: f000 fb86 bl 80031a2 + 8002bb0: 687b ldr r3, [r7, #4] + 8002bb2: 6818 ldr r0, [r3, #0] + 8002bb4: 683b ldr r3, [r7, #0] + 8002bb6: 6859 ldr r1, [r3, #4] + 8002bb8: 683b ldr r3, [r7, #0] + 8002bba: 68db ldr r3, [r3, #12] + 8002bbc: 461a mov r2, r3 + 8002bbe: f000 fb86 bl 80032ce TIM_ITRx_SetConfig(htim->Instance, TIM_CLOCKSOURCE_TI2); - 8002a96: 687b ldr r3, [r7, #4] - 8002a98: 681b ldr r3, [r3, #0] - 8002a9a: 2160 movs r1, #96 ; 0x60 - 8002a9c: 4618 mov r0, r3 - 8002a9e: f000 fbb0 bl 8003202 + 8002bc2: 687b ldr r3, [r7, #4] + 8002bc4: 681b ldr r3, [r3, #0] + 8002bc6: 2160 movs r1, #96 ; 0x60 + 8002bc8: 4618 mov r0, r3 + 8002bca: f000 fbb0 bl 800332e break; - 8002aa2: e019 b.n 8002ad8 + 8002bce: e019 b.n 8002c04 TIM_TI1_ConfigInputStage(htim->Instance, - 8002aa4: 687b ldr r3, [r7, #4] - 8002aa6: 6818 ldr r0, [r3, #0] - 8002aa8: 683b ldr r3, [r7, #0] - 8002aaa: 6859 ldr r1, [r3, #4] - 8002aac: 683b ldr r3, [r7, #0] - 8002aae: 68db ldr r3, [r3, #12] - 8002ab0: 461a mov r2, r3 - 8002ab2: f000 fb47 bl 8003144 + 8002bd0: 687b ldr r3, [r7, #4] + 8002bd2: 6818 ldr r0, [r3, #0] + 8002bd4: 683b ldr r3, [r7, #0] + 8002bd6: 6859 ldr r1, [r3, #4] + 8002bd8: 683b ldr r3, [r7, #0] + 8002bda: 68db ldr r3, [r3, #12] + 8002bdc: 461a mov r2, r3 + 8002bde: f000 fb47 bl 8003270 TIM_ITRx_SetConfig(htim->Instance, TIM_CLOCKSOURCE_TI1ED); - 8002ab6: 687b ldr r3, [r7, #4] - 8002ab8: 681b ldr r3, [r3, #0] - 8002aba: 2140 movs r1, #64 ; 0x40 - 8002abc: 4618 mov r0, r3 - 8002abe: f000 fba0 bl 8003202 + 8002be2: 687b ldr r3, [r7, #4] + 8002be4: 681b ldr r3, [r3, #0] + 8002be6: 2140 movs r1, #64 ; 0x40 + 8002be8: 4618 mov r0, r3 + 8002bea: f000 fba0 bl 800332e break; - 8002ac2: e009 b.n 8002ad8 + 8002bee: e009 b.n 8002c04 TIM_ITRx_SetConfig(htim->Instance, sClockSourceConfig->ClockSource); - 8002ac4: 687b ldr r3, [r7, #4] - 8002ac6: 681a ldr r2, [r3, #0] - 8002ac8: 683b ldr r3, [r7, #0] - 8002aca: 681b ldr r3, [r3, #0] - 8002acc: 4619 mov r1, r3 - 8002ace: 4610 mov r0, r2 - 8002ad0: f000 fb97 bl 8003202 + 8002bf0: 687b ldr r3, [r7, #4] + 8002bf2: 681a ldr r2, [r3, #0] + 8002bf4: 683b ldr r3, [r7, #0] + 8002bf6: 681b ldr r3, [r3, #0] + 8002bf8: 4619 mov r1, r3 + 8002bfa: 4610 mov r0, r2 + 8002bfc: f000 fb97 bl 800332e break; - 8002ad4: e000 b.n 8002ad8 + 8002c00: e000 b.n 8002c04 break; - 8002ad6: bf00 nop + 8002c02: bf00 nop } htim->State = HAL_TIM_STATE_READY; - 8002ad8: 687b ldr r3, [r7, #4] - 8002ada: 2201 movs r2, #1 - 8002adc: f883 203d strb.w r2, [r3, #61] ; 0x3d + 8002c04: 687b ldr r3, [r7, #4] + 8002c06: 2201 movs r2, #1 + 8002c08: f883 203d strb.w r2, [r3, #61] ; 0x3d __HAL_UNLOCK(htim); - 8002ae0: 687b ldr r3, [r7, #4] - 8002ae2: 2200 movs r2, #0 - 8002ae4: f883 203c strb.w r2, [r3, #60] ; 0x3c + 8002c0c: 687b ldr r3, [r7, #4] + 8002c0e: 2200 movs r2, #0 + 8002c10: f883 203c strb.w r2, [r3, #60] ; 0x3c return HAL_OK; - 8002ae8: 2300 movs r3, #0 + 8002c14: 2300 movs r3, #0 } - 8002aea: 4618 mov r0, r3 - 8002aec: 3710 adds r7, #16 - 8002aee: 46bd mov sp, r7 - 8002af0: bd80 pop {r7, pc} - 8002af2: bf00 nop - 8002af4: fffeff88 .word 0xfffeff88 - -08002af8 : + 8002c16: 4618 mov r0, r3 + 8002c18: 3710 adds r7, #16 + 8002c1a: 46bd mov sp, r7 + 8002c1c: bd80 pop {r7, pc} + 8002c1e: bf00 nop + 8002c20: fffeff88 .word 0xfffeff88 + +08002c24 : * @brief Output Compare callback in non-blocking mode * @param htim TIM OC handle * @retval None */ __weak void HAL_TIM_OC_DelayElapsedCallback(TIM_HandleTypeDef *htim) { - 8002af8: b480 push {r7} - 8002afa: b083 sub sp, #12 - 8002afc: af00 add r7, sp, #0 - 8002afe: 6078 str r0, [r7, #4] + 8002c24: b480 push {r7} + 8002c26: b083 sub sp, #12 + 8002c28: af00 add r7, sp, #0 + 8002c2a: 6078 str r0, [r7, #4] UNUSED(htim); /* NOTE : This function should not be modified, when the callback is needed, the HAL_TIM_OC_DelayElapsedCallback could be implemented in the user file */ } - 8002b00: bf00 nop - 8002b02: 370c adds r7, #12 - 8002b04: 46bd mov sp, r7 - 8002b06: f85d 7b04 ldr.w r7, [sp], #4 - 8002b0a: 4770 bx lr + 8002c2c: bf00 nop + 8002c2e: 370c adds r7, #12 + 8002c30: 46bd mov sp, r7 + 8002c32: f85d 7b04 ldr.w r7, [sp], #4 + 8002c36: 4770 bx lr -08002b0c : +08002c38 : * @brief Input Capture callback in non-blocking mode * @param htim TIM IC handle * @retval None */ __weak void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim) { - 8002b0c: b480 push {r7} - 8002b0e: b083 sub sp, #12 - 8002b10: af00 add r7, sp, #0 - 8002b12: 6078 str r0, [r7, #4] + 8002c38: b480 push {r7} + 8002c3a: b083 sub sp, #12 + 8002c3c: af00 add r7, sp, #0 + 8002c3e: 6078 str r0, [r7, #4] UNUSED(htim); /* NOTE : This function should not be modified, when the callback is needed, the HAL_TIM_IC_CaptureCallback could be implemented in the user file */ } - 8002b14: bf00 nop - 8002b16: 370c adds r7, #12 - 8002b18: 46bd mov sp, r7 - 8002b1a: f85d 7b04 ldr.w r7, [sp], #4 - 8002b1e: 4770 bx lr + 8002c40: bf00 nop + 8002c42: 370c adds r7, #12 + 8002c44: 46bd mov sp, r7 + 8002c46: f85d 7b04 ldr.w r7, [sp], #4 + 8002c4a: 4770 bx lr -08002b20 : +08002c4c : * @brief PWM Pulse finished callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim) { - 8002b20: b480 push {r7} - 8002b22: b083 sub sp, #12 - 8002b24: af00 add r7, sp, #0 - 8002b26: 6078 str r0, [r7, #4] + 8002c4c: b480 push {r7} + 8002c4e: b083 sub sp, #12 + 8002c50: af00 add r7, sp, #0 + 8002c52: 6078 str r0, [r7, #4] UNUSED(htim); /* NOTE : This function should not be modified, when the callback is needed, the HAL_TIM_PWM_PulseFinishedCallback could be implemented in the user file */ } - 8002b28: bf00 nop - 8002b2a: 370c adds r7, #12 - 8002b2c: 46bd mov sp, r7 - 8002b2e: f85d 7b04 ldr.w r7, [sp], #4 - 8002b32: 4770 bx lr + 8002c54: bf00 nop + 8002c56: 370c adds r7, #12 + 8002c58: 46bd mov sp, r7 + 8002c5a: f85d 7b04 ldr.w r7, [sp], #4 + 8002c5e: 4770 bx lr -08002b34 : +08002c60 : * @brief Hall Trigger detection callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIM_TriggerCallback(TIM_HandleTypeDef *htim) { - 8002b34: b480 push {r7} - 8002b36: b083 sub sp, #12 - 8002b38: af00 add r7, sp, #0 - 8002b3a: 6078 str r0, [r7, #4] + 8002c60: b480 push {r7} + 8002c62: b083 sub sp, #12 + 8002c64: af00 add r7, sp, #0 + 8002c66: 6078 str r0, [r7, #4] UNUSED(htim); /* NOTE : This function should not be modified, when the callback is needed, the HAL_TIM_TriggerCallback could be implemented in the user file */ } - 8002b3c: bf00 nop - 8002b3e: 370c adds r7, #12 - 8002b40: 46bd mov sp, r7 - 8002b42: f85d 7b04 ldr.w r7, [sp], #4 - 8002b46: 4770 bx lr + 8002c68: bf00 nop + 8002c6a: 370c adds r7, #12 + 8002c6c: 46bd mov sp, r7 + 8002c6e: f85d 7b04 ldr.w r7, [sp], #4 + 8002c72: 4770 bx lr -08002b48 : +08002c74 : * @param TIMx TIM peripheral * @param Structure TIM Base configuration structure * @retval None */ void TIM_Base_SetConfig(TIM_TypeDef *TIMx, TIM_Base_InitTypeDef *Structure) { - 8002b48: b480 push {r7} - 8002b4a: b085 sub sp, #20 - 8002b4c: af00 add r7, sp, #0 - 8002b4e: 6078 str r0, [r7, #4] - 8002b50: 6039 str r1, [r7, #0] + 8002c74: b480 push {r7} + 8002c76: b085 sub sp, #20 + 8002c78: af00 add r7, sp, #0 + 8002c7a: 6078 str r0, [r7, #4] + 8002c7c: 6039 str r1, [r7, #0] uint32_t tmpcr1; tmpcr1 = TIMx->CR1; - 8002b52: 687b ldr r3, [r7, #4] - 8002b54: 681b ldr r3, [r3, #0] - 8002b56: 60fb str r3, [r7, #12] + 8002c7e: 687b ldr r3, [r7, #4] + 8002c80: 681b ldr r3, [r3, #0] + 8002c82: 60fb str r3, [r7, #12] /* Set TIM Time Base Unit parameters ---------------------------------------*/ if (IS_TIM_COUNTER_MODE_SELECT_INSTANCE(TIMx)) - 8002b58: 687b ldr r3, [r7, #4] - 8002b5a: 4a40 ldr r2, [pc, #256] ; (8002c5c ) - 8002b5c: 4293 cmp r3, r2 - 8002b5e: d013 beq.n 8002b88 - 8002b60: 687b ldr r3, [r7, #4] - 8002b62: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 - 8002b66: d00f beq.n 8002b88 - 8002b68: 687b ldr r3, [r7, #4] - 8002b6a: 4a3d ldr r2, [pc, #244] ; (8002c60 ) - 8002b6c: 4293 cmp r3, r2 - 8002b6e: d00b beq.n 8002b88 - 8002b70: 687b ldr r3, [r7, #4] - 8002b72: 4a3c ldr r2, [pc, #240] ; (8002c64 ) - 8002b74: 4293 cmp r3, r2 - 8002b76: d007 beq.n 8002b88 - 8002b78: 687b ldr r3, [r7, #4] - 8002b7a: 4a3b ldr r2, [pc, #236] ; (8002c68 ) - 8002b7c: 4293 cmp r3, r2 - 8002b7e: d003 beq.n 8002b88 - 8002b80: 687b ldr r3, [r7, #4] - 8002b82: 4a3a ldr r2, [pc, #232] ; (8002c6c ) - 8002b84: 4293 cmp r3, r2 - 8002b86: d108 bne.n 8002b9a + 8002c84: 687b ldr r3, [r7, #4] + 8002c86: 4a40 ldr r2, [pc, #256] ; (8002d88 ) + 8002c88: 4293 cmp r3, r2 + 8002c8a: d013 beq.n 8002cb4 + 8002c8c: 687b ldr r3, [r7, #4] + 8002c8e: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 + 8002c92: d00f beq.n 8002cb4 + 8002c94: 687b ldr r3, [r7, #4] + 8002c96: 4a3d ldr r2, [pc, #244] ; (8002d8c ) + 8002c98: 4293 cmp r3, r2 + 8002c9a: d00b beq.n 8002cb4 + 8002c9c: 687b ldr r3, [r7, #4] + 8002c9e: 4a3c ldr r2, [pc, #240] ; (8002d90 ) + 8002ca0: 4293 cmp r3, r2 + 8002ca2: d007 beq.n 8002cb4 + 8002ca4: 687b ldr r3, [r7, #4] + 8002ca6: 4a3b ldr r2, [pc, #236] ; (8002d94 ) + 8002ca8: 4293 cmp r3, r2 + 8002caa: d003 beq.n 8002cb4 + 8002cac: 687b ldr r3, [r7, #4] + 8002cae: 4a3a ldr r2, [pc, #232] ; (8002d98 ) + 8002cb0: 4293 cmp r3, r2 + 8002cb2: d108 bne.n 8002cc6 { /* Select the Counter Mode */ tmpcr1 &= ~(TIM_CR1_DIR | TIM_CR1_CMS); - 8002b88: 68fb ldr r3, [r7, #12] - 8002b8a: f023 0370 bic.w r3, r3, #112 ; 0x70 - 8002b8e: 60fb str r3, [r7, #12] + 8002cb4: 68fb ldr r3, [r7, #12] + 8002cb6: f023 0370 bic.w r3, r3, #112 ; 0x70 + 8002cba: 60fb str r3, [r7, #12] tmpcr1 |= Structure->CounterMode; - 8002b90: 683b ldr r3, [r7, #0] - 8002b92: 685b ldr r3, [r3, #4] - 8002b94: 68fa ldr r2, [r7, #12] - 8002b96: 4313 orrs r3, r2 - 8002b98: 60fb str r3, [r7, #12] + 8002cbc: 683b ldr r3, [r7, #0] + 8002cbe: 685b ldr r3, [r3, #4] + 8002cc0: 68fa ldr r2, [r7, #12] + 8002cc2: 4313 orrs r3, r2 + 8002cc4: 60fb str r3, [r7, #12] } if (IS_TIM_CLOCK_DIVISION_INSTANCE(TIMx)) - 8002b9a: 687b ldr r3, [r7, #4] - 8002b9c: 4a2f ldr r2, [pc, #188] ; (8002c5c ) - 8002b9e: 4293 cmp r3, r2 - 8002ba0: d02b beq.n 8002bfa - 8002ba2: 687b ldr r3, [r7, #4] - 8002ba4: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 - 8002ba8: d027 beq.n 8002bfa - 8002baa: 687b ldr r3, [r7, #4] - 8002bac: 4a2c ldr r2, [pc, #176] ; (8002c60 ) - 8002bae: 4293 cmp r3, r2 - 8002bb0: d023 beq.n 8002bfa - 8002bb2: 687b ldr r3, [r7, #4] - 8002bb4: 4a2b ldr r2, [pc, #172] ; (8002c64 ) - 8002bb6: 4293 cmp r3, r2 - 8002bb8: d01f beq.n 8002bfa - 8002bba: 687b ldr r3, [r7, #4] - 8002bbc: 4a2a ldr r2, [pc, #168] ; (8002c68 ) - 8002bbe: 4293 cmp r3, r2 - 8002bc0: d01b beq.n 8002bfa - 8002bc2: 687b ldr r3, [r7, #4] - 8002bc4: 4a29 ldr r2, [pc, #164] ; (8002c6c ) - 8002bc6: 4293 cmp r3, r2 - 8002bc8: d017 beq.n 8002bfa - 8002bca: 687b ldr r3, [r7, #4] - 8002bcc: 4a28 ldr r2, [pc, #160] ; (8002c70 ) - 8002bce: 4293 cmp r3, r2 - 8002bd0: d013 beq.n 8002bfa - 8002bd2: 687b ldr r3, [r7, #4] - 8002bd4: 4a27 ldr r2, [pc, #156] ; (8002c74 ) - 8002bd6: 4293 cmp r3, r2 - 8002bd8: d00f beq.n 8002bfa - 8002bda: 687b ldr r3, [r7, #4] - 8002bdc: 4a26 ldr r2, [pc, #152] ; (8002c78 ) - 8002bde: 4293 cmp r3, r2 - 8002be0: d00b beq.n 8002bfa - 8002be2: 687b ldr r3, [r7, #4] - 8002be4: 4a25 ldr r2, [pc, #148] ; (8002c7c ) - 8002be6: 4293 cmp r3, r2 - 8002be8: d007 beq.n 8002bfa - 8002bea: 687b ldr r3, [r7, #4] - 8002bec: 4a24 ldr r2, [pc, #144] ; (8002c80 ) - 8002bee: 4293 cmp r3, r2 - 8002bf0: d003 beq.n 8002bfa - 8002bf2: 687b ldr r3, [r7, #4] - 8002bf4: 4a23 ldr r2, [pc, #140] ; (8002c84 ) - 8002bf6: 4293 cmp r3, r2 - 8002bf8: d108 bne.n 8002c0c + 8002cc6: 687b ldr r3, [r7, #4] + 8002cc8: 4a2f ldr r2, [pc, #188] ; (8002d88 ) + 8002cca: 4293 cmp r3, r2 + 8002ccc: d02b beq.n 8002d26 + 8002cce: 687b ldr r3, [r7, #4] + 8002cd0: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 + 8002cd4: d027 beq.n 8002d26 + 8002cd6: 687b ldr r3, [r7, #4] + 8002cd8: 4a2c ldr r2, [pc, #176] ; (8002d8c ) + 8002cda: 4293 cmp r3, r2 + 8002cdc: d023 beq.n 8002d26 + 8002cde: 687b ldr r3, [r7, #4] + 8002ce0: 4a2b ldr r2, [pc, #172] ; (8002d90 ) + 8002ce2: 4293 cmp r3, r2 + 8002ce4: d01f beq.n 8002d26 + 8002ce6: 687b ldr r3, [r7, #4] + 8002ce8: 4a2a ldr r2, [pc, #168] ; (8002d94 ) + 8002cea: 4293 cmp r3, r2 + 8002cec: d01b beq.n 8002d26 + 8002cee: 687b ldr r3, [r7, #4] + 8002cf0: 4a29 ldr r2, [pc, #164] ; (8002d98 ) + 8002cf2: 4293 cmp r3, r2 + 8002cf4: d017 beq.n 8002d26 + 8002cf6: 687b ldr r3, [r7, #4] + 8002cf8: 4a28 ldr r2, [pc, #160] ; (8002d9c ) + 8002cfa: 4293 cmp r3, r2 + 8002cfc: d013 beq.n 8002d26 + 8002cfe: 687b ldr r3, [r7, #4] + 8002d00: 4a27 ldr r2, [pc, #156] ; (8002da0 ) + 8002d02: 4293 cmp r3, r2 + 8002d04: d00f beq.n 8002d26 + 8002d06: 687b ldr r3, [r7, #4] + 8002d08: 4a26 ldr r2, [pc, #152] ; (8002da4 ) + 8002d0a: 4293 cmp r3, r2 + 8002d0c: d00b beq.n 8002d26 + 8002d0e: 687b ldr r3, [r7, #4] + 8002d10: 4a25 ldr r2, [pc, #148] ; (8002da8 ) + 8002d12: 4293 cmp r3, r2 + 8002d14: d007 beq.n 8002d26 + 8002d16: 687b ldr r3, [r7, #4] + 8002d18: 4a24 ldr r2, [pc, #144] ; (8002dac ) + 8002d1a: 4293 cmp r3, r2 + 8002d1c: d003 beq.n 8002d26 + 8002d1e: 687b ldr r3, [r7, #4] + 8002d20: 4a23 ldr r2, [pc, #140] ; (8002db0 ) + 8002d22: 4293 cmp r3, r2 + 8002d24: d108 bne.n 8002d38 { /* Set the clock division */ tmpcr1 &= ~TIM_CR1_CKD; - 8002bfa: 68fb ldr r3, [r7, #12] - 8002bfc: f423 7340 bic.w r3, r3, #768 ; 0x300 - 8002c00: 60fb str r3, [r7, #12] + 8002d26: 68fb ldr r3, [r7, #12] + 8002d28: f423 7340 bic.w r3, r3, #768 ; 0x300 + 8002d2c: 60fb str r3, [r7, #12] tmpcr1 |= (uint32_t)Structure->ClockDivision; - 8002c02: 683b ldr r3, [r7, #0] - 8002c04: 68db ldr r3, [r3, #12] - 8002c06: 68fa ldr r2, [r7, #12] - 8002c08: 4313 orrs r3, r2 - 8002c0a: 60fb str r3, [r7, #12] + 8002d2e: 683b ldr r3, [r7, #0] + 8002d30: 68db ldr r3, [r3, #12] + 8002d32: 68fa ldr r2, [r7, #12] + 8002d34: 4313 orrs r3, r2 + 8002d36: 60fb str r3, [r7, #12] } /* Set the auto-reload preload */ MODIFY_REG(tmpcr1, TIM_CR1_ARPE, Structure->AutoReloadPreload); - 8002c0c: 68fb ldr r3, [r7, #12] - 8002c0e: f023 0280 bic.w r2, r3, #128 ; 0x80 - 8002c12: 683b ldr r3, [r7, #0] - 8002c14: 695b ldr r3, [r3, #20] - 8002c16: 4313 orrs r3, r2 - 8002c18: 60fb str r3, [r7, #12] + 8002d38: 68fb ldr r3, [r7, #12] + 8002d3a: f023 0280 bic.w r2, r3, #128 ; 0x80 + 8002d3e: 683b ldr r3, [r7, #0] + 8002d40: 695b ldr r3, [r3, #20] + 8002d42: 4313 orrs r3, r2 + 8002d44: 60fb str r3, [r7, #12] TIMx->CR1 = tmpcr1; - 8002c1a: 687b ldr r3, [r7, #4] - 8002c1c: 68fa ldr r2, [r7, #12] - 8002c1e: 601a str r2, [r3, #0] + 8002d46: 687b ldr r3, [r7, #4] + 8002d48: 68fa ldr r2, [r7, #12] + 8002d4a: 601a str r2, [r3, #0] /* Set the Autoreload value */ TIMx->ARR = (uint32_t)Structure->Period ; - 8002c20: 683b ldr r3, [r7, #0] - 8002c22: 689a ldr r2, [r3, #8] - 8002c24: 687b ldr r3, [r7, #4] - 8002c26: 62da str r2, [r3, #44] ; 0x2c + 8002d4c: 683b ldr r3, [r7, #0] + 8002d4e: 689a ldr r2, [r3, #8] + 8002d50: 687b ldr r3, [r7, #4] + 8002d52: 62da str r2, [r3, #44] ; 0x2c /* Set the Prescaler value */ TIMx->PSC = Structure->Prescaler; - 8002c28: 683b ldr r3, [r7, #0] - 8002c2a: 681a ldr r2, [r3, #0] - 8002c2c: 687b ldr r3, [r7, #4] - 8002c2e: 629a str r2, [r3, #40] ; 0x28 + 8002d54: 683b ldr r3, [r7, #0] + 8002d56: 681a ldr r2, [r3, #0] + 8002d58: 687b ldr r3, [r7, #4] + 8002d5a: 629a str r2, [r3, #40] ; 0x28 if (IS_TIM_REPETITION_COUNTER_INSTANCE(TIMx)) - 8002c30: 687b ldr r3, [r7, #4] - 8002c32: 4a0a ldr r2, [pc, #40] ; (8002c5c ) - 8002c34: 4293 cmp r3, r2 - 8002c36: d003 beq.n 8002c40 - 8002c38: 687b ldr r3, [r7, #4] - 8002c3a: 4a0c ldr r2, [pc, #48] ; (8002c6c ) - 8002c3c: 4293 cmp r3, r2 - 8002c3e: d103 bne.n 8002c48 + 8002d5c: 687b ldr r3, [r7, #4] + 8002d5e: 4a0a ldr r2, [pc, #40] ; (8002d88 ) + 8002d60: 4293 cmp r3, r2 + 8002d62: d003 beq.n 8002d6c + 8002d64: 687b ldr r3, [r7, #4] + 8002d66: 4a0c ldr r2, [pc, #48] ; (8002d98 ) + 8002d68: 4293 cmp r3, r2 + 8002d6a: d103 bne.n 8002d74 { /* Set the Repetition Counter value */ TIMx->RCR = Structure->RepetitionCounter; - 8002c40: 683b ldr r3, [r7, #0] - 8002c42: 691a ldr r2, [r3, #16] - 8002c44: 687b ldr r3, [r7, #4] - 8002c46: 631a str r2, [r3, #48] ; 0x30 + 8002d6c: 683b ldr r3, [r7, #0] + 8002d6e: 691a ldr r2, [r3, #16] + 8002d70: 687b ldr r3, [r7, #4] + 8002d72: 631a str r2, [r3, #48] ; 0x30 } /* Generate an update event to reload the Prescaler and the repetition counter (only for advanced timer) value immediately */ TIMx->EGR = TIM_EGR_UG; - 8002c48: 687b ldr r3, [r7, #4] - 8002c4a: 2201 movs r2, #1 - 8002c4c: 615a str r2, [r3, #20] -} - 8002c4e: bf00 nop - 8002c50: 3714 adds r7, #20 - 8002c52: 46bd mov sp, r7 - 8002c54: f85d 7b04 ldr.w r7, [sp], #4 - 8002c58: 4770 bx lr - 8002c5a: bf00 nop - 8002c5c: 40010000 .word 0x40010000 - 8002c60: 40000400 .word 0x40000400 - 8002c64: 40000800 .word 0x40000800 - 8002c68: 40000c00 .word 0x40000c00 - 8002c6c: 40010400 .word 0x40010400 - 8002c70: 40014000 .word 0x40014000 - 8002c74: 40014400 .word 0x40014400 - 8002c78: 40014800 .word 0x40014800 - 8002c7c: 40001800 .word 0x40001800 - 8002c80: 40001c00 .word 0x40001c00 - 8002c84: 40002000 .word 0x40002000 - -08002c88 : + 8002d74: 687b ldr r3, [r7, #4] + 8002d76: 2201 movs r2, #1 + 8002d78: 615a str r2, [r3, #20] +} + 8002d7a: bf00 nop + 8002d7c: 3714 adds r7, #20 + 8002d7e: 46bd mov sp, r7 + 8002d80: f85d 7b04 ldr.w r7, [sp], #4 + 8002d84: 4770 bx lr + 8002d86: bf00 nop + 8002d88: 40010000 .word 0x40010000 + 8002d8c: 40000400 .word 0x40000400 + 8002d90: 40000800 .word 0x40000800 + 8002d94: 40000c00 .word 0x40000c00 + 8002d98: 40010400 .word 0x40010400 + 8002d9c: 40014000 .word 0x40014000 + 8002da0: 40014400 .word 0x40014400 + 8002da4: 40014800 .word 0x40014800 + 8002da8: 40001800 .word 0x40001800 + 8002dac: 40001c00 .word 0x40001c00 + 8002db0: 40002000 .word 0x40002000 + +08002db4 : * @param TIMx to select the TIM peripheral * @param OC_Config The ouput configuration structure * @retval None */ static void TIM_OC1_SetConfig(TIM_TypeDef *TIMx, TIM_OC_InitTypeDef *OC_Config) { - 8002c88: b480 push {r7} - 8002c8a: b087 sub sp, #28 - 8002c8c: af00 add r7, sp, #0 - 8002c8e: 6078 str r0, [r7, #4] - 8002c90: 6039 str r1, [r7, #0] + 8002db4: b480 push {r7} + 8002db6: b087 sub sp, #28 + 8002db8: af00 add r7, sp, #0 + 8002dba: 6078 str r0, [r7, #4] + 8002dbc: 6039 str r1, [r7, #0] uint32_t tmpccmrx; uint32_t tmpccer; uint32_t tmpcr2; /* Disable the Channel 1: Reset the CC1E Bit */ TIMx->CCER &= ~TIM_CCER_CC1E; - 8002c92: 687b ldr r3, [r7, #4] - 8002c94: 6a1b ldr r3, [r3, #32] - 8002c96: f023 0201 bic.w r2, r3, #1 - 8002c9a: 687b ldr r3, [r7, #4] - 8002c9c: 621a str r2, [r3, #32] + 8002dbe: 687b ldr r3, [r7, #4] + 8002dc0: 6a1b ldr r3, [r3, #32] + 8002dc2: f023 0201 bic.w r2, r3, #1 + 8002dc6: 687b ldr r3, [r7, #4] + 8002dc8: 621a str r2, [r3, #32] /* Get the TIMx CCER register value */ tmpccer = TIMx->CCER; - 8002c9e: 687b ldr r3, [r7, #4] - 8002ca0: 6a1b ldr r3, [r3, #32] - 8002ca2: 617b str r3, [r7, #20] + 8002dca: 687b ldr r3, [r7, #4] + 8002dcc: 6a1b ldr r3, [r3, #32] + 8002dce: 617b str r3, [r7, #20] /* Get the TIMx CR2 register value */ tmpcr2 = TIMx->CR2; - 8002ca4: 687b ldr r3, [r7, #4] - 8002ca6: 685b ldr r3, [r3, #4] - 8002ca8: 613b str r3, [r7, #16] + 8002dd0: 687b ldr r3, [r7, #4] + 8002dd2: 685b ldr r3, [r3, #4] + 8002dd4: 613b str r3, [r7, #16] /* Get the TIMx CCMR1 register value */ tmpccmrx = TIMx->CCMR1; - 8002caa: 687b ldr r3, [r7, #4] - 8002cac: 699b ldr r3, [r3, #24] - 8002cae: 60fb str r3, [r7, #12] + 8002dd6: 687b ldr r3, [r7, #4] + 8002dd8: 699b ldr r3, [r3, #24] + 8002dda: 60fb str r3, [r7, #12] /* Reset the Output Compare Mode Bits */ tmpccmrx &= ~TIM_CCMR1_OC1M; - 8002cb0: 68fa ldr r2, [r7, #12] - 8002cb2: 4b2b ldr r3, [pc, #172] ; (8002d60 ) - 8002cb4: 4013 ands r3, r2 - 8002cb6: 60fb str r3, [r7, #12] + 8002ddc: 68fa ldr r2, [r7, #12] + 8002dde: 4b2b ldr r3, [pc, #172] ; (8002e8c ) + 8002de0: 4013 ands r3, r2 + 8002de2: 60fb str r3, [r7, #12] tmpccmrx &= ~TIM_CCMR1_CC1S; - 8002cb8: 68fb ldr r3, [r7, #12] - 8002cba: f023 0303 bic.w r3, r3, #3 - 8002cbe: 60fb str r3, [r7, #12] + 8002de4: 68fb ldr r3, [r7, #12] + 8002de6: f023 0303 bic.w r3, r3, #3 + 8002dea: 60fb str r3, [r7, #12] /* Select the Output Compare Mode */ tmpccmrx |= OC_Config->OCMode; - 8002cc0: 683b ldr r3, [r7, #0] - 8002cc2: 681b ldr r3, [r3, #0] - 8002cc4: 68fa ldr r2, [r7, #12] - 8002cc6: 4313 orrs r3, r2 - 8002cc8: 60fb str r3, [r7, #12] + 8002dec: 683b ldr r3, [r7, #0] + 8002dee: 681b ldr r3, [r3, #0] + 8002df0: 68fa ldr r2, [r7, #12] + 8002df2: 4313 orrs r3, r2 + 8002df4: 60fb str r3, [r7, #12] /* Reset the Output Polarity level */ tmpccer &= ~TIM_CCER_CC1P; - 8002cca: 697b ldr r3, [r7, #20] - 8002ccc: f023 0302 bic.w r3, r3, #2 - 8002cd0: 617b str r3, [r7, #20] + 8002df6: 697b ldr r3, [r7, #20] + 8002df8: f023 0302 bic.w r3, r3, #2 + 8002dfc: 617b str r3, [r7, #20] /* Set the Output Compare Polarity */ tmpccer |= OC_Config->OCPolarity; - 8002cd2: 683b ldr r3, [r7, #0] - 8002cd4: 689b ldr r3, [r3, #8] - 8002cd6: 697a ldr r2, [r7, #20] - 8002cd8: 4313 orrs r3, r2 - 8002cda: 617b str r3, [r7, #20] + 8002dfe: 683b ldr r3, [r7, #0] + 8002e00: 689b ldr r3, [r3, #8] + 8002e02: 697a ldr r2, [r7, #20] + 8002e04: 4313 orrs r3, r2 + 8002e06: 617b str r3, [r7, #20] if (IS_TIM_CCXN_INSTANCE(TIMx, TIM_CHANNEL_1)) - 8002cdc: 687b ldr r3, [r7, #4] - 8002cde: 4a21 ldr r2, [pc, #132] ; (8002d64 ) - 8002ce0: 4293 cmp r3, r2 - 8002ce2: d003 beq.n 8002cec - 8002ce4: 687b ldr r3, [r7, #4] - 8002ce6: 4a20 ldr r2, [pc, #128] ; (8002d68 ) - 8002ce8: 4293 cmp r3, r2 - 8002cea: d10c bne.n 8002d06 + 8002e08: 687b ldr r3, [r7, #4] + 8002e0a: 4a21 ldr r2, [pc, #132] ; (8002e90 ) + 8002e0c: 4293 cmp r3, r2 + 8002e0e: d003 beq.n 8002e18 + 8002e10: 687b ldr r3, [r7, #4] + 8002e12: 4a20 ldr r2, [pc, #128] ; (8002e94 ) + 8002e14: 4293 cmp r3, r2 + 8002e16: d10c bne.n 8002e32 { /* Check parameters */ assert_param(IS_TIM_OCN_POLARITY(OC_Config->OCNPolarity)); /* Reset the Output N Polarity level */ tmpccer &= ~TIM_CCER_CC1NP; - 8002cec: 697b ldr r3, [r7, #20] - 8002cee: f023 0308 bic.w r3, r3, #8 - 8002cf2: 617b str r3, [r7, #20] + 8002e18: 697b ldr r3, [r7, #20] + 8002e1a: f023 0308 bic.w r3, r3, #8 + 8002e1e: 617b str r3, [r7, #20] /* Set the Output N Polarity */ tmpccer |= OC_Config->OCNPolarity; - 8002cf4: 683b ldr r3, [r7, #0] - 8002cf6: 68db ldr r3, [r3, #12] - 8002cf8: 697a ldr r2, [r7, #20] - 8002cfa: 4313 orrs r3, r2 - 8002cfc: 617b str r3, [r7, #20] + 8002e20: 683b ldr r3, [r7, #0] + 8002e22: 68db ldr r3, [r3, #12] + 8002e24: 697a ldr r2, [r7, #20] + 8002e26: 4313 orrs r3, r2 + 8002e28: 617b str r3, [r7, #20] /* Reset the Output N State */ tmpccer &= ~TIM_CCER_CC1NE; - 8002cfe: 697b ldr r3, [r7, #20] - 8002d00: f023 0304 bic.w r3, r3, #4 - 8002d04: 617b str r3, [r7, #20] + 8002e2a: 697b ldr r3, [r7, #20] + 8002e2c: f023 0304 bic.w r3, r3, #4 + 8002e30: 617b str r3, [r7, #20] } if (IS_TIM_BREAK_INSTANCE(TIMx)) - 8002d06: 687b ldr r3, [r7, #4] - 8002d08: 4a16 ldr r2, [pc, #88] ; (8002d64 ) - 8002d0a: 4293 cmp r3, r2 - 8002d0c: d003 beq.n 8002d16 - 8002d0e: 687b ldr r3, [r7, #4] - 8002d10: 4a15 ldr r2, [pc, #84] ; (8002d68 ) - 8002d12: 4293 cmp r3, r2 - 8002d14: d111 bne.n 8002d3a + 8002e32: 687b ldr r3, [r7, #4] + 8002e34: 4a16 ldr r2, [pc, #88] ; (8002e90 ) + 8002e36: 4293 cmp r3, r2 + 8002e38: d003 beq.n 8002e42 + 8002e3a: 687b ldr r3, [r7, #4] + 8002e3c: 4a15 ldr r2, [pc, #84] ; (8002e94 ) + 8002e3e: 4293 cmp r3, r2 + 8002e40: d111 bne.n 8002e66 /* Check parameters */ assert_param(IS_TIM_OCNIDLE_STATE(OC_Config->OCNIdleState)); assert_param(IS_TIM_OCIDLE_STATE(OC_Config->OCIdleState)); /* Reset the Output Compare and Output Compare N IDLE State */ tmpcr2 &= ~TIM_CR2_OIS1; - 8002d16: 693b ldr r3, [r7, #16] - 8002d18: f423 7380 bic.w r3, r3, #256 ; 0x100 - 8002d1c: 613b str r3, [r7, #16] + 8002e42: 693b ldr r3, [r7, #16] + 8002e44: f423 7380 bic.w r3, r3, #256 ; 0x100 + 8002e48: 613b str r3, [r7, #16] tmpcr2 &= ~TIM_CR2_OIS1N; - 8002d1e: 693b ldr r3, [r7, #16] - 8002d20: f423 7300 bic.w r3, r3, #512 ; 0x200 - 8002d24: 613b str r3, [r7, #16] + 8002e4a: 693b ldr r3, [r7, #16] + 8002e4c: f423 7300 bic.w r3, r3, #512 ; 0x200 + 8002e50: 613b str r3, [r7, #16] /* Set the Output Idle state */ tmpcr2 |= OC_Config->OCIdleState; - 8002d26: 683b ldr r3, [r7, #0] - 8002d28: 695b ldr r3, [r3, #20] - 8002d2a: 693a ldr r2, [r7, #16] - 8002d2c: 4313 orrs r3, r2 - 8002d2e: 613b str r3, [r7, #16] + 8002e52: 683b ldr r3, [r7, #0] + 8002e54: 695b ldr r3, [r3, #20] + 8002e56: 693a ldr r2, [r7, #16] + 8002e58: 4313 orrs r3, r2 + 8002e5a: 613b str r3, [r7, #16] /* Set the Output N Idle state */ tmpcr2 |= OC_Config->OCNIdleState; - 8002d30: 683b ldr r3, [r7, #0] - 8002d32: 699b ldr r3, [r3, #24] - 8002d34: 693a ldr r2, [r7, #16] - 8002d36: 4313 orrs r3, r2 - 8002d38: 613b str r3, [r7, #16] + 8002e5c: 683b ldr r3, [r7, #0] + 8002e5e: 699b ldr r3, [r3, #24] + 8002e60: 693a ldr r2, [r7, #16] + 8002e62: 4313 orrs r3, r2 + 8002e64: 613b str r3, [r7, #16] } /* Write to TIMx CR2 */ TIMx->CR2 = tmpcr2; - 8002d3a: 687b ldr r3, [r7, #4] - 8002d3c: 693a ldr r2, [r7, #16] - 8002d3e: 605a str r2, [r3, #4] + 8002e66: 687b ldr r3, [r7, #4] + 8002e68: 693a ldr r2, [r7, #16] + 8002e6a: 605a str r2, [r3, #4] /* Write to TIMx CCMR1 */ TIMx->CCMR1 = tmpccmrx; - 8002d40: 687b ldr r3, [r7, #4] - 8002d42: 68fa ldr r2, [r7, #12] - 8002d44: 619a str r2, [r3, #24] + 8002e6c: 687b ldr r3, [r7, #4] + 8002e6e: 68fa ldr r2, [r7, #12] + 8002e70: 619a str r2, [r3, #24] /* Set the Capture Compare Register value */ TIMx->CCR1 = OC_Config->Pulse; - 8002d46: 683b ldr r3, [r7, #0] - 8002d48: 685a ldr r2, [r3, #4] - 8002d4a: 687b ldr r3, [r7, #4] - 8002d4c: 635a str r2, [r3, #52] ; 0x34 + 8002e72: 683b ldr r3, [r7, #0] + 8002e74: 685a ldr r2, [r3, #4] + 8002e76: 687b ldr r3, [r7, #4] + 8002e78: 635a str r2, [r3, #52] ; 0x34 /* Write to TIMx CCER */ TIMx->CCER = tmpccer; - 8002d4e: 687b ldr r3, [r7, #4] - 8002d50: 697a ldr r2, [r7, #20] - 8002d52: 621a str r2, [r3, #32] -} - 8002d54: bf00 nop - 8002d56: 371c adds r7, #28 - 8002d58: 46bd mov sp, r7 - 8002d5a: f85d 7b04 ldr.w r7, [sp], #4 - 8002d5e: 4770 bx lr - 8002d60: fffeff8f .word 0xfffeff8f - 8002d64: 40010000 .word 0x40010000 - 8002d68: 40010400 .word 0x40010400 - -08002d6c : + 8002e7a: 687b ldr r3, [r7, #4] + 8002e7c: 697a ldr r2, [r7, #20] + 8002e7e: 621a str r2, [r3, #32] +} + 8002e80: bf00 nop + 8002e82: 371c adds r7, #28 + 8002e84: 46bd mov sp, r7 + 8002e86: f85d 7b04 ldr.w r7, [sp], #4 + 8002e8a: 4770 bx lr + 8002e8c: fffeff8f .word 0xfffeff8f + 8002e90: 40010000 .word 0x40010000 + 8002e94: 40010400 .word 0x40010400 + +08002e98 : * @param TIMx to select the TIM peripheral * @param OC_Config The ouput configuration structure * @retval None */ void TIM_OC2_SetConfig(TIM_TypeDef *TIMx, TIM_OC_InitTypeDef *OC_Config) { - 8002d6c: b480 push {r7} - 8002d6e: b087 sub sp, #28 - 8002d70: af00 add r7, sp, #0 - 8002d72: 6078 str r0, [r7, #4] - 8002d74: 6039 str r1, [r7, #0] + 8002e98: b480 push {r7} + 8002e9a: b087 sub sp, #28 + 8002e9c: af00 add r7, sp, #0 + 8002e9e: 6078 str r0, [r7, #4] + 8002ea0: 6039 str r1, [r7, #0] uint32_t tmpccmrx; uint32_t tmpccer; uint32_t tmpcr2; /* Disable the Channel 2: Reset the CC2E Bit */ TIMx->CCER &= ~TIM_CCER_CC2E; - 8002d76: 687b ldr r3, [r7, #4] - 8002d78: 6a1b ldr r3, [r3, #32] - 8002d7a: f023 0210 bic.w r2, r3, #16 - 8002d7e: 687b ldr r3, [r7, #4] - 8002d80: 621a str r2, [r3, #32] + 8002ea2: 687b ldr r3, [r7, #4] + 8002ea4: 6a1b ldr r3, [r3, #32] + 8002ea6: f023 0210 bic.w r2, r3, #16 + 8002eaa: 687b ldr r3, [r7, #4] + 8002eac: 621a str r2, [r3, #32] /* Get the TIMx CCER register value */ tmpccer = TIMx->CCER; - 8002d82: 687b ldr r3, [r7, #4] - 8002d84: 6a1b ldr r3, [r3, #32] - 8002d86: 617b str r3, [r7, #20] + 8002eae: 687b ldr r3, [r7, #4] + 8002eb0: 6a1b ldr r3, [r3, #32] + 8002eb2: 617b str r3, [r7, #20] /* Get the TIMx CR2 register value */ tmpcr2 = TIMx->CR2; - 8002d88: 687b ldr r3, [r7, #4] - 8002d8a: 685b ldr r3, [r3, #4] - 8002d8c: 613b str r3, [r7, #16] + 8002eb4: 687b ldr r3, [r7, #4] + 8002eb6: 685b ldr r3, [r3, #4] + 8002eb8: 613b str r3, [r7, #16] /* Get the TIMx CCMR1 register value */ tmpccmrx = TIMx->CCMR1; - 8002d8e: 687b ldr r3, [r7, #4] - 8002d90: 699b ldr r3, [r3, #24] - 8002d92: 60fb str r3, [r7, #12] + 8002eba: 687b ldr r3, [r7, #4] + 8002ebc: 699b ldr r3, [r3, #24] + 8002ebe: 60fb str r3, [r7, #12] /* Reset the Output Compare mode and Capture/Compare selection Bits */ tmpccmrx &= ~TIM_CCMR1_OC2M; - 8002d94: 68fa ldr r2, [r7, #12] - 8002d96: 4b2e ldr r3, [pc, #184] ; (8002e50 ) - 8002d98: 4013 ands r3, r2 - 8002d9a: 60fb str r3, [r7, #12] + 8002ec0: 68fa ldr r2, [r7, #12] + 8002ec2: 4b2e ldr r3, [pc, #184] ; (8002f7c ) + 8002ec4: 4013 ands r3, r2 + 8002ec6: 60fb str r3, [r7, #12] tmpccmrx &= ~TIM_CCMR1_CC2S; - 8002d9c: 68fb ldr r3, [r7, #12] - 8002d9e: f423 7340 bic.w r3, r3, #768 ; 0x300 - 8002da2: 60fb str r3, [r7, #12] + 8002ec8: 68fb ldr r3, [r7, #12] + 8002eca: f423 7340 bic.w r3, r3, #768 ; 0x300 + 8002ece: 60fb str r3, [r7, #12] /* Select the Output Compare Mode */ tmpccmrx |= (OC_Config->OCMode << 8U); - 8002da4: 683b ldr r3, [r7, #0] - 8002da6: 681b ldr r3, [r3, #0] - 8002da8: 021b lsls r3, r3, #8 - 8002daa: 68fa ldr r2, [r7, #12] - 8002dac: 4313 orrs r3, r2 - 8002dae: 60fb str r3, [r7, #12] + 8002ed0: 683b ldr r3, [r7, #0] + 8002ed2: 681b ldr r3, [r3, #0] + 8002ed4: 021b lsls r3, r3, #8 + 8002ed6: 68fa ldr r2, [r7, #12] + 8002ed8: 4313 orrs r3, r2 + 8002eda: 60fb str r3, [r7, #12] /* Reset the Output Polarity level */ tmpccer &= ~TIM_CCER_CC2P; - 8002db0: 697b ldr r3, [r7, #20] - 8002db2: f023 0320 bic.w r3, r3, #32 - 8002db6: 617b str r3, [r7, #20] + 8002edc: 697b ldr r3, [r7, #20] + 8002ede: f023 0320 bic.w r3, r3, #32 + 8002ee2: 617b str r3, [r7, #20] /* Set the Output Compare Polarity */ tmpccer |= (OC_Config->OCPolarity << 4U); - 8002db8: 683b ldr r3, [r7, #0] - 8002dba: 689b ldr r3, [r3, #8] - 8002dbc: 011b lsls r3, r3, #4 - 8002dbe: 697a ldr r2, [r7, #20] - 8002dc0: 4313 orrs r3, r2 - 8002dc2: 617b str r3, [r7, #20] + 8002ee4: 683b ldr r3, [r7, #0] + 8002ee6: 689b ldr r3, [r3, #8] + 8002ee8: 011b lsls r3, r3, #4 + 8002eea: 697a ldr r2, [r7, #20] + 8002eec: 4313 orrs r3, r2 + 8002eee: 617b str r3, [r7, #20] if (IS_TIM_CCXN_INSTANCE(TIMx, TIM_CHANNEL_2)) - 8002dc4: 687b ldr r3, [r7, #4] - 8002dc6: 4a23 ldr r2, [pc, #140] ; (8002e54 ) - 8002dc8: 4293 cmp r3, r2 - 8002dca: d003 beq.n 8002dd4 - 8002dcc: 687b ldr r3, [r7, #4] - 8002dce: 4a22 ldr r2, [pc, #136] ; (8002e58 ) - 8002dd0: 4293 cmp r3, r2 - 8002dd2: d10d bne.n 8002df0 + 8002ef0: 687b ldr r3, [r7, #4] + 8002ef2: 4a23 ldr r2, [pc, #140] ; (8002f80 ) + 8002ef4: 4293 cmp r3, r2 + 8002ef6: d003 beq.n 8002f00 + 8002ef8: 687b ldr r3, [r7, #4] + 8002efa: 4a22 ldr r2, [pc, #136] ; (8002f84 ) + 8002efc: 4293 cmp r3, r2 + 8002efe: d10d bne.n 8002f1c { assert_param(IS_TIM_OCN_POLARITY(OC_Config->OCNPolarity)); /* Reset the Output N Polarity level */ tmpccer &= ~TIM_CCER_CC2NP; - 8002dd4: 697b ldr r3, [r7, #20] - 8002dd6: f023 0380 bic.w r3, r3, #128 ; 0x80 - 8002dda: 617b str r3, [r7, #20] + 8002f00: 697b ldr r3, [r7, #20] + 8002f02: f023 0380 bic.w r3, r3, #128 ; 0x80 + 8002f06: 617b str r3, [r7, #20] /* Set the Output N Polarity */ tmpccer |= (OC_Config->OCNPolarity << 4U); - 8002ddc: 683b ldr r3, [r7, #0] - 8002dde: 68db ldr r3, [r3, #12] - 8002de0: 011b lsls r3, r3, #4 - 8002de2: 697a ldr r2, [r7, #20] - 8002de4: 4313 orrs r3, r2 - 8002de6: 617b str r3, [r7, #20] + 8002f08: 683b ldr r3, [r7, #0] + 8002f0a: 68db ldr r3, [r3, #12] + 8002f0c: 011b lsls r3, r3, #4 + 8002f0e: 697a ldr r2, [r7, #20] + 8002f10: 4313 orrs r3, r2 + 8002f12: 617b str r3, [r7, #20] /* Reset the Output N State */ tmpccer &= ~TIM_CCER_CC2NE; - 8002de8: 697b ldr r3, [r7, #20] - 8002dea: f023 0340 bic.w r3, r3, #64 ; 0x40 - 8002dee: 617b str r3, [r7, #20] + 8002f14: 697b ldr r3, [r7, #20] + 8002f16: f023 0340 bic.w r3, r3, #64 ; 0x40 + 8002f1a: 617b str r3, [r7, #20] } if (IS_TIM_BREAK_INSTANCE(TIMx)) - 8002df0: 687b ldr r3, [r7, #4] - 8002df2: 4a18 ldr r2, [pc, #96] ; (8002e54 ) - 8002df4: 4293 cmp r3, r2 - 8002df6: d003 beq.n 8002e00 - 8002df8: 687b ldr r3, [r7, #4] - 8002dfa: 4a17 ldr r2, [pc, #92] ; (8002e58 ) - 8002dfc: 4293 cmp r3, r2 - 8002dfe: d113 bne.n 8002e28 + 8002f1c: 687b ldr r3, [r7, #4] + 8002f1e: 4a18 ldr r2, [pc, #96] ; (8002f80 ) + 8002f20: 4293 cmp r3, r2 + 8002f22: d003 beq.n 8002f2c + 8002f24: 687b ldr r3, [r7, #4] + 8002f26: 4a17 ldr r2, [pc, #92] ; (8002f84 ) + 8002f28: 4293 cmp r3, r2 + 8002f2a: d113 bne.n 8002f54 /* Check parameters */ assert_param(IS_TIM_OCNIDLE_STATE(OC_Config->OCNIdleState)); assert_param(IS_TIM_OCIDLE_STATE(OC_Config->OCIdleState)); /* Reset the Output Compare and Output Compare N IDLE State */ tmpcr2 &= ~TIM_CR2_OIS2; - 8002e00: 693b ldr r3, [r7, #16] - 8002e02: f423 6380 bic.w r3, r3, #1024 ; 0x400 - 8002e06: 613b str r3, [r7, #16] + 8002f2c: 693b ldr r3, [r7, #16] + 8002f2e: f423 6380 bic.w r3, r3, #1024 ; 0x400 + 8002f32: 613b str r3, [r7, #16] tmpcr2 &= ~TIM_CR2_OIS2N; - 8002e08: 693b ldr r3, [r7, #16] - 8002e0a: f423 6300 bic.w r3, r3, #2048 ; 0x800 - 8002e0e: 613b str r3, [r7, #16] + 8002f34: 693b ldr r3, [r7, #16] + 8002f36: f423 6300 bic.w r3, r3, #2048 ; 0x800 + 8002f3a: 613b str r3, [r7, #16] /* Set the Output Idle state */ tmpcr2 |= (OC_Config->OCIdleState << 2U); - 8002e10: 683b ldr r3, [r7, #0] - 8002e12: 695b ldr r3, [r3, #20] - 8002e14: 009b lsls r3, r3, #2 - 8002e16: 693a ldr r2, [r7, #16] - 8002e18: 4313 orrs r3, r2 - 8002e1a: 613b str r3, [r7, #16] + 8002f3c: 683b ldr r3, [r7, #0] + 8002f3e: 695b ldr r3, [r3, #20] + 8002f40: 009b lsls r3, r3, #2 + 8002f42: 693a ldr r2, [r7, #16] + 8002f44: 4313 orrs r3, r2 + 8002f46: 613b str r3, [r7, #16] /* Set the Output N Idle state */ tmpcr2 |= (OC_Config->OCNIdleState << 2U); - 8002e1c: 683b ldr r3, [r7, #0] - 8002e1e: 699b ldr r3, [r3, #24] - 8002e20: 009b lsls r3, r3, #2 - 8002e22: 693a ldr r2, [r7, #16] - 8002e24: 4313 orrs r3, r2 - 8002e26: 613b str r3, [r7, #16] + 8002f48: 683b ldr r3, [r7, #0] + 8002f4a: 699b ldr r3, [r3, #24] + 8002f4c: 009b lsls r3, r3, #2 + 8002f4e: 693a ldr r2, [r7, #16] + 8002f50: 4313 orrs r3, r2 + 8002f52: 613b str r3, [r7, #16] } /* Write to TIMx CR2 */ TIMx->CR2 = tmpcr2; - 8002e28: 687b ldr r3, [r7, #4] - 8002e2a: 693a ldr r2, [r7, #16] - 8002e2c: 605a str r2, [r3, #4] + 8002f54: 687b ldr r3, [r7, #4] + 8002f56: 693a ldr r2, [r7, #16] + 8002f58: 605a str r2, [r3, #4] /* Write to TIMx CCMR1 */ TIMx->CCMR1 = tmpccmrx; - 8002e2e: 687b ldr r3, [r7, #4] - 8002e30: 68fa ldr r2, [r7, #12] - 8002e32: 619a str r2, [r3, #24] + 8002f5a: 687b ldr r3, [r7, #4] + 8002f5c: 68fa ldr r2, [r7, #12] + 8002f5e: 619a str r2, [r3, #24] /* Set the Capture Compare Register value */ TIMx->CCR2 = OC_Config->Pulse; - 8002e34: 683b ldr r3, [r7, #0] - 8002e36: 685a ldr r2, [r3, #4] - 8002e38: 687b ldr r3, [r7, #4] - 8002e3a: 639a str r2, [r3, #56] ; 0x38 + 8002f60: 683b ldr r3, [r7, #0] + 8002f62: 685a ldr r2, [r3, #4] + 8002f64: 687b ldr r3, [r7, #4] + 8002f66: 639a str r2, [r3, #56] ; 0x38 /* Write to TIMx CCER */ TIMx->CCER = tmpccer; - 8002e3c: 687b ldr r3, [r7, #4] - 8002e3e: 697a ldr r2, [r7, #20] - 8002e40: 621a str r2, [r3, #32] -} - 8002e42: bf00 nop - 8002e44: 371c adds r7, #28 - 8002e46: 46bd mov sp, r7 - 8002e48: f85d 7b04 ldr.w r7, [sp], #4 - 8002e4c: 4770 bx lr - 8002e4e: bf00 nop - 8002e50: feff8fff .word 0xfeff8fff - 8002e54: 40010000 .word 0x40010000 - 8002e58: 40010400 .word 0x40010400 - -08002e5c : + 8002f68: 687b ldr r3, [r7, #4] + 8002f6a: 697a ldr r2, [r7, #20] + 8002f6c: 621a str r2, [r3, #32] +} + 8002f6e: bf00 nop + 8002f70: 371c adds r7, #28 + 8002f72: 46bd mov sp, r7 + 8002f74: f85d 7b04 ldr.w r7, [sp], #4 + 8002f78: 4770 bx lr + 8002f7a: bf00 nop + 8002f7c: feff8fff .word 0xfeff8fff + 8002f80: 40010000 .word 0x40010000 + 8002f84: 40010400 .word 0x40010400 + +08002f88 : * @param TIMx to select the TIM peripheral * @param OC_Config The ouput configuration structure * @retval None */ static void TIM_OC3_SetConfig(TIM_TypeDef *TIMx, TIM_OC_InitTypeDef *OC_Config) { - 8002e5c: b480 push {r7} - 8002e5e: b087 sub sp, #28 - 8002e60: af00 add r7, sp, #0 - 8002e62: 6078 str r0, [r7, #4] - 8002e64: 6039 str r1, [r7, #0] + 8002f88: b480 push {r7} + 8002f8a: b087 sub sp, #28 + 8002f8c: af00 add r7, sp, #0 + 8002f8e: 6078 str r0, [r7, #4] + 8002f90: 6039 str r1, [r7, #0] uint32_t tmpccmrx; uint32_t tmpccer; uint32_t tmpcr2; /* Disable the Channel 3: Reset the CC2E Bit */ TIMx->CCER &= ~TIM_CCER_CC3E; - 8002e66: 687b ldr r3, [r7, #4] - 8002e68: 6a1b ldr r3, [r3, #32] - 8002e6a: f423 7280 bic.w r2, r3, #256 ; 0x100 - 8002e6e: 687b ldr r3, [r7, #4] - 8002e70: 621a str r2, [r3, #32] + 8002f92: 687b ldr r3, [r7, #4] + 8002f94: 6a1b ldr r3, [r3, #32] + 8002f96: f423 7280 bic.w r2, r3, #256 ; 0x100 + 8002f9a: 687b ldr r3, [r7, #4] + 8002f9c: 621a str r2, [r3, #32] /* Get the TIMx CCER register value */ tmpccer = TIMx->CCER; - 8002e72: 687b ldr r3, [r7, #4] - 8002e74: 6a1b ldr r3, [r3, #32] - 8002e76: 617b str r3, [r7, #20] + 8002f9e: 687b ldr r3, [r7, #4] + 8002fa0: 6a1b ldr r3, [r3, #32] + 8002fa2: 617b str r3, [r7, #20] /* Get the TIMx CR2 register value */ tmpcr2 = TIMx->CR2; - 8002e78: 687b ldr r3, [r7, #4] - 8002e7a: 685b ldr r3, [r3, #4] - 8002e7c: 613b str r3, [r7, #16] + 8002fa4: 687b ldr r3, [r7, #4] + 8002fa6: 685b ldr r3, [r3, #4] + 8002fa8: 613b str r3, [r7, #16] /* Get the TIMx CCMR2 register value */ tmpccmrx = TIMx->CCMR2; - 8002e7e: 687b ldr r3, [r7, #4] - 8002e80: 69db ldr r3, [r3, #28] - 8002e82: 60fb str r3, [r7, #12] + 8002faa: 687b ldr r3, [r7, #4] + 8002fac: 69db ldr r3, [r3, #28] + 8002fae: 60fb str r3, [r7, #12] /* Reset the Output Compare mode and Capture/Compare selection Bits */ tmpccmrx &= ~TIM_CCMR2_OC3M; - 8002e84: 68fa ldr r2, [r7, #12] - 8002e86: 4b2d ldr r3, [pc, #180] ; (8002f3c ) - 8002e88: 4013 ands r3, r2 - 8002e8a: 60fb str r3, [r7, #12] + 8002fb0: 68fa ldr r2, [r7, #12] + 8002fb2: 4b2d ldr r3, [pc, #180] ; (8003068 ) + 8002fb4: 4013 ands r3, r2 + 8002fb6: 60fb str r3, [r7, #12] tmpccmrx &= ~TIM_CCMR2_CC3S; - 8002e8c: 68fb ldr r3, [r7, #12] - 8002e8e: f023 0303 bic.w r3, r3, #3 - 8002e92: 60fb str r3, [r7, #12] + 8002fb8: 68fb ldr r3, [r7, #12] + 8002fba: f023 0303 bic.w r3, r3, #3 + 8002fbe: 60fb str r3, [r7, #12] /* Select the Output Compare Mode */ tmpccmrx |= OC_Config->OCMode; - 8002e94: 683b ldr r3, [r7, #0] - 8002e96: 681b ldr r3, [r3, #0] - 8002e98: 68fa ldr r2, [r7, #12] - 8002e9a: 4313 orrs r3, r2 - 8002e9c: 60fb str r3, [r7, #12] + 8002fc0: 683b ldr r3, [r7, #0] + 8002fc2: 681b ldr r3, [r3, #0] + 8002fc4: 68fa ldr r2, [r7, #12] + 8002fc6: 4313 orrs r3, r2 + 8002fc8: 60fb str r3, [r7, #12] /* Reset the Output Polarity level */ tmpccer &= ~TIM_CCER_CC3P; - 8002e9e: 697b ldr r3, [r7, #20] - 8002ea0: f423 7300 bic.w r3, r3, #512 ; 0x200 - 8002ea4: 617b str r3, [r7, #20] + 8002fca: 697b ldr r3, [r7, #20] + 8002fcc: f423 7300 bic.w r3, r3, #512 ; 0x200 + 8002fd0: 617b str r3, [r7, #20] /* Set the Output Compare Polarity */ tmpccer |= (OC_Config->OCPolarity << 8U); - 8002ea6: 683b ldr r3, [r7, #0] - 8002ea8: 689b ldr r3, [r3, #8] - 8002eaa: 021b lsls r3, r3, #8 - 8002eac: 697a ldr r2, [r7, #20] - 8002eae: 4313 orrs r3, r2 - 8002eb0: 617b str r3, [r7, #20] + 8002fd2: 683b ldr r3, [r7, #0] + 8002fd4: 689b ldr r3, [r3, #8] + 8002fd6: 021b lsls r3, r3, #8 + 8002fd8: 697a ldr r2, [r7, #20] + 8002fda: 4313 orrs r3, r2 + 8002fdc: 617b str r3, [r7, #20] if (IS_TIM_CCXN_INSTANCE(TIMx, TIM_CHANNEL_3)) - 8002eb2: 687b ldr r3, [r7, #4] - 8002eb4: 4a22 ldr r2, [pc, #136] ; (8002f40 ) - 8002eb6: 4293 cmp r3, r2 - 8002eb8: d003 beq.n 8002ec2 - 8002eba: 687b ldr r3, [r7, #4] - 8002ebc: 4a21 ldr r2, [pc, #132] ; (8002f44 ) - 8002ebe: 4293 cmp r3, r2 - 8002ec0: d10d bne.n 8002ede + 8002fde: 687b ldr r3, [r7, #4] + 8002fe0: 4a22 ldr r2, [pc, #136] ; (800306c ) + 8002fe2: 4293 cmp r3, r2 + 8002fe4: d003 beq.n 8002fee + 8002fe6: 687b ldr r3, [r7, #4] + 8002fe8: 4a21 ldr r2, [pc, #132] ; (8003070 ) + 8002fea: 4293 cmp r3, r2 + 8002fec: d10d bne.n 800300a { assert_param(IS_TIM_OCN_POLARITY(OC_Config->OCNPolarity)); /* Reset the Output N Polarity level */ tmpccer &= ~TIM_CCER_CC3NP; - 8002ec2: 697b ldr r3, [r7, #20] - 8002ec4: f423 6300 bic.w r3, r3, #2048 ; 0x800 - 8002ec8: 617b str r3, [r7, #20] + 8002fee: 697b ldr r3, [r7, #20] + 8002ff0: f423 6300 bic.w r3, r3, #2048 ; 0x800 + 8002ff4: 617b str r3, [r7, #20] /* Set the Output N Polarity */ tmpccer |= (OC_Config->OCNPolarity << 8U); - 8002eca: 683b ldr r3, [r7, #0] - 8002ecc: 68db ldr r3, [r3, #12] - 8002ece: 021b lsls r3, r3, #8 - 8002ed0: 697a ldr r2, [r7, #20] - 8002ed2: 4313 orrs r3, r2 - 8002ed4: 617b str r3, [r7, #20] + 8002ff6: 683b ldr r3, [r7, #0] + 8002ff8: 68db ldr r3, [r3, #12] + 8002ffa: 021b lsls r3, r3, #8 + 8002ffc: 697a ldr r2, [r7, #20] + 8002ffe: 4313 orrs r3, r2 + 8003000: 617b str r3, [r7, #20] /* Reset the Output N State */ tmpccer &= ~TIM_CCER_CC3NE; - 8002ed6: 697b ldr r3, [r7, #20] - 8002ed8: f423 6380 bic.w r3, r3, #1024 ; 0x400 - 8002edc: 617b str r3, [r7, #20] + 8003002: 697b ldr r3, [r7, #20] + 8003004: f423 6380 bic.w r3, r3, #1024 ; 0x400 + 8003008: 617b str r3, [r7, #20] } if (IS_TIM_BREAK_INSTANCE(TIMx)) - 8002ede: 687b ldr r3, [r7, #4] - 8002ee0: 4a17 ldr r2, [pc, #92] ; (8002f40 ) - 8002ee2: 4293 cmp r3, r2 - 8002ee4: d003 beq.n 8002eee - 8002ee6: 687b ldr r3, [r7, #4] - 8002ee8: 4a16 ldr r2, [pc, #88] ; (8002f44 ) - 8002eea: 4293 cmp r3, r2 - 8002eec: d113 bne.n 8002f16 + 800300a: 687b ldr r3, [r7, #4] + 800300c: 4a17 ldr r2, [pc, #92] ; (800306c ) + 800300e: 4293 cmp r3, r2 + 8003010: d003 beq.n 800301a + 8003012: 687b ldr r3, [r7, #4] + 8003014: 4a16 ldr r2, [pc, #88] ; (8003070 ) + 8003016: 4293 cmp r3, r2 + 8003018: d113 bne.n 8003042 /* Check parameters */ assert_param(IS_TIM_OCNIDLE_STATE(OC_Config->OCNIdleState)); assert_param(IS_TIM_OCIDLE_STATE(OC_Config->OCIdleState)); /* Reset the Output Compare and Output Compare N IDLE State */ tmpcr2 &= ~TIM_CR2_OIS3; - 8002eee: 693b ldr r3, [r7, #16] - 8002ef0: f423 5380 bic.w r3, r3, #4096 ; 0x1000 - 8002ef4: 613b str r3, [r7, #16] + 800301a: 693b ldr r3, [r7, #16] + 800301c: f423 5380 bic.w r3, r3, #4096 ; 0x1000 + 8003020: 613b str r3, [r7, #16] tmpcr2 &= ~TIM_CR2_OIS3N; - 8002ef6: 693b ldr r3, [r7, #16] - 8002ef8: f423 5300 bic.w r3, r3, #8192 ; 0x2000 - 8002efc: 613b str r3, [r7, #16] + 8003022: 693b ldr r3, [r7, #16] + 8003024: f423 5300 bic.w r3, r3, #8192 ; 0x2000 + 8003028: 613b str r3, [r7, #16] /* Set the Output Idle state */ tmpcr2 |= (OC_Config->OCIdleState << 4U); - 8002efe: 683b ldr r3, [r7, #0] - 8002f00: 695b ldr r3, [r3, #20] - 8002f02: 011b lsls r3, r3, #4 - 8002f04: 693a ldr r2, [r7, #16] - 8002f06: 4313 orrs r3, r2 - 8002f08: 613b str r3, [r7, #16] + 800302a: 683b ldr r3, [r7, #0] + 800302c: 695b ldr r3, [r3, #20] + 800302e: 011b lsls r3, r3, #4 + 8003030: 693a ldr r2, [r7, #16] + 8003032: 4313 orrs r3, r2 + 8003034: 613b str r3, [r7, #16] /* Set the Output N Idle state */ tmpcr2 |= (OC_Config->OCNIdleState << 4U); - 8002f0a: 683b ldr r3, [r7, #0] - 8002f0c: 699b ldr r3, [r3, #24] - 8002f0e: 011b lsls r3, r3, #4 - 8002f10: 693a ldr r2, [r7, #16] - 8002f12: 4313 orrs r3, r2 - 8002f14: 613b str r3, [r7, #16] + 8003036: 683b ldr r3, [r7, #0] + 8003038: 699b ldr r3, [r3, #24] + 800303a: 011b lsls r3, r3, #4 + 800303c: 693a ldr r2, [r7, #16] + 800303e: 4313 orrs r3, r2 + 8003040: 613b str r3, [r7, #16] } /* Write to TIMx CR2 */ TIMx->CR2 = tmpcr2; - 8002f16: 687b ldr r3, [r7, #4] - 8002f18: 693a ldr r2, [r7, #16] - 8002f1a: 605a str r2, [r3, #4] + 8003042: 687b ldr r3, [r7, #4] + 8003044: 693a ldr r2, [r7, #16] + 8003046: 605a str r2, [r3, #4] /* Write to TIMx CCMR2 */ TIMx->CCMR2 = tmpccmrx; - 8002f1c: 687b ldr r3, [r7, #4] - 8002f1e: 68fa ldr r2, [r7, #12] - 8002f20: 61da str r2, [r3, #28] + 8003048: 687b ldr r3, [r7, #4] + 800304a: 68fa ldr r2, [r7, #12] + 800304c: 61da str r2, [r3, #28] /* Set the Capture Compare Register value */ TIMx->CCR3 = OC_Config->Pulse; - 8002f22: 683b ldr r3, [r7, #0] - 8002f24: 685a ldr r2, [r3, #4] - 8002f26: 687b ldr r3, [r7, #4] - 8002f28: 63da str r2, [r3, #60] ; 0x3c + 800304e: 683b ldr r3, [r7, #0] + 8003050: 685a ldr r2, [r3, #4] + 8003052: 687b ldr r3, [r7, #4] + 8003054: 63da str r2, [r3, #60] ; 0x3c /* Write to TIMx CCER */ TIMx->CCER = tmpccer; - 8002f2a: 687b ldr r3, [r7, #4] - 8002f2c: 697a ldr r2, [r7, #20] - 8002f2e: 621a str r2, [r3, #32] -} - 8002f30: bf00 nop - 8002f32: 371c adds r7, #28 - 8002f34: 46bd mov sp, r7 - 8002f36: f85d 7b04 ldr.w r7, [sp], #4 - 8002f3a: 4770 bx lr - 8002f3c: fffeff8f .word 0xfffeff8f - 8002f40: 40010000 .word 0x40010000 - 8002f44: 40010400 .word 0x40010400 - -08002f48 : + 8003056: 687b ldr r3, [r7, #4] + 8003058: 697a ldr r2, [r7, #20] + 800305a: 621a str r2, [r3, #32] +} + 800305c: bf00 nop + 800305e: 371c adds r7, #28 + 8003060: 46bd mov sp, r7 + 8003062: f85d 7b04 ldr.w r7, [sp], #4 + 8003066: 4770 bx lr + 8003068: fffeff8f .word 0xfffeff8f + 800306c: 40010000 .word 0x40010000 + 8003070: 40010400 .word 0x40010400 + +08003074 : * @param TIMx to select the TIM peripheral * @param OC_Config The ouput configuration structure * @retval None */ static void TIM_OC4_SetConfig(TIM_TypeDef *TIMx, TIM_OC_InitTypeDef *OC_Config) { - 8002f48: b480 push {r7} - 8002f4a: b087 sub sp, #28 - 8002f4c: af00 add r7, sp, #0 - 8002f4e: 6078 str r0, [r7, #4] - 8002f50: 6039 str r1, [r7, #0] + 8003074: b480 push {r7} + 8003076: b087 sub sp, #28 + 8003078: af00 add r7, sp, #0 + 800307a: 6078 str r0, [r7, #4] + 800307c: 6039 str r1, [r7, #0] uint32_t tmpccmrx; uint32_t tmpccer; uint32_t tmpcr2; /* Disable the Channel 4: Reset the CC4E Bit */ TIMx->CCER &= ~TIM_CCER_CC4E; - 8002f52: 687b ldr r3, [r7, #4] - 8002f54: 6a1b ldr r3, [r3, #32] - 8002f56: f423 5280 bic.w r2, r3, #4096 ; 0x1000 - 8002f5a: 687b ldr r3, [r7, #4] - 8002f5c: 621a str r2, [r3, #32] + 800307e: 687b ldr r3, [r7, #4] + 8003080: 6a1b ldr r3, [r3, #32] + 8003082: f423 5280 bic.w r2, r3, #4096 ; 0x1000 + 8003086: 687b ldr r3, [r7, #4] + 8003088: 621a str r2, [r3, #32] /* Get the TIMx CCER register value */ tmpccer = TIMx->CCER; - 8002f5e: 687b ldr r3, [r7, #4] - 8002f60: 6a1b ldr r3, [r3, #32] - 8002f62: 613b str r3, [r7, #16] + 800308a: 687b ldr r3, [r7, #4] + 800308c: 6a1b ldr r3, [r3, #32] + 800308e: 613b str r3, [r7, #16] /* Get the TIMx CR2 register value */ tmpcr2 = TIMx->CR2; - 8002f64: 687b ldr r3, [r7, #4] - 8002f66: 685b ldr r3, [r3, #4] - 8002f68: 617b str r3, [r7, #20] + 8003090: 687b ldr r3, [r7, #4] + 8003092: 685b ldr r3, [r3, #4] + 8003094: 617b str r3, [r7, #20] /* Get the TIMx CCMR2 register value */ tmpccmrx = TIMx->CCMR2; - 8002f6a: 687b ldr r3, [r7, #4] - 8002f6c: 69db ldr r3, [r3, #28] - 8002f6e: 60fb str r3, [r7, #12] + 8003096: 687b ldr r3, [r7, #4] + 8003098: 69db ldr r3, [r3, #28] + 800309a: 60fb str r3, [r7, #12] /* Reset the Output Compare mode and Capture/Compare selection Bits */ tmpccmrx &= ~TIM_CCMR2_OC4M; - 8002f70: 68fa ldr r2, [r7, #12] - 8002f72: 4b1e ldr r3, [pc, #120] ; (8002fec ) - 8002f74: 4013 ands r3, r2 - 8002f76: 60fb str r3, [r7, #12] + 800309c: 68fa ldr r2, [r7, #12] + 800309e: 4b1e ldr r3, [pc, #120] ; (8003118 ) + 80030a0: 4013 ands r3, r2 + 80030a2: 60fb str r3, [r7, #12] tmpccmrx &= ~TIM_CCMR2_CC4S; - 8002f78: 68fb ldr r3, [r7, #12] - 8002f7a: f423 7340 bic.w r3, r3, #768 ; 0x300 - 8002f7e: 60fb str r3, [r7, #12] + 80030a4: 68fb ldr r3, [r7, #12] + 80030a6: f423 7340 bic.w r3, r3, #768 ; 0x300 + 80030aa: 60fb str r3, [r7, #12] /* Select the Output Compare Mode */ tmpccmrx |= (OC_Config->OCMode << 8U); - 8002f80: 683b ldr r3, [r7, #0] - 8002f82: 681b ldr r3, [r3, #0] - 8002f84: 021b lsls r3, r3, #8 - 8002f86: 68fa ldr r2, [r7, #12] - 8002f88: 4313 orrs r3, r2 - 8002f8a: 60fb str r3, [r7, #12] + 80030ac: 683b ldr r3, [r7, #0] + 80030ae: 681b ldr r3, [r3, #0] + 80030b0: 021b lsls r3, r3, #8 + 80030b2: 68fa ldr r2, [r7, #12] + 80030b4: 4313 orrs r3, r2 + 80030b6: 60fb str r3, [r7, #12] /* Reset the Output Polarity level */ tmpccer &= ~TIM_CCER_CC4P; - 8002f8c: 693b ldr r3, [r7, #16] - 8002f8e: f423 5300 bic.w r3, r3, #8192 ; 0x2000 - 8002f92: 613b str r3, [r7, #16] + 80030b8: 693b ldr r3, [r7, #16] + 80030ba: f423 5300 bic.w r3, r3, #8192 ; 0x2000 + 80030be: 613b str r3, [r7, #16] /* Set the Output Compare Polarity */ tmpccer |= (OC_Config->OCPolarity << 12U); - 8002f94: 683b ldr r3, [r7, #0] - 8002f96: 689b ldr r3, [r3, #8] - 8002f98: 031b lsls r3, r3, #12 - 8002f9a: 693a ldr r2, [r7, #16] - 8002f9c: 4313 orrs r3, r2 - 8002f9e: 613b str r3, [r7, #16] + 80030c0: 683b ldr r3, [r7, #0] + 80030c2: 689b ldr r3, [r3, #8] + 80030c4: 031b lsls r3, r3, #12 + 80030c6: 693a ldr r2, [r7, #16] + 80030c8: 4313 orrs r3, r2 + 80030ca: 613b str r3, [r7, #16] if (IS_TIM_BREAK_INSTANCE(TIMx)) - 8002fa0: 687b ldr r3, [r7, #4] - 8002fa2: 4a13 ldr r2, [pc, #76] ; (8002ff0 ) - 8002fa4: 4293 cmp r3, r2 - 8002fa6: d003 beq.n 8002fb0 - 8002fa8: 687b ldr r3, [r7, #4] - 8002faa: 4a12 ldr r2, [pc, #72] ; (8002ff4 ) - 8002fac: 4293 cmp r3, r2 - 8002fae: d109 bne.n 8002fc4 + 80030cc: 687b ldr r3, [r7, #4] + 80030ce: 4a13 ldr r2, [pc, #76] ; (800311c ) + 80030d0: 4293 cmp r3, r2 + 80030d2: d003 beq.n 80030dc + 80030d4: 687b ldr r3, [r7, #4] + 80030d6: 4a12 ldr r2, [pc, #72] ; (8003120 ) + 80030d8: 4293 cmp r3, r2 + 80030da: d109 bne.n 80030f0 { /* Check parameters */ assert_param(IS_TIM_OCIDLE_STATE(OC_Config->OCIdleState)); /* Reset the Output Compare IDLE State */ tmpcr2 &= ~TIM_CR2_OIS4; - 8002fb0: 697b ldr r3, [r7, #20] - 8002fb2: f423 4380 bic.w r3, r3, #16384 ; 0x4000 - 8002fb6: 617b str r3, [r7, #20] + 80030dc: 697b ldr r3, [r7, #20] + 80030de: f423 4380 bic.w r3, r3, #16384 ; 0x4000 + 80030e2: 617b str r3, [r7, #20] /* Set the Output Idle state */ tmpcr2 |= (OC_Config->OCIdleState << 6U); - 8002fb8: 683b ldr r3, [r7, #0] - 8002fba: 695b ldr r3, [r3, #20] - 8002fbc: 019b lsls r3, r3, #6 - 8002fbe: 697a ldr r2, [r7, #20] - 8002fc0: 4313 orrs r3, r2 - 8002fc2: 617b str r3, [r7, #20] + 80030e4: 683b ldr r3, [r7, #0] + 80030e6: 695b ldr r3, [r3, #20] + 80030e8: 019b lsls r3, r3, #6 + 80030ea: 697a ldr r2, [r7, #20] + 80030ec: 4313 orrs r3, r2 + 80030ee: 617b str r3, [r7, #20] } /* Write to TIMx CR2 */ TIMx->CR2 = tmpcr2; - 8002fc4: 687b ldr r3, [r7, #4] - 8002fc6: 697a ldr r2, [r7, #20] - 8002fc8: 605a str r2, [r3, #4] + 80030f0: 687b ldr r3, [r7, #4] + 80030f2: 697a ldr r2, [r7, #20] + 80030f4: 605a str r2, [r3, #4] /* Write to TIMx CCMR2 */ TIMx->CCMR2 = tmpccmrx; - 8002fca: 687b ldr r3, [r7, #4] - 8002fcc: 68fa ldr r2, [r7, #12] - 8002fce: 61da str r2, [r3, #28] + 80030f6: 687b ldr r3, [r7, #4] + 80030f8: 68fa ldr r2, [r7, #12] + 80030fa: 61da str r2, [r3, #28] /* Set the Capture Compare Register value */ TIMx->CCR4 = OC_Config->Pulse; - 8002fd0: 683b ldr r3, [r7, #0] - 8002fd2: 685a ldr r2, [r3, #4] - 8002fd4: 687b ldr r3, [r7, #4] - 8002fd6: 641a str r2, [r3, #64] ; 0x40 + 80030fc: 683b ldr r3, [r7, #0] + 80030fe: 685a ldr r2, [r3, #4] + 8003100: 687b ldr r3, [r7, #4] + 8003102: 641a str r2, [r3, #64] ; 0x40 /* Write to TIMx CCER */ TIMx->CCER = tmpccer; - 8002fd8: 687b ldr r3, [r7, #4] - 8002fda: 693a ldr r2, [r7, #16] - 8002fdc: 621a str r2, [r3, #32] -} - 8002fde: bf00 nop - 8002fe0: 371c adds r7, #28 - 8002fe2: 46bd mov sp, r7 - 8002fe4: f85d 7b04 ldr.w r7, [sp], #4 - 8002fe8: 4770 bx lr - 8002fea: bf00 nop - 8002fec: feff8fff .word 0xfeff8fff - 8002ff0: 40010000 .word 0x40010000 - 8002ff4: 40010400 .word 0x40010400 - -08002ff8 : + 8003104: 687b ldr r3, [r7, #4] + 8003106: 693a ldr r2, [r7, #16] + 8003108: 621a str r2, [r3, #32] +} + 800310a: bf00 nop + 800310c: 371c adds r7, #28 + 800310e: 46bd mov sp, r7 + 8003110: f85d 7b04 ldr.w r7, [sp], #4 + 8003114: 4770 bx lr + 8003116: bf00 nop + 8003118: feff8fff .word 0xfeff8fff + 800311c: 40010000 .word 0x40010000 + 8003120: 40010400 .word 0x40010400 + +08003124 : * @param OC_Config The ouput configuration structure * @retval None */ static void TIM_OC5_SetConfig(TIM_TypeDef *TIMx, TIM_OC_InitTypeDef *OC_Config) { - 8002ff8: b480 push {r7} - 8002ffa: b087 sub sp, #28 - 8002ffc: af00 add r7, sp, #0 - 8002ffe: 6078 str r0, [r7, #4] - 8003000: 6039 str r1, [r7, #0] + 8003124: b480 push {r7} + 8003126: b087 sub sp, #28 + 8003128: af00 add r7, sp, #0 + 800312a: 6078 str r0, [r7, #4] + 800312c: 6039 str r1, [r7, #0] uint32_t tmpccmrx; uint32_t tmpccer; uint32_t tmpcr2; /* Disable the output: Reset the CCxE Bit */ TIMx->CCER &= ~TIM_CCER_CC5E; - 8003002: 687b ldr r3, [r7, #4] - 8003004: 6a1b ldr r3, [r3, #32] - 8003006: f423 3280 bic.w r2, r3, #65536 ; 0x10000 - 800300a: 687b ldr r3, [r7, #4] - 800300c: 621a str r2, [r3, #32] + 800312e: 687b ldr r3, [r7, #4] + 8003130: 6a1b ldr r3, [r3, #32] + 8003132: f423 3280 bic.w r2, r3, #65536 ; 0x10000 + 8003136: 687b ldr r3, [r7, #4] + 8003138: 621a str r2, [r3, #32] /* Get the TIMx CCER register value */ tmpccer = TIMx->CCER; - 800300e: 687b ldr r3, [r7, #4] - 8003010: 6a1b ldr r3, [r3, #32] - 8003012: 613b str r3, [r7, #16] + 800313a: 687b ldr r3, [r7, #4] + 800313c: 6a1b ldr r3, [r3, #32] + 800313e: 613b str r3, [r7, #16] /* Get the TIMx CR2 register value */ tmpcr2 = TIMx->CR2; - 8003014: 687b ldr r3, [r7, #4] - 8003016: 685b ldr r3, [r3, #4] - 8003018: 617b str r3, [r7, #20] + 8003140: 687b ldr r3, [r7, #4] + 8003142: 685b ldr r3, [r3, #4] + 8003144: 617b str r3, [r7, #20] /* Get the TIMx CCMR1 register value */ tmpccmrx = TIMx->CCMR3; - 800301a: 687b ldr r3, [r7, #4] - 800301c: 6d5b ldr r3, [r3, #84] ; 0x54 - 800301e: 60fb str r3, [r7, #12] + 8003146: 687b ldr r3, [r7, #4] + 8003148: 6d5b ldr r3, [r3, #84] ; 0x54 + 800314a: 60fb str r3, [r7, #12] /* Reset the Output Compare Mode Bits */ tmpccmrx &= ~(TIM_CCMR3_OC5M); - 8003020: 68fa ldr r2, [r7, #12] - 8003022: 4b1b ldr r3, [pc, #108] ; (8003090 ) - 8003024: 4013 ands r3, r2 - 8003026: 60fb str r3, [r7, #12] + 800314c: 68fa ldr r2, [r7, #12] + 800314e: 4b1b ldr r3, [pc, #108] ; (80031bc ) + 8003150: 4013 ands r3, r2 + 8003152: 60fb str r3, [r7, #12] /* Select the Output Compare Mode */ tmpccmrx |= OC_Config->OCMode; - 8003028: 683b ldr r3, [r7, #0] - 800302a: 681b ldr r3, [r3, #0] - 800302c: 68fa ldr r2, [r7, #12] - 800302e: 4313 orrs r3, r2 - 8003030: 60fb str r3, [r7, #12] + 8003154: 683b ldr r3, [r7, #0] + 8003156: 681b ldr r3, [r3, #0] + 8003158: 68fa ldr r2, [r7, #12] + 800315a: 4313 orrs r3, r2 + 800315c: 60fb str r3, [r7, #12] /* Reset the Output Polarity level */ tmpccer &= ~TIM_CCER_CC5P; - 8003032: 693b ldr r3, [r7, #16] - 8003034: f423 3300 bic.w r3, r3, #131072 ; 0x20000 - 8003038: 613b str r3, [r7, #16] + 800315e: 693b ldr r3, [r7, #16] + 8003160: f423 3300 bic.w r3, r3, #131072 ; 0x20000 + 8003164: 613b str r3, [r7, #16] /* Set the Output Compare Polarity */ tmpccer |= (OC_Config->OCPolarity << 16U); - 800303a: 683b ldr r3, [r7, #0] - 800303c: 689b ldr r3, [r3, #8] - 800303e: 041b lsls r3, r3, #16 - 8003040: 693a ldr r2, [r7, #16] - 8003042: 4313 orrs r3, r2 - 8003044: 613b str r3, [r7, #16] + 8003166: 683b ldr r3, [r7, #0] + 8003168: 689b ldr r3, [r3, #8] + 800316a: 041b lsls r3, r3, #16 + 800316c: 693a ldr r2, [r7, #16] + 800316e: 4313 orrs r3, r2 + 8003170: 613b str r3, [r7, #16] if (IS_TIM_BREAK_INSTANCE(TIMx)) - 8003046: 687b ldr r3, [r7, #4] - 8003048: 4a12 ldr r2, [pc, #72] ; (8003094 ) - 800304a: 4293 cmp r3, r2 - 800304c: d003 beq.n 8003056 - 800304e: 687b ldr r3, [r7, #4] - 8003050: 4a11 ldr r2, [pc, #68] ; (8003098 ) - 8003052: 4293 cmp r3, r2 - 8003054: d109 bne.n 800306a + 8003172: 687b ldr r3, [r7, #4] + 8003174: 4a12 ldr r2, [pc, #72] ; (80031c0 ) + 8003176: 4293 cmp r3, r2 + 8003178: d003 beq.n 8003182 + 800317a: 687b ldr r3, [r7, #4] + 800317c: 4a11 ldr r2, [pc, #68] ; (80031c4 ) + 800317e: 4293 cmp r3, r2 + 8003180: d109 bne.n 8003196 { /* Reset the Output Compare IDLE State */ tmpcr2 &= ~TIM_CR2_OIS5; - 8003056: 697b ldr r3, [r7, #20] - 8003058: f423 3380 bic.w r3, r3, #65536 ; 0x10000 - 800305c: 617b str r3, [r7, #20] + 8003182: 697b ldr r3, [r7, #20] + 8003184: f423 3380 bic.w r3, r3, #65536 ; 0x10000 + 8003188: 617b str r3, [r7, #20] /* Set the Output Idle state */ tmpcr2 |= (OC_Config->OCIdleState << 8U); - 800305e: 683b ldr r3, [r7, #0] - 8003060: 695b ldr r3, [r3, #20] - 8003062: 021b lsls r3, r3, #8 - 8003064: 697a ldr r2, [r7, #20] - 8003066: 4313 orrs r3, r2 - 8003068: 617b str r3, [r7, #20] + 800318a: 683b ldr r3, [r7, #0] + 800318c: 695b ldr r3, [r3, #20] + 800318e: 021b lsls r3, r3, #8 + 8003190: 697a ldr r2, [r7, #20] + 8003192: 4313 orrs r3, r2 + 8003194: 617b str r3, [r7, #20] } /* Write to TIMx CR2 */ TIMx->CR2 = tmpcr2; - 800306a: 687b ldr r3, [r7, #4] - 800306c: 697a ldr r2, [r7, #20] - 800306e: 605a str r2, [r3, #4] + 8003196: 687b ldr r3, [r7, #4] + 8003198: 697a ldr r2, [r7, #20] + 800319a: 605a str r2, [r3, #4] /* Write to TIMx CCMR3 */ TIMx->CCMR3 = tmpccmrx; - 8003070: 687b ldr r3, [r7, #4] - 8003072: 68fa ldr r2, [r7, #12] - 8003074: 655a str r2, [r3, #84] ; 0x54 + 800319c: 687b ldr r3, [r7, #4] + 800319e: 68fa ldr r2, [r7, #12] + 80031a0: 655a str r2, [r3, #84] ; 0x54 /* Set the Capture Compare Register value */ TIMx->CCR5 = OC_Config->Pulse; - 8003076: 683b ldr r3, [r7, #0] - 8003078: 685a ldr r2, [r3, #4] - 800307a: 687b ldr r3, [r7, #4] - 800307c: 659a str r2, [r3, #88] ; 0x58 + 80031a2: 683b ldr r3, [r7, #0] + 80031a4: 685a ldr r2, [r3, #4] + 80031a6: 687b ldr r3, [r7, #4] + 80031a8: 659a str r2, [r3, #88] ; 0x58 /* Write to TIMx CCER */ TIMx->CCER = tmpccer; - 800307e: 687b ldr r3, [r7, #4] - 8003080: 693a ldr r2, [r7, #16] - 8003082: 621a str r2, [r3, #32] -} - 8003084: bf00 nop - 8003086: 371c adds r7, #28 - 8003088: 46bd mov sp, r7 - 800308a: f85d 7b04 ldr.w r7, [sp], #4 - 800308e: 4770 bx lr - 8003090: fffeff8f .word 0xfffeff8f - 8003094: 40010000 .word 0x40010000 - 8003098: 40010400 .word 0x40010400 - -0800309c : + 80031aa: 687b ldr r3, [r7, #4] + 80031ac: 693a ldr r2, [r7, #16] + 80031ae: 621a str r2, [r3, #32] +} + 80031b0: bf00 nop + 80031b2: 371c adds r7, #28 + 80031b4: 46bd mov sp, r7 + 80031b6: f85d 7b04 ldr.w r7, [sp], #4 + 80031ba: 4770 bx lr + 80031bc: fffeff8f .word 0xfffeff8f + 80031c0: 40010000 .word 0x40010000 + 80031c4: 40010400 .word 0x40010400 + +080031c8 : * @param OC_Config The ouput configuration structure * @retval None */ static void TIM_OC6_SetConfig(TIM_TypeDef *TIMx, TIM_OC_InitTypeDef *OC_Config) { - 800309c: b480 push {r7} - 800309e: b087 sub sp, #28 - 80030a0: af00 add r7, sp, #0 - 80030a2: 6078 str r0, [r7, #4] - 80030a4: 6039 str r1, [r7, #0] + 80031c8: b480 push {r7} + 80031ca: b087 sub sp, #28 + 80031cc: af00 add r7, sp, #0 + 80031ce: 6078 str r0, [r7, #4] + 80031d0: 6039 str r1, [r7, #0] uint32_t tmpccmrx; uint32_t tmpccer; uint32_t tmpcr2; /* Disable the output: Reset the CCxE Bit */ TIMx->CCER &= ~TIM_CCER_CC6E; - 80030a6: 687b ldr r3, [r7, #4] - 80030a8: 6a1b ldr r3, [r3, #32] - 80030aa: f423 1280 bic.w r2, r3, #1048576 ; 0x100000 - 80030ae: 687b ldr r3, [r7, #4] - 80030b0: 621a str r2, [r3, #32] + 80031d2: 687b ldr r3, [r7, #4] + 80031d4: 6a1b ldr r3, [r3, #32] + 80031d6: f423 1280 bic.w r2, r3, #1048576 ; 0x100000 + 80031da: 687b ldr r3, [r7, #4] + 80031dc: 621a str r2, [r3, #32] /* Get the TIMx CCER register value */ tmpccer = TIMx->CCER; - 80030b2: 687b ldr r3, [r7, #4] - 80030b4: 6a1b ldr r3, [r3, #32] - 80030b6: 613b str r3, [r7, #16] + 80031de: 687b ldr r3, [r7, #4] + 80031e0: 6a1b ldr r3, [r3, #32] + 80031e2: 613b str r3, [r7, #16] /* Get the TIMx CR2 register value */ tmpcr2 = TIMx->CR2; - 80030b8: 687b ldr r3, [r7, #4] - 80030ba: 685b ldr r3, [r3, #4] - 80030bc: 617b str r3, [r7, #20] + 80031e4: 687b ldr r3, [r7, #4] + 80031e6: 685b ldr r3, [r3, #4] + 80031e8: 617b str r3, [r7, #20] /* Get the TIMx CCMR1 register value */ tmpccmrx = TIMx->CCMR3; - 80030be: 687b ldr r3, [r7, #4] - 80030c0: 6d5b ldr r3, [r3, #84] ; 0x54 - 80030c2: 60fb str r3, [r7, #12] + 80031ea: 687b ldr r3, [r7, #4] + 80031ec: 6d5b ldr r3, [r3, #84] ; 0x54 + 80031ee: 60fb str r3, [r7, #12] /* Reset the Output Compare Mode Bits */ tmpccmrx &= ~(TIM_CCMR3_OC6M); - 80030c4: 68fa ldr r2, [r7, #12] - 80030c6: 4b1c ldr r3, [pc, #112] ; (8003138 ) - 80030c8: 4013 ands r3, r2 - 80030ca: 60fb str r3, [r7, #12] + 80031f0: 68fa ldr r2, [r7, #12] + 80031f2: 4b1c ldr r3, [pc, #112] ; (8003264 ) + 80031f4: 4013 ands r3, r2 + 80031f6: 60fb str r3, [r7, #12] /* Select the Output Compare Mode */ tmpccmrx |= (OC_Config->OCMode << 8U); - 80030cc: 683b ldr r3, [r7, #0] - 80030ce: 681b ldr r3, [r3, #0] - 80030d0: 021b lsls r3, r3, #8 - 80030d2: 68fa ldr r2, [r7, #12] - 80030d4: 4313 orrs r3, r2 - 80030d6: 60fb str r3, [r7, #12] + 80031f8: 683b ldr r3, [r7, #0] + 80031fa: 681b ldr r3, [r3, #0] + 80031fc: 021b lsls r3, r3, #8 + 80031fe: 68fa ldr r2, [r7, #12] + 8003200: 4313 orrs r3, r2 + 8003202: 60fb str r3, [r7, #12] /* Reset the Output Polarity level */ tmpccer &= (uint32_t)~TIM_CCER_CC6P; - 80030d8: 693b ldr r3, [r7, #16] - 80030da: f423 1300 bic.w r3, r3, #2097152 ; 0x200000 - 80030de: 613b str r3, [r7, #16] + 8003204: 693b ldr r3, [r7, #16] + 8003206: f423 1300 bic.w r3, r3, #2097152 ; 0x200000 + 800320a: 613b str r3, [r7, #16] /* Set the Output Compare Polarity */ tmpccer |= (OC_Config->OCPolarity << 20U); - 80030e0: 683b ldr r3, [r7, #0] - 80030e2: 689b ldr r3, [r3, #8] - 80030e4: 051b lsls r3, r3, #20 - 80030e6: 693a ldr r2, [r7, #16] - 80030e8: 4313 orrs r3, r2 - 80030ea: 613b str r3, [r7, #16] + 800320c: 683b ldr r3, [r7, #0] + 800320e: 689b ldr r3, [r3, #8] + 8003210: 051b lsls r3, r3, #20 + 8003212: 693a ldr r2, [r7, #16] + 8003214: 4313 orrs r3, r2 + 8003216: 613b str r3, [r7, #16] if (IS_TIM_BREAK_INSTANCE(TIMx)) - 80030ec: 687b ldr r3, [r7, #4] - 80030ee: 4a13 ldr r2, [pc, #76] ; (800313c ) - 80030f0: 4293 cmp r3, r2 - 80030f2: d003 beq.n 80030fc - 80030f4: 687b ldr r3, [r7, #4] - 80030f6: 4a12 ldr r2, [pc, #72] ; (8003140 ) - 80030f8: 4293 cmp r3, r2 - 80030fa: d109 bne.n 8003110 + 8003218: 687b ldr r3, [r7, #4] + 800321a: 4a13 ldr r2, [pc, #76] ; (8003268 ) + 800321c: 4293 cmp r3, r2 + 800321e: d003 beq.n 8003228 + 8003220: 687b ldr r3, [r7, #4] + 8003222: 4a12 ldr r2, [pc, #72] ; (800326c ) + 8003224: 4293 cmp r3, r2 + 8003226: d109 bne.n 800323c { /* Reset the Output Compare IDLE State */ tmpcr2 &= ~TIM_CR2_OIS6; - 80030fc: 697b ldr r3, [r7, #20] - 80030fe: f423 2380 bic.w r3, r3, #262144 ; 0x40000 - 8003102: 617b str r3, [r7, #20] + 8003228: 697b ldr r3, [r7, #20] + 800322a: f423 2380 bic.w r3, r3, #262144 ; 0x40000 + 800322e: 617b str r3, [r7, #20] /* Set the Output Idle state */ tmpcr2 |= (OC_Config->OCIdleState << 10U); - 8003104: 683b ldr r3, [r7, #0] - 8003106: 695b ldr r3, [r3, #20] - 8003108: 029b lsls r3, r3, #10 - 800310a: 697a ldr r2, [r7, #20] - 800310c: 4313 orrs r3, r2 - 800310e: 617b str r3, [r7, #20] + 8003230: 683b ldr r3, [r7, #0] + 8003232: 695b ldr r3, [r3, #20] + 8003234: 029b lsls r3, r3, #10 + 8003236: 697a ldr r2, [r7, #20] + 8003238: 4313 orrs r3, r2 + 800323a: 617b str r3, [r7, #20] } /* Write to TIMx CR2 */ TIMx->CR2 = tmpcr2; - 8003110: 687b ldr r3, [r7, #4] - 8003112: 697a ldr r2, [r7, #20] - 8003114: 605a str r2, [r3, #4] + 800323c: 687b ldr r3, [r7, #4] + 800323e: 697a ldr r2, [r7, #20] + 8003240: 605a str r2, [r3, #4] /* Write to TIMx CCMR3 */ TIMx->CCMR3 = tmpccmrx; - 8003116: 687b ldr r3, [r7, #4] - 8003118: 68fa ldr r2, [r7, #12] - 800311a: 655a str r2, [r3, #84] ; 0x54 + 8003242: 687b ldr r3, [r7, #4] + 8003244: 68fa ldr r2, [r7, #12] + 8003246: 655a str r2, [r3, #84] ; 0x54 /* Set the Capture Compare Register value */ TIMx->CCR6 = OC_Config->Pulse; - 800311c: 683b ldr r3, [r7, #0] - 800311e: 685a ldr r2, [r3, #4] - 8003120: 687b ldr r3, [r7, #4] - 8003122: 65da str r2, [r3, #92] ; 0x5c + 8003248: 683b ldr r3, [r7, #0] + 800324a: 685a ldr r2, [r3, #4] + 800324c: 687b ldr r3, [r7, #4] + 800324e: 65da str r2, [r3, #92] ; 0x5c /* Write to TIMx CCER */ TIMx->CCER = tmpccer; - 8003124: 687b ldr r3, [r7, #4] - 8003126: 693a ldr r2, [r7, #16] - 8003128: 621a str r2, [r3, #32] -} - 800312a: bf00 nop - 800312c: 371c adds r7, #28 - 800312e: 46bd mov sp, r7 - 8003130: f85d 7b04 ldr.w r7, [sp], #4 - 8003134: 4770 bx lr - 8003136: bf00 nop - 8003138: feff8fff .word 0xfeff8fff - 800313c: 40010000 .word 0x40010000 - 8003140: 40010400 .word 0x40010400 - -08003144 : + 8003250: 687b ldr r3, [r7, #4] + 8003252: 693a ldr r2, [r7, #16] + 8003254: 621a str r2, [r3, #32] +} + 8003256: bf00 nop + 8003258: 371c adds r7, #28 + 800325a: 46bd mov sp, r7 + 800325c: f85d 7b04 ldr.w r7, [sp], #4 + 8003260: 4770 bx lr + 8003262: bf00 nop + 8003264: feff8fff .word 0xfeff8fff + 8003268: 40010000 .word 0x40010000 + 800326c: 40010400 .word 0x40010400 + +08003270 : * @param TIM_ICFilter Specifies the Input Capture Filter. * This parameter must be a value between 0x00 and 0x0F. * @retval None */ static void TIM_TI1_ConfigInputStage(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICFilter) { - 8003144: b480 push {r7} - 8003146: b087 sub sp, #28 - 8003148: af00 add r7, sp, #0 - 800314a: 60f8 str r0, [r7, #12] - 800314c: 60b9 str r1, [r7, #8] - 800314e: 607a str r2, [r7, #4] + 8003270: b480 push {r7} + 8003272: b087 sub sp, #28 + 8003274: af00 add r7, sp, #0 + 8003276: 60f8 str r0, [r7, #12] + 8003278: 60b9 str r1, [r7, #8] + 800327a: 607a str r2, [r7, #4] uint32_t tmpccmr1; uint32_t tmpccer; /* Disable the Channel 1: Reset the CC1E Bit */ tmpccer = TIMx->CCER; - 8003150: 68fb ldr r3, [r7, #12] - 8003152: 6a1b ldr r3, [r3, #32] - 8003154: 617b str r3, [r7, #20] + 800327c: 68fb ldr r3, [r7, #12] + 800327e: 6a1b ldr r3, [r3, #32] + 8003280: 617b str r3, [r7, #20] TIMx->CCER &= ~TIM_CCER_CC1E; - 8003156: 68fb ldr r3, [r7, #12] - 8003158: 6a1b ldr r3, [r3, #32] - 800315a: f023 0201 bic.w r2, r3, #1 - 800315e: 68fb ldr r3, [r7, #12] - 8003160: 621a str r2, [r3, #32] + 8003282: 68fb ldr r3, [r7, #12] + 8003284: 6a1b ldr r3, [r3, #32] + 8003286: f023 0201 bic.w r2, r3, #1 + 800328a: 68fb ldr r3, [r7, #12] + 800328c: 621a str r2, [r3, #32] tmpccmr1 = TIMx->CCMR1; - 8003162: 68fb ldr r3, [r7, #12] - 8003164: 699b ldr r3, [r3, #24] - 8003166: 613b str r3, [r7, #16] + 800328e: 68fb ldr r3, [r7, #12] + 8003290: 699b ldr r3, [r3, #24] + 8003292: 613b str r3, [r7, #16] /* Set the filter */ tmpccmr1 &= ~TIM_CCMR1_IC1F; - 8003168: 693b ldr r3, [r7, #16] - 800316a: f023 03f0 bic.w r3, r3, #240 ; 0xf0 - 800316e: 613b str r3, [r7, #16] + 8003294: 693b ldr r3, [r7, #16] + 8003296: f023 03f0 bic.w r3, r3, #240 ; 0xf0 + 800329a: 613b str r3, [r7, #16] tmpccmr1 |= (TIM_ICFilter << 4U); - 8003170: 687b ldr r3, [r7, #4] - 8003172: 011b lsls r3, r3, #4 - 8003174: 693a ldr r2, [r7, #16] - 8003176: 4313 orrs r3, r2 - 8003178: 613b str r3, [r7, #16] + 800329c: 687b ldr r3, [r7, #4] + 800329e: 011b lsls r3, r3, #4 + 80032a0: 693a ldr r2, [r7, #16] + 80032a2: 4313 orrs r3, r2 + 80032a4: 613b str r3, [r7, #16] /* Select the Polarity and set the CC1E Bit */ tmpccer &= ~(TIM_CCER_CC1P | TIM_CCER_CC1NP); - 800317a: 697b ldr r3, [r7, #20] - 800317c: f023 030a bic.w r3, r3, #10 - 8003180: 617b str r3, [r7, #20] + 80032a6: 697b ldr r3, [r7, #20] + 80032a8: f023 030a bic.w r3, r3, #10 + 80032ac: 617b str r3, [r7, #20] tmpccer |= TIM_ICPolarity; - 8003182: 697a ldr r2, [r7, #20] - 8003184: 68bb ldr r3, [r7, #8] - 8003186: 4313 orrs r3, r2 - 8003188: 617b str r3, [r7, #20] + 80032ae: 697a ldr r2, [r7, #20] + 80032b0: 68bb ldr r3, [r7, #8] + 80032b2: 4313 orrs r3, r2 + 80032b4: 617b str r3, [r7, #20] /* Write to TIMx CCMR1 and CCER registers */ TIMx->CCMR1 = tmpccmr1; - 800318a: 68fb ldr r3, [r7, #12] - 800318c: 693a ldr r2, [r7, #16] - 800318e: 619a str r2, [r3, #24] + 80032b6: 68fb ldr r3, [r7, #12] + 80032b8: 693a ldr r2, [r7, #16] + 80032ba: 619a str r2, [r3, #24] TIMx->CCER = tmpccer; - 8003190: 68fb ldr r3, [r7, #12] - 8003192: 697a ldr r2, [r7, #20] - 8003194: 621a str r2, [r3, #32] + 80032bc: 68fb ldr r3, [r7, #12] + 80032be: 697a ldr r2, [r7, #20] + 80032c0: 621a str r2, [r3, #32] } - 8003196: bf00 nop - 8003198: 371c adds r7, #28 - 800319a: 46bd mov sp, r7 - 800319c: f85d 7b04 ldr.w r7, [sp], #4 - 80031a0: 4770 bx lr + 80032c2: bf00 nop + 80032c4: 371c adds r7, #28 + 80032c6: 46bd mov sp, r7 + 80032c8: f85d 7b04 ldr.w r7, [sp], #4 + 80032cc: 4770 bx lr -080031a2 : +080032ce : * @param TIM_ICFilter Specifies the Input Capture Filter. * This parameter must be a value between 0x00 and 0x0F. * @retval None */ static void TIM_TI2_ConfigInputStage(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICFilter) { - 80031a2: b480 push {r7} - 80031a4: b087 sub sp, #28 - 80031a6: af00 add r7, sp, #0 - 80031a8: 60f8 str r0, [r7, #12] - 80031aa: 60b9 str r1, [r7, #8] - 80031ac: 607a str r2, [r7, #4] + 80032ce: b480 push {r7} + 80032d0: b087 sub sp, #28 + 80032d2: af00 add r7, sp, #0 + 80032d4: 60f8 str r0, [r7, #12] + 80032d6: 60b9 str r1, [r7, #8] + 80032d8: 607a str r2, [r7, #4] uint32_t tmpccmr1; uint32_t tmpccer; /* Disable the Channel 2: Reset the CC2E Bit */ TIMx->CCER &= ~TIM_CCER_CC2E; - 80031ae: 68fb ldr r3, [r7, #12] - 80031b0: 6a1b ldr r3, [r3, #32] - 80031b2: f023 0210 bic.w r2, r3, #16 - 80031b6: 68fb ldr r3, [r7, #12] - 80031b8: 621a str r2, [r3, #32] + 80032da: 68fb ldr r3, [r7, #12] + 80032dc: 6a1b ldr r3, [r3, #32] + 80032de: f023 0210 bic.w r2, r3, #16 + 80032e2: 68fb ldr r3, [r7, #12] + 80032e4: 621a str r2, [r3, #32] tmpccmr1 = TIMx->CCMR1; - 80031ba: 68fb ldr r3, [r7, #12] - 80031bc: 699b ldr r3, [r3, #24] - 80031be: 617b str r3, [r7, #20] + 80032e6: 68fb ldr r3, [r7, #12] + 80032e8: 699b ldr r3, [r3, #24] + 80032ea: 617b str r3, [r7, #20] tmpccer = TIMx->CCER; - 80031c0: 68fb ldr r3, [r7, #12] - 80031c2: 6a1b ldr r3, [r3, #32] - 80031c4: 613b str r3, [r7, #16] + 80032ec: 68fb ldr r3, [r7, #12] + 80032ee: 6a1b ldr r3, [r3, #32] + 80032f0: 613b str r3, [r7, #16] /* Set the filter */ tmpccmr1 &= ~TIM_CCMR1_IC2F; - 80031c6: 697b ldr r3, [r7, #20] - 80031c8: f423 4370 bic.w r3, r3, #61440 ; 0xf000 - 80031cc: 617b str r3, [r7, #20] + 80032f2: 697b ldr r3, [r7, #20] + 80032f4: f423 4370 bic.w r3, r3, #61440 ; 0xf000 + 80032f8: 617b str r3, [r7, #20] tmpccmr1 |= (TIM_ICFilter << 12U); - 80031ce: 687b ldr r3, [r7, #4] - 80031d0: 031b lsls r3, r3, #12 - 80031d2: 697a ldr r2, [r7, #20] - 80031d4: 4313 orrs r3, r2 - 80031d6: 617b str r3, [r7, #20] + 80032fa: 687b ldr r3, [r7, #4] + 80032fc: 031b lsls r3, r3, #12 + 80032fe: 697a ldr r2, [r7, #20] + 8003300: 4313 orrs r3, r2 + 8003302: 617b str r3, [r7, #20] /* Select the Polarity and set the CC2E Bit */ tmpccer &= ~(TIM_CCER_CC2P | TIM_CCER_CC2NP); - 80031d8: 693b ldr r3, [r7, #16] - 80031da: f023 03a0 bic.w r3, r3, #160 ; 0xa0 - 80031de: 613b str r3, [r7, #16] + 8003304: 693b ldr r3, [r7, #16] + 8003306: f023 03a0 bic.w r3, r3, #160 ; 0xa0 + 800330a: 613b str r3, [r7, #16] tmpccer |= (TIM_ICPolarity << 4U); - 80031e0: 68bb ldr r3, [r7, #8] - 80031e2: 011b lsls r3, r3, #4 - 80031e4: 693a ldr r2, [r7, #16] - 80031e6: 4313 orrs r3, r2 - 80031e8: 613b str r3, [r7, #16] + 800330c: 68bb ldr r3, [r7, #8] + 800330e: 011b lsls r3, r3, #4 + 8003310: 693a ldr r2, [r7, #16] + 8003312: 4313 orrs r3, r2 + 8003314: 613b str r3, [r7, #16] /* Write to TIMx CCMR1 and CCER registers */ TIMx->CCMR1 = tmpccmr1 ; - 80031ea: 68fb ldr r3, [r7, #12] - 80031ec: 697a ldr r2, [r7, #20] - 80031ee: 619a str r2, [r3, #24] + 8003316: 68fb ldr r3, [r7, #12] + 8003318: 697a ldr r2, [r7, #20] + 800331a: 619a str r2, [r3, #24] TIMx->CCER = tmpccer; - 80031f0: 68fb ldr r3, [r7, #12] - 80031f2: 693a ldr r2, [r7, #16] - 80031f4: 621a str r2, [r3, #32] + 800331c: 68fb ldr r3, [r7, #12] + 800331e: 693a ldr r2, [r7, #16] + 8003320: 621a str r2, [r3, #32] } - 80031f6: bf00 nop - 80031f8: 371c adds r7, #28 - 80031fa: 46bd mov sp, r7 - 80031fc: f85d 7b04 ldr.w r7, [sp], #4 - 8003200: 4770 bx lr + 8003322: bf00 nop + 8003324: 371c adds r7, #28 + 8003326: 46bd mov sp, r7 + 8003328: f85d 7b04 ldr.w r7, [sp], #4 + 800332c: 4770 bx lr -08003202 : +0800332e : * @arg TIM_TS_TI2FP2: Filtered Timer Input 2 * @arg TIM_TS_ETRF: External Trigger input * @retval None */ static void TIM_ITRx_SetConfig(TIM_TypeDef *TIMx, uint32_t InputTriggerSource) { - 8003202: b480 push {r7} - 8003204: b085 sub sp, #20 - 8003206: af00 add r7, sp, #0 - 8003208: 6078 str r0, [r7, #4] - 800320a: 6039 str r1, [r7, #0] + 800332e: b480 push {r7} + 8003330: b085 sub sp, #20 + 8003332: af00 add r7, sp, #0 + 8003334: 6078 str r0, [r7, #4] + 8003336: 6039 str r1, [r7, #0] uint32_t tmpsmcr; /* Get the TIMx SMCR register value */ tmpsmcr = TIMx->SMCR; - 800320c: 687b ldr r3, [r7, #4] - 800320e: 689b ldr r3, [r3, #8] - 8003210: 60fb str r3, [r7, #12] + 8003338: 687b ldr r3, [r7, #4] + 800333a: 689b ldr r3, [r3, #8] + 800333c: 60fb str r3, [r7, #12] /* Reset the TS Bits */ tmpsmcr &= ~TIM_SMCR_TS; - 8003212: 68fb ldr r3, [r7, #12] - 8003214: f023 0370 bic.w r3, r3, #112 ; 0x70 - 8003218: 60fb str r3, [r7, #12] + 800333e: 68fb ldr r3, [r7, #12] + 8003340: f023 0370 bic.w r3, r3, #112 ; 0x70 + 8003344: 60fb str r3, [r7, #12] /* Set the Input Trigger source and the slave mode*/ tmpsmcr |= (InputTriggerSource | TIM_SLAVEMODE_EXTERNAL1); - 800321a: 683a ldr r2, [r7, #0] - 800321c: 68fb ldr r3, [r7, #12] - 800321e: 4313 orrs r3, r2 - 8003220: f043 0307 orr.w r3, r3, #7 - 8003224: 60fb str r3, [r7, #12] + 8003346: 683a ldr r2, [r7, #0] + 8003348: 68fb ldr r3, [r7, #12] + 800334a: 4313 orrs r3, r2 + 800334c: f043 0307 orr.w r3, r3, #7 + 8003350: 60fb str r3, [r7, #12] /* Write to TIMx SMCR */ TIMx->SMCR = tmpsmcr; - 8003226: 687b ldr r3, [r7, #4] - 8003228: 68fa ldr r2, [r7, #12] - 800322a: 609a str r2, [r3, #8] + 8003352: 687b ldr r3, [r7, #4] + 8003354: 68fa ldr r2, [r7, #12] + 8003356: 609a str r2, [r3, #8] } - 800322c: bf00 nop - 800322e: 3714 adds r7, #20 - 8003230: 46bd mov sp, r7 - 8003232: f85d 7b04 ldr.w r7, [sp], #4 - 8003236: 4770 bx lr + 8003358: bf00 nop + 800335a: 3714 adds r7, #20 + 800335c: 46bd mov sp, r7 + 800335e: f85d 7b04 ldr.w r7, [sp], #4 + 8003362: 4770 bx lr -08003238 : +08003364 : * This parameter must be a value between 0x00 and 0x0F * @retval None */ void TIM_ETR_SetConfig(TIM_TypeDef *TIMx, uint32_t TIM_ExtTRGPrescaler, uint32_t TIM_ExtTRGPolarity, uint32_t ExtTRGFilter) { - 8003238: b480 push {r7} - 800323a: b087 sub sp, #28 - 800323c: af00 add r7, sp, #0 - 800323e: 60f8 str r0, [r7, #12] - 8003240: 60b9 str r1, [r7, #8] - 8003242: 607a str r2, [r7, #4] - 8003244: 603b str r3, [r7, #0] + 8003364: b480 push {r7} + 8003366: b087 sub sp, #28 + 8003368: af00 add r7, sp, #0 + 800336a: 60f8 str r0, [r7, #12] + 800336c: 60b9 str r1, [r7, #8] + 800336e: 607a str r2, [r7, #4] + 8003370: 603b str r3, [r7, #0] uint32_t tmpsmcr; tmpsmcr = TIMx->SMCR; - 8003246: 68fb ldr r3, [r7, #12] - 8003248: 689b ldr r3, [r3, #8] - 800324a: 617b str r3, [r7, #20] + 8003372: 68fb ldr r3, [r7, #12] + 8003374: 689b ldr r3, [r3, #8] + 8003376: 617b str r3, [r7, #20] /* Reset the ETR Bits */ tmpsmcr &= ~(TIM_SMCR_ETF | TIM_SMCR_ETPS | TIM_SMCR_ECE | TIM_SMCR_ETP); - 800324c: 697b ldr r3, [r7, #20] - 800324e: f423 437f bic.w r3, r3, #65280 ; 0xff00 - 8003252: 617b str r3, [r7, #20] + 8003378: 697b ldr r3, [r7, #20] + 800337a: f423 437f bic.w r3, r3, #65280 ; 0xff00 + 800337e: 617b str r3, [r7, #20] /* Set the Prescaler, the Filter value and the Polarity */ tmpsmcr |= (uint32_t)(TIM_ExtTRGPrescaler | (TIM_ExtTRGPolarity | (ExtTRGFilter << 8U))); - 8003254: 683b ldr r3, [r7, #0] - 8003256: 021a lsls r2, r3, #8 - 8003258: 687b ldr r3, [r7, #4] - 800325a: 431a orrs r2, r3 - 800325c: 68bb ldr r3, [r7, #8] - 800325e: 4313 orrs r3, r2 - 8003260: 697a ldr r2, [r7, #20] - 8003262: 4313 orrs r3, r2 - 8003264: 617b str r3, [r7, #20] + 8003380: 683b ldr r3, [r7, #0] + 8003382: 021a lsls r2, r3, #8 + 8003384: 687b ldr r3, [r7, #4] + 8003386: 431a orrs r2, r3 + 8003388: 68bb ldr r3, [r7, #8] + 800338a: 4313 orrs r3, r2 + 800338c: 697a ldr r2, [r7, #20] + 800338e: 4313 orrs r3, r2 + 8003390: 617b str r3, [r7, #20] /* Write to TIMx SMCR */ TIMx->SMCR = tmpsmcr; - 8003266: 68fb ldr r3, [r7, #12] - 8003268: 697a ldr r2, [r7, #20] - 800326a: 609a str r2, [r3, #8] + 8003392: 68fb ldr r3, [r7, #12] + 8003394: 697a ldr r2, [r7, #20] + 8003396: 609a str r2, [r3, #8] } - 800326c: bf00 nop - 800326e: 371c adds r7, #28 - 8003270: 46bd mov sp, r7 - 8003272: f85d 7b04 ldr.w r7, [sp], #4 - 8003276: 4770 bx lr + 8003398: bf00 nop + 800339a: 371c adds r7, #28 + 800339c: 46bd mov sp, r7 + 800339e: f85d 7b04 ldr.w r7, [sp], #4 + 80033a2: 4770 bx lr -08003278 : +080033a4 : * @param ChannelState specifies the TIM Channel CCxE bit new state. * This parameter can be: TIM_CCx_ENABLE or TIM_CCx_DISABLE. * @retval None */ void TIM_CCxChannelCmd(TIM_TypeDef *TIMx, uint32_t Channel, uint32_t ChannelState) { - 8003278: b480 push {r7} - 800327a: b087 sub sp, #28 - 800327c: af00 add r7, sp, #0 - 800327e: 60f8 str r0, [r7, #12] - 8003280: 60b9 str r1, [r7, #8] - 8003282: 607a str r2, [r7, #4] + 80033a4: b480 push {r7} + 80033a6: b087 sub sp, #28 + 80033a8: af00 add r7, sp, #0 + 80033aa: 60f8 str r0, [r7, #12] + 80033ac: 60b9 str r1, [r7, #8] + 80033ae: 607a str r2, [r7, #4] /* Check the parameters */ assert_param(IS_TIM_CC1_INSTANCE(TIMx)); assert_param(IS_TIM_CHANNELS(Channel)); tmp = TIM_CCER_CC1E << (Channel & 0x1FU); /* 0x1FU = 31 bits max shift */ - 8003284: 68bb ldr r3, [r7, #8] - 8003286: f003 031f and.w r3, r3, #31 - 800328a: 2201 movs r2, #1 - 800328c: fa02 f303 lsl.w r3, r2, r3 - 8003290: 617b str r3, [r7, #20] + 80033b0: 68bb ldr r3, [r7, #8] + 80033b2: f003 031f and.w r3, r3, #31 + 80033b6: 2201 movs r2, #1 + 80033b8: fa02 f303 lsl.w r3, r2, r3 + 80033bc: 617b str r3, [r7, #20] /* Reset the CCxE Bit */ TIMx->CCER &= ~tmp; - 8003292: 68fb ldr r3, [r7, #12] - 8003294: 6a1a ldr r2, [r3, #32] - 8003296: 697b ldr r3, [r7, #20] - 8003298: 43db mvns r3, r3 - 800329a: 401a ands r2, r3 - 800329c: 68fb ldr r3, [r7, #12] - 800329e: 621a str r2, [r3, #32] + 80033be: 68fb ldr r3, [r7, #12] + 80033c0: 6a1a ldr r2, [r3, #32] + 80033c2: 697b ldr r3, [r7, #20] + 80033c4: 43db mvns r3, r3 + 80033c6: 401a ands r2, r3 + 80033c8: 68fb ldr r3, [r7, #12] + 80033ca: 621a str r2, [r3, #32] /* Set or reset the CCxE Bit */ TIMx->CCER |= (uint32_t)(ChannelState << (Channel & 0x1FU)); /* 0x1FU = 31 bits max shift */ - 80032a0: 68fb ldr r3, [r7, #12] - 80032a2: 6a1a ldr r2, [r3, #32] - 80032a4: 68bb ldr r3, [r7, #8] - 80032a6: f003 031f and.w r3, r3, #31 - 80032aa: 6879 ldr r1, [r7, #4] - 80032ac: fa01 f303 lsl.w r3, r1, r3 - 80032b0: 431a orrs r2, r3 - 80032b2: 68fb ldr r3, [r7, #12] - 80032b4: 621a str r2, [r3, #32] -} - 80032b6: bf00 nop - 80032b8: 371c adds r7, #28 - 80032ba: 46bd mov sp, r7 - 80032bc: f85d 7b04 ldr.w r7, [sp], #4 - 80032c0: 4770 bx lr + 80033cc: 68fb ldr r3, [r7, #12] + 80033ce: 6a1a ldr r2, [r3, #32] + 80033d0: 68bb ldr r3, [r7, #8] + 80033d2: f003 031f and.w r3, r3, #31 + 80033d6: 6879 ldr r1, [r7, #4] + 80033d8: fa01 f303 lsl.w r3, r1, r3 + 80033dc: 431a orrs r2, r3 + 80033de: 68fb ldr r3, [r7, #12] + 80033e0: 621a str r2, [r3, #32] +} + 80033e2: bf00 nop + 80033e4: 371c adds r7, #28 + 80033e6: 46bd mov sp, r7 + 80033e8: f85d 7b04 ldr.w r7, [sp], #4 + 80033ec: 4770 bx lr ... -080032c4 : +080033f0 : * mode. * @retval HAL status */ HAL_StatusTypeDef HAL_TIMEx_MasterConfigSynchronization(TIM_HandleTypeDef *htim, TIM_MasterConfigTypeDef *sMasterConfig) { - 80032c4: b480 push {r7} - 80032c6: b085 sub sp, #20 - 80032c8: af00 add r7, sp, #0 - 80032ca: 6078 str r0, [r7, #4] - 80032cc: 6039 str r1, [r7, #0] + 80033f0: b480 push {r7} + 80033f2: b085 sub sp, #20 + 80033f4: af00 add r7, sp, #0 + 80033f6: 6078 str r0, [r7, #4] + 80033f8: 6039 str r1, [r7, #0] assert_param(IS_TIM_SYNCHRO_INSTANCE(htim->Instance)); assert_param(IS_TIM_TRGO_SOURCE(sMasterConfig->MasterOutputTrigger)); assert_param(IS_TIM_MSM_STATE(sMasterConfig->MasterSlaveMode)); /* Check input state */ __HAL_LOCK(htim); - 80032ce: 687b ldr r3, [r7, #4] - 80032d0: f893 303c ldrb.w r3, [r3, #60] ; 0x3c - 80032d4: 2b01 cmp r3, #1 - 80032d6: d101 bne.n 80032dc - 80032d8: 2302 movs r3, #2 - 80032da: e045 b.n 8003368 - 80032dc: 687b ldr r3, [r7, #4] - 80032de: 2201 movs r2, #1 - 80032e0: f883 203c strb.w r2, [r3, #60] ; 0x3c + 80033fa: 687b ldr r3, [r7, #4] + 80033fc: f893 303c ldrb.w r3, [r3, #60] ; 0x3c + 8003400: 2b01 cmp r3, #1 + 8003402: d101 bne.n 8003408 + 8003404: 2302 movs r3, #2 + 8003406: e045 b.n 8003494 + 8003408: 687b ldr r3, [r7, #4] + 800340a: 2201 movs r2, #1 + 800340c: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Change the handler state */ htim->State = HAL_TIM_STATE_BUSY; - 80032e4: 687b ldr r3, [r7, #4] - 80032e6: 2202 movs r2, #2 - 80032e8: f883 203d strb.w r2, [r3, #61] ; 0x3d + 8003410: 687b ldr r3, [r7, #4] + 8003412: 2202 movs r2, #2 + 8003414: f883 203d strb.w r2, [r3, #61] ; 0x3d /* Get the TIMx CR2 register value */ tmpcr2 = htim->Instance->CR2; - 80032ec: 687b ldr r3, [r7, #4] - 80032ee: 681b ldr r3, [r3, #0] - 80032f0: 685b ldr r3, [r3, #4] - 80032f2: 60fb str r3, [r7, #12] + 8003418: 687b ldr r3, [r7, #4] + 800341a: 681b ldr r3, [r3, #0] + 800341c: 685b ldr r3, [r3, #4] + 800341e: 60fb str r3, [r7, #12] /* Get the TIMx SMCR register value */ tmpsmcr = htim->Instance->SMCR; - 80032f4: 687b ldr r3, [r7, #4] - 80032f6: 681b ldr r3, [r3, #0] - 80032f8: 689b ldr r3, [r3, #8] - 80032fa: 60bb str r3, [r7, #8] + 8003420: 687b ldr r3, [r7, #4] + 8003422: 681b ldr r3, [r3, #0] + 8003424: 689b ldr r3, [r3, #8] + 8003426: 60bb str r3, [r7, #8] /* If the timer supports ADC synchronization through TRGO2, set the master mode selection 2 */ if (IS_TIM_TRGO2_INSTANCE(htim->Instance)) - 80032fc: 687b ldr r3, [r7, #4] - 80032fe: 681b ldr r3, [r3, #0] - 8003300: 4a1c ldr r2, [pc, #112] ; (8003374 ) - 8003302: 4293 cmp r3, r2 - 8003304: d004 beq.n 8003310 - 8003306: 687b ldr r3, [r7, #4] - 8003308: 681b ldr r3, [r3, #0] - 800330a: 4a1b ldr r2, [pc, #108] ; (8003378 ) - 800330c: 4293 cmp r3, r2 - 800330e: d108 bne.n 8003322 + 8003428: 687b ldr r3, [r7, #4] + 800342a: 681b ldr r3, [r3, #0] + 800342c: 4a1c ldr r2, [pc, #112] ; (80034a0 ) + 800342e: 4293 cmp r3, r2 + 8003430: d004 beq.n 800343c + 8003432: 687b ldr r3, [r7, #4] + 8003434: 681b ldr r3, [r3, #0] + 8003436: 4a1b ldr r2, [pc, #108] ; (80034a4 ) + 8003438: 4293 cmp r3, r2 + 800343a: d108 bne.n 800344e { /* Check the parameters */ assert_param(IS_TIM_TRGO2_SOURCE(sMasterConfig->MasterOutputTrigger2)); /* Clear the MMS2 bits */ tmpcr2 &= ~TIM_CR2_MMS2; - 8003310: 68fb ldr r3, [r7, #12] - 8003312: f423 0370 bic.w r3, r3, #15728640 ; 0xf00000 - 8003316: 60fb str r3, [r7, #12] + 800343c: 68fb ldr r3, [r7, #12] + 800343e: f423 0370 bic.w r3, r3, #15728640 ; 0xf00000 + 8003442: 60fb str r3, [r7, #12] /* Select the TRGO2 source*/ tmpcr2 |= sMasterConfig->MasterOutputTrigger2; - 8003318: 683b ldr r3, [r7, #0] - 800331a: 685b ldr r3, [r3, #4] - 800331c: 68fa ldr r2, [r7, #12] - 800331e: 4313 orrs r3, r2 - 8003320: 60fb str r3, [r7, #12] + 8003444: 683b ldr r3, [r7, #0] + 8003446: 685b ldr r3, [r3, #4] + 8003448: 68fa ldr r2, [r7, #12] + 800344a: 4313 orrs r3, r2 + 800344c: 60fb str r3, [r7, #12] } /* Reset the MMS Bits */ tmpcr2 &= ~TIM_CR2_MMS; - 8003322: 68fb ldr r3, [r7, #12] - 8003324: f023 0370 bic.w r3, r3, #112 ; 0x70 - 8003328: 60fb str r3, [r7, #12] + 800344e: 68fb ldr r3, [r7, #12] + 8003450: f023 0370 bic.w r3, r3, #112 ; 0x70 + 8003454: 60fb str r3, [r7, #12] /* Select the TRGO source */ tmpcr2 |= sMasterConfig->MasterOutputTrigger; - 800332a: 683b ldr r3, [r7, #0] - 800332c: 681b ldr r3, [r3, #0] - 800332e: 68fa ldr r2, [r7, #12] - 8003330: 4313 orrs r3, r2 - 8003332: 60fb str r3, [r7, #12] + 8003456: 683b ldr r3, [r7, #0] + 8003458: 681b ldr r3, [r3, #0] + 800345a: 68fa ldr r2, [r7, #12] + 800345c: 4313 orrs r3, r2 + 800345e: 60fb str r3, [r7, #12] /* Reset the MSM Bit */ tmpsmcr &= ~TIM_SMCR_MSM; - 8003334: 68bb ldr r3, [r7, #8] - 8003336: f023 0380 bic.w r3, r3, #128 ; 0x80 - 800333a: 60bb str r3, [r7, #8] + 8003460: 68bb ldr r3, [r7, #8] + 8003462: f023 0380 bic.w r3, r3, #128 ; 0x80 + 8003466: 60bb str r3, [r7, #8] /* Set master mode */ tmpsmcr |= sMasterConfig->MasterSlaveMode; - 800333c: 683b ldr r3, [r7, #0] - 800333e: 689b ldr r3, [r3, #8] - 8003340: 68ba ldr r2, [r7, #8] - 8003342: 4313 orrs r3, r2 - 8003344: 60bb str r3, [r7, #8] + 8003468: 683b ldr r3, [r7, #0] + 800346a: 689b ldr r3, [r3, #8] + 800346c: 68ba ldr r2, [r7, #8] + 800346e: 4313 orrs r3, r2 + 8003470: 60bb str r3, [r7, #8] /* Update TIMx CR2 */ htim->Instance->CR2 = tmpcr2; - 8003346: 687b ldr r3, [r7, #4] - 8003348: 681b ldr r3, [r3, #0] - 800334a: 68fa ldr r2, [r7, #12] - 800334c: 605a str r2, [r3, #4] + 8003472: 687b ldr r3, [r7, #4] + 8003474: 681b ldr r3, [r3, #0] + 8003476: 68fa ldr r2, [r7, #12] + 8003478: 605a str r2, [r3, #4] /* Update TIMx SMCR */ htim->Instance->SMCR = tmpsmcr; - 800334e: 687b ldr r3, [r7, #4] - 8003350: 681b ldr r3, [r3, #0] - 8003352: 68ba ldr r2, [r7, #8] - 8003354: 609a str r2, [r3, #8] + 800347a: 687b ldr r3, [r7, #4] + 800347c: 681b ldr r3, [r3, #0] + 800347e: 68ba ldr r2, [r7, #8] + 8003480: 609a str r2, [r3, #8] /* Change the htim state */ htim->State = HAL_TIM_STATE_READY; - 8003356: 687b ldr r3, [r7, #4] - 8003358: 2201 movs r2, #1 - 800335a: f883 203d strb.w r2, [r3, #61] ; 0x3d + 8003482: 687b ldr r3, [r7, #4] + 8003484: 2201 movs r2, #1 + 8003486: f883 203d strb.w r2, [r3, #61] ; 0x3d __HAL_UNLOCK(htim); - 800335e: 687b ldr r3, [r7, #4] - 8003360: 2200 movs r2, #0 - 8003362: f883 203c strb.w r2, [r3, #60] ; 0x3c + 800348a: 687b ldr r3, [r7, #4] + 800348c: 2200 movs r2, #0 + 800348e: f883 203c strb.w r2, [r3, #60] ; 0x3c return HAL_OK; - 8003366: 2300 movs r3, #0 + 8003492: 2300 movs r3, #0 } - 8003368: 4618 mov r0, r3 - 800336a: 3714 adds r7, #20 - 800336c: 46bd mov sp, r7 - 800336e: f85d 7b04 ldr.w r7, [sp], #4 - 8003372: 4770 bx lr - 8003374: 40010000 .word 0x40010000 - 8003378: 40010400 .word 0x40010400 - -0800337c : + 8003494: 4618 mov r0, r3 + 8003496: 3714 adds r7, #20 + 8003498: 46bd mov sp, r7 + 800349a: f85d 7b04 ldr.w r7, [sp], #4 + 800349e: 4770 bx lr + 80034a0: 40010000 .word 0x40010000 + 80034a4: 40010400 .word 0x40010400 + +080034a8 : * @brief Hall commutation changed callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIMEx_CommutCallback(TIM_HandleTypeDef *htim) { - 800337c: b480 push {r7} - 800337e: b083 sub sp, #12 - 8003380: af00 add r7, sp, #0 - 8003382: 6078 str r0, [r7, #4] + 80034a8: b480 push {r7} + 80034aa: b083 sub sp, #12 + 80034ac: af00 add r7, sp, #0 + 80034ae: 6078 str r0, [r7, #4] UNUSED(htim); /* NOTE : This function should not be modified, when the callback is needed, the HAL_TIMEx_CommutCallback could be implemented in the user file */ } - 8003384: bf00 nop - 8003386: 370c adds r7, #12 - 8003388: 46bd mov sp, r7 - 800338a: f85d 7b04 ldr.w r7, [sp], #4 - 800338e: 4770 bx lr + 80034b0: bf00 nop + 80034b2: 370c adds r7, #12 + 80034b4: 46bd mov sp, r7 + 80034b6: f85d 7b04 ldr.w r7, [sp], #4 + 80034ba: 4770 bx lr -08003390 : +080034bc : * @brief Hall Break detection callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIMEx_BreakCallback(TIM_HandleTypeDef *htim) { - 8003390: b480 push {r7} - 8003392: b083 sub sp, #12 - 8003394: af00 add r7, sp, #0 - 8003396: 6078 str r0, [r7, #4] + 80034bc: b480 push {r7} + 80034be: b083 sub sp, #12 + 80034c0: af00 add r7, sp, #0 + 80034c2: 6078 str r0, [r7, #4] UNUSED(htim); /* NOTE : This function should not be modified, when the callback is needed, the HAL_TIMEx_BreakCallback could be implemented in the user file */ } - 8003398: bf00 nop - 800339a: 370c adds r7, #12 - 800339c: 46bd mov sp, r7 - 800339e: f85d 7b04 ldr.w r7, [sp], #4 - 80033a2: 4770 bx lr + 80034c4: bf00 nop + 80034c6: 370c adds r7, #12 + 80034c8: 46bd mov sp, r7 + 80034ca: f85d 7b04 ldr.w r7, [sp], #4 + 80034ce: 4770 bx lr -080033a4 : +080034d0 : * @brief Hall Break2 detection callback in non blocking mode * @param htim: TIM handle * @retval None */ __weak void HAL_TIMEx_Break2Callback(TIM_HandleTypeDef *htim) { - 80033a4: b480 push {r7} - 80033a6: b083 sub sp, #12 - 80033a8: af00 add r7, sp, #0 - 80033aa: 6078 str r0, [r7, #4] + 80034d0: b480 push {r7} + 80034d2: b083 sub sp, #12 + 80034d4: af00 add r7, sp, #0 + 80034d6: 6078 str r0, [r7, #4] UNUSED(htim); /* NOTE : This function Should not be modified, when the callback is needed, the HAL_TIMEx_Break2Callback could be implemented in the user file */ } - 80033ac: bf00 nop - 80033ae: 370c adds r7, #12 - 80033b0: 46bd mov sp, r7 - 80033b2: f85d 7b04 ldr.w r7, [sp], #4 - 80033b6: 4770 bx lr + 80034d8: bf00 nop + 80034da: 370c adds r7, #12 + 80034dc: 46bd mov sp, r7 + 80034de: f85d 7b04 ldr.w r7, [sp], #4 + 80034e2: 4770 bx lr -080033b8 : +080034e4 : * parameters in the UART_InitTypeDef and initialize the associated handle. * @param huart UART handle. * @retval HAL status */ HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart) { - 80033b8: b580 push {r7, lr} - 80033ba: b082 sub sp, #8 - 80033bc: af00 add r7, sp, #0 - 80033be: 6078 str r0, [r7, #4] + 80034e4: b580 push {r7, lr} + 80034e6: b082 sub sp, #8 + 80034e8: af00 add r7, sp, #0 + 80034ea: 6078 str r0, [r7, #4] /* Check the UART handle allocation */ if (huart == NULL) - 80033c0: 687b ldr r3, [r7, #4] - 80033c2: 2b00 cmp r3, #0 - 80033c4: d101 bne.n 80033ca + 80034ec: 687b ldr r3, [r7, #4] + 80034ee: 2b00 cmp r3, #0 + 80034f0: d101 bne.n 80034f6 { return HAL_ERROR; - 80033c6: 2301 movs r3, #1 - 80033c8: e040 b.n 800344c + 80034f2: 2301 movs r3, #1 + 80034f4: e040 b.n 8003578 { /* Check the parameters */ assert_param(IS_UART_INSTANCE(huart->Instance)); } if (huart->gState == HAL_UART_STATE_RESET) - 80033ca: 687b ldr r3, [r7, #4] - 80033cc: 6f5b ldr r3, [r3, #116] ; 0x74 - 80033ce: 2b00 cmp r3, #0 - 80033d0: d106 bne.n 80033e0 + 80034f6: 687b ldr r3, [r7, #4] + 80034f8: 6f5b ldr r3, [r3, #116] ; 0x74 + 80034fa: 2b00 cmp r3, #0 + 80034fc: d106 bne.n 800350c { /* Allocate lock resource and initialize it */ huart->Lock = HAL_UNLOCKED; - 80033d2: 687b ldr r3, [r7, #4] - 80033d4: 2200 movs r2, #0 - 80033d6: f883 2070 strb.w r2, [r3, #112] ; 0x70 + 80034fe: 687b ldr r3, [r7, #4] + 8003500: 2200 movs r2, #0 + 8003502: f883 2070 strb.w r2, [r3, #112] ; 0x70 /* Init the low level hardware */ huart->MspInitCallback(huart); #else /* Init the low level hardware : GPIO, CLOCK */ HAL_UART_MspInit(huart); - 80033da: 6878 ldr r0, [r7, #4] - 80033dc: f001 fb2e bl 8004a3c + 8003506: 6878 ldr r0, [r7, #4] + 8003508: f004 fdfc bl 8008104 #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ } huart->gState = HAL_UART_STATE_BUSY; - 80033e0: 687b ldr r3, [r7, #4] - 80033e2: 2224 movs r2, #36 ; 0x24 - 80033e4: 675a str r2, [r3, #116] ; 0x74 + 800350c: 687b ldr r3, [r7, #4] + 800350e: 2224 movs r2, #36 ; 0x24 + 8003510: 675a str r2, [r3, #116] ; 0x74 /* Disable the Peripheral */ __HAL_UART_DISABLE(huart); - 80033e6: 687b ldr r3, [r7, #4] - 80033e8: 681b ldr r3, [r3, #0] - 80033ea: 681a ldr r2, [r3, #0] - 80033ec: 687b ldr r3, [r7, #4] - 80033ee: 681b ldr r3, [r3, #0] - 80033f0: f022 0201 bic.w r2, r2, #1 - 80033f4: 601a str r2, [r3, #0] + 8003512: 687b ldr r3, [r7, #4] + 8003514: 681b ldr r3, [r3, #0] + 8003516: 681a ldr r2, [r3, #0] + 8003518: 687b ldr r3, [r7, #4] + 800351a: 681b ldr r3, [r3, #0] + 800351c: f022 0201 bic.w r2, r2, #1 + 8003520: 601a str r2, [r3, #0] /* Set the UART Communication parameters */ if (UART_SetConfig(huart) == HAL_ERROR) - 80033f6: 6878 ldr r0, [r7, #4] - 80033f8: f000 f95c bl 80036b4 - 80033fc: 4603 mov r3, r0 - 80033fe: 2b01 cmp r3, #1 - 8003400: d101 bne.n 8003406 + 8003522: 6878 ldr r0, [r7, #4] + 8003524: f000 fa66 bl 80039f4 + 8003528: 4603 mov r3, r0 + 800352a: 2b01 cmp r3, #1 + 800352c: d101 bne.n 8003532 { return HAL_ERROR; - 8003402: 2301 movs r3, #1 - 8003404: e022 b.n 800344c + 800352e: 2301 movs r3, #1 + 8003530: e022 b.n 8003578 } if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT) - 8003406: 687b ldr r3, [r7, #4] - 8003408: 6a5b ldr r3, [r3, #36] ; 0x24 - 800340a: 2b00 cmp r3, #0 - 800340c: d002 beq.n 8003414 + 8003532: 687b ldr r3, [r7, #4] + 8003534: 6a5b ldr r3, [r3, #36] ; 0x24 + 8003536: 2b00 cmp r3, #0 + 8003538: d002 beq.n 8003540 { UART_AdvFeatureConfig(huart); - 800340e: 6878 ldr r0, [r7, #4] - 8003410: f000 fbf4 bl 8003bfc + 800353a: 6878 ldr r0, [r7, #4] + 800353c: f000 fcfe bl 8003f3c } /* In asynchronous mode, the following bits must be kept cleared: - LINEN and CLKEN bits in the USART_CR2 register, - SCEN, HDSEL and IREN bits in the USART_CR3 register.*/ CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN)); - 8003414: 687b ldr r3, [r7, #4] - 8003416: 681b ldr r3, [r3, #0] - 8003418: 685a ldr r2, [r3, #4] - 800341a: 687b ldr r3, [r7, #4] - 800341c: 681b ldr r3, [r3, #0] - 800341e: f422 4290 bic.w r2, r2, #18432 ; 0x4800 - 8003422: 605a str r2, [r3, #4] + 8003540: 687b ldr r3, [r7, #4] + 8003542: 681b ldr r3, [r3, #0] + 8003544: 685a ldr r2, [r3, #4] + 8003546: 687b ldr r3, [r7, #4] + 8003548: 681b ldr r3, [r3, #0] + 800354a: f422 4290 bic.w r2, r2, #18432 ; 0x4800 + 800354e: 605a str r2, [r3, #4] CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN)); - 8003424: 687b ldr r3, [r7, #4] - 8003426: 681b ldr r3, [r3, #0] - 8003428: 689a ldr r2, [r3, #8] - 800342a: 687b ldr r3, [r7, #4] - 800342c: 681b ldr r3, [r3, #0] - 800342e: f022 022a bic.w r2, r2, #42 ; 0x2a - 8003432: 609a str r2, [r3, #8] + 8003550: 687b ldr r3, [r7, #4] + 8003552: 681b ldr r3, [r3, #0] + 8003554: 689a ldr r2, [r3, #8] + 8003556: 687b ldr r3, [r7, #4] + 8003558: 681b ldr r3, [r3, #0] + 800355a: f022 022a bic.w r2, r2, #42 ; 0x2a + 800355e: 609a str r2, [r3, #8] /* Enable the Peripheral */ __HAL_UART_ENABLE(huart); - 8003434: 687b ldr r3, [r7, #4] - 8003436: 681b ldr r3, [r3, #0] - 8003438: 681a ldr r2, [r3, #0] - 800343a: 687b ldr r3, [r7, #4] - 800343c: 681b ldr r3, [r3, #0] - 800343e: f042 0201 orr.w r2, r2, #1 - 8003442: 601a str r2, [r3, #0] + 8003560: 687b ldr r3, [r7, #4] + 8003562: 681b ldr r3, [r3, #0] + 8003564: 681a ldr r2, [r3, #0] + 8003566: 687b ldr r3, [r7, #4] + 8003568: 681b ldr r3, [r3, #0] + 800356a: f042 0201 orr.w r2, r2, #1 + 800356e: 601a str r2, [r3, #0] /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */ return (UART_CheckIdleState(huart)); - 8003444: 6878 ldr r0, [r7, #4] - 8003446: f000 fc7b bl 8003d40 - 800344a: 4603 mov r3, r0 + 8003570: 6878 ldr r0, [r7, #4] + 8003572: f000 fd85 bl 8004080 + 8003576: 4603 mov r3, r0 +} + 8003578: 4618 mov r0, r3 + 800357a: 3708 adds r7, #8 + 800357c: 46bd mov sp, r7 + 800357e: bd80 pop {r7, pc} + +08003580 : + * @param pData Pointer to data buffer. + * @param Size Amount of data to be sent. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) +{ + 8003580: b580 push {r7, lr} + 8003582: b084 sub sp, #16 + 8003584: af00 add r7, sp, #0 + 8003586: 60f8 str r0, [r7, #12] + 8003588: 60b9 str r1, [r7, #8] + 800358a: 4613 mov r3, r2 + 800358c: 80fb strh r3, [r7, #6] + /* Check that a Tx process is not already ongoing */ + if (huart->gState == HAL_UART_STATE_READY) + 800358e: 68fb ldr r3, [r7, #12] + 8003590: 6f5b ldr r3, [r3, #116] ; 0x74 + 8003592: 2b20 cmp r3, #32 + 8003594: d164 bne.n 8003660 + { + if ((pData == NULL) || (Size == 0U)) + 8003596: 68bb ldr r3, [r7, #8] + 8003598: 2b00 cmp r3, #0 + 800359a: d002 beq.n 80035a2 + 800359c: 88fb ldrh r3, [r7, #6] + 800359e: 2b00 cmp r3, #0 + 80035a0: d101 bne.n 80035a6 + { + return HAL_ERROR; + 80035a2: 2301 movs r3, #1 + 80035a4: e05d b.n 8003662 + } + + /* Process Locked */ + __HAL_LOCK(huart); + 80035a6: 68fb ldr r3, [r7, #12] + 80035a8: f893 3070 ldrb.w r3, [r3, #112] ; 0x70 + 80035ac: 2b01 cmp r3, #1 + 80035ae: d101 bne.n 80035b4 + 80035b0: 2302 movs r3, #2 + 80035b2: e056 b.n 8003662 + 80035b4: 68fb ldr r3, [r7, #12] + 80035b6: 2201 movs r2, #1 + 80035b8: f883 2070 strb.w r2, [r3, #112] ; 0x70 + + huart->pTxBuffPtr = pData; + 80035bc: 68fb ldr r3, [r7, #12] + 80035be: 68ba ldr r2, [r7, #8] + 80035c0: 64da str r2, [r3, #76] ; 0x4c + huart->TxXferSize = Size; + 80035c2: 68fb ldr r3, [r7, #12] + 80035c4: 88fa ldrh r2, [r7, #6] + 80035c6: f8a3 2050 strh.w r2, [r3, #80] ; 0x50 + huart->TxXferCount = Size; + 80035ca: 68fb ldr r3, [r7, #12] + 80035cc: 88fa ldrh r2, [r7, #6] + 80035ce: f8a3 2052 strh.w r2, [r3, #82] ; 0x52 + + huart->ErrorCode = HAL_UART_ERROR_NONE; + 80035d2: 68fb ldr r3, [r7, #12] + 80035d4: 2200 movs r2, #0 + 80035d6: 67da str r2, [r3, #124] ; 0x7c + huart->gState = HAL_UART_STATE_BUSY_TX; + 80035d8: 68fb ldr r3, [r7, #12] + 80035da: 2221 movs r2, #33 ; 0x21 + 80035dc: 675a str r2, [r3, #116] ; 0x74 + + if (huart->hdmatx != NULL) + 80035de: 68fb ldr r3, [r7, #12] + 80035e0: 6e9b ldr r3, [r3, #104] ; 0x68 + 80035e2: 2b00 cmp r3, #0 + 80035e4: d02a beq.n 800363c + { + /* Set the UART DMA transfer complete callback */ + huart->hdmatx->XferCpltCallback = UART_DMATransmitCplt; + 80035e6: 68fb ldr r3, [r7, #12] + 80035e8: 6e9b ldr r3, [r3, #104] ; 0x68 + 80035ea: 4a20 ldr r2, [pc, #128] ; (800366c ) + 80035ec: 63da str r2, [r3, #60] ; 0x3c + + /* Set the UART DMA Half transfer complete callback */ + huart->hdmatx->XferHalfCpltCallback = UART_DMATxHalfCplt; + 80035ee: 68fb ldr r3, [r7, #12] + 80035f0: 6e9b ldr r3, [r3, #104] ; 0x68 + 80035f2: 4a1f ldr r2, [pc, #124] ; (8003670 ) + 80035f4: 641a str r2, [r3, #64] ; 0x40 + + /* Set the DMA error callback */ + huart->hdmatx->XferErrorCallback = UART_DMAError; + 80035f6: 68fb ldr r3, [r7, #12] + 80035f8: 6e9b ldr r3, [r3, #104] ; 0x68 + 80035fa: 4a1e ldr r2, [pc, #120] ; (8003674 ) + 80035fc: 64da str r2, [r3, #76] ; 0x4c + + /* Set the DMA abort callback */ + huart->hdmatx->XferAbortCallback = NULL; + 80035fe: 68fb ldr r3, [r7, #12] + 8003600: 6e9b ldr r3, [r3, #104] ; 0x68 + 8003602: 2200 movs r2, #0 + 8003604: 651a str r2, [r3, #80] ; 0x50 + + /* Enable the UART transmit DMA channel */ + if (HAL_DMA_Start_IT(huart->hdmatx, (uint32_t)huart->pTxBuffPtr, (uint32_t)&huart->Instance->TDR, Size) != HAL_OK) + 8003606: 68fb ldr r3, [r7, #12] + 8003608: 6e98 ldr r0, [r3, #104] ; 0x68 + 800360a: 68fb ldr r3, [r7, #12] + 800360c: 6cdb ldr r3, [r3, #76] ; 0x4c + 800360e: 4619 mov r1, r3 + 8003610: 68fb ldr r3, [r7, #12] + 8003612: 681b ldr r3, [r3, #0] + 8003614: 3328 adds r3, #40 ; 0x28 + 8003616: 461a mov r2, r3 + 8003618: 88fb ldrh r3, [r7, #6] + 800361a: f7fd f9b3 bl 8000984 + 800361e: 4603 mov r3, r0 + 8003620: 2b00 cmp r3, #0 + 8003622: d00b beq.n 800363c + { + /* Set error code to DMA */ + huart->ErrorCode = HAL_UART_ERROR_DMA; + 8003624: 68fb ldr r3, [r7, #12] + 8003626: 2210 movs r2, #16 + 8003628: 67da str r2, [r3, #124] ; 0x7c + + /* Process Unlocked */ + __HAL_UNLOCK(huart); + 800362a: 68fb ldr r3, [r7, #12] + 800362c: 2200 movs r2, #0 + 800362e: f883 2070 strb.w r2, [r3, #112] ; 0x70 + + /* Restore huart->gState to ready */ + huart->gState = HAL_UART_STATE_READY; + 8003632: 68fb ldr r3, [r7, #12] + 8003634: 2220 movs r2, #32 + 8003636: 675a str r2, [r3, #116] ; 0x74 + + return HAL_ERROR; + 8003638: 2301 movs r3, #1 + 800363a: e012 b.n 8003662 + } + } + /* Clear the TC flag in the ICR register */ + __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_TCF); + 800363c: 68fb ldr r3, [r7, #12] + 800363e: 681b ldr r3, [r3, #0] + 8003640: 2240 movs r2, #64 ; 0x40 + 8003642: 621a str r2, [r3, #32] + + /* Process Unlocked */ + __HAL_UNLOCK(huart); + 8003644: 68fb ldr r3, [r7, #12] + 8003646: 2200 movs r2, #0 + 8003648: f883 2070 strb.w r2, [r3, #112] ; 0x70 + + /* Enable the DMA transfer for transmit request by setting the DMAT bit + in the UART CR3 register */ + SET_BIT(huart->Instance->CR3, USART_CR3_DMAT); + 800364c: 68fb ldr r3, [r7, #12] + 800364e: 681b ldr r3, [r3, #0] + 8003650: 689a ldr r2, [r3, #8] + 8003652: 68fb ldr r3, [r7, #12] + 8003654: 681b ldr r3, [r3, #0] + 8003656: f042 0280 orr.w r2, r2, #128 ; 0x80 + 800365a: 609a str r2, [r3, #8] + + return HAL_OK; + 800365c: 2300 movs r3, #0 + 800365e: e000 b.n 8003662 + } + else + { + return HAL_BUSY; + 8003660: 2302 movs r3, #2 + } } - 800344c: 4618 mov r0, r3 - 800344e: 3708 adds r7, #8 - 8003450: 46bd mov sp, r7 - 8003452: bd80 pop {r7, pc} + 8003662: 4618 mov r0, r3 + 8003664: 3710 adds r7, #16 + 8003666: 46bd mov sp, r7 + 8003668: bd80 pop {r7, pc} + 800366a: bf00 nop + 800366c: 080041d9 .word 0x080041d9 + 8003670: 08004229 .word 0x08004229 + 8003674: 080042c5 .word 0x080042c5 + +08003678 : + * @param pData Pointer to data buffer. + * @param Size Amount of data to be received. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) +{ + 8003678: b580 push {r7, lr} + 800367a: b084 sub sp, #16 + 800367c: af00 add r7, sp, #0 + 800367e: 60f8 str r0, [r7, #12] + 8003680: 60b9 str r1, [r7, #8] + 8003682: 4613 mov r3, r2 + 8003684: 80fb strh r3, [r7, #6] + /* Check that a Rx process is not already ongoing */ + if (huart->RxState == HAL_UART_STATE_READY) + 8003686: 68fb ldr r3, [r7, #12] + 8003688: 6f9b ldr r3, [r3, #120] ; 0x78 + 800368a: 2b20 cmp r3, #32 + 800368c: d16c bne.n 8003768 + { + if ((pData == NULL) || (Size == 0U)) + 800368e: 68bb ldr r3, [r7, #8] + 8003690: 2b00 cmp r3, #0 + 8003692: d002 beq.n 800369a + 8003694: 88fb ldrh r3, [r7, #6] + 8003696: 2b00 cmp r3, #0 + 8003698: d101 bne.n 800369e + { + return HAL_ERROR; + 800369a: 2301 movs r3, #1 + 800369c: e065 b.n 800376a + } + + /* Process Locked */ + __HAL_LOCK(huart); + 800369e: 68fb ldr r3, [r7, #12] + 80036a0: f893 3070 ldrb.w r3, [r3, #112] ; 0x70 + 80036a4: 2b01 cmp r3, #1 + 80036a6: d101 bne.n 80036ac + 80036a8: 2302 movs r3, #2 + 80036aa: e05e b.n 800376a + 80036ac: 68fb ldr r3, [r7, #12] + 80036ae: 2201 movs r2, #1 + 80036b0: f883 2070 strb.w r2, [r3, #112] ; 0x70 + + huart->pRxBuffPtr = pData; + 80036b4: 68fb ldr r3, [r7, #12] + 80036b6: 68ba ldr r2, [r7, #8] + 80036b8: 655a str r2, [r3, #84] ; 0x54 + huart->RxXferSize = Size; + 80036ba: 68fb ldr r3, [r7, #12] + 80036bc: 88fa ldrh r2, [r7, #6] + 80036be: f8a3 2058 strh.w r2, [r3, #88] ; 0x58 + + huart->ErrorCode = HAL_UART_ERROR_NONE; + 80036c2: 68fb ldr r3, [r7, #12] + 80036c4: 2200 movs r2, #0 + 80036c6: 67da str r2, [r3, #124] ; 0x7c + huart->RxState = HAL_UART_STATE_BUSY_RX; + 80036c8: 68fb ldr r3, [r7, #12] + 80036ca: 2222 movs r2, #34 ; 0x22 + 80036cc: 679a str r2, [r3, #120] ; 0x78 + + if (huart->hdmarx != NULL) + 80036ce: 68fb ldr r3, [r7, #12] + 80036d0: 6edb ldr r3, [r3, #108] ; 0x6c + 80036d2: 2b00 cmp r3, #0 + 80036d4: d02a beq.n 800372c + { + /* Set the UART DMA transfer complete callback */ + huart->hdmarx->XferCpltCallback = UART_DMAReceiveCplt; + 80036d6: 68fb ldr r3, [r7, #12] + 80036d8: 6edb ldr r3, [r3, #108] ; 0x6c + 80036da: 4a26 ldr r2, [pc, #152] ; (8003774 ) + 80036dc: 63da str r2, [r3, #60] ; 0x3c + + /* Set the UART DMA Half transfer complete callback */ + huart->hdmarx->XferHalfCpltCallback = UART_DMARxHalfCplt; + 80036de: 68fb ldr r3, [r7, #12] + 80036e0: 6edb ldr r3, [r3, #108] ; 0x6c + 80036e2: 4a25 ldr r2, [pc, #148] ; (8003778 ) + 80036e4: 641a str r2, [r3, #64] ; 0x40 + + /* Set the DMA error callback */ + huart->hdmarx->XferErrorCallback = UART_DMAError; + 80036e6: 68fb ldr r3, [r7, #12] + 80036e8: 6edb ldr r3, [r3, #108] ; 0x6c + 80036ea: 4a24 ldr r2, [pc, #144] ; (800377c ) + 80036ec: 64da str r2, [r3, #76] ; 0x4c + + /* Set the DMA abort callback */ + huart->hdmarx->XferAbortCallback = NULL; + 80036ee: 68fb ldr r3, [r7, #12] + 80036f0: 6edb ldr r3, [r3, #108] ; 0x6c + 80036f2: 2200 movs r2, #0 + 80036f4: 651a str r2, [r3, #80] ; 0x50 + + /* Enable the DMA channel */ + if (HAL_DMA_Start_IT(huart->hdmarx, (uint32_t)&huart->Instance->RDR, (uint32_t)huart->pRxBuffPtr, Size) != HAL_OK) + 80036f6: 68fb ldr r3, [r7, #12] + 80036f8: 6ed8 ldr r0, [r3, #108] ; 0x6c + 80036fa: 68fb ldr r3, [r7, #12] + 80036fc: 681b ldr r3, [r3, #0] + 80036fe: 3324 adds r3, #36 ; 0x24 + 8003700: 4619 mov r1, r3 + 8003702: 68fb ldr r3, [r7, #12] + 8003704: 6d5b ldr r3, [r3, #84] ; 0x54 + 8003706: 461a mov r2, r3 + 8003708: 88fb ldrh r3, [r7, #6] + 800370a: f7fd f93b bl 8000984 + 800370e: 4603 mov r3, r0 + 8003710: 2b00 cmp r3, #0 + 8003712: d00b beq.n 800372c + { + /* Set error code to DMA */ + huart->ErrorCode = HAL_UART_ERROR_DMA; + 8003714: 68fb ldr r3, [r7, #12] + 8003716: 2210 movs r2, #16 + 8003718: 67da str r2, [r3, #124] ; 0x7c + + /* Process Unlocked */ + __HAL_UNLOCK(huart); + 800371a: 68fb ldr r3, [r7, #12] + 800371c: 2200 movs r2, #0 + 800371e: f883 2070 strb.w r2, [r3, #112] ; 0x70 + + /* Restore huart->gState to ready */ + huart->gState = HAL_UART_STATE_READY; + 8003722: 68fb ldr r3, [r7, #12] + 8003724: 2220 movs r2, #32 + 8003726: 675a str r2, [r3, #116] ; 0x74 -08003454 : + return HAL_ERROR; + 8003728: 2301 movs r3, #1 + 800372a: e01e b.n 800376a + } + } + /* Process Unlocked */ + __HAL_UNLOCK(huart); + 800372c: 68fb ldr r3, [r7, #12] + 800372e: 2200 movs r2, #0 + 8003730: f883 2070 strb.w r2, [r3, #112] ; 0x70 + + /* Enable the UART Parity Error Interrupt */ + SET_BIT(huart->Instance->CR1, USART_CR1_PEIE); + 8003734: 68fb ldr r3, [r7, #12] + 8003736: 681b ldr r3, [r3, #0] + 8003738: 681a ldr r2, [r3, #0] + 800373a: 68fb ldr r3, [r7, #12] + 800373c: 681b ldr r3, [r3, #0] + 800373e: f442 7280 orr.w r2, r2, #256 ; 0x100 + 8003742: 601a str r2, [r3, #0] + + /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */ + SET_BIT(huart->Instance->CR3, USART_CR3_EIE); + 8003744: 68fb ldr r3, [r7, #12] + 8003746: 681b ldr r3, [r3, #0] + 8003748: 689a ldr r2, [r3, #8] + 800374a: 68fb ldr r3, [r7, #12] + 800374c: 681b ldr r3, [r3, #0] + 800374e: f042 0201 orr.w r2, r2, #1 + 8003752: 609a str r2, [r3, #8] + + /* Enable the DMA transfer for the receiver request by setting the DMAR bit + in the UART CR3 register */ + SET_BIT(huart->Instance->CR3, USART_CR3_DMAR); + 8003754: 68fb ldr r3, [r7, #12] + 8003756: 681b ldr r3, [r3, #0] + 8003758: 689a ldr r2, [r3, #8] + 800375a: 68fb ldr r3, [r7, #12] + 800375c: 681b ldr r3, [r3, #0] + 800375e: f042 0240 orr.w r2, r2, #64 ; 0x40 + 8003762: 609a str r2, [r3, #8] + + return HAL_OK; + 8003764: 2300 movs r3, #0 + 8003766: e000 b.n 800376a + } + else + { + return HAL_BUSY; + 8003768: 2302 movs r3, #2 + } +} + 800376a: 4618 mov r0, r3 + 800376c: 3710 adds r7, #16 + 800376e: 46bd mov sp, r7 + 8003770: bd80 pop {r7, pc} + 8003772: bf00 nop + 8003774: 08004245 .word 0x08004245 + 8003778: 080042a9 .word 0x080042a9 + 800377c: 080042c5 .word 0x080042c5 + +08003780 : * @brief Handle UART interrupt request. * @param huart UART handle. * @retval None */ void HAL_UART_IRQHandler(UART_HandleTypeDef *huart) { - 8003454: b580 push {r7, lr} - 8003456: b088 sub sp, #32 - 8003458: af00 add r7, sp, #0 - 800345a: 6078 str r0, [r7, #4] + 8003780: b580 push {r7, lr} + 8003782: b088 sub sp, #32 + 8003784: af00 add r7, sp, #0 + 8003786: 6078 str r0, [r7, #4] uint32_t isrflags = READ_REG(huart->Instance->ISR); - 800345c: 687b ldr r3, [r7, #4] - 800345e: 681b ldr r3, [r3, #0] - 8003460: 69db ldr r3, [r3, #28] - 8003462: 61fb str r3, [r7, #28] + 8003788: 687b ldr r3, [r7, #4] + 800378a: 681b ldr r3, [r3, #0] + 800378c: 69db ldr r3, [r3, #28] + 800378e: 61fb str r3, [r7, #28] uint32_t cr1its = READ_REG(huart->Instance->CR1); - 8003464: 687b ldr r3, [r7, #4] - 8003466: 681b ldr r3, [r3, #0] - 8003468: 681b ldr r3, [r3, #0] - 800346a: 61bb str r3, [r7, #24] + 8003790: 687b ldr r3, [r7, #4] + 8003792: 681b ldr r3, [r3, #0] + 8003794: 681b ldr r3, [r3, #0] + 8003796: 61bb str r3, [r7, #24] uint32_t cr3its = READ_REG(huart->Instance->CR3); - 800346c: 687b ldr r3, [r7, #4] - 800346e: 681b ldr r3, [r3, #0] - 8003470: 689b ldr r3, [r3, #8] - 8003472: 617b str r3, [r7, #20] + 8003798: 687b ldr r3, [r7, #4] + 800379a: 681b ldr r3, [r3, #0] + 800379c: 689b ldr r3, [r3, #8] + 800379e: 617b str r3, [r7, #20] uint32_t errorflags; uint32_t errorcode; /* If no error occurs */ errorflags = (isrflags & (uint32_t)(USART_ISR_PE | USART_ISR_FE | USART_ISR_ORE | USART_ISR_NE)); - 8003474: 69fb ldr r3, [r7, #28] - 8003476: f003 030f and.w r3, r3, #15 - 800347a: 613b str r3, [r7, #16] + 80037a0: 69fb ldr r3, [r7, #28] + 80037a2: f003 030f and.w r3, r3, #15 + 80037a6: 613b str r3, [r7, #16] if (errorflags == 0U) - 800347c: 693b ldr r3, [r7, #16] - 800347e: 2b00 cmp r3, #0 - 8003480: d113 bne.n 80034aa + 80037a8: 693b ldr r3, [r7, #16] + 80037aa: 2b00 cmp r3, #0 + 80037ac: d113 bne.n 80037d6 { /* UART in mode Receiver ---------------------------------------------------*/ if (((isrflags & USART_ISR_RXNE) != 0U) - 8003482: 69fb ldr r3, [r7, #28] - 8003484: f003 0320 and.w r3, r3, #32 - 8003488: 2b00 cmp r3, #0 - 800348a: d00e beq.n 80034aa + 80037ae: 69fb ldr r3, [r7, #28] + 80037b0: f003 0320 and.w r3, r3, #32 + 80037b4: 2b00 cmp r3, #0 + 80037b6: d00e beq.n 80037d6 && ((cr1its & USART_CR1_RXNEIE) != 0U)) - 800348c: 69bb ldr r3, [r7, #24] - 800348e: f003 0320 and.w r3, r3, #32 - 8003492: 2b00 cmp r3, #0 - 8003494: d009 beq.n 80034aa + 80037b8: 69bb ldr r3, [r7, #24] + 80037ba: f003 0320 and.w r3, r3, #32 + 80037be: 2b00 cmp r3, #0 + 80037c0: d009 beq.n 80037d6 { if (huart->RxISR != NULL) - 8003496: 687b ldr r3, [r7, #4] - 8003498: 6e1b ldr r3, [r3, #96] ; 0x60 - 800349a: 2b00 cmp r3, #0 - 800349c: f000 80eb beq.w 8003676 + 80037c2: 687b ldr r3, [r7, #4] + 80037c4: 6e1b ldr r3, [r3, #96] ; 0x60 + 80037c6: 2b00 cmp r3, #0 + 80037c8: f000 80eb beq.w 80039a2 { huart->RxISR(huart); - 80034a0: 687b ldr r3, [r7, #4] - 80034a2: 6e1b ldr r3, [r3, #96] ; 0x60 - 80034a4: 6878 ldr r0, [r7, #4] - 80034a6: 4798 blx r3 + 80037cc: 687b ldr r3, [r7, #4] + 80037ce: 6e1b ldr r3, [r3, #96] ; 0x60 + 80037d0: 6878 ldr r0, [r7, #4] + 80037d2: 4798 blx r3 } return; - 80034a8: e0e5 b.n 8003676 + 80037d4: e0e5 b.n 80039a2 } } /* If some errors occur */ if ((errorflags != 0U) - 80034aa: 693b ldr r3, [r7, #16] - 80034ac: 2b00 cmp r3, #0 - 80034ae: f000 80c0 beq.w 8003632 + 80037d6: 693b ldr r3, [r7, #16] + 80037d8: 2b00 cmp r3, #0 + 80037da: f000 80c0 beq.w 800395e && (((cr3its & USART_CR3_EIE) != 0U) - 80034b2: 697b ldr r3, [r7, #20] - 80034b4: f003 0301 and.w r3, r3, #1 - 80034b8: 2b00 cmp r3, #0 - 80034ba: d105 bne.n 80034c8 + 80037de: 697b ldr r3, [r7, #20] + 80037e0: f003 0301 and.w r3, r3, #1 + 80037e4: 2b00 cmp r3, #0 + 80037e6: d105 bne.n 80037f4 || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE)) != 0U))) - 80034bc: 69bb ldr r3, [r7, #24] - 80034be: f403 7390 and.w r3, r3, #288 ; 0x120 - 80034c2: 2b00 cmp r3, #0 - 80034c4: f000 80b5 beq.w 8003632 + 80037e8: 69bb ldr r3, [r7, #24] + 80037ea: f403 7390 and.w r3, r3, #288 ; 0x120 + 80037ee: 2b00 cmp r3, #0 + 80037f0: f000 80b5 beq.w 800395e { /* UART parity error interrupt occurred -------------------------------------*/ if (((isrflags & USART_ISR_PE) != 0U) && ((cr1its & USART_CR1_PEIE) != 0U)) - 80034c8: 69fb ldr r3, [r7, #28] - 80034ca: f003 0301 and.w r3, r3, #1 - 80034ce: 2b00 cmp r3, #0 - 80034d0: d00e beq.n 80034f0 - 80034d2: 69bb ldr r3, [r7, #24] - 80034d4: f403 7380 and.w r3, r3, #256 ; 0x100 - 80034d8: 2b00 cmp r3, #0 - 80034da: d009 beq.n 80034f0 + 80037f4: 69fb ldr r3, [r7, #28] + 80037f6: f003 0301 and.w r3, r3, #1 + 80037fa: 2b00 cmp r3, #0 + 80037fc: d00e beq.n 800381c + 80037fe: 69bb ldr r3, [r7, #24] + 8003800: f403 7380 and.w r3, r3, #256 ; 0x100 + 8003804: 2b00 cmp r3, #0 + 8003806: d009 beq.n 800381c { __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_PEF); - 80034dc: 687b ldr r3, [r7, #4] - 80034de: 681b ldr r3, [r3, #0] - 80034e0: 2201 movs r2, #1 - 80034e2: 621a str r2, [r3, #32] + 8003808: 687b ldr r3, [r7, #4] + 800380a: 681b ldr r3, [r3, #0] + 800380c: 2201 movs r2, #1 + 800380e: 621a str r2, [r3, #32] huart->ErrorCode |= HAL_UART_ERROR_PE; - 80034e4: 687b ldr r3, [r7, #4] - 80034e6: 6fdb ldr r3, [r3, #124] ; 0x7c - 80034e8: f043 0201 orr.w r2, r3, #1 - 80034ec: 687b ldr r3, [r7, #4] - 80034ee: 67da str r2, [r3, #124] ; 0x7c + 8003810: 687b ldr r3, [r7, #4] + 8003812: 6fdb ldr r3, [r3, #124] ; 0x7c + 8003814: f043 0201 orr.w r2, r3, #1 + 8003818: 687b ldr r3, [r7, #4] + 800381a: 67da str r2, [r3, #124] ; 0x7c } /* UART frame error interrupt occurred --------------------------------------*/ if (((isrflags & USART_ISR_FE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U)) - 80034f0: 69fb ldr r3, [r7, #28] - 80034f2: f003 0302 and.w r3, r3, #2 - 80034f6: 2b00 cmp r3, #0 - 80034f8: d00e beq.n 8003518 - 80034fa: 697b ldr r3, [r7, #20] - 80034fc: f003 0301 and.w r3, r3, #1 - 8003500: 2b00 cmp r3, #0 - 8003502: d009 beq.n 8003518 + 800381c: 69fb ldr r3, [r7, #28] + 800381e: f003 0302 and.w r3, r3, #2 + 8003822: 2b00 cmp r3, #0 + 8003824: d00e beq.n 8003844 + 8003826: 697b ldr r3, [r7, #20] + 8003828: f003 0301 and.w r3, r3, #1 + 800382c: 2b00 cmp r3, #0 + 800382e: d009 beq.n 8003844 { __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_FEF); - 8003504: 687b ldr r3, [r7, #4] - 8003506: 681b ldr r3, [r3, #0] - 8003508: 2202 movs r2, #2 - 800350a: 621a str r2, [r3, #32] + 8003830: 687b ldr r3, [r7, #4] + 8003832: 681b ldr r3, [r3, #0] + 8003834: 2202 movs r2, #2 + 8003836: 621a str r2, [r3, #32] huart->ErrorCode |= HAL_UART_ERROR_FE; - 800350c: 687b ldr r3, [r7, #4] - 800350e: 6fdb ldr r3, [r3, #124] ; 0x7c - 8003510: f043 0204 orr.w r2, r3, #4 - 8003514: 687b ldr r3, [r7, #4] - 8003516: 67da str r2, [r3, #124] ; 0x7c + 8003838: 687b ldr r3, [r7, #4] + 800383a: 6fdb ldr r3, [r3, #124] ; 0x7c + 800383c: f043 0204 orr.w r2, r3, #4 + 8003840: 687b ldr r3, [r7, #4] + 8003842: 67da str r2, [r3, #124] ; 0x7c } /* UART noise error interrupt occurred --------------------------------------*/ if (((isrflags & USART_ISR_NE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U)) - 8003518: 69fb ldr r3, [r7, #28] - 800351a: f003 0304 and.w r3, r3, #4 - 800351e: 2b00 cmp r3, #0 - 8003520: d00e beq.n 8003540 - 8003522: 697b ldr r3, [r7, #20] - 8003524: f003 0301 and.w r3, r3, #1 - 8003528: 2b00 cmp r3, #0 - 800352a: d009 beq.n 8003540 + 8003844: 69fb ldr r3, [r7, #28] + 8003846: f003 0304 and.w r3, r3, #4 + 800384a: 2b00 cmp r3, #0 + 800384c: d00e beq.n 800386c + 800384e: 697b ldr r3, [r7, #20] + 8003850: f003 0301 and.w r3, r3, #1 + 8003854: 2b00 cmp r3, #0 + 8003856: d009 beq.n 800386c { __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_NEF); - 800352c: 687b ldr r3, [r7, #4] - 800352e: 681b ldr r3, [r3, #0] - 8003530: 2204 movs r2, #4 - 8003532: 621a str r2, [r3, #32] + 8003858: 687b ldr r3, [r7, #4] + 800385a: 681b ldr r3, [r3, #0] + 800385c: 2204 movs r2, #4 + 800385e: 621a str r2, [r3, #32] huart->ErrorCode |= HAL_UART_ERROR_NE; - 8003534: 687b ldr r3, [r7, #4] - 8003536: 6fdb ldr r3, [r3, #124] ; 0x7c - 8003538: f043 0202 orr.w r2, r3, #2 - 800353c: 687b ldr r3, [r7, #4] - 800353e: 67da str r2, [r3, #124] ; 0x7c + 8003860: 687b ldr r3, [r7, #4] + 8003862: 6fdb ldr r3, [r3, #124] ; 0x7c + 8003864: f043 0202 orr.w r2, r3, #2 + 8003868: 687b ldr r3, [r7, #4] + 800386a: 67da str r2, [r3, #124] ; 0x7c } /* UART Over-Run interrupt occurred -----------------------------------------*/ if (((isrflags & USART_ISR_ORE) != 0U) - 8003540: 69fb ldr r3, [r7, #28] - 8003542: f003 0308 and.w r3, r3, #8 - 8003546: 2b00 cmp r3, #0 - 8003548: d013 beq.n 8003572 + 800386c: 69fb ldr r3, [r7, #28] + 800386e: f003 0308 and.w r3, r3, #8 + 8003872: 2b00 cmp r3, #0 + 8003874: d013 beq.n 800389e && (((cr1its & USART_CR1_RXNEIE) != 0U) || - 800354a: 69bb ldr r3, [r7, #24] - 800354c: f003 0320 and.w r3, r3, #32 - 8003550: 2b00 cmp r3, #0 - 8003552: d104 bne.n 800355e + 8003876: 69bb ldr r3, [r7, #24] + 8003878: f003 0320 and.w r3, r3, #32 + 800387c: 2b00 cmp r3, #0 + 800387e: d104 bne.n 800388a ((cr3its & USART_CR3_EIE) != 0U))) - 8003554: 697b ldr r3, [r7, #20] - 8003556: f003 0301 and.w r3, r3, #1 + 8003880: 697b ldr r3, [r7, #20] + 8003882: f003 0301 and.w r3, r3, #1 && (((cr1its & USART_CR1_RXNEIE) != 0U) || - 800355a: 2b00 cmp r3, #0 - 800355c: d009 beq.n 8003572 + 8003886: 2b00 cmp r3, #0 + 8003888: d009 beq.n 800389e { __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF); - 800355e: 687b ldr r3, [r7, #4] - 8003560: 681b ldr r3, [r3, #0] - 8003562: 2208 movs r2, #8 - 8003564: 621a str r2, [r3, #32] + 800388a: 687b ldr r3, [r7, #4] + 800388c: 681b ldr r3, [r3, #0] + 800388e: 2208 movs r2, #8 + 8003890: 621a str r2, [r3, #32] huart->ErrorCode |= HAL_UART_ERROR_ORE; - 8003566: 687b ldr r3, [r7, #4] - 8003568: 6fdb ldr r3, [r3, #124] ; 0x7c - 800356a: f043 0208 orr.w r2, r3, #8 - 800356e: 687b ldr r3, [r7, #4] - 8003570: 67da str r2, [r3, #124] ; 0x7c + 8003892: 687b ldr r3, [r7, #4] + 8003894: 6fdb ldr r3, [r3, #124] ; 0x7c + 8003896: f043 0208 orr.w r2, r3, #8 + 800389a: 687b ldr r3, [r7, #4] + 800389c: 67da str r2, [r3, #124] ; 0x7c } /* Call UART Error Call back function if need be --------------------------*/ if (huart->ErrorCode != HAL_UART_ERROR_NONE) - 8003572: 687b ldr r3, [r7, #4] - 8003574: 6fdb ldr r3, [r3, #124] ; 0x7c - 8003576: 2b00 cmp r3, #0 - 8003578: d07f beq.n 800367a + 800389e: 687b ldr r3, [r7, #4] + 80038a0: 6fdb ldr r3, [r3, #124] ; 0x7c + 80038a2: 2b00 cmp r3, #0 + 80038a4: d07f beq.n 80039a6 { /* UART in mode Receiver ---------------------------------------------------*/ if (((isrflags & USART_ISR_RXNE) != 0U) - 800357a: 69fb ldr r3, [r7, #28] - 800357c: f003 0320 and.w r3, r3, #32 - 8003580: 2b00 cmp r3, #0 - 8003582: d00c beq.n 800359e + 80038a6: 69fb ldr r3, [r7, #28] + 80038a8: f003 0320 and.w r3, r3, #32 + 80038ac: 2b00 cmp r3, #0 + 80038ae: d00c beq.n 80038ca && ((cr1its & USART_CR1_RXNEIE) != 0U)) - 8003584: 69bb ldr r3, [r7, #24] - 8003586: f003 0320 and.w r3, r3, #32 - 800358a: 2b00 cmp r3, #0 - 800358c: d007 beq.n 800359e + 80038b0: 69bb ldr r3, [r7, #24] + 80038b2: f003 0320 and.w r3, r3, #32 + 80038b6: 2b00 cmp r3, #0 + 80038b8: d007 beq.n 80038ca { if (huart->RxISR != NULL) - 800358e: 687b ldr r3, [r7, #4] - 8003590: 6e1b ldr r3, [r3, #96] ; 0x60 - 8003592: 2b00 cmp r3, #0 - 8003594: d003 beq.n 800359e + 80038ba: 687b ldr r3, [r7, #4] + 80038bc: 6e1b ldr r3, [r3, #96] ; 0x60 + 80038be: 2b00 cmp r3, #0 + 80038c0: d003 beq.n 80038ca { huart->RxISR(huart); - 8003596: 687b ldr r3, [r7, #4] - 8003598: 6e1b ldr r3, [r3, #96] ; 0x60 - 800359a: 6878 ldr r0, [r7, #4] - 800359c: 4798 blx r3 + 80038c2: 687b ldr r3, [r7, #4] + 80038c4: 6e1b ldr r3, [r3, #96] ; 0x60 + 80038c6: 6878 ldr r0, [r7, #4] + 80038c8: 4798 blx r3 } } /* If Overrun error occurs, or if any error occurs in DMA mode reception, consider error as blocking */ errorcode = huart->ErrorCode; - 800359e: 687b ldr r3, [r7, #4] - 80035a0: 6fdb ldr r3, [r3, #124] ; 0x7c - 80035a2: 60fb str r3, [r7, #12] + 80038ca: 687b ldr r3, [r7, #4] + 80038cc: 6fdb ldr r3, [r3, #124] ; 0x7c + 80038ce: 60fb str r3, [r7, #12] if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) || - 80035a4: 687b ldr r3, [r7, #4] - 80035a6: 681b ldr r3, [r3, #0] - 80035a8: 689b ldr r3, [r3, #8] - 80035aa: f003 0340 and.w r3, r3, #64 ; 0x40 - 80035ae: 2b40 cmp r3, #64 ; 0x40 - 80035b0: d004 beq.n 80035bc + 80038d0: 687b ldr r3, [r7, #4] + 80038d2: 681b ldr r3, [r3, #0] + 80038d4: 689b ldr r3, [r3, #8] + 80038d6: f003 0340 and.w r3, r3, #64 ; 0x40 + 80038da: 2b40 cmp r3, #64 ; 0x40 + 80038dc: d004 beq.n 80038e8 ((errorcode & HAL_UART_ERROR_ORE) != 0U)) - 80035b2: 68fb ldr r3, [r7, #12] - 80035b4: f003 0308 and.w r3, r3, #8 + 80038de: 68fb ldr r3, [r7, #12] + 80038e0: f003 0308 and.w r3, r3, #8 if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) || - 80035b8: 2b00 cmp r3, #0 - 80035ba: d031 beq.n 8003620 + 80038e4: 2b00 cmp r3, #0 + 80038e6: d031 beq.n 800394c { /* Blocking error : transfer is aborted Set the UART state ready to be able to start again the process, Disable Rx Interrupts, and disable Rx DMA request, if ongoing */ UART_EndRxTransfer(huart); - 80035bc: 6878 ldr r0, [r7, #4] - 80035be: f000 fc36 bl 8003e2e + 80038e8: 6878 ldr r0, [r7, #4] + 80038ea: f000 fc55 bl 8004198 /* Disable the UART DMA Rx request if enabled */ if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) - 80035c2: 687b ldr r3, [r7, #4] - 80035c4: 681b ldr r3, [r3, #0] - 80035c6: 689b ldr r3, [r3, #8] - 80035c8: f003 0340 and.w r3, r3, #64 ; 0x40 - 80035cc: 2b40 cmp r3, #64 ; 0x40 - 80035ce: d123 bne.n 8003618 + 80038ee: 687b ldr r3, [r7, #4] + 80038f0: 681b ldr r3, [r3, #0] + 80038f2: 689b ldr r3, [r3, #8] + 80038f4: f003 0340 and.w r3, r3, #64 ; 0x40 + 80038f8: 2b40 cmp r3, #64 ; 0x40 + 80038fa: d123 bne.n 8003944 { CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); - 80035d0: 687b ldr r3, [r7, #4] - 80035d2: 681b ldr r3, [r3, #0] - 80035d4: 689a ldr r2, [r3, #8] - 80035d6: 687b ldr r3, [r7, #4] - 80035d8: 681b ldr r3, [r3, #0] - 80035da: f022 0240 bic.w r2, r2, #64 ; 0x40 - 80035de: 609a str r2, [r3, #8] + 80038fc: 687b ldr r3, [r7, #4] + 80038fe: 681b ldr r3, [r3, #0] + 8003900: 689a ldr r2, [r3, #8] + 8003902: 687b ldr r3, [r7, #4] + 8003904: 681b ldr r3, [r3, #0] + 8003906: f022 0240 bic.w r2, r2, #64 ; 0x40 + 800390a: 609a str r2, [r3, #8] /* Abort the UART DMA Rx channel */ if (huart->hdmarx != NULL) - 80035e0: 687b ldr r3, [r7, #4] - 80035e2: 6edb ldr r3, [r3, #108] ; 0x6c - 80035e4: 2b00 cmp r3, #0 - 80035e6: d013 beq.n 8003610 + 800390c: 687b ldr r3, [r7, #4] + 800390e: 6edb ldr r3, [r3, #108] ; 0x6c + 8003910: 2b00 cmp r3, #0 + 8003912: d013 beq.n 800393c { /* Set the UART DMA Abort callback : will lead to call HAL_UART_ErrorCallback() at end of DMA abort procedure */ huart->hdmarx->XferAbortCallback = UART_DMAAbortOnError; - 80035e8: 687b ldr r3, [r7, #4] - 80035ea: 6edb ldr r3, [r3, #108] ; 0x6c - 80035ec: 4a26 ldr r2, [pc, #152] ; (8003688 ) - 80035ee: 651a str r2, [r3, #80] ; 0x50 + 8003914: 687b ldr r3, [r7, #4] + 8003916: 6edb ldr r3, [r3, #108] ; 0x6c + 8003918: 4a26 ldr r2, [pc, #152] ; (80039b4 ) + 800391a: 651a str r2, [r3, #80] ; 0x50 /* Abort DMA RX */ if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) - 80035f0: 687b ldr r3, [r7, #4] - 80035f2: 6edb ldr r3, [r3, #108] ; 0x6c - 80035f4: 4618 mov r0, r3 - 80035f6: f7fd f9bd bl 8000974 - 80035fa: 4603 mov r3, r0 - 80035fc: 2b00 cmp r3, #0 - 80035fe: d016 beq.n 800362e + 800391c: 687b ldr r3, [r7, #4] + 800391e: 6edb ldr r3, [r3, #108] ; 0x6c + 8003920: 4618 mov r0, r3 + 8003922: f7fd f88f bl 8000a44 + 8003926: 4603 mov r3, r0 + 8003928: 2b00 cmp r3, #0 + 800392a: d016 beq.n 800395a { /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */ huart->hdmarx->XferAbortCallback(huart->hdmarx); - 8003600: 687b ldr r3, [r7, #4] - 8003602: 6edb ldr r3, [r3, #108] ; 0x6c - 8003604: 6d1b ldr r3, [r3, #80] ; 0x50 - 8003606: 687a ldr r2, [r7, #4] - 8003608: 6ed2 ldr r2, [r2, #108] ; 0x6c - 800360a: 4610 mov r0, r2 - 800360c: 4798 blx r3 + 800392c: 687b ldr r3, [r7, #4] + 800392e: 6edb ldr r3, [r3, #108] ; 0x6c + 8003930: 6d1b ldr r3, [r3, #80] ; 0x50 + 8003932: 687a ldr r2, [r7, #4] + 8003934: 6ed2 ldr r2, [r2, #108] ; 0x6c + 8003936: 4610 mov r0, r2 + 8003938: 4798 blx r3 if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) - 800360e: e00e b.n 800362e + 800393a: e00e b.n 800395a #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) /*Call registered error callback*/ huart->ErrorCallback(huart); #else /*Call legacy weak error callback*/ HAL_UART_ErrorCallback(huart); - 8003610: 6878 ldr r0, [r7, #4] - 8003612: f000 f845 bl 80036a0 + 800393c: 6878 ldr r0, [r7, #4] + 800393e: f000 f84f bl 80039e0 if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) - 8003616: e00a b.n 800362e + 8003942: e00a b.n 800395a #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) /*Call registered error callback*/ huart->ErrorCallback(huart); #else /*Call legacy weak error callback*/ HAL_UART_ErrorCallback(huart); - 8003618: 6878 ldr r0, [r7, #4] - 800361a: f000 f841 bl 80036a0 + 8003944: 6878 ldr r0, [r7, #4] + 8003946: f000 f84b bl 80039e0 if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) - 800361e: e006 b.n 800362e + 800394a: e006 b.n 800395a #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) /*Call registered error callback*/ huart->ErrorCallback(huart); #else /*Call legacy weak error callback*/ HAL_UART_ErrorCallback(huart); - 8003620: 6878 ldr r0, [r7, #4] - 8003622: f000 f83d bl 80036a0 + 800394c: 6878 ldr r0, [r7, #4] + 800394e: f000 f847 bl 80039e0 #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ huart->ErrorCode = HAL_UART_ERROR_NONE; - 8003626: 687b ldr r3, [r7, #4] - 8003628: 2200 movs r2, #0 - 800362a: 67da str r2, [r3, #124] ; 0x7c + 8003952: 687b ldr r3, [r7, #4] + 8003954: 2200 movs r2, #0 + 8003956: 67da str r2, [r3, #124] ; 0x7c } } return; - 800362c: e025 b.n 800367a + 8003958: e025 b.n 80039a6 if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) - 800362e: bf00 nop + 800395a: bf00 nop return; - 8003630: e023 b.n 800367a + 800395c: e023 b.n 80039a6 } /* End if some error occurs */ /* UART in mode Transmitter ------------------------------------------------*/ if (((isrflags & USART_ISR_TXE) != 0U) - 8003632: 69fb ldr r3, [r7, #28] - 8003634: f003 0380 and.w r3, r3, #128 ; 0x80 - 8003638: 2b00 cmp r3, #0 - 800363a: d00d beq.n 8003658 + 800395e: 69fb ldr r3, [r7, #28] + 8003960: f003 0380 and.w r3, r3, #128 ; 0x80 + 8003964: 2b00 cmp r3, #0 + 8003966: d00d beq.n 8003984 && ((cr1its & USART_CR1_TXEIE) != 0U)) - 800363c: 69bb ldr r3, [r7, #24] - 800363e: f003 0380 and.w r3, r3, #128 ; 0x80 - 8003642: 2b00 cmp r3, #0 - 8003644: d008 beq.n 8003658 + 8003968: 69bb ldr r3, [r7, #24] + 800396a: f003 0380 and.w r3, r3, #128 ; 0x80 + 800396e: 2b00 cmp r3, #0 + 8003970: d008 beq.n 8003984 { if (huart->TxISR != NULL) - 8003646: 687b ldr r3, [r7, #4] - 8003648: 6e5b ldr r3, [r3, #100] ; 0x64 - 800364a: 2b00 cmp r3, #0 - 800364c: d017 beq.n 800367e + 8003972: 687b ldr r3, [r7, #4] + 8003974: 6e5b ldr r3, [r3, #100] ; 0x64 + 8003976: 2b00 cmp r3, #0 + 8003978: d017 beq.n 80039aa { huart->TxISR(huart); - 800364e: 687b ldr r3, [r7, #4] - 8003650: 6e5b ldr r3, [r3, #100] ; 0x64 - 8003652: 6878 ldr r0, [r7, #4] - 8003654: 4798 blx r3 + 800397a: 687b ldr r3, [r7, #4] + 800397c: 6e5b ldr r3, [r3, #100] ; 0x64 + 800397e: 6878 ldr r0, [r7, #4] + 8003980: 4798 blx r3 } return; - 8003656: e012 b.n 800367e + 8003982: e012 b.n 80039aa } /* UART in mode Transmitter (transmission end) -----------------------------*/ if (((isrflags & USART_ISR_TC) != 0U) && ((cr1its & USART_CR1_TCIE) != 0U)) - 8003658: 69fb ldr r3, [r7, #28] - 800365a: f003 0340 and.w r3, r3, #64 ; 0x40 - 800365e: 2b00 cmp r3, #0 - 8003660: d00e beq.n 8003680 - 8003662: 69bb ldr r3, [r7, #24] - 8003664: f003 0340 and.w r3, r3, #64 ; 0x40 - 8003668: 2b00 cmp r3, #0 - 800366a: d009 beq.n 8003680 + 8003984: 69fb ldr r3, [r7, #28] + 8003986: f003 0340 and.w r3, r3, #64 ; 0x40 + 800398a: 2b00 cmp r3, #0 + 800398c: d00e beq.n 80039ac + 800398e: 69bb ldr r3, [r7, #24] + 8003990: f003 0340 and.w r3, r3, #64 ; 0x40 + 8003994: 2b00 cmp r3, #0 + 8003996: d009 beq.n 80039ac { UART_EndTransmit_IT(huart); - 800366c: 6878 ldr r0, [r7, #4] - 800366e: f000 fc14 bl 8003e9a + 8003998: 6878 ldr r0, [r7, #4] + 800399a: f000 fce5 bl 8004368 return; - 8003672: bf00 nop - 8003674: e004 b.n 8003680 + 800399e: bf00 nop + 80039a0: e004 b.n 80039ac return; - 8003676: bf00 nop - 8003678: e002 b.n 8003680 + 80039a2: bf00 nop + 80039a4: e002 b.n 80039ac return; - 800367a: bf00 nop - 800367c: e000 b.n 8003680 + 80039a6: bf00 nop + 80039a8: e000 b.n 80039ac return; - 800367e: bf00 nop + 80039aa: bf00 nop } } - 8003680: 3720 adds r7, #32 - 8003682: 46bd mov sp, r7 - 8003684: bd80 pop {r7, pc} - 8003686: bf00 nop - 8003688: 08003e6f .word 0x08003e6f + 80039ac: 3720 adds r7, #32 + 80039ae: 46bd mov sp, r7 + 80039b0: bd80 pop {r7, pc} + 80039b2: bf00 nop + 80039b4: 0800433d .word 0x0800433d + +080039b8 : + * @brief Tx Half Transfer completed callback. + * @param huart UART handle. + * @retval None + */ +__weak void HAL_UART_TxHalfCpltCallback(UART_HandleTypeDef *huart) +{ + 80039b8: b480 push {r7} + 80039ba: b083 sub sp, #12 + 80039bc: af00 add r7, sp, #0 + 80039be: 6078 str r0, [r7, #4] + UNUSED(huart); -0800368c : - * @brief Tx Transfer completed callback. - * @param huart UART handle. + /* NOTE: This function should not be modified, when the callback is needed, + the HAL_UART_TxHalfCpltCallback can be implemented in the user file. + */ +} + 80039c0: bf00 nop + 80039c2: 370c adds r7, #12 + 80039c4: 46bd mov sp, r7 + 80039c6: f85d 7b04 ldr.w r7, [sp], #4 + 80039ca: 4770 bx lr + +080039cc : + * @brief Rx Half Transfer completed callback. + * @param huart UART handle. * @retval None */ -__weak void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart) +__weak void HAL_UART_RxHalfCpltCallback(UART_HandleTypeDef *huart) { - 800368c: b480 push {r7} - 800368e: b083 sub sp, #12 - 8003690: af00 add r7, sp, #0 - 8003692: 6078 str r0, [r7, #4] + 80039cc: b480 push {r7} + 80039ce: b083 sub sp, #12 + 80039d0: af00 add r7, sp, #0 + 80039d2: 6078 str r0, [r7, #4] UNUSED(huart); - /* NOTE : This function should not be modified, when the callback is needed, - the HAL_UART_TxCpltCallback can be implemented in the user file. + /* NOTE: This function should not be modified, when the callback is needed, + the HAL_UART_RxHalfCpltCallback can be implemented in the user file. */ } - 8003694: bf00 nop - 8003696: 370c adds r7, #12 - 8003698: 46bd mov sp, r7 - 800369a: f85d 7b04 ldr.w r7, [sp], #4 - 800369e: 4770 bx lr + 80039d4: bf00 nop + 80039d6: 370c adds r7, #12 + 80039d8: 46bd mov sp, r7 + 80039da: f85d 7b04 ldr.w r7, [sp], #4 + 80039de: 4770 bx lr -080036a0 : +080039e0 : * @brief UART error callback. * @param huart UART handle. * @retval None */ __weak void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart) { - 80036a0: b480 push {r7} - 80036a2: b083 sub sp, #12 - 80036a4: af00 add r7, sp, #0 - 80036a6: 6078 str r0, [r7, #4] + 80039e0: b480 push {r7} + 80039e2: b083 sub sp, #12 + 80039e4: af00 add r7, sp, #0 + 80039e6: 6078 str r0, [r7, #4] UNUSED(huart); /* NOTE : This function should not be modified, when the callback is needed, the HAL_UART_ErrorCallback can be implemented in the user file. */ } - 80036a8: bf00 nop - 80036aa: 370c adds r7, #12 - 80036ac: 46bd mov sp, r7 - 80036ae: f85d 7b04 ldr.w r7, [sp], #4 - 80036b2: 4770 bx lr + 80039e8: bf00 nop + 80039ea: 370c adds r7, #12 + 80039ec: 46bd mov sp, r7 + 80039ee: f85d 7b04 ldr.w r7, [sp], #4 + 80039f2: 4770 bx lr -080036b4 : +080039f4 : * @brief Configure the UART peripheral. * @param huart UART handle. * @retval HAL status */ HAL_StatusTypeDef UART_SetConfig(UART_HandleTypeDef *huart) { - 80036b4: b580 push {r7, lr} - 80036b6: b088 sub sp, #32 - 80036b8: af00 add r7, sp, #0 - 80036ba: 6078 str r0, [r7, #4] + 80039f4: b580 push {r7, lr} + 80039f6: b088 sub sp, #32 + 80039f8: af00 add r7, sp, #0 + 80039fa: 6078 str r0, [r7, #4] uint32_t tmpreg; uint16_t brrtemp; UART_ClockSourceTypeDef clocksource; uint32_t usartdiv = 0x00000000U; - 80036bc: 2300 movs r3, #0 - 80036be: 61bb str r3, [r7, #24] + 80039fc: 2300 movs r3, #0 + 80039fe: 61bb str r3, [r7, #24] HAL_StatusTypeDef ret = HAL_OK; - 80036c0: 2300 movs r3, #0 - 80036c2: 75fb strb r3, [r7, #23] + 8003a00: 2300 movs r3, #0 + 8003a02: 75fb strb r3, [r7, #23] * the UART Word Length, Parity, Mode and oversampling: * set the M bits according to huart->Init.WordLength value * set PCE and PS bits according to huart->Init.Parity value * set TE and RE bits according to huart->Init.Mode value * set OVER8 bit according to huart->Init.OverSampling value */ tmpreg = (uint32_t)huart->Init.WordLength | huart->Init.Parity | huart->Init.Mode | huart->Init.OverSampling ; - 80036c4: 687b ldr r3, [r7, #4] - 80036c6: 689a ldr r2, [r3, #8] - 80036c8: 687b ldr r3, [r7, #4] - 80036ca: 691b ldr r3, [r3, #16] - 80036cc: 431a orrs r2, r3 - 80036ce: 687b ldr r3, [r7, #4] - 80036d0: 695b ldr r3, [r3, #20] - 80036d2: 431a orrs r2, r3 - 80036d4: 687b ldr r3, [r7, #4] - 80036d6: 69db ldr r3, [r3, #28] - 80036d8: 4313 orrs r3, r2 - 80036da: 613b str r3, [r7, #16] + 8003a04: 687b ldr r3, [r7, #4] + 8003a06: 689a ldr r2, [r3, #8] + 8003a08: 687b ldr r3, [r7, #4] + 8003a0a: 691b ldr r3, [r3, #16] + 8003a0c: 431a orrs r2, r3 + 8003a0e: 687b ldr r3, [r7, #4] + 8003a10: 695b ldr r3, [r3, #20] + 8003a12: 431a orrs r2, r3 + 8003a14: 687b ldr r3, [r7, #4] + 8003a16: 69db ldr r3, [r3, #28] + 8003a18: 4313 orrs r3, r2 + 8003a1a: 613b str r3, [r7, #16] MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg); - 80036dc: 687b ldr r3, [r7, #4] - 80036de: 681b ldr r3, [r3, #0] - 80036e0: 681a ldr r2, [r3, #0] - 80036e2: 4bb1 ldr r3, [pc, #708] ; (80039a8 ) - 80036e4: 4013 ands r3, r2 - 80036e6: 687a ldr r2, [r7, #4] - 80036e8: 6812 ldr r2, [r2, #0] - 80036ea: 6939 ldr r1, [r7, #16] - 80036ec: 430b orrs r3, r1 - 80036ee: 6013 str r3, [r2, #0] + 8003a1c: 687b ldr r3, [r7, #4] + 8003a1e: 681b ldr r3, [r3, #0] + 8003a20: 681a ldr r2, [r3, #0] + 8003a22: 4bb1 ldr r3, [pc, #708] ; (8003ce8 ) + 8003a24: 4013 ands r3, r2 + 8003a26: 687a ldr r2, [r7, #4] + 8003a28: 6812 ldr r2, [r2, #0] + 8003a2a: 6939 ldr r1, [r7, #16] + 8003a2c: 430b orrs r3, r1 + 8003a2e: 6013 str r3, [r2, #0] /*-------------------------- USART CR2 Configuration -----------------------*/ /* Configure the UART Stop Bits: Set STOP[13:12] bits according * to huart->Init.StopBits value */ MODIFY_REG(huart->Instance->CR2, USART_CR2_STOP, huart->Init.StopBits); - 80036f0: 687b ldr r3, [r7, #4] - 80036f2: 681b ldr r3, [r3, #0] - 80036f4: 685b ldr r3, [r3, #4] - 80036f6: f423 5140 bic.w r1, r3, #12288 ; 0x3000 - 80036fa: 687b ldr r3, [r7, #4] - 80036fc: 68da ldr r2, [r3, #12] - 80036fe: 687b ldr r3, [r7, #4] - 8003700: 681b ldr r3, [r3, #0] - 8003702: 430a orrs r2, r1 - 8003704: 605a str r2, [r3, #4] + 8003a30: 687b ldr r3, [r7, #4] + 8003a32: 681b ldr r3, [r3, #0] + 8003a34: 685b ldr r3, [r3, #4] + 8003a36: f423 5140 bic.w r1, r3, #12288 ; 0x3000 + 8003a3a: 687b ldr r3, [r7, #4] + 8003a3c: 68da ldr r2, [r3, #12] + 8003a3e: 687b ldr r3, [r7, #4] + 8003a40: 681b ldr r3, [r3, #0] + 8003a42: 430a orrs r2, r1 + 8003a44: 605a str r2, [r3, #4] /* Configure * - UART HardWare Flow Control: set CTSE and RTSE bits according * to huart->Init.HwFlowCtl value * - one-bit sampling method versus three samples' majority rule according * to huart->Init.OneBitSampling (not applicable to LPUART) */ tmpreg = (uint32_t)huart->Init.HwFlowCtl; - 8003706: 687b ldr r3, [r7, #4] - 8003708: 699b ldr r3, [r3, #24] - 800370a: 613b str r3, [r7, #16] + 8003a46: 687b ldr r3, [r7, #4] + 8003a48: 699b ldr r3, [r3, #24] + 8003a4a: 613b str r3, [r7, #16] tmpreg |= huart->Init.OneBitSampling; - 800370c: 687b ldr r3, [r7, #4] - 800370e: 6a1b ldr r3, [r3, #32] - 8003710: 693a ldr r2, [r7, #16] - 8003712: 4313 orrs r3, r2 - 8003714: 613b str r3, [r7, #16] + 8003a4c: 687b ldr r3, [r7, #4] + 8003a4e: 6a1b ldr r3, [r3, #32] + 8003a50: 693a ldr r2, [r7, #16] + 8003a52: 4313 orrs r3, r2 + 8003a54: 613b str r3, [r7, #16] MODIFY_REG(huart->Instance->CR3, USART_CR3_FIELDS, tmpreg); - 8003716: 687b ldr r3, [r7, #4] - 8003718: 681b ldr r3, [r3, #0] - 800371a: 689b ldr r3, [r3, #8] - 800371c: f423 6130 bic.w r1, r3, #2816 ; 0xb00 - 8003720: 687b ldr r3, [r7, #4] - 8003722: 681b ldr r3, [r3, #0] - 8003724: 693a ldr r2, [r7, #16] - 8003726: 430a orrs r2, r1 - 8003728: 609a str r2, [r3, #8] + 8003a56: 687b ldr r3, [r7, #4] + 8003a58: 681b ldr r3, [r3, #0] + 8003a5a: 689b ldr r3, [r3, #8] + 8003a5c: f423 6130 bic.w r1, r3, #2816 ; 0xb00 + 8003a60: 687b ldr r3, [r7, #4] + 8003a62: 681b ldr r3, [r3, #0] + 8003a64: 693a ldr r2, [r7, #16] + 8003a66: 430a orrs r2, r1 + 8003a68: 609a str r2, [r3, #8] /*-------------------------- USART BRR Configuration -----------------------*/ UART_GETCLOCKSOURCE(huart, clocksource); - 800372a: 687b ldr r3, [r7, #4] - 800372c: 681b ldr r3, [r3, #0] - 800372e: 4a9f ldr r2, [pc, #636] ; (80039ac ) - 8003730: 4293 cmp r3, r2 - 8003732: d121 bne.n 8003778 - 8003734: 4b9e ldr r3, [pc, #632] ; (80039b0 ) - 8003736: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 - 800373a: f003 0303 and.w r3, r3, #3 - 800373e: 2b03 cmp r3, #3 - 8003740: d816 bhi.n 8003770 - 8003742: a201 add r2, pc, #4 ; (adr r2, 8003748 ) - 8003744: f852 f023 ldr.w pc, [r2, r3, lsl #2] - 8003748: 08003759 .word 0x08003759 - 800374c: 08003765 .word 0x08003765 - 8003750: 0800375f .word 0x0800375f - 8003754: 0800376b .word 0x0800376b - 8003758: 2301 movs r3, #1 - 800375a: 77fb strb r3, [r7, #31] - 800375c: e151 b.n 8003a02 - 800375e: 2302 movs r3, #2 - 8003760: 77fb strb r3, [r7, #31] - 8003762: e14e b.n 8003a02 - 8003764: 2304 movs r3, #4 - 8003766: 77fb strb r3, [r7, #31] - 8003768: e14b b.n 8003a02 - 800376a: 2308 movs r3, #8 - 800376c: 77fb strb r3, [r7, #31] - 800376e: e148 b.n 8003a02 - 8003770: 2310 movs r3, #16 - 8003772: 77fb strb r3, [r7, #31] - 8003774: bf00 nop - 8003776: e144 b.n 8003a02 - 8003778: 687b ldr r3, [r7, #4] - 800377a: 681b ldr r3, [r3, #0] - 800377c: 4a8d ldr r2, [pc, #564] ; (80039b4 ) - 800377e: 4293 cmp r3, r2 - 8003780: d134 bne.n 80037ec - 8003782: 4b8b ldr r3, [pc, #556] ; (80039b0 ) - 8003784: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 - 8003788: f003 030c and.w r3, r3, #12 - 800378c: 2b0c cmp r3, #12 - 800378e: d829 bhi.n 80037e4 - 8003790: a201 add r2, pc, #4 ; (adr r2, 8003798 ) - 8003792: f852 f023 ldr.w pc, [r2, r3, lsl #2] - 8003796: bf00 nop - 8003798: 080037cd .word 0x080037cd - 800379c: 080037e5 .word 0x080037e5 - 80037a0: 080037e5 .word 0x080037e5 - 80037a4: 080037e5 .word 0x080037e5 - 80037a8: 080037d9 .word 0x080037d9 - 80037ac: 080037e5 .word 0x080037e5 - 80037b0: 080037e5 .word 0x080037e5 - 80037b4: 080037e5 .word 0x080037e5 - 80037b8: 080037d3 .word 0x080037d3 - 80037bc: 080037e5 .word 0x080037e5 - 80037c0: 080037e5 .word 0x080037e5 - 80037c4: 080037e5 .word 0x080037e5 - 80037c8: 080037df .word 0x080037df - 80037cc: 2300 movs r3, #0 - 80037ce: 77fb strb r3, [r7, #31] - 80037d0: e117 b.n 8003a02 - 80037d2: 2302 movs r3, #2 - 80037d4: 77fb strb r3, [r7, #31] - 80037d6: e114 b.n 8003a02 - 80037d8: 2304 movs r3, #4 - 80037da: 77fb strb r3, [r7, #31] - 80037dc: e111 b.n 8003a02 - 80037de: 2308 movs r3, #8 - 80037e0: 77fb strb r3, [r7, #31] - 80037e2: e10e b.n 8003a02 - 80037e4: 2310 movs r3, #16 - 80037e6: 77fb strb r3, [r7, #31] - 80037e8: bf00 nop - 80037ea: e10a b.n 8003a02 - 80037ec: 687b ldr r3, [r7, #4] - 80037ee: 681b ldr r3, [r3, #0] - 80037f0: 4a71 ldr r2, [pc, #452] ; (80039b8 ) - 80037f2: 4293 cmp r3, r2 - 80037f4: d120 bne.n 8003838 - 80037f6: 4b6e ldr r3, [pc, #440] ; (80039b0 ) - 80037f8: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 - 80037fc: f003 0330 and.w r3, r3, #48 ; 0x30 - 8003800: 2b10 cmp r3, #16 - 8003802: d00f beq.n 8003824 - 8003804: 2b10 cmp r3, #16 - 8003806: d802 bhi.n 800380e - 8003808: 2b00 cmp r3, #0 - 800380a: d005 beq.n 8003818 - 800380c: e010 b.n 8003830 - 800380e: 2b20 cmp r3, #32 - 8003810: d005 beq.n 800381e - 8003812: 2b30 cmp r3, #48 ; 0x30 - 8003814: d009 beq.n 800382a - 8003816: e00b b.n 8003830 - 8003818: 2300 movs r3, #0 - 800381a: 77fb strb r3, [r7, #31] - 800381c: e0f1 b.n 8003a02 - 800381e: 2302 movs r3, #2 - 8003820: 77fb strb r3, [r7, #31] - 8003822: e0ee b.n 8003a02 - 8003824: 2304 movs r3, #4 - 8003826: 77fb strb r3, [r7, #31] - 8003828: e0eb b.n 8003a02 - 800382a: 2308 movs r3, #8 - 800382c: 77fb strb r3, [r7, #31] - 800382e: e0e8 b.n 8003a02 - 8003830: 2310 movs r3, #16 - 8003832: 77fb strb r3, [r7, #31] - 8003834: bf00 nop - 8003836: e0e4 b.n 8003a02 - 8003838: 687b ldr r3, [r7, #4] - 800383a: 681b ldr r3, [r3, #0] - 800383c: 4a5f ldr r2, [pc, #380] ; (80039bc ) - 800383e: 4293 cmp r3, r2 - 8003840: d120 bne.n 8003884 - 8003842: 4b5b ldr r3, [pc, #364] ; (80039b0 ) - 8003844: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 - 8003848: f003 03c0 and.w r3, r3, #192 ; 0xc0 - 800384c: 2b40 cmp r3, #64 ; 0x40 - 800384e: d00f beq.n 8003870 - 8003850: 2b40 cmp r3, #64 ; 0x40 - 8003852: d802 bhi.n 800385a - 8003854: 2b00 cmp r3, #0 - 8003856: d005 beq.n 8003864 - 8003858: e010 b.n 800387c - 800385a: 2b80 cmp r3, #128 ; 0x80 - 800385c: d005 beq.n 800386a - 800385e: 2bc0 cmp r3, #192 ; 0xc0 - 8003860: d009 beq.n 8003876 - 8003862: e00b b.n 800387c - 8003864: 2300 movs r3, #0 - 8003866: 77fb strb r3, [r7, #31] - 8003868: e0cb b.n 8003a02 - 800386a: 2302 movs r3, #2 - 800386c: 77fb strb r3, [r7, #31] - 800386e: e0c8 b.n 8003a02 - 8003870: 2304 movs r3, #4 - 8003872: 77fb strb r3, [r7, #31] - 8003874: e0c5 b.n 8003a02 - 8003876: 2308 movs r3, #8 - 8003878: 77fb strb r3, [r7, #31] - 800387a: e0c2 b.n 8003a02 - 800387c: 2310 movs r3, #16 - 800387e: 77fb strb r3, [r7, #31] - 8003880: bf00 nop - 8003882: e0be b.n 8003a02 - 8003884: 687b ldr r3, [r7, #4] - 8003886: 681b ldr r3, [r3, #0] - 8003888: 4a4d ldr r2, [pc, #308] ; (80039c0 ) - 800388a: 4293 cmp r3, r2 - 800388c: d124 bne.n 80038d8 - 800388e: 4b48 ldr r3, [pc, #288] ; (80039b0 ) - 8003890: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 - 8003894: f403 7340 and.w r3, r3, #768 ; 0x300 - 8003898: f5b3 7f80 cmp.w r3, #256 ; 0x100 - 800389c: d012 beq.n 80038c4 - 800389e: f5b3 7f80 cmp.w r3, #256 ; 0x100 - 80038a2: d802 bhi.n 80038aa - 80038a4: 2b00 cmp r3, #0 - 80038a6: d007 beq.n 80038b8 - 80038a8: e012 b.n 80038d0 - 80038aa: f5b3 7f00 cmp.w r3, #512 ; 0x200 - 80038ae: d006 beq.n 80038be - 80038b0: f5b3 7f40 cmp.w r3, #768 ; 0x300 - 80038b4: d009 beq.n 80038ca - 80038b6: e00b b.n 80038d0 - 80038b8: 2300 movs r3, #0 - 80038ba: 77fb strb r3, [r7, #31] - 80038bc: e0a1 b.n 8003a02 - 80038be: 2302 movs r3, #2 - 80038c0: 77fb strb r3, [r7, #31] - 80038c2: e09e b.n 8003a02 - 80038c4: 2304 movs r3, #4 - 80038c6: 77fb strb r3, [r7, #31] - 80038c8: e09b b.n 8003a02 - 80038ca: 2308 movs r3, #8 - 80038cc: 77fb strb r3, [r7, #31] - 80038ce: e098 b.n 8003a02 - 80038d0: 2310 movs r3, #16 - 80038d2: 77fb strb r3, [r7, #31] - 80038d4: bf00 nop - 80038d6: e094 b.n 8003a02 - 80038d8: 687b ldr r3, [r7, #4] - 80038da: 681b ldr r3, [r3, #0] - 80038dc: 4a39 ldr r2, [pc, #228] ; (80039c4 ) - 80038de: 4293 cmp r3, r2 - 80038e0: d124 bne.n 800392c - 80038e2: 4b33 ldr r3, [pc, #204] ; (80039b0 ) - 80038e4: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 - 80038e8: f403 6340 and.w r3, r3, #3072 ; 0xc00 - 80038ec: f5b3 6f80 cmp.w r3, #1024 ; 0x400 - 80038f0: d012 beq.n 8003918 - 80038f2: f5b3 6f80 cmp.w r3, #1024 ; 0x400 - 80038f6: d802 bhi.n 80038fe - 80038f8: 2b00 cmp r3, #0 - 80038fa: d007 beq.n 800390c - 80038fc: e012 b.n 8003924 - 80038fe: f5b3 6f00 cmp.w r3, #2048 ; 0x800 - 8003902: d006 beq.n 8003912 - 8003904: f5b3 6f40 cmp.w r3, #3072 ; 0xc00 - 8003908: d009 beq.n 800391e - 800390a: e00b b.n 8003924 - 800390c: 2301 movs r3, #1 - 800390e: 77fb strb r3, [r7, #31] - 8003910: e077 b.n 8003a02 - 8003912: 2302 movs r3, #2 - 8003914: 77fb strb r3, [r7, #31] - 8003916: e074 b.n 8003a02 - 8003918: 2304 movs r3, #4 - 800391a: 77fb strb r3, [r7, #31] - 800391c: e071 b.n 8003a02 - 800391e: 2308 movs r3, #8 - 8003920: 77fb strb r3, [r7, #31] - 8003922: e06e b.n 8003a02 - 8003924: 2310 movs r3, #16 - 8003926: 77fb strb r3, [r7, #31] - 8003928: bf00 nop - 800392a: e06a b.n 8003a02 - 800392c: 687b ldr r3, [r7, #4] - 800392e: 681b ldr r3, [r3, #0] - 8003930: 4a25 ldr r2, [pc, #148] ; (80039c8 ) - 8003932: 4293 cmp r3, r2 - 8003934: d124 bne.n 8003980 - 8003936: 4b1e ldr r3, [pc, #120] ; (80039b0 ) - 8003938: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 - 800393c: f403 5340 and.w r3, r3, #12288 ; 0x3000 - 8003940: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 - 8003944: d012 beq.n 800396c - 8003946: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 - 800394a: d802 bhi.n 8003952 - 800394c: 2b00 cmp r3, #0 - 800394e: d007 beq.n 8003960 - 8003950: e012 b.n 8003978 - 8003952: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 - 8003956: d006 beq.n 8003966 - 8003958: f5b3 5f40 cmp.w r3, #12288 ; 0x3000 - 800395c: d009 beq.n 8003972 - 800395e: e00b b.n 8003978 - 8003960: 2300 movs r3, #0 - 8003962: 77fb strb r3, [r7, #31] - 8003964: e04d b.n 8003a02 - 8003966: 2302 movs r3, #2 - 8003968: 77fb strb r3, [r7, #31] - 800396a: e04a b.n 8003a02 - 800396c: 2304 movs r3, #4 - 800396e: 77fb strb r3, [r7, #31] - 8003970: e047 b.n 8003a02 - 8003972: 2308 movs r3, #8 - 8003974: 77fb strb r3, [r7, #31] - 8003976: e044 b.n 8003a02 - 8003978: 2310 movs r3, #16 - 800397a: 77fb strb r3, [r7, #31] - 800397c: bf00 nop - 800397e: e040 b.n 8003a02 - 8003980: 687b ldr r3, [r7, #4] - 8003982: 681b ldr r3, [r3, #0] - 8003984: 4a11 ldr r2, [pc, #68] ; (80039cc ) - 8003986: 4293 cmp r3, r2 - 8003988: d139 bne.n 80039fe - 800398a: 4b09 ldr r3, [pc, #36] ; (80039b0 ) - 800398c: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 - 8003990: f403 4340 and.w r3, r3, #49152 ; 0xc000 - 8003994: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 - 8003998: d027 beq.n 80039ea - 800399a: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 - 800399e: d817 bhi.n 80039d0 - 80039a0: 2b00 cmp r3, #0 - 80039a2: d01c beq.n 80039de - 80039a4: e027 b.n 80039f6 - 80039a6: bf00 nop - 80039a8: efff69f3 .word 0xefff69f3 - 80039ac: 40011000 .word 0x40011000 - 80039b0: 40023800 .word 0x40023800 - 80039b4: 40004400 .word 0x40004400 - 80039b8: 40004800 .word 0x40004800 - 80039bc: 40004c00 .word 0x40004c00 - 80039c0: 40005000 .word 0x40005000 - 80039c4: 40011400 .word 0x40011400 - 80039c8: 40007800 .word 0x40007800 - 80039cc: 40007c00 .word 0x40007c00 - 80039d0: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 - 80039d4: d006 beq.n 80039e4 - 80039d6: f5b3 4f40 cmp.w r3, #49152 ; 0xc000 - 80039da: d009 beq.n 80039f0 - 80039dc: e00b b.n 80039f6 - 80039de: 2300 movs r3, #0 - 80039e0: 77fb strb r3, [r7, #31] - 80039e2: e00e b.n 8003a02 - 80039e4: 2302 movs r3, #2 - 80039e6: 77fb strb r3, [r7, #31] - 80039e8: e00b b.n 8003a02 - 80039ea: 2304 movs r3, #4 - 80039ec: 77fb strb r3, [r7, #31] - 80039ee: e008 b.n 8003a02 - 80039f0: 2308 movs r3, #8 - 80039f2: 77fb strb r3, [r7, #31] - 80039f4: e005 b.n 8003a02 - 80039f6: 2310 movs r3, #16 - 80039f8: 77fb strb r3, [r7, #31] - 80039fa: bf00 nop - 80039fc: e001 b.n 8003a02 - 80039fe: 2310 movs r3, #16 - 8003a00: 77fb strb r3, [r7, #31] + 8003a6a: 687b ldr r3, [r7, #4] + 8003a6c: 681b ldr r3, [r3, #0] + 8003a6e: 4a9f ldr r2, [pc, #636] ; (8003cec ) + 8003a70: 4293 cmp r3, r2 + 8003a72: d121 bne.n 8003ab8 + 8003a74: 4b9e ldr r3, [pc, #632] ; (8003cf0 ) + 8003a76: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 + 8003a7a: f003 0303 and.w r3, r3, #3 + 8003a7e: 2b03 cmp r3, #3 + 8003a80: d816 bhi.n 8003ab0 + 8003a82: a201 add r2, pc, #4 ; (adr r2, 8003a88 ) + 8003a84: f852 f023 ldr.w pc, [r2, r3, lsl #2] + 8003a88: 08003a99 .word 0x08003a99 + 8003a8c: 08003aa5 .word 0x08003aa5 + 8003a90: 08003a9f .word 0x08003a9f + 8003a94: 08003aab .word 0x08003aab + 8003a98: 2301 movs r3, #1 + 8003a9a: 77fb strb r3, [r7, #31] + 8003a9c: e151 b.n 8003d42 + 8003a9e: 2302 movs r3, #2 + 8003aa0: 77fb strb r3, [r7, #31] + 8003aa2: e14e b.n 8003d42 + 8003aa4: 2304 movs r3, #4 + 8003aa6: 77fb strb r3, [r7, #31] + 8003aa8: e14b b.n 8003d42 + 8003aaa: 2308 movs r3, #8 + 8003aac: 77fb strb r3, [r7, #31] + 8003aae: e148 b.n 8003d42 + 8003ab0: 2310 movs r3, #16 + 8003ab2: 77fb strb r3, [r7, #31] + 8003ab4: bf00 nop + 8003ab6: e144 b.n 8003d42 + 8003ab8: 687b ldr r3, [r7, #4] + 8003aba: 681b ldr r3, [r3, #0] + 8003abc: 4a8d ldr r2, [pc, #564] ; (8003cf4 ) + 8003abe: 4293 cmp r3, r2 + 8003ac0: d134 bne.n 8003b2c + 8003ac2: 4b8b ldr r3, [pc, #556] ; (8003cf0 ) + 8003ac4: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 + 8003ac8: f003 030c and.w r3, r3, #12 + 8003acc: 2b0c cmp r3, #12 + 8003ace: d829 bhi.n 8003b24 + 8003ad0: a201 add r2, pc, #4 ; (adr r2, 8003ad8 ) + 8003ad2: f852 f023 ldr.w pc, [r2, r3, lsl #2] + 8003ad6: bf00 nop + 8003ad8: 08003b0d .word 0x08003b0d + 8003adc: 08003b25 .word 0x08003b25 + 8003ae0: 08003b25 .word 0x08003b25 + 8003ae4: 08003b25 .word 0x08003b25 + 8003ae8: 08003b19 .word 0x08003b19 + 8003aec: 08003b25 .word 0x08003b25 + 8003af0: 08003b25 .word 0x08003b25 + 8003af4: 08003b25 .word 0x08003b25 + 8003af8: 08003b13 .word 0x08003b13 + 8003afc: 08003b25 .word 0x08003b25 + 8003b00: 08003b25 .word 0x08003b25 + 8003b04: 08003b25 .word 0x08003b25 + 8003b08: 08003b1f .word 0x08003b1f + 8003b0c: 2300 movs r3, #0 + 8003b0e: 77fb strb r3, [r7, #31] + 8003b10: e117 b.n 8003d42 + 8003b12: 2302 movs r3, #2 + 8003b14: 77fb strb r3, [r7, #31] + 8003b16: e114 b.n 8003d42 + 8003b18: 2304 movs r3, #4 + 8003b1a: 77fb strb r3, [r7, #31] + 8003b1c: e111 b.n 8003d42 + 8003b1e: 2308 movs r3, #8 + 8003b20: 77fb strb r3, [r7, #31] + 8003b22: e10e b.n 8003d42 + 8003b24: 2310 movs r3, #16 + 8003b26: 77fb strb r3, [r7, #31] + 8003b28: bf00 nop + 8003b2a: e10a b.n 8003d42 + 8003b2c: 687b ldr r3, [r7, #4] + 8003b2e: 681b ldr r3, [r3, #0] + 8003b30: 4a71 ldr r2, [pc, #452] ; (8003cf8 ) + 8003b32: 4293 cmp r3, r2 + 8003b34: d120 bne.n 8003b78 + 8003b36: 4b6e ldr r3, [pc, #440] ; (8003cf0 ) + 8003b38: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 + 8003b3c: f003 0330 and.w r3, r3, #48 ; 0x30 + 8003b40: 2b10 cmp r3, #16 + 8003b42: d00f beq.n 8003b64 + 8003b44: 2b10 cmp r3, #16 + 8003b46: d802 bhi.n 8003b4e + 8003b48: 2b00 cmp r3, #0 + 8003b4a: d005 beq.n 8003b58 + 8003b4c: e010 b.n 8003b70 + 8003b4e: 2b20 cmp r3, #32 + 8003b50: d005 beq.n 8003b5e + 8003b52: 2b30 cmp r3, #48 ; 0x30 + 8003b54: d009 beq.n 8003b6a + 8003b56: e00b b.n 8003b70 + 8003b58: 2300 movs r3, #0 + 8003b5a: 77fb strb r3, [r7, #31] + 8003b5c: e0f1 b.n 8003d42 + 8003b5e: 2302 movs r3, #2 + 8003b60: 77fb strb r3, [r7, #31] + 8003b62: e0ee b.n 8003d42 + 8003b64: 2304 movs r3, #4 + 8003b66: 77fb strb r3, [r7, #31] + 8003b68: e0eb b.n 8003d42 + 8003b6a: 2308 movs r3, #8 + 8003b6c: 77fb strb r3, [r7, #31] + 8003b6e: e0e8 b.n 8003d42 + 8003b70: 2310 movs r3, #16 + 8003b72: 77fb strb r3, [r7, #31] + 8003b74: bf00 nop + 8003b76: e0e4 b.n 8003d42 + 8003b78: 687b ldr r3, [r7, #4] + 8003b7a: 681b ldr r3, [r3, #0] + 8003b7c: 4a5f ldr r2, [pc, #380] ; (8003cfc ) + 8003b7e: 4293 cmp r3, r2 + 8003b80: d120 bne.n 8003bc4 + 8003b82: 4b5b ldr r3, [pc, #364] ; (8003cf0 ) + 8003b84: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 + 8003b88: f003 03c0 and.w r3, r3, #192 ; 0xc0 + 8003b8c: 2b40 cmp r3, #64 ; 0x40 + 8003b8e: d00f beq.n 8003bb0 + 8003b90: 2b40 cmp r3, #64 ; 0x40 + 8003b92: d802 bhi.n 8003b9a + 8003b94: 2b00 cmp r3, #0 + 8003b96: d005 beq.n 8003ba4 + 8003b98: e010 b.n 8003bbc + 8003b9a: 2b80 cmp r3, #128 ; 0x80 + 8003b9c: d005 beq.n 8003baa + 8003b9e: 2bc0 cmp r3, #192 ; 0xc0 + 8003ba0: d009 beq.n 8003bb6 + 8003ba2: e00b b.n 8003bbc + 8003ba4: 2300 movs r3, #0 + 8003ba6: 77fb strb r3, [r7, #31] + 8003ba8: e0cb b.n 8003d42 + 8003baa: 2302 movs r3, #2 + 8003bac: 77fb strb r3, [r7, #31] + 8003bae: e0c8 b.n 8003d42 + 8003bb0: 2304 movs r3, #4 + 8003bb2: 77fb strb r3, [r7, #31] + 8003bb4: e0c5 b.n 8003d42 + 8003bb6: 2308 movs r3, #8 + 8003bb8: 77fb strb r3, [r7, #31] + 8003bba: e0c2 b.n 8003d42 + 8003bbc: 2310 movs r3, #16 + 8003bbe: 77fb strb r3, [r7, #31] + 8003bc0: bf00 nop + 8003bc2: e0be b.n 8003d42 + 8003bc4: 687b ldr r3, [r7, #4] + 8003bc6: 681b ldr r3, [r3, #0] + 8003bc8: 4a4d ldr r2, [pc, #308] ; (8003d00 ) + 8003bca: 4293 cmp r3, r2 + 8003bcc: d124 bne.n 8003c18 + 8003bce: 4b48 ldr r3, [pc, #288] ; (8003cf0 ) + 8003bd0: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 + 8003bd4: f403 7340 and.w r3, r3, #768 ; 0x300 + 8003bd8: f5b3 7f80 cmp.w r3, #256 ; 0x100 + 8003bdc: d012 beq.n 8003c04 + 8003bde: f5b3 7f80 cmp.w r3, #256 ; 0x100 + 8003be2: d802 bhi.n 8003bea + 8003be4: 2b00 cmp r3, #0 + 8003be6: d007 beq.n 8003bf8 + 8003be8: e012 b.n 8003c10 + 8003bea: f5b3 7f00 cmp.w r3, #512 ; 0x200 + 8003bee: d006 beq.n 8003bfe + 8003bf0: f5b3 7f40 cmp.w r3, #768 ; 0x300 + 8003bf4: d009 beq.n 8003c0a + 8003bf6: e00b b.n 8003c10 + 8003bf8: 2300 movs r3, #0 + 8003bfa: 77fb strb r3, [r7, #31] + 8003bfc: e0a1 b.n 8003d42 + 8003bfe: 2302 movs r3, #2 + 8003c00: 77fb strb r3, [r7, #31] + 8003c02: e09e b.n 8003d42 + 8003c04: 2304 movs r3, #4 + 8003c06: 77fb strb r3, [r7, #31] + 8003c08: e09b b.n 8003d42 + 8003c0a: 2308 movs r3, #8 + 8003c0c: 77fb strb r3, [r7, #31] + 8003c0e: e098 b.n 8003d42 + 8003c10: 2310 movs r3, #16 + 8003c12: 77fb strb r3, [r7, #31] + 8003c14: bf00 nop + 8003c16: e094 b.n 8003d42 + 8003c18: 687b ldr r3, [r7, #4] + 8003c1a: 681b ldr r3, [r3, #0] + 8003c1c: 4a39 ldr r2, [pc, #228] ; (8003d04 ) + 8003c1e: 4293 cmp r3, r2 + 8003c20: d124 bne.n 8003c6c + 8003c22: 4b33 ldr r3, [pc, #204] ; (8003cf0 ) + 8003c24: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 + 8003c28: f403 6340 and.w r3, r3, #3072 ; 0xc00 + 8003c2c: f5b3 6f80 cmp.w r3, #1024 ; 0x400 + 8003c30: d012 beq.n 8003c58 + 8003c32: f5b3 6f80 cmp.w r3, #1024 ; 0x400 + 8003c36: d802 bhi.n 8003c3e + 8003c38: 2b00 cmp r3, #0 + 8003c3a: d007 beq.n 8003c4c + 8003c3c: e012 b.n 8003c64 + 8003c3e: f5b3 6f00 cmp.w r3, #2048 ; 0x800 + 8003c42: d006 beq.n 8003c52 + 8003c44: f5b3 6f40 cmp.w r3, #3072 ; 0xc00 + 8003c48: d009 beq.n 8003c5e + 8003c4a: e00b b.n 8003c64 + 8003c4c: 2301 movs r3, #1 + 8003c4e: 77fb strb r3, [r7, #31] + 8003c50: e077 b.n 8003d42 + 8003c52: 2302 movs r3, #2 + 8003c54: 77fb strb r3, [r7, #31] + 8003c56: e074 b.n 8003d42 + 8003c58: 2304 movs r3, #4 + 8003c5a: 77fb strb r3, [r7, #31] + 8003c5c: e071 b.n 8003d42 + 8003c5e: 2308 movs r3, #8 + 8003c60: 77fb strb r3, [r7, #31] + 8003c62: e06e b.n 8003d42 + 8003c64: 2310 movs r3, #16 + 8003c66: 77fb strb r3, [r7, #31] + 8003c68: bf00 nop + 8003c6a: e06a b.n 8003d42 + 8003c6c: 687b ldr r3, [r7, #4] + 8003c6e: 681b ldr r3, [r3, #0] + 8003c70: 4a25 ldr r2, [pc, #148] ; (8003d08 ) + 8003c72: 4293 cmp r3, r2 + 8003c74: d124 bne.n 8003cc0 + 8003c76: 4b1e ldr r3, [pc, #120] ; (8003cf0 ) + 8003c78: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 + 8003c7c: f403 5340 and.w r3, r3, #12288 ; 0x3000 + 8003c80: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 + 8003c84: d012 beq.n 8003cac + 8003c86: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 + 8003c8a: d802 bhi.n 8003c92 + 8003c8c: 2b00 cmp r3, #0 + 8003c8e: d007 beq.n 8003ca0 + 8003c90: e012 b.n 8003cb8 + 8003c92: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 + 8003c96: d006 beq.n 8003ca6 + 8003c98: f5b3 5f40 cmp.w r3, #12288 ; 0x3000 + 8003c9c: d009 beq.n 8003cb2 + 8003c9e: e00b b.n 8003cb8 + 8003ca0: 2300 movs r3, #0 + 8003ca2: 77fb strb r3, [r7, #31] + 8003ca4: e04d b.n 8003d42 + 8003ca6: 2302 movs r3, #2 + 8003ca8: 77fb strb r3, [r7, #31] + 8003caa: e04a b.n 8003d42 + 8003cac: 2304 movs r3, #4 + 8003cae: 77fb strb r3, [r7, #31] + 8003cb0: e047 b.n 8003d42 + 8003cb2: 2308 movs r3, #8 + 8003cb4: 77fb strb r3, [r7, #31] + 8003cb6: e044 b.n 8003d42 + 8003cb8: 2310 movs r3, #16 + 8003cba: 77fb strb r3, [r7, #31] + 8003cbc: bf00 nop + 8003cbe: e040 b.n 8003d42 + 8003cc0: 687b ldr r3, [r7, #4] + 8003cc2: 681b ldr r3, [r3, #0] + 8003cc4: 4a11 ldr r2, [pc, #68] ; (8003d0c ) + 8003cc6: 4293 cmp r3, r2 + 8003cc8: d139 bne.n 8003d3e + 8003cca: 4b09 ldr r3, [pc, #36] ; (8003cf0 ) + 8003ccc: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 + 8003cd0: f403 4340 and.w r3, r3, #49152 ; 0xc000 + 8003cd4: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 + 8003cd8: d027 beq.n 8003d2a + 8003cda: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 + 8003cde: d817 bhi.n 8003d10 + 8003ce0: 2b00 cmp r3, #0 + 8003ce2: d01c beq.n 8003d1e + 8003ce4: e027 b.n 8003d36 + 8003ce6: bf00 nop + 8003ce8: efff69f3 .word 0xefff69f3 + 8003cec: 40011000 .word 0x40011000 + 8003cf0: 40023800 .word 0x40023800 + 8003cf4: 40004400 .word 0x40004400 + 8003cf8: 40004800 .word 0x40004800 + 8003cfc: 40004c00 .word 0x40004c00 + 8003d00: 40005000 .word 0x40005000 + 8003d04: 40011400 .word 0x40011400 + 8003d08: 40007800 .word 0x40007800 + 8003d0c: 40007c00 .word 0x40007c00 + 8003d10: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 + 8003d14: d006 beq.n 8003d24 + 8003d16: f5b3 4f40 cmp.w r3, #49152 ; 0xc000 + 8003d1a: d009 beq.n 8003d30 + 8003d1c: e00b b.n 8003d36 + 8003d1e: 2300 movs r3, #0 + 8003d20: 77fb strb r3, [r7, #31] + 8003d22: e00e b.n 8003d42 + 8003d24: 2302 movs r3, #2 + 8003d26: 77fb strb r3, [r7, #31] + 8003d28: e00b b.n 8003d42 + 8003d2a: 2304 movs r3, #4 + 8003d2c: 77fb strb r3, [r7, #31] + 8003d2e: e008 b.n 8003d42 + 8003d30: 2308 movs r3, #8 + 8003d32: 77fb strb r3, [r7, #31] + 8003d34: e005 b.n 8003d42 + 8003d36: 2310 movs r3, #16 + 8003d38: 77fb strb r3, [r7, #31] + 8003d3a: bf00 nop + 8003d3c: e001 b.n 8003d42 + 8003d3e: 2310 movs r3, #16 + 8003d40: 77fb strb r3, [r7, #31] if (huart->Init.OverSampling == UART_OVERSAMPLING_8) - 8003a02: 687b ldr r3, [r7, #4] - 8003a04: 69db ldr r3, [r3, #28] - 8003a06: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 - 8003a0a: d17c bne.n 8003b06 + 8003d42: 687b ldr r3, [r7, #4] + 8003d44: 69db ldr r3, [r3, #28] + 8003d46: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 + 8003d4a: d17c bne.n 8003e46 { switch (clocksource) - 8003a0c: 7ffb ldrb r3, [r7, #31] - 8003a0e: 2b08 cmp r3, #8 - 8003a10: d859 bhi.n 8003ac6 - 8003a12: a201 add r2, pc, #4 ; (adr r2, 8003a18 ) - 8003a14: f852 f023 ldr.w pc, [r2, r3, lsl #2] - 8003a18: 08003a3d .word 0x08003a3d - 8003a1c: 08003a5b .word 0x08003a5b - 8003a20: 08003a79 .word 0x08003a79 - 8003a24: 08003ac7 .word 0x08003ac7 - 8003a28: 08003a91 .word 0x08003a91 - 8003a2c: 08003ac7 .word 0x08003ac7 - 8003a30: 08003ac7 .word 0x08003ac7 - 8003a34: 08003ac7 .word 0x08003ac7 - 8003a38: 08003aaf .word 0x08003aaf + 8003d4c: 7ffb ldrb r3, [r7, #31] + 8003d4e: 2b08 cmp r3, #8 + 8003d50: d859 bhi.n 8003e06 + 8003d52: a201 add r2, pc, #4 ; (adr r2, 8003d58 ) + 8003d54: f852 f023 ldr.w pc, [r2, r3, lsl #2] + 8003d58: 08003d7d .word 0x08003d7d + 8003d5c: 08003d9b .word 0x08003d9b + 8003d60: 08003db9 .word 0x08003db9 + 8003d64: 08003e07 .word 0x08003e07 + 8003d68: 08003dd1 .word 0x08003dd1 + 8003d6c: 08003e07 .word 0x08003e07 + 8003d70: 08003e07 .word 0x08003e07 + 8003d74: 08003e07 .word 0x08003e07 + 8003d78: 08003def .word 0x08003def { case UART_CLOCKSOURCE_PCLK1: usartdiv = (uint16_t)(UART_DIV_SAMPLING8(HAL_RCC_GetPCLK1Freq(), huart->Init.BaudRate)); - 8003a3c: f7fd ffd2 bl 80019e4 - 8003a40: 4603 mov r3, r0 - 8003a42: 005a lsls r2, r3, #1 - 8003a44: 687b ldr r3, [r7, #4] - 8003a46: 685b ldr r3, [r3, #4] - 8003a48: 085b lsrs r3, r3, #1 - 8003a4a: 441a add r2, r3 - 8003a4c: 687b ldr r3, [r7, #4] - 8003a4e: 685b ldr r3, [r3, #4] - 8003a50: fbb2 f3f3 udiv r3, r2, r3 - 8003a54: b29b uxth r3, r3 - 8003a56: 61bb str r3, [r7, #24] + 8003d7c: f7fd fec8 bl 8001b10 + 8003d80: 4603 mov r3, r0 + 8003d82: 005a lsls r2, r3, #1 + 8003d84: 687b ldr r3, [r7, #4] + 8003d86: 685b ldr r3, [r3, #4] + 8003d88: 085b lsrs r3, r3, #1 + 8003d8a: 441a add r2, r3 + 8003d8c: 687b ldr r3, [r7, #4] + 8003d8e: 685b ldr r3, [r3, #4] + 8003d90: fbb2 f3f3 udiv r3, r2, r3 + 8003d94: b29b uxth r3, r3 + 8003d96: 61bb str r3, [r7, #24] break; - 8003a58: e038 b.n 8003acc + 8003d98: e038 b.n 8003e0c case UART_CLOCKSOURCE_PCLK2: usartdiv = (uint16_t)(UART_DIV_SAMPLING8(HAL_RCC_GetPCLK2Freq(), huart->Init.BaudRate)); - 8003a5a: f7fd ffd7 bl 8001a0c - 8003a5e: 4603 mov r3, r0 - 8003a60: 005a lsls r2, r3, #1 - 8003a62: 687b ldr r3, [r7, #4] - 8003a64: 685b ldr r3, [r3, #4] - 8003a66: 085b lsrs r3, r3, #1 - 8003a68: 441a add r2, r3 - 8003a6a: 687b ldr r3, [r7, #4] - 8003a6c: 685b ldr r3, [r3, #4] - 8003a6e: fbb2 f3f3 udiv r3, r2, r3 - 8003a72: b29b uxth r3, r3 - 8003a74: 61bb str r3, [r7, #24] + 8003d9a: f7fd fecd bl 8001b38 + 8003d9e: 4603 mov r3, r0 + 8003da0: 005a lsls r2, r3, #1 + 8003da2: 687b ldr r3, [r7, #4] + 8003da4: 685b ldr r3, [r3, #4] + 8003da6: 085b lsrs r3, r3, #1 + 8003da8: 441a add r2, r3 + 8003daa: 687b ldr r3, [r7, #4] + 8003dac: 685b ldr r3, [r3, #4] + 8003dae: fbb2 f3f3 udiv r3, r2, r3 + 8003db2: b29b uxth r3, r3 + 8003db4: 61bb str r3, [r7, #24] break; - 8003a76: e029 b.n 8003acc + 8003db6: e029 b.n 8003e0c case UART_CLOCKSOURCE_HSI: usartdiv = (uint16_t)(UART_DIV_SAMPLING8(HSI_VALUE, huart->Init.BaudRate)); - 8003a78: 687b ldr r3, [r7, #4] - 8003a7a: 685b ldr r3, [r3, #4] - 8003a7c: 085a lsrs r2, r3, #1 - 8003a7e: 4b5d ldr r3, [pc, #372] ; (8003bf4 ) - 8003a80: 4413 add r3, r2 - 8003a82: 687a ldr r2, [r7, #4] - 8003a84: 6852 ldr r2, [r2, #4] - 8003a86: fbb3 f3f2 udiv r3, r3, r2 - 8003a8a: b29b uxth r3, r3 - 8003a8c: 61bb str r3, [r7, #24] + 8003db8: 687b ldr r3, [r7, #4] + 8003dba: 685b ldr r3, [r3, #4] + 8003dbc: 085a lsrs r2, r3, #1 + 8003dbe: 4b5d ldr r3, [pc, #372] ; (8003f34 ) + 8003dc0: 4413 add r3, r2 + 8003dc2: 687a ldr r2, [r7, #4] + 8003dc4: 6852 ldr r2, [r2, #4] + 8003dc6: fbb3 f3f2 udiv r3, r3, r2 + 8003dca: b29b uxth r3, r3 + 8003dcc: 61bb str r3, [r7, #24] break; - 8003a8e: e01d b.n 8003acc + 8003dce: e01d b.n 8003e0c case UART_CLOCKSOURCE_SYSCLK: usartdiv = (uint16_t)(UART_DIV_SAMPLING8(HAL_RCC_GetSysClockFreq(), huart->Init.BaudRate)); - 8003a90: f7fd feea bl 8001868 - 8003a94: 4603 mov r3, r0 - 8003a96: 005a lsls r2, r3, #1 - 8003a98: 687b ldr r3, [r7, #4] - 8003a9a: 685b ldr r3, [r3, #4] - 8003a9c: 085b lsrs r3, r3, #1 - 8003a9e: 441a add r2, r3 - 8003aa0: 687b ldr r3, [r7, #4] - 8003aa2: 685b ldr r3, [r3, #4] - 8003aa4: fbb2 f3f3 udiv r3, r2, r3 - 8003aa8: b29b uxth r3, r3 - 8003aaa: 61bb str r3, [r7, #24] + 8003dd0: f7fd fde0 bl 8001994 + 8003dd4: 4603 mov r3, r0 + 8003dd6: 005a lsls r2, r3, #1 + 8003dd8: 687b ldr r3, [r7, #4] + 8003dda: 685b ldr r3, [r3, #4] + 8003ddc: 085b lsrs r3, r3, #1 + 8003dde: 441a add r2, r3 + 8003de0: 687b ldr r3, [r7, #4] + 8003de2: 685b ldr r3, [r3, #4] + 8003de4: fbb2 f3f3 udiv r3, r2, r3 + 8003de8: b29b uxth r3, r3 + 8003dea: 61bb str r3, [r7, #24] break; - 8003aac: e00e b.n 8003acc + 8003dec: e00e b.n 8003e0c case UART_CLOCKSOURCE_LSE: usartdiv = (uint16_t)(UART_DIV_SAMPLING8(LSE_VALUE, huart->Init.BaudRate)); - 8003aae: 687b ldr r3, [r7, #4] - 8003ab0: 685b ldr r3, [r3, #4] - 8003ab2: 085b lsrs r3, r3, #1 - 8003ab4: f503 3280 add.w r2, r3, #65536 ; 0x10000 - 8003ab8: 687b ldr r3, [r7, #4] - 8003aba: 685b ldr r3, [r3, #4] - 8003abc: fbb2 f3f3 udiv r3, r2, r3 - 8003ac0: b29b uxth r3, r3 - 8003ac2: 61bb str r3, [r7, #24] + 8003dee: 687b ldr r3, [r7, #4] + 8003df0: 685b ldr r3, [r3, #4] + 8003df2: 085b lsrs r3, r3, #1 + 8003df4: f503 3280 add.w r2, r3, #65536 ; 0x10000 + 8003df8: 687b ldr r3, [r7, #4] + 8003dfa: 685b ldr r3, [r3, #4] + 8003dfc: fbb2 f3f3 udiv r3, r2, r3 + 8003e00: b29b uxth r3, r3 + 8003e02: 61bb str r3, [r7, #24] break; - 8003ac4: e002 b.n 8003acc + 8003e04: e002 b.n 8003e0c case UART_CLOCKSOURCE_UNDEFINED: default: ret = HAL_ERROR; - 8003ac6: 2301 movs r3, #1 - 8003ac8: 75fb strb r3, [r7, #23] + 8003e06: 2301 movs r3, #1 + 8003e08: 75fb strb r3, [r7, #23] break; - 8003aca: bf00 nop + 8003e0a: bf00 nop } /* USARTDIV must be greater than or equal to 0d16 */ if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) - 8003acc: 69bb ldr r3, [r7, #24] - 8003ace: 2b0f cmp r3, #15 - 8003ad0: d916 bls.n 8003b00 - 8003ad2: 69bb ldr r3, [r7, #24] - 8003ad4: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 - 8003ad8: d212 bcs.n 8003b00 + 8003e0c: 69bb ldr r3, [r7, #24] + 8003e0e: 2b0f cmp r3, #15 + 8003e10: d916 bls.n 8003e40 + 8003e12: 69bb ldr r3, [r7, #24] + 8003e14: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 + 8003e18: d212 bcs.n 8003e40 { brrtemp = (uint16_t)(usartdiv & 0xFFF0U); - 8003ada: 69bb ldr r3, [r7, #24] - 8003adc: b29b uxth r3, r3 - 8003ade: f023 030f bic.w r3, r3, #15 - 8003ae2: 81fb strh r3, [r7, #14] + 8003e1a: 69bb ldr r3, [r7, #24] + 8003e1c: b29b uxth r3, r3 + 8003e1e: f023 030f bic.w r3, r3, #15 + 8003e22: 81fb strh r3, [r7, #14] brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U); - 8003ae4: 69bb ldr r3, [r7, #24] - 8003ae6: 085b lsrs r3, r3, #1 - 8003ae8: b29b uxth r3, r3 - 8003aea: f003 0307 and.w r3, r3, #7 - 8003aee: b29a uxth r2, r3 - 8003af0: 89fb ldrh r3, [r7, #14] - 8003af2: 4313 orrs r3, r2 - 8003af4: 81fb strh r3, [r7, #14] + 8003e24: 69bb ldr r3, [r7, #24] + 8003e26: 085b lsrs r3, r3, #1 + 8003e28: b29b uxth r3, r3 + 8003e2a: f003 0307 and.w r3, r3, #7 + 8003e2e: b29a uxth r2, r3 + 8003e30: 89fb ldrh r3, [r7, #14] + 8003e32: 4313 orrs r3, r2 + 8003e34: 81fb strh r3, [r7, #14] huart->Instance->BRR = brrtemp; - 8003af6: 687b ldr r3, [r7, #4] - 8003af8: 681b ldr r3, [r3, #0] - 8003afa: 89fa ldrh r2, [r7, #14] - 8003afc: 60da str r2, [r3, #12] - 8003afe: e06e b.n 8003bde + 8003e36: 687b ldr r3, [r7, #4] + 8003e38: 681b ldr r3, [r3, #0] + 8003e3a: 89fa ldrh r2, [r7, #14] + 8003e3c: 60da str r2, [r3, #12] + 8003e3e: e06e b.n 8003f1e } else { ret = HAL_ERROR; - 8003b00: 2301 movs r3, #1 - 8003b02: 75fb strb r3, [r7, #23] - 8003b04: e06b b.n 8003bde + 8003e40: 2301 movs r3, #1 + 8003e42: 75fb strb r3, [r7, #23] + 8003e44: e06b b.n 8003f1e } } else { switch (clocksource) - 8003b06: 7ffb ldrb r3, [r7, #31] - 8003b08: 2b08 cmp r3, #8 - 8003b0a: d857 bhi.n 8003bbc - 8003b0c: a201 add r2, pc, #4 ; (adr r2, 8003b14 ) - 8003b0e: f852 f023 ldr.w pc, [r2, r3, lsl #2] - 8003b12: bf00 nop - 8003b14: 08003b39 .word 0x08003b39 - 8003b18: 08003b55 .word 0x08003b55 - 8003b1c: 08003b71 .word 0x08003b71 - 8003b20: 08003bbd .word 0x08003bbd - 8003b24: 08003b89 .word 0x08003b89 - 8003b28: 08003bbd .word 0x08003bbd - 8003b2c: 08003bbd .word 0x08003bbd - 8003b30: 08003bbd .word 0x08003bbd - 8003b34: 08003ba5 .word 0x08003ba5 + 8003e46: 7ffb ldrb r3, [r7, #31] + 8003e48: 2b08 cmp r3, #8 + 8003e4a: d857 bhi.n 8003efc + 8003e4c: a201 add r2, pc, #4 ; (adr r2, 8003e54 ) + 8003e4e: f852 f023 ldr.w pc, [r2, r3, lsl #2] + 8003e52: bf00 nop + 8003e54: 08003e79 .word 0x08003e79 + 8003e58: 08003e95 .word 0x08003e95 + 8003e5c: 08003eb1 .word 0x08003eb1 + 8003e60: 08003efd .word 0x08003efd + 8003e64: 08003ec9 .word 0x08003ec9 + 8003e68: 08003efd .word 0x08003efd + 8003e6c: 08003efd .word 0x08003efd + 8003e70: 08003efd .word 0x08003efd + 8003e74: 08003ee5 .word 0x08003ee5 { case UART_CLOCKSOURCE_PCLK1: usartdiv = (uint16_t)(UART_DIV_SAMPLING16(HAL_RCC_GetPCLK1Freq(), huart->Init.BaudRate)); - 8003b38: f7fd ff54 bl 80019e4 - 8003b3c: 4602 mov r2, r0 - 8003b3e: 687b ldr r3, [r7, #4] - 8003b40: 685b ldr r3, [r3, #4] - 8003b42: 085b lsrs r3, r3, #1 - 8003b44: 441a add r2, r3 - 8003b46: 687b ldr r3, [r7, #4] - 8003b48: 685b ldr r3, [r3, #4] - 8003b4a: fbb2 f3f3 udiv r3, r2, r3 - 8003b4e: b29b uxth r3, r3 - 8003b50: 61bb str r3, [r7, #24] + 8003e78: f7fd fe4a bl 8001b10 + 8003e7c: 4602 mov r2, r0 + 8003e7e: 687b ldr r3, [r7, #4] + 8003e80: 685b ldr r3, [r3, #4] + 8003e82: 085b lsrs r3, r3, #1 + 8003e84: 441a add r2, r3 + 8003e86: 687b ldr r3, [r7, #4] + 8003e88: 685b ldr r3, [r3, #4] + 8003e8a: fbb2 f3f3 udiv r3, r2, r3 + 8003e8e: b29b uxth r3, r3 + 8003e90: 61bb str r3, [r7, #24] break; - 8003b52: e036 b.n 8003bc2 + 8003e92: e036 b.n 8003f02 case UART_CLOCKSOURCE_PCLK2: usartdiv = (uint16_t)(UART_DIV_SAMPLING16(HAL_RCC_GetPCLK2Freq(), huart->Init.BaudRate)); - 8003b54: f7fd ff5a bl 8001a0c - 8003b58: 4602 mov r2, r0 - 8003b5a: 687b ldr r3, [r7, #4] - 8003b5c: 685b ldr r3, [r3, #4] - 8003b5e: 085b lsrs r3, r3, #1 - 8003b60: 441a add r2, r3 - 8003b62: 687b ldr r3, [r7, #4] - 8003b64: 685b ldr r3, [r3, #4] - 8003b66: fbb2 f3f3 udiv r3, r2, r3 - 8003b6a: b29b uxth r3, r3 - 8003b6c: 61bb str r3, [r7, #24] + 8003e94: f7fd fe50 bl 8001b38 + 8003e98: 4602 mov r2, r0 + 8003e9a: 687b ldr r3, [r7, #4] + 8003e9c: 685b ldr r3, [r3, #4] + 8003e9e: 085b lsrs r3, r3, #1 + 8003ea0: 441a add r2, r3 + 8003ea2: 687b ldr r3, [r7, #4] + 8003ea4: 685b ldr r3, [r3, #4] + 8003ea6: fbb2 f3f3 udiv r3, r2, r3 + 8003eaa: b29b uxth r3, r3 + 8003eac: 61bb str r3, [r7, #24] break; - 8003b6e: e028 b.n 8003bc2 + 8003eae: e028 b.n 8003f02 case UART_CLOCKSOURCE_HSI: usartdiv = (uint16_t)(UART_DIV_SAMPLING16(HSI_VALUE, huart->Init.BaudRate)); - 8003b70: 687b ldr r3, [r7, #4] - 8003b72: 685b ldr r3, [r3, #4] - 8003b74: 085a lsrs r2, r3, #1 - 8003b76: 4b20 ldr r3, [pc, #128] ; (8003bf8 ) - 8003b78: 4413 add r3, r2 - 8003b7a: 687a ldr r2, [r7, #4] - 8003b7c: 6852 ldr r2, [r2, #4] - 8003b7e: fbb3 f3f2 udiv r3, r3, r2 - 8003b82: b29b uxth r3, r3 - 8003b84: 61bb str r3, [r7, #24] + 8003eb0: 687b ldr r3, [r7, #4] + 8003eb2: 685b ldr r3, [r3, #4] + 8003eb4: 085a lsrs r2, r3, #1 + 8003eb6: 4b20 ldr r3, [pc, #128] ; (8003f38 ) + 8003eb8: 4413 add r3, r2 + 8003eba: 687a ldr r2, [r7, #4] + 8003ebc: 6852 ldr r2, [r2, #4] + 8003ebe: fbb3 f3f2 udiv r3, r3, r2 + 8003ec2: b29b uxth r3, r3 + 8003ec4: 61bb str r3, [r7, #24] break; - 8003b86: e01c b.n 8003bc2 + 8003ec6: e01c b.n 8003f02 case UART_CLOCKSOURCE_SYSCLK: usartdiv = (uint16_t)(UART_DIV_SAMPLING16(HAL_RCC_GetSysClockFreq(), huart->Init.BaudRate)); - 8003b88: f7fd fe6e bl 8001868 - 8003b8c: 4602 mov r2, r0 - 8003b8e: 687b ldr r3, [r7, #4] - 8003b90: 685b ldr r3, [r3, #4] - 8003b92: 085b lsrs r3, r3, #1 - 8003b94: 441a add r2, r3 - 8003b96: 687b ldr r3, [r7, #4] - 8003b98: 685b ldr r3, [r3, #4] - 8003b9a: fbb2 f3f3 udiv r3, r2, r3 - 8003b9e: b29b uxth r3, r3 - 8003ba0: 61bb str r3, [r7, #24] + 8003ec8: f7fd fd64 bl 8001994 + 8003ecc: 4602 mov r2, r0 + 8003ece: 687b ldr r3, [r7, #4] + 8003ed0: 685b ldr r3, [r3, #4] + 8003ed2: 085b lsrs r3, r3, #1 + 8003ed4: 441a add r2, r3 + 8003ed6: 687b ldr r3, [r7, #4] + 8003ed8: 685b ldr r3, [r3, #4] + 8003eda: fbb2 f3f3 udiv r3, r2, r3 + 8003ede: b29b uxth r3, r3 + 8003ee0: 61bb str r3, [r7, #24] break; - 8003ba2: e00e b.n 8003bc2 + 8003ee2: e00e b.n 8003f02 case UART_CLOCKSOURCE_LSE: usartdiv = (uint16_t)(UART_DIV_SAMPLING16(LSE_VALUE, huart->Init.BaudRate)); - 8003ba4: 687b ldr r3, [r7, #4] - 8003ba6: 685b ldr r3, [r3, #4] - 8003ba8: 085b lsrs r3, r3, #1 - 8003baa: f503 4200 add.w r2, r3, #32768 ; 0x8000 - 8003bae: 687b ldr r3, [r7, #4] - 8003bb0: 685b ldr r3, [r3, #4] - 8003bb2: fbb2 f3f3 udiv r3, r2, r3 - 8003bb6: b29b uxth r3, r3 - 8003bb8: 61bb str r3, [r7, #24] + 8003ee4: 687b ldr r3, [r7, #4] + 8003ee6: 685b ldr r3, [r3, #4] + 8003ee8: 085b lsrs r3, r3, #1 + 8003eea: f503 4200 add.w r2, r3, #32768 ; 0x8000 + 8003eee: 687b ldr r3, [r7, #4] + 8003ef0: 685b ldr r3, [r3, #4] + 8003ef2: fbb2 f3f3 udiv r3, r2, r3 + 8003ef6: b29b uxth r3, r3 + 8003ef8: 61bb str r3, [r7, #24] break; - 8003bba: e002 b.n 8003bc2 + 8003efa: e002 b.n 8003f02 case UART_CLOCKSOURCE_UNDEFINED: default: ret = HAL_ERROR; - 8003bbc: 2301 movs r3, #1 - 8003bbe: 75fb strb r3, [r7, #23] + 8003efc: 2301 movs r3, #1 + 8003efe: 75fb strb r3, [r7, #23] break; - 8003bc0: bf00 nop + 8003f00: bf00 nop } /* USARTDIV must be greater than or equal to 0d16 */ if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX)) - 8003bc2: 69bb ldr r3, [r7, #24] - 8003bc4: 2b0f cmp r3, #15 - 8003bc6: d908 bls.n 8003bda - 8003bc8: 69bb ldr r3, [r7, #24] - 8003bca: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 - 8003bce: d204 bcs.n 8003bda + 8003f02: 69bb ldr r3, [r7, #24] + 8003f04: 2b0f cmp r3, #15 + 8003f06: d908 bls.n 8003f1a + 8003f08: 69bb ldr r3, [r7, #24] + 8003f0a: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 + 8003f0e: d204 bcs.n 8003f1a { huart->Instance->BRR = usartdiv; - 8003bd0: 687b ldr r3, [r7, #4] - 8003bd2: 681b ldr r3, [r3, #0] - 8003bd4: 69ba ldr r2, [r7, #24] - 8003bd6: 60da str r2, [r3, #12] - 8003bd8: e001 b.n 8003bde + 8003f10: 687b ldr r3, [r7, #4] + 8003f12: 681b ldr r3, [r3, #0] + 8003f14: 69ba ldr r2, [r7, #24] + 8003f16: 60da str r2, [r3, #12] + 8003f18: e001 b.n 8003f1e } else { ret = HAL_ERROR; - 8003bda: 2301 movs r3, #1 - 8003bdc: 75fb strb r3, [r7, #23] + 8003f1a: 2301 movs r3, #1 + 8003f1c: 75fb strb r3, [r7, #23] } } /* Clear ISR function pointers */ huart->RxISR = NULL; - 8003bde: 687b ldr r3, [r7, #4] - 8003be0: 2200 movs r2, #0 - 8003be2: 661a str r2, [r3, #96] ; 0x60 + 8003f1e: 687b ldr r3, [r7, #4] + 8003f20: 2200 movs r2, #0 + 8003f22: 661a str r2, [r3, #96] ; 0x60 huart->TxISR = NULL; - 8003be4: 687b ldr r3, [r7, #4] - 8003be6: 2200 movs r2, #0 - 8003be8: 665a str r2, [r3, #100] ; 0x64 + 8003f24: 687b ldr r3, [r7, #4] + 8003f26: 2200 movs r2, #0 + 8003f28: 665a str r2, [r3, #100] ; 0x64 return ret; - 8003bea: 7dfb ldrb r3, [r7, #23] + 8003f2a: 7dfb ldrb r3, [r7, #23] } - 8003bec: 4618 mov r0, r3 - 8003bee: 3720 adds r7, #32 - 8003bf0: 46bd mov sp, r7 - 8003bf2: bd80 pop {r7, pc} - 8003bf4: 01e84800 .word 0x01e84800 - 8003bf8: 00f42400 .word 0x00f42400 - -08003bfc : + 8003f2c: 4618 mov r0, r3 + 8003f2e: 3720 adds r7, #32 + 8003f30: 46bd mov sp, r7 + 8003f32: bd80 pop {r7, pc} + 8003f34: 01e84800 .word 0x01e84800 + 8003f38: 00f42400 .word 0x00f42400 + +08003f3c : * @brief Configure the UART peripheral advanced features. * @param huart UART handle. * @retval None */ void UART_AdvFeatureConfig(UART_HandleTypeDef *huart) { - 8003bfc: b480 push {r7} - 8003bfe: b083 sub sp, #12 - 8003c00: af00 add r7, sp, #0 - 8003c02: 6078 str r0, [r7, #4] + 8003f3c: b480 push {r7} + 8003f3e: b083 sub sp, #12 + 8003f40: af00 add r7, sp, #0 + 8003f42: 6078 str r0, [r7, #4] /* Check whether the set of advanced features to configure is properly set */ assert_param(IS_UART_ADVFEATURE_INIT(huart->AdvancedInit.AdvFeatureInit)); /* if required, configure TX pin active level inversion */ if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_TXINVERT_INIT)) - 8003c04: 687b ldr r3, [r7, #4] - 8003c06: 6a5b ldr r3, [r3, #36] ; 0x24 - 8003c08: f003 0301 and.w r3, r3, #1 - 8003c0c: 2b00 cmp r3, #0 - 8003c0e: d00a beq.n 8003c26 + 8003f44: 687b ldr r3, [r7, #4] + 8003f46: 6a5b ldr r3, [r3, #36] ; 0x24 + 8003f48: f003 0301 and.w r3, r3, #1 + 8003f4c: 2b00 cmp r3, #0 + 8003f4e: d00a beq.n 8003f66 { assert_param(IS_UART_ADVFEATURE_TXINV(huart->AdvancedInit.TxPinLevelInvert)); MODIFY_REG(huart->Instance->CR2, USART_CR2_TXINV, huart->AdvancedInit.TxPinLevelInvert); - 8003c10: 687b ldr r3, [r7, #4] - 8003c12: 681b ldr r3, [r3, #0] - 8003c14: 685b ldr r3, [r3, #4] - 8003c16: f423 3100 bic.w r1, r3, #131072 ; 0x20000 - 8003c1a: 687b ldr r3, [r7, #4] - 8003c1c: 6a9a ldr r2, [r3, #40] ; 0x28 - 8003c1e: 687b ldr r3, [r7, #4] - 8003c20: 681b ldr r3, [r3, #0] - 8003c22: 430a orrs r2, r1 - 8003c24: 605a str r2, [r3, #4] + 8003f50: 687b ldr r3, [r7, #4] + 8003f52: 681b ldr r3, [r3, #0] + 8003f54: 685b ldr r3, [r3, #4] + 8003f56: f423 3100 bic.w r1, r3, #131072 ; 0x20000 + 8003f5a: 687b ldr r3, [r7, #4] + 8003f5c: 6a9a ldr r2, [r3, #40] ; 0x28 + 8003f5e: 687b ldr r3, [r7, #4] + 8003f60: 681b ldr r3, [r3, #0] + 8003f62: 430a orrs r2, r1 + 8003f64: 605a str r2, [r3, #4] } /* if required, configure RX pin active level inversion */ if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXINVERT_INIT)) - 8003c26: 687b ldr r3, [r7, #4] - 8003c28: 6a5b ldr r3, [r3, #36] ; 0x24 - 8003c2a: f003 0302 and.w r3, r3, #2 - 8003c2e: 2b00 cmp r3, #0 - 8003c30: d00a beq.n 8003c48 + 8003f66: 687b ldr r3, [r7, #4] + 8003f68: 6a5b ldr r3, [r3, #36] ; 0x24 + 8003f6a: f003 0302 and.w r3, r3, #2 + 8003f6e: 2b00 cmp r3, #0 + 8003f70: d00a beq.n 8003f88 { assert_param(IS_UART_ADVFEATURE_RXINV(huart->AdvancedInit.RxPinLevelInvert)); MODIFY_REG(huart->Instance->CR2, USART_CR2_RXINV, huart->AdvancedInit.RxPinLevelInvert); - 8003c32: 687b ldr r3, [r7, #4] - 8003c34: 681b ldr r3, [r3, #0] - 8003c36: 685b ldr r3, [r3, #4] - 8003c38: f423 3180 bic.w r1, r3, #65536 ; 0x10000 - 8003c3c: 687b ldr r3, [r7, #4] - 8003c3e: 6ada ldr r2, [r3, #44] ; 0x2c - 8003c40: 687b ldr r3, [r7, #4] - 8003c42: 681b ldr r3, [r3, #0] - 8003c44: 430a orrs r2, r1 - 8003c46: 605a str r2, [r3, #4] + 8003f72: 687b ldr r3, [r7, #4] + 8003f74: 681b ldr r3, [r3, #0] + 8003f76: 685b ldr r3, [r3, #4] + 8003f78: f423 3180 bic.w r1, r3, #65536 ; 0x10000 + 8003f7c: 687b ldr r3, [r7, #4] + 8003f7e: 6ada ldr r2, [r3, #44] ; 0x2c + 8003f80: 687b ldr r3, [r7, #4] + 8003f82: 681b ldr r3, [r3, #0] + 8003f84: 430a orrs r2, r1 + 8003f86: 605a str r2, [r3, #4] } /* if required, configure data inversion */ if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DATAINVERT_INIT)) - 8003c48: 687b ldr r3, [r7, #4] - 8003c4a: 6a5b ldr r3, [r3, #36] ; 0x24 - 8003c4c: f003 0304 and.w r3, r3, #4 - 8003c50: 2b00 cmp r3, #0 - 8003c52: d00a beq.n 8003c6a + 8003f88: 687b ldr r3, [r7, #4] + 8003f8a: 6a5b ldr r3, [r3, #36] ; 0x24 + 8003f8c: f003 0304 and.w r3, r3, #4 + 8003f90: 2b00 cmp r3, #0 + 8003f92: d00a beq.n 8003faa { assert_param(IS_UART_ADVFEATURE_DATAINV(huart->AdvancedInit.DataInvert)); MODIFY_REG(huart->Instance->CR2, USART_CR2_DATAINV, huart->AdvancedInit.DataInvert); - 8003c54: 687b ldr r3, [r7, #4] - 8003c56: 681b ldr r3, [r3, #0] - 8003c58: 685b ldr r3, [r3, #4] - 8003c5a: f423 2180 bic.w r1, r3, #262144 ; 0x40000 - 8003c5e: 687b ldr r3, [r7, #4] - 8003c60: 6b1a ldr r2, [r3, #48] ; 0x30 - 8003c62: 687b ldr r3, [r7, #4] - 8003c64: 681b ldr r3, [r3, #0] - 8003c66: 430a orrs r2, r1 - 8003c68: 605a str r2, [r3, #4] + 8003f94: 687b ldr r3, [r7, #4] + 8003f96: 681b ldr r3, [r3, #0] + 8003f98: 685b ldr r3, [r3, #4] + 8003f9a: f423 2180 bic.w r1, r3, #262144 ; 0x40000 + 8003f9e: 687b ldr r3, [r7, #4] + 8003fa0: 6b1a ldr r2, [r3, #48] ; 0x30 + 8003fa2: 687b ldr r3, [r7, #4] + 8003fa4: 681b ldr r3, [r3, #0] + 8003fa6: 430a orrs r2, r1 + 8003fa8: 605a str r2, [r3, #4] } /* if required, configure RX/TX pins swap */ if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_SWAP_INIT)) - 8003c6a: 687b ldr r3, [r7, #4] - 8003c6c: 6a5b ldr r3, [r3, #36] ; 0x24 - 8003c6e: f003 0308 and.w r3, r3, #8 - 8003c72: 2b00 cmp r3, #0 - 8003c74: d00a beq.n 8003c8c + 8003faa: 687b ldr r3, [r7, #4] + 8003fac: 6a5b ldr r3, [r3, #36] ; 0x24 + 8003fae: f003 0308 and.w r3, r3, #8 + 8003fb2: 2b00 cmp r3, #0 + 8003fb4: d00a beq.n 8003fcc { assert_param(IS_UART_ADVFEATURE_SWAP(huart->AdvancedInit.Swap)); MODIFY_REG(huart->Instance->CR2, USART_CR2_SWAP, huart->AdvancedInit.Swap); - 8003c76: 687b ldr r3, [r7, #4] - 8003c78: 681b ldr r3, [r3, #0] - 8003c7a: 685b ldr r3, [r3, #4] - 8003c7c: f423 4100 bic.w r1, r3, #32768 ; 0x8000 - 8003c80: 687b ldr r3, [r7, #4] - 8003c82: 6b5a ldr r2, [r3, #52] ; 0x34 - 8003c84: 687b ldr r3, [r7, #4] - 8003c86: 681b ldr r3, [r3, #0] - 8003c88: 430a orrs r2, r1 - 8003c8a: 605a str r2, [r3, #4] + 8003fb6: 687b ldr r3, [r7, #4] + 8003fb8: 681b ldr r3, [r3, #0] + 8003fba: 685b ldr r3, [r3, #4] + 8003fbc: f423 4100 bic.w r1, r3, #32768 ; 0x8000 + 8003fc0: 687b ldr r3, [r7, #4] + 8003fc2: 6b5a ldr r2, [r3, #52] ; 0x34 + 8003fc4: 687b ldr r3, [r7, #4] + 8003fc6: 681b ldr r3, [r3, #0] + 8003fc8: 430a orrs r2, r1 + 8003fca: 605a str r2, [r3, #4] } /* if required, configure RX overrun detection disabling */ if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXOVERRUNDISABLE_INIT)) - 8003c8c: 687b ldr r3, [r7, #4] - 8003c8e: 6a5b ldr r3, [r3, #36] ; 0x24 - 8003c90: f003 0310 and.w r3, r3, #16 - 8003c94: 2b00 cmp r3, #0 - 8003c96: d00a beq.n 8003cae + 8003fcc: 687b ldr r3, [r7, #4] + 8003fce: 6a5b ldr r3, [r3, #36] ; 0x24 + 8003fd0: f003 0310 and.w r3, r3, #16 + 8003fd4: 2b00 cmp r3, #0 + 8003fd6: d00a beq.n 8003fee { assert_param(IS_UART_OVERRUN(huart->AdvancedInit.OverrunDisable)); MODIFY_REG(huart->Instance->CR3, USART_CR3_OVRDIS, huart->AdvancedInit.OverrunDisable); - 8003c98: 687b ldr r3, [r7, #4] - 8003c9a: 681b ldr r3, [r3, #0] - 8003c9c: 689b ldr r3, [r3, #8] - 8003c9e: f423 5180 bic.w r1, r3, #4096 ; 0x1000 - 8003ca2: 687b ldr r3, [r7, #4] - 8003ca4: 6b9a ldr r2, [r3, #56] ; 0x38 - 8003ca6: 687b ldr r3, [r7, #4] - 8003ca8: 681b ldr r3, [r3, #0] - 8003caa: 430a orrs r2, r1 - 8003cac: 609a str r2, [r3, #8] + 8003fd8: 687b ldr r3, [r7, #4] + 8003fda: 681b ldr r3, [r3, #0] + 8003fdc: 689b ldr r3, [r3, #8] + 8003fde: f423 5180 bic.w r1, r3, #4096 ; 0x1000 + 8003fe2: 687b ldr r3, [r7, #4] + 8003fe4: 6b9a ldr r2, [r3, #56] ; 0x38 + 8003fe6: 687b ldr r3, [r7, #4] + 8003fe8: 681b ldr r3, [r3, #0] + 8003fea: 430a orrs r2, r1 + 8003fec: 609a str r2, [r3, #8] } /* if required, configure DMA disabling on reception error */ if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DMADISABLEONERROR_INIT)) - 8003cae: 687b ldr r3, [r7, #4] - 8003cb0: 6a5b ldr r3, [r3, #36] ; 0x24 - 8003cb2: f003 0320 and.w r3, r3, #32 - 8003cb6: 2b00 cmp r3, #0 - 8003cb8: d00a beq.n 8003cd0 + 8003fee: 687b ldr r3, [r7, #4] + 8003ff0: 6a5b ldr r3, [r3, #36] ; 0x24 + 8003ff2: f003 0320 and.w r3, r3, #32 + 8003ff6: 2b00 cmp r3, #0 + 8003ff8: d00a beq.n 8004010 { assert_param(IS_UART_ADVFEATURE_DMAONRXERROR(huart->AdvancedInit.DMADisableonRxError)); MODIFY_REG(huart->Instance->CR3, USART_CR3_DDRE, huart->AdvancedInit.DMADisableonRxError); - 8003cba: 687b ldr r3, [r7, #4] - 8003cbc: 681b ldr r3, [r3, #0] - 8003cbe: 689b ldr r3, [r3, #8] - 8003cc0: f423 5100 bic.w r1, r3, #8192 ; 0x2000 - 8003cc4: 687b ldr r3, [r7, #4] - 8003cc6: 6bda ldr r2, [r3, #60] ; 0x3c - 8003cc8: 687b ldr r3, [r7, #4] - 8003cca: 681b ldr r3, [r3, #0] - 8003ccc: 430a orrs r2, r1 - 8003cce: 609a str r2, [r3, #8] + 8003ffa: 687b ldr r3, [r7, #4] + 8003ffc: 681b ldr r3, [r3, #0] + 8003ffe: 689b ldr r3, [r3, #8] + 8004000: f423 5100 bic.w r1, r3, #8192 ; 0x2000 + 8004004: 687b ldr r3, [r7, #4] + 8004006: 6bda ldr r2, [r3, #60] ; 0x3c + 8004008: 687b ldr r3, [r7, #4] + 800400a: 681b ldr r3, [r3, #0] + 800400c: 430a orrs r2, r1 + 800400e: 609a str r2, [r3, #8] } /* if required, configure auto Baud rate detection scheme */ if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_AUTOBAUDRATE_INIT)) - 8003cd0: 687b ldr r3, [r7, #4] - 8003cd2: 6a5b ldr r3, [r3, #36] ; 0x24 - 8003cd4: f003 0340 and.w r3, r3, #64 ; 0x40 - 8003cd8: 2b00 cmp r3, #0 - 8003cda: d01a beq.n 8003d12 + 8004010: 687b ldr r3, [r7, #4] + 8004012: 6a5b ldr r3, [r3, #36] ; 0x24 + 8004014: f003 0340 and.w r3, r3, #64 ; 0x40 + 8004018: 2b00 cmp r3, #0 + 800401a: d01a beq.n 8004052 { assert_param(IS_USART_AUTOBAUDRATE_DETECTION_INSTANCE(huart->Instance)); assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATE(huart->AdvancedInit.AutoBaudRateEnable)); MODIFY_REG(huart->Instance->CR2, USART_CR2_ABREN, huart->AdvancedInit.AutoBaudRateEnable); - 8003cdc: 687b ldr r3, [r7, #4] - 8003cde: 681b ldr r3, [r3, #0] - 8003ce0: 685b ldr r3, [r3, #4] - 8003ce2: f423 1180 bic.w r1, r3, #1048576 ; 0x100000 - 8003ce6: 687b ldr r3, [r7, #4] - 8003ce8: 6c1a ldr r2, [r3, #64] ; 0x40 - 8003cea: 687b ldr r3, [r7, #4] - 8003cec: 681b ldr r3, [r3, #0] - 8003cee: 430a orrs r2, r1 - 8003cf0: 605a str r2, [r3, #4] + 800401c: 687b ldr r3, [r7, #4] + 800401e: 681b ldr r3, [r3, #0] + 8004020: 685b ldr r3, [r3, #4] + 8004022: f423 1180 bic.w r1, r3, #1048576 ; 0x100000 + 8004026: 687b ldr r3, [r7, #4] + 8004028: 6c1a ldr r2, [r3, #64] ; 0x40 + 800402a: 687b ldr r3, [r7, #4] + 800402c: 681b ldr r3, [r3, #0] + 800402e: 430a orrs r2, r1 + 8004030: 605a str r2, [r3, #4] /* set auto Baudrate detection parameters if detection is enabled */ if (huart->AdvancedInit.AutoBaudRateEnable == UART_ADVFEATURE_AUTOBAUDRATE_ENABLE) - 8003cf2: 687b ldr r3, [r7, #4] - 8003cf4: 6c1b ldr r3, [r3, #64] ; 0x40 - 8003cf6: f5b3 1f80 cmp.w r3, #1048576 ; 0x100000 - 8003cfa: d10a bne.n 8003d12 + 8004032: 687b ldr r3, [r7, #4] + 8004034: 6c1b ldr r3, [r3, #64] ; 0x40 + 8004036: f5b3 1f80 cmp.w r3, #1048576 ; 0x100000 + 800403a: d10a bne.n 8004052 { assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATEMODE(huart->AdvancedInit.AutoBaudRateMode)); MODIFY_REG(huart->Instance->CR2, USART_CR2_ABRMODE, huart->AdvancedInit.AutoBaudRateMode); - 8003cfc: 687b ldr r3, [r7, #4] - 8003cfe: 681b ldr r3, [r3, #0] - 8003d00: 685b ldr r3, [r3, #4] - 8003d02: f423 01c0 bic.w r1, r3, #6291456 ; 0x600000 - 8003d06: 687b ldr r3, [r7, #4] - 8003d08: 6c5a ldr r2, [r3, #68] ; 0x44 - 8003d0a: 687b ldr r3, [r7, #4] - 8003d0c: 681b ldr r3, [r3, #0] - 8003d0e: 430a orrs r2, r1 - 8003d10: 605a str r2, [r3, #4] + 800403c: 687b ldr r3, [r7, #4] + 800403e: 681b ldr r3, [r3, #0] + 8004040: 685b ldr r3, [r3, #4] + 8004042: f423 01c0 bic.w r1, r3, #6291456 ; 0x600000 + 8004046: 687b ldr r3, [r7, #4] + 8004048: 6c5a ldr r2, [r3, #68] ; 0x44 + 800404a: 687b ldr r3, [r7, #4] + 800404c: 681b ldr r3, [r3, #0] + 800404e: 430a orrs r2, r1 + 8004050: 605a str r2, [r3, #4] } } /* if required, configure MSB first on communication line */ if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_MSBFIRST_INIT)) - 8003d12: 687b ldr r3, [r7, #4] - 8003d14: 6a5b ldr r3, [r3, #36] ; 0x24 - 8003d16: f003 0380 and.w r3, r3, #128 ; 0x80 - 8003d1a: 2b00 cmp r3, #0 - 8003d1c: d00a beq.n 8003d34 + 8004052: 687b ldr r3, [r7, #4] + 8004054: 6a5b ldr r3, [r3, #36] ; 0x24 + 8004056: f003 0380 and.w r3, r3, #128 ; 0x80 + 800405a: 2b00 cmp r3, #0 + 800405c: d00a beq.n 8004074 { assert_param(IS_UART_ADVFEATURE_MSBFIRST(huart->AdvancedInit.MSBFirst)); MODIFY_REG(huart->Instance->CR2, USART_CR2_MSBFIRST, huart->AdvancedInit.MSBFirst); - 8003d1e: 687b ldr r3, [r7, #4] - 8003d20: 681b ldr r3, [r3, #0] - 8003d22: 685b ldr r3, [r3, #4] - 8003d24: f423 2100 bic.w r1, r3, #524288 ; 0x80000 - 8003d28: 687b ldr r3, [r7, #4] - 8003d2a: 6c9a ldr r2, [r3, #72] ; 0x48 - 8003d2c: 687b ldr r3, [r7, #4] - 8003d2e: 681b ldr r3, [r3, #0] - 8003d30: 430a orrs r2, r1 - 8003d32: 605a str r2, [r3, #4] - } -} - 8003d34: bf00 nop - 8003d36: 370c adds r7, #12 - 8003d38: 46bd mov sp, r7 - 8003d3a: f85d 7b04 ldr.w r7, [sp], #4 - 8003d3e: 4770 bx lr - -08003d40 : + 800405e: 687b ldr r3, [r7, #4] + 8004060: 681b ldr r3, [r3, #0] + 8004062: 685b ldr r3, [r3, #4] + 8004064: f423 2100 bic.w r1, r3, #524288 ; 0x80000 + 8004068: 687b ldr r3, [r7, #4] + 800406a: 6c9a ldr r2, [r3, #72] ; 0x48 + 800406c: 687b ldr r3, [r7, #4] + 800406e: 681b ldr r3, [r3, #0] + 8004070: 430a orrs r2, r1 + 8004072: 605a str r2, [r3, #4] + } +} + 8004074: bf00 nop + 8004076: 370c adds r7, #12 + 8004078: 46bd mov sp, r7 + 800407a: f85d 7b04 ldr.w r7, [sp], #4 + 800407e: 4770 bx lr + +08004080 : * @brief Check the UART Idle State. * @param huart UART handle. * @retval HAL status */ HAL_StatusTypeDef UART_CheckIdleState(UART_HandleTypeDef *huart) { - 8003d40: b580 push {r7, lr} - 8003d42: b086 sub sp, #24 - 8003d44: af02 add r7, sp, #8 - 8003d46: 6078 str r0, [r7, #4] + 8004080: b580 push {r7, lr} + 8004082: b086 sub sp, #24 + 8004084: af02 add r7, sp, #8 + 8004086: 6078 str r0, [r7, #4] uint32_t tickstart; /* Initialize the UART ErrorCode */ huart->ErrorCode = HAL_UART_ERROR_NONE; - 8003d48: 687b ldr r3, [r7, #4] - 8003d4a: 2200 movs r2, #0 - 8003d4c: 67da str r2, [r3, #124] ; 0x7c + 8004088: 687b ldr r3, [r7, #4] + 800408a: 2200 movs r2, #0 + 800408c: 67da str r2, [r3, #124] ; 0x7c /* Init tickstart for timeout managment*/ tickstart = HAL_GetTick(); - 8003d4e: f7fc fc45 bl 80005dc - 8003d52: 60f8 str r0, [r7, #12] + 800408e: f7fc faad bl 80005ec + 8004092: 60f8 str r0, [r7, #12] /* Check if the Transmitter is enabled */ if ((huart->Instance->CR1 & USART_CR1_TE) == USART_CR1_TE) - 8003d54: 687b ldr r3, [r7, #4] - 8003d56: 681b ldr r3, [r3, #0] - 8003d58: 681b ldr r3, [r3, #0] - 8003d5a: f003 0308 and.w r3, r3, #8 - 8003d5e: 2b08 cmp r3, #8 - 8003d60: d10e bne.n 8003d80 + 8004094: 687b ldr r3, [r7, #4] + 8004096: 681b ldr r3, [r3, #0] + 8004098: 681b ldr r3, [r3, #0] + 800409a: f003 0308 and.w r3, r3, #8 + 800409e: 2b08 cmp r3, #8 + 80040a0: d10e bne.n 80040c0 { /* Wait until TEACK flag is set */ if (UART_WaitOnFlagUntilTimeout(huart, USART_ISR_TEACK, RESET, tickstart, HAL_UART_TIMEOUT_VALUE) != HAL_OK) - 8003d62: f06f 437e mvn.w r3, #4261412864 ; 0xfe000000 - 8003d66: 9300 str r3, [sp, #0] - 8003d68: 68fb ldr r3, [r7, #12] - 8003d6a: 2200 movs r2, #0 - 8003d6c: f44f 1100 mov.w r1, #2097152 ; 0x200000 - 8003d70: 6878 ldr r0, [r7, #4] - 8003d72: f000 f814 bl 8003d9e - 8003d76: 4603 mov r3, r0 - 8003d78: 2b00 cmp r3, #0 - 8003d7a: d001 beq.n 8003d80 + 80040a2: f06f 437e mvn.w r3, #4261412864 ; 0xfe000000 + 80040a6: 9300 str r3, [sp, #0] + 80040a8: 68fb ldr r3, [r7, #12] + 80040aa: 2200 movs r2, #0 + 80040ac: f44f 1100 mov.w r1, #2097152 ; 0x200000 + 80040b0: 6878 ldr r0, [r7, #4] + 80040b2: f000 f814 bl 80040de + 80040b6: 4603 mov r3, r0 + 80040b8: 2b00 cmp r3, #0 + 80040ba: d001 beq.n 80040c0 { /* Timeout occurred */ return HAL_TIMEOUT; - 8003d7c: 2303 movs r3, #3 - 8003d7e: e00a b.n 8003d96 + 80040bc: 2303 movs r3, #3 + 80040be: e00a b.n 80040d6 } } /* Initialize the UART State */ huart->gState = HAL_UART_STATE_READY; - 8003d80: 687b ldr r3, [r7, #4] - 8003d82: 2220 movs r2, #32 - 8003d84: 675a str r2, [r3, #116] ; 0x74 + 80040c0: 687b ldr r3, [r7, #4] + 80040c2: 2220 movs r2, #32 + 80040c4: 675a str r2, [r3, #116] ; 0x74 huart->RxState = HAL_UART_STATE_READY; - 8003d86: 687b ldr r3, [r7, #4] - 8003d88: 2220 movs r2, #32 - 8003d8a: 679a str r2, [r3, #120] ; 0x78 + 80040c6: 687b ldr r3, [r7, #4] + 80040c8: 2220 movs r2, #32 + 80040ca: 679a str r2, [r3, #120] ; 0x78 /* Process Unlocked */ __HAL_UNLOCK(huart); - 8003d8c: 687b ldr r3, [r7, #4] - 8003d8e: 2200 movs r2, #0 - 8003d90: f883 2070 strb.w r2, [r3, #112] ; 0x70 + 80040cc: 687b ldr r3, [r7, #4] + 80040ce: 2200 movs r2, #0 + 80040d0: f883 2070 strb.w r2, [r3, #112] ; 0x70 return HAL_OK; - 8003d94: 2300 movs r3, #0 + 80040d4: 2300 movs r3, #0 } - 8003d96: 4618 mov r0, r3 - 8003d98: 3710 adds r7, #16 - 8003d9a: 46bd mov sp, r7 - 8003d9c: bd80 pop {r7, pc} + 80040d6: 4618 mov r0, r3 + 80040d8: 3710 adds r7, #16 + 80040da: 46bd mov sp, r7 + 80040dc: bd80 pop {r7, pc} -08003d9e : +080040de : * @param Tickstart Tick start value * @param Timeout Timeout duration * @retval HAL status */ HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, FlagStatus Status, uint32_t Tickstart, uint32_t Timeout) { - 8003d9e: b580 push {r7, lr} - 8003da0: b084 sub sp, #16 - 8003da2: af00 add r7, sp, #0 - 8003da4: 60f8 str r0, [r7, #12] - 8003da6: 60b9 str r1, [r7, #8] - 8003da8: 603b str r3, [r7, #0] - 8003daa: 4613 mov r3, r2 - 8003dac: 71fb strb r3, [r7, #7] + 80040de: b580 push {r7, lr} + 80040e0: b084 sub sp, #16 + 80040e2: af00 add r7, sp, #0 + 80040e4: 60f8 str r0, [r7, #12] + 80040e6: 60b9 str r1, [r7, #8] + 80040e8: 603b str r3, [r7, #0] + 80040ea: 4613 mov r3, r2 + 80040ec: 71fb strb r3, [r7, #7] /* Wait until flag is set */ while ((__HAL_UART_GET_FLAG(huart, Flag) ? SET : RESET) == Status) - 8003dae: e02a b.n 8003e06 + 80040ee: e02a b.n 8004146 { /* Check for the Timeout */ if (Timeout != HAL_MAX_DELAY) - 8003db0: 69bb ldr r3, [r7, #24] - 8003db2: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff - 8003db6: d026 beq.n 8003e06 + 80040f0: 69bb ldr r3, [r7, #24] + 80040f2: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff + 80040f6: d026 beq.n 8004146 { if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U)) - 8003db8: f7fc fc10 bl 80005dc - 8003dbc: 4602 mov r2, r0 - 8003dbe: 683b ldr r3, [r7, #0] - 8003dc0: 1ad3 subs r3, r2, r3 - 8003dc2: 69ba ldr r2, [r7, #24] - 8003dc4: 429a cmp r2, r3 - 8003dc6: d302 bcc.n 8003dce - 8003dc8: 69bb ldr r3, [r7, #24] - 8003dca: 2b00 cmp r3, #0 - 8003dcc: d11b bne.n 8003e06 + 80040f8: f7fc fa78 bl 80005ec + 80040fc: 4602 mov r2, r0 + 80040fe: 683b ldr r3, [r7, #0] + 8004100: 1ad3 subs r3, r2, r3 + 8004102: 69ba ldr r2, [r7, #24] + 8004104: 429a cmp r2, r3 + 8004106: d302 bcc.n 800410e + 8004108: 69bb ldr r3, [r7, #24] + 800410a: 2b00 cmp r3, #0 + 800410c: d11b bne.n 8004146 { /* Disable TXE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts for the interrupt process */ CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE)); - 8003dce: 68fb ldr r3, [r7, #12] - 8003dd0: 681b ldr r3, [r3, #0] - 8003dd2: 681a ldr r2, [r3, #0] - 8003dd4: 68fb ldr r3, [r7, #12] - 8003dd6: 681b ldr r3, [r3, #0] - 8003dd8: f422 72d0 bic.w r2, r2, #416 ; 0x1a0 - 8003ddc: 601a str r2, [r3, #0] + 800410e: 68fb ldr r3, [r7, #12] + 8004110: 681b ldr r3, [r3, #0] + 8004112: 681a ldr r2, [r3, #0] + 8004114: 68fb ldr r3, [r7, #12] + 8004116: 681b ldr r3, [r3, #0] + 8004118: f422 72d0 bic.w r2, r2, #416 ; 0x1a0 + 800411c: 601a str r2, [r3, #0] CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); - 8003dde: 68fb ldr r3, [r7, #12] - 8003de0: 681b ldr r3, [r3, #0] - 8003de2: 689a ldr r2, [r3, #8] - 8003de4: 68fb ldr r3, [r7, #12] - 8003de6: 681b ldr r3, [r3, #0] - 8003de8: f022 0201 bic.w r2, r2, #1 - 8003dec: 609a str r2, [r3, #8] + 800411e: 68fb ldr r3, [r7, #12] + 8004120: 681b ldr r3, [r3, #0] + 8004122: 689a ldr r2, [r3, #8] + 8004124: 68fb ldr r3, [r7, #12] + 8004126: 681b ldr r3, [r3, #0] + 8004128: f022 0201 bic.w r2, r2, #1 + 800412c: 609a str r2, [r3, #8] huart->gState = HAL_UART_STATE_READY; - 8003dee: 68fb ldr r3, [r7, #12] - 8003df0: 2220 movs r2, #32 - 8003df2: 675a str r2, [r3, #116] ; 0x74 + 800412e: 68fb ldr r3, [r7, #12] + 8004130: 2220 movs r2, #32 + 8004132: 675a str r2, [r3, #116] ; 0x74 huart->RxState = HAL_UART_STATE_READY; - 8003df4: 68fb ldr r3, [r7, #12] - 8003df6: 2220 movs r2, #32 - 8003df8: 679a str r2, [r3, #120] ; 0x78 + 8004134: 68fb ldr r3, [r7, #12] + 8004136: 2220 movs r2, #32 + 8004138: 679a str r2, [r3, #120] ; 0x78 /* Process Unlocked */ __HAL_UNLOCK(huart); - 8003dfa: 68fb ldr r3, [r7, #12] - 8003dfc: 2200 movs r2, #0 - 8003dfe: f883 2070 strb.w r2, [r3, #112] ; 0x70 + 800413a: 68fb ldr r3, [r7, #12] + 800413c: 2200 movs r2, #0 + 800413e: f883 2070 strb.w r2, [r3, #112] ; 0x70 return HAL_TIMEOUT; - 8003e02: 2303 movs r3, #3 - 8003e04: e00f b.n 8003e26 + 8004142: 2303 movs r3, #3 + 8004144: e00f b.n 8004166 while ((__HAL_UART_GET_FLAG(huart, Flag) ? SET : RESET) == Status) - 8003e06: 68fb ldr r3, [r7, #12] - 8003e08: 681b ldr r3, [r3, #0] - 8003e0a: 69da ldr r2, [r3, #28] - 8003e0c: 68bb ldr r3, [r7, #8] - 8003e0e: 4013 ands r3, r2 - 8003e10: 68ba ldr r2, [r7, #8] - 8003e12: 429a cmp r2, r3 - 8003e14: bf0c ite eq - 8003e16: 2301 moveq r3, #1 - 8003e18: 2300 movne r3, #0 - 8003e1a: b2db uxtb r3, r3 - 8003e1c: 461a mov r2, r3 - 8003e1e: 79fb ldrb r3, [r7, #7] - 8003e20: 429a cmp r2, r3 - 8003e22: d0c5 beq.n 8003db0 + 8004146: 68fb ldr r3, [r7, #12] + 8004148: 681b ldr r3, [r3, #0] + 800414a: 69da ldr r2, [r3, #28] + 800414c: 68bb ldr r3, [r7, #8] + 800414e: 4013 ands r3, r2 + 8004150: 68ba ldr r2, [r7, #8] + 8004152: 429a cmp r2, r3 + 8004154: bf0c ite eq + 8004156: 2301 moveq r3, #1 + 8004158: 2300 movne r3, #0 + 800415a: b2db uxtb r3, r3 + 800415c: 461a mov r2, r3 + 800415e: 79fb ldrb r3, [r7, #7] + 8004160: 429a cmp r2, r3 + 8004162: d0c5 beq.n 80040f0 } } } return HAL_OK; - 8003e24: 2300 movs r3, #0 + 8004164: 2300 movs r3, #0 +} + 8004166: 4618 mov r0, r3 + 8004168: 3710 adds r7, #16 + 800416a: 46bd mov sp, r7 + 800416c: bd80 pop {r7, pc} + +0800416e : + * @brief End ongoing Tx transfer on UART peripheral (following error detection or Transmit completion). + * @param huart UART handle. + * @retval None + */ +static void UART_EndTxTransfer(UART_HandleTypeDef *huart) +{ + 800416e: b480 push {r7} + 8004170: b083 sub sp, #12 + 8004172: af00 add r7, sp, #0 + 8004174: 6078 str r0, [r7, #4] + /* Disable TXEIE and TCIE interrupts */ + CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE)); + 8004176: 687b ldr r3, [r7, #4] + 8004178: 681b ldr r3, [r3, #0] + 800417a: 681a ldr r2, [r3, #0] + 800417c: 687b ldr r3, [r7, #4] + 800417e: 681b ldr r3, [r3, #0] + 8004180: f022 02c0 bic.w r2, r2, #192 ; 0xc0 + 8004184: 601a str r2, [r3, #0] + + /* At end of Tx process, restore huart->gState to Ready */ + huart->gState = HAL_UART_STATE_READY; + 8004186: 687b ldr r3, [r7, #4] + 8004188: 2220 movs r2, #32 + 800418a: 675a str r2, [r3, #116] ; 0x74 } - 8003e26: 4618 mov r0, r3 - 8003e28: 3710 adds r7, #16 - 8003e2a: 46bd mov sp, r7 - 8003e2c: bd80 pop {r7, pc} + 800418c: bf00 nop + 800418e: 370c adds r7, #12 + 8004190: 46bd mov sp, r7 + 8004192: f85d 7b04 ldr.w r7, [sp], #4 + 8004196: 4770 bx lr -08003e2e : +08004198 : * @brief End ongoing Rx transfer on UART peripheral (following error detection or Reception completion). * @param huart UART handle. * @retval None */ static void UART_EndRxTransfer(UART_HandleTypeDef *huart) { - 8003e2e: b480 push {r7} - 8003e30: b083 sub sp, #12 - 8003e32: af00 add r7, sp, #0 - 8003e34: 6078 str r0, [r7, #4] + 8004198: b480 push {r7} + 800419a: b083 sub sp, #12 + 800419c: af00 add r7, sp, #0 + 800419e: 6078 str r0, [r7, #4] /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); - 8003e36: 687b ldr r3, [r7, #4] - 8003e38: 681b ldr r3, [r3, #0] - 8003e3a: 681a ldr r2, [r3, #0] - 8003e3c: 687b ldr r3, [r7, #4] - 8003e3e: 681b ldr r3, [r3, #0] - 8003e40: f422 7290 bic.w r2, r2, #288 ; 0x120 - 8003e44: 601a str r2, [r3, #0] + 80041a0: 687b ldr r3, [r7, #4] + 80041a2: 681b ldr r3, [r3, #0] + 80041a4: 681a ldr r2, [r3, #0] + 80041a6: 687b ldr r3, [r7, #4] + 80041a8: 681b ldr r3, [r3, #0] + 80041aa: f422 7290 bic.w r2, r2, #288 ; 0x120 + 80041ae: 601a str r2, [r3, #0] CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); - 8003e46: 687b ldr r3, [r7, #4] - 8003e48: 681b ldr r3, [r3, #0] - 8003e4a: 689a ldr r2, [r3, #8] - 8003e4c: 687b ldr r3, [r7, #4] - 8003e4e: 681b ldr r3, [r3, #0] - 8003e50: f022 0201 bic.w r2, r2, #1 - 8003e54: 609a str r2, [r3, #8] + 80041b0: 687b ldr r3, [r7, #4] + 80041b2: 681b ldr r3, [r3, #0] + 80041b4: 689a ldr r2, [r3, #8] + 80041b6: 687b ldr r3, [r7, #4] + 80041b8: 681b ldr r3, [r3, #0] + 80041ba: f022 0201 bic.w r2, r2, #1 + 80041be: 609a str r2, [r3, #8] /* At end of Rx process, restore huart->RxState to Ready */ huart->RxState = HAL_UART_STATE_READY; - 8003e56: 687b ldr r3, [r7, #4] - 8003e58: 2220 movs r2, #32 - 8003e5a: 679a str r2, [r3, #120] ; 0x78 + 80041c0: 687b ldr r3, [r7, #4] + 80041c2: 2220 movs r2, #32 + 80041c4: 679a str r2, [r3, #120] ; 0x78 /* Reset RxIsr function pointer */ huart->RxISR = NULL; - 8003e5c: 687b ldr r3, [r7, #4] - 8003e5e: 2200 movs r2, #0 - 8003e60: 661a str r2, [r3, #96] ; 0x60 + 80041c6: 687b ldr r3, [r7, #4] + 80041c8: 2200 movs r2, #0 + 80041ca: 661a str r2, [r3, #96] ; 0x60 +} + 80041cc: bf00 nop + 80041ce: 370c adds r7, #12 + 80041d0: 46bd mov sp, r7 + 80041d2: f85d 7b04 ldr.w r7, [sp], #4 + 80041d6: 4770 bx lr + +080041d8 : + * @brief DMA UART transmit process complete callback. + * @param hdma DMA handle. + * @retval None + */ +static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma) +{ + 80041d8: b580 push {r7, lr} + 80041da: b084 sub sp, #16 + 80041dc: af00 add r7, sp, #0 + 80041de: 6078 str r0, [r7, #4] + UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); + 80041e0: 687b ldr r3, [r7, #4] + 80041e2: 6b9b ldr r3, [r3, #56] ; 0x38 + 80041e4: 60fb str r3, [r7, #12] + + /* DMA Normal mode */ + if (hdma->Init.Mode != DMA_CIRCULAR) + 80041e6: 687b ldr r3, [r7, #4] + 80041e8: 69db ldr r3, [r3, #28] + 80041ea: f5b3 7f80 cmp.w r3, #256 ; 0x100 + 80041ee: d014 beq.n 800421a + { + huart->TxXferCount = 0U; + 80041f0: 68fb ldr r3, [r7, #12] + 80041f2: 2200 movs r2, #0 + 80041f4: f8a3 2052 strh.w r2, [r3, #82] ; 0x52 + + /* Disable the DMA transfer for transmit request by resetting the DMAT bit + in the UART CR3 register */ + CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); + 80041f8: 68fb ldr r3, [r7, #12] + 80041fa: 681b ldr r3, [r3, #0] + 80041fc: 689a ldr r2, [r3, #8] + 80041fe: 68fb ldr r3, [r7, #12] + 8004200: 681b ldr r3, [r3, #0] + 8004202: f022 0280 bic.w r2, r2, #128 ; 0x80 + 8004206: 609a str r2, [r3, #8] + + /* Enable the UART Transmit Complete Interrupt */ + SET_BIT(huart->Instance->CR1, USART_CR1_TCIE); + 8004208: 68fb ldr r3, [r7, #12] + 800420a: 681b ldr r3, [r3, #0] + 800420c: 681a ldr r2, [r3, #0] + 800420e: 68fb ldr r3, [r7, #12] + 8004210: 681b ldr r3, [r3, #0] + 8004212: f042 0240 orr.w r2, r2, #64 ; 0x40 + 8004216: 601a str r2, [r3, #0] +#else + /*Call legacy weak Tx complete callback*/ + HAL_UART_TxCpltCallback(huart); +#endif /* USE_HAL_UART_REGISTER_CALLBACKS */ + } +} + 8004218: e002 b.n 8004220 + HAL_UART_TxCpltCallback(huart); + 800421a: 68f8 ldr r0, [r7, #12] + 800421c: f002 feec bl 8006ff8 } - 8003e62: bf00 nop - 8003e64: 370c adds r7, #12 - 8003e66: 46bd mov sp, r7 - 8003e68: f85d 7b04 ldr.w r7, [sp], #4 - 8003e6c: 4770 bx lr + 8004220: bf00 nop + 8004222: 3710 adds r7, #16 + 8004224: 46bd mov sp, r7 + 8004226: bd80 pop {r7, pc} + +08004228 : + * @brief DMA UART transmit process half complete callback. + * @param hdma DMA handle. + * @retval None + */ +static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma) +{ + 8004228: b580 push {r7, lr} + 800422a: b084 sub sp, #16 + 800422c: af00 add r7, sp, #0 + 800422e: 6078 str r0, [r7, #4] + UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); + 8004230: 687b ldr r3, [r7, #4] + 8004232: 6b9b ldr r3, [r3, #56] ; 0x38 + 8004234: 60fb str r3, [r7, #12] +#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) + /*Call registered Tx Half complete callback*/ + huart->TxHalfCpltCallback(huart); +#else + /*Call legacy weak Tx Half complete callback*/ + HAL_UART_TxHalfCpltCallback(huart); + 8004236: 68f8 ldr r0, [r7, #12] + 8004238: f7ff fbbe bl 80039b8 +#endif /* USE_HAL_UART_REGISTER_CALLBACKS */ +} + 800423c: bf00 nop + 800423e: 3710 adds r7, #16 + 8004240: 46bd mov sp, r7 + 8004242: bd80 pop {r7, pc} + +08004244 : + * @brief DMA UART receive process complete callback. + * @param hdma DMA handle. + * @retval None + */ +static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma) +{ + 8004244: b580 push {r7, lr} + 8004246: b084 sub sp, #16 + 8004248: af00 add r7, sp, #0 + 800424a: 6078 str r0, [r7, #4] + UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); + 800424c: 687b ldr r3, [r7, #4] + 800424e: 6b9b ldr r3, [r3, #56] ; 0x38 + 8004250: 60fb str r3, [r7, #12] + + /* DMA Normal mode */ + if (hdma->Init.Mode != DMA_CIRCULAR) + 8004252: 687b ldr r3, [r7, #4] + 8004254: 69db ldr r3, [r3, #28] + 8004256: f5b3 7f80 cmp.w r3, #256 ; 0x100 + 800425a: d01e beq.n 800429a + { + huart->RxXferCount = 0U; + 800425c: 68fb ldr r3, [r7, #12] + 800425e: 2200 movs r2, #0 + 8004260: f8a3 205a strh.w r2, [r3, #90] ; 0x5a + + /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */ + CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); + 8004264: 68fb ldr r3, [r7, #12] + 8004266: 681b ldr r3, [r3, #0] + 8004268: 681a ldr r2, [r3, #0] + 800426a: 68fb ldr r3, [r7, #12] + 800426c: 681b ldr r3, [r3, #0] + 800426e: f422 7280 bic.w r2, r2, #256 ; 0x100 + 8004272: 601a str r2, [r3, #0] + CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); + 8004274: 68fb ldr r3, [r7, #12] + 8004276: 681b ldr r3, [r3, #0] + 8004278: 689a ldr r2, [r3, #8] + 800427a: 68fb ldr r3, [r7, #12] + 800427c: 681b ldr r3, [r3, #0] + 800427e: f022 0201 bic.w r2, r2, #1 + 8004282: 609a str r2, [r3, #8] + + /* Disable the DMA transfer for the receiver request by resetting the DMAR bit + in the UART CR3 register */ + CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); + 8004284: 68fb ldr r3, [r7, #12] + 8004286: 681b ldr r3, [r3, #0] + 8004288: 689a ldr r2, [r3, #8] + 800428a: 68fb ldr r3, [r7, #12] + 800428c: 681b ldr r3, [r3, #0] + 800428e: f022 0240 bic.w r2, r2, #64 ; 0x40 + 8004292: 609a str r2, [r3, #8] + + /* At end of Rx process, restore huart->RxState to Ready */ + huart->RxState = HAL_UART_STATE_READY; + 8004294: 68fb ldr r3, [r7, #12] + 8004296: 2220 movs r2, #32 + 8004298: 679a str r2, [r3, #120] ; 0x78 +#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) + /*Call registered Rx complete callback*/ + huart->RxCpltCallback(huart); +#else + /*Call legacy weak Rx complete callback*/ + HAL_UART_RxCpltCallback(huart); + 800429a: 68f8 ldr r0, [r7, #12] + 800429c: f002 febe bl 800701c +#endif /* USE_HAL_UART_REGISTER_CALLBACKS */ +} + 80042a0: bf00 nop + 80042a2: 3710 adds r7, #16 + 80042a4: 46bd mov sp, r7 + 80042a6: bd80 pop {r7, pc} + +080042a8 : + * @brief DMA UART receive process half complete callback. + * @param hdma DMA handle. + * @retval None + */ +static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma) +{ + 80042a8: b580 push {r7, lr} + 80042aa: b084 sub sp, #16 + 80042ac: af00 add r7, sp, #0 + 80042ae: 6078 str r0, [r7, #4] + UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); + 80042b0: 687b ldr r3, [r7, #4] + 80042b2: 6b9b ldr r3, [r3, #56] ; 0x38 + 80042b4: 60fb str r3, [r7, #12] +#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) + /*Call registered Rx Half complete callback*/ + huart->RxHalfCpltCallback(huart); +#else + /*Call legacy weak Rx Half complete callback*/ + HAL_UART_RxHalfCpltCallback(huart); + 80042b6: 68f8 ldr r0, [r7, #12] + 80042b8: f7ff fb88 bl 80039cc +#endif /* USE_HAL_UART_REGISTER_CALLBACKS */ +} + 80042bc: bf00 nop + 80042be: 3710 adds r7, #16 + 80042c0: 46bd mov sp, r7 + 80042c2: bd80 pop {r7, pc} + +080042c4 : + * @brief DMA UART communication error callback. + * @param hdma DMA handle. + * @retval None + */ +static void UART_DMAError(DMA_HandleTypeDef *hdma) +{ + 80042c4: b580 push {r7, lr} + 80042c6: b086 sub sp, #24 + 80042c8: af00 add r7, sp, #0 + 80042ca: 6078 str r0, [r7, #4] + UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); + 80042cc: 687b ldr r3, [r7, #4] + 80042ce: 6b9b ldr r3, [r3, #56] ; 0x38 + 80042d0: 617b str r3, [r7, #20] + + const HAL_UART_StateTypeDef gstate = huart->gState; + 80042d2: 697b ldr r3, [r7, #20] + 80042d4: 6f5b ldr r3, [r3, #116] ; 0x74 + 80042d6: 613b str r3, [r7, #16] + const HAL_UART_StateTypeDef rxstate = huart->RxState; + 80042d8: 697b ldr r3, [r7, #20] + 80042da: 6f9b ldr r3, [r3, #120] ; 0x78 + 80042dc: 60fb str r3, [r7, #12] + + /* Stop UART DMA Tx request if ongoing */ + if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) && + 80042de: 697b ldr r3, [r7, #20] + 80042e0: 681b ldr r3, [r3, #0] + 80042e2: 689b ldr r3, [r3, #8] + 80042e4: f003 0380 and.w r3, r3, #128 ; 0x80 + 80042e8: 2b80 cmp r3, #128 ; 0x80 + 80042ea: d109 bne.n 8004300 + 80042ec: 693b ldr r3, [r7, #16] + 80042ee: 2b21 cmp r3, #33 ; 0x21 + 80042f0: d106 bne.n 8004300 + (gstate == HAL_UART_STATE_BUSY_TX)) + { + huart->TxXferCount = 0U; + 80042f2: 697b ldr r3, [r7, #20] + 80042f4: 2200 movs r2, #0 + 80042f6: f8a3 2052 strh.w r2, [r3, #82] ; 0x52 + UART_EndTxTransfer(huart); + 80042fa: 6978 ldr r0, [r7, #20] + 80042fc: f7ff ff37 bl 800416e + } -08003e6e : + /* Stop UART DMA Rx request if ongoing */ + if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) && + 8004300: 697b ldr r3, [r7, #20] + 8004302: 681b ldr r3, [r3, #0] + 8004304: 689b ldr r3, [r3, #8] + 8004306: f003 0340 and.w r3, r3, #64 ; 0x40 + 800430a: 2b40 cmp r3, #64 ; 0x40 + 800430c: d109 bne.n 8004322 + 800430e: 68fb ldr r3, [r7, #12] + 8004310: 2b22 cmp r3, #34 ; 0x22 + 8004312: d106 bne.n 8004322 + (rxstate == HAL_UART_STATE_BUSY_RX)) + { + huart->RxXferCount = 0U; + 8004314: 697b ldr r3, [r7, #20] + 8004316: 2200 movs r2, #0 + 8004318: f8a3 205a strh.w r2, [r3, #90] ; 0x5a + UART_EndRxTransfer(huart); + 800431c: 6978 ldr r0, [r7, #20] + 800431e: f7ff ff3b bl 8004198 + } + + huart->ErrorCode |= HAL_UART_ERROR_DMA; + 8004322: 697b ldr r3, [r7, #20] + 8004324: 6fdb ldr r3, [r3, #124] ; 0x7c + 8004326: f043 0210 orr.w r2, r3, #16 + 800432a: 697b ldr r3, [r7, #20] + 800432c: 67da str r2, [r3, #124] ; 0x7c +#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) + /*Call registered error callback*/ + huart->ErrorCallback(huart); +#else + /*Call legacy weak error callback*/ + HAL_UART_ErrorCallback(huart); + 800432e: 6978 ldr r0, [r7, #20] + 8004330: f7ff fb56 bl 80039e0 +#endif /* USE_HAL_UART_REGISTER_CALLBACKS */ +} + 8004334: bf00 nop + 8004336: 3718 adds r7, #24 + 8004338: 46bd mov sp, r7 + 800433a: bd80 pop {r7, pc} + +0800433c : * (To be called at end of DMA Abort procedure following error occurrence). * @param hdma DMA handle. * @retval None */ static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma) { - 8003e6e: b580 push {r7, lr} - 8003e70: b084 sub sp, #16 - 8003e72: af00 add r7, sp, #0 - 8003e74: 6078 str r0, [r7, #4] + 800433c: b580 push {r7, lr} + 800433e: b084 sub sp, #16 + 8004340: af00 add r7, sp, #0 + 8004342: 6078 str r0, [r7, #4] UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); - 8003e76: 687b ldr r3, [r7, #4] - 8003e78: 6b9b ldr r3, [r3, #56] ; 0x38 - 8003e7a: 60fb str r3, [r7, #12] + 8004344: 687b ldr r3, [r7, #4] + 8004346: 6b9b ldr r3, [r3, #56] ; 0x38 + 8004348: 60fb str r3, [r7, #12] huart->RxXferCount = 0U; - 8003e7c: 68fb ldr r3, [r7, #12] - 8003e7e: 2200 movs r2, #0 - 8003e80: f8a3 205a strh.w r2, [r3, #90] ; 0x5a + 800434a: 68fb ldr r3, [r7, #12] + 800434c: 2200 movs r2, #0 + 800434e: f8a3 205a strh.w r2, [r3, #90] ; 0x5a huart->TxXferCount = 0U; - 8003e84: 68fb ldr r3, [r7, #12] - 8003e86: 2200 movs r2, #0 - 8003e88: f8a3 2052 strh.w r2, [r3, #82] ; 0x52 + 8004352: 68fb ldr r3, [r7, #12] + 8004354: 2200 movs r2, #0 + 8004356: f8a3 2052 strh.w r2, [r3, #82] ; 0x52 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) /*Call registered error callback*/ huart->ErrorCallback(huart); #else /*Call legacy weak error callback*/ HAL_UART_ErrorCallback(huart); - 8003e8c: 68f8 ldr r0, [r7, #12] - 8003e8e: f7ff fc07 bl 80036a0 + 800435a: 68f8 ldr r0, [r7, #12] + 800435c: f7ff fb40 bl 80039e0 #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ } - 8003e92: bf00 nop - 8003e94: 3710 adds r7, #16 - 8003e96: 46bd mov sp, r7 - 8003e98: bd80 pop {r7, pc} + 8004360: bf00 nop + 8004362: 3710 adds r7, #16 + 8004364: 46bd mov sp, r7 + 8004366: bd80 pop {r7, pc} -08003e9a : +08004368 : * @param huart pointer to a UART_HandleTypeDef structure that contains * the configuration information for the specified UART module. * @retval None */ static void UART_EndTransmit_IT(UART_HandleTypeDef *huart) { - 8003e9a: b580 push {r7, lr} - 8003e9c: b082 sub sp, #8 - 8003e9e: af00 add r7, sp, #0 - 8003ea0: 6078 str r0, [r7, #4] + 8004368: b580 push {r7, lr} + 800436a: b082 sub sp, #8 + 800436c: af00 add r7, sp, #0 + 800436e: 6078 str r0, [r7, #4] /* Disable the UART Transmit Complete Interrupt */ CLEAR_BIT(huart->Instance->CR1, USART_CR1_TCIE); - 8003ea2: 687b ldr r3, [r7, #4] - 8003ea4: 681b ldr r3, [r3, #0] - 8003ea6: 681a ldr r2, [r3, #0] - 8003ea8: 687b ldr r3, [r7, #4] - 8003eaa: 681b ldr r3, [r3, #0] - 8003eac: f022 0240 bic.w r2, r2, #64 ; 0x40 - 8003eb0: 601a str r2, [r3, #0] + 8004370: 687b ldr r3, [r7, #4] + 8004372: 681b ldr r3, [r3, #0] + 8004374: 681a ldr r2, [r3, #0] + 8004376: 687b ldr r3, [r7, #4] + 8004378: 681b ldr r3, [r3, #0] + 800437a: f022 0240 bic.w r2, r2, #64 ; 0x40 + 800437e: 601a str r2, [r3, #0] /* Tx process is ended, restore huart->gState to Ready */ huart->gState = HAL_UART_STATE_READY; - 8003eb2: 687b ldr r3, [r7, #4] - 8003eb4: 2220 movs r2, #32 - 8003eb6: 675a str r2, [r3, #116] ; 0x74 + 8004380: 687b ldr r3, [r7, #4] + 8004382: 2220 movs r2, #32 + 8004384: 675a str r2, [r3, #116] ; 0x74 /* Cleat TxISR function pointer */ huart->TxISR = NULL; - 8003eb8: 687b ldr r3, [r7, #4] - 8003eba: 2200 movs r2, #0 - 8003ebc: 665a str r2, [r3, #100] ; 0x64 + 8004386: 687b ldr r3, [r7, #4] + 8004388: 2200 movs r2, #0 + 800438a: 665a str r2, [r3, #100] ; 0x64 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) /*Call registered Tx complete callback*/ huart->TxCpltCallback(huart); #else /*Call legacy weak Tx complete callback*/ HAL_UART_TxCpltCallback(huart); - 8003ebe: 6878 ldr r0, [r7, #4] - 8003ec0: f7ff fbe4 bl 800368c + 800438c: 6878 ldr r0, [r7, #4] + 800438e: f002 fe33 bl 8006ff8 #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ } - 8003ec4: bf00 nop - 8003ec6: 3708 adds r7, #8 - 8003ec8: 46bd mov sp, r7 - 8003eca: bd80 pop {r7, pc} + 8004392: bf00 nop + 8004394: 3708 adds r7, #8 + 8004396: 46bd mov sp, r7 + 8004398: bd80 pop {r7, pc} -08003ecc <_ZN7Encoder8GetCountEv>: +0800439a <_ZN7Encoder8GetCountEv>: Encoder(TIM_HandleTypeDef* timer); void Setup(); int GetCount() { - 8003ecc: b480 push {r7} - 8003ece: b085 sub sp, #20 - 8003ed0: af00 add r7, sp, #0 - 8003ed2: 6078 str r0, [r7, #4] + 800439a: b480 push {r7} + 800439c: b085 sub sp, #20 + 800439e: af00 add r7, sp, #0 + 80043a0: 6078 str r0, [r7, #4] int count = ((int)__HAL_TIM_GET_COUNTER(timer_) - ((timer_->Init.Period)/2)); - 8003ed4: 687b ldr r3, [r7, #4] - 8003ed6: 681b ldr r3, [r3, #0] - 8003ed8: 681b ldr r3, [r3, #0] - 8003eda: 6a5a ldr r2, [r3, #36] ; 0x24 - 8003edc: 687b ldr r3, [r7, #4] - 8003ede: 681b ldr r3, [r3, #0] - 8003ee0: 68db ldr r3, [r3, #12] - 8003ee2: 085b lsrs r3, r3, #1 - 8003ee4: 1ad3 subs r3, r2, r3 - 8003ee6: 60fb str r3, [r7, #12] + 80043a2: 687b ldr r3, [r7, #4] + 80043a4: 681b ldr r3, [r3, #0] + 80043a6: 681b ldr r3, [r3, #0] + 80043a8: 6a5a ldr r2, [r3, #36] ; 0x24 + 80043aa: 687b ldr r3, [r7, #4] + 80043ac: 681b ldr r3, [r3, #0] + 80043ae: 68db ldr r3, [r3, #12] + 80043b0: 085b lsrs r3, r3, #1 + 80043b2: 1ad3 subs r3, r2, r3 + 80043b4: 60fb str r3, [r7, #12] return count; - 8003ee8: 68fb ldr r3, [r7, #12] + 80043b6: 68fb ldr r3, [r7, #12] } - 8003eea: 4618 mov r0, r3 - 8003eec: 3714 adds r7, #20 - 8003eee: 46bd mov sp, r7 - 8003ef0: f85d 7b04 ldr.w r7, [sp], #4 - 8003ef4: 4770 bx lr + 80043b8: 4618 mov r0, r3 + 80043ba: 3714 adds r7, #20 + 80043bc: 46bd mov sp, r7 + 80043be: f85d 7b04 ldr.w r7, [sp], #4 + 80043c2: 4770 bx lr -08003ef6 <_ZN7Encoder10ResetCountEv>: +080043c4 <_ZN7Encoder10ResetCountEv>: void ResetCount() { - 8003ef6: b480 push {r7} - 8003ef8: b083 sub sp, #12 - 8003efa: af00 add r7, sp, #0 - 8003efc: 6078 str r0, [r7, #4] + 80043c4: b480 push {r7} + 80043c6: b083 sub sp, #12 + 80043c8: af00 add r7, sp, #0 + 80043ca: 6078 str r0, [r7, #4] //set counter to half its maximum value __HAL_TIM_SET_COUNTER(timer_, (timer_->Init.Period)/2); - 8003efe: 687b ldr r3, [r7, #4] - 8003f00: 681b ldr r3, [r3, #0] - 8003f02: 68da ldr r2, [r3, #12] - 8003f04: 687b ldr r3, [r7, #4] - 8003f06: 681b ldr r3, [r3, #0] - 8003f08: 681b ldr r3, [r3, #0] - 8003f0a: 0852 lsrs r2, r2, #1 - 8003f0c: 625a str r2, [r3, #36] ; 0x24 - } - 8003f0e: bf00 nop - 8003f10: 370c adds r7, #12 - 8003f12: 46bd mov sp, r7 - 8003f14: f85d 7b04 ldr.w r7, [sp], #4 - 8003f18: 4770 bx lr - ... + 80043cc: 687b ldr r3, [r7, #4] + 80043ce: 681b ldr r3, [r3, #0] + 80043d0: 68da ldr r2, [r3, #12] + 80043d2: 687b ldr r3, [r7, #4] + 80043d4: 681b ldr r3, [r3, #0] + 80043d6: 681b ldr r3, [r3, #0] + 80043d8: 0852 lsrs r2, r2, #1 + 80043da: 625a str r2, [r3, #36] ; 0x24 + } + 80043dc: bf00 nop + 80043de: 370c adds r7, #12 + 80043e0: 46bd mov sp, r7 + 80043e2: f85d 7b04 ldr.w r7, [sp], #4 + 80043e6: 4770 bx lr -08003f1c <_ZN7EncoderC1EP17TIM_HandleTypeDef>: +080043e8 <_ZN7EncoderC1EP17TIM_HandleTypeDef>: #include "encoder.h" Encoder::Encoder(TIM_HandleTypeDef* timer) { - 8003f1c: b480 push {r7} - 8003f1e: b083 sub sp, #12 - 8003f20: af00 add r7, sp, #0 - 8003f22: 6078 str r0, [r7, #4] - 8003f24: 6039 str r1, [r7, #0] - 8003f26: 687b ldr r3, [r7, #4] - 8003f28: 4a08 ldr r2, [pc, #32] ; (8003f4c <_ZN7EncoderC1EP17TIM_HandleTypeDef+0x30>) - 8003f2a: 611a str r2, [r3, #16] - 8003f2c: 687b ldr r3, [r7, #4] - 8003f2e: 4a08 ldr r2, [pc, #32] ; (8003f50 <_ZN7EncoderC1EP17TIM_HandleTypeDef+0x34>) - 8003f30: 615a str r2, [r3, #20] - 8003f32: 687b ldr r3, [r7, #4] - 8003f34: 4a07 ldr r2, [pc, #28] ; (8003f54 <_ZN7EncoderC1EP17TIM_HandleTypeDef+0x38>) - 8003f36: 619a str r2, [r3, #24] + 80043e8: b480 push {r7} + 80043ea: b083 sub sp, #12 + 80043ec: af00 add r7, sp, #0 + 80043ee: 6078 str r0, [r7, #4] + 80043f0: 6039 str r1, [r7, #0] + 80043f2: 687b ldr r3, [r7, #4] + 80043f4: 4a08 ldr r2, [pc, #32] ; (8004418 <_ZN7EncoderC1EP17TIM_HandleTypeDef+0x30>) + 80043f6: 611a str r2, [r3, #16] + 80043f8: 687b ldr r3, [r7, #4] + 80043fa: 4a08 ldr r2, [pc, #32] ; (800441c <_ZN7EncoderC1EP17TIM_HandleTypeDef+0x34>) + 80043fc: 615a str r2, [r3, #20] + 80043fe: 687b ldr r3, [r7, #4] + 8004400: 4a07 ldr r2, [pc, #28] ; (8004420 <_ZN7EncoderC1EP17TIM_HandleTypeDef+0x38>) + 8004402: 619a str r2, [r3, #24] timer_ = timer; - 8003f38: 687b ldr r3, [r7, #4] - 8003f3a: 683a ldr r2, [r7, #0] - 8003f3c: 601a str r2, [r3, #0] -} - 8003f3e: 687b ldr r3, [r7, #4] - 8003f40: 4618 mov r0, r3 - 8003f42: 370c adds r7, #12 - 8003f44: 46bd mov sp, r7 - 8003f46: f85d 7b04 ldr.w r7, [sp], #4 - 8003f4a: 4770 bx lr - 8003f4c: 00012110 .word 0x00012110 - 8003f50: 40490fd0 .word 0x40490fd0 - 8003f54: 3f40ff97 .word 0x3f40ff97 - -08003f58 <_ZN7Encoder5SetupEv>: + 8004404: 687b ldr r3, [r7, #4] + 8004406: 683a ldr r2, [r7, #0] + 8004408: 601a str r2, [r3, #0] +} + 800440a: 687b ldr r3, [r7, #4] + 800440c: 4618 mov r0, r3 + 800440e: 370c adds r7, #12 + 8004410: 46bd mov sp, r7 + 8004412: f85d 7b04 ldr.w r7, [sp], #4 + 8004416: 4770 bx lr + 8004418: 00012110 .word 0x00012110 + 800441c: 40490fd0 .word 0x40490fd0 + 8004420: 3f40ff97 .word 0x3f40ff97 + +08004424 <_ZN7Encoder5SetupEv>: void Encoder::Setup() { - 8003f58: b580 push {r7, lr} - 8003f5a: b082 sub sp, #8 - 8003f5c: af00 add r7, sp, #0 - 8003f5e: 6078 str r0, [r7, #4] + 8004424: b580 push {r7, lr} + 8004426: b082 sub sp, #8 + 8004428: af00 add r7, sp, #0 + 800442a: 6078 str r0, [r7, #4] HAL_TIM_Encoder_Start(timer_, TIM_CHANNEL_ALL); - 8003f60: 687b ldr r3, [r7, #4] - 8003f62: 681b ldr r3, [r3, #0] - 8003f64: 213c movs r1, #60 ; 0x3c - 8003f66: 4618 mov r0, r3 - 8003f68: f7fe fa9e bl 80024a8 + 800442c: 687b ldr r3, [r7, #4] + 800442e: 681b ldr r3, [r3, #0] + 8004430: 213c movs r1, #60 ; 0x3c + 8004432: 4618 mov r0, r3 + 8004434: f7fe f8ce bl 80025d4 this->ResetCount(); - 8003f6c: 6878 ldr r0, [r7, #4] - 8003f6e: f7ff ffc2 bl 8003ef6 <_ZN7Encoder10ResetCountEv> + 8004438: 6878 ldr r0, [r7, #4] + 800443a: f7ff ffc3 bl 80043c4 <_ZN7Encoder10ResetCountEv> this->previous_millis_ = 0; - 8003f72: 687b ldr r3, [r7, #4] - 8003f74: 2200 movs r2, #0 - 8003f76: 605a str r2, [r3, #4] + 800443e: 687b ldr r3, [r7, #4] + 8004440: 2200 movs r2, #0 + 8004442: 605a str r2, [r3, #4] this->current_millis_ = HAL_GetTick(); - 8003f78: f7fc fb30 bl 80005dc - 8003f7c: 4602 mov r2, r0 - 8003f7e: 687b ldr r3, [r7, #4] - 8003f80: 609a str r2, [r3, #8] + 8004444: f7fc f8d2 bl 80005ec + 8004448: 4602 mov r2, r0 + 800444a: 687b ldr r3, [r7, #4] + 800444c: 609a str r2, [r3, #8] } - 8003f82: bf00 nop - 8003f84: 3708 adds r7, #8 - 8003f86: 46bd mov sp, r7 - 8003f88: bd80 pop {r7, pc} + 800444e: bf00 nop + 8004450: 3708 adds r7, #8 + 8004452: 46bd mov sp, r7 + 8004454: bd80 pop {r7, pc} -08003f8a <_ZN7Encoder12UpdateValuesEv>: +08004456 <_ZN7Encoder12UpdateValuesEv>: void Encoder::UpdateValues() { - 8003f8a: b580 push {r7, lr} - 8003f8c: b082 sub sp, #8 - 8003f8e: af00 add r7, sp, #0 - 8003f90: 6078 str r0, [r7, #4] + 8004456: b580 push {r7, lr} + 8004458: b082 sub sp, #8 + 800445a: af00 add r7, sp, #0 + 800445c: 6078 str r0, [r7, #4] this->previous_millis_ = this->current_millis_; - 8003f92: 687b ldr r3, [r7, #4] - 8003f94: 689a ldr r2, [r3, #8] - 8003f96: 687b ldr r3, [r7, #4] - 8003f98: 605a str r2, [r3, #4] + 800445e: 687b ldr r3, [r7, #4] + 8004460: 689a ldr r2, [r3, #8] + 8004462: 687b ldr r3, [r7, #4] + 8004464: 605a str r2, [r3, #4] this->current_millis_ = HAL_GetTick(); - 8003f9a: f7fc fb1f bl 80005dc - 8003f9e: 4602 mov r2, r0 - 8003fa0: 687b ldr r3, [r7, #4] - 8003fa2: 609a str r2, [r3, #8] + 8004466: f7fc f8c1 bl 80005ec + 800446a: 4602 mov r2, r0 + 800446c: 687b ldr r3, [r7, #4] + 800446e: 609a str r2, [r3, #8] this->ticks_ = this->GetCount(); - 8003fa4: 6878 ldr r0, [r7, #4] - 8003fa6: f7ff ff91 bl 8003ecc <_ZN7Encoder8GetCountEv> - 8003faa: 4602 mov r2, r0 - 8003fac: 687b ldr r3, [r7, #4] - 8003fae: 60da str r2, [r3, #12] + 8004470: 6878 ldr r0, [r7, #4] + 8004472: f7ff ff92 bl 800439a <_ZN7Encoder8GetCountEv> + 8004476: 4602 mov r2, r0 + 8004478: 687b ldr r3, [r7, #4] + 800447a: 60da str r2, [r3, #12] this->ResetCount(); - 8003fb0: 6878 ldr r0, [r7, #4] - 8003fb2: f7ff ffa0 bl 8003ef6 <_ZN7Encoder10ResetCountEv> + 800447c: 6878 ldr r0, [r7, #4] + 800447e: f7ff ffa1 bl 80043c4 <_ZN7Encoder10ResetCountEv> } - 8003fb6: bf00 nop - 8003fb8: 3708 adds r7, #8 - 8003fba: 46bd mov sp, r7 - 8003fbc: bd80 pop {r7, pc} + 8004482: bf00 nop + 8004484: 3708 adds r7, #8 + 8004486: 46bd mov sp, r7 + 8004488: bd80 pop {r7, pc} ... -08003fc0 <_ZN7Encoder17GetLinearVelocityEv>: +0800448c <_ZN7Encoder17GetLinearVelocityEv>: float meters = ((float) this->ticks_ * kWheelCircumference) / kTicksPerRevolution; return meters; } float Encoder::GetLinearVelocity() { - 8003fc0: b580 push {r7, lr} - 8003fc2: b086 sub sp, #24 - 8003fc4: af00 add r7, sp, #0 - 8003fc6: 6078 str r0, [r7, #4] + 800448c: b580 push {r7, lr} + 800448e: b086 sub sp, #24 + 8004490: af00 add r7, sp, #0 + 8004492: 6078 str r0, [r7, #4] this->UpdateValues(); - 8003fc8: 6878 ldr r0, [r7, #4] - 8003fca: f7ff ffde bl 8003f8a <_ZN7Encoder12UpdateValuesEv> + 8004494: 6878 ldr r0, [r7, #4] + 8004496: f7ff ffde bl 8004456 <_ZN7Encoder12UpdateValuesEv> float meters = ((float) this->ticks_ * kWheelCircumference) - 8003fce: 687b ldr r3, [r7, #4] - 8003fd0: 68db ldr r3, [r3, #12] - 8003fd2: ee07 3a90 vmov s15, r3 - 8003fd6: eeb8 7ae7 vcvt.f32.s32 s14, s15 - 8003fda: 687b ldr r3, [r7, #4] - 8003fdc: edd3 7a06 vldr s15, [r3, #24] - 8003fe0: ee67 6a27 vmul.f32 s13, s14, s15 + 800449a: 687b ldr r3, [r7, #4] + 800449c: 68db ldr r3, [r3, #12] + 800449e: ee07 3a90 vmov s15, r3 + 80044a2: eeb8 7ae7 vcvt.f32.s32 s14, s15 + 80044a6: 687b ldr r3, [r7, #4] + 80044a8: edd3 7a06 vldr s15, [r3, #24] + 80044ac: ee67 6a27 vmul.f32 s13, s14, s15 / kTicksPerRevolution; - 8003fe4: 687b ldr r3, [r7, #4] - 8003fe6: 691b ldr r3, [r3, #16] - 8003fe8: ee07 3a90 vmov s15, r3 - 8003fec: eeb8 7a67 vcvt.f32.u32 s14, s15 + 80044b0: 687b ldr r3, [r7, #4] + 80044b2: 691b ldr r3, [r3, #16] + 80044b4: ee07 3a90 vmov s15, r3 + 80044b8: eeb8 7a67 vcvt.f32.u32 s14, s15 float meters = ((float) this->ticks_ * kWheelCircumference) - 8003ff0: eec6 7a87 vdiv.f32 s15, s13, s14 - 8003ff4: edc7 7a05 vstr s15, [r7, #20] + 80044bc: eec6 7a87 vdiv.f32 s15, s13, s14 + 80044c0: edc7 7a05 vstr s15, [r7, #20] float deltaTime = this->current_millis_ - this->previous_millis_; - 8003ff8: 687b ldr r3, [r7, #4] - 8003ffa: 689a ldr r2, [r3, #8] - 8003ffc: 687b ldr r3, [r7, #4] - 8003ffe: 685b ldr r3, [r3, #4] - 8004000: 1ad3 subs r3, r2, r3 - 8004002: ee07 3a90 vmov s15, r3 - 8004006: eef8 7a67 vcvt.f32.u32 s15, s15 - 800400a: edc7 7a04 vstr s15, [r7, #16] + 80044c4: 687b ldr r3, [r7, #4] + 80044c6: 689a ldr r2, [r3, #8] + 80044c8: 687b ldr r3, [r7, #4] + 80044ca: 685b ldr r3, [r3, #4] + 80044cc: 1ad3 subs r3, r2, r3 + 80044ce: ee07 3a90 vmov s15, r3 + 80044d2: eef8 7a67 vcvt.f32.u32 s15, s15 + 80044d6: edc7 7a04 vstr s15, [r7, #16] float linear_velocity = (meters / (deltaTime / 1000)); - 800400e: edd7 7a04 vldr s15, [r7, #16] - 8004012: eddf 6a09 vldr s13, [pc, #36] ; 8004038 <_ZN7Encoder17GetLinearVelocityEv+0x78> - 8004016: ee87 7aa6 vdiv.f32 s14, s15, s13 - 800401a: edd7 6a05 vldr s13, [r7, #20] - 800401e: eec6 7a87 vdiv.f32 s15, s13, s14 - 8004022: edc7 7a03 vstr s15, [r7, #12] + 80044da: edd7 7a04 vldr s15, [r7, #16] + 80044de: eddf 6a09 vldr s13, [pc, #36] ; 8004504 <_ZN7Encoder17GetLinearVelocityEv+0x78> + 80044e2: ee87 7aa6 vdiv.f32 s14, s15, s13 + 80044e6: edd7 6a05 vldr s13, [r7, #20] + 80044ea: eec6 7a87 vdiv.f32 s15, s13, s14 + 80044ee: edc7 7a03 vstr s15, [r7, #12] return linear_velocity; - 8004026: 68fb ldr r3, [r7, #12] - 8004028: ee07 3a90 vmov s15, r3 + 80044f2: 68fb ldr r3, [r7, #12] + 80044f4: ee07 3a90 vmov s15, r3 } - 800402c: eeb0 0a67 vmov.f32 s0, s15 - 8004030: 3718 adds r7, #24 - 8004032: 46bd mov sp, r7 - 8004034: bd80 pop {r7, pc} - 8004036: bf00 nop - 8004038: 447a0000 .word 0x447a0000 - -0800403c
: -/** - * @brief The application entry point. - * @retval int - */ -int main(void) -{ - 800403c: b580 push {r7, lr} - 800403e: af00 add r7, sp, #0 - - - /* MCU Configuration--------------------------------------------------------*/ - - /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ - HAL_Init(); - 8004040: f7fc fa7a bl 8000538 - - /* USER CODE BEGIN Init */ - /* USER CODE END Init */ + 80044f8: eeb0 0a67 vmov.f32 s0, s15 + 80044fc: 3718 adds r7, #24 + 80044fe: 46bd mov sp, r7 + 8004500: bd80 pop {r7, pc} + 8004502: bf00 nop + 8004504: 447a0000 .word 0x447a0000 + +08004508 <_ZN7EncoderC1Ev>: + Encoder(){ + 8004508: b480 push {r7} + 800450a: b083 sub sp, #12 + 800450c: af00 add r7, sp, #0 + 800450e: 6078 str r0, [r7, #4] + 8004510: 687b ldr r3, [r7, #4] + 8004512: 4a09 ldr r2, [pc, #36] ; (8004538 <_ZN7EncoderC1Ev+0x30>) + 8004514: 611a str r2, [r3, #16] + 8004516: 687b ldr r3, [r7, #4] + 8004518: 4a08 ldr r2, [pc, #32] ; (800453c <_ZN7EncoderC1Ev+0x34>) + 800451a: 615a str r2, [r3, #20] + 800451c: 687b ldr r3, [r7, #4] + 800451e: 4a08 ldr r2, [pc, #32] ; (8004540 <_ZN7EncoderC1Ev+0x38>) + 8004520: 619a str r2, [r3, #24] + timer_ = NULL; + 8004522: 687b ldr r3, [r7, #4] + 8004524: 2200 movs r2, #0 + 8004526: 601a str r2, [r3, #0] + } + 8004528: 687b ldr r3, [r7, #4] + 800452a: 4618 mov r0, r3 + 800452c: 370c adds r7, #12 + 800452e: 46bd mov sp, r7 + 8004530: f85d 7b04 ldr.w r7, [sp], #4 + 8004534: 4770 bx lr + 8004536: bf00 nop + 8004538: 00012110 .word 0x00012110 + 800453c: 40490fd0 .word 0x40490fd0 + 8004540: 3f40ff97 .word 0x3f40ff97 + +08004544 <_ZN3ros3Msg19serializeAvrFloat64EPhf>: + * @param[in] f value to serialize. + * + * @return number of bytes to advance the buffer pointer. + * + */ + static int serializeAvrFloat64(unsigned char* outbuffer, const float f) + 8004544: b480 push {r7} + 8004546: b087 sub sp, #28 + 8004548: af00 add r7, sp, #0 + 800454a: 6078 str r0, [r7, #4] + 800454c: ed87 0a00 vstr s0, [r7] + { + const int32_t* val = (int32_t*) &f; + 8004550: 463b mov r3, r7 + 8004552: 613b str r3, [r7, #16] + int32_t exp = ((*val >> 23) & 255); + 8004554: 693b ldr r3, [r7, #16] + 8004556: 681b ldr r3, [r3, #0] + 8004558: 15db asrs r3, r3, #23 + 800455a: b2db uxtb r3, r3 + 800455c: 617b str r3, [r7, #20] + if (exp != 0) + 800455e: 697b ldr r3, [r7, #20] + 8004560: 2b00 cmp r3, #0 + 8004562: d003 beq.n 800456c <_ZN3ros3Msg19serializeAvrFloat64EPhf+0x28> + { + exp += 1023 - 127; + 8004564: 697b ldr r3, [r7, #20] + 8004566: f503 7360 add.w r3, r3, #896 ; 0x380 + 800456a: 617b str r3, [r7, #20] + } - /* Configure the system clock */ - SystemClock_Config(); - 8004044: f000 f81e bl 8004084 <_Z18SystemClock_Configv> - /* USER CODE BEGIN SysInit */ + int32_t sig = *val; + 800456c: 693b ldr r3, [r7, #16] + 800456e: 681b ldr r3, [r3, #0] + 8004570: 60fb str r3, [r7, #12] + *(outbuffer++) = 0; + 8004572: 687b ldr r3, [r7, #4] + 8004574: 1c5a adds r2, r3, #1 + 8004576: 607a str r2, [r7, #4] + 8004578: 2200 movs r2, #0 + 800457a: 701a strb r2, [r3, #0] + *(outbuffer++) = 0; + 800457c: 687b ldr r3, [r7, #4] + 800457e: 1c5a adds r2, r3, #1 + 8004580: 607a str r2, [r7, #4] + 8004582: 2200 movs r2, #0 + 8004584: 701a strb r2, [r3, #0] + *(outbuffer++) = 0; + 8004586: 687b ldr r3, [r7, #4] + 8004588: 1c5a adds r2, r3, #1 + 800458a: 607a str r2, [r7, #4] + 800458c: 2200 movs r2, #0 + 800458e: 701a strb r2, [r3, #0] + *(outbuffer++) = (sig << 5) & 0xff; + 8004590: 68fb ldr r3, [r7, #12] + 8004592: 0159 lsls r1, r3, #5 + 8004594: 687b ldr r3, [r7, #4] + 8004596: 1c5a adds r2, r3, #1 + 8004598: 607a str r2, [r7, #4] + 800459a: b2ca uxtb r2, r1 + 800459c: 701a strb r2, [r3, #0] + *(outbuffer++) = (sig >> 3) & 0xff; + 800459e: 68fb ldr r3, [r7, #12] + 80045a0: 10d9 asrs r1, r3, #3 + 80045a2: 687b ldr r3, [r7, #4] + 80045a4: 1c5a adds r2, r3, #1 + 80045a6: 607a str r2, [r7, #4] + 80045a8: b2ca uxtb r2, r1 + 80045aa: 701a strb r2, [r3, #0] + *(outbuffer++) = (sig >> 11) & 0xff; + 80045ac: 68fb ldr r3, [r7, #12] + 80045ae: 12d9 asrs r1, r3, #11 + 80045b0: 687b ldr r3, [r7, #4] + 80045b2: 1c5a adds r2, r3, #1 + 80045b4: 607a str r2, [r7, #4] + 80045b6: b2ca uxtb r2, r1 + 80045b8: 701a strb r2, [r3, #0] + *(outbuffer++) = ((exp << 4) & 0xF0) | ((sig >> 19) & 0x0F); + 80045ba: 697b ldr r3, [r7, #20] + 80045bc: 011b lsls r3, r3, #4 + 80045be: b25a sxtb r2, r3 + 80045c0: 68fb ldr r3, [r7, #12] + 80045c2: 14db asrs r3, r3, #19 + 80045c4: b25b sxtb r3, r3 + 80045c6: f003 030f and.w r3, r3, #15 + 80045ca: b25b sxtb r3, r3 + 80045cc: 4313 orrs r3, r2 + 80045ce: b259 sxtb r1, r3 + 80045d0: 687b ldr r3, [r7, #4] + 80045d2: 1c5a adds r2, r3, #1 + 80045d4: 607a str r2, [r7, #4] + 80045d6: b2ca uxtb r2, r1 + 80045d8: 701a strb r2, [r3, #0] + *(outbuffer++) = (exp >> 4) & 0x7F; + 80045da: 697b ldr r3, [r7, #20] + 80045dc: 111b asrs r3, r3, #4 + 80045de: b2da uxtb r2, r3 + 80045e0: 687b ldr r3, [r7, #4] + 80045e2: 1c59 adds r1, r3, #1 + 80045e4: 6079 str r1, [r7, #4] + 80045e6: f002 027f and.w r2, r2, #127 ; 0x7f + 80045ea: b2d2 uxtb r2, r2 + 80045ec: 701a strb r2, [r3, #0] + + // Mark negative bit as necessary. + if (f < 0) + 80045ee: edd7 7a00 vldr s15, [r7] + 80045f2: eef5 7ac0 vcmpe.f32 s15, #0.0 + 80045f6: eef1 fa10 vmrs APSR_nzcv, fpscr + 80045fa: d508 bpl.n 800460e <_ZN3ros3Msg19serializeAvrFloat64EPhf+0xca> + { + *(outbuffer - 1) |= 0x80; + 80045fc: 687b ldr r3, [r7, #4] + 80045fe: 3b01 subs r3, #1 + 8004600: 781a ldrb r2, [r3, #0] + 8004602: 687b ldr r3, [r7, #4] + 8004604: 3b01 subs r3, #1 + 8004606: f062 027f orn r2, r2, #127 ; 0x7f + 800460a: b2d2 uxtb r2, r2 + 800460c: 701a strb r2, [r3, #0] + } - /* USER CODE END SysInit */ + return 8; + 800460e: 2308 movs r3, #8 + } + 8004610: 4618 mov r0, r3 + 8004612: 371c adds r7, #28 + 8004614: 46bd mov sp, r7 + 8004616: f85d 7b04 ldr.w r7, [sp], #4 + 800461a: 4770 bx lr + +0800461c <_ZN3ros3Msg21deserializeAvrFloat64EPKhPf>: + * @param[in] inbuffer pointer for buffer to deserialize from. + * @param[out] f pointer to place the deserialized value in. + * + * @return number of bytes to advance the buffer pointer. + */ + static int deserializeAvrFloat64(const unsigned char* inbuffer, float* f) + 800461c: b480 push {r7} + 800461e: b085 sub sp, #20 + 8004620: af00 add r7, sp, #0 + 8004622: 6078 str r0, [r7, #4] + 8004624: 6039 str r1, [r7, #0] + { + uint32_t* val = (uint32_t*)f; + 8004626: 683b ldr r3, [r7, #0] + 8004628: 60fb str r3, [r7, #12] + inbuffer += 3; + 800462a: 687b ldr r3, [r7, #4] + 800462c: 3303 adds r3, #3 + 800462e: 607b str r3, [r7, #4] + + // Copy truncated mantissa. + *val = ((uint32_t)(*(inbuffer++)) >> 5 & 0x07); + 8004630: 687b ldr r3, [r7, #4] + 8004632: 1c5a adds r2, r3, #1 + 8004634: 607a str r2, [r7, #4] + 8004636: 781b ldrb r3, [r3, #0] + 8004638: 095b lsrs r3, r3, #5 + 800463a: f003 0207 and.w r2, r3, #7 + 800463e: 68fb ldr r3, [r7, #12] + 8004640: 601a str r2, [r3, #0] + *val |= ((uint32_t)(*(inbuffer++)) & 0xff) << 3; + 8004642: 687b ldr r3, [r7, #4] + 8004644: 1c5a adds r2, r3, #1 + 8004646: 607a str r2, [r7, #4] + 8004648: 781b ldrb r3, [r3, #0] + 800464a: 00da lsls r2, r3, #3 + 800464c: 68fb ldr r3, [r7, #12] + 800464e: 681b ldr r3, [r3, #0] + 8004650: 431a orrs r2, r3 + 8004652: 68fb ldr r3, [r7, #12] + 8004654: 601a str r2, [r3, #0] + *val |= ((uint32_t)(*(inbuffer++)) & 0xff) << 11; + 8004656: 687b ldr r3, [r7, #4] + 8004658: 1c5a adds r2, r3, #1 + 800465a: 607a str r2, [r7, #4] + 800465c: 781b ldrb r3, [r3, #0] + 800465e: 02da lsls r2, r3, #11 + 8004660: 68fb ldr r3, [r7, #12] + 8004662: 681b ldr r3, [r3, #0] + 8004664: 431a orrs r2, r3 + 8004666: 68fb ldr r3, [r7, #12] + 8004668: 601a str r2, [r3, #0] + *val |= ((uint32_t)(*inbuffer) & 0x0f) << 19; + 800466a: 68fb ldr r3, [r7, #12] + 800466c: 681a ldr r2, [r3, #0] + 800466e: 687b ldr r3, [r7, #4] + 8004670: 781b ldrb r3, [r3, #0] + 8004672: 04db lsls r3, r3, #19 + 8004674: f403 03f0 and.w r3, r3, #7864320 ; 0x780000 + 8004678: 431a orrs r2, r3 + 800467a: 68fb ldr r3, [r7, #12] + 800467c: 601a str r2, [r3, #0] + + // Copy truncated exponent. + uint32_t exp = ((uint32_t)(*(inbuffer++)) & 0xf0) >> 4; + 800467e: 687b ldr r3, [r7, #4] + 8004680: 1c5a adds r2, r3, #1 + 8004682: 607a str r2, [r7, #4] + 8004684: 781b ldrb r3, [r3, #0] + 8004686: 091b lsrs r3, r3, #4 + 8004688: f003 030f and.w r3, r3, #15 + 800468c: 60bb str r3, [r7, #8] + exp |= ((uint32_t)(*inbuffer) & 0x7f) << 4; + 800468e: 687b ldr r3, [r7, #4] + 8004690: 781b ldrb r3, [r3, #0] + 8004692: 011b lsls r3, r3, #4 + 8004694: f403 62fe and.w r2, r3, #2032 ; 0x7f0 + 8004698: 68bb ldr r3, [r7, #8] + 800469a: 4313 orrs r3, r2 + 800469c: 60bb str r3, [r7, #8] + if (exp != 0) + 800469e: 68bb ldr r3, [r7, #8] + 80046a0: 2b00 cmp r3, #0 + 80046a2: d008 beq.n 80046b6 <_ZN3ros3Msg21deserializeAvrFloat64EPKhPf+0x9a> + { + *val |= ((exp) - 1023 + 127) << 23; + 80046a4: 68fb ldr r3, [r7, #12] + 80046a6: 681a ldr r2, [r3, #0] + 80046a8: 68bb ldr r3, [r7, #8] + 80046aa: f5a3 7360 sub.w r3, r3, #896 ; 0x380 + 80046ae: 05db lsls r3, r3, #23 + 80046b0: 431a orrs r2, r3 + 80046b2: 68fb ldr r3, [r7, #12] + 80046b4: 601a str r2, [r3, #0] + } - /* Initialize all configured peripherals */ - MX_GPIO_Init(); - 8004048: f000 fa92 bl 8004570 <_ZL12MX_GPIO_Initv> - MX_DMA_Init(); - 800404c: f000 fa6a bl 8004524 <_ZL11MX_DMA_Initv> - MX_TIM2_Init(); - 8004050: f000 f8a2 bl 8004198 <_ZL12MX_TIM2_Initv> - MX_TIM3_Init(); - 8004054: f000 f8fe bl 8004254 <_ZL12MX_TIM3_Initv> - MX_TIM4_Init(); - 8004058: f000 f95a bl 8004310 <_ZL12MX_TIM4_Initv> - MX_TIM5_Init(); - 800405c: f000 f9d0 bl 8004400 <_ZL12MX_TIM5_Initv> - MX_USART3_UART_Init(); - 8004060: f000 fa2c bl 80044bc <_ZL19MX_USART3_UART_Initv> - /* USER CODE BEGIN 2 */ + // Copy negative sign. + *val |= ((uint32_t)(*(inbuffer++)) & 0x80) << 24; + 80046b6: 687b ldr r3, [r7, #4] + 80046b8: 1c5a adds r2, r3, #1 + 80046ba: 607a str r2, [r7, #4] + 80046bc: 781b ldrb r3, [r3, #0] + 80046be: 061b lsls r3, r3, #24 + 80046c0: f003 4200 and.w r2, r3, #2147483648 ; 0x80000000 + 80046c4: 68fb ldr r3, [r7, #12] + 80046c6: 681b ldr r3, [r3, #0] + 80046c8: 431a orrs r2, r3 + 80046ca: 68fb ldr r3, [r7, #12] + 80046cc: 601a str r2, [r3, #0] + + return 8; + 80046ce: 2308 movs r3, #8 + } + 80046d0: 4618 mov r0, r3 + 80046d2: 3714 adds r7, #20 + 80046d4: 46bd mov sp, r7 + 80046d6: f85d 7b04 ldr.w r7, [sp], #4 + 80046da: 4770 bx lr + +080046dc <_ZN3ros4TimeC1Ev>: +class Time +{ +public: + uint32_t sec, nsec; + + Time() : sec(0), nsec(0) {} + 80046dc: b480 push {r7} + 80046de: b083 sub sp, #12 + 80046e0: af00 add r7, sp, #0 + 80046e2: 6078 str r0, [r7, #4] + 80046e4: 687b ldr r3, [r7, #4] + 80046e6: 2200 movs r2, #0 + 80046e8: 601a str r2, [r3, #0] + 80046ea: 687b ldr r3, [r7, #4] + 80046ec: 2200 movs r2, #0 + 80046ee: 605a str r2, [r3, #4] + 80046f0: 687b ldr r3, [r7, #4] + 80046f2: 4618 mov r0, r3 + 80046f4: 370c adds r7, #12 + 80046f6: 46bd mov sp, r7 + 80046f8: f85d 7b04 ldr.w r7, [sp], #4 + 80046fc: 4770 bx lr + ... - HAL_TIM_Base_Start_IT(&htim3); - 8004064: 4804 ldr r0, [pc, #16] ; (8004078 ) - 8004066: f7fe f937 bl 80022d8 - left_encoder.Setup(); - 800406a: 4804 ldr r0, [pc, #16] ; (800407c ) - 800406c: f7ff ff74 bl 8003f58 <_ZN7Encoder5SetupEv> - right_encoder.Setup(); - 8004070: 4803 ldr r0, [pc, #12] ; (8004080 ) - 8004072: f7ff ff71 bl 8003f58 <_ZN7Encoder5SetupEv> +08004700 <_ZN3ros3MsgC1Ev>: +class Msg + 8004700: b480 push {r7} + 8004702: b083 sub sp, #12 + 8004704: af00 add r7, sp, #0 + 8004706: 6078 str r0, [r7, #4] + 8004708: 4a04 ldr r2, [pc, #16] ; (800471c <_ZN3ros3MsgC1Ev+0x1c>) + 800470a: 687b ldr r3, [r7, #4] + 800470c: 601a str r2, [r3, #0] + 800470e: 687b ldr r3, [r7, #4] + 8004710: 4618 mov r0, r3 + 8004712: 370c adds r7, #12 + 8004714: 46bd mov sp, r7 + 8004716: f85d 7b04 ldr.w r7, [sp], #4 + 800471a: 4770 bx lr + 800471c: 0800a5b8 .word 0x0800a5b8 + +08004720 <_ZN8std_msgs6HeaderC1Ev>: + typedef ros::Time _stamp_type; + _stamp_type stamp; + typedef const char* _frame_id_type; + _frame_id_type frame_id; + + Header(): + 8004720: b580 push {r7, lr} + 8004722: b082 sub sp, #8 + 8004724: af00 add r7, sp, #0 + 8004726: 6078 str r0, [r7, #4] + seq(0), + stamp(), + frame_id("") + 8004728: 687b ldr r3, [r7, #4] + 800472a: 4618 mov r0, r3 + 800472c: f7ff ffe8 bl 8004700 <_ZN3ros3MsgC1Ev> + 8004730: 4a09 ldr r2, [pc, #36] ; (8004758 <_ZN8std_msgs6HeaderC1Ev+0x38>) + 8004732: 687b ldr r3, [r7, #4] + 8004734: 601a str r2, [r3, #0] + 8004736: 687b ldr r3, [r7, #4] + 8004738: 2200 movs r2, #0 + 800473a: 605a str r2, [r3, #4] + 800473c: 687b ldr r3, [r7, #4] + 800473e: 3308 adds r3, #8 + 8004740: 4618 mov r0, r3 + 8004742: f7ff ffcb bl 80046dc <_ZN3ros4TimeC1Ev> + 8004746: 687b ldr r3, [r7, #4] + 8004748: 4a04 ldr r2, [pc, #16] ; (800475c <_ZN8std_msgs6HeaderC1Ev+0x3c>) + 800474a: 611a str r2, [r3, #16] + { + } + 800474c: 687b ldr r3, [r7, #4] + 800474e: 4618 mov r0, r3 + 8004750: 3708 adds r7, #8 + 8004752: 46bd mov sp, r7 + 8004754: bd80 pop {r7, pc} + 8004756: bf00 nop + 8004758: 0800a5a0 .word 0x0800a5a0 + 800475c: 0800a0c0 .word 0x0800a0c0 - /* USER CODE END 2 */ +08004760 <_ZNK8std_msgs6Header9serializeEPh>: - /* Infinite loop */ - /* USER CODE BEGIN WHILE */ - while (1) { - 8004076: e7fe b.n 8004076 - 8004078: 20000068 .word 0x20000068 - 800407c: 20000268 .word 0x20000268 - 8004080: 20000284 .word 0x20000284 + virtual int serialize(unsigned char *outbuffer) const + 8004760: b580 push {r7, lr} + 8004762: b084 sub sp, #16 + 8004764: af00 add r7, sp, #0 + 8004766: 6078 str r0, [r7, #4] + 8004768: 6039 str r1, [r7, #0] + { + int offset = 0; + 800476a: 2300 movs r3, #0 + 800476c: 60fb str r3, [r7, #12] + *(outbuffer + offset + 0) = (this->seq >> (8 * 0)) & 0xFF; + 800476e: 687b ldr r3, [r7, #4] + 8004770: 6859 ldr r1, [r3, #4] + 8004772: 68fb ldr r3, [r7, #12] + 8004774: 683a ldr r2, [r7, #0] + 8004776: 4413 add r3, r2 + 8004778: b2ca uxtb r2, r1 + 800477a: 701a strb r2, [r3, #0] + *(outbuffer + offset + 1) = (this->seq >> (8 * 1)) & 0xFF; + 800477c: 687b ldr r3, [r7, #4] + 800477e: 685b ldr r3, [r3, #4] + 8004780: 0a19 lsrs r1, r3, #8 + 8004782: 68fb ldr r3, [r7, #12] + 8004784: 3301 adds r3, #1 + 8004786: 683a ldr r2, [r7, #0] + 8004788: 4413 add r3, r2 + 800478a: b2ca uxtb r2, r1 + 800478c: 701a strb r2, [r3, #0] + *(outbuffer + offset + 2) = (this->seq >> (8 * 2)) & 0xFF; + 800478e: 687b ldr r3, [r7, #4] + 8004790: 685b ldr r3, [r3, #4] + 8004792: 0c19 lsrs r1, r3, #16 + 8004794: 68fb ldr r3, [r7, #12] + 8004796: 3302 adds r3, #2 + 8004798: 683a ldr r2, [r7, #0] + 800479a: 4413 add r3, r2 + 800479c: b2ca uxtb r2, r1 + 800479e: 701a strb r2, [r3, #0] + *(outbuffer + offset + 3) = (this->seq >> (8 * 3)) & 0xFF; + 80047a0: 687b ldr r3, [r7, #4] + 80047a2: 685b ldr r3, [r3, #4] + 80047a4: 0e19 lsrs r1, r3, #24 + 80047a6: 68fb ldr r3, [r7, #12] + 80047a8: 3303 adds r3, #3 + 80047aa: 683a ldr r2, [r7, #0] + 80047ac: 4413 add r3, r2 + 80047ae: b2ca uxtb r2, r1 + 80047b0: 701a strb r2, [r3, #0] + offset += sizeof(this->seq); + 80047b2: 68fb ldr r3, [r7, #12] + 80047b4: 3304 adds r3, #4 + 80047b6: 60fb str r3, [r7, #12] + *(outbuffer + offset + 0) = (this->stamp.sec >> (8 * 0)) & 0xFF; + 80047b8: 687b ldr r3, [r7, #4] + 80047ba: 6899 ldr r1, [r3, #8] + 80047bc: 68fb ldr r3, [r7, #12] + 80047be: 683a ldr r2, [r7, #0] + 80047c0: 4413 add r3, r2 + 80047c2: b2ca uxtb r2, r1 + 80047c4: 701a strb r2, [r3, #0] + *(outbuffer + offset + 1) = (this->stamp.sec >> (8 * 1)) & 0xFF; + 80047c6: 687b ldr r3, [r7, #4] + 80047c8: 689b ldr r3, [r3, #8] + 80047ca: 0a19 lsrs r1, r3, #8 + 80047cc: 68fb ldr r3, [r7, #12] + 80047ce: 3301 adds r3, #1 + 80047d0: 683a ldr r2, [r7, #0] + 80047d2: 4413 add r3, r2 + 80047d4: b2ca uxtb r2, r1 + 80047d6: 701a strb r2, [r3, #0] + *(outbuffer + offset + 2) = (this->stamp.sec >> (8 * 2)) & 0xFF; + 80047d8: 687b ldr r3, [r7, #4] + 80047da: 689b ldr r3, [r3, #8] + 80047dc: 0c19 lsrs r1, r3, #16 + 80047de: 68fb ldr r3, [r7, #12] + 80047e0: 3302 adds r3, #2 + 80047e2: 683a ldr r2, [r7, #0] + 80047e4: 4413 add r3, r2 + 80047e6: b2ca uxtb r2, r1 + 80047e8: 701a strb r2, [r3, #0] + *(outbuffer + offset + 3) = (this->stamp.sec >> (8 * 3)) & 0xFF; + 80047ea: 687b ldr r3, [r7, #4] + 80047ec: 689b ldr r3, [r3, #8] + 80047ee: 0e19 lsrs r1, r3, #24 + 80047f0: 68fb ldr r3, [r7, #12] + 80047f2: 3303 adds r3, #3 + 80047f4: 683a ldr r2, [r7, #0] + 80047f6: 4413 add r3, r2 + 80047f8: b2ca uxtb r2, r1 + 80047fa: 701a strb r2, [r3, #0] + offset += sizeof(this->stamp.sec); + 80047fc: 68fb ldr r3, [r7, #12] + 80047fe: 3304 adds r3, #4 + 8004800: 60fb str r3, [r7, #12] + *(outbuffer + offset + 0) = (this->stamp.nsec >> (8 * 0)) & 0xFF; + 8004802: 687b ldr r3, [r7, #4] + 8004804: 68d9 ldr r1, [r3, #12] + 8004806: 68fb ldr r3, [r7, #12] + 8004808: 683a ldr r2, [r7, #0] + 800480a: 4413 add r3, r2 + 800480c: b2ca uxtb r2, r1 + 800480e: 701a strb r2, [r3, #0] + *(outbuffer + offset + 1) = (this->stamp.nsec >> (8 * 1)) & 0xFF; + 8004810: 687b ldr r3, [r7, #4] + 8004812: 68db ldr r3, [r3, #12] + 8004814: 0a19 lsrs r1, r3, #8 + 8004816: 68fb ldr r3, [r7, #12] + 8004818: 3301 adds r3, #1 + 800481a: 683a ldr r2, [r7, #0] + 800481c: 4413 add r3, r2 + 800481e: b2ca uxtb r2, r1 + 8004820: 701a strb r2, [r3, #0] + *(outbuffer + offset + 2) = (this->stamp.nsec >> (8 * 2)) & 0xFF; + 8004822: 687b ldr r3, [r7, #4] + 8004824: 68db ldr r3, [r3, #12] + 8004826: 0c19 lsrs r1, r3, #16 + 8004828: 68fb ldr r3, [r7, #12] + 800482a: 3302 adds r3, #2 + 800482c: 683a ldr r2, [r7, #0] + 800482e: 4413 add r3, r2 + 8004830: b2ca uxtb r2, r1 + 8004832: 701a strb r2, [r3, #0] + *(outbuffer + offset + 3) = (this->stamp.nsec >> (8 * 3)) & 0xFF; + 8004834: 687b ldr r3, [r7, #4] + 8004836: 68db ldr r3, [r3, #12] + 8004838: 0e19 lsrs r1, r3, #24 + 800483a: 68fb ldr r3, [r7, #12] + 800483c: 3303 adds r3, #3 + 800483e: 683a ldr r2, [r7, #0] + 8004840: 4413 add r3, r2 + 8004842: b2ca uxtb r2, r1 + 8004844: 701a strb r2, [r3, #0] + offset += sizeof(this->stamp.nsec); + 8004846: 68fb ldr r3, [r7, #12] + 8004848: 3304 adds r3, #4 + 800484a: 60fb str r3, [r7, #12] + uint32_t length_frame_id = strlen(this->frame_id); + 800484c: 687b ldr r3, [r7, #4] + 800484e: 691b ldr r3, [r3, #16] + 8004850: 4618 mov r0, r3 + 8004852: f7fb fcf1 bl 8000238 + 8004856: 60b8 str r0, [r7, #8] + varToArr(outbuffer + offset, length_frame_id); + 8004858: 68fb ldr r3, [r7, #12] + 800485a: 683a ldr r2, [r7, #0] + 800485c: 4413 add r3, r2 + 800485e: 68b9 ldr r1, [r7, #8] + 8004860: 4618 mov r0, r3 + 8004862: f002 fbf4 bl 800704e <_ZN3ros3Msg8varToArrIPhmEEvT_T0_> + offset += 4; + 8004866: 68fb ldr r3, [r7, #12] + 8004868: 3304 adds r3, #4 + 800486a: 60fb str r3, [r7, #12] + memcpy(outbuffer + offset, this->frame_id, length_frame_id); + 800486c: 68fb ldr r3, [r7, #12] + 800486e: 683a ldr r2, [r7, #0] + 8004870: 18d0 adds r0, r2, r3 + 8004872: 687b ldr r3, [r7, #4] + 8004874: 691b ldr r3, [r3, #16] + 8004876: 68ba ldr r2, [r7, #8] + 8004878: 4619 mov r1, r3 + 800487a: f005 facd bl 8009e18 + offset += length_frame_id; + 800487e: 68fa ldr r2, [r7, #12] + 8004880: 68bb ldr r3, [r7, #8] + 8004882: 4413 add r3, r2 + 8004884: 60fb str r3, [r7, #12] + return offset; + 8004886: 68fb ldr r3, [r7, #12] + } + 8004888: 4618 mov r0, r3 + 800488a: 3710 adds r7, #16 + 800488c: 46bd mov sp, r7 + 800488e: bd80 pop {r7, pc} + +08004890 <_ZN8std_msgs6Header11deserializeEPh>: + + virtual int deserialize(unsigned char *inbuffer) + 8004890: b580 push {r7, lr} + 8004892: b086 sub sp, #24 + 8004894: af00 add r7, sp, #0 + 8004896: 6078 str r0, [r7, #4] + 8004898: 6039 str r1, [r7, #0] + { + int offset = 0; + 800489a: 2300 movs r3, #0 + 800489c: 613b str r3, [r7, #16] + this->seq = ((uint32_t) (*(inbuffer + offset))); + 800489e: 693b ldr r3, [r7, #16] + 80048a0: 683a ldr r2, [r7, #0] + 80048a2: 4413 add r3, r2 + 80048a4: 781b ldrb r3, [r3, #0] + 80048a6: 461a mov r2, r3 + 80048a8: 687b ldr r3, [r7, #4] + 80048aa: 605a str r2, [r3, #4] + this->seq |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); + 80048ac: 687b ldr r3, [r7, #4] + 80048ae: 685a ldr r2, [r3, #4] + 80048b0: 693b ldr r3, [r7, #16] + 80048b2: 3301 adds r3, #1 + 80048b4: 6839 ldr r1, [r7, #0] + 80048b6: 440b add r3, r1 + 80048b8: 781b ldrb r3, [r3, #0] + 80048ba: 021b lsls r3, r3, #8 + 80048bc: 431a orrs r2, r3 + 80048be: 687b ldr r3, [r7, #4] + 80048c0: 605a str r2, [r3, #4] + this->seq |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); + 80048c2: 687b ldr r3, [r7, #4] + 80048c4: 685a ldr r2, [r3, #4] + 80048c6: 693b ldr r3, [r7, #16] + 80048c8: 3302 adds r3, #2 + 80048ca: 6839 ldr r1, [r7, #0] + 80048cc: 440b add r3, r1 + 80048ce: 781b ldrb r3, [r3, #0] + 80048d0: 041b lsls r3, r3, #16 + 80048d2: 431a orrs r2, r3 + 80048d4: 687b ldr r3, [r7, #4] + 80048d6: 605a str r2, [r3, #4] + this->seq |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); + 80048d8: 687b ldr r3, [r7, #4] + 80048da: 685a ldr r2, [r3, #4] + 80048dc: 693b ldr r3, [r7, #16] + 80048de: 3303 adds r3, #3 + 80048e0: 6839 ldr r1, [r7, #0] + 80048e2: 440b add r3, r1 + 80048e4: 781b ldrb r3, [r3, #0] + 80048e6: 061b lsls r3, r3, #24 + 80048e8: 431a orrs r2, r3 + 80048ea: 687b ldr r3, [r7, #4] + 80048ec: 605a str r2, [r3, #4] + offset += sizeof(this->seq); + 80048ee: 693b ldr r3, [r7, #16] + 80048f0: 3304 adds r3, #4 + 80048f2: 613b str r3, [r7, #16] + this->stamp.sec = ((uint32_t) (*(inbuffer + offset))); + 80048f4: 693b ldr r3, [r7, #16] + 80048f6: 683a ldr r2, [r7, #0] + 80048f8: 4413 add r3, r2 + 80048fa: 781b ldrb r3, [r3, #0] + 80048fc: 461a mov r2, r3 + 80048fe: 687b ldr r3, [r7, #4] + 8004900: 609a str r2, [r3, #8] + this->stamp.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); + 8004902: 687b ldr r3, [r7, #4] + 8004904: 689a ldr r2, [r3, #8] + 8004906: 693b ldr r3, [r7, #16] + 8004908: 3301 adds r3, #1 + 800490a: 6839 ldr r1, [r7, #0] + 800490c: 440b add r3, r1 + 800490e: 781b ldrb r3, [r3, #0] + 8004910: 021b lsls r3, r3, #8 + 8004912: 431a orrs r2, r3 + 8004914: 687b ldr r3, [r7, #4] + 8004916: 609a str r2, [r3, #8] + this->stamp.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); + 8004918: 687b ldr r3, [r7, #4] + 800491a: 689a ldr r2, [r3, #8] + 800491c: 693b ldr r3, [r7, #16] + 800491e: 3302 adds r3, #2 + 8004920: 6839 ldr r1, [r7, #0] + 8004922: 440b add r3, r1 + 8004924: 781b ldrb r3, [r3, #0] + 8004926: 041b lsls r3, r3, #16 + 8004928: 431a orrs r2, r3 + 800492a: 687b ldr r3, [r7, #4] + 800492c: 609a str r2, [r3, #8] + this->stamp.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); + 800492e: 687b ldr r3, [r7, #4] + 8004930: 689a ldr r2, [r3, #8] + 8004932: 693b ldr r3, [r7, #16] + 8004934: 3303 adds r3, #3 + 8004936: 6839 ldr r1, [r7, #0] + 8004938: 440b add r3, r1 + 800493a: 781b ldrb r3, [r3, #0] + 800493c: 061b lsls r3, r3, #24 + 800493e: 431a orrs r2, r3 + 8004940: 687b ldr r3, [r7, #4] + 8004942: 609a str r2, [r3, #8] + offset += sizeof(this->stamp.sec); + 8004944: 693b ldr r3, [r7, #16] + 8004946: 3304 adds r3, #4 + 8004948: 613b str r3, [r7, #16] + this->stamp.nsec = ((uint32_t) (*(inbuffer + offset))); + 800494a: 693b ldr r3, [r7, #16] + 800494c: 683a ldr r2, [r7, #0] + 800494e: 4413 add r3, r2 + 8004950: 781b ldrb r3, [r3, #0] + 8004952: 461a mov r2, r3 + 8004954: 687b ldr r3, [r7, #4] + 8004956: 60da str r2, [r3, #12] + this->stamp.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); + 8004958: 687b ldr r3, [r7, #4] + 800495a: 68da ldr r2, [r3, #12] + 800495c: 693b ldr r3, [r7, #16] + 800495e: 3301 adds r3, #1 + 8004960: 6839 ldr r1, [r7, #0] + 8004962: 440b add r3, r1 + 8004964: 781b ldrb r3, [r3, #0] + 8004966: 021b lsls r3, r3, #8 + 8004968: 431a orrs r2, r3 + 800496a: 687b ldr r3, [r7, #4] + 800496c: 60da str r2, [r3, #12] + this->stamp.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); + 800496e: 687b ldr r3, [r7, #4] + 8004970: 68da ldr r2, [r3, #12] + 8004972: 693b ldr r3, [r7, #16] + 8004974: 3302 adds r3, #2 + 8004976: 6839 ldr r1, [r7, #0] + 8004978: 440b add r3, r1 + 800497a: 781b ldrb r3, [r3, #0] + 800497c: 041b lsls r3, r3, #16 + 800497e: 431a orrs r2, r3 + 8004980: 687b ldr r3, [r7, #4] + 8004982: 60da str r2, [r3, #12] + this->stamp.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); + 8004984: 687b ldr r3, [r7, #4] + 8004986: 68da ldr r2, [r3, #12] + 8004988: 693b ldr r3, [r7, #16] + 800498a: 3303 adds r3, #3 + 800498c: 6839 ldr r1, [r7, #0] + 800498e: 440b add r3, r1 + 8004990: 781b ldrb r3, [r3, #0] + 8004992: 061b lsls r3, r3, #24 + 8004994: 431a orrs r2, r3 + 8004996: 687b ldr r3, [r7, #4] + 8004998: 60da str r2, [r3, #12] + offset += sizeof(this->stamp.nsec); + 800499a: 693b ldr r3, [r7, #16] + 800499c: 3304 adds r3, #4 + 800499e: 613b str r3, [r7, #16] + uint32_t length_frame_id; + arrToVar(length_frame_id, (inbuffer + offset)); + 80049a0: 693b ldr r3, [r7, #16] + 80049a2: 683a ldr r2, [r7, #0] + 80049a4: 441a add r2, r3 + 80049a6: f107 030c add.w r3, r7, #12 + 80049aa: 4611 mov r1, r2 + 80049ac: 4618 mov r0, r3 + 80049ae: f002 fb6c bl 800708a <_ZN3ros3Msg8arrToVarImPhEEvRT_T0_> + offset += 4; + 80049b2: 693b ldr r3, [r7, #16] + 80049b4: 3304 adds r3, #4 + 80049b6: 613b str r3, [r7, #16] + for(unsigned int k= offset; k< offset+length_frame_id; ++k){ + 80049b8: 693b ldr r3, [r7, #16] + 80049ba: 617b str r3, [r7, #20] + 80049bc: 693a ldr r2, [r7, #16] + 80049be: 68fb ldr r3, [r7, #12] + 80049c0: 4413 add r3, r2 + 80049c2: 697a ldr r2, [r7, #20] + 80049c4: 429a cmp r2, r3 + 80049c6: d20c bcs.n 80049e2 <_ZN8std_msgs6Header11deserializeEPh+0x152> + inbuffer[k-1]=inbuffer[k]; + 80049c8: 683a ldr r2, [r7, #0] + 80049ca: 697b ldr r3, [r7, #20] + 80049cc: 441a add r2, r3 + 80049ce: 697b ldr r3, [r7, #20] + 80049d0: 3b01 subs r3, #1 + 80049d2: 6839 ldr r1, [r7, #0] + 80049d4: 440b add r3, r1 + 80049d6: 7812 ldrb r2, [r2, #0] + 80049d8: 701a strb r2, [r3, #0] + for(unsigned int k= offset; k< offset+length_frame_id; ++k){ + 80049da: 697b ldr r3, [r7, #20] + 80049dc: 3301 adds r3, #1 + 80049de: 617b str r3, [r7, #20] + 80049e0: e7ec b.n 80049bc <_ZN8std_msgs6Header11deserializeEPh+0x12c> + } + inbuffer[offset+length_frame_id-1]=0; + 80049e2: 693a ldr r2, [r7, #16] + 80049e4: 68fb ldr r3, [r7, #12] + 80049e6: 4413 add r3, r2 + 80049e8: 3b01 subs r3, #1 + 80049ea: 683a ldr r2, [r7, #0] + 80049ec: 4413 add r3, r2 + 80049ee: 2200 movs r2, #0 + 80049f0: 701a strb r2, [r3, #0] + this->frame_id = (char *)(inbuffer + offset-1); + 80049f2: 693b ldr r3, [r7, #16] + 80049f4: 3b01 subs r3, #1 + 80049f6: 683a ldr r2, [r7, #0] + 80049f8: 441a add r2, r3 + 80049fa: 687b ldr r3, [r7, #4] + 80049fc: 611a str r2, [r3, #16] + offset += length_frame_id; + 80049fe: 693a ldr r2, [r7, #16] + 8004a00: 68fb ldr r3, [r7, #12] + 8004a02: 4413 add r3, r2 + 8004a04: 613b str r3, [r7, #16] + return offset; + 8004a06: 693b ldr r3, [r7, #16] + } + 8004a08: 4618 mov r0, r3 + 8004a0a: 3718 adds r7, #24 + 8004a0c: 46bd mov sp, r7 + 8004a0e: bd80 pop {r7, pc} + +08004a10 <_ZN8std_msgs6Header7getTypeEv>: + + const char * getType(){ return "std_msgs/Header"; }; + 8004a10: b480 push {r7} + 8004a12: b083 sub sp, #12 + 8004a14: af00 add r7, sp, #0 + 8004a16: 6078 str r0, [r7, #4] + 8004a18: 4b03 ldr r3, [pc, #12] ; (8004a28 <_ZN8std_msgs6Header7getTypeEv+0x18>) + 8004a1a: 4618 mov r0, r3 + 8004a1c: 370c adds r7, #12 + 8004a1e: 46bd mov sp, r7 + 8004a20: f85d 7b04 ldr.w r7, [sp], #4 + 8004a24: 4770 bx lr + 8004a26: bf00 nop + 8004a28: 0800a0c4 .word 0x0800a0c4 + +08004a2c <_ZN8std_msgs6Header6getMD5Ev>: + const char * getMD5(){ return "2176decaecbce78abc3b96ef049fabed"; }; + 8004a2c: b480 push {r7} + 8004a2e: b083 sub sp, #12 + 8004a30: af00 add r7, sp, #0 + 8004a32: 6078 str r0, [r7, #4] + 8004a34: 4b03 ldr r3, [pc, #12] ; (8004a44 <_ZN8std_msgs6Header6getMD5Ev+0x18>) + 8004a36: 4618 mov r0, r3 + 8004a38: 370c adds r7, #12 + 8004a3a: 46bd mov sp, r7 + 8004a3c: f85d 7b04 ldr.w r7, [sp], #4 + 8004a40: 4770 bx lr + 8004a42: bf00 nop + 8004a44: 0800a0d4 .word 0x0800a0d4 + +08004a48 <_ZN13geometry_msgs5PointC1Ev>: + typedef float _y_type; + _y_type y; + typedef float _z_type; + _z_type z; + + Point(): + 8004a48: b580 push {r7, lr} + 8004a4a: b082 sub sp, #8 + 8004a4c: af00 add r7, sp, #0 + 8004a4e: 6078 str r0, [r7, #4] + x(0), + y(0), + z(0) + 8004a50: 687b ldr r3, [r7, #4] + 8004a52: 4618 mov r0, r3 + 8004a54: f7ff fe54 bl 8004700 <_ZN3ros3MsgC1Ev> + 8004a58: 4a09 ldr r2, [pc, #36] ; (8004a80 <_ZN13geometry_msgs5PointC1Ev+0x38>) + 8004a5a: 687b ldr r3, [r7, #4] + 8004a5c: 601a str r2, [r3, #0] + 8004a5e: 687b ldr r3, [r7, #4] + 8004a60: f04f 0200 mov.w r2, #0 + 8004a64: 605a str r2, [r3, #4] + 8004a66: 687b ldr r3, [r7, #4] + 8004a68: f04f 0200 mov.w r2, #0 + 8004a6c: 609a str r2, [r3, #8] + 8004a6e: 687b ldr r3, [r7, #4] + 8004a70: f04f 0200 mov.w r2, #0 + 8004a74: 60da str r2, [r3, #12] + { + } + 8004a76: 687b ldr r3, [r7, #4] + 8004a78: 4618 mov r0, r3 + 8004a7a: 3708 adds r7, #8 + 8004a7c: 46bd mov sp, r7 + 8004a7e: bd80 pop {r7, pc} + 8004a80: 0800a588 .word 0x0800a588 + +08004a84 <_ZNK13geometry_msgs5Point9serializeEPh>: + + virtual int serialize(unsigned char *outbuffer) const + 8004a84: b580 push {r7, lr} + 8004a86: b084 sub sp, #16 + 8004a88: af00 add r7, sp, #0 + 8004a8a: 6078 str r0, [r7, #4] + 8004a8c: 6039 str r1, [r7, #0] + { + int offset = 0; + 8004a8e: 2300 movs r3, #0 + 8004a90: 60fb str r3, [r7, #12] + offset += serializeAvrFloat64(outbuffer + offset, this->x); + 8004a92: 68fb ldr r3, [r7, #12] + 8004a94: 683a ldr r2, [r7, #0] + 8004a96: 441a add r2, r3 + 8004a98: 687b ldr r3, [r7, #4] + 8004a9a: edd3 7a01 vldr s15, [r3, #4] + 8004a9e: eeb0 0a67 vmov.f32 s0, s15 + 8004aa2: 4610 mov r0, r2 + 8004aa4: f7ff fd4e bl 8004544 <_ZN3ros3Msg19serializeAvrFloat64EPhf> + 8004aa8: 4602 mov r2, r0 + 8004aaa: 68fb ldr r3, [r7, #12] + 8004aac: 4413 add r3, r2 + 8004aae: 60fb str r3, [r7, #12] + offset += serializeAvrFloat64(outbuffer + offset, this->y); + 8004ab0: 68fb ldr r3, [r7, #12] + 8004ab2: 683a ldr r2, [r7, #0] + 8004ab4: 441a add r2, r3 + 8004ab6: 687b ldr r3, [r7, #4] + 8004ab8: edd3 7a02 vldr s15, [r3, #8] + 8004abc: eeb0 0a67 vmov.f32 s0, s15 + 8004ac0: 4610 mov r0, r2 + 8004ac2: f7ff fd3f bl 8004544 <_ZN3ros3Msg19serializeAvrFloat64EPhf> + 8004ac6: 4602 mov r2, r0 + 8004ac8: 68fb ldr r3, [r7, #12] + 8004aca: 4413 add r3, r2 + 8004acc: 60fb str r3, [r7, #12] + offset += serializeAvrFloat64(outbuffer + offset, this->z); + 8004ace: 68fb ldr r3, [r7, #12] + 8004ad0: 683a ldr r2, [r7, #0] + 8004ad2: 441a add r2, r3 + 8004ad4: 687b ldr r3, [r7, #4] + 8004ad6: edd3 7a03 vldr s15, [r3, #12] + 8004ada: eeb0 0a67 vmov.f32 s0, s15 + 8004ade: 4610 mov r0, r2 + 8004ae0: f7ff fd30 bl 8004544 <_ZN3ros3Msg19serializeAvrFloat64EPhf> + 8004ae4: 4602 mov r2, r0 + 8004ae6: 68fb ldr r3, [r7, #12] + 8004ae8: 4413 add r3, r2 + 8004aea: 60fb str r3, [r7, #12] + return offset; + 8004aec: 68fb ldr r3, [r7, #12] + } + 8004aee: 4618 mov r0, r3 + 8004af0: 3710 adds r7, #16 + 8004af2: 46bd mov sp, r7 + 8004af4: bd80 pop {r7, pc} + +08004af6 <_ZN13geometry_msgs5Point11deserializeEPh>: + + virtual int deserialize(unsigned char *inbuffer) + 8004af6: b580 push {r7, lr} + 8004af8: b084 sub sp, #16 + 8004afa: af00 add r7, sp, #0 + 8004afc: 6078 str r0, [r7, #4] + 8004afe: 6039 str r1, [r7, #0] + { + int offset = 0; + 8004b00: 2300 movs r3, #0 + 8004b02: 60fb str r3, [r7, #12] + offset += deserializeAvrFloat64(inbuffer + offset, &(this->x)); + 8004b04: 68fb ldr r3, [r7, #12] + 8004b06: 683a ldr r2, [r7, #0] + 8004b08: 441a add r2, r3 + 8004b0a: 687b ldr r3, [r7, #4] + 8004b0c: 3304 adds r3, #4 + 8004b0e: 4619 mov r1, r3 + 8004b10: 4610 mov r0, r2 + 8004b12: f7ff fd83 bl 800461c <_ZN3ros3Msg21deserializeAvrFloat64EPKhPf> + 8004b16: 4602 mov r2, r0 + 8004b18: 68fb ldr r3, [r7, #12] + 8004b1a: 4413 add r3, r2 + 8004b1c: 60fb str r3, [r7, #12] + offset += deserializeAvrFloat64(inbuffer + offset, &(this->y)); + 8004b1e: 68fb ldr r3, [r7, #12] + 8004b20: 683a ldr r2, [r7, #0] + 8004b22: 441a add r2, r3 + 8004b24: 687b ldr r3, [r7, #4] + 8004b26: 3308 adds r3, #8 + 8004b28: 4619 mov r1, r3 + 8004b2a: 4610 mov r0, r2 + 8004b2c: f7ff fd76 bl 800461c <_ZN3ros3Msg21deserializeAvrFloat64EPKhPf> + 8004b30: 4602 mov r2, r0 + 8004b32: 68fb ldr r3, [r7, #12] + 8004b34: 4413 add r3, r2 + 8004b36: 60fb str r3, [r7, #12] + offset += deserializeAvrFloat64(inbuffer + offset, &(this->z)); + 8004b38: 68fb ldr r3, [r7, #12] + 8004b3a: 683a ldr r2, [r7, #0] + 8004b3c: 441a add r2, r3 + 8004b3e: 687b ldr r3, [r7, #4] + 8004b40: 330c adds r3, #12 + 8004b42: 4619 mov r1, r3 + 8004b44: 4610 mov r0, r2 + 8004b46: f7ff fd69 bl 800461c <_ZN3ros3Msg21deserializeAvrFloat64EPKhPf> + 8004b4a: 4602 mov r2, r0 + 8004b4c: 68fb ldr r3, [r7, #12] + 8004b4e: 4413 add r3, r2 + 8004b50: 60fb str r3, [r7, #12] + return offset; + 8004b52: 68fb ldr r3, [r7, #12] + } + 8004b54: 4618 mov r0, r3 + 8004b56: 3710 adds r7, #16 + 8004b58: 46bd mov sp, r7 + 8004b5a: bd80 pop {r7, pc} + +08004b5c <_ZN13geometry_msgs5Point7getTypeEv>: + + const char * getType(){ return "geometry_msgs/Point"; }; + 8004b5c: b480 push {r7} + 8004b5e: b083 sub sp, #12 + 8004b60: af00 add r7, sp, #0 + 8004b62: 6078 str r0, [r7, #4] + 8004b64: 4b03 ldr r3, [pc, #12] ; (8004b74 <_ZN13geometry_msgs5Point7getTypeEv+0x18>) + 8004b66: 4618 mov r0, r3 + 8004b68: 370c adds r7, #12 + 8004b6a: 46bd mov sp, r7 + 8004b6c: f85d 7b04 ldr.w r7, [sp], #4 + 8004b70: 4770 bx lr + 8004b72: bf00 nop + 8004b74: 0800a0f8 .word 0x0800a0f8 + +08004b78 <_ZN13geometry_msgs5Point6getMD5Ev>: + const char * getMD5(){ return "4a842b65f413084dc2b10fb484ea7f17"; }; + 8004b78: b480 push {r7} + 8004b7a: b083 sub sp, #12 + 8004b7c: af00 add r7, sp, #0 + 8004b7e: 6078 str r0, [r7, #4] + 8004b80: 4b03 ldr r3, [pc, #12] ; (8004b90 <_ZN13geometry_msgs5Point6getMD5Ev+0x18>) + 8004b82: 4618 mov r0, r3 + 8004b84: 370c adds r7, #12 + 8004b86: 46bd mov sp, r7 + 8004b88: f85d 7b04 ldr.w r7, [sp], #4 + 8004b8c: 4770 bx lr + 8004b8e: bf00 nop + 8004b90: 0800a10c .word 0x0800a10c + +08004b94 <_ZN13geometry_msgs10QuaternionC1Ev>: + typedef float _z_type; + _z_type z; + typedef float _w_type; + _w_type w; + + Quaternion(): + 8004b94: b580 push {r7, lr} + 8004b96: b082 sub sp, #8 + 8004b98: af00 add r7, sp, #0 + 8004b9a: 6078 str r0, [r7, #4] + x(0), + y(0), + z(0), + w(0) + 8004b9c: 687b ldr r3, [r7, #4] + 8004b9e: 4618 mov r0, r3 + 8004ba0: f7ff fdae bl 8004700 <_ZN3ros3MsgC1Ev> + 8004ba4: 4a0b ldr r2, [pc, #44] ; (8004bd4 <_ZN13geometry_msgs10QuaternionC1Ev+0x40>) + 8004ba6: 687b ldr r3, [r7, #4] + 8004ba8: 601a str r2, [r3, #0] + 8004baa: 687b ldr r3, [r7, #4] + 8004bac: f04f 0200 mov.w r2, #0 + 8004bb0: 605a str r2, [r3, #4] + 8004bb2: 687b ldr r3, [r7, #4] + 8004bb4: f04f 0200 mov.w r2, #0 + 8004bb8: 609a str r2, [r3, #8] + 8004bba: 687b ldr r3, [r7, #4] + 8004bbc: f04f 0200 mov.w r2, #0 + 8004bc0: 60da str r2, [r3, #12] + 8004bc2: 687b ldr r3, [r7, #4] + 8004bc4: f04f 0200 mov.w r2, #0 + 8004bc8: 611a str r2, [r3, #16] + { + } + 8004bca: 687b ldr r3, [r7, #4] + 8004bcc: 4618 mov r0, r3 + 8004bce: 3708 adds r7, #8 + 8004bd0: 46bd mov sp, r7 + 8004bd2: bd80 pop {r7, pc} + 8004bd4: 0800a570 .word 0x0800a570 -08004084 <_Z18SystemClock_Configv>: -/** - * @brief System Clock Configuration - * @retval None - */ -void SystemClock_Config(void) -{ - 8004084: b580 push {r7, lr} - 8004086: b0b8 sub sp, #224 ; 0xe0 - 8004088: af00 add r7, sp, #0 - RCC_OscInitTypeDef RCC_OscInitStruct = {0}; - 800408a: f107 03ac add.w r3, r7, #172 ; 0xac - 800408e: 2234 movs r2, #52 ; 0x34 - 8004090: 2100 movs r1, #0 - 8004092: 4618 mov r0, r3 - 8004094: f000 fe60 bl 8004d58 - RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; - 8004098: f107 0398 add.w r3, r7, #152 ; 0x98 - 800409c: 2200 movs r2, #0 - 800409e: 601a str r2, [r3, #0] - 80040a0: 605a str r2, [r3, #4] - 80040a2: 609a str r2, [r3, #8] - 80040a4: 60da str r2, [r3, #12] - 80040a6: 611a str r2, [r3, #16] - RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; - 80040a8: f107 0308 add.w r3, r7, #8 - 80040ac: 2290 movs r2, #144 ; 0x90 - 80040ae: 2100 movs r1, #0 - 80040b0: 4618 mov r0, r3 - 80040b2: f000 fe51 bl 8004d58 +08004bd8 <_ZNK13geometry_msgs10Quaternion9serializeEPh>: - /** Configure the main internal regulator output voltage - */ - __HAL_RCC_PWR_CLK_ENABLE(); - 80040b6: 4b36 ldr r3, [pc, #216] ; (8004190 <_Z18SystemClock_Configv+0x10c>) - 80040b8: 6c1b ldr r3, [r3, #64] ; 0x40 - 80040ba: 4a35 ldr r2, [pc, #212] ; (8004190 <_Z18SystemClock_Configv+0x10c>) - 80040bc: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 - 80040c0: 6413 str r3, [r2, #64] ; 0x40 - 80040c2: 4b33 ldr r3, [pc, #204] ; (8004190 <_Z18SystemClock_Configv+0x10c>) - 80040c4: 6c1b ldr r3, [r3, #64] ; 0x40 - 80040c6: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 - 80040ca: 607b str r3, [r7, #4] - 80040cc: 687b ldr r3, [r7, #4] - __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); - 80040ce: 4b31 ldr r3, [pc, #196] ; (8004194 <_Z18SystemClock_Configv+0x110>) - 80040d0: 681b ldr r3, [r3, #0] - 80040d2: f423 4340 bic.w r3, r3, #49152 ; 0xc000 - 80040d6: 4a2f ldr r2, [pc, #188] ; (8004194 <_Z18SystemClock_Configv+0x110>) - 80040d8: f443 4380 orr.w r3, r3, #16384 ; 0x4000 - 80040dc: 6013 str r3, [r2, #0] - 80040de: 4b2d ldr r3, [pc, #180] ; (8004194 <_Z18SystemClock_Configv+0x110>) - 80040e0: 681b ldr r3, [r3, #0] - 80040e2: f403 4340 and.w r3, r3, #49152 ; 0xc000 - 80040e6: 603b str r3, [r7, #0] - 80040e8: 683b ldr r3, [r7, #0] + virtual int serialize(unsigned char *outbuffer) const + 8004bd8: b580 push {r7, lr} + 8004bda: b084 sub sp, #16 + 8004bdc: af00 add r7, sp, #0 + 8004bde: 6078 str r0, [r7, #4] + 8004be0: 6039 str r1, [r7, #0] + { + int offset = 0; + 8004be2: 2300 movs r3, #0 + 8004be4: 60fb str r3, [r7, #12] + offset += serializeAvrFloat64(outbuffer + offset, this->x); + 8004be6: 68fb ldr r3, [r7, #12] + 8004be8: 683a ldr r2, [r7, #0] + 8004bea: 441a add r2, r3 + 8004bec: 687b ldr r3, [r7, #4] + 8004bee: edd3 7a01 vldr s15, [r3, #4] + 8004bf2: eeb0 0a67 vmov.f32 s0, s15 + 8004bf6: 4610 mov r0, r2 + 8004bf8: f7ff fca4 bl 8004544 <_ZN3ros3Msg19serializeAvrFloat64EPhf> + 8004bfc: 4602 mov r2, r0 + 8004bfe: 68fb ldr r3, [r7, #12] + 8004c00: 4413 add r3, r2 + 8004c02: 60fb str r3, [r7, #12] + offset += serializeAvrFloat64(outbuffer + offset, this->y); + 8004c04: 68fb ldr r3, [r7, #12] + 8004c06: 683a ldr r2, [r7, #0] + 8004c08: 441a add r2, r3 + 8004c0a: 687b ldr r3, [r7, #4] + 8004c0c: edd3 7a02 vldr s15, [r3, #8] + 8004c10: eeb0 0a67 vmov.f32 s0, s15 + 8004c14: 4610 mov r0, r2 + 8004c16: f7ff fc95 bl 8004544 <_ZN3ros3Msg19serializeAvrFloat64EPhf> + 8004c1a: 4602 mov r2, r0 + 8004c1c: 68fb ldr r3, [r7, #12] + 8004c1e: 4413 add r3, r2 + 8004c20: 60fb str r3, [r7, #12] + offset += serializeAvrFloat64(outbuffer + offset, this->z); + 8004c22: 68fb ldr r3, [r7, #12] + 8004c24: 683a ldr r2, [r7, #0] + 8004c26: 441a add r2, r3 + 8004c28: 687b ldr r3, [r7, #4] + 8004c2a: edd3 7a03 vldr s15, [r3, #12] + 8004c2e: eeb0 0a67 vmov.f32 s0, s15 + 8004c32: 4610 mov r0, r2 + 8004c34: f7ff fc86 bl 8004544 <_ZN3ros3Msg19serializeAvrFloat64EPhf> + 8004c38: 4602 mov r2, r0 + 8004c3a: 68fb ldr r3, [r7, #12] + 8004c3c: 4413 add r3, r2 + 8004c3e: 60fb str r3, [r7, #12] + offset += serializeAvrFloat64(outbuffer + offset, this->w); + 8004c40: 68fb ldr r3, [r7, #12] + 8004c42: 683a ldr r2, [r7, #0] + 8004c44: 441a add r2, r3 + 8004c46: 687b ldr r3, [r7, #4] + 8004c48: edd3 7a04 vldr s15, [r3, #16] + 8004c4c: eeb0 0a67 vmov.f32 s0, s15 + 8004c50: 4610 mov r0, r2 + 8004c52: f7ff fc77 bl 8004544 <_ZN3ros3Msg19serializeAvrFloat64EPhf> + 8004c56: 4602 mov r2, r0 + 8004c58: 68fb ldr r3, [r7, #12] + 8004c5a: 4413 add r3, r2 + 8004c5c: 60fb str r3, [r7, #12] + return offset; + 8004c5e: 68fb ldr r3, [r7, #12] + } + 8004c60: 4618 mov r0, r3 + 8004c62: 3710 adds r7, #16 + 8004c64: 46bd mov sp, r7 + 8004c66: bd80 pop {r7, pc} + +08004c68 <_ZN13geometry_msgs10Quaternion11deserializeEPh>: + + virtual int deserialize(unsigned char *inbuffer) + 8004c68: b580 push {r7, lr} + 8004c6a: b084 sub sp, #16 + 8004c6c: af00 add r7, sp, #0 + 8004c6e: 6078 str r0, [r7, #4] + 8004c70: 6039 str r1, [r7, #0] + { + int offset = 0; + 8004c72: 2300 movs r3, #0 + 8004c74: 60fb str r3, [r7, #12] + offset += deserializeAvrFloat64(inbuffer + offset, &(this->x)); + 8004c76: 68fb ldr r3, [r7, #12] + 8004c78: 683a ldr r2, [r7, #0] + 8004c7a: 441a add r2, r3 + 8004c7c: 687b ldr r3, [r7, #4] + 8004c7e: 3304 adds r3, #4 + 8004c80: 4619 mov r1, r3 + 8004c82: 4610 mov r0, r2 + 8004c84: f7ff fcca bl 800461c <_ZN3ros3Msg21deserializeAvrFloat64EPKhPf> + 8004c88: 4602 mov r2, r0 + 8004c8a: 68fb ldr r3, [r7, #12] + 8004c8c: 4413 add r3, r2 + 8004c8e: 60fb str r3, [r7, #12] + offset += deserializeAvrFloat64(inbuffer + offset, &(this->y)); + 8004c90: 68fb ldr r3, [r7, #12] + 8004c92: 683a ldr r2, [r7, #0] + 8004c94: 441a add r2, r3 + 8004c96: 687b ldr r3, [r7, #4] + 8004c98: 3308 adds r3, #8 + 8004c9a: 4619 mov r1, r3 + 8004c9c: 4610 mov r0, r2 + 8004c9e: f7ff fcbd bl 800461c <_ZN3ros3Msg21deserializeAvrFloat64EPKhPf> + 8004ca2: 4602 mov r2, r0 + 8004ca4: 68fb ldr r3, [r7, #12] + 8004ca6: 4413 add r3, r2 + 8004ca8: 60fb str r3, [r7, #12] + offset += deserializeAvrFloat64(inbuffer + offset, &(this->z)); + 8004caa: 68fb ldr r3, [r7, #12] + 8004cac: 683a ldr r2, [r7, #0] + 8004cae: 441a add r2, r3 + 8004cb0: 687b ldr r3, [r7, #4] + 8004cb2: 330c adds r3, #12 + 8004cb4: 4619 mov r1, r3 + 8004cb6: 4610 mov r0, r2 + 8004cb8: f7ff fcb0 bl 800461c <_ZN3ros3Msg21deserializeAvrFloat64EPKhPf> + 8004cbc: 4602 mov r2, r0 + 8004cbe: 68fb ldr r3, [r7, #12] + 8004cc0: 4413 add r3, r2 + 8004cc2: 60fb str r3, [r7, #12] + offset += deserializeAvrFloat64(inbuffer + offset, &(this->w)); + 8004cc4: 68fb ldr r3, [r7, #12] + 8004cc6: 683a ldr r2, [r7, #0] + 8004cc8: 441a add r2, r3 + 8004cca: 687b ldr r3, [r7, #4] + 8004ccc: 3310 adds r3, #16 + 8004cce: 4619 mov r1, r3 + 8004cd0: 4610 mov r0, r2 + 8004cd2: f7ff fca3 bl 800461c <_ZN3ros3Msg21deserializeAvrFloat64EPKhPf> + 8004cd6: 4602 mov r2, r0 + 8004cd8: 68fb ldr r3, [r7, #12] + 8004cda: 4413 add r3, r2 + 8004cdc: 60fb str r3, [r7, #12] + return offset; + 8004cde: 68fb ldr r3, [r7, #12] + } + 8004ce0: 4618 mov r0, r3 + 8004ce2: 3710 adds r7, #16 + 8004ce4: 46bd mov sp, r7 + 8004ce6: bd80 pop {r7, pc} + +08004ce8 <_ZN13geometry_msgs10Quaternion7getTypeEv>: + + const char * getType(){ return "geometry_msgs/Quaternion"; }; + 8004ce8: b480 push {r7} + 8004cea: b083 sub sp, #12 + 8004cec: af00 add r7, sp, #0 + 8004cee: 6078 str r0, [r7, #4] + 8004cf0: 4b03 ldr r3, [pc, #12] ; (8004d00 <_ZN13geometry_msgs10Quaternion7getTypeEv+0x18>) + 8004cf2: 4618 mov r0, r3 + 8004cf4: 370c adds r7, #12 + 8004cf6: 46bd mov sp, r7 + 8004cf8: f85d 7b04 ldr.w r7, [sp], #4 + 8004cfc: 4770 bx lr + 8004cfe: bf00 nop + 8004d00: 0800a130 .word 0x0800a130 + +08004d04 <_ZN13geometry_msgs10Quaternion6getMD5Ev>: + const char * getMD5(){ return "a779879fadf0160734f906b8c19c7004"; }; + 8004d04: b480 push {r7} + 8004d06: b083 sub sp, #12 + 8004d08: af00 add r7, sp, #0 + 8004d0a: 6078 str r0, [r7, #4] + 8004d0c: 4b03 ldr r3, [pc, #12] ; (8004d1c <_ZN13geometry_msgs10Quaternion6getMD5Ev+0x18>) + 8004d0e: 4618 mov r0, r3 + 8004d10: 370c adds r7, #12 + 8004d12: 46bd mov sp, r7 + 8004d14: f85d 7b04 ldr.w r7, [sp], #4 + 8004d18: 4770 bx lr + 8004d1a: bf00 nop + 8004d1c: 0800a14c .word 0x0800a14c + +08004d20 <_ZN13geometry_msgs4PoseC1Ev>: + typedef geometry_msgs::Point _position_type; + _position_type position; + typedef geometry_msgs::Quaternion _orientation_type; + _orientation_type orientation; + + Pose(): + 8004d20: b580 push {r7, lr} + 8004d22: b082 sub sp, #8 + 8004d24: af00 add r7, sp, #0 + 8004d26: 6078 str r0, [r7, #4] + position(), + orientation() + 8004d28: 687b ldr r3, [r7, #4] + 8004d2a: 4618 mov r0, r3 + 8004d2c: f7ff fce8 bl 8004700 <_ZN3ros3MsgC1Ev> + 8004d30: 4a08 ldr r2, [pc, #32] ; (8004d54 <_ZN13geometry_msgs4PoseC1Ev+0x34>) + 8004d32: 687b ldr r3, [r7, #4] + 8004d34: 601a str r2, [r3, #0] + 8004d36: 687b ldr r3, [r7, #4] + 8004d38: 3304 adds r3, #4 + 8004d3a: 4618 mov r0, r3 + 8004d3c: f7ff fe84 bl 8004a48 <_ZN13geometry_msgs5PointC1Ev> + 8004d40: 687b ldr r3, [r7, #4] + 8004d42: 3314 adds r3, #20 + 8004d44: 4618 mov r0, r3 + 8004d46: f7ff ff25 bl 8004b94 <_ZN13geometry_msgs10QuaternionC1Ev> + { + } + 8004d4a: 687b ldr r3, [r7, #4] + 8004d4c: 4618 mov r0, r3 + 8004d4e: 3708 adds r7, #8 + 8004d50: 46bd mov sp, r7 + 8004d52: bd80 pop {r7, pc} + 8004d54: 0800a558 .word 0x0800a558 + +08004d58 <_ZNK13geometry_msgs4Pose9serializeEPh>: + + virtual int serialize(unsigned char *outbuffer) const + 8004d58: b580 push {r7, lr} + 8004d5a: b084 sub sp, #16 + 8004d5c: af00 add r7, sp, #0 + 8004d5e: 6078 str r0, [r7, #4] + 8004d60: 6039 str r1, [r7, #0] + { + int offset = 0; + 8004d62: 2300 movs r3, #0 + 8004d64: 60fb str r3, [r7, #12] + offset += this->position.serialize(outbuffer + offset); + 8004d66: 687b ldr r3, [r7, #4] + 8004d68: 1d18 adds r0, r3, #4 + 8004d6a: 68fb ldr r3, [r7, #12] + 8004d6c: 683a ldr r2, [r7, #0] + 8004d6e: 4413 add r3, r2 + 8004d70: 4619 mov r1, r3 + 8004d72: f7ff fe87 bl 8004a84 <_ZNK13geometry_msgs5Point9serializeEPh> + 8004d76: 4602 mov r2, r0 + 8004d78: 68fb ldr r3, [r7, #12] + 8004d7a: 4413 add r3, r2 + 8004d7c: 60fb str r3, [r7, #12] + offset += this->orientation.serialize(outbuffer + offset); + 8004d7e: 687b ldr r3, [r7, #4] + 8004d80: f103 0014 add.w r0, r3, #20 + 8004d84: 68fb ldr r3, [r7, #12] + 8004d86: 683a ldr r2, [r7, #0] + 8004d88: 4413 add r3, r2 + 8004d8a: 4619 mov r1, r3 + 8004d8c: f7ff ff24 bl 8004bd8 <_ZNK13geometry_msgs10Quaternion9serializeEPh> + 8004d90: 4602 mov r2, r0 + 8004d92: 68fb ldr r3, [r7, #12] + 8004d94: 4413 add r3, r2 + 8004d96: 60fb str r3, [r7, #12] + return offset; + 8004d98: 68fb ldr r3, [r7, #12] + } + 8004d9a: 4618 mov r0, r3 + 8004d9c: 3710 adds r7, #16 + 8004d9e: 46bd mov sp, r7 + 8004da0: bd80 pop {r7, pc} + +08004da2 <_ZN13geometry_msgs4Pose11deserializeEPh>: + + virtual int deserialize(unsigned char *inbuffer) + 8004da2: b580 push {r7, lr} + 8004da4: b084 sub sp, #16 + 8004da6: af00 add r7, sp, #0 + 8004da8: 6078 str r0, [r7, #4] + 8004daa: 6039 str r1, [r7, #0] + { + int offset = 0; + 8004dac: 2300 movs r3, #0 + 8004dae: 60fb str r3, [r7, #12] + offset += this->position.deserialize(inbuffer + offset); + 8004db0: 687b ldr r3, [r7, #4] + 8004db2: 1d18 adds r0, r3, #4 + 8004db4: 68fb ldr r3, [r7, #12] + 8004db6: 683a ldr r2, [r7, #0] + 8004db8: 4413 add r3, r2 + 8004dba: 4619 mov r1, r3 + 8004dbc: f7ff fe9b bl 8004af6 <_ZN13geometry_msgs5Point11deserializeEPh> + 8004dc0: 4602 mov r2, r0 + 8004dc2: 68fb ldr r3, [r7, #12] + 8004dc4: 4413 add r3, r2 + 8004dc6: 60fb str r3, [r7, #12] + offset += this->orientation.deserialize(inbuffer + offset); + 8004dc8: 687b ldr r3, [r7, #4] + 8004dca: f103 0014 add.w r0, r3, #20 + 8004dce: 68fb ldr r3, [r7, #12] + 8004dd0: 683a ldr r2, [r7, #0] + 8004dd2: 4413 add r3, r2 + 8004dd4: 4619 mov r1, r3 + 8004dd6: f7ff ff47 bl 8004c68 <_ZN13geometry_msgs10Quaternion11deserializeEPh> + 8004dda: 4602 mov r2, r0 + 8004ddc: 68fb ldr r3, [r7, #12] + 8004dde: 4413 add r3, r2 + 8004de0: 60fb str r3, [r7, #12] + return offset; + 8004de2: 68fb ldr r3, [r7, #12] + } + 8004de4: 4618 mov r0, r3 + 8004de6: 3710 adds r7, #16 + 8004de8: 46bd mov sp, r7 + 8004dea: bd80 pop {r7, pc} + +08004dec <_ZN13geometry_msgs4Pose7getTypeEv>: + + const char * getType(){ return "geometry_msgs/Pose"; }; + 8004dec: b480 push {r7} + 8004dee: b083 sub sp, #12 + 8004df0: af00 add r7, sp, #0 + 8004df2: 6078 str r0, [r7, #4] + 8004df4: 4b03 ldr r3, [pc, #12] ; (8004e04 <_ZN13geometry_msgs4Pose7getTypeEv+0x18>) + 8004df6: 4618 mov r0, r3 + 8004df8: 370c adds r7, #12 + 8004dfa: 46bd mov sp, r7 + 8004dfc: f85d 7b04 ldr.w r7, [sp], #4 + 8004e00: 4770 bx lr + 8004e02: bf00 nop + 8004e04: 0800a170 .word 0x0800a170 + +08004e08 <_ZN13geometry_msgs4Pose6getMD5Ev>: + const char * getMD5(){ return "e45d45a5a1ce597b249e23fb30fc871f"; }; + 8004e08: b480 push {r7} + 8004e0a: b083 sub sp, #12 + 8004e0c: af00 add r7, sp, #0 + 8004e0e: 6078 str r0, [r7, #4] + 8004e10: 4b03 ldr r3, [pc, #12] ; (8004e20 <_ZN13geometry_msgs4Pose6getMD5Ev+0x18>) + 8004e12: 4618 mov r0, r3 + 8004e14: 370c adds r7, #12 + 8004e16: 46bd mov sp, r7 + 8004e18: f85d 7b04 ldr.w r7, [sp], #4 + 8004e1c: 4770 bx lr + 8004e1e: bf00 nop + 8004e20: 0800a184 .word 0x0800a184 + +08004e24 <_ZN13geometry_msgs18PoseWithCovarianceC1Ev>: + public: + typedef geometry_msgs::Pose _pose_type; + _pose_type pose; + float covariance[36]; + + PoseWithCovariance(): + 8004e24: b580 push {r7, lr} + 8004e26: b082 sub sp, #8 + 8004e28: af00 add r7, sp, #0 + 8004e2a: 6078 str r0, [r7, #4] + pose(), + covariance() + 8004e2c: 687b ldr r3, [r7, #4] + 8004e2e: 4618 mov r0, r3 + 8004e30: f7ff fc66 bl 8004700 <_ZN3ros3MsgC1Ev> + 8004e34: 4a0c ldr r2, [pc, #48] ; (8004e68 <_ZN13geometry_msgs18PoseWithCovarianceC1Ev+0x44>) + 8004e36: 687b ldr r3, [r7, #4] + 8004e38: 601a str r2, [r3, #0] + 8004e3a: 687b ldr r3, [r7, #4] + 8004e3c: 3304 adds r3, #4 + 8004e3e: 4618 mov r0, r3 + 8004e40: f7ff ff6e bl 8004d20 <_ZN13geometry_msgs4PoseC1Ev> + 8004e44: 687b ldr r3, [r7, #4] + 8004e46: f103 022c add.w r2, r3, #44 ; 0x2c + 8004e4a: 2323 movs r3, #35 ; 0x23 + 8004e4c: 2b00 cmp r3, #0 + 8004e4e: db05 blt.n 8004e5c <_ZN13geometry_msgs18PoseWithCovarianceC1Ev+0x38> + 8004e50: f04f 0100 mov.w r1, #0 + 8004e54: 6011 str r1, [r2, #0] + 8004e56: 3204 adds r2, #4 + 8004e58: 3b01 subs r3, #1 + 8004e5a: e7f7 b.n 8004e4c <_ZN13geometry_msgs18PoseWithCovarianceC1Ev+0x28> + { + } + 8004e5c: 687b ldr r3, [r7, #4] + 8004e5e: 4618 mov r0, r3 + 8004e60: 3708 adds r7, #8 + 8004e62: 46bd mov sp, r7 + 8004e64: bd80 pop {r7, pc} + 8004e66: bf00 nop + 8004e68: 0800a540 .word 0x0800a540 + +08004e6c <_ZNK13geometry_msgs18PoseWithCovariance9serializeEPh>: + + virtual int serialize(unsigned char *outbuffer) const + 8004e6c: b580 push {r7, lr} + 8004e6e: b084 sub sp, #16 + 8004e70: af00 add r7, sp, #0 + 8004e72: 6078 str r0, [r7, #4] + 8004e74: 6039 str r1, [r7, #0] + { + int offset = 0; + 8004e76: 2300 movs r3, #0 + 8004e78: 60fb str r3, [r7, #12] + offset += this->pose.serialize(outbuffer + offset); + 8004e7a: 687b ldr r3, [r7, #4] + 8004e7c: 1d18 adds r0, r3, #4 + 8004e7e: 68fb ldr r3, [r7, #12] + 8004e80: 683a ldr r2, [r7, #0] + 8004e82: 4413 add r3, r2 + 8004e84: 4619 mov r1, r3 + 8004e86: f7ff ff67 bl 8004d58 <_ZNK13geometry_msgs4Pose9serializeEPh> + 8004e8a: 4602 mov r2, r0 + 8004e8c: 68fb ldr r3, [r7, #12] + 8004e8e: 4413 add r3, r2 + 8004e90: 60fb str r3, [r7, #12] + for( uint32_t i = 0; i < 36; i++){ + 8004e92: 2300 movs r3, #0 + 8004e94: 60bb str r3, [r7, #8] + 8004e96: 68bb ldr r3, [r7, #8] + 8004e98: 2b23 cmp r3, #35 ; 0x23 + 8004e9a: d817 bhi.n 8004ecc <_ZNK13geometry_msgs18PoseWithCovariance9serializeEPh+0x60> + offset += serializeAvrFloat64(outbuffer + offset, this->covariance[i]); + 8004e9c: 68fb ldr r3, [r7, #12] + 8004e9e: 683a ldr r2, [r7, #0] + 8004ea0: 18d1 adds r1, r2, r3 + 8004ea2: 687a ldr r2, [r7, #4] + 8004ea4: 68bb ldr r3, [r7, #8] + 8004ea6: 330a adds r3, #10 + 8004ea8: 009b lsls r3, r3, #2 + 8004eaa: 4413 add r3, r2 + 8004eac: 3304 adds r3, #4 + 8004eae: edd3 7a00 vldr s15, [r3] + 8004eb2: eeb0 0a67 vmov.f32 s0, s15 + 8004eb6: 4608 mov r0, r1 + 8004eb8: f7ff fb44 bl 8004544 <_ZN3ros3Msg19serializeAvrFloat64EPhf> + 8004ebc: 4602 mov r2, r0 + 8004ebe: 68fb ldr r3, [r7, #12] + 8004ec0: 4413 add r3, r2 + 8004ec2: 60fb str r3, [r7, #12] + for( uint32_t i = 0; i < 36; i++){ + 8004ec4: 68bb ldr r3, [r7, #8] + 8004ec6: 3301 adds r3, #1 + 8004ec8: 60bb str r3, [r7, #8] + 8004eca: e7e4 b.n 8004e96 <_ZNK13geometry_msgs18PoseWithCovariance9serializeEPh+0x2a> + } + return offset; + 8004ecc: 68fb ldr r3, [r7, #12] + } + 8004ece: 4618 mov r0, r3 + 8004ed0: 3710 adds r7, #16 + 8004ed2: 46bd mov sp, r7 + 8004ed4: bd80 pop {r7, pc} + +08004ed6 <_ZN13geometry_msgs18PoseWithCovariance11deserializeEPh>: + + virtual int deserialize(unsigned char *inbuffer) + 8004ed6: b580 push {r7, lr} + 8004ed8: b084 sub sp, #16 + 8004eda: af00 add r7, sp, #0 + 8004edc: 6078 str r0, [r7, #4] + 8004ede: 6039 str r1, [r7, #0] + { + int offset = 0; + 8004ee0: 2300 movs r3, #0 + 8004ee2: 60fb str r3, [r7, #12] + offset += this->pose.deserialize(inbuffer + offset); + 8004ee4: 687b ldr r3, [r7, #4] + 8004ee6: 1d18 adds r0, r3, #4 + 8004ee8: 68fb ldr r3, [r7, #12] + 8004eea: 683a ldr r2, [r7, #0] + 8004eec: 4413 add r3, r2 + 8004eee: 4619 mov r1, r3 + 8004ef0: f7ff ff57 bl 8004da2 <_ZN13geometry_msgs4Pose11deserializeEPh> + 8004ef4: 4602 mov r2, r0 + 8004ef6: 68fb ldr r3, [r7, #12] + 8004ef8: 4413 add r3, r2 + 8004efa: 60fb str r3, [r7, #12] + for( uint32_t i = 0; i < 36; i++){ + 8004efc: 2300 movs r3, #0 + 8004efe: 60bb str r3, [r7, #8] + 8004f00: 68bb ldr r3, [r7, #8] + 8004f02: 2b23 cmp r3, #35 ; 0x23 + 8004f04: d813 bhi.n 8004f2e <_ZN13geometry_msgs18PoseWithCovariance11deserializeEPh+0x58> + offset += deserializeAvrFloat64(inbuffer + offset, &(this->covariance[i])); + 8004f06: 68fb ldr r3, [r7, #12] + 8004f08: 683a ldr r2, [r7, #0] + 8004f0a: 18d0 adds r0, r2, r3 + 8004f0c: 68bb ldr r3, [r7, #8] + 8004f0e: 330a adds r3, #10 + 8004f10: 009b lsls r3, r3, #2 + 8004f12: 687a ldr r2, [r7, #4] + 8004f14: 4413 add r3, r2 + 8004f16: 3304 adds r3, #4 + 8004f18: 4619 mov r1, r3 + 8004f1a: f7ff fb7f bl 800461c <_ZN3ros3Msg21deserializeAvrFloat64EPKhPf> + 8004f1e: 4602 mov r2, r0 + 8004f20: 68fb ldr r3, [r7, #12] + 8004f22: 4413 add r3, r2 + 8004f24: 60fb str r3, [r7, #12] + for( uint32_t i = 0; i < 36; i++){ + 8004f26: 68bb ldr r3, [r7, #8] + 8004f28: 3301 adds r3, #1 + 8004f2a: 60bb str r3, [r7, #8] + 8004f2c: e7e8 b.n 8004f00 <_ZN13geometry_msgs18PoseWithCovariance11deserializeEPh+0x2a> + } + return offset; + 8004f2e: 68fb ldr r3, [r7, #12] + } + 8004f30: 4618 mov r0, r3 + 8004f32: 3710 adds r7, #16 + 8004f34: 46bd mov sp, r7 + 8004f36: bd80 pop {r7, pc} + +08004f38 <_ZN13geometry_msgs18PoseWithCovariance7getTypeEv>: + + const char * getType(){ return "geometry_msgs/PoseWithCovariance"; }; + 8004f38: b480 push {r7} + 8004f3a: b083 sub sp, #12 + 8004f3c: af00 add r7, sp, #0 + 8004f3e: 6078 str r0, [r7, #4] + 8004f40: 4b03 ldr r3, [pc, #12] ; (8004f50 <_ZN13geometry_msgs18PoseWithCovariance7getTypeEv+0x18>) + 8004f42: 4618 mov r0, r3 + 8004f44: 370c adds r7, #12 + 8004f46: 46bd mov sp, r7 + 8004f48: f85d 7b04 ldr.w r7, [sp], #4 + 8004f4c: 4770 bx lr + 8004f4e: bf00 nop + 8004f50: 0800a1a8 .word 0x0800a1a8 + +08004f54 <_ZN13geometry_msgs18PoseWithCovariance6getMD5Ev>: + const char * getMD5(){ return "c23e848cf1b7533a8d7c259073a97e6f"; }; + 8004f54: b480 push {r7} + 8004f56: b083 sub sp, #12 + 8004f58: af00 add r7, sp, #0 + 8004f5a: 6078 str r0, [r7, #4] + 8004f5c: 4b03 ldr r3, [pc, #12] ; (8004f6c <_ZN13geometry_msgs18PoseWithCovariance6getMD5Ev+0x18>) + 8004f5e: 4618 mov r0, r3 + 8004f60: 370c adds r7, #12 + 8004f62: 46bd mov sp, r7 + 8004f64: f85d 7b04 ldr.w r7, [sp], #4 + 8004f68: 4770 bx lr + 8004f6a: bf00 nop + 8004f6c: 0800a1cc .word 0x0800a1cc + +08004f70 <_ZN13geometry_msgs7Vector3C1Ev>: + typedef float _y_type; + _y_type y; + typedef float _z_type; + _z_type z; + + Vector3(): + 8004f70: b580 push {r7, lr} + 8004f72: b082 sub sp, #8 + 8004f74: af00 add r7, sp, #0 + 8004f76: 6078 str r0, [r7, #4] + x(0), + y(0), + z(0) + 8004f78: 687b ldr r3, [r7, #4] + 8004f7a: 4618 mov r0, r3 + 8004f7c: f7ff fbc0 bl 8004700 <_ZN3ros3MsgC1Ev> + 8004f80: 4a09 ldr r2, [pc, #36] ; (8004fa8 <_ZN13geometry_msgs7Vector3C1Ev+0x38>) + 8004f82: 687b ldr r3, [r7, #4] + 8004f84: 601a str r2, [r3, #0] + 8004f86: 687b ldr r3, [r7, #4] + 8004f88: f04f 0200 mov.w r2, #0 + 8004f8c: 605a str r2, [r3, #4] + 8004f8e: 687b ldr r3, [r7, #4] + 8004f90: f04f 0200 mov.w r2, #0 + 8004f94: 609a str r2, [r3, #8] + 8004f96: 687b ldr r3, [r7, #4] + 8004f98: f04f 0200 mov.w r2, #0 + 8004f9c: 60da str r2, [r3, #12] + { + } + 8004f9e: 687b ldr r3, [r7, #4] + 8004fa0: 4618 mov r0, r3 + 8004fa2: 3708 adds r7, #8 + 8004fa4: 46bd mov sp, r7 + 8004fa6: bd80 pop {r7, pc} + 8004fa8: 0800a528 .word 0x0800a528 + +08004fac <_ZNK13geometry_msgs7Vector39serializeEPh>: + + virtual int serialize(unsigned char *outbuffer) const + 8004fac: b580 push {r7, lr} + 8004fae: b084 sub sp, #16 + 8004fb0: af00 add r7, sp, #0 + 8004fb2: 6078 str r0, [r7, #4] + 8004fb4: 6039 str r1, [r7, #0] + { + int offset = 0; + 8004fb6: 2300 movs r3, #0 + 8004fb8: 60fb str r3, [r7, #12] + offset += serializeAvrFloat64(outbuffer + offset, this->x); + 8004fba: 68fb ldr r3, [r7, #12] + 8004fbc: 683a ldr r2, [r7, #0] + 8004fbe: 441a add r2, r3 + 8004fc0: 687b ldr r3, [r7, #4] + 8004fc2: edd3 7a01 vldr s15, [r3, #4] + 8004fc6: eeb0 0a67 vmov.f32 s0, s15 + 8004fca: 4610 mov r0, r2 + 8004fcc: f7ff faba bl 8004544 <_ZN3ros3Msg19serializeAvrFloat64EPhf> + 8004fd0: 4602 mov r2, r0 + 8004fd2: 68fb ldr r3, [r7, #12] + 8004fd4: 4413 add r3, r2 + 8004fd6: 60fb str r3, [r7, #12] + offset += serializeAvrFloat64(outbuffer + offset, this->y); + 8004fd8: 68fb ldr r3, [r7, #12] + 8004fda: 683a ldr r2, [r7, #0] + 8004fdc: 441a add r2, r3 + 8004fde: 687b ldr r3, [r7, #4] + 8004fe0: edd3 7a02 vldr s15, [r3, #8] + 8004fe4: eeb0 0a67 vmov.f32 s0, s15 + 8004fe8: 4610 mov r0, r2 + 8004fea: f7ff faab bl 8004544 <_ZN3ros3Msg19serializeAvrFloat64EPhf> + 8004fee: 4602 mov r2, r0 + 8004ff0: 68fb ldr r3, [r7, #12] + 8004ff2: 4413 add r3, r2 + 8004ff4: 60fb str r3, [r7, #12] + offset += serializeAvrFloat64(outbuffer + offset, this->z); + 8004ff6: 68fb ldr r3, [r7, #12] + 8004ff8: 683a ldr r2, [r7, #0] + 8004ffa: 441a add r2, r3 + 8004ffc: 687b ldr r3, [r7, #4] + 8004ffe: edd3 7a03 vldr s15, [r3, #12] + 8005002: eeb0 0a67 vmov.f32 s0, s15 + 8005006: 4610 mov r0, r2 + 8005008: f7ff fa9c bl 8004544 <_ZN3ros3Msg19serializeAvrFloat64EPhf> + 800500c: 4602 mov r2, r0 + 800500e: 68fb ldr r3, [r7, #12] + 8005010: 4413 add r3, r2 + 8005012: 60fb str r3, [r7, #12] + return offset; + 8005014: 68fb ldr r3, [r7, #12] + } + 8005016: 4618 mov r0, r3 + 8005018: 3710 adds r7, #16 + 800501a: 46bd mov sp, r7 + 800501c: bd80 pop {r7, pc} + +0800501e <_ZN13geometry_msgs7Vector311deserializeEPh>: + + virtual int deserialize(unsigned char *inbuffer) + 800501e: b580 push {r7, lr} + 8005020: b084 sub sp, #16 + 8005022: af00 add r7, sp, #0 + 8005024: 6078 str r0, [r7, #4] + 8005026: 6039 str r1, [r7, #0] + { + int offset = 0; + 8005028: 2300 movs r3, #0 + 800502a: 60fb str r3, [r7, #12] + offset += deserializeAvrFloat64(inbuffer + offset, &(this->x)); + 800502c: 68fb ldr r3, [r7, #12] + 800502e: 683a ldr r2, [r7, #0] + 8005030: 441a add r2, r3 + 8005032: 687b ldr r3, [r7, #4] + 8005034: 3304 adds r3, #4 + 8005036: 4619 mov r1, r3 + 8005038: 4610 mov r0, r2 + 800503a: f7ff faef bl 800461c <_ZN3ros3Msg21deserializeAvrFloat64EPKhPf> + 800503e: 4602 mov r2, r0 + 8005040: 68fb ldr r3, [r7, #12] + 8005042: 4413 add r3, r2 + 8005044: 60fb str r3, [r7, #12] + offset += deserializeAvrFloat64(inbuffer + offset, &(this->y)); + 8005046: 68fb ldr r3, [r7, #12] + 8005048: 683a ldr r2, [r7, #0] + 800504a: 441a add r2, r3 + 800504c: 687b ldr r3, [r7, #4] + 800504e: 3308 adds r3, #8 + 8005050: 4619 mov r1, r3 + 8005052: 4610 mov r0, r2 + 8005054: f7ff fae2 bl 800461c <_ZN3ros3Msg21deserializeAvrFloat64EPKhPf> + 8005058: 4602 mov r2, r0 + 800505a: 68fb ldr r3, [r7, #12] + 800505c: 4413 add r3, r2 + 800505e: 60fb str r3, [r7, #12] + offset += deserializeAvrFloat64(inbuffer + offset, &(this->z)); + 8005060: 68fb ldr r3, [r7, #12] + 8005062: 683a ldr r2, [r7, #0] + 8005064: 441a add r2, r3 + 8005066: 687b ldr r3, [r7, #4] + 8005068: 330c adds r3, #12 + 800506a: 4619 mov r1, r3 + 800506c: 4610 mov r0, r2 + 800506e: f7ff fad5 bl 800461c <_ZN3ros3Msg21deserializeAvrFloat64EPKhPf> + 8005072: 4602 mov r2, r0 + 8005074: 68fb ldr r3, [r7, #12] + 8005076: 4413 add r3, r2 + 8005078: 60fb str r3, [r7, #12] + return offset; + 800507a: 68fb ldr r3, [r7, #12] + } + 800507c: 4618 mov r0, r3 + 800507e: 3710 adds r7, #16 + 8005080: 46bd mov sp, r7 + 8005082: bd80 pop {r7, pc} + +08005084 <_ZN13geometry_msgs7Vector37getTypeEv>: + + const char * getType(){ return "geometry_msgs/Vector3"; }; + 8005084: b480 push {r7} + 8005086: b083 sub sp, #12 + 8005088: af00 add r7, sp, #0 + 800508a: 6078 str r0, [r7, #4] + 800508c: 4b03 ldr r3, [pc, #12] ; (800509c <_ZN13geometry_msgs7Vector37getTypeEv+0x18>) + 800508e: 4618 mov r0, r3 + 8005090: 370c adds r7, #12 + 8005092: 46bd mov sp, r7 + 8005094: f85d 7b04 ldr.w r7, [sp], #4 + 8005098: 4770 bx lr + 800509a: bf00 nop + 800509c: 0800a1f0 .word 0x0800a1f0 + +080050a0 <_ZN13geometry_msgs7Vector36getMD5Ev>: + const char * getMD5(){ return "4a842b65f413084dc2b10fb484ea7f17"; }; + 80050a0: b480 push {r7} + 80050a2: b083 sub sp, #12 + 80050a4: af00 add r7, sp, #0 + 80050a6: 6078 str r0, [r7, #4] + 80050a8: 4b03 ldr r3, [pc, #12] ; (80050b8 <_ZN13geometry_msgs7Vector36getMD5Ev+0x18>) + 80050aa: 4618 mov r0, r3 + 80050ac: 370c adds r7, #12 + 80050ae: 46bd mov sp, r7 + 80050b0: f85d 7b04 ldr.w r7, [sp], #4 + 80050b4: 4770 bx lr + 80050b6: bf00 nop + 80050b8: 0800a10c .word 0x0800a10c + +080050bc <_ZN13geometry_msgs5TwistC1Ev>: + typedef geometry_msgs::Vector3 _linear_type; + _linear_type linear; + typedef geometry_msgs::Vector3 _angular_type; + _angular_type angular; + + Twist(): + 80050bc: b580 push {r7, lr} + 80050be: b082 sub sp, #8 + 80050c0: af00 add r7, sp, #0 + 80050c2: 6078 str r0, [r7, #4] + linear(), + angular() + 80050c4: 687b ldr r3, [r7, #4] + 80050c6: 4618 mov r0, r3 + 80050c8: f7ff fb1a bl 8004700 <_ZN3ros3MsgC1Ev> + 80050cc: 4a08 ldr r2, [pc, #32] ; (80050f0 <_ZN13geometry_msgs5TwistC1Ev+0x34>) + 80050ce: 687b ldr r3, [r7, #4] + 80050d0: 601a str r2, [r3, #0] + 80050d2: 687b ldr r3, [r7, #4] + 80050d4: 3304 adds r3, #4 + 80050d6: 4618 mov r0, r3 + 80050d8: f7ff ff4a bl 8004f70 <_ZN13geometry_msgs7Vector3C1Ev> + 80050dc: 687b ldr r3, [r7, #4] + 80050de: 3314 adds r3, #20 + 80050e0: 4618 mov r0, r3 + 80050e2: f7ff ff45 bl 8004f70 <_ZN13geometry_msgs7Vector3C1Ev> + { + } + 80050e6: 687b ldr r3, [r7, #4] + 80050e8: 4618 mov r0, r3 + 80050ea: 3708 adds r7, #8 + 80050ec: 46bd mov sp, r7 + 80050ee: bd80 pop {r7, pc} + 80050f0: 0800a510 .word 0x0800a510 + +080050f4 <_ZNK13geometry_msgs5Twist9serializeEPh>: + + virtual int serialize(unsigned char *outbuffer) const + 80050f4: b580 push {r7, lr} + 80050f6: b084 sub sp, #16 + 80050f8: af00 add r7, sp, #0 + 80050fa: 6078 str r0, [r7, #4] + 80050fc: 6039 str r1, [r7, #0] + { + int offset = 0; + 80050fe: 2300 movs r3, #0 + 8005100: 60fb str r3, [r7, #12] + offset += this->linear.serialize(outbuffer + offset); + 8005102: 687b ldr r3, [r7, #4] + 8005104: 1d18 adds r0, r3, #4 + 8005106: 68fb ldr r3, [r7, #12] + 8005108: 683a ldr r2, [r7, #0] + 800510a: 4413 add r3, r2 + 800510c: 4619 mov r1, r3 + 800510e: f7ff ff4d bl 8004fac <_ZNK13geometry_msgs7Vector39serializeEPh> + 8005112: 4602 mov r2, r0 + 8005114: 68fb ldr r3, [r7, #12] + 8005116: 4413 add r3, r2 + 8005118: 60fb str r3, [r7, #12] + offset += this->angular.serialize(outbuffer + offset); + 800511a: 687b ldr r3, [r7, #4] + 800511c: f103 0014 add.w r0, r3, #20 + 8005120: 68fb ldr r3, [r7, #12] + 8005122: 683a ldr r2, [r7, #0] + 8005124: 4413 add r3, r2 + 8005126: 4619 mov r1, r3 + 8005128: f7ff ff40 bl 8004fac <_ZNK13geometry_msgs7Vector39serializeEPh> + 800512c: 4602 mov r2, r0 + 800512e: 68fb ldr r3, [r7, #12] + 8005130: 4413 add r3, r2 + 8005132: 60fb str r3, [r7, #12] + return offset; + 8005134: 68fb ldr r3, [r7, #12] + } + 8005136: 4618 mov r0, r3 + 8005138: 3710 adds r7, #16 + 800513a: 46bd mov sp, r7 + 800513c: bd80 pop {r7, pc} + +0800513e <_ZN13geometry_msgs5Twist11deserializeEPh>: + + virtual int deserialize(unsigned char *inbuffer) + 800513e: b580 push {r7, lr} + 8005140: b084 sub sp, #16 + 8005142: af00 add r7, sp, #0 + 8005144: 6078 str r0, [r7, #4] + 8005146: 6039 str r1, [r7, #0] + { + int offset = 0; + 8005148: 2300 movs r3, #0 + 800514a: 60fb str r3, [r7, #12] + offset += this->linear.deserialize(inbuffer + offset); + 800514c: 687b ldr r3, [r7, #4] + 800514e: 1d18 adds r0, r3, #4 + 8005150: 68fb ldr r3, [r7, #12] + 8005152: 683a ldr r2, [r7, #0] + 8005154: 4413 add r3, r2 + 8005156: 4619 mov r1, r3 + 8005158: f7ff ff61 bl 800501e <_ZN13geometry_msgs7Vector311deserializeEPh> + 800515c: 4602 mov r2, r0 + 800515e: 68fb ldr r3, [r7, #12] + 8005160: 4413 add r3, r2 + 8005162: 60fb str r3, [r7, #12] + offset += this->angular.deserialize(inbuffer + offset); + 8005164: 687b ldr r3, [r7, #4] + 8005166: f103 0014 add.w r0, r3, #20 + 800516a: 68fb ldr r3, [r7, #12] + 800516c: 683a ldr r2, [r7, #0] + 800516e: 4413 add r3, r2 + 8005170: 4619 mov r1, r3 + 8005172: f7ff ff54 bl 800501e <_ZN13geometry_msgs7Vector311deserializeEPh> + 8005176: 4602 mov r2, r0 + 8005178: 68fb ldr r3, [r7, #12] + 800517a: 4413 add r3, r2 + 800517c: 60fb str r3, [r7, #12] + return offset; + 800517e: 68fb ldr r3, [r7, #12] + } + 8005180: 4618 mov r0, r3 + 8005182: 3710 adds r7, #16 + 8005184: 46bd mov sp, r7 + 8005186: bd80 pop {r7, pc} + +08005188 <_ZN13geometry_msgs5Twist7getTypeEv>: + + const char * getType(){ return "geometry_msgs/Twist"; }; + 8005188: b480 push {r7} + 800518a: b083 sub sp, #12 + 800518c: af00 add r7, sp, #0 + 800518e: 6078 str r0, [r7, #4] + 8005190: 4b03 ldr r3, [pc, #12] ; (80051a0 <_ZN13geometry_msgs5Twist7getTypeEv+0x18>) + 8005192: 4618 mov r0, r3 + 8005194: 370c adds r7, #12 + 8005196: 46bd mov sp, r7 + 8005198: f85d 7b04 ldr.w r7, [sp], #4 + 800519c: 4770 bx lr + 800519e: bf00 nop + 80051a0: 0800a208 .word 0x0800a208 + +080051a4 <_ZN13geometry_msgs5Twist6getMD5Ev>: + const char * getMD5(){ return "9f195f881246fdfa2798d1d3eebca84a"; }; + 80051a4: b480 push {r7} + 80051a6: b083 sub sp, #12 + 80051a8: af00 add r7, sp, #0 + 80051aa: 6078 str r0, [r7, #4] + 80051ac: 4b03 ldr r3, [pc, #12] ; (80051bc <_ZN13geometry_msgs5Twist6getMD5Ev+0x18>) + 80051ae: 4618 mov r0, r3 + 80051b0: 370c adds r7, #12 + 80051b2: 46bd mov sp, r7 + 80051b4: f85d 7b04 ldr.w r7, [sp], #4 + 80051b8: 4770 bx lr + 80051ba: bf00 nop + 80051bc: 0800a21c .word 0x0800a21c + +080051c0 <_ZN13geometry_msgs19TwistWithCovarianceC1Ev>: + public: + typedef geometry_msgs::Twist _twist_type; + _twist_type twist; + float covariance[36]; + + TwistWithCovariance(): + 80051c0: b580 push {r7, lr} + 80051c2: b082 sub sp, #8 + 80051c4: af00 add r7, sp, #0 + 80051c6: 6078 str r0, [r7, #4] + twist(), + covariance() + 80051c8: 687b ldr r3, [r7, #4] + 80051ca: 4618 mov r0, r3 + 80051cc: f7ff fa98 bl 8004700 <_ZN3ros3MsgC1Ev> + 80051d0: 4a0c ldr r2, [pc, #48] ; (8005204 <_ZN13geometry_msgs19TwistWithCovarianceC1Ev+0x44>) + 80051d2: 687b ldr r3, [r7, #4] + 80051d4: 601a str r2, [r3, #0] + 80051d6: 687b ldr r3, [r7, #4] + 80051d8: 3304 adds r3, #4 + 80051da: 4618 mov r0, r3 + 80051dc: f7ff ff6e bl 80050bc <_ZN13geometry_msgs5TwistC1Ev> + 80051e0: 687b ldr r3, [r7, #4] + 80051e2: f103 0228 add.w r2, r3, #40 ; 0x28 + 80051e6: 2323 movs r3, #35 ; 0x23 + 80051e8: 2b00 cmp r3, #0 + 80051ea: db05 blt.n 80051f8 <_ZN13geometry_msgs19TwistWithCovarianceC1Ev+0x38> + 80051ec: f04f 0100 mov.w r1, #0 + 80051f0: 6011 str r1, [r2, #0] + 80051f2: 3204 adds r2, #4 + 80051f4: 3b01 subs r3, #1 + 80051f6: e7f7 b.n 80051e8 <_ZN13geometry_msgs19TwistWithCovarianceC1Ev+0x28> + { + } + 80051f8: 687b ldr r3, [r7, #4] + 80051fa: 4618 mov r0, r3 + 80051fc: 3708 adds r7, #8 + 80051fe: 46bd mov sp, r7 + 8005200: bd80 pop {r7, pc} + 8005202: bf00 nop + 8005204: 0800a4f8 .word 0x0800a4f8 + +08005208 <_ZNK13geometry_msgs19TwistWithCovariance9serializeEPh>: + + virtual int serialize(unsigned char *outbuffer) const + 8005208: b580 push {r7, lr} + 800520a: b084 sub sp, #16 + 800520c: af00 add r7, sp, #0 + 800520e: 6078 str r0, [r7, #4] + 8005210: 6039 str r1, [r7, #0] + { + int offset = 0; + 8005212: 2300 movs r3, #0 + 8005214: 60fb str r3, [r7, #12] + offset += this->twist.serialize(outbuffer + offset); + 8005216: 687b ldr r3, [r7, #4] + 8005218: 1d18 adds r0, r3, #4 + 800521a: 68fb ldr r3, [r7, #12] + 800521c: 683a ldr r2, [r7, #0] + 800521e: 4413 add r3, r2 + 8005220: 4619 mov r1, r3 + 8005222: f7ff ff67 bl 80050f4 <_ZNK13geometry_msgs5Twist9serializeEPh> + 8005226: 4602 mov r2, r0 + 8005228: 68fb ldr r3, [r7, #12] + 800522a: 4413 add r3, r2 + 800522c: 60fb str r3, [r7, #12] + for( uint32_t i = 0; i < 36; i++){ + 800522e: 2300 movs r3, #0 + 8005230: 60bb str r3, [r7, #8] + 8005232: 68bb ldr r3, [r7, #8] + 8005234: 2b23 cmp r3, #35 ; 0x23 + 8005236: d816 bhi.n 8005266 <_ZNK13geometry_msgs19TwistWithCovariance9serializeEPh+0x5e> + offset += serializeAvrFloat64(outbuffer + offset, this->covariance[i]); + 8005238: 68fb ldr r3, [r7, #12] + 800523a: 683a ldr r2, [r7, #0] + 800523c: 18d1 adds r1, r2, r3 + 800523e: 687a ldr r2, [r7, #4] + 8005240: 68bb ldr r3, [r7, #8] + 8005242: 330a adds r3, #10 + 8005244: 009b lsls r3, r3, #2 + 8005246: 4413 add r3, r2 + 8005248: edd3 7a00 vldr s15, [r3] + 800524c: eeb0 0a67 vmov.f32 s0, s15 + 8005250: 4608 mov r0, r1 + 8005252: f7ff f977 bl 8004544 <_ZN3ros3Msg19serializeAvrFloat64EPhf> + 8005256: 4602 mov r2, r0 + 8005258: 68fb ldr r3, [r7, #12] + 800525a: 4413 add r3, r2 + 800525c: 60fb str r3, [r7, #12] + for( uint32_t i = 0; i < 36; i++){ + 800525e: 68bb ldr r3, [r7, #8] + 8005260: 3301 adds r3, #1 + 8005262: 60bb str r3, [r7, #8] + 8005264: e7e5 b.n 8005232 <_ZNK13geometry_msgs19TwistWithCovariance9serializeEPh+0x2a> + } + return offset; + 8005266: 68fb ldr r3, [r7, #12] + } + 8005268: 4618 mov r0, r3 + 800526a: 3710 adds r7, #16 + 800526c: 46bd mov sp, r7 + 800526e: bd80 pop {r7, pc} + +08005270 <_ZN13geometry_msgs19TwistWithCovariance11deserializeEPh>: + + virtual int deserialize(unsigned char *inbuffer) + 8005270: b580 push {r7, lr} + 8005272: b084 sub sp, #16 + 8005274: af00 add r7, sp, #0 + 8005276: 6078 str r0, [r7, #4] + 8005278: 6039 str r1, [r7, #0] + { + int offset = 0; + 800527a: 2300 movs r3, #0 + 800527c: 60fb str r3, [r7, #12] + offset += this->twist.deserialize(inbuffer + offset); + 800527e: 687b ldr r3, [r7, #4] + 8005280: 1d18 adds r0, r3, #4 + 8005282: 68fb ldr r3, [r7, #12] + 8005284: 683a ldr r2, [r7, #0] + 8005286: 4413 add r3, r2 + 8005288: 4619 mov r1, r3 + 800528a: f7ff ff58 bl 800513e <_ZN13geometry_msgs5Twist11deserializeEPh> + 800528e: 4602 mov r2, r0 + 8005290: 68fb ldr r3, [r7, #12] + 8005292: 4413 add r3, r2 + 8005294: 60fb str r3, [r7, #12] + for( uint32_t i = 0; i < 36; i++){ + 8005296: 2300 movs r3, #0 + 8005298: 60bb str r3, [r7, #8] + 800529a: 68bb ldr r3, [r7, #8] + 800529c: 2b23 cmp r3, #35 ; 0x23 + 800529e: d812 bhi.n 80052c6 <_ZN13geometry_msgs19TwistWithCovariance11deserializeEPh+0x56> + offset += deserializeAvrFloat64(inbuffer + offset, &(this->covariance[i])); + 80052a0: 68fb ldr r3, [r7, #12] + 80052a2: 683a ldr r2, [r7, #0] + 80052a4: 18d0 adds r0, r2, r3 + 80052a6: 68bb ldr r3, [r7, #8] + 80052a8: 330a adds r3, #10 + 80052aa: 009b lsls r3, r3, #2 + 80052ac: 687a ldr r2, [r7, #4] + 80052ae: 4413 add r3, r2 + 80052b0: 4619 mov r1, r3 + 80052b2: f7ff f9b3 bl 800461c <_ZN3ros3Msg21deserializeAvrFloat64EPKhPf> + 80052b6: 4602 mov r2, r0 + 80052b8: 68fb ldr r3, [r7, #12] + 80052ba: 4413 add r3, r2 + 80052bc: 60fb str r3, [r7, #12] + for( uint32_t i = 0; i < 36; i++){ + 80052be: 68bb ldr r3, [r7, #8] + 80052c0: 3301 adds r3, #1 + 80052c2: 60bb str r3, [r7, #8] + 80052c4: e7e9 b.n 800529a <_ZN13geometry_msgs19TwistWithCovariance11deserializeEPh+0x2a> + } + return offset; + 80052c6: 68fb ldr r3, [r7, #12] + } + 80052c8: 4618 mov r0, r3 + 80052ca: 3710 adds r7, #16 + 80052cc: 46bd mov sp, r7 + 80052ce: bd80 pop {r7, pc} + +080052d0 <_ZN13geometry_msgs19TwistWithCovariance7getTypeEv>: + + const char * getType(){ return "geometry_msgs/TwistWithCovariance"; }; + 80052d0: b480 push {r7} + 80052d2: b083 sub sp, #12 + 80052d4: af00 add r7, sp, #0 + 80052d6: 6078 str r0, [r7, #4] + 80052d8: 4b03 ldr r3, [pc, #12] ; (80052e8 <_ZN13geometry_msgs19TwistWithCovariance7getTypeEv+0x18>) + 80052da: 4618 mov r0, r3 + 80052dc: 370c adds r7, #12 + 80052de: 46bd mov sp, r7 + 80052e0: f85d 7b04 ldr.w r7, [sp], #4 + 80052e4: 4770 bx lr + 80052e6: bf00 nop + 80052e8: 0800a240 .word 0x0800a240 + +080052ec <_ZN13geometry_msgs19TwistWithCovariance6getMD5Ev>: + const char * getMD5(){ return "1fe8a28e6890a4cc3ae4c3ca5c7d82e6"; }; + 80052ec: b480 push {r7} + 80052ee: b083 sub sp, #12 + 80052f0: af00 add r7, sp, #0 + 80052f2: 6078 str r0, [r7, #4] + 80052f4: 4b03 ldr r3, [pc, #12] ; (8005304 <_ZN13geometry_msgs19TwistWithCovariance6getMD5Ev+0x18>) + 80052f6: 4618 mov r0, r3 + 80052f8: 370c adds r7, #12 + 80052fa: 46bd mov sp, r7 + 80052fc: f85d 7b04 ldr.w r7, [sp], #4 + 8005300: 4770 bx lr + 8005302: bf00 nop + 8005304: 0800a264 .word 0x0800a264 + +08005308 <_ZN8nav_msgs8OdometryC1Ev>: + typedef geometry_msgs::PoseWithCovariance _pose_type; + _pose_type pose; + typedef geometry_msgs::TwistWithCovariance _twist_type; + _twist_type twist; + + Odometry(): + 8005308: b580 push {r7, lr} + 800530a: b082 sub sp, #8 + 800530c: af00 add r7, sp, #0 + 800530e: 6078 str r0, [r7, #4] + header(), + child_frame_id(""), + pose(), + twist() + 8005310: 687b ldr r3, [r7, #4] + 8005312: 4618 mov r0, r3 + 8005314: f7ff f9f4 bl 8004700 <_ZN3ros3MsgC1Ev> + 8005318: 4a0c ldr r2, [pc, #48] ; (800534c <_ZN8nav_msgs8OdometryC1Ev+0x44>) + 800531a: 687b ldr r3, [r7, #4] + 800531c: 601a str r2, [r3, #0] + 800531e: 687b ldr r3, [r7, #4] + 8005320: 3304 adds r3, #4 + 8005322: 4618 mov r0, r3 + 8005324: f7ff f9fc bl 8004720 <_ZN8std_msgs6HeaderC1Ev> + 8005328: 687b ldr r3, [r7, #4] + 800532a: 4a09 ldr r2, [pc, #36] ; (8005350 <_ZN8nav_msgs8OdometryC1Ev+0x48>) + 800532c: 619a str r2, [r3, #24] + 800532e: 687b ldr r3, [r7, #4] + 8005330: 331c adds r3, #28 + 8005332: 4618 mov r0, r3 + 8005334: f7ff fd76 bl 8004e24 <_ZN13geometry_msgs18PoseWithCovarianceC1Ev> + 8005338: 687b ldr r3, [r7, #4] + 800533a: 33d8 adds r3, #216 ; 0xd8 + 800533c: 4618 mov r0, r3 + 800533e: f7ff ff3f bl 80051c0 <_ZN13geometry_msgs19TwistWithCovarianceC1Ev> + { + } + 8005342: 687b ldr r3, [r7, #4] + 8005344: 4618 mov r0, r3 + 8005346: 3708 adds r7, #8 + 8005348: 46bd mov sp, r7 + 800534a: bd80 pop {r7, pc} + 800534c: 0800a4e0 .word 0x0800a4e0 + 8005350: 0800a0c0 .word 0x0800a0c0 + +08005354 <_ZNK8nav_msgs8Odometry9serializeEPh>: + + virtual int serialize(unsigned char *outbuffer) const + 8005354: b580 push {r7, lr} + 8005356: b084 sub sp, #16 + 8005358: af00 add r7, sp, #0 + 800535a: 6078 str r0, [r7, #4] + 800535c: 6039 str r1, [r7, #0] + { + int offset = 0; + 800535e: 2300 movs r3, #0 + 8005360: 60fb str r3, [r7, #12] + offset += this->header.serialize(outbuffer + offset); + 8005362: 687b ldr r3, [r7, #4] + 8005364: 1d18 adds r0, r3, #4 + 8005366: 68fb ldr r3, [r7, #12] + 8005368: 683a ldr r2, [r7, #0] + 800536a: 4413 add r3, r2 + 800536c: 4619 mov r1, r3 + 800536e: f7ff f9f7 bl 8004760 <_ZNK8std_msgs6Header9serializeEPh> + 8005372: 4602 mov r2, r0 + 8005374: 68fb ldr r3, [r7, #12] + 8005376: 4413 add r3, r2 + 8005378: 60fb str r3, [r7, #12] + uint32_t length_child_frame_id = strlen(this->child_frame_id); + 800537a: 687b ldr r3, [r7, #4] + 800537c: 699b ldr r3, [r3, #24] + 800537e: 4618 mov r0, r3 + 8005380: f7fa ff5a bl 8000238 + 8005384: 60b8 str r0, [r7, #8] + varToArr(outbuffer + offset, length_child_frame_id); + 8005386: 68fb ldr r3, [r7, #12] + 8005388: 683a ldr r2, [r7, #0] + 800538a: 4413 add r3, r2 + 800538c: 68b9 ldr r1, [r7, #8] + 800538e: 4618 mov r0, r3 + 8005390: f001 fe5d bl 800704e <_ZN3ros3Msg8varToArrIPhmEEvT_T0_> + offset += 4; + 8005394: 68fb ldr r3, [r7, #12] + 8005396: 3304 adds r3, #4 + 8005398: 60fb str r3, [r7, #12] + memcpy(outbuffer + offset, this->child_frame_id, length_child_frame_id); + 800539a: 68fb ldr r3, [r7, #12] + 800539c: 683a ldr r2, [r7, #0] + 800539e: 18d0 adds r0, r2, r3 + 80053a0: 687b ldr r3, [r7, #4] + 80053a2: 699b ldr r3, [r3, #24] + 80053a4: 68ba ldr r2, [r7, #8] + 80053a6: 4619 mov r1, r3 + 80053a8: f004 fd36 bl 8009e18 + offset += length_child_frame_id; + 80053ac: 68fa ldr r2, [r7, #12] + 80053ae: 68bb ldr r3, [r7, #8] + 80053b0: 4413 add r3, r2 + 80053b2: 60fb str r3, [r7, #12] + offset += this->pose.serialize(outbuffer + offset); + 80053b4: 687b ldr r3, [r7, #4] + 80053b6: f103 001c add.w r0, r3, #28 + 80053ba: 68fb ldr r3, [r7, #12] + 80053bc: 683a ldr r2, [r7, #0] + 80053be: 4413 add r3, r2 + 80053c0: 4619 mov r1, r3 + 80053c2: f7ff fd53 bl 8004e6c <_ZNK13geometry_msgs18PoseWithCovariance9serializeEPh> + 80053c6: 4602 mov r2, r0 + 80053c8: 68fb ldr r3, [r7, #12] + 80053ca: 4413 add r3, r2 + 80053cc: 60fb str r3, [r7, #12] + offset += this->twist.serialize(outbuffer + offset); + 80053ce: 687b ldr r3, [r7, #4] + 80053d0: f103 00d8 add.w r0, r3, #216 ; 0xd8 + 80053d4: 68fb ldr r3, [r7, #12] + 80053d6: 683a ldr r2, [r7, #0] + 80053d8: 4413 add r3, r2 + 80053da: 4619 mov r1, r3 + 80053dc: f7ff ff14 bl 8005208 <_ZNK13geometry_msgs19TwistWithCovariance9serializeEPh> + 80053e0: 4602 mov r2, r0 + 80053e2: 68fb ldr r3, [r7, #12] + 80053e4: 4413 add r3, r2 + 80053e6: 60fb str r3, [r7, #12] + return offset; + 80053e8: 68fb ldr r3, [r7, #12] + } + 80053ea: 4618 mov r0, r3 + 80053ec: 3710 adds r7, #16 + 80053ee: 46bd mov sp, r7 + 80053f0: bd80 pop {r7, pc} + +080053f2 <_ZN8nav_msgs8Odometry11deserializeEPh>: + + virtual int deserialize(unsigned char *inbuffer) + 80053f2: b580 push {r7, lr} + 80053f4: b086 sub sp, #24 + 80053f6: af00 add r7, sp, #0 + 80053f8: 6078 str r0, [r7, #4] + 80053fa: 6039 str r1, [r7, #0] + { + int offset = 0; + 80053fc: 2300 movs r3, #0 + 80053fe: 613b str r3, [r7, #16] + offset += this->header.deserialize(inbuffer + offset); + 8005400: 687b ldr r3, [r7, #4] + 8005402: 1d18 adds r0, r3, #4 + 8005404: 693b ldr r3, [r7, #16] + 8005406: 683a ldr r2, [r7, #0] + 8005408: 4413 add r3, r2 + 800540a: 4619 mov r1, r3 + 800540c: f7ff fa40 bl 8004890 <_ZN8std_msgs6Header11deserializeEPh> + 8005410: 4602 mov r2, r0 + 8005412: 693b ldr r3, [r7, #16] + 8005414: 4413 add r3, r2 + 8005416: 613b str r3, [r7, #16] + uint32_t length_child_frame_id; + arrToVar(length_child_frame_id, (inbuffer + offset)); + 8005418: 693b ldr r3, [r7, #16] + 800541a: 683a ldr r2, [r7, #0] + 800541c: 441a add r2, r3 + 800541e: f107 030c add.w r3, r7, #12 + 8005422: 4611 mov r1, r2 + 8005424: 4618 mov r0, r3 + 8005426: f001 fe30 bl 800708a <_ZN3ros3Msg8arrToVarImPhEEvRT_T0_> + offset += 4; + 800542a: 693b ldr r3, [r7, #16] + 800542c: 3304 adds r3, #4 + 800542e: 613b str r3, [r7, #16] + for(unsigned int k= offset; k< offset+length_child_frame_id; ++k){ + 8005430: 693b ldr r3, [r7, #16] + 8005432: 617b str r3, [r7, #20] + 8005434: 693a ldr r2, [r7, #16] + 8005436: 68fb ldr r3, [r7, #12] + 8005438: 4413 add r3, r2 + 800543a: 697a ldr r2, [r7, #20] + 800543c: 429a cmp r2, r3 + 800543e: d20c bcs.n 800545a <_ZN8nav_msgs8Odometry11deserializeEPh+0x68> + inbuffer[k-1]=inbuffer[k]; + 8005440: 683a ldr r2, [r7, #0] + 8005442: 697b ldr r3, [r7, #20] + 8005444: 441a add r2, r3 + 8005446: 697b ldr r3, [r7, #20] + 8005448: 3b01 subs r3, #1 + 800544a: 6839 ldr r1, [r7, #0] + 800544c: 440b add r3, r1 + 800544e: 7812 ldrb r2, [r2, #0] + 8005450: 701a strb r2, [r3, #0] + for(unsigned int k= offset; k< offset+length_child_frame_id; ++k){ + 8005452: 697b ldr r3, [r7, #20] + 8005454: 3301 adds r3, #1 + 8005456: 617b str r3, [r7, #20] + 8005458: e7ec b.n 8005434 <_ZN8nav_msgs8Odometry11deserializeEPh+0x42> + } + inbuffer[offset+length_child_frame_id-1]=0; + 800545a: 693a ldr r2, [r7, #16] + 800545c: 68fb ldr r3, [r7, #12] + 800545e: 4413 add r3, r2 + 8005460: 3b01 subs r3, #1 + 8005462: 683a ldr r2, [r7, #0] + 8005464: 4413 add r3, r2 + 8005466: 2200 movs r2, #0 + 8005468: 701a strb r2, [r3, #0] + this->child_frame_id = (char *)(inbuffer + offset-1); + 800546a: 693b ldr r3, [r7, #16] + 800546c: 3b01 subs r3, #1 + 800546e: 683a ldr r2, [r7, #0] + 8005470: 441a add r2, r3 + 8005472: 687b ldr r3, [r7, #4] + 8005474: 619a str r2, [r3, #24] + offset += length_child_frame_id; + 8005476: 693a ldr r2, [r7, #16] + 8005478: 68fb ldr r3, [r7, #12] + 800547a: 4413 add r3, r2 + 800547c: 613b str r3, [r7, #16] + offset += this->pose.deserialize(inbuffer + offset); + 800547e: 687b ldr r3, [r7, #4] + 8005480: f103 001c add.w r0, r3, #28 + 8005484: 693b ldr r3, [r7, #16] + 8005486: 683a ldr r2, [r7, #0] + 8005488: 4413 add r3, r2 + 800548a: 4619 mov r1, r3 + 800548c: f7ff fd23 bl 8004ed6 <_ZN13geometry_msgs18PoseWithCovariance11deserializeEPh> + 8005490: 4602 mov r2, r0 + 8005492: 693b ldr r3, [r7, #16] + 8005494: 4413 add r3, r2 + 8005496: 613b str r3, [r7, #16] + offset += this->twist.deserialize(inbuffer + offset); + 8005498: 687b ldr r3, [r7, #4] + 800549a: f103 00d8 add.w r0, r3, #216 ; 0xd8 + 800549e: 693b ldr r3, [r7, #16] + 80054a0: 683a ldr r2, [r7, #0] + 80054a2: 4413 add r3, r2 + 80054a4: 4619 mov r1, r3 + 80054a6: f7ff fee3 bl 8005270 <_ZN13geometry_msgs19TwistWithCovariance11deserializeEPh> + 80054aa: 4602 mov r2, r0 + 80054ac: 693b ldr r3, [r7, #16] + 80054ae: 4413 add r3, r2 + 80054b0: 613b str r3, [r7, #16] + return offset; + 80054b2: 693b ldr r3, [r7, #16] + } + 80054b4: 4618 mov r0, r3 + 80054b6: 3718 adds r7, #24 + 80054b8: 46bd mov sp, r7 + 80054ba: bd80 pop {r7, pc} + +080054bc <_ZN8nav_msgs8Odometry7getTypeEv>: + + const char * getType(){ return "nav_msgs/Odometry"; }; + 80054bc: b480 push {r7} + 80054be: b083 sub sp, #12 + 80054c0: af00 add r7, sp, #0 + 80054c2: 6078 str r0, [r7, #4] + 80054c4: 4b03 ldr r3, [pc, #12] ; (80054d4 <_ZN8nav_msgs8Odometry7getTypeEv+0x18>) + 80054c6: 4618 mov r0, r3 + 80054c8: 370c adds r7, #12 + 80054ca: 46bd mov sp, r7 + 80054cc: f85d 7b04 ldr.w r7, [sp], #4 + 80054d0: 4770 bx lr + 80054d2: bf00 nop + 80054d4: 0800a288 .word 0x0800a288 + +080054d8 <_ZN8nav_msgs8Odometry6getMD5Ev>: + const char * getMD5(){ return "cd5e73d190d741a2f92e81eda573aca7"; }; + 80054d8: b480 push {r7} + 80054da: b083 sub sp, #12 + 80054dc: af00 add r7, sp, #0 + 80054de: 6078 str r0, [r7, #4] + 80054e0: 4b03 ldr r3, [pc, #12] ; (80054f0 <_ZN8nav_msgs8Odometry6getMD5Ev+0x18>) + 80054e2: 4618 mov r0, r3 + 80054e4: 370c adds r7, #12 + 80054e6: 46bd mov sp, r7 + 80054e8: f85d 7b04 ldr.w r7, [sp], #4 + 80054ec: 4770 bx lr + 80054ee: bf00 nop + 80054f0: 0800a29c .word 0x0800a29c + +080054f4 <_ZN12OdometryCalcC1E7EncoderS0_>: + odometry_.twist.twist.linear.x = 0; + + kBaseline = 0.35; //in meters + } + + OdometryCalc(Encoder left, Encoder right){ + 80054f4: b084 sub sp, #16 + 80054f6: b5b0 push {r4, r5, r7, lr} + 80054f8: b090 sub sp, #64 ; 0x40 + 80054fa: af00 add r7, sp, #0 + 80054fc: 6078 str r0, [r7, #4] + 80054fe: f107 0054 add.w r0, r7, #84 ; 0x54 + 8005502: e880 000e stmia.w r0, {r1, r2, r3} + 8005506: 687b ldr r3, [r7, #4] + 8005508: 4618 mov r0, r3 + 800550a: f7fe fffd bl 8004508 <_ZN7EncoderC1Ev> + 800550e: 687b ldr r3, [r7, #4] + 8005510: 331c adds r3, #28 + 8005512: 4618 mov r0, r3 + 8005514: f7fe fff8 bl 8004508 <_ZN7EncoderC1Ev> + 8005518: 687b ldr r3, [r7, #4] + 800551a: 333c adds r3, #60 ; 0x3c + 800551c: 4618 mov r0, r3 + 800551e: f7ff fef3 bl 8005308 <_ZN8nav_msgs8OdometryC1Ev> + Encoder left_encoder_ = left; + 8005522: f107 0424 add.w r4, r7, #36 ; 0x24 + 8005526: f107 0554 add.w r5, r7, #84 ; 0x54 + 800552a: cd0f ldmia r5!, {r0, r1, r2, r3} + 800552c: c40f stmia r4!, {r0, r1, r2, r3} + 800552e: e895 0007 ldmia.w r5, {r0, r1, r2} + 8005532: e884 0007 stmia.w r4, {r0, r1, r2} + Encoder right_encoder_ = right; + 8005536: f107 0408 add.w r4, r7, #8 + 800553a: f107 0570 add.w r5, r7, #112 ; 0x70 + 800553e: cd0f ldmia r5!, {r0, r1, r2, r3} + 8005540: c40f stmia r4!, {r0, r1, r2, r3} + 8005542: e895 0007 ldmia.w r5, {r0, r1, r2} + 8005546: e884 0007 stmia.w r4, {r0, r1, r2} + } + 800554a: 687b ldr r3, [r7, #4] + 800554c: 4618 mov r0, r3 + 800554e: 3740 adds r7, #64 ; 0x40 + 8005550: 46bd mov sp, r7 + 8005552: e8bd 40b0 ldmia.w sp!, {r4, r5, r7, lr} + 8005556: b004 add sp, #16 + 8005558: 4770 bx lr + ... + +0800555c <_ZN8std_msgs4TimeC1Ev>: + { + public: + typedef ros::Time _data_type; + _data_type data; + + Time(): + 800555c: b580 push {r7, lr} + 800555e: b082 sub sp, #8 + 8005560: af00 add r7, sp, #0 + 8005562: 6078 str r0, [r7, #4] + data() + 8005564: 687b ldr r3, [r7, #4] + 8005566: 4618 mov r0, r3 + 8005568: f7ff f8ca bl 8004700 <_ZN3ros3MsgC1Ev> + 800556c: 4a06 ldr r2, [pc, #24] ; (8005588 <_ZN8std_msgs4TimeC1Ev+0x2c>) + 800556e: 687b ldr r3, [r7, #4] + 8005570: 601a str r2, [r3, #0] + 8005572: 687b ldr r3, [r7, #4] + 8005574: 3304 adds r3, #4 + 8005576: 4618 mov r0, r3 + 8005578: f7ff f8b0 bl 80046dc <_ZN3ros4TimeC1Ev> + { + } + 800557c: 687b ldr r3, [r7, #4] + 800557e: 4618 mov r0, r3 + 8005580: 3708 adds r7, #8 + 8005582: 46bd mov sp, r7 + 8005584: bd80 pop {r7, pc} + 8005586: bf00 nop + 8005588: 0800a4c8 .word 0x0800a4c8 + +0800558c <_ZNK8std_msgs4Time9serializeEPh>: + + virtual int serialize(unsigned char *outbuffer) const + 800558c: b480 push {r7} + 800558e: b085 sub sp, #20 + 8005590: af00 add r7, sp, #0 + 8005592: 6078 str r0, [r7, #4] + 8005594: 6039 str r1, [r7, #0] + { + int offset = 0; + 8005596: 2300 movs r3, #0 + 8005598: 60fb str r3, [r7, #12] + *(outbuffer + offset + 0) = (this->data.sec >> (8 * 0)) & 0xFF; + 800559a: 687b ldr r3, [r7, #4] + 800559c: 6859 ldr r1, [r3, #4] + 800559e: 68fb ldr r3, [r7, #12] + 80055a0: 683a ldr r2, [r7, #0] + 80055a2: 4413 add r3, r2 + 80055a4: b2ca uxtb r2, r1 + 80055a6: 701a strb r2, [r3, #0] + *(outbuffer + offset + 1) = (this->data.sec >> (8 * 1)) & 0xFF; + 80055a8: 687b ldr r3, [r7, #4] + 80055aa: 685b ldr r3, [r3, #4] + 80055ac: 0a19 lsrs r1, r3, #8 + 80055ae: 68fb ldr r3, [r7, #12] + 80055b0: 3301 adds r3, #1 + 80055b2: 683a ldr r2, [r7, #0] + 80055b4: 4413 add r3, r2 + 80055b6: b2ca uxtb r2, r1 + 80055b8: 701a strb r2, [r3, #0] + *(outbuffer + offset + 2) = (this->data.sec >> (8 * 2)) & 0xFF; + 80055ba: 687b ldr r3, [r7, #4] + 80055bc: 685b ldr r3, [r3, #4] + 80055be: 0c19 lsrs r1, r3, #16 + 80055c0: 68fb ldr r3, [r7, #12] + 80055c2: 3302 adds r3, #2 + 80055c4: 683a ldr r2, [r7, #0] + 80055c6: 4413 add r3, r2 + 80055c8: b2ca uxtb r2, r1 + 80055ca: 701a strb r2, [r3, #0] + *(outbuffer + offset + 3) = (this->data.sec >> (8 * 3)) & 0xFF; + 80055cc: 687b ldr r3, [r7, #4] + 80055ce: 685b ldr r3, [r3, #4] + 80055d0: 0e19 lsrs r1, r3, #24 + 80055d2: 68fb ldr r3, [r7, #12] + 80055d4: 3303 adds r3, #3 + 80055d6: 683a ldr r2, [r7, #0] + 80055d8: 4413 add r3, r2 + 80055da: b2ca uxtb r2, r1 + 80055dc: 701a strb r2, [r3, #0] + offset += sizeof(this->data.sec); + 80055de: 68fb ldr r3, [r7, #12] + 80055e0: 3304 adds r3, #4 + 80055e2: 60fb str r3, [r7, #12] + *(outbuffer + offset + 0) = (this->data.nsec >> (8 * 0)) & 0xFF; + 80055e4: 687b ldr r3, [r7, #4] + 80055e6: 6899 ldr r1, [r3, #8] + 80055e8: 68fb ldr r3, [r7, #12] + 80055ea: 683a ldr r2, [r7, #0] + 80055ec: 4413 add r3, r2 + 80055ee: b2ca uxtb r2, r1 + 80055f0: 701a strb r2, [r3, #0] + *(outbuffer + offset + 1) = (this->data.nsec >> (8 * 1)) & 0xFF; + 80055f2: 687b ldr r3, [r7, #4] + 80055f4: 689b ldr r3, [r3, #8] + 80055f6: 0a19 lsrs r1, r3, #8 + 80055f8: 68fb ldr r3, [r7, #12] + 80055fa: 3301 adds r3, #1 + 80055fc: 683a ldr r2, [r7, #0] + 80055fe: 4413 add r3, r2 + 8005600: b2ca uxtb r2, r1 + 8005602: 701a strb r2, [r3, #0] + *(outbuffer + offset + 2) = (this->data.nsec >> (8 * 2)) & 0xFF; + 8005604: 687b ldr r3, [r7, #4] + 8005606: 689b ldr r3, [r3, #8] + 8005608: 0c19 lsrs r1, r3, #16 + 800560a: 68fb ldr r3, [r7, #12] + 800560c: 3302 adds r3, #2 + 800560e: 683a ldr r2, [r7, #0] + 8005610: 4413 add r3, r2 + 8005612: b2ca uxtb r2, r1 + 8005614: 701a strb r2, [r3, #0] + *(outbuffer + offset + 3) = (this->data.nsec >> (8 * 3)) & 0xFF; + 8005616: 687b ldr r3, [r7, #4] + 8005618: 689b ldr r3, [r3, #8] + 800561a: 0e19 lsrs r1, r3, #24 + 800561c: 68fb ldr r3, [r7, #12] + 800561e: 3303 adds r3, #3 + 8005620: 683a ldr r2, [r7, #0] + 8005622: 4413 add r3, r2 + 8005624: b2ca uxtb r2, r1 + 8005626: 701a strb r2, [r3, #0] + offset += sizeof(this->data.nsec); + 8005628: 68fb ldr r3, [r7, #12] + 800562a: 3304 adds r3, #4 + 800562c: 60fb str r3, [r7, #12] + return offset; + 800562e: 68fb ldr r3, [r7, #12] + } + 8005630: 4618 mov r0, r3 + 8005632: 3714 adds r7, #20 + 8005634: 46bd mov sp, r7 + 8005636: f85d 7b04 ldr.w r7, [sp], #4 + 800563a: 4770 bx lr + +0800563c <_ZN8std_msgs4Time11deserializeEPh>: + + virtual int deserialize(unsigned char *inbuffer) + 800563c: b480 push {r7} + 800563e: b085 sub sp, #20 + 8005640: af00 add r7, sp, #0 + 8005642: 6078 str r0, [r7, #4] + 8005644: 6039 str r1, [r7, #0] + { + int offset = 0; + 8005646: 2300 movs r3, #0 + 8005648: 60fb str r3, [r7, #12] + this->data.sec = ((uint32_t) (*(inbuffer + offset))); + 800564a: 68fb ldr r3, [r7, #12] + 800564c: 683a ldr r2, [r7, #0] + 800564e: 4413 add r3, r2 + 8005650: 781b ldrb r3, [r3, #0] + 8005652: 461a mov r2, r3 + 8005654: 687b ldr r3, [r7, #4] + 8005656: 605a str r2, [r3, #4] + this->data.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); + 8005658: 687b ldr r3, [r7, #4] + 800565a: 685a ldr r2, [r3, #4] + 800565c: 68fb ldr r3, [r7, #12] + 800565e: 3301 adds r3, #1 + 8005660: 6839 ldr r1, [r7, #0] + 8005662: 440b add r3, r1 + 8005664: 781b ldrb r3, [r3, #0] + 8005666: 021b lsls r3, r3, #8 + 8005668: 431a orrs r2, r3 + 800566a: 687b ldr r3, [r7, #4] + 800566c: 605a str r2, [r3, #4] + this->data.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); + 800566e: 687b ldr r3, [r7, #4] + 8005670: 685a ldr r2, [r3, #4] + 8005672: 68fb ldr r3, [r7, #12] + 8005674: 3302 adds r3, #2 + 8005676: 6839 ldr r1, [r7, #0] + 8005678: 440b add r3, r1 + 800567a: 781b ldrb r3, [r3, #0] + 800567c: 041b lsls r3, r3, #16 + 800567e: 431a orrs r2, r3 + 8005680: 687b ldr r3, [r7, #4] + 8005682: 605a str r2, [r3, #4] + this->data.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); + 8005684: 687b ldr r3, [r7, #4] + 8005686: 685a ldr r2, [r3, #4] + 8005688: 68fb ldr r3, [r7, #12] + 800568a: 3303 adds r3, #3 + 800568c: 6839 ldr r1, [r7, #0] + 800568e: 440b add r3, r1 + 8005690: 781b ldrb r3, [r3, #0] + 8005692: 061b lsls r3, r3, #24 + 8005694: 431a orrs r2, r3 + 8005696: 687b ldr r3, [r7, #4] + 8005698: 605a str r2, [r3, #4] + offset += sizeof(this->data.sec); + 800569a: 68fb ldr r3, [r7, #12] + 800569c: 3304 adds r3, #4 + 800569e: 60fb str r3, [r7, #12] + this->data.nsec = ((uint32_t) (*(inbuffer + offset))); + 80056a0: 68fb ldr r3, [r7, #12] + 80056a2: 683a ldr r2, [r7, #0] + 80056a4: 4413 add r3, r2 + 80056a6: 781b ldrb r3, [r3, #0] + 80056a8: 461a mov r2, r3 + 80056aa: 687b ldr r3, [r7, #4] + 80056ac: 609a str r2, [r3, #8] + this->data.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); + 80056ae: 687b ldr r3, [r7, #4] + 80056b0: 689a ldr r2, [r3, #8] + 80056b2: 68fb ldr r3, [r7, #12] + 80056b4: 3301 adds r3, #1 + 80056b6: 6839 ldr r1, [r7, #0] + 80056b8: 440b add r3, r1 + 80056ba: 781b ldrb r3, [r3, #0] + 80056bc: 021b lsls r3, r3, #8 + 80056be: 431a orrs r2, r3 + 80056c0: 687b ldr r3, [r7, #4] + 80056c2: 609a str r2, [r3, #8] + this->data.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); + 80056c4: 687b ldr r3, [r7, #4] + 80056c6: 689a ldr r2, [r3, #8] + 80056c8: 68fb ldr r3, [r7, #12] + 80056ca: 3302 adds r3, #2 + 80056cc: 6839 ldr r1, [r7, #0] + 80056ce: 440b add r3, r1 + 80056d0: 781b ldrb r3, [r3, #0] + 80056d2: 041b lsls r3, r3, #16 + 80056d4: 431a orrs r2, r3 + 80056d6: 687b ldr r3, [r7, #4] + 80056d8: 609a str r2, [r3, #8] + this->data.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); + 80056da: 687b ldr r3, [r7, #4] + 80056dc: 689a ldr r2, [r3, #8] + 80056de: 68fb ldr r3, [r7, #12] + 80056e0: 3303 adds r3, #3 + 80056e2: 6839 ldr r1, [r7, #0] + 80056e4: 440b add r3, r1 + 80056e6: 781b ldrb r3, [r3, #0] + 80056e8: 061b lsls r3, r3, #24 + 80056ea: 431a orrs r2, r3 + 80056ec: 687b ldr r3, [r7, #4] + 80056ee: 609a str r2, [r3, #8] + offset += sizeof(this->data.nsec); + 80056f0: 68fb ldr r3, [r7, #12] + 80056f2: 3304 adds r3, #4 + 80056f4: 60fb str r3, [r7, #12] + return offset; + 80056f6: 68fb ldr r3, [r7, #12] + } + 80056f8: 4618 mov r0, r3 + 80056fa: 3714 adds r7, #20 + 80056fc: 46bd mov sp, r7 + 80056fe: f85d 7b04 ldr.w r7, [sp], #4 + 8005702: 4770 bx lr + +08005704 <_ZN8std_msgs4Time7getTypeEv>: + + const char * getType(){ return "std_msgs/Time"; }; + 8005704: b480 push {r7} + 8005706: b083 sub sp, #12 + 8005708: af00 add r7, sp, #0 + 800570a: 6078 str r0, [r7, #4] + 800570c: 4b03 ldr r3, [pc, #12] ; (800571c <_ZN8std_msgs4Time7getTypeEv+0x18>) + 800570e: 4618 mov r0, r3 + 8005710: 370c adds r7, #12 + 8005712: 46bd mov sp, r7 + 8005714: f85d 7b04 ldr.w r7, [sp], #4 + 8005718: 4770 bx lr + 800571a: bf00 nop + 800571c: 0800a2c0 .word 0x0800a2c0 + +08005720 <_ZN8std_msgs4Time6getMD5Ev>: + const char * getMD5(){ return "cd7166c74c552c311fbcc2fe5a7bc289"; }; + 8005720: b480 push {r7} + 8005722: b083 sub sp, #12 + 8005724: af00 add r7, sp, #0 + 8005726: 6078 str r0, [r7, #4] + 8005728: 4b03 ldr r3, [pc, #12] ; (8005738 <_ZN8std_msgs4Time6getMD5Ev+0x18>) + 800572a: 4618 mov r0, r3 + 800572c: 370c adds r7, #12 + 800572e: 46bd mov sp, r7 + 8005730: f85d 7b04 ldr.w r7, [sp], #4 + 8005734: 4770 bx lr + 8005736: bf00 nop + 8005738: 0800a2d0 .word 0x0800a2d0 + +0800573c <_ZN14rosserial_msgs9TopicInfoC1Ev>: + enum { ID_PARAMETER_REQUEST = 6 }; + enum { ID_LOG = 7 }; + enum { ID_TIME = 10 }; + enum { ID_TX_STOP = 11 }; + + TopicInfo(): + 800573c: b580 push {r7, lr} + 800573e: b082 sub sp, #8 + 8005740: af00 add r7, sp, #0 + 8005742: 6078 str r0, [r7, #4] + topic_id(0), + topic_name(""), + message_type(""), + md5sum(""), + buffer_size(0) + 8005744: 687b ldr r3, [r7, #4] + 8005746: 4618 mov r0, r3 + 8005748: f7fe ffda bl 8004700 <_ZN3ros3MsgC1Ev> + 800574c: 4a0b ldr r2, [pc, #44] ; (800577c <_ZN14rosserial_msgs9TopicInfoC1Ev+0x40>) + 800574e: 687b ldr r3, [r7, #4] + 8005750: 601a str r2, [r3, #0] + 8005752: 687b ldr r3, [r7, #4] + 8005754: 2200 movs r2, #0 + 8005756: 809a strh r2, [r3, #4] + 8005758: 687b ldr r3, [r7, #4] + 800575a: 4a09 ldr r2, [pc, #36] ; (8005780 <_ZN14rosserial_msgs9TopicInfoC1Ev+0x44>) + 800575c: 609a str r2, [r3, #8] + 800575e: 687b ldr r3, [r7, #4] + 8005760: 4a07 ldr r2, [pc, #28] ; (8005780 <_ZN14rosserial_msgs9TopicInfoC1Ev+0x44>) + 8005762: 60da str r2, [r3, #12] + 8005764: 687b ldr r3, [r7, #4] + 8005766: 4a06 ldr r2, [pc, #24] ; (8005780 <_ZN14rosserial_msgs9TopicInfoC1Ev+0x44>) + 8005768: 611a str r2, [r3, #16] + 800576a: 687b ldr r3, [r7, #4] + 800576c: 2200 movs r2, #0 + 800576e: 615a str r2, [r3, #20] + { + } + 8005770: 687b ldr r3, [r7, #4] + 8005772: 4618 mov r0, r3 + 8005774: 3708 adds r7, #8 + 8005776: 46bd mov sp, r7 + 8005778: bd80 pop {r7, pc} + 800577a: bf00 nop + 800577c: 0800a4b0 .word 0x0800a4b0 + 8005780: 0800a0c0 .word 0x0800a0c0 + +08005784 <_ZNK14rosserial_msgs9TopicInfo9serializeEPh>: + + virtual int serialize(unsigned char *outbuffer) const + 8005784: b580 push {r7, lr} + 8005786: b088 sub sp, #32 + 8005788: af00 add r7, sp, #0 + 800578a: 6078 str r0, [r7, #4] + 800578c: 6039 str r1, [r7, #0] + { + int offset = 0; + 800578e: 2300 movs r3, #0 + 8005790: 61fb str r3, [r7, #28] + *(outbuffer + offset + 0) = (this->topic_id >> (8 * 0)) & 0xFF; + 8005792: 687b ldr r3, [r7, #4] + 8005794: 8899 ldrh r1, [r3, #4] + 8005796: 69fb ldr r3, [r7, #28] + 8005798: 683a ldr r2, [r7, #0] + 800579a: 4413 add r3, r2 + 800579c: b2ca uxtb r2, r1 + 800579e: 701a strb r2, [r3, #0] + *(outbuffer + offset + 1) = (this->topic_id >> (8 * 1)) & 0xFF; + 80057a0: 687b ldr r3, [r7, #4] + 80057a2: 889b ldrh r3, [r3, #4] + 80057a4: 0a1b lsrs r3, r3, #8 + 80057a6: b299 uxth r1, r3 + 80057a8: 69fb ldr r3, [r7, #28] + 80057aa: 3301 adds r3, #1 + 80057ac: 683a ldr r2, [r7, #0] + 80057ae: 4413 add r3, r2 + 80057b0: b2ca uxtb r2, r1 + 80057b2: 701a strb r2, [r3, #0] + offset += sizeof(this->topic_id); + 80057b4: 69fb ldr r3, [r7, #28] + 80057b6: 3302 adds r3, #2 + 80057b8: 61fb str r3, [r7, #28] + uint32_t length_topic_name = strlen(this->topic_name); + 80057ba: 687b ldr r3, [r7, #4] + 80057bc: 689b ldr r3, [r3, #8] + 80057be: 4618 mov r0, r3 + 80057c0: f7fa fd3a bl 8000238 + 80057c4: 61b8 str r0, [r7, #24] + varToArr(outbuffer + offset, length_topic_name); + 80057c6: 69fb ldr r3, [r7, #28] + 80057c8: 683a ldr r2, [r7, #0] + 80057ca: 4413 add r3, r2 + 80057cc: 69b9 ldr r1, [r7, #24] + 80057ce: 4618 mov r0, r3 + 80057d0: f001 fc3d bl 800704e <_ZN3ros3Msg8varToArrIPhmEEvT_T0_> + offset += 4; + 80057d4: 69fb ldr r3, [r7, #28] + 80057d6: 3304 adds r3, #4 + 80057d8: 61fb str r3, [r7, #28] + memcpy(outbuffer + offset, this->topic_name, length_topic_name); + 80057da: 69fb ldr r3, [r7, #28] + 80057dc: 683a ldr r2, [r7, #0] + 80057de: 18d0 adds r0, r2, r3 + 80057e0: 687b ldr r3, [r7, #4] + 80057e2: 689b ldr r3, [r3, #8] + 80057e4: 69ba ldr r2, [r7, #24] + 80057e6: 4619 mov r1, r3 + 80057e8: f004 fb16 bl 8009e18 + offset += length_topic_name; + 80057ec: 69fa ldr r2, [r7, #28] + 80057ee: 69bb ldr r3, [r7, #24] + 80057f0: 4413 add r3, r2 + 80057f2: 61fb str r3, [r7, #28] + uint32_t length_message_type = strlen(this->message_type); + 80057f4: 687b ldr r3, [r7, #4] + 80057f6: 68db ldr r3, [r3, #12] + 80057f8: 4618 mov r0, r3 + 80057fa: f7fa fd1d bl 8000238 + 80057fe: 6178 str r0, [r7, #20] + varToArr(outbuffer + offset, length_message_type); + 8005800: 69fb ldr r3, [r7, #28] + 8005802: 683a ldr r2, [r7, #0] + 8005804: 4413 add r3, r2 + 8005806: 6979 ldr r1, [r7, #20] + 8005808: 4618 mov r0, r3 + 800580a: f001 fc20 bl 800704e <_ZN3ros3Msg8varToArrIPhmEEvT_T0_> + offset += 4; + 800580e: 69fb ldr r3, [r7, #28] + 8005810: 3304 adds r3, #4 + 8005812: 61fb str r3, [r7, #28] + memcpy(outbuffer + offset, this->message_type, length_message_type); + 8005814: 69fb ldr r3, [r7, #28] + 8005816: 683a ldr r2, [r7, #0] + 8005818: 18d0 adds r0, r2, r3 + 800581a: 687b ldr r3, [r7, #4] + 800581c: 68db ldr r3, [r3, #12] + 800581e: 697a ldr r2, [r7, #20] + 8005820: 4619 mov r1, r3 + 8005822: f004 faf9 bl 8009e18 + offset += length_message_type; + 8005826: 69fa ldr r2, [r7, #28] + 8005828: 697b ldr r3, [r7, #20] + 800582a: 4413 add r3, r2 + 800582c: 61fb str r3, [r7, #28] + uint32_t length_md5sum = strlen(this->md5sum); + 800582e: 687b ldr r3, [r7, #4] + 8005830: 691b ldr r3, [r3, #16] + 8005832: 4618 mov r0, r3 + 8005834: f7fa fd00 bl 8000238 + 8005838: 6138 str r0, [r7, #16] + varToArr(outbuffer + offset, length_md5sum); + 800583a: 69fb ldr r3, [r7, #28] + 800583c: 683a ldr r2, [r7, #0] + 800583e: 4413 add r3, r2 + 8005840: 6939 ldr r1, [r7, #16] + 8005842: 4618 mov r0, r3 + 8005844: f001 fc03 bl 800704e <_ZN3ros3Msg8varToArrIPhmEEvT_T0_> + offset += 4; + 8005848: 69fb ldr r3, [r7, #28] + 800584a: 3304 adds r3, #4 + 800584c: 61fb str r3, [r7, #28] + memcpy(outbuffer + offset, this->md5sum, length_md5sum); + 800584e: 69fb ldr r3, [r7, #28] + 8005850: 683a ldr r2, [r7, #0] + 8005852: 18d0 adds r0, r2, r3 + 8005854: 687b ldr r3, [r7, #4] + 8005856: 691b ldr r3, [r3, #16] + 8005858: 693a ldr r2, [r7, #16] + 800585a: 4619 mov r1, r3 + 800585c: f004 fadc bl 8009e18 + offset += length_md5sum; + 8005860: 69fa ldr r2, [r7, #28] + 8005862: 693b ldr r3, [r7, #16] + 8005864: 4413 add r3, r2 + 8005866: 61fb str r3, [r7, #28] + union { + int32_t real; + uint32_t base; + } u_buffer_size; + u_buffer_size.real = this->buffer_size; + 8005868: 687b ldr r3, [r7, #4] + 800586a: 695b ldr r3, [r3, #20] + 800586c: 60fb str r3, [r7, #12] + *(outbuffer + offset + 0) = (u_buffer_size.base >> (8 * 0)) & 0xFF; + 800586e: 68f9 ldr r1, [r7, #12] + 8005870: 69fb ldr r3, [r7, #28] + 8005872: 683a ldr r2, [r7, #0] + 8005874: 4413 add r3, r2 + 8005876: b2ca uxtb r2, r1 + 8005878: 701a strb r2, [r3, #0] + *(outbuffer + offset + 1) = (u_buffer_size.base >> (8 * 1)) & 0xFF; + 800587a: 68fb ldr r3, [r7, #12] + 800587c: 0a19 lsrs r1, r3, #8 + 800587e: 69fb ldr r3, [r7, #28] + 8005880: 3301 adds r3, #1 + 8005882: 683a ldr r2, [r7, #0] + 8005884: 4413 add r3, r2 + 8005886: b2ca uxtb r2, r1 + 8005888: 701a strb r2, [r3, #0] + *(outbuffer + offset + 2) = (u_buffer_size.base >> (8 * 2)) & 0xFF; + 800588a: 68fb ldr r3, [r7, #12] + 800588c: 0c19 lsrs r1, r3, #16 + 800588e: 69fb ldr r3, [r7, #28] + 8005890: 3302 adds r3, #2 + 8005892: 683a ldr r2, [r7, #0] + 8005894: 4413 add r3, r2 + 8005896: b2ca uxtb r2, r1 + 8005898: 701a strb r2, [r3, #0] + *(outbuffer + offset + 3) = (u_buffer_size.base >> (8 * 3)) & 0xFF; + 800589a: 68fb ldr r3, [r7, #12] + 800589c: 0e19 lsrs r1, r3, #24 + 800589e: 69fb ldr r3, [r7, #28] + 80058a0: 3303 adds r3, #3 + 80058a2: 683a ldr r2, [r7, #0] + 80058a4: 4413 add r3, r2 + 80058a6: b2ca uxtb r2, r1 + 80058a8: 701a strb r2, [r3, #0] + offset += sizeof(this->buffer_size); + 80058aa: 69fb ldr r3, [r7, #28] + 80058ac: 3304 adds r3, #4 + 80058ae: 61fb str r3, [r7, #28] + return offset; + 80058b0: 69fb ldr r3, [r7, #28] + } + 80058b2: 4618 mov r0, r3 + 80058b4: 3720 adds r7, #32 + 80058b6: 46bd mov sp, r7 + 80058b8: bd80 pop {r7, pc} + +080058ba <_ZN14rosserial_msgs9TopicInfo11deserializeEPh>: + + virtual int deserialize(unsigned char *inbuffer) + 80058ba: b580 push {r7, lr} + 80058bc: b08a sub sp, #40 ; 0x28 + 80058be: af00 add r7, sp, #0 + 80058c0: 6078 str r0, [r7, #4] + 80058c2: 6039 str r1, [r7, #0] + { + int offset = 0; + 80058c4: 2300 movs r3, #0 + 80058c6: 61bb str r3, [r7, #24] + this->topic_id = ((uint16_t) (*(inbuffer + offset))); + 80058c8: 69bb ldr r3, [r7, #24] + 80058ca: 683a ldr r2, [r7, #0] + 80058cc: 4413 add r3, r2 + 80058ce: 781b ldrb r3, [r3, #0] + 80058d0: b29a uxth r2, r3 + 80058d2: 687b ldr r3, [r7, #4] + 80058d4: 809a strh r2, [r3, #4] + this->topic_id |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); + 80058d6: 687b ldr r3, [r7, #4] + 80058d8: 889b ldrh r3, [r3, #4] + 80058da: b21a sxth r2, r3 + 80058dc: 69bb ldr r3, [r7, #24] + 80058de: 3301 adds r3, #1 + 80058e0: 6839 ldr r1, [r7, #0] + 80058e2: 440b add r3, r1 + 80058e4: 781b ldrb r3, [r3, #0] + 80058e6: 021b lsls r3, r3, #8 + 80058e8: b21b sxth r3, r3 + 80058ea: 4313 orrs r3, r2 + 80058ec: b21b sxth r3, r3 + 80058ee: b29a uxth r2, r3 + 80058f0: 687b ldr r3, [r7, #4] + 80058f2: 809a strh r2, [r3, #4] + offset += sizeof(this->topic_id); + 80058f4: 69bb ldr r3, [r7, #24] + 80058f6: 3302 adds r3, #2 + 80058f8: 61bb str r3, [r7, #24] + uint32_t length_topic_name; + arrToVar(length_topic_name, (inbuffer + offset)); + 80058fa: 69bb ldr r3, [r7, #24] + 80058fc: 683a ldr r2, [r7, #0] + 80058fe: 441a add r2, r3 + 8005900: f107 0314 add.w r3, r7, #20 + 8005904: 4611 mov r1, r2 + 8005906: 4618 mov r0, r3 + 8005908: f001 fbbf bl 800708a <_ZN3ros3Msg8arrToVarImPhEEvRT_T0_> + offset += 4; + 800590c: 69bb ldr r3, [r7, #24] + 800590e: 3304 adds r3, #4 + 8005910: 61bb str r3, [r7, #24] + for(unsigned int k= offset; k< offset+length_topic_name; ++k){ + 8005912: 69bb ldr r3, [r7, #24] + 8005914: 627b str r3, [r7, #36] ; 0x24 + 8005916: 69ba ldr r2, [r7, #24] + 8005918: 697b ldr r3, [r7, #20] + 800591a: 4413 add r3, r2 + 800591c: 6a7a ldr r2, [r7, #36] ; 0x24 + 800591e: 429a cmp r2, r3 + 8005920: d20c bcs.n 800593c <_ZN14rosserial_msgs9TopicInfo11deserializeEPh+0x82> + inbuffer[k-1]=inbuffer[k]; + 8005922: 683a ldr r2, [r7, #0] + 8005924: 6a7b ldr r3, [r7, #36] ; 0x24 + 8005926: 441a add r2, r3 + 8005928: 6a7b ldr r3, [r7, #36] ; 0x24 + 800592a: 3b01 subs r3, #1 + 800592c: 6839 ldr r1, [r7, #0] + 800592e: 440b add r3, r1 + 8005930: 7812 ldrb r2, [r2, #0] + 8005932: 701a strb r2, [r3, #0] + for(unsigned int k= offset; k< offset+length_topic_name; ++k){ + 8005934: 6a7b ldr r3, [r7, #36] ; 0x24 + 8005936: 3301 adds r3, #1 + 8005938: 627b str r3, [r7, #36] ; 0x24 + 800593a: e7ec b.n 8005916 <_ZN14rosserial_msgs9TopicInfo11deserializeEPh+0x5c> + } + inbuffer[offset+length_topic_name-1]=0; + 800593c: 69ba ldr r2, [r7, #24] + 800593e: 697b ldr r3, [r7, #20] + 8005940: 4413 add r3, r2 + 8005942: 3b01 subs r3, #1 + 8005944: 683a ldr r2, [r7, #0] + 8005946: 4413 add r3, r2 + 8005948: 2200 movs r2, #0 + 800594a: 701a strb r2, [r3, #0] + this->topic_name = (char *)(inbuffer + offset-1); + 800594c: 69bb ldr r3, [r7, #24] + 800594e: 3b01 subs r3, #1 + 8005950: 683a ldr r2, [r7, #0] + 8005952: 441a add r2, r3 + 8005954: 687b ldr r3, [r7, #4] + 8005956: 609a str r2, [r3, #8] + offset += length_topic_name; + 8005958: 69ba ldr r2, [r7, #24] + 800595a: 697b ldr r3, [r7, #20] + 800595c: 4413 add r3, r2 + 800595e: 61bb str r3, [r7, #24] + uint32_t length_message_type; + arrToVar(length_message_type, (inbuffer + offset)); + 8005960: 69bb ldr r3, [r7, #24] + 8005962: 683a ldr r2, [r7, #0] + 8005964: 441a add r2, r3 + 8005966: f107 0310 add.w r3, r7, #16 + 800596a: 4611 mov r1, r2 + 800596c: 4618 mov r0, r3 + 800596e: f001 fb8c bl 800708a <_ZN3ros3Msg8arrToVarImPhEEvRT_T0_> + offset += 4; + 8005972: 69bb ldr r3, [r7, #24] + 8005974: 3304 adds r3, #4 + 8005976: 61bb str r3, [r7, #24] + for(unsigned int k= offset; k< offset+length_message_type; ++k){ + 8005978: 69bb ldr r3, [r7, #24] + 800597a: 623b str r3, [r7, #32] + 800597c: 69ba ldr r2, [r7, #24] + 800597e: 693b ldr r3, [r7, #16] + 8005980: 4413 add r3, r2 + 8005982: 6a3a ldr r2, [r7, #32] + 8005984: 429a cmp r2, r3 + 8005986: d20c bcs.n 80059a2 <_ZN14rosserial_msgs9TopicInfo11deserializeEPh+0xe8> + inbuffer[k-1]=inbuffer[k]; + 8005988: 683a ldr r2, [r7, #0] + 800598a: 6a3b ldr r3, [r7, #32] + 800598c: 441a add r2, r3 + 800598e: 6a3b ldr r3, [r7, #32] + 8005990: 3b01 subs r3, #1 + 8005992: 6839 ldr r1, [r7, #0] + 8005994: 440b add r3, r1 + 8005996: 7812 ldrb r2, [r2, #0] + 8005998: 701a strb r2, [r3, #0] + for(unsigned int k= offset; k< offset+length_message_type; ++k){ + 800599a: 6a3b ldr r3, [r7, #32] + 800599c: 3301 adds r3, #1 + 800599e: 623b str r3, [r7, #32] + 80059a0: e7ec b.n 800597c <_ZN14rosserial_msgs9TopicInfo11deserializeEPh+0xc2> + } + inbuffer[offset+length_message_type-1]=0; + 80059a2: 69ba ldr r2, [r7, #24] + 80059a4: 693b ldr r3, [r7, #16] + 80059a6: 4413 add r3, r2 + 80059a8: 3b01 subs r3, #1 + 80059aa: 683a ldr r2, [r7, #0] + 80059ac: 4413 add r3, r2 + 80059ae: 2200 movs r2, #0 + 80059b0: 701a strb r2, [r3, #0] + this->message_type = (char *)(inbuffer + offset-1); + 80059b2: 69bb ldr r3, [r7, #24] + 80059b4: 3b01 subs r3, #1 + 80059b6: 683a ldr r2, [r7, #0] + 80059b8: 441a add r2, r3 + 80059ba: 687b ldr r3, [r7, #4] + 80059bc: 60da str r2, [r3, #12] + offset += length_message_type; + 80059be: 69ba ldr r2, [r7, #24] + 80059c0: 693b ldr r3, [r7, #16] + 80059c2: 4413 add r3, r2 + 80059c4: 61bb str r3, [r7, #24] + uint32_t length_md5sum; + arrToVar(length_md5sum, (inbuffer + offset)); + 80059c6: 69bb ldr r3, [r7, #24] + 80059c8: 683a ldr r2, [r7, #0] + 80059ca: 441a add r2, r3 + 80059cc: f107 030c add.w r3, r7, #12 + 80059d0: 4611 mov r1, r2 + 80059d2: 4618 mov r0, r3 + 80059d4: f001 fb59 bl 800708a <_ZN3ros3Msg8arrToVarImPhEEvRT_T0_> + offset += 4; + 80059d8: 69bb ldr r3, [r7, #24] + 80059da: 3304 adds r3, #4 + 80059dc: 61bb str r3, [r7, #24] + for(unsigned int k= offset; k< offset+length_md5sum; ++k){ + 80059de: 69bb ldr r3, [r7, #24] + 80059e0: 61fb str r3, [r7, #28] + 80059e2: 69ba ldr r2, [r7, #24] + 80059e4: 68fb ldr r3, [r7, #12] + 80059e6: 4413 add r3, r2 + 80059e8: 69fa ldr r2, [r7, #28] + 80059ea: 429a cmp r2, r3 + 80059ec: d20c bcs.n 8005a08 <_ZN14rosserial_msgs9TopicInfo11deserializeEPh+0x14e> + inbuffer[k-1]=inbuffer[k]; + 80059ee: 683a ldr r2, [r7, #0] + 80059f0: 69fb ldr r3, [r7, #28] + 80059f2: 441a add r2, r3 + 80059f4: 69fb ldr r3, [r7, #28] + 80059f6: 3b01 subs r3, #1 + 80059f8: 6839 ldr r1, [r7, #0] + 80059fa: 440b add r3, r1 + 80059fc: 7812 ldrb r2, [r2, #0] + 80059fe: 701a strb r2, [r3, #0] + for(unsigned int k= offset; k< offset+length_md5sum; ++k){ + 8005a00: 69fb ldr r3, [r7, #28] + 8005a02: 3301 adds r3, #1 + 8005a04: 61fb str r3, [r7, #28] + 8005a06: e7ec b.n 80059e2 <_ZN14rosserial_msgs9TopicInfo11deserializeEPh+0x128> + } + inbuffer[offset+length_md5sum-1]=0; + 8005a08: 69ba ldr r2, [r7, #24] + 8005a0a: 68fb ldr r3, [r7, #12] + 8005a0c: 4413 add r3, r2 + 8005a0e: 3b01 subs r3, #1 + 8005a10: 683a ldr r2, [r7, #0] + 8005a12: 4413 add r3, r2 + 8005a14: 2200 movs r2, #0 + 8005a16: 701a strb r2, [r3, #0] + this->md5sum = (char *)(inbuffer + offset-1); + 8005a18: 69bb ldr r3, [r7, #24] + 8005a1a: 3b01 subs r3, #1 + 8005a1c: 683a ldr r2, [r7, #0] + 8005a1e: 441a add r2, r3 + 8005a20: 687b ldr r3, [r7, #4] + 8005a22: 611a str r2, [r3, #16] + offset += length_md5sum; + 8005a24: 69ba ldr r2, [r7, #24] + 8005a26: 68fb ldr r3, [r7, #12] + 8005a28: 4413 add r3, r2 + 8005a2a: 61bb str r3, [r7, #24] + union { + int32_t real; + uint32_t base; + } u_buffer_size; + u_buffer_size.base = 0; + 8005a2c: 2300 movs r3, #0 + 8005a2e: 60bb str r3, [r7, #8] + u_buffer_size.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); + 8005a30: 68bb ldr r3, [r7, #8] + 8005a32: 69ba ldr r2, [r7, #24] + 8005a34: 6839 ldr r1, [r7, #0] + 8005a36: 440a add r2, r1 + 8005a38: 7812 ldrb r2, [r2, #0] + 8005a3a: 4313 orrs r3, r2 + 8005a3c: 60bb str r3, [r7, #8] + u_buffer_size.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); + 8005a3e: 68ba ldr r2, [r7, #8] + 8005a40: 69bb ldr r3, [r7, #24] + 8005a42: 3301 adds r3, #1 + 8005a44: 6839 ldr r1, [r7, #0] + 8005a46: 440b add r3, r1 + 8005a48: 781b ldrb r3, [r3, #0] + 8005a4a: 021b lsls r3, r3, #8 + 8005a4c: 4313 orrs r3, r2 + 8005a4e: 60bb str r3, [r7, #8] + u_buffer_size.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); + 8005a50: 68ba ldr r2, [r7, #8] + 8005a52: 69bb ldr r3, [r7, #24] + 8005a54: 3302 adds r3, #2 + 8005a56: 6839 ldr r1, [r7, #0] + 8005a58: 440b add r3, r1 + 8005a5a: 781b ldrb r3, [r3, #0] + 8005a5c: 041b lsls r3, r3, #16 + 8005a5e: 4313 orrs r3, r2 + 8005a60: 60bb str r3, [r7, #8] + u_buffer_size.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); + 8005a62: 68ba ldr r2, [r7, #8] + 8005a64: 69bb ldr r3, [r7, #24] + 8005a66: 3303 adds r3, #3 + 8005a68: 6839 ldr r1, [r7, #0] + 8005a6a: 440b add r3, r1 + 8005a6c: 781b ldrb r3, [r3, #0] + 8005a6e: 061b lsls r3, r3, #24 + 8005a70: 4313 orrs r3, r2 + 8005a72: 60bb str r3, [r7, #8] + this->buffer_size = u_buffer_size.real; + 8005a74: 68ba ldr r2, [r7, #8] + 8005a76: 687b ldr r3, [r7, #4] + 8005a78: 615a str r2, [r3, #20] + offset += sizeof(this->buffer_size); + 8005a7a: 69bb ldr r3, [r7, #24] + 8005a7c: 3304 adds r3, #4 + 8005a7e: 61bb str r3, [r7, #24] + return offset; + 8005a80: 69bb ldr r3, [r7, #24] + } + 8005a82: 4618 mov r0, r3 + 8005a84: 3728 adds r7, #40 ; 0x28 + 8005a86: 46bd mov sp, r7 + 8005a88: bd80 pop {r7, pc} + ... + +08005a8c <_ZN14rosserial_msgs9TopicInfo7getTypeEv>: + + const char * getType(){ return "rosserial_msgs/TopicInfo"; }; + 8005a8c: b480 push {r7} + 8005a8e: b083 sub sp, #12 + 8005a90: af00 add r7, sp, #0 + 8005a92: 6078 str r0, [r7, #4] + 8005a94: 4b03 ldr r3, [pc, #12] ; (8005aa4 <_ZN14rosserial_msgs9TopicInfo7getTypeEv+0x18>) + 8005a96: 4618 mov r0, r3 + 8005a98: 370c adds r7, #12 + 8005a9a: 46bd mov sp, r7 + 8005a9c: f85d 7b04 ldr.w r7, [sp], #4 + 8005aa0: 4770 bx lr + 8005aa2: bf00 nop + 8005aa4: 0800a2f4 .word 0x0800a2f4 + +08005aa8 <_ZN14rosserial_msgs9TopicInfo6getMD5Ev>: + const char * getMD5(){ return "0ad51f88fc44892f8c10684077646005"; }; + 8005aa8: b480 push {r7} + 8005aaa: b083 sub sp, #12 + 8005aac: af00 add r7, sp, #0 + 8005aae: 6078 str r0, [r7, #4] + 8005ab0: 4b03 ldr r3, [pc, #12] ; (8005ac0 <_ZN14rosserial_msgs9TopicInfo6getMD5Ev+0x18>) + 8005ab2: 4618 mov r0, r3 + 8005ab4: 370c adds r7, #12 + 8005ab6: 46bd mov sp, r7 + 8005ab8: f85d 7b04 ldr.w r7, [sp], #4 + 8005abc: 4770 bx lr + 8005abe: bf00 nop + 8005ac0: 0800a310 .word 0x0800a310 + +08005ac4 <_ZN14rosserial_msgs3LogC1Ev>: + enum { INFO = 1 }; + enum { WARN = 2 }; + enum { ERROR = 3 }; + enum { FATAL = 4 }; + + Log(): + 8005ac4: b580 push {r7, lr} + 8005ac6: b082 sub sp, #8 + 8005ac8: af00 add r7, sp, #0 + 8005aca: 6078 str r0, [r7, #4] + level(0), + msg("") + 8005acc: 687b ldr r3, [r7, #4] + 8005ace: 4618 mov r0, r3 + 8005ad0: f7fe fe16 bl 8004700 <_ZN3ros3MsgC1Ev> + 8005ad4: 4a06 ldr r2, [pc, #24] ; (8005af0 <_ZN14rosserial_msgs3LogC1Ev+0x2c>) + 8005ad6: 687b ldr r3, [r7, #4] + 8005ad8: 601a str r2, [r3, #0] + 8005ada: 687b ldr r3, [r7, #4] + 8005adc: 2200 movs r2, #0 + 8005ade: 711a strb r2, [r3, #4] + 8005ae0: 687b ldr r3, [r7, #4] + 8005ae2: 4a04 ldr r2, [pc, #16] ; (8005af4 <_ZN14rosserial_msgs3LogC1Ev+0x30>) + 8005ae4: 609a str r2, [r3, #8] + { + } + 8005ae6: 687b ldr r3, [r7, #4] + 8005ae8: 4618 mov r0, r3 + 8005aea: 3708 adds r7, #8 + 8005aec: 46bd mov sp, r7 + 8005aee: bd80 pop {r7, pc} + 8005af0: 0800a498 .word 0x0800a498 + 8005af4: 0800a0c0 .word 0x0800a0c0 + +08005af8 <_ZNK14rosserial_msgs3Log9serializeEPh>: + + virtual int serialize(unsigned char *outbuffer) const + 8005af8: b580 push {r7, lr} + 8005afa: b084 sub sp, #16 + 8005afc: af00 add r7, sp, #0 + 8005afe: 6078 str r0, [r7, #4] + 8005b00: 6039 str r1, [r7, #0] + { + int offset = 0; + 8005b02: 2300 movs r3, #0 + 8005b04: 60fb str r3, [r7, #12] + *(outbuffer + offset + 0) = (this->level >> (8 * 0)) & 0xFF; + 8005b06: 68fb ldr r3, [r7, #12] + 8005b08: 683a ldr r2, [r7, #0] + 8005b0a: 4413 add r3, r2 + 8005b0c: 687a ldr r2, [r7, #4] + 8005b0e: 7912 ldrb r2, [r2, #4] + 8005b10: 701a strb r2, [r3, #0] + offset += sizeof(this->level); + 8005b12: 68fb ldr r3, [r7, #12] + 8005b14: 3301 adds r3, #1 + 8005b16: 60fb str r3, [r7, #12] + uint32_t length_msg = strlen(this->msg); + 8005b18: 687b ldr r3, [r7, #4] + 8005b1a: 689b ldr r3, [r3, #8] + 8005b1c: 4618 mov r0, r3 + 8005b1e: f7fa fb8b bl 8000238 + 8005b22: 60b8 str r0, [r7, #8] + varToArr(outbuffer + offset, length_msg); + 8005b24: 68fb ldr r3, [r7, #12] + 8005b26: 683a ldr r2, [r7, #0] + 8005b28: 4413 add r3, r2 + 8005b2a: 68b9 ldr r1, [r7, #8] + 8005b2c: 4618 mov r0, r3 + 8005b2e: f001 fa8e bl 800704e <_ZN3ros3Msg8varToArrIPhmEEvT_T0_> + offset += 4; + 8005b32: 68fb ldr r3, [r7, #12] + 8005b34: 3304 adds r3, #4 + 8005b36: 60fb str r3, [r7, #12] + memcpy(outbuffer + offset, this->msg, length_msg); + 8005b38: 68fb ldr r3, [r7, #12] + 8005b3a: 683a ldr r2, [r7, #0] + 8005b3c: 18d0 adds r0, r2, r3 + 8005b3e: 687b ldr r3, [r7, #4] + 8005b40: 689b ldr r3, [r3, #8] + 8005b42: 68ba ldr r2, [r7, #8] + 8005b44: 4619 mov r1, r3 + 8005b46: f004 f967 bl 8009e18 + offset += length_msg; + 8005b4a: 68fa ldr r2, [r7, #12] + 8005b4c: 68bb ldr r3, [r7, #8] + 8005b4e: 4413 add r3, r2 + 8005b50: 60fb str r3, [r7, #12] + return offset; + 8005b52: 68fb ldr r3, [r7, #12] + } + 8005b54: 4618 mov r0, r3 + 8005b56: 3710 adds r7, #16 + 8005b58: 46bd mov sp, r7 + 8005b5a: bd80 pop {r7, pc} + +08005b5c <_ZN14rosserial_msgs3Log11deserializeEPh>: + + virtual int deserialize(unsigned char *inbuffer) + 8005b5c: b580 push {r7, lr} + 8005b5e: b086 sub sp, #24 + 8005b60: af00 add r7, sp, #0 + 8005b62: 6078 str r0, [r7, #4] + 8005b64: 6039 str r1, [r7, #0] + { + int offset = 0; + 8005b66: 2300 movs r3, #0 + 8005b68: 613b str r3, [r7, #16] + this->level = ((uint8_t) (*(inbuffer + offset))); + 8005b6a: 693b ldr r3, [r7, #16] + 8005b6c: 683a ldr r2, [r7, #0] + 8005b6e: 4413 add r3, r2 + 8005b70: 781a ldrb r2, [r3, #0] + 8005b72: 687b ldr r3, [r7, #4] + 8005b74: 711a strb r2, [r3, #4] + offset += sizeof(this->level); + 8005b76: 693b ldr r3, [r7, #16] + 8005b78: 3301 adds r3, #1 + 8005b7a: 613b str r3, [r7, #16] + uint32_t length_msg; + arrToVar(length_msg, (inbuffer + offset)); + 8005b7c: 693b ldr r3, [r7, #16] + 8005b7e: 683a ldr r2, [r7, #0] + 8005b80: 441a add r2, r3 + 8005b82: f107 030c add.w r3, r7, #12 + 8005b86: 4611 mov r1, r2 + 8005b88: 4618 mov r0, r3 + 8005b8a: f001 fa7e bl 800708a <_ZN3ros3Msg8arrToVarImPhEEvRT_T0_> + offset += 4; + 8005b8e: 693b ldr r3, [r7, #16] + 8005b90: 3304 adds r3, #4 + 8005b92: 613b str r3, [r7, #16] + for(unsigned int k= offset; k< offset+length_msg; ++k){ + 8005b94: 693b ldr r3, [r7, #16] + 8005b96: 617b str r3, [r7, #20] + 8005b98: 693a ldr r2, [r7, #16] + 8005b9a: 68fb ldr r3, [r7, #12] + 8005b9c: 4413 add r3, r2 + 8005b9e: 697a ldr r2, [r7, #20] + 8005ba0: 429a cmp r2, r3 + 8005ba2: d20c bcs.n 8005bbe <_ZN14rosserial_msgs3Log11deserializeEPh+0x62> + inbuffer[k-1]=inbuffer[k]; + 8005ba4: 683a ldr r2, [r7, #0] + 8005ba6: 697b ldr r3, [r7, #20] + 8005ba8: 441a add r2, r3 + 8005baa: 697b ldr r3, [r7, #20] + 8005bac: 3b01 subs r3, #1 + 8005bae: 6839 ldr r1, [r7, #0] + 8005bb0: 440b add r3, r1 + 8005bb2: 7812 ldrb r2, [r2, #0] + 8005bb4: 701a strb r2, [r3, #0] + for(unsigned int k= offset; k< offset+length_msg; ++k){ + 8005bb6: 697b ldr r3, [r7, #20] + 8005bb8: 3301 adds r3, #1 + 8005bba: 617b str r3, [r7, #20] + 8005bbc: e7ec b.n 8005b98 <_ZN14rosserial_msgs3Log11deserializeEPh+0x3c> + } + inbuffer[offset+length_msg-1]=0; + 8005bbe: 693a ldr r2, [r7, #16] + 8005bc0: 68fb ldr r3, [r7, #12] + 8005bc2: 4413 add r3, r2 + 8005bc4: 3b01 subs r3, #1 + 8005bc6: 683a ldr r2, [r7, #0] + 8005bc8: 4413 add r3, r2 + 8005bca: 2200 movs r2, #0 + 8005bcc: 701a strb r2, [r3, #0] + this->msg = (char *)(inbuffer + offset-1); + 8005bce: 693b ldr r3, [r7, #16] + 8005bd0: 3b01 subs r3, #1 + 8005bd2: 683a ldr r2, [r7, #0] + 8005bd4: 441a add r2, r3 + 8005bd6: 687b ldr r3, [r7, #4] + 8005bd8: 609a str r2, [r3, #8] + offset += length_msg; + 8005bda: 693a ldr r2, [r7, #16] + 8005bdc: 68fb ldr r3, [r7, #12] + 8005bde: 4413 add r3, r2 + 8005be0: 613b str r3, [r7, #16] + return offset; + 8005be2: 693b ldr r3, [r7, #16] + } + 8005be4: 4618 mov r0, r3 + 8005be6: 3718 adds r7, #24 + 8005be8: 46bd mov sp, r7 + 8005bea: bd80 pop {r7, pc} + +08005bec <_ZN14rosserial_msgs3Log7getTypeEv>: + + const char * getType(){ return "rosserial_msgs/Log"; }; + 8005bec: b480 push {r7} + 8005bee: b083 sub sp, #12 + 8005bf0: af00 add r7, sp, #0 + 8005bf2: 6078 str r0, [r7, #4] + 8005bf4: 4b03 ldr r3, [pc, #12] ; (8005c04 <_ZN14rosserial_msgs3Log7getTypeEv+0x18>) + 8005bf6: 4618 mov r0, r3 + 8005bf8: 370c adds r7, #12 + 8005bfa: 46bd mov sp, r7 + 8005bfc: f85d 7b04 ldr.w r7, [sp], #4 + 8005c00: 4770 bx lr + 8005c02: bf00 nop + 8005c04: 0800a334 .word 0x0800a334 + +08005c08 <_ZN14rosserial_msgs3Log6getMD5Ev>: + const char * getMD5(){ return "11abd731c25933261cd6183bd12d6295"; }; + 8005c08: b480 push {r7} + 8005c0a: b083 sub sp, #12 + 8005c0c: af00 add r7, sp, #0 + 8005c0e: 6078 str r0, [r7, #4] + 8005c10: 4b03 ldr r3, [pc, #12] ; (8005c20 <_ZN14rosserial_msgs3Log6getMD5Ev+0x18>) + 8005c12: 4618 mov r0, r3 + 8005c14: 370c adds r7, #12 + 8005c16: 46bd mov sp, r7 + 8005c18: f85d 7b04 ldr.w r7, [sp], #4 + 8005c1c: 4770 bx lr + 8005c1e: bf00 nop + 8005c20: 0800a348 .word 0x0800a348 + +08005c24 <_ZN14rosserial_msgs20RequestParamResponseC1Ev>: + uint32_t strings_length; + typedef char* _strings_type; + _strings_type st_strings; + _strings_type * strings; + + RequestParamResponse(): + 8005c24: b580 push {r7, lr} + 8005c26: b082 sub sp, #8 + 8005c28: af00 add r7, sp, #0 + 8005c2a: 6078 str r0, [r7, #4] + ints_length(0), ints(NULL), + floats_length(0), floats(NULL), + strings_length(0), strings(NULL) + 8005c2c: 687b ldr r3, [r7, #4] + 8005c2e: 4618 mov r0, r3 + 8005c30: f7fe fd66 bl 8004700 <_ZN3ros3MsgC1Ev> + 8005c34: 4a0c ldr r2, [pc, #48] ; (8005c68 <_ZN14rosserial_msgs20RequestParamResponseC1Ev+0x44>) + 8005c36: 687b ldr r3, [r7, #4] + 8005c38: 601a str r2, [r3, #0] + 8005c3a: 687b ldr r3, [r7, #4] + 8005c3c: 2200 movs r2, #0 + 8005c3e: 605a str r2, [r3, #4] + 8005c40: 687b ldr r3, [r7, #4] + 8005c42: 2200 movs r2, #0 + 8005c44: 60da str r2, [r3, #12] + 8005c46: 687b ldr r3, [r7, #4] + 8005c48: 2200 movs r2, #0 + 8005c4a: 611a str r2, [r3, #16] + 8005c4c: 687b ldr r3, [r7, #4] + 8005c4e: 2200 movs r2, #0 + 8005c50: 619a str r2, [r3, #24] + 8005c52: 687b ldr r3, [r7, #4] + 8005c54: 2200 movs r2, #0 + 8005c56: 61da str r2, [r3, #28] + 8005c58: 687b ldr r3, [r7, #4] + 8005c5a: 2200 movs r2, #0 + 8005c5c: 625a str r2, [r3, #36] ; 0x24 + { + } + 8005c5e: 687b ldr r3, [r7, #4] + 8005c60: 4618 mov r0, r3 + 8005c62: 3708 adds r7, #8 + 8005c64: 46bd mov sp, r7 + 8005c66: bd80 pop {r7, pc} + 8005c68: 0800a480 .word 0x0800a480 + +08005c6c <_ZNK14rosserial_msgs20RequestParamResponse9serializeEPh>: + + virtual int serialize(unsigned char *outbuffer) const + 8005c6c: b580 push {r7, lr} + 8005c6e: b08a sub sp, #40 ; 0x28 + 8005c70: af00 add r7, sp, #0 + 8005c72: 6078 str r0, [r7, #4] + 8005c74: 6039 str r1, [r7, #0] + { + int offset = 0; + 8005c76: 2300 movs r3, #0 + 8005c78: 627b str r3, [r7, #36] ; 0x24 + *(outbuffer + offset + 0) = (this->ints_length >> (8 * 0)) & 0xFF; + 8005c7a: 687b ldr r3, [r7, #4] + 8005c7c: 6859 ldr r1, [r3, #4] + 8005c7e: 6a7b ldr r3, [r7, #36] ; 0x24 + 8005c80: 683a ldr r2, [r7, #0] + 8005c82: 4413 add r3, r2 + 8005c84: b2ca uxtb r2, r1 + 8005c86: 701a strb r2, [r3, #0] + *(outbuffer + offset + 1) = (this->ints_length >> (8 * 1)) & 0xFF; + 8005c88: 687b ldr r3, [r7, #4] + 8005c8a: 685b ldr r3, [r3, #4] + 8005c8c: 0a19 lsrs r1, r3, #8 + 8005c8e: 6a7b ldr r3, [r7, #36] ; 0x24 + 8005c90: 3301 adds r3, #1 + 8005c92: 683a ldr r2, [r7, #0] + 8005c94: 4413 add r3, r2 + 8005c96: b2ca uxtb r2, r1 + 8005c98: 701a strb r2, [r3, #0] + *(outbuffer + offset + 2) = (this->ints_length >> (8 * 2)) & 0xFF; + 8005c9a: 687b ldr r3, [r7, #4] + 8005c9c: 685b ldr r3, [r3, #4] + 8005c9e: 0c19 lsrs r1, r3, #16 + 8005ca0: 6a7b ldr r3, [r7, #36] ; 0x24 + 8005ca2: 3302 adds r3, #2 + 8005ca4: 683a ldr r2, [r7, #0] + 8005ca6: 4413 add r3, r2 + 8005ca8: b2ca uxtb r2, r1 + 8005caa: 701a strb r2, [r3, #0] + *(outbuffer + offset + 3) = (this->ints_length >> (8 * 3)) & 0xFF; + 8005cac: 687b ldr r3, [r7, #4] + 8005cae: 685b ldr r3, [r3, #4] + 8005cb0: 0e19 lsrs r1, r3, #24 + 8005cb2: 6a7b ldr r3, [r7, #36] ; 0x24 + 8005cb4: 3303 adds r3, #3 + 8005cb6: 683a ldr r2, [r7, #0] + 8005cb8: 4413 add r3, r2 + 8005cba: b2ca uxtb r2, r1 + 8005cbc: 701a strb r2, [r3, #0] + offset += sizeof(this->ints_length); + 8005cbe: 6a7b ldr r3, [r7, #36] ; 0x24 + 8005cc0: 3304 adds r3, #4 + 8005cc2: 627b str r3, [r7, #36] ; 0x24 + for( uint32_t i = 0; i < ints_length; i++){ + 8005cc4: 2300 movs r3, #0 + 8005cc6: 623b str r3, [r7, #32] + 8005cc8: 687b ldr r3, [r7, #4] + 8005cca: 685b ldr r3, [r3, #4] + 8005ccc: 6a3a ldr r2, [r7, #32] + 8005cce: 429a cmp r2, r3 + 8005cd0: d22b bcs.n 8005d2a <_ZNK14rosserial_msgs20RequestParamResponse9serializeEPh+0xbe> + union { + int32_t real; + uint32_t base; + } u_intsi; + u_intsi.real = this->ints[i]; + 8005cd2: 687b ldr r3, [r7, #4] + 8005cd4: 68da ldr r2, [r3, #12] + 8005cd6: 6a3b ldr r3, [r7, #32] + 8005cd8: 009b lsls r3, r3, #2 + 8005cda: 4413 add r3, r2 + 8005cdc: 681b ldr r3, [r3, #0] + 8005cde: 613b str r3, [r7, #16] + *(outbuffer + offset + 0) = (u_intsi.base >> (8 * 0)) & 0xFF; + 8005ce0: 6939 ldr r1, [r7, #16] + 8005ce2: 6a7b ldr r3, [r7, #36] ; 0x24 + 8005ce4: 683a ldr r2, [r7, #0] + 8005ce6: 4413 add r3, r2 + 8005ce8: b2ca uxtb r2, r1 + 8005cea: 701a strb r2, [r3, #0] + *(outbuffer + offset + 1) = (u_intsi.base >> (8 * 1)) & 0xFF; + 8005cec: 693b ldr r3, [r7, #16] + 8005cee: 0a19 lsrs r1, r3, #8 + 8005cf0: 6a7b ldr r3, [r7, #36] ; 0x24 + 8005cf2: 3301 adds r3, #1 + 8005cf4: 683a ldr r2, [r7, #0] + 8005cf6: 4413 add r3, r2 + 8005cf8: b2ca uxtb r2, r1 + 8005cfa: 701a strb r2, [r3, #0] + *(outbuffer + offset + 2) = (u_intsi.base >> (8 * 2)) & 0xFF; + 8005cfc: 693b ldr r3, [r7, #16] + 8005cfe: 0c19 lsrs r1, r3, #16 + 8005d00: 6a7b ldr r3, [r7, #36] ; 0x24 + 8005d02: 3302 adds r3, #2 + 8005d04: 683a ldr r2, [r7, #0] + 8005d06: 4413 add r3, r2 + 8005d08: b2ca uxtb r2, r1 + 8005d0a: 701a strb r2, [r3, #0] + *(outbuffer + offset + 3) = (u_intsi.base >> (8 * 3)) & 0xFF; + 8005d0c: 693b ldr r3, [r7, #16] + 8005d0e: 0e19 lsrs r1, r3, #24 + 8005d10: 6a7b ldr r3, [r7, #36] ; 0x24 + 8005d12: 3303 adds r3, #3 + 8005d14: 683a ldr r2, [r7, #0] + 8005d16: 4413 add r3, r2 + 8005d18: b2ca uxtb r2, r1 + 8005d1a: 701a strb r2, [r3, #0] + offset += sizeof(this->ints[i]); + 8005d1c: 6a7b ldr r3, [r7, #36] ; 0x24 + 8005d1e: 3304 adds r3, #4 + 8005d20: 627b str r3, [r7, #36] ; 0x24 + for( uint32_t i = 0; i < ints_length; i++){ + 8005d22: 6a3b ldr r3, [r7, #32] + 8005d24: 3301 adds r3, #1 + 8005d26: 623b str r3, [r7, #32] + 8005d28: e7ce b.n 8005cc8 <_ZNK14rosserial_msgs20RequestParamResponse9serializeEPh+0x5c> + } + *(outbuffer + offset + 0) = (this->floats_length >> (8 * 0)) & 0xFF; + 8005d2a: 687b ldr r3, [r7, #4] + 8005d2c: 6919 ldr r1, [r3, #16] + 8005d2e: 6a7b ldr r3, [r7, #36] ; 0x24 + 8005d30: 683a ldr r2, [r7, #0] + 8005d32: 4413 add r3, r2 + 8005d34: b2ca uxtb r2, r1 + 8005d36: 701a strb r2, [r3, #0] + *(outbuffer + offset + 1) = (this->floats_length >> (8 * 1)) & 0xFF; + 8005d38: 687b ldr r3, [r7, #4] + 8005d3a: 691b ldr r3, [r3, #16] + 8005d3c: 0a19 lsrs r1, r3, #8 + 8005d3e: 6a7b ldr r3, [r7, #36] ; 0x24 + 8005d40: 3301 adds r3, #1 + 8005d42: 683a ldr r2, [r7, #0] + 8005d44: 4413 add r3, r2 + 8005d46: b2ca uxtb r2, r1 + 8005d48: 701a strb r2, [r3, #0] + *(outbuffer + offset + 2) = (this->floats_length >> (8 * 2)) & 0xFF; + 8005d4a: 687b ldr r3, [r7, #4] + 8005d4c: 691b ldr r3, [r3, #16] + 8005d4e: 0c19 lsrs r1, r3, #16 + 8005d50: 6a7b ldr r3, [r7, #36] ; 0x24 + 8005d52: 3302 adds r3, #2 + 8005d54: 683a ldr r2, [r7, #0] + 8005d56: 4413 add r3, r2 + 8005d58: b2ca uxtb r2, r1 + 8005d5a: 701a strb r2, [r3, #0] + *(outbuffer + offset + 3) = (this->floats_length >> (8 * 3)) & 0xFF; + 8005d5c: 687b ldr r3, [r7, #4] + 8005d5e: 691b ldr r3, [r3, #16] + 8005d60: 0e19 lsrs r1, r3, #24 + 8005d62: 6a7b ldr r3, [r7, #36] ; 0x24 + 8005d64: 3303 adds r3, #3 + 8005d66: 683a ldr r2, [r7, #0] + 8005d68: 4413 add r3, r2 + 8005d6a: b2ca uxtb r2, r1 + 8005d6c: 701a strb r2, [r3, #0] + offset += sizeof(this->floats_length); + 8005d6e: 6a7b ldr r3, [r7, #36] ; 0x24 + 8005d70: 3304 adds r3, #4 + 8005d72: 627b str r3, [r7, #36] ; 0x24 + for( uint32_t i = 0; i < floats_length; i++){ + 8005d74: 2300 movs r3, #0 + 8005d76: 61fb str r3, [r7, #28] + 8005d78: 687b ldr r3, [r7, #4] + 8005d7a: 691b ldr r3, [r3, #16] + 8005d7c: 69fa ldr r2, [r7, #28] + 8005d7e: 429a cmp r2, r3 + 8005d80: d22b bcs.n 8005dda <_ZNK14rosserial_msgs20RequestParamResponse9serializeEPh+0x16e> + union { + float real; + uint32_t base; + } u_floatsi; + u_floatsi.real = this->floats[i]; + 8005d82: 687b ldr r3, [r7, #4] + 8005d84: 699a ldr r2, [r3, #24] + 8005d86: 69fb ldr r3, [r7, #28] + 8005d88: 009b lsls r3, r3, #2 + 8005d8a: 4413 add r3, r2 + 8005d8c: 681b ldr r3, [r3, #0] + 8005d8e: 60fb str r3, [r7, #12] + *(outbuffer + offset + 0) = (u_floatsi.base >> (8 * 0)) & 0xFF; + 8005d90: 68f9 ldr r1, [r7, #12] + 8005d92: 6a7b ldr r3, [r7, #36] ; 0x24 + 8005d94: 683a ldr r2, [r7, #0] + 8005d96: 4413 add r3, r2 + 8005d98: b2ca uxtb r2, r1 + 8005d9a: 701a strb r2, [r3, #0] + *(outbuffer + offset + 1) = (u_floatsi.base >> (8 * 1)) & 0xFF; + 8005d9c: 68fb ldr r3, [r7, #12] + 8005d9e: 0a19 lsrs r1, r3, #8 + 8005da0: 6a7b ldr r3, [r7, #36] ; 0x24 + 8005da2: 3301 adds r3, #1 + 8005da4: 683a ldr r2, [r7, #0] + 8005da6: 4413 add r3, r2 + 8005da8: b2ca uxtb r2, r1 + 8005daa: 701a strb r2, [r3, #0] + *(outbuffer + offset + 2) = (u_floatsi.base >> (8 * 2)) & 0xFF; + 8005dac: 68fb ldr r3, [r7, #12] + 8005dae: 0c19 lsrs r1, r3, #16 + 8005db0: 6a7b ldr r3, [r7, #36] ; 0x24 + 8005db2: 3302 adds r3, #2 + 8005db4: 683a ldr r2, [r7, #0] + 8005db6: 4413 add r3, r2 + 8005db8: b2ca uxtb r2, r1 + 8005dba: 701a strb r2, [r3, #0] + *(outbuffer + offset + 3) = (u_floatsi.base >> (8 * 3)) & 0xFF; + 8005dbc: 68fb ldr r3, [r7, #12] + 8005dbe: 0e19 lsrs r1, r3, #24 + 8005dc0: 6a7b ldr r3, [r7, #36] ; 0x24 + 8005dc2: 3303 adds r3, #3 + 8005dc4: 683a ldr r2, [r7, #0] + 8005dc6: 4413 add r3, r2 + 8005dc8: b2ca uxtb r2, r1 + 8005dca: 701a strb r2, [r3, #0] + offset += sizeof(this->floats[i]); + 8005dcc: 6a7b ldr r3, [r7, #36] ; 0x24 + 8005dce: 3304 adds r3, #4 + 8005dd0: 627b str r3, [r7, #36] ; 0x24 + for( uint32_t i = 0; i < floats_length; i++){ + 8005dd2: 69fb ldr r3, [r7, #28] + 8005dd4: 3301 adds r3, #1 + 8005dd6: 61fb str r3, [r7, #28] + 8005dd8: e7ce b.n 8005d78 <_ZNK14rosserial_msgs20RequestParamResponse9serializeEPh+0x10c> + } + *(outbuffer + offset + 0) = (this->strings_length >> (8 * 0)) & 0xFF; + 8005dda: 687b ldr r3, [r7, #4] + 8005ddc: 69d9 ldr r1, [r3, #28] + 8005dde: 6a7b ldr r3, [r7, #36] ; 0x24 + 8005de0: 683a ldr r2, [r7, #0] + 8005de2: 4413 add r3, r2 + 8005de4: b2ca uxtb r2, r1 + 8005de6: 701a strb r2, [r3, #0] + *(outbuffer + offset + 1) = (this->strings_length >> (8 * 1)) & 0xFF; + 8005de8: 687b ldr r3, [r7, #4] + 8005dea: 69db ldr r3, [r3, #28] + 8005dec: 0a19 lsrs r1, r3, #8 + 8005dee: 6a7b ldr r3, [r7, #36] ; 0x24 + 8005df0: 3301 adds r3, #1 + 8005df2: 683a ldr r2, [r7, #0] + 8005df4: 4413 add r3, r2 + 8005df6: b2ca uxtb r2, r1 + 8005df8: 701a strb r2, [r3, #0] + *(outbuffer + offset + 2) = (this->strings_length >> (8 * 2)) & 0xFF; + 8005dfa: 687b ldr r3, [r7, #4] + 8005dfc: 69db ldr r3, [r3, #28] + 8005dfe: 0c19 lsrs r1, r3, #16 + 8005e00: 6a7b ldr r3, [r7, #36] ; 0x24 + 8005e02: 3302 adds r3, #2 + 8005e04: 683a ldr r2, [r7, #0] + 8005e06: 4413 add r3, r2 + 8005e08: b2ca uxtb r2, r1 + 8005e0a: 701a strb r2, [r3, #0] + *(outbuffer + offset + 3) = (this->strings_length >> (8 * 3)) & 0xFF; + 8005e0c: 687b ldr r3, [r7, #4] + 8005e0e: 69db ldr r3, [r3, #28] + 8005e10: 0e19 lsrs r1, r3, #24 + 8005e12: 6a7b ldr r3, [r7, #36] ; 0x24 + 8005e14: 3303 adds r3, #3 + 8005e16: 683a ldr r2, [r7, #0] + 8005e18: 4413 add r3, r2 + 8005e1a: b2ca uxtb r2, r1 + 8005e1c: 701a strb r2, [r3, #0] + offset += sizeof(this->strings_length); + 8005e1e: 6a7b ldr r3, [r7, #36] ; 0x24 + 8005e20: 3304 adds r3, #4 + 8005e22: 627b str r3, [r7, #36] ; 0x24 + for( uint32_t i = 0; i < strings_length; i++){ + 8005e24: 2300 movs r3, #0 + 8005e26: 61bb str r3, [r7, #24] + 8005e28: 687b ldr r3, [r7, #4] + 8005e2a: 69db ldr r3, [r3, #28] + 8005e2c: 69ba ldr r2, [r7, #24] + 8005e2e: 429a cmp r2, r3 + 8005e30: d228 bcs.n 8005e84 <_ZNK14rosserial_msgs20RequestParamResponse9serializeEPh+0x218> + uint32_t length_stringsi = strlen(this->strings[i]); + 8005e32: 687b ldr r3, [r7, #4] + 8005e34: 6a5a ldr r2, [r3, #36] ; 0x24 + 8005e36: 69bb ldr r3, [r7, #24] + 8005e38: 009b lsls r3, r3, #2 + 8005e3a: 4413 add r3, r2 + 8005e3c: 681b ldr r3, [r3, #0] + 8005e3e: 4618 mov r0, r3 + 8005e40: f7fa f9fa bl 8000238 + 8005e44: 6178 str r0, [r7, #20] + varToArr(outbuffer + offset, length_stringsi); + 8005e46: 6a7b ldr r3, [r7, #36] ; 0x24 + 8005e48: 683a ldr r2, [r7, #0] + 8005e4a: 4413 add r3, r2 + 8005e4c: 6979 ldr r1, [r7, #20] + 8005e4e: 4618 mov r0, r3 + 8005e50: f001 f8fd bl 800704e <_ZN3ros3Msg8varToArrIPhmEEvT_T0_> + offset += 4; + 8005e54: 6a7b ldr r3, [r7, #36] ; 0x24 + 8005e56: 3304 adds r3, #4 + 8005e58: 627b str r3, [r7, #36] ; 0x24 + memcpy(outbuffer + offset, this->strings[i], length_stringsi); + 8005e5a: 6a7b ldr r3, [r7, #36] ; 0x24 + 8005e5c: 683a ldr r2, [r7, #0] + 8005e5e: 18d0 adds r0, r2, r3 + 8005e60: 687b ldr r3, [r7, #4] + 8005e62: 6a5a ldr r2, [r3, #36] ; 0x24 + 8005e64: 69bb ldr r3, [r7, #24] + 8005e66: 009b lsls r3, r3, #2 + 8005e68: 4413 add r3, r2 + 8005e6a: 681b ldr r3, [r3, #0] + 8005e6c: 697a ldr r2, [r7, #20] + 8005e6e: 4619 mov r1, r3 + 8005e70: f003 ffd2 bl 8009e18 + offset += length_stringsi; + 8005e74: 6a7a ldr r2, [r7, #36] ; 0x24 + 8005e76: 697b ldr r3, [r7, #20] + 8005e78: 4413 add r3, r2 + 8005e7a: 627b str r3, [r7, #36] ; 0x24 + for( uint32_t i = 0; i < strings_length; i++){ + 8005e7c: 69bb ldr r3, [r7, #24] + 8005e7e: 3301 adds r3, #1 + 8005e80: 61bb str r3, [r7, #24] + 8005e82: e7d1 b.n 8005e28 <_ZNK14rosserial_msgs20RequestParamResponse9serializeEPh+0x1bc> + } + return offset; + 8005e84: 6a7b ldr r3, [r7, #36] ; 0x24 + } + 8005e86: 4618 mov r0, r3 + 8005e88: 3728 adds r7, #40 ; 0x28 + 8005e8a: 46bd mov sp, r7 + 8005e8c: bd80 pop {r7, pc} + +08005e8e <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh>: + + virtual int deserialize(unsigned char *inbuffer) + 8005e8e: b580 push {r7, lr} + 8005e90: b08e sub sp, #56 ; 0x38 + 8005e92: af00 add r7, sp, #0 + 8005e94: 6078 str r0, [r7, #4] + 8005e96: 6039 str r1, [r7, #0] + { + int offset = 0; + 8005e98: 2300 movs r3, #0 + 8005e9a: 637b str r3, [r7, #52] ; 0x34 + uint32_t ints_lengthT = ((uint32_t) (*(inbuffer + offset))); + 8005e9c: 6b7b ldr r3, [r7, #52] ; 0x34 + 8005e9e: 683a ldr r2, [r7, #0] + 8005ea0: 4413 add r3, r2 + 8005ea2: 781b ldrb r3, [r3, #0] + 8005ea4: 623b str r3, [r7, #32] + ints_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); + 8005ea6: 6b7b ldr r3, [r7, #52] ; 0x34 + 8005ea8: 3301 adds r3, #1 + 8005eaa: 683a ldr r2, [r7, #0] + 8005eac: 4413 add r3, r2 + 8005eae: 781b ldrb r3, [r3, #0] + 8005eb0: 021b lsls r3, r3, #8 + 8005eb2: 6a3a ldr r2, [r7, #32] + 8005eb4: 4313 orrs r3, r2 + 8005eb6: 623b str r3, [r7, #32] + ints_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); + 8005eb8: 6b7b ldr r3, [r7, #52] ; 0x34 + 8005eba: 3302 adds r3, #2 + 8005ebc: 683a ldr r2, [r7, #0] + 8005ebe: 4413 add r3, r2 + 8005ec0: 781b ldrb r3, [r3, #0] + 8005ec2: 041b lsls r3, r3, #16 + 8005ec4: 6a3a ldr r2, [r7, #32] + 8005ec6: 4313 orrs r3, r2 + 8005ec8: 623b str r3, [r7, #32] + ints_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); + 8005eca: 6b7b ldr r3, [r7, #52] ; 0x34 + 8005ecc: 3303 adds r3, #3 + 8005ece: 683a ldr r2, [r7, #0] + 8005ed0: 4413 add r3, r2 + 8005ed2: 781b ldrb r3, [r3, #0] + 8005ed4: 061b lsls r3, r3, #24 + 8005ed6: 6a3a ldr r2, [r7, #32] + 8005ed8: 4313 orrs r3, r2 + 8005eda: 623b str r3, [r7, #32] + offset += sizeof(this->ints_length); + 8005edc: 6b7b ldr r3, [r7, #52] ; 0x34 + 8005ede: 3304 adds r3, #4 + 8005ee0: 637b str r3, [r7, #52] ; 0x34 + if(ints_lengthT > ints_length) + 8005ee2: 687b ldr r3, [r7, #4] + 8005ee4: 685b ldr r3, [r3, #4] + 8005ee6: 6a3a ldr r2, [r7, #32] + 8005ee8: 429a cmp r2, r3 + 8005eea: d90a bls.n 8005f02 <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh+0x74> + this->ints = (int32_t*)realloc(this->ints, ints_lengthT * sizeof(int32_t)); + 8005eec: 687b ldr r3, [r7, #4] + 8005eee: 68da ldr r2, [r3, #12] + 8005ef0: 6a3b ldr r3, [r7, #32] + 8005ef2: 009b lsls r3, r3, #2 + 8005ef4: 4619 mov r1, r3 + 8005ef6: 4610 mov r0, r2 + 8005ef8: f003 ffa2 bl 8009e40 + 8005efc: 4602 mov r2, r0 + 8005efe: 687b ldr r3, [r7, #4] + 8005f00: 60da str r2, [r3, #12] + ints_length = ints_lengthT; + 8005f02: 687b ldr r3, [r7, #4] + 8005f04: 6a3a ldr r2, [r7, #32] + 8005f06: 605a str r2, [r3, #4] + for( uint32_t i = 0; i < ints_length; i++){ + 8005f08: 2300 movs r3, #0 + 8005f0a: 633b str r3, [r7, #48] ; 0x30 + 8005f0c: 687b ldr r3, [r7, #4] + 8005f0e: 685b ldr r3, [r3, #4] + 8005f10: 6b3a ldr r2, [r7, #48] ; 0x30 + 8005f12: 429a cmp r2, r3 + 8005f14: d236 bcs.n 8005f84 <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh+0xf6> + union { + int32_t real; + uint32_t base; + } u_st_ints; + u_st_ints.base = 0; + 8005f16: 2300 movs r3, #0 + 8005f18: 617b str r3, [r7, #20] + u_st_ints.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); + 8005f1a: 697b ldr r3, [r7, #20] + 8005f1c: 6b7a ldr r2, [r7, #52] ; 0x34 + 8005f1e: 6839 ldr r1, [r7, #0] + 8005f20: 440a add r2, r1 + 8005f22: 7812 ldrb r2, [r2, #0] + 8005f24: 4313 orrs r3, r2 + 8005f26: 617b str r3, [r7, #20] + u_st_ints.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); + 8005f28: 697a ldr r2, [r7, #20] + 8005f2a: 6b7b ldr r3, [r7, #52] ; 0x34 + 8005f2c: 3301 adds r3, #1 + 8005f2e: 6839 ldr r1, [r7, #0] + 8005f30: 440b add r3, r1 + 8005f32: 781b ldrb r3, [r3, #0] + 8005f34: 021b lsls r3, r3, #8 + 8005f36: 4313 orrs r3, r2 + 8005f38: 617b str r3, [r7, #20] + u_st_ints.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); + 8005f3a: 697a ldr r2, [r7, #20] + 8005f3c: 6b7b ldr r3, [r7, #52] ; 0x34 + 8005f3e: 3302 adds r3, #2 + 8005f40: 6839 ldr r1, [r7, #0] + 8005f42: 440b add r3, r1 + 8005f44: 781b ldrb r3, [r3, #0] + 8005f46: 041b lsls r3, r3, #16 + 8005f48: 4313 orrs r3, r2 + 8005f4a: 617b str r3, [r7, #20] + u_st_ints.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); + 8005f4c: 697a ldr r2, [r7, #20] + 8005f4e: 6b7b ldr r3, [r7, #52] ; 0x34 + 8005f50: 3303 adds r3, #3 + 8005f52: 6839 ldr r1, [r7, #0] + 8005f54: 440b add r3, r1 + 8005f56: 781b ldrb r3, [r3, #0] + 8005f58: 061b lsls r3, r3, #24 + 8005f5a: 4313 orrs r3, r2 + 8005f5c: 617b str r3, [r7, #20] + this->st_ints = u_st_ints.real; + 8005f5e: 697a ldr r2, [r7, #20] + 8005f60: 687b ldr r3, [r7, #4] + 8005f62: 609a str r2, [r3, #8] + offset += sizeof(this->st_ints); + 8005f64: 6b7b ldr r3, [r7, #52] ; 0x34 + 8005f66: 3304 adds r3, #4 + 8005f68: 637b str r3, [r7, #52] ; 0x34 + memcpy( &(this->ints[i]), &(this->st_ints), sizeof(int32_t)); + 8005f6a: 687b ldr r3, [r7, #4] + 8005f6c: 68da ldr r2, [r3, #12] + 8005f6e: 6b3b ldr r3, [r7, #48] ; 0x30 + 8005f70: 009b lsls r3, r3, #2 + 8005f72: 4413 add r3, r2 + 8005f74: 687a ldr r2, [r7, #4] + 8005f76: 3208 adds r2, #8 + 8005f78: 6812 ldr r2, [r2, #0] + 8005f7a: 601a str r2, [r3, #0] + for( uint32_t i = 0; i < ints_length; i++){ + 8005f7c: 6b3b ldr r3, [r7, #48] ; 0x30 + 8005f7e: 3301 adds r3, #1 + 8005f80: 633b str r3, [r7, #48] ; 0x30 + 8005f82: e7c3 b.n 8005f0c <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh+0x7e> + } + uint32_t floats_lengthT = ((uint32_t) (*(inbuffer + offset))); + 8005f84: 6b7b ldr r3, [r7, #52] ; 0x34 + 8005f86: 683a ldr r2, [r7, #0] + 8005f88: 4413 add r3, r2 + 8005f8a: 781b ldrb r3, [r3, #0] + 8005f8c: 61fb str r3, [r7, #28] + floats_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); + 8005f8e: 6b7b ldr r3, [r7, #52] ; 0x34 + 8005f90: 3301 adds r3, #1 + 8005f92: 683a ldr r2, [r7, #0] + 8005f94: 4413 add r3, r2 + 8005f96: 781b ldrb r3, [r3, #0] + 8005f98: 021b lsls r3, r3, #8 + 8005f9a: 69fa ldr r2, [r7, #28] + 8005f9c: 4313 orrs r3, r2 + 8005f9e: 61fb str r3, [r7, #28] + floats_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); + 8005fa0: 6b7b ldr r3, [r7, #52] ; 0x34 + 8005fa2: 3302 adds r3, #2 + 8005fa4: 683a ldr r2, [r7, #0] + 8005fa6: 4413 add r3, r2 + 8005fa8: 781b ldrb r3, [r3, #0] + 8005faa: 041b lsls r3, r3, #16 + 8005fac: 69fa ldr r2, [r7, #28] + 8005fae: 4313 orrs r3, r2 + 8005fb0: 61fb str r3, [r7, #28] + floats_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); + 8005fb2: 6b7b ldr r3, [r7, #52] ; 0x34 + 8005fb4: 3303 adds r3, #3 + 8005fb6: 683a ldr r2, [r7, #0] + 8005fb8: 4413 add r3, r2 + 8005fba: 781b ldrb r3, [r3, #0] + 8005fbc: 061b lsls r3, r3, #24 + 8005fbe: 69fa ldr r2, [r7, #28] + 8005fc0: 4313 orrs r3, r2 + 8005fc2: 61fb str r3, [r7, #28] + offset += sizeof(this->floats_length); + 8005fc4: 6b7b ldr r3, [r7, #52] ; 0x34 + 8005fc6: 3304 adds r3, #4 + 8005fc8: 637b str r3, [r7, #52] ; 0x34 + if(floats_lengthT > floats_length) + 8005fca: 687b ldr r3, [r7, #4] + 8005fcc: 691b ldr r3, [r3, #16] + 8005fce: 69fa ldr r2, [r7, #28] + 8005fd0: 429a cmp r2, r3 + 8005fd2: d90a bls.n 8005fea <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh+0x15c> + this->floats = (float*)realloc(this->floats, floats_lengthT * sizeof(float)); + 8005fd4: 687b ldr r3, [r7, #4] + 8005fd6: 699a ldr r2, [r3, #24] + 8005fd8: 69fb ldr r3, [r7, #28] + 8005fda: 009b lsls r3, r3, #2 + 8005fdc: 4619 mov r1, r3 + 8005fde: 4610 mov r0, r2 + 8005fe0: f003 ff2e bl 8009e40 + 8005fe4: 4602 mov r2, r0 + 8005fe6: 687b ldr r3, [r7, #4] + 8005fe8: 619a str r2, [r3, #24] + floats_length = floats_lengthT; + 8005fea: 687b ldr r3, [r7, #4] + 8005fec: 69fa ldr r2, [r7, #28] + 8005fee: 611a str r2, [r3, #16] + for( uint32_t i = 0; i < floats_length; i++){ + 8005ff0: 2300 movs r3, #0 + 8005ff2: 62fb str r3, [r7, #44] ; 0x2c + 8005ff4: 687b ldr r3, [r7, #4] + 8005ff6: 691b ldr r3, [r3, #16] + 8005ff8: 6afa ldr r2, [r7, #44] ; 0x2c + 8005ffa: 429a cmp r2, r3 + 8005ffc: d236 bcs.n 800606c <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh+0x1de> + union { + float real; + uint32_t base; + } u_st_floats; + u_st_floats.base = 0; + 8005ffe: 2300 movs r3, #0 + 8006000: 613b str r3, [r7, #16] + u_st_floats.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); + 8006002: 693b ldr r3, [r7, #16] + 8006004: 6b7a ldr r2, [r7, #52] ; 0x34 + 8006006: 6839 ldr r1, [r7, #0] + 8006008: 440a add r2, r1 + 800600a: 7812 ldrb r2, [r2, #0] + 800600c: 4313 orrs r3, r2 + 800600e: 613b str r3, [r7, #16] + u_st_floats.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); + 8006010: 693a ldr r2, [r7, #16] + 8006012: 6b7b ldr r3, [r7, #52] ; 0x34 + 8006014: 3301 adds r3, #1 + 8006016: 6839 ldr r1, [r7, #0] + 8006018: 440b add r3, r1 + 800601a: 781b ldrb r3, [r3, #0] + 800601c: 021b lsls r3, r3, #8 + 800601e: 4313 orrs r3, r2 + 8006020: 613b str r3, [r7, #16] + u_st_floats.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); + 8006022: 693a ldr r2, [r7, #16] + 8006024: 6b7b ldr r3, [r7, #52] ; 0x34 + 8006026: 3302 adds r3, #2 + 8006028: 6839 ldr r1, [r7, #0] + 800602a: 440b add r3, r1 + 800602c: 781b ldrb r3, [r3, #0] + 800602e: 041b lsls r3, r3, #16 + 8006030: 4313 orrs r3, r2 + 8006032: 613b str r3, [r7, #16] + u_st_floats.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); + 8006034: 693a ldr r2, [r7, #16] + 8006036: 6b7b ldr r3, [r7, #52] ; 0x34 + 8006038: 3303 adds r3, #3 + 800603a: 6839 ldr r1, [r7, #0] + 800603c: 440b add r3, r1 + 800603e: 781b ldrb r3, [r3, #0] + 8006040: 061b lsls r3, r3, #24 + 8006042: 4313 orrs r3, r2 + 8006044: 613b str r3, [r7, #16] + this->st_floats = u_st_floats.real; + 8006046: 693a ldr r2, [r7, #16] + 8006048: 687b ldr r3, [r7, #4] + 800604a: 615a str r2, [r3, #20] + offset += sizeof(this->st_floats); + 800604c: 6b7b ldr r3, [r7, #52] ; 0x34 + 800604e: 3304 adds r3, #4 + 8006050: 637b str r3, [r7, #52] ; 0x34 + memcpy( &(this->floats[i]), &(this->st_floats), sizeof(float)); + 8006052: 687b ldr r3, [r7, #4] + 8006054: 699a ldr r2, [r3, #24] + 8006056: 6afb ldr r3, [r7, #44] ; 0x2c + 8006058: 009b lsls r3, r3, #2 + 800605a: 4413 add r3, r2 + 800605c: 687a ldr r2, [r7, #4] + 800605e: 3214 adds r2, #20 + 8006060: 6812 ldr r2, [r2, #0] + 8006062: 601a str r2, [r3, #0] + for( uint32_t i = 0; i < floats_length; i++){ + 8006064: 6afb ldr r3, [r7, #44] ; 0x2c + 8006066: 3301 adds r3, #1 + 8006068: 62fb str r3, [r7, #44] ; 0x2c + 800606a: e7c3 b.n 8005ff4 <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh+0x166> + } + uint32_t strings_lengthT = ((uint32_t) (*(inbuffer + offset))); + 800606c: 6b7b ldr r3, [r7, #52] ; 0x34 + 800606e: 683a ldr r2, [r7, #0] + 8006070: 4413 add r3, r2 + 8006072: 781b ldrb r3, [r3, #0] + 8006074: 61bb str r3, [r7, #24] + strings_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); + 8006076: 6b7b ldr r3, [r7, #52] ; 0x34 + 8006078: 3301 adds r3, #1 + 800607a: 683a ldr r2, [r7, #0] + 800607c: 4413 add r3, r2 + 800607e: 781b ldrb r3, [r3, #0] + 8006080: 021b lsls r3, r3, #8 + 8006082: 69ba ldr r2, [r7, #24] + 8006084: 4313 orrs r3, r2 + 8006086: 61bb str r3, [r7, #24] + strings_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); + 8006088: 6b7b ldr r3, [r7, #52] ; 0x34 + 800608a: 3302 adds r3, #2 + 800608c: 683a ldr r2, [r7, #0] + 800608e: 4413 add r3, r2 + 8006090: 781b ldrb r3, [r3, #0] + 8006092: 041b lsls r3, r3, #16 + 8006094: 69ba ldr r2, [r7, #24] + 8006096: 4313 orrs r3, r2 + 8006098: 61bb str r3, [r7, #24] + strings_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); + 800609a: 6b7b ldr r3, [r7, #52] ; 0x34 + 800609c: 3303 adds r3, #3 + 800609e: 683a ldr r2, [r7, #0] + 80060a0: 4413 add r3, r2 + 80060a2: 781b ldrb r3, [r3, #0] + 80060a4: 061b lsls r3, r3, #24 + 80060a6: 69ba ldr r2, [r7, #24] + 80060a8: 4313 orrs r3, r2 + 80060aa: 61bb str r3, [r7, #24] + offset += sizeof(this->strings_length); + 80060ac: 6b7b ldr r3, [r7, #52] ; 0x34 + 80060ae: 3304 adds r3, #4 + 80060b0: 637b str r3, [r7, #52] ; 0x34 + if(strings_lengthT > strings_length) + 80060b2: 687b ldr r3, [r7, #4] + 80060b4: 69db ldr r3, [r3, #28] + 80060b6: 69ba ldr r2, [r7, #24] + 80060b8: 429a cmp r2, r3 + 80060ba: d90a bls.n 80060d2 <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh+0x244> + this->strings = (char**)realloc(this->strings, strings_lengthT * sizeof(char*)); + 80060bc: 687b ldr r3, [r7, #4] + 80060be: 6a5a ldr r2, [r3, #36] ; 0x24 + 80060c0: 69bb ldr r3, [r7, #24] + 80060c2: 009b lsls r3, r3, #2 + 80060c4: 4619 mov r1, r3 + 80060c6: 4610 mov r0, r2 + 80060c8: f003 feba bl 8009e40 + 80060cc: 4602 mov r2, r0 + 80060ce: 687b ldr r3, [r7, #4] + 80060d0: 625a str r2, [r3, #36] ; 0x24 + strings_length = strings_lengthT; + 80060d2: 687b ldr r3, [r7, #4] + 80060d4: 69ba ldr r2, [r7, #24] + 80060d6: 61da str r2, [r3, #28] + for( uint32_t i = 0; i < strings_length; i++){ + 80060d8: 2300 movs r3, #0 + 80060da: 62bb str r3, [r7, #40] ; 0x28 + 80060dc: 687b ldr r3, [r7, #4] + 80060de: 69db ldr r3, [r3, #28] + 80060e0: 6aba ldr r2, [r7, #40] ; 0x28 + 80060e2: 429a cmp r2, r3 + 80060e4: d23f bcs.n 8006166 <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh+0x2d8> + uint32_t length_st_strings; + arrToVar(length_st_strings, (inbuffer + offset)); + 80060e6: 6b7b ldr r3, [r7, #52] ; 0x34 + 80060e8: 683a ldr r2, [r7, #0] + 80060ea: 441a add r2, r3 + 80060ec: f107 030c add.w r3, r7, #12 + 80060f0: 4611 mov r1, r2 + 80060f2: 4618 mov r0, r3 + 80060f4: f000 ffc9 bl 800708a <_ZN3ros3Msg8arrToVarImPhEEvRT_T0_> + offset += 4; + 80060f8: 6b7b ldr r3, [r7, #52] ; 0x34 + 80060fa: 3304 adds r3, #4 + 80060fc: 637b str r3, [r7, #52] ; 0x34 + for(unsigned int k= offset; k< offset+length_st_strings; ++k){ + 80060fe: 6b7b ldr r3, [r7, #52] ; 0x34 + 8006100: 627b str r3, [r7, #36] ; 0x24 + 8006102: 6b7a ldr r2, [r7, #52] ; 0x34 + 8006104: 68fb ldr r3, [r7, #12] + 8006106: 4413 add r3, r2 + 8006108: 6a7a ldr r2, [r7, #36] ; 0x24 + 800610a: 429a cmp r2, r3 + 800610c: d20c bcs.n 8006128 <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh+0x29a> + inbuffer[k-1]=inbuffer[k]; + 800610e: 683a ldr r2, [r7, #0] + 8006110: 6a7b ldr r3, [r7, #36] ; 0x24 + 8006112: 441a add r2, r3 + 8006114: 6a7b ldr r3, [r7, #36] ; 0x24 + 8006116: 3b01 subs r3, #1 + 8006118: 6839 ldr r1, [r7, #0] + 800611a: 440b add r3, r1 + 800611c: 7812 ldrb r2, [r2, #0] + 800611e: 701a strb r2, [r3, #0] + for(unsigned int k= offset; k< offset+length_st_strings; ++k){ + 8006120: 6a7b ldr r3, [r7, #36] ; 0x24 + 8006122: 3301 adds r3, #1 + 8006124: 627b str r3, [r7, #36] ; 0x24 + 8006126: e7ec b.n 8006102 <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh+0x274> + } + inbuffer[offset+length_st_strings-1]=0; + 8006128: 6b7a ldr r2, [r7, #52] ; 0x34 + 800612a: 68fb ldr r3, [r7, #12] + 800612c: 4413 add r3, r2 + 800612e: 3b01 subs r3, #1 + 8006130: 683a ldr r2, [r7, #0] + 8006132: 4413 add r3, r2 + 8006134: 2200 movs r2, #0 + 8006136: 701a strb r2, [r3, #0] + this->st_strings = (char *)(inbuffer + offset-1); + 8006138: 6b7b ldr r3, [r7, #52] ; 0x34 + 800613a: 3b01 subs r3, #1 + 800613c: 683a ldr r2, [r7, #0] + 800613e: 441a add r2, r3 + 8006140: 687b ldr r3, [r7, #4] + 8006142: 621a str r2, [r3, #32] + offset += length_st_strings; + 8006144: 6b7a ldr r2, [r7, #52] ; 0x34 + 8006146: 68fb ldr r3, [r7, #12] + 8006148: 4413 add r3, r2 + 800614a: 637b str r3, [r7, #52] ; 0x34 + memcpy( &(this->strings[i]), &(this->st_strings), sizeof(char*)); + 800614c: 687b ldr r3, [r7, #4] + 800614e: 6a5a ldr r2, [r3, #36] ; 0x24 + 8006150: 6abb ldr r3, [r7, #40] ; 0x28 + 8006152: 009b lsls r3, r3, #2 + 8006154: 4413 add r3, r2 + 8006156: 687a ldr r2, [r7, #4] + 8006158: 3220 adds r2, #32 + 800615a: 6812 ldr r2, [r2, #0] + 800615c: 601a str r2, [r3, #0] + for( uint32_t i = 0; i < strings_length; i++){ + 800615e: 6abb ldr r3, [r7, #40] ; 0x28 + 8006160: 3301 adds r3, #1 + 8006162: 62bb str r3, [r7, #40] ; 0x28 + 8006164: e7ba b.n 80060dc <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh+0x24e> + } + return offset; + 8006166: 6b7b ldr r3, [r7, #52] ; 0x34 + } + 8006168: 4618 mov r0, r3 + 800616a: 3738 adds r7, #56 ; 0x38 + 800616c: 46bd mov sp, r7 + 800616e: bd80 pop {r7, pc} + +08006170 <_ZN14rosserial_msgs20RequestParamResponse7getTypeEv>: + + const char * getType(){ return REQUESTPARAM; }; + 8006170: b480 push {r7} + 8006172: b083 sub sp, #12 + 8006174: af00 add r7, sp, #0 + 8006176: 6078 str r0, [r7, #4] + 8006178: 4b03 ldr r3, [pc, #12] ; (8006188 <_ZN14rosserial_msgs20RequestParamResponse7getTypeEv+0x18>) + 800617a: 4618 mov r0, r3 + 800617c: 370c adds r7, #12 + 800617e: 46bd mov sp, r7 + 8006180: f85d 7b04 ldr.w r7, [sp], #4 + 8006184: 4770 bx lr + 8006186: bf00 nop + 8006188: 0800a41c .word 0x0800a41c + +0800618c <_ZN14rosserial_msgs20RequestParamResponse6getMD5Ev>: + const char * getMD5(){ return "9f0e98bda65981986ddf53afa7a40e49"; }; + 800618c: b480 push {r7} + 800618e: b083 sub sp, #12 + 8006190: af00 add r7, sp, #0 + 8006192: 6078 str r0, [r7, #4] + 8006194: 4b03 ldr r3, [pc, #12] ; (80061a4 <_ZN14rosserial_msgs20RequestParamResponse6getMD5Ev+0x18>) + 8006196: 4618 mov r0, r3 + 8006198: 370c adds r7, #12 + 800619a: 46bd mov sp, r7 + 800619c: f85d 7b04 ldr.w r7, [sp], #4 + 80061a0: 4770 bx lr + 80061a2: bf00 nop + 80061a4: 0800a36c .word 0x0800a36c + +080061a8 <_ZN3ros9PublisherC1EPKcPNS_3MsgEi>: + +/* Generic Publisher */ +class Publisher +{ +public: + Publisher(const char * topic_name, Msg * msg, int endpoint = rosserial_msgs::TopicInfo::ID_PUBLISHER) : + 80061a8: b480 push {r7} + 80061aa: b085 sub sp, #20 + 80061ac: af00 add r7, sp, #0 + 80061ae: 60f8 str r0, [r7, #12] + 80061b0: 60b9 str r1, [r7, #8] + 80061b2: 607a str r2, [r7, #4] + 80061b4: 603b str r3, [r7, #0] + topic_(topic_name), + msg_(msg), + endpoint_(endpoint) {}; + 80061b6: 68fb ldr r3, [r7, #12] + 80061b8: 68ba ldr r2, [r7, #8] + 80061ba: 601a str r2, [r3, #0] + 80061bc: 68fb ldr r3, [r7, #12] + 80061be: 687a ldr r2, [r7, #4] + 80061c0: 605a str r2, [r3, #4] + 80061c2: 68fb ldr r3, [r7, #12] + 80061c4: 683a ldr r2, [r7, #0] + 80061c6: 611a str r2, [r3, #16] + 80061c8: 68fb ldr r3, [r7, #12] + 80061ca: 4618 mov r0, r3 + 80061cc: 3714 adds r7, #20 + 80061ce: 46bd mov sp, r7 + 80061d0: f85d 7b04 ldr.w r7, [sp], #4 + 80061d4: 4770 bx lr + +080061d6 <_ZN3ros9Publisher7publishEPKNS_3MsgE>: + + int publish(const Msg * msg) + 80061d6: b580 push {r7, lr} + 80061d8: b082 sub sp, #8 + 80061da: af00 add r7, sp, #0 + 80061dc: 6078 str r0, [r7, #4] + 80061de: 6039 str r1, [r7, #0] + { + return nh_->publish(id_, msg); + 80061e0: 687b ldr r3, [r7, #4] + 80061e2: 68d8 ldr r0, [r3, #12] + 80061e4: 687b ldr r3, [r7, #4] + 80061e6: 68db ldr r3, [r3, #12] + 80061e8: 681b ldr r3, [r3, #0] + 80061ea: 681b ldr r3, [r3, #0] + 80061ec: 687a ldr r2, [r7, #4] + 80061ee: 6891 ldr r1, [r2, #8] + 80061f0: 683a ldr r2, [r7, #0] + 80061f2: 4798 blx r3 + 80061f4: 4603 mov r3, r0 + }; + 80061f6: 4618 mov r0, r3 + 80061f8: 3708 adds r7, #8 + 80061fa: 46bd mov sp, r7 + 80061fc: bd80 pop {r7, pc} + +080061fe <_ZN3ros9Publisher15getEndpointTypeEv>: + int getEndpointType() + 80061fe: b480 push {r7} + 8006200: b083 sub sp, #12 + 8006202: af00 add r7, sp, #0 + 8006204: 6078 str r0, [r7, #4] + { + return endpoint_; + 8006206: 687b ldr r3, [r7, #4] + 8006208: 691b ldr r3, [r3, #16] + } + 800620a: 4618 mov r0, r3 + 800620c: 370c adds r7, #12 + 800620e: 46bd mov sp, r7 + 8006210: f85d 7b04 ldr.w r7, [sp], #4 + 8006214: 4770 bx lr + +08006216 <_ZN13STM32Hardware10getRdmaIndEv>: + UART_HandleTypeDef *huart; + + const static uint16_t rbuflen = 128; + uint8_t rbuf[rbuflen]; + uint32_t rind; + inline uint32_t getRdmaInd(void){ return (rbuflen - huart->hdmarx->Instance->NDTR) & (rbuflen - 1); } + 8006216: b480 push {r7} + 8006218: b083 sub sp, #12 + 800621a: af00 add r7, sp, #0 + 800621c: 6078 str r0, [r7, #4] + 800621e: 687b ldr r3, [r7, #4] + 8006220: 681b ldr r3, [r3, #0] + 8006222: 6edb ldr r3, [r3, #108] ; 0x6c + 8006224: 681b ldr r3, [r3, #0] + 8006226: 685b ldr r3, [r3, #4] + 8006228: 425b negs r3, r3 + 800622a: f003 037f and.w r3, r3, #127 ; 0x7f + 800622e: 4618 mov r0, r3 + 8006230: 370c adds r7, #12 + 8006232: 46bd mov sp, r7 + 8006234: f85d 7b04 ldr.w r7, [sp], #4 + 8006238: 4770 bx lr + ... + +0800623c <_ZN13STM32HardwareC1Ev>: + const static uint16_t tbuflen = 256; + uint8_t tbuf[tbuflen]; + uint32_t twind, tfind; + + public: + STM32Hardware(): + 800623c: b480 push {r7} + 800623e: b083 sub sp, #12 + 8006240: af00 add r7, sp, #0 + 8006242: 6078 str r0, [r7, #4] + huart(&huart3), rind(0), twind(0), tfind(0){ + 8006244: 687b ldr r3, [r7, #4] + 8006246: 4a0a ldr r2, [pc, #40] ; (8006270 <_ZN13STM32HardwareC1Ev+0x34>) + 8006248: 601a str r2, [r3, #0] + 800624a: 687b ldr r3, [r7, #4] + 800624c: 2200 movs r2, #0 + 800624e: f8c3 2084 str.w r2, [r3, #132] ; 0x84 + 8006252: 687b ldr r3, [r7, #4] + 8006254: 2200 movs r2, #0 + 8006256: f8c3 2188 str.w r2, [r3, #392] ; 0x188 + 800625a: 687b ldr r3, [r7, #4] + 800625c: 2200 movs r2, #0 + 800625e: f8c3 218c str.w r2, [r3, #396] ; 0x18c + } + 8006262: 687b ldr r3, [r7, #4] + 8006264: 4618 mov r0, r3 + 8006266: 370c adds r7, #12 + 8006268: 46bd mov sp, r7 + 800626a: f85d 7b04 ldr.w r7, [sp], #4 + 800626e: 4770 bx lr + 8006270: 200001a4 .word 0x200001a4 + +08006274 <_ZN13STM32Hardware4initEv>: + + STM32Hardware(UART_HandleTypeDef *huart_): + huart(huart_), rind(0), twind(0), tfind(0){ + } + + void init(){ + 8006274: b580 push {r7, lr} + 8006276: b082 sub sp, #8 + 8006278: af00 add r7, sp, #0 + 800627a: 6078 str r0, [r7, #4] + reset_rbuf(); + 800627c: 6878 ldr r0, [r7, #4] + 800627e: f000 f804 bl 800628a <_ZN13STM32Hardware10reset_rbufEv> + } + 8006282: bf00 nop + 8006284: 3708 adds r7, #8 + 8006286: 46bd mov sp, r7 + 8006288: bd80 pop {r7, pc} + +0800628a <_ZN13STM32Hardware10reset_rbufEv>: + + void reset_rbuf(void){ + 800628a: b580 push {r7, lr} + 800628c: b082 sub sp, #8 + 800628e: af00 add r7, sp, #0 + 8006290: 6078 str r0, [r7, #4] + HAL_UART_Receive_DMA(huart, rbuf, rbuflen); + 8006292: 687b ldr r3, [r7, #4] + 8006294: 6818 ldr r0, [r3, #0] + 8006296: 687b ldr r3, [r7, #4] + 8006298: 3304 adds r3, #4 + 800629a: 2280 movs r2, #128 ; 0x80 + 800629c: 4619 mov r1, r3 + 800629e: f7fd f9eb bl 8003678 + } + 80062a2: bf00 nop + 80062a4: 3708 adds r7, #8 + 80062a6: 46bd mov sp, r7 + 80062a8: bd80 pop {r7, pc} + +080062aa <_ZN13STM32Hardware4readEv>: + + int read(){ + 80062aa: b590 push {r4, r7, lr} + 80062ac: b085 sub sp, #20 + 80062ae: af00 add r7, sp, #0 + 80062b0: 6078 str r0, [r7, #4] + int c = -1; + 80062b2: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff + 80062b6: 60fb str r3, [r7, #12] + if(rind != getRdmaInd()){ + 80062b8: 687b ldr r3, [r7, #4] + 80062ba: f8d3 4084 ldr.w r4, [r3, #132] ; 0x84 + 80062be: 6878 ldr r0, [r7, #4] + 80062c0: f7ff ffa9 bl 8006216 <_ZN13STM32Hardware10getRdmaIndEv> + 80062c4: 4603 mov r3, r0 + 80062c6: 429c cmp r4, r3 + 80062c8: bf14 ite ne + 80062ca: 2301 movne r3, #1 + 80062cc: 2300 moveq r3, #0 + 80062ce: b2db uxtb r3, r3 + 80062d0: 2b00 cmp r3, #0 + 80062d2: d012 beq.n 80062fa <_ZN13STM32Hardware4readEv+0x50> + c = rbuf[rind++]; + 80062d4: 687b ldr r3, [r7, #4] + 80062d6: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 + 80062da: 1c59 adds r1, r3, #1 + 80062dc: 687a ldr r2, [r7, #4] + 80062de: f8c2 1084 str.w r1, [r2, #132] ; 0x84 + 80062e2: 687a ldr r2, [r7, #4] + 80062e4: 4413 add r3, r2 + 80062e6: 791b ldrb r3, [r3, #4] + 80062e8: 60fb str r3, [r7, #12] + rind &= rbuflen - 1; + 80062ea: 687b ldr r3, [r7, #4] + 80062ec: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 + 80062f0: f003 027f and.w r2, r3, #127 ; 0x7f + 80062f4: 687b ldr r3, [r7, #4] + 80062f6: f8c3 2084 str.w r2, [r3, #132] ; 0x84 + } + return c; + 80062fa: 68fb ldr r3, [r7, #12] + } + 80062fc: 4618 mov r0, r3 + 80062fe: 3714 adds r7, #20 + 8006300: 46bd mov sp, r7 + 8006302: bd90 pop {r4, r7, pc} + +08006304 <_ZN13STM32Hardware5flushEv>: + + void flush(void){ + 8006304: b580 push {r7, lr} + 8006306: b084 sub sp, #16 + 8006308: af00 add r7, sp, #0 + 800630a: 6078 str r0, [r7, #4] + static bool mutex = false; + + if((huart->gState == HAL_UART_STATE_READY) && !mutex){ + 800630c: 687b ldr r3, [r7, #4] + 800630e: 681b ldr r3, [r3, #0] + 8006310: 6f5b ldr r3, [r3, #116] ; 0x74 + 8006312: 2b20 cmp r3, #32 + 8006314: d108 bne.n 8006328 <_ZN13STM32Hardware5flushEv+0x24> + 8006316: 4b27 ldr r3, [pc, #156] ; (80063b4 <_ZN13STM32Hardware5flushEv+0xb0>) + 8006318: 781b ldrb r3, [r3, #0] + 800631a: f083 0301 eor.w r3, r3, #1 + 800631e: b2db uxtb r3, r3 + 8006320: 2b00 cmp r3, #0 + 8006322: d001 beq.n 8006328 <_ZN13STM32Hardware5flushEv+0x24> + 8006324: 2301 movs r3, #1 + 8006326: e000 b.n 800632a <_ZN13STM32Hardware5flushEv+0x26> + 8006328: 2300 movs r3, #0 + 800632a: 2b00 cmp r3, #0 + 800632c: d03d beq.n 80063aa <_ZN13STM32Hardware5flushEv+0xa6> + mutex = true; + 800632e: 4b21 ldr r3, [pc, #132] ; (80063b4 <_ZN13STM32Hardware5flushEv+0xb0>) + 8006330: 2201 movs r2, #1 + 8006332: 701a strb r2, [r3, #0] + + if(twind != tfind){ + 8006334: 687b ldr r3, [r7, #4] + 8006336: f8d3 2188 ldr.w r2, [r3, #392] ; 0x188 + 800633a: 687b ldr r3, [r7, #4] + 800633c: f8d3 318c ldr.w r3, [r3, #396] ; 0x18c + 8006340: 429a cmp r2, r3 + 8006342: d02f beq.n 80063a4 <_ZN13STM32Hardware5flushEv+0xa0> + uint16_t len = tfind < twind ? twind - tfind : tbuflen - tfind; + 8006344: 687b ldr r3, [r7, #4] + 8006346: f8d3 218c ldr.w r2, [r3, #396] ; 0x18c + 800634a: 687b ldr r3, [r7, #4] + 800634c: f8d3 3188 ldr.w r3, [r3, #392] ; 0x188 + 8006350: 429a cmp r2, r3 + 8006352: d20a bcs.n 800636a <_ZN13STM32Hardware5flushEv+0x66> + 8006354: 687b ldr r3, [r7, #4] + 8006356: f8d3 3188 ldr.w r3, [r3, #392] ; 0x188 + 800635a: b29a uxth r2, r3 + 800635c: 687b ldr r3, [r7, #4] + 800635e: f8d3 318c ldr.w r3, [r3, #396] ; 0x18c + 8006362: b29b uxth r3, r3 + 8006364: 1ad3 subs r3, r2, r3 + 8006366: b29b uxth r3, r3 + 8006368: e006 b.n 8006378 <_ZN13STM32Hardware5flushEv+0x74> + 800636a: 687b ldr r3, [r7, #4] + 800636c: f8d3 318c ldr.w r3, [r3, #396] ; 0x18c + 8006370: b29b uxth r3, r3 + 8006372: f5c3 7380 rsb r3, r3, #256 ; 0x100 + 8006376: b29b uxth r3, r3 + 8006378: 81fb strh r3, [r7, #14] + HAL_UART_Transmit_DMA(huart, &(tbuf[tfind]), len); + 800637a: 687b ldr r3, [r7, #4] + 800637c: 6818 ldr r0, [r3, #0] + 800637e: 687b ldr r3, [r7, #4] + 8006380: f8d3 318c ldr.w r3, [r3, #396] ; 0x18c + 8006384: 3388 adds r3, #136 ; 0x88 + 8006386: 687a ldr r2, [r7, #4] + 8006388: 4413 add r3, r2 + 800638a: 89fa ldrh r2, [r7, #14] + 800638c: 4619 mov r1, r3 + 800638e: f7fd f8f7 bl 8003580 + tfind = (tfind + len) & (tbuflen - 1); + 8006392: 687b ldr r3, [r7, #4] + 8006394: f8d3 218c ldr.w r2, [r3, #396] ; 0x18c + 8006398: 89fb ldrh r3, [r7, #14] + 800639a: 4413 add r3, r2 + 800639c: b2da uxtb r2, r3 + 800639e: 687b ldr r3, [r7, #4] + 80063a0: f8c3 218c str.w r2, [r3, #396] ; 0x18c + } + mutex = false; + 80063a4: 4b03 ldr r3, [pc, #12] ; (80063b4 <_ZN13STM32Hardware5flushEv+0xb0>) + 80063a6: 2200 movs r2, #0 + 80063a8: 701a strb r2, [r3, #0] + } + } + 80063aa: bf00 nop + 80063ac: 3710 adds r7, #16 + 80063ae: 46bd mov sp, r7 + 80063b0: bd80 pop {r7, pc} + 80063b2: bf00 nop + 80063b4: 200000a0 .word 0x200000a0 + +080063b8 <_ZN13STM32Hardware5writeEPhi>: + + void write(uint8_t* data, int length){ + 80063b8: b580 push {r7, lr} + 80063ba: b086 sub sp, #24 + 80063bc: af00 add r7, sp, #0 + 80063be: 60f8 str r0, [r7, #12] + 80063c0: 60b9 str r1, [r7, #8] + 80063c2: 607a str r2, [r7, #4] + + + int n = length; + 80063c4: 687b ldr r3, [r7, #4] + 80063c6: 617b str r3, [r7, #20] + n = n <= tbuflen ? n : tbuflen; + 80063c8: 697b ldr r3, [r7, #20] + 80063ca: f5b3 7f80 cmp.w r3, #256 ; 0x100 + 80063ce: bfa8 it ge + 80063d0: f44f 7380 movge.w r3, #256 ; 0x100 + 80063d4: 617b str r3, [r7, #20] + + int n_tail = n <= tbuflen - twind ? n : tbuflen - twind; + 80063d6: 68fb ldr r3, [r7, #12] + 80063d8: f8d3 3188 ldr.w r3, [r3, #392] ; 0x188 + 80063dc: f5c3 7280 rsb r2, r3, #256 ; 0x100 + 80063e0: 697b ldr r3, [r7, #20] + 80063e2: 4293 cmp r3, r2 + 80063e4: bf28 it cs + 80063e6: 4613 movcs r3, r2 + 80063e8: 613b str r3, [r7, #16] + memcpy(&(tbuf[twind]), data, n_tail); + 80063ea: 68fb ldr r3, [r7, #12] + 80063ec: f8d3 3188 ldr.w r3, [r3, #392] ; 0x188 + 80063f0: 3388 adds r3, #136 ; 0x88 + 80063f2: 68fa ldr r2, [r7, #12] + 80063f4: 4413 add r3, r2 + 80063f6: 693a ldr r2, [r7, #16] + 80063f8: 68b9 ldr r1, [r7, #8] + 80063fa: 4618 mov r0, r3 + 80063fc: f003 fd0c bl 8009e18 + twind = (twind + n) & (tbuflen - 1); + 8006400: 68fb ldr r3, [r7, #12] + 8006402: f8d3 2188 ldr.w r2, [r3, #392] ; 0x188 + 8006406: 697b ldr r3, [r7, #20] + 8006408: 4413 add r3, r2 + 800640a: b2da uxtb r2, r3 + 800640c: 68fb ldr r3, [r7, #12] + 800640e: f8c3 2188 str.w r2, [r3, #392] ; 0x188 + + if(n != n_tail){ + 8006412: 697a ldr r2, [r7, #20] + 8006414: 693b ldr r3, [r7, #16] + 8006416: 429a cmp r2, r3 + 8006418: d00b beq.n 8006432 <_ZN13STM32Hardware5writeEPhi+0x7a> + memcpy(tbuf, &(data[n_tail]), n - n_tail); + 800641a: 68fb ldr r3, [r7, #12] + 800641c: f103 0088 add.w r0, r3, #136 ; 0x88 + 8006420: 693b ldr r3, [r7, #16] + 8006422: 68ba ldr r2, [r7, #8] + 8006424: 18d1 adds r1, r2, r3 + 8006426: 697a ldr r2, [r7, #20] + 8006428: 693b ldr r3, [r7, #16] + 800642a: 1ad3 subs r3, r2, r3 + 800642c: 461a mov r2, r3 + 800642e: f003 fcf3 bl 8009e18 + } + + flush(); + 8006432: 68f8 ldr r0, [r7, #12] + 8006434: f7ff ff66 bl 8006304 <_ZN13STM32Hardware5flushEv> + } + 8006438: bf00 nop + 800643a: 3718 adds r7, #24 + 800643c: 46bd mov sp, r7 + 800643e: bd80 pop {r7, pc} + +08006440 <_ZN13STM32Hardware4timeEv>: + + unsigned long time(){ return HAL_GetTick(); } + 8006440: b580 push {r7, lr} + 8006442: b082 sub sp, #8 + 8006444: af00 add r7, sp, #0 + 8006446: 6078 str r0, [r7, #4] + 8006448: f7fa f8d0 bl 80005ec + 800644c: 4603 mov r3, r0 + 800644e: 4618 mov r0, r3 + 8006450: 3708 adds r7, #8 + 8006452: 46bd mov sp, r7 + 8006454: bd80 pop {r7, pc} + ... + +08006458 <_ZN8std_msgs6StringC1Ev>: + { + public: + typedef const char* _data_type; + _data_type data; + + String(): + 8006458: b580 push {r7, lr} + 800645a: b082 sub sp, #8 + 800645c: af00 add r7, sp, #0 + 800645e: 6078 str r0, [r7, #4] + data("") + 8006460: 687b ldr r3, [r7, #4] + 8006462: 4618 mov r0, r3 + 8006464: f7fe f94c bl 8004700 <_ZN3ros3MsgC1Ev> + 8006468: 4a05 ldr r2, [pc, #20] ; (8006480 <_ZN8std_msgs6StringC1Ev+0x28>) + 800646a: 687b ldr r3, [r7, #4] + 800646c: 601a str r2, [r3, #0] + 800646e: 687b ldr r3, [r7, #4] + 8006470: 4a04 ldr r2, [pc, #16] ; (8006484 <_ZN8std_msgs6StringC1Ev+0x2c>) + 8006472: 605a str r2, [r3, #4] + { + } + 8006474: 687b ldr r3, [r7, #4] + 8006476: 4618 mov r0, r3 + 8006478: 3708 adds r7, #8 + 800647a: 46bd mov sp, r7 + 800647c: bd80 pop {r7, pc} + 800647e: bf00 nop + 8006480: 0800a454 .word 0x0800a454 + 8006484: 0800a0c0 .word 0x0800a0c0 + +08006488 <_ZNK8std_msgs6String9serializeEPh>: + + virtual int serialize(unsigned char *outbuffer) const + 8006488: b580 push {r7, lr} + 800648a: b084 sub sp, #16 + 800648c: af00 add r7, sp, #0 + 800648e: 6078 str r0, [r7, #4] + 8006490: 6039 str r1, [r7, #0] + { + int offset = 0; + 8006492: 2300 movs r3, #0 + 8006494: 60fb str r3, [r7, #12] + uint32_t length_data = strlen(this->data); + 8006496: 687b ldr r3, [r7, #4] + 8006498: 685b ldr r3, [r3, #4] + 800649a: 4618 mov r0, r3 + 800649c: f7f9 fecc bl 8000238 + 80064a0: 60b8 str r0, [r7, #8] + varToArr(outbuffer + offset, length_data); + 80064a2: 68fb ldr r3, [r7, #12] + 80064a4: 683a ldr r2, [r7, #0] + 80064a6: 4413 add r3, r2 + 80064a8: 68b9 ldr r1, [r7, #8] + 80064aa: 4618 mov r0, r3 + 80064ac: f000 fdcf bl 800704e <_ZN3ros3Msg8varToArrIPhmEEvT_T0_> + offset += 4; + 80064b0: 68fb ldr r3, [r7, #12] + 80064b2: 3304 adds r3, #4 + 80064b4: 60fb str r3, [r7, #12] + memcpy(outbuffer + offset, this->data, length_data); + 80064b6: 68fb ldr r3, [r7, #12] + 80064b8: 683a ldr r2, [r7, #0] + 80064ba: 18d0 adds r0, r2, r3 + 80064bc: 687b ldr r3, [r7, #4] + 80064be: 685b ldr r3, [r3, #4] + 80064c0: 68ba ldr r2, [r7, #8] + 80064c2: 4619 mov r1, r3 + 80064c4: f003 fca8 bl 8009e18 + offset += length_data; + 80064c8: 68fa ldr r2, [r7, #12] + 80064ca: 68bb ldr r3, [r7, #8] + 80064cc: 4413 add r3, r2 + 80064ce: 60fb str r3, [r7, #12] + return offset; + 80064d0: 68fb ldr r3, [r7, #12] + } + 80064d2: 4618 mov r0, r3 + 80064d4: 3710 adds r7, #16 + 80064d6: 46bd mov sp, r7 + 80064d8: bd80 pop {r7, pc} + +080064da <_ZN8std_msgs6String11deserializeEPh>: + + virtual int deserialize(unsigned char *inbuffer) + 80064da: b580 push {r7, lr} + 80064dc: b086 sub sp, #24 + 80064de: af00 add r7, sp, #0 + 80064e0: 6078 str r0, [r7, #4] + 80064e2: 6039 str r1, [r7, #0] + { + int offset = 0; + 80064e4: 2300 movs r3, #0 + 80064e6: 613b str r3, [r7, #16] + uint32_t length_data; + arrToVar(length_data, (inbuffer + offset)); + 80064e8: 693b ldr r3, [r7, #16] + 80064ea: 683a ldr r2, [r7, #0] + 80064ec: 441a add r2, r3 + 80064ee: f107 030c add.w r3, r7, #12 + 80064f2: 4611 mov r1, r2 + 80064f4: 4618 mov r0, r3 + 80064f6: f000 fdc8 bl 800708a <_ZN3ros3Msg8arrToVarImPhEEvRT_T0_> + offset += 4; + 80064fa: 693b ldr r3, [r7, #16] + 80064fc: 3304 adds r3, #4 + 80064fe: 613b str r3, [r7, #16] + for(unsigned int k= offset; k< offset+length_data; ++k){ + 8006500: 693b ldr r3, [r7, #16] + 8006502: 617b str r3, [r7, #20] + 8006504: 693a ldr r2, [r7, #16] + 8006506: 68fb ldr r3, [r7, #12] + 8006508: 4413 add r3, r2 + 800650a: 697a ldr r2, [r7, #20] + 800650c: 429a cmp r2, r3 + 800650e: d20c bcs.n 800652a <_ZN8std_msgs6String11deserializeEPh+0x50> + inbuffer[k-1]=inbuffer[k]; + 8006510: 683a ldr r2, [r7, #0] + 8006512: 697b ldr r3, [r7, #20] + 8006514: 441a add r2, r3 + 8006516: 697b ldr r3, [r7, #20] + 8006518: 3b01 subs r3, #1 + 800651a: 6839 ldr r1, [r7, #0] + 800651c: 440b add r3, r1 + 800651e: 7812 ldrb r2, [r2, #0] + 8006520: 701a strb r2, [r3, #0] + for(unsigned int k= offset; k< offset+length_data; ++k){ + 8006522: 697b ldr r3, [r7, #20] + 8006524: 3301 adds r3, #1 + 8006526: 617b str r3, [r7, #20] + 8006528: e7ec b.n 8006504 <_ZN8std_msgs6String11deserializeEPh+0x2a> + } + inbuffer[offset+length_data-1]=0; + 800652a: 693a ldr r2, [r7, #16] + 800652c: 68fb ldr r3, [r7, #12] + 800652e: 4413 add r3, r2 + 8006530: 3b01 subs r3, #1 + 8006532: 683a ldr r2, [r7, #0] + 8006534: 4413 add r3, r2 + 8006536: 2200 movs r2, #0 + 8006538: 701a strb r2, [r3, #0] + this->data = (char *)(inbuffer + offset-1); + 800653a: 693b ldr r3, [r7, #16] + 800653c: 3b01 subs r3, #1 + 800653e: 683a ldr r2, [r7, #0] + 8006540: 441a add r2, r3 + 8006542: 687b ldr r3, [r7, #4] + 8006544: 605a str r2, [r3, #4] + offset += length_data; + 8006546: 693a ldr r2, [r7, #16] + 8006548: 68fb ldr r3, [r7, #12] + 800654a: 4413 add r3, r2 + 800654c: 613b str r3, [r7, #16] + return offset; + 800654e: 693b ldr r3, [r7, #16] + } + 8006550: 4618 mov r0, r3 + 8006552: 3718 adds r7, #24 + 8006554: 46bd mov sp, r7 + 8006556: bd80 pop {r7, pc} + +08006558 <_ZN8std_msgs6String7getTypeEv>: + + const char * getType(){ return "std_msgs/String"; }; + 8006558: b480 push {r7} + 800655a: b083 sub sp, #12 + 800655c: af00 add r7, sp, #0 + 800655e: 6078 str r0, [r7, #4] + 8006560: 4b03 ldr r3, [pc, #12] ; (8006570 <_ZN8std_msgs6String7getTypeEv+0x18>) + 8006562: 4618 mov r0, r3 + 8006564: 370c adds r7, #12 + 8006566: 46bd mov sp, r7 + 8006568: f85d 7b04 ldr.w r7, [sp], #4 + 800656c: 4770 bx lr + 800656e: bf00 nop + 8006570: 0800a390 .word 0x0800a390 + +08006574 <_ZN8std_msgs6String6getMD5Ev>: + const char * getMD5(){ return "992ce8a1687cec8c8bd883ec73ca41d1"; }; + 8006574: b480 push {r7} + 8006576: b083 sub sp, #12 + 8006578: af00 add r7, sp, #0 + 800657a: 6078 str r0, [r7, #4] + 800657c: 4b03 ldr r3, [pc, #12] ; (800658c <_ZN8std_msgs6String6getMD5Ev+0x18>) + 800657e: 4618 mov r0, r3 + 8006580: 370c adds r7, #12 + 8006582: 46bd mov sp, r7 + 8006584: f85d 7b04 ldr.w r7, [sp], #4 + 8006588: 4770 bx lr + 800658a: bf00 nop + 800658c: 0800a3a0 .word 0x0800a3a0 + +08006590
: + +/** + * @brief The application entry point. + * @retval int + */ +int main(void) { + 8006590: b580 push {r7, lr} + 8006592: af00 add r7, sp, #0 + /* USER CODE END 1 */ + + /* MCU Configuration--------------------------------------------------------*/ + + /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ + HAL_Init(); + 8006594: f7f9 ffd8 bl 8000548 + + /* USER CODE BEGIN Init */ + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + 8006598: f000 f838 bl 800660c <_Z18SystemClock_Configv> + /* USER CODE BEGIN SysInit */ + + /* USER CODE END SysInit */ + + /* Initialize all configured peripherals */ + MX_GPIO_Init(); + 800659c: f000 fafe bl 8006b9c <_ZL12MX_GPIO_Initv> + MX_DMA_Init(); + 80065a0: f000 faba bl 8006b18 <_ZL11MX_DMA_Initv> + MX_TIM2_Init(); + 80065a4: f000 f8be bl 8006724 <_ZL12MX_TIM2_Initv> + MX_TIM3_Init(); + 80065a8: f000 f91a bl 80067e0 <_ZL12MX_TIM3_Initv> + MX_TIM4_Init(); + 80065ac: f000 f976 bl 800689c <_ZL12MX_TIM4_Initv> + MX_TIM5_Init(); + 80065b0: f000 f9ec bl 800698c <_ZL12MX_TIM5_Initv> + MX_USART3_UART_Init(); + 80065b4: f000 fa48 bl 8006a48 <_ZL19MX_USART3_UART_Initv> + MX_USART6_UART_Init(); + 80065b8: f000 fa7a bl 8006ab0 <_ZL19MX_USART6_UART_Initv> + /* USER CODE BEGIN 2 */ + + nh.initNode(); + 80065bc: 480b ldr r0, [pc, #44] ; (80065ec ) + 80065be: f000 fe19 bl 80071f4 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8initNodeEv> + nh.advertise(chatter); + 80065c2: 490b ldr r1, [pc, #44] ; (80065f0 ) + 80065c4: 4809 ldr r0, [pc, #36] ; (80065ec ) + 80065c6: f000 fe32 bl 800722e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE9advertiseERNS_9PublisherE> + nh.advertise(odom_pub); + 80065ca: 490a ldr r1, [pc, #40] ; (80065f4 ) + 80065cc: 4807 ldr r0, [pc, #28] ; (80065ec ) + 80065ce: f000 fe2e bl 800722e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE9advertiseERNS_9PublisherE> + str_msg.data = hello; + 80065d2: 4b09 ldr r3, [pc, #36] ; (80065f8 ) + 80065d4: 4a09 ldr r2, [pc, #36] ; (80065fc ) + 80065d6: 605a str r2, [r3, #4] + + left_encoder.Setup(); + 80065d8: 4809 ldr r0, [pc, #36] ; (8006600 ) + 80065da: f7fd ff23 bl 8004424 <_ZN7Encoder5SetupEv> + right_encoder.Setup(); + 80065de: 4809 ldr r0, [pc, #36] ; (8006604 ) + 80065e0: f7fd ff20 bl 8004424 <_ZN7Encoder5SetupEv> + + HAL_TIM_Base_Start_IT(&htim3); + 80065e4: 4808 ldr r0, [pc, #32] ; (8006608 ) + 80065e6: f7fb ff0d bl 8002404 + + /* USER CODE END 2 */ + + /* Infinite loop */ + /* USER CODE BEGIN WHILE */ + while (1) { + 80065ea: e7fe b.n 80065ea + 80065ec: 2000062c .word 0x2000062c + 80065f0: 20000e80 .word 0x20000e80 + 80065f4: 20000e94 .word 0x20000e94 + 80065f8: 20000ce8 .word 0x20000ce8 + 80065fc: 20000008 .word 0x20000008 + 8006600: 20000424 .word 0x20000424 + 8006604: 20000440 .word 0x20000440 + 8006608: 200000e4 .word 0x200000e4 + +0800660c <_Z18SystemClock_Configv>: + +/** + * @brief System Clock Configuration + * @retval None + */ +void SystemClock_Config(void) { + 800660c: b580 push {r7, lr} + 800660e: b0b8 sub sp, #224 ; 0xe0 + 8006610: af00 add r7, sp, #0 + RCC_OscInitTypeDef RCC_OscInitStruct = { 0 }; + 8006612: f107 03ac add.w r3, r7, #172 ; 0xac + 8006616: 2234 movs r2, #52 ; 0x34 + 8006618: 2100 movs r1, #0 + 800661a: 4618 mov r0, r3 + 800661c: f003 fc07 bl 8009e2e + RCC_ClkInitTypeDef RCC_ClkInitStruct = { 0 }; + 8006620: f107 0398 add.w r3, r7, #152 ; 0x98 + 8006624: 2200 movs r2, #0 + 8006626: 601a str r2, [r3, #0] + 8006628: 605a str r2, [r3, #4] + 800662a: 609a str r2, [r3, #8] + 800662c: 60da str r2, [r3, #12] + 800662e: 611a str r2, [r3, #16] + RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = { 0 }; + 8006630: f107 0308 add.w r3, r7, #8 + 8006634: 2290 movs r2, #144 ; 0x90 + 8006636: 2100 movs r1, #0 + 8006638: 4618 mov r0, r3 + 800663a: f003 fbf8 bl 8009e2e + + /** Configure the main internal regulator output voltage + */ + __HAL_RCC_PWR_CLK_ENABLE(); + 800663e: 4b37 ldr r3, [pc, #220] ; (800671c <_Z18SystemClock_Configv+0x110>) + 8006640: 6c1b ldr r3, [r3, #64] ; 0x40 + 8006642: 4a36 ldr r2, [pc, #216] ; (800671c <_Z18SystemClock_Configv+0x110>) + 8006644: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 + 8006648: 6413 str r3, [r2, #64] ; 0x40 + 800664a: 4b34 ldr r3, [pc, #208] ; (800671c <_Z18SystemClock_Configv+0x110>) + 800664c: 6c1b ldr r3, [r3, #64] ; 0x40 + 800664e: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 + 8006652: 607b str r3, [r7, #4] + 8006654: 687b ldr r3, [r7, #4] + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); + 8006656: 4b32 ldr r3, [pc, #200] ; (8006720 <_Z18SystemClock_Configv+0x114>) + 8006658: 681b ldr r3, [r3, #0] + 800665a: f423 4340 bic.w r3, r3, #49152 ; 0xc000 + 800665e: 4a30 ldr r2, [pc, #192] ; (8006720 <_Z18SystemClock_Configv+0x114>) + 8006660: f443 4380 orr.w r3, r3, #16384 ; 0x4000 + 8006664: 6013 str r3, [r2, #0] + 8006666: 4b2e ldr r3, [pc, #184] ; (8006720 <_Z18SystemClock_Configv+0x114>) + 8006668: 681b ldr r3, [r3, #0] + 800666a: f403 4340 and.w r3, r3, #49152 ; 0xc000 + 800666e: 603b str r3, [r7, #0] + 8006670: 683b ldr r3, [r7, #0] /** Initializes the CPU, AHB and APB busses clocks - */ + */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; - 80040ea: 2302 movs r3, #2 - 80040ec: f8c7 30ac str.w r3, [r7, #172] ; 0xac + 8006672: 2302 movs r3, #2 + 8006674: f8c7 30ac str.w r3, [r7, #172] ; 0xac RCC_OscInitStruct.HSIState = RCC_HSI_ON; - 80040f0: 2301 movs r3, #1 - 80040f2: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 + 8006678: 2301 movs r3, #1 + 800667a: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; - 80040f6: 2310 movs r3, #16 - 80040f8: f8c7 30bc str.w r3, [r7, #188] ; 0xbc + 800667e: 2310 movs r3, #16 + 8006680: f8c7 30bc str.w r3, [r7, #188] ; 0xbc RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE; - 80040fc: 2300 movs r3, #0 - 80040fe: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) - 8004102: f107 03ac add.w r3, r7, #172 ; 0xac - 8004106: 4618 mov r0, r3 - 8004108: f7fd f854 bl 80011b4 - 800410c: 4603 mov r3, r0 - 800410e: 2b00 cmp r3, #0 - 8004110: bf14 ite ne - 8004112: 2301 movne r3, #1 - 8004114: 2300 moveq r3, #0 - 8004116: b2db uxtb r3, r3 - 8004118: 2b00 cmp r3, #0 - 800411a: d001 beq.n 8004120 <_Z18SystemClock_Configv+0x9c> - { + 8006684: 2300 movs r3, #0 + 8006686: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { + 800668a: f107 03ac add.w r3, r7, #172 ; 0xac + 800668e: 4618 mov r0, r3 + 8006690: f7fa fe26 bl 80012e0 + 8006694: 4603 mov r3, r0 + 8006696: 2b00 cmp r3, #0 + 8006698: bf14 ite ne + 800669a: 2301 movne r3, #1 + 800669c: 2300 moveq r3, #0 + 800669e: b2db uxtb r3, r3 + 80066a0: 2b00 cmp r3, #0 + 80066a2: d001 beq.n 80066a8 <_Z18SystemClock_Configv+0x9c> Error_Handler(); - 800411c: f000 fb2a bl 8004774 + 80066a4: f000 fccc bl 8007040 } /** Initializes the CPU, AHB and APB busses clocks - */ - RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK - 8004120: 230f movs r3, #15 - 8004122: f8c7 3098 str.w r3, [r7, #152] ; 0x98 - |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK + 80066a8: 230f movs r3, #15 + 80066aa: f8c7 3098 str.w r3, [r7, #152] ; 0x98 + | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2; RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI; - 8004126: 2300 movs r3, #0 - 8004128: f8c7 309c str.w r3, [r7, #156] ; 0x9c + 80066ae: 2300 movs r3, #0 + 80066b0: f8c7 309c str.w r3, [r7, #156] ; 0x9c RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - 800412c: 2300 movs r3, #0 - 800412e: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 + 80066b4: 2300 movs r3, #0 + 80066b6: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8; - 8004132: f44f 53c0 mov.w r3, #6144 ; 0x1800 - 8004136: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 + 80066ba: f44f 53c0 mov.w r3, #6144 ; 0x1800 + 80066be: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; - 800413a: 2300 movs r3, #0 - 800413c: f8c7 30a8 str.w r3, [r7, #168] ; 0xa8 - - if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) - 8004140: f107 0398 add.w r3, r7, #152 ; 0x98 - 8004144: 2100 movs r1, #0 - 8004146: 4618 mov r0, r3 - 8004148: f7fd faa6 bl 8001698 - 800414c: 4603 mov r3, r0 - 800414e: 2b00 cmp r3, #0 - 8004150: bf14 ite ne - 8004152: 2301 movne r3, #1 - 8004154: 2300 moveq r3, #0 - 8004156: b2db uxtb r3, r3 - 8004158: 2b00 cmp r3, #0 - 800415a: d001 beq.n 8004160 <_Z18SystemClock_Configv+0xdc> - { + 80066c2: 2300 movs r3, #0 + 80066c4: f8c7 30a8 str.w r3, [r7, #168] ; 0xa8 + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) { + 80066c8: f107 0398 add.w r3, r7, #152 ; 0x98 + 80066cc: 2100 movs r1, #0 + 80066ce: 4618 mov r0, r3 + 80066d0: f7fb f878 bl 80017c4 + 80066d4: 4603 mov r3, r0 + 80066d6: 2b00 cmp r3, #0 + 80066d8: bf14 ite ne + 80066da: 2301 movne r3, #1 + 80066dc: 2300 moveq r3, #0 + 80066de: b2db uxtb r3, r3 + 80066e0: 2b00 cmp r3, #0 + 80066e2: d001 beq.n 80066e8 <_Z18SystemClock_Configv+0xdc> Error_Handler(); - 800415c: f000 fb0a bl 8004774 + 80066e4: f000 fcac bl 8007040 } - PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USART3; - 8004160: f44f 7380 mov.w r3, #256 ; 0x100 - 8004164: 60bb str r3, [r7, #8] + PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USART3 + 80066e8: f44f 6310 mov.w r3, #2304 ; 0x900 + 80066ec: 60bb str r3, [r7, #8] + | RCC_PERIPHCLK_USART6; PeriphClkInitStruct.Usart3ClockSelection = RCC_USART3CLKSOURCE_PCLK1; - 8004166: 2300 movs r3, #0 - 8004168: 657b str r3, [r7, #84] ; 0x54 - if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) - 800416a: f107 0308 add.w r3, r7, #8 - 800416e: 4618 mov r0, r3 - 8004170: f7fd fc60 bl 8001a34 - 8004174: 4603 mov r3, r0 - 8004176: 2b00 cmp r3, #0 - 8004178: bf14 ite ne - 800417a: 2301 movne r3, #1 - 800417c: 2300 moveq r3, #0 - 800417e: b2db uxtb r3, r3 - 8004180: 2b00 cmp r3, #0 - 8004182: d001 beq.n 8004188 <_Z18SystemClock_Configv+0x104> - { + 80066ee: 2300 movs r3, #0 + 80066f0: 657b str r3, [r7, #84] ; 0x54 + PeriphClkInitStruct.Usart6ClockSelection = RCC_USART6CLKSOURCE_PCLK2; + 80066f2: 2300 movs r3, #0 + 80066f4: 663b str r3, [r7, #96] ; 0x60 + if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) { + 80066f6: f107 0308 add.w r3, r7, #8 + 80066fa: 4618 mov r0, r3 + 80066fc: f7fb fa30 bl 8001b60 + 8006700: 4603 mov r3, r0 + 8006702: 2b00 cmp r3, #0 + 8006704: bf14 ite ne + 8006706: 2301 movne r3, #1 + 8006708: 2300 moveq r3, #0 + 800670a: b2db uxtb r3, r3 + 800670c: 2b00 cmp r3, #0 + 800670e: d001 beq.n 8006714 <_Z18SystemClock_Configv+0x108> Error_Handler(); - 8004184: f000 faf6 bl 8004774 + 8006710: f000 fc96 bl 8007040 } } - 8004188: bf00 nop - 800418a: 37e0 adds r7, #224 ; 0xe0 - 800418c: 46bd mov sp, r7 - 800418e: bd80 pop {r7, pc} - 8004190: 40023800 .word 0x40023800 - 8004194: 40007000 .word 0x40007000 - -08004198 <_ZL12MX_TIM2_Initv>: - * @brief TIM2 Initialization Function - * @param None - * @retval None - */ -static void MX_TIM2_Init(void) -{ - 8004198: b580 push {r7, lr} - 800419a: b08c sub sp, #48 ; 0x30 - 800419c: af00 add r7, sp, #0 + 8006714: bf00 nop + 8006716: 37e0 adds r7, #224 ; 0xe0 + 8006718: 46bd mov sp, r7 + 800671a: bd80 pop {r7, pc} + 800671c: 40023800 .word 0x40023800 + 8006720: 40007000 .word 0x40007000 + +08006724 <_ZL12MX_TIM2_Initv>: +/** + * @brief TIM2 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM2_Init(void) { + 8006724: b580 push {r7, lr} + 8006726: b08c sub sp, #48 ; 0x30 + 8006728: af00 add r7, sp, #0 /* USER CODE BEGIN TIM2_Init 0 */ /* USER CODE END TIM2_Init 0 */ - TIM_Encoder_InitTypeDef sConfig = {0}; - 800419e: f107 030c add.w r3, r7, #12 - 80041a2: 2224 movs r2, #36 ; 0x24 - 80041a4: 2100 movs r1, #0 - 80041a6: 4618 mov r0, r3 - 80041a8: f000 fdd6 bl 8004d58 - TIM_MasterConfigTypeDef sMasterConfig = {0}; - 80041ac: 463b mov r3, r7 - 80041ae: 2200 movs r2, #0 - 80041b0: 601a str r2, [r3, #0] - 80041b2: 605a str r2, [r3, #4] - 80041b4: 609a str r2, [r3, #8] + TIM_Encoder_InitTypeDef sConfig = { 0 }; + 800672a: f107 030c add.w r3, r7, #12 + 800672e: 2224 movs r2, #36 ; 0x24 + 8006730: 2100 movs r1, #0 + 8006732: 4618 mov r0, r3 + 8006734: f003 fb7b bl 8009e2e + TIM_MasterConfigTypeDef sMasterConfig = { 0 }; + 8006738: 463b mov r3, r7 + 800673a: 2200 movs r2, #0 + 800673c: 601a str r2, [r3, #0] + 800673e: 605a str r2, [r3, #4] + 8006740: 609a str r2, [r3, #8] /* USER CODE BEGIN TIM2_Init 1 */ /* USER CODE END TIM2_Init 1 */ htim2.Instance = TIM2; - 80041b6: 4b26 ldr r3, [pc, #152] ; (8004250 <_ZL12MX_TIM2_Initv+0xb8>) - 80041b8: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 - 80041bc: 601a str r2, [r3, #0] + 8006742: 4b26 ldr r3, [pc, #152] ; (80067dc <_ZL12MX_TIM2_Initv+0xb8>) + 8006744: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 + 8006748: 601a str r2, [r3, #0] htim2.Init.Prescaler = 0; - 80041be: 4b24 ldr r3, [pc, #144] ; (8004250 <_ZL12MX_TIM2_Initv+0xb8>) - 80041c0: 2200 movs r2, #0 - 80041c2: 605a str r2, [r3, #4] + 800674a: 4b24 ldr r3, [pc, #144] ; (80067dc <_ZL12MX_TIM2_Initv+0xb8>) + 800674c: 2200 movs r2, #0 + 800674e: 605a str r2, [r3, #4] htim2.Init.CounterMode = TIM_COUNTERMODE_UP; - 80041c4: 4b22 ldr r3, [pc, #136] ; (8004250 <_ZL12MX_TIM2_Initv+0xb8>) - 80041c6: 2200 movs r2, #0 - 80041c8: 609a str r2, [r3, #8] + 8006750: 4b22 ldr r3, [pc, #136] ; (80067dc <_ZL12MX_TIM2_Initv+0xb8>) + 8006752: 2200 movs r2, #0 + 8006754: 609a str r2, [r3, #8] htim2.Init.Period = 4294967295; - 80041ca: 4b21 ldr r3, [pc, #132] ; (8004250 <_ZL12MX_TIM2_Initv+0xb8>) - 80041cc: f04f 32ff mov.w r2, #4294967295 ; 0xffffffff - 80041d0: 60da str r2, [r3, #12] + 8006756: 4b21 ldr r3, [pc, #132] ; (80067dc <_ZL12MX_TIM2_Initv+0xb8>) + 8006758: f04f 32ff mov.w r2, #4294967295 ; 0xffffffff + 800675c: 60da str r2, [r3, #12] htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - 80041d2: 4b1f ldr r3, [pc, #124] ; (8004250 <_ZL12MX_TIM2_Initv+0xb8>) - 80041d4: 2200 movs r2, #0 - 80041d6: 611a str r2, [r3, #16] + 800675e: 4b1f ldr r3, [pc, #124] ; (80067dc <_ZL12MX_TIM2_Initv+0xb8>) + 8006760: 2200 movs r2, #0 + 8006762: 611a str r2, [r3, #16] htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - 80041d8: 4b1d ldr r3, [pc, #116] ; (8004250 <_ZL12MX_TIM2_Initv+0xb8>) - 80041da: 2200 movs r2, #0 - 80041dc: 619a str r2, [r3, #24] + 8006764: 4b1d ldr r3, [pc, #116] ; (80067dc <_ZL12MX_TIM2_Initv+0xb8>) + 8006766: 2200 movs r2, #0 + 8006768: 619a str r2, [r3, #24] sConfig.EncoderMode = TIM_ENCODERMODE_TI12; - 80041de: 2303 movs r3, #3 - 80041e0: 60fb str r3, [r7, #12] + 800676a: 2303 movs r3, #3 + 800676c: 60fb str r3, [r7, #12] sConfig.IC1Polarity = TIM_ICPOLARITY_RISING; - 80041e2: 2300 movs r3, #0 - 80041e4: 613b str r3, [r7, #16] + 800676e: 2300 movs r3, #0 + 8006770: 613b str r3, [r7, #16] sConfig.IC1Selection = TIM_ICSELECTION_DIRECTTI; - 80041e6: 2301 movs r3, #1 - 80041e8: 617b str r3, [r7, #20] + 8006772: 2301 movs r3, #1 + 8006774: 617b str r3, [r7, #20] sConfig.IC1Prescaler = TIM_ICPSC_DIV1; - 80041ea: 2300 movs r3, #0 - 80041ec: 61bb str r3, [r7, #24] + 8006776: 2300 movs r3, #0 + 8006778: 61bb str r3, [r7, #24] sConfig.IC1Filter = 0; - 80041ee: 2300 movs r3, #0 - 80041f0: 61fb str r3, [r7, #28] + 800677a: 2300 movs r3, #0 + 800677c: 61fb str r3, [r7, #28] sConfig.IC2Polarity = TIM_ICPOLARITY_RISING; - 80041f2: 2300 movs r3, #0 - 80041f4: 623b str r3, [r7, #32] + 800677e: 2300 movs r3, #0 + 8006780: 623b str r3, [r7, #32] sConfig.IC2Selection = TIM_ICSELECTION_DIRECTTI; - 80041f6: 2301 movs r3, #1 - 80041f8: 627b str r3, [r7, #36] ; 0x24 + 8006782: 2301 movs r3, #1 + 8006784: 627b str r3, [r7, #36] ; 0x24 sConfig.IC2Prescaler = TIM_ICPSC_DIV1; - 80041fa: 2300 movs r3, #0 - 80041fc: 62bb str r3, [r7, #40] ; 0x28 + 8006786: 2300 movs r3, #0 + 8006788: 62bb str r3, [r7, #40] ; 0x28 sConfig.IC2Filter = 0; - 80041fe: 2300 movs r3, #0 - 8004200: 62fb str r3, [r7, #44] ; 0x2c - if (HAL_TIM_Encoder_Init(&htim2, &sConfig) != HAL_OK) - 8004202: f107 030c add.w r3, r7, #12 - 8004206: 4619 mov r1, r3 - 8004208: 4811 ldr r0, [pc, #68] ; (8004250 <_ZL12MX_TIM2_Initv+0xb8>) - 800420a: f7fe f8bb bl 8002384 - 800420e: 4603 mov r3, r0 - 8004210: 2b00 cmp r3, #0 - 8004212: bf14 ite ne - 8004214: 2301 movne r3, #1 - 8004216: 2300 moveq r3, #0 - 8004218: b2db uxtb r3, r3 - 800421a: 2b00 cmp r3, #0 - 800421c: d001 beq.n 8004222 <_ZL12MX_TIM2_Initv+0x8a> - { + 800678a: 2300 movs r3, #0 + 800678c: 62fb str r3, [r7, #44] ; 0x2c + if (HAL_TIM_Encoder_Init(&htim2, &sConfig) != HAL_OK) { + 800678e: f107 030c add.w r3, r7, #12 + 8006792: 4619 mov r1, r3 + 8006794: 4811 ldr r0, [pc, #68] ; (80067dc <_ZL12MX_TIM2_Initv+0xb8>) + 8006796: f7fb fe8b bl 80024b0 + 800679a: 4603 mov r3, r0 + 800679c: 2b00 cmp r3, #0 + 800679e: bf14 ite ne + 80067a0: 2301 movne r3, #1 + 80067a2: 2300 moveq r3, #0 + 80067a4: b2db uxtb r3, r3 + 80067a6: 2b00 cmp r3, #0 + 80067a8: d001 beq.n 80067ae <_ZL12MX_TIM2_Initv+0x8a> Error_Handler(); - 800421e: f000 faa9 bl 8004774 + 80067aa: f000 fc49 bl 8007040 } sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; - 8004222: 2300 movs r3, #0 - 8004224: 603b str r3, [r7, #0] + 80067ae: 2300 movs r3, #0 + 80067b0: 603b str r3, [r7, #0] sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - 8004226: 2300 movs r3, #0 - 8004228: 60bb str r3, [r7, #8] - if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK) - 800422a: 463b mov r3, r7 - 800422c: 4619 mov r1, r3 - 800422e: 4808 ldr r0, [pc, #32] ; (8004250 <_ZL12MX_TIM2_Initv+0xb8>) - 8004230: f7ff f848 bl 80032c4 - 8004234: 4603 mov r3, r0 - 8004236: 2b00 cmp r3, #0 - 8004238: bf14 ite ne - 800423a: 2301 movne r3, #1 - 800423c: 2300 moveq r3, #0 - 800423e: b2db uxtb r3, r3 - 8004240: 2b00 cmp r3, #0 - 8004242: d001 beq.n 8004248 <_ZL12MX_TIM2_Initv+0xb0> - { + 80067b2: 2300 movs r3, #0 + 80067b4: 60bb str r3, [r7, #8] + if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK) { + 80067b6: 463b mov r3, r7 + 80067b8: 4619 mov r1, r3 + 80067ba: 4808 ldr r0, [pc, #32] ; (80067dc <_ZL12MX_TIM2_Initv+0xb8>) + 80067bc: f7fc fe18 bl 80033f0 + 80067c0: 4603 mov r3, r0 + 80067c2: 2b00 cmp r3, #0 + 80067c4: bf14 ite ne + 80067c6: 2301 movne r3, #1 + 80067c8: 2300 moveq r3, #0 + 80067ca: b2db uxtb r3, r3 + 80067cc: 2b00 cmp r3, #0 + 80067ce: d001 beq.n 80067d4 <_ZL12MX_TIM2_Initv+0xb0> Error_Handler(); - 8004244: f000 fa96 bl 8004774 + 80067d0: f000 fc36 bl 8007040 } /* USER CODE BEGIN TIM2_Init 2 */ /* USER CODE END TIM2_Init 2 */ } - 8004248: bf00 nop - 800424a: 3730 adds r7, #48 ; 0x30 - 800424c: 46bd mov sp, r7 - 800424e: bd80 pop {r7, pc} - 8004250: 20000028 .word 0x20000028 + 80067d4: bf00 nop + 80067d6: 3730 adds r7, #48 ; 0x30 + 80067d8: 46bd mov sp, r7 + 80067da: bd80 pop {r7, pc} + 80067dc: 200000a4 .word 0x200000a4 -08004254 <_ZL12MX_TIM3_Initv>: - * @brief TIM3 Initialization Function - * @param None - * @retval None - */ -static void MX_TIM3_Init(void) -{ - 8004254: b580 push {r7, lr} - 8004256: b088 sub sp, #32 - 8004258: af00 add r7, sp, #0 +080067e0 <_ZL12MX_TIM3_Initv>: +/** + * @brief TIM3 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM3_Init(void) { + 80067e0: b580 push {r7, lr} + 80067e2: b088 sub sp, #32 + 80067e4: af00 add r7, sp, #0 /* USER CODE BEGIN TIM3_Init 0 */ /* USER CODE END TIM3_Init 0 */ - TIM_ClockConfigTypeDef sClockSourceConfig = {0}; - 800425a: f107 0310 add.w r3, r7, #16 - 800425e: 2200 movs r2, #0 - 8004260: 601a str r2, [r3, #0] - 8004262: 605a str r2, [r3, #4] - 8004264: 609a str r2, [r3, #8] - 8004266: 60da str r2, [r3, #12] - TIM_MasterConfigTypeDef sMasterConfig = {0}; - 8004268: 1d3b adds r3, r7, #4 - 800426a: 2200 movs r2, #0 - 800426c: 601a str r2, [r3, #0] - 800426e: 605a str r2, [r3, #4] - 8004270: 609a str r2, [r3, #8] + TIM_ClockConfigTypeDef sClockSourceConfig = { 0 }; + 80067e6: f107 0310 add.w r3, r7, #16 + 80067ea: 2200 movs r2, #0 + 80067ec: 601a str r2, [r3, #0] + 80067ee: 605a str r2, [r3, #4] + 80067f0: 609a str r2, [r3, #8] + 80067f2: 60da str r2, [r3, #12] + TIM_MasterConfigTypeDef sMasterConfig = { 0 }; + 80067f4: 1d3b adds r3, r7, #4 + 80067f6: 2200 movs r2, #0 + 80067f8: 601a str r2, [r3, #0] + 80067fa: 605a str r2, [r3, #4] + 80067fc: 609a str r2, [r3, #8] /* USER CODE BEGIN TIM3_Init 1 */ /* USER CODE END TIM3_Init 1 */ htim3.Instance = TIM3; - 8004272: 4b25 ldr r3, [pc, #148] ; (8004308 <_ZL12MX_TIM3_Initv+0xb4>) - 8004274: 4a25 ldr r2, [pc, #148] ; (800430c <_ZL12MX_TIM3_Initv+0xb8>) - 8004276: 601a str r2, [r3, #0] + 80067fe: 4b25 ldr r3, [pc, #148] ; (8006894 <_ZL12MX_TIM3_Initv+0xb4>) + 8006800: 4a25 ldr r2, [pc, #148] ; (8006898 <_ZL12MX_TIM3_Initv+0xb8>) + 8006802: 601a str r2, [r3, #0] htim3.Init.Prescaler = 39999; - 8004278: 4b23 ldr r3, [pc, #140] ; (8004308 <_ZL12MX_TIM3_Initv+0xb4>) - 800427a: f649 423f movw r2, #39999 ; 0x9c3f - 800427e: 605a str r2, [r3, #4] + 8006804: 4b23 ldr r3, [pc, #140] ; (8006894 <_ZL12MX_TIM3_Initv+0xb4>) + 8006806: f649 423f movw r2, #39999 ; 0x9c3f + 800680a: 605a str r2, [r3, #4] htim3.Init.CounterMode = TIM_COUNTERMODE_UP; - 8004280: 4b21 ldr r3, [pc, #132] ; (8004308 <_ZL12MX_TIM3_Initv+0xb4>) - 8004282: 2200 movs r2, #0 - 8004284: 609a str r2, [r3, #8] + 800680c: 4b21 ldr r3, [pc, #132] ; (8006894 <_ZL12MX_TIM3_Initv+0xb4>) + 800680e: 2200 movs r2, #0 + 8006810: 609a str r2, [r3, #8] htim3.Init.Period = 9; - 8004286: 4b20 ldr r3, [pc, #128] ; (8004308 <_ZL12MX_TIM3_Initv+0xb4>) - 8004288: 2209 movs r2, #9 - 800428a: 60da str r2, [r3, #12] + 8006812: 4b20 ldr r3, [pc, #128] ; (8006894 <_ZL12MX_TIM3_Initv+0xb4>) + 8006814: 2209 movs r2, #9 + 8006816: 60da str r2, [r3, #12] htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - 800428c: 4b1e ldr r3, [pc, #120] ; (8004308 <_ZL12MX_TIM3_Initv+0xb4>) - 800428e: 2200 movs r2, #0 - 8004290: 611a str r2, [r3, #16] + 8006818: 4b1e ldr r3, [pc, #120] ; (8006894 <_ZL12MX_TIM3_Initv+0xb4>) + 800681a: 2200 movs r2, #0 + 800681c: 611a str r2, [r3, #16] htim3.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - 8004292: 4b1d ldr r3, [pc, #116] ; (8004308 <_ZL12MX_TIM3_Initv+0xb4>) - 8004294: 2200 movs r2, #0 - 8004296: 619a str r2, [r3, #24] - if (HAL_TIM_Base_Init(&htim3) != HAL_OK) - 8004298: 481b ldr r0, [pc, #108] ; (8004308 <_ZL12MX_TIM3_Initv+0xb4>) - 800429a: f7fd fff1 bl 8002280 - 800429e: 4603 mov r3, r0 - 80042a0: 2b00 cmp r3, #0 - 80042a2: bf14 ite ne - 80042a4: 2301 movne r3, #1 - 80042a6: 2300 moveq r3, #0 - 80042a8: b2db uxtb r3, r3 - 80042aa: 2b00 cmp r3, #0 - 80042ac: d001 beq.n 80042b2 <_ZL12MX_TIM3_Initv+0x5e> - { + 800681e: 4b1d ldr r3, [pc, #116] ; (8006894 <_ZL12MX_TIM3_Initv+0xb4>) + 8006820: 2200 movs r2, #0 + 8006822: 619a str r2, [r3, #24] + if (HAL_TIM_Base_Init(&htim3) != HAL_OK) { + 8006824: 481b ldr r0, [pc, #108] ; (8006894 <_ZL12MX_TIM3_Initv+0xb4>) + 8006826: f7fb fdc1 bl 80023ac + 800682a: 4603 mov r3, r0 + 800682c: 2b00 cmp r3, #0 + 800682e: bf14 ite ne + 8006830: 2301 movne r3, #1 + 8006832: 2300 moveq r3, #0 + 8006834: b2db uxtb r3, r3 + 8006836: 2b00 cmp r3, #0 + 8006838: d001 beq.n 800683e <_ZL12MX_TIM3_Initv+0x5e> Error_Handler(); - 80042ae: f000 fa61 bl 8004774 + 800683a: f000 fc01 bl 8007040 } sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; - 80042b2: f44f 5380 mov.w r3, #4096 ; 0x1000 - 80042b6: 613b str r3, [r7, #16] - if (HAL_TIM_ConfigClockSource(&htim3, &sClockSourceConfig) != HAL_OK) - 80042b8: f107 0310 add.w r3, r7, #16 - 80042bc: 4619 mov r1, r3 - 80042be: 4812 ldr r0, [pc, #72] ; (8004308 <_ZL12MX_TIM3_Initv+0xb4>) - 80042c0: f7fe fb60 bl 8002984 - 80042c4: 4603 mov r3, r0 - 80042c6: 2b00 cmp r3, #0 - 80042c8: bf14 ite ne - 80042ca: 2301 movne r3, #1 - 80042cc: 2300 moveq r3, #0 - 80042ce: b2db uxtb r3, r3 - 80042d0: 2b00 cmp r3, #0 - 80042d2: d001 beq.n 80042d8 <_ZL12MX_TIM3_Initv+0x84> - { + 800683e: f44f 5380 mov.w r3, #4096 ; 0x1000 + 8006842: 613b str r3, [r7, #16] + if (HAL_TIM_ConfigClockSource(&htim3, &sClockSourceConfig) != HAL_OK) { + 8006844: f107 0310 add.w r3, r7, #16 + 8006848: 4619 mov r1, r3 + 800684a: 4812 ldr r0, [pc, #72] ; (8006894 <_ZL12MX_TIM3_Initv+0xb4>) + 800684c: f7fc f930 bl 8002ab0 + 8006850: 4603 mov r3, r0 + 8006852: 2b00 cmp r3, #0 + 8006854: bf14 ite ne + 8006856: 2301 movne r3, #1 + 8006858: 2300 moveq r3, #0 + 800685a: b2db uxtb r3, r3 + 800685c: 2b00 cmp r3, #0 + 800685e: d001 beq.n 8006864 <_ZL12MX_TIM3_Initv+0x84> Error_Handler(); - 80042d4: f000 fa4e bl 8004774 + 8006860: f000 fbee bl 8007040 } sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; - 80042d8: 2300 movs r3, #0 - 80042da: 607b str r3, [r7, #4] + 8006864: 2300 movs r3, #0 + 8006866: 607b str r3, [r7, #4] sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - 80042dc: 2300 movs r3, #0 - 80042de: 60fb str r3, [r7, #12] - if (HAL_TIMEx_MasterConfigSynchronization(&htim3, &sMasterConfig) != HAL_OK) - 80042e0: 1d3b adds r3, r7, #4 - 80042e2: 4619 mov r1, r3 - 80042e4: 4808 ldr r0, [pc, #32] ; (8004308 <_ZL12MX_TIM3_Initv+0xb4>) - 80042e6: f7fe ffed bl 80032c4 - 80042ea: 4603 mov r3, r0 - 80042ec: 2b00 cmp r3, #0 - 80042ee: bf14 ite ne - 80042f0: 2301 movne r3, #1 - 80042f2: 2300 moveq r3, #0 - 80042f4: b2db uxtb r3, r3 - 80042f6: 2b00 cmp r3, #0 - 80042f8: d001 beq.n 80042fe <_ZL12MX_TIM3_Initv+0xaa> - { + 8006868: 2300 movs r3, #0 + 800686a: 60fb str r3, [r7, #12] + if (HAL_TIMEx_MasterConfigSynchronization(&htim3, &sMasterConfig) != HAL_OK) { + 800686c: 1d3b adds r3, r7, #4 + 800686e: 4619 mov r1, r3 + 8006870: 4808 ldr r0, [pc, #32] ; (8006894 <_ZL12MX_TIM3_Initv+0xb4>) + 8006872: f7fc fdbd bl 80033f0 + 8006876: 4603 mov r3, r0 + 8006878: 2b00 cmp r3, #0 + 800687a: bf14 ite ne + 800687c: 2301 movne r3, #1 + 800687e: 2300 moveq r3, #0 + 8006880: b2db uxtb r3, r3 + 8006882: 2b00 cmp r3, #0 + 8006884: d001 beq.n 800688a <_ZL12MX_TIM3_Initv+0xaa> Error_Handler(); - 80042fa: f000 fa3b bl 8004774 + 8006886: f000 fbdb bl 8007040 } /* USER CODE BEGIN TIM3_Init 2 */ /* USER CODE END TIM3_Init 2 */ } - 80042fe: bf00 nop - 8004300: 3720 adds r7, #32 - 8004302: 46bd mov sp, r7 - 8004304: bd80 pop {r7, pc} - 8004306: bf00 nop - 8004308: 20000068 .word 0x20000068 - 800430c: 40000400 .word 0x40000400 - -08004310 <_ZL12MX_TIM4_Initv>: - * @brief TIM4 Initialization Function - * @param None - * @retval None - */ -static void MX_TIM4_Init(void) -{ - 8004310: b580 push {r7, lr} - 8004312: b08a sub sp, #40 ; 0x28 - 8004314: af00 add r7, sp, #0 + 800688a: bf00 nop + 800688c: 3720 adds r7, #32 + 800688e: 46bd mov sp, r7 + 8006890: bd80 pop {r7, pc} + 8006892: bf00 nop + 8006894: 200000e4 .word 0x200000e4 + 8006898: 40000400 .word 0x40000400 + +0800689c <_ZL12MX_TIM4_Initv>: +/** + * @brief TIM4 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM4_Init(void) { + 800689c: b580 push {r7, lr} + 800689e: b08a sub sp, #40 ; 0x28 + 80068a0: af00 add r7, sp, #0 /* USER CODE BEGIN TIM4_Init 0 */ /* USER CODE END TIM4_Init 0 */ - TIM_MasterConfigTypeDef sMasterConfig = {0}; - 8004316: f107 031c add.w r3, r7, #28 - 800431a: 2200 movs r2, #0 - 800431c: 601a str r2, [r3, #0] - 800431e: 605a str r2, [r3, #4] - 8004320: 609a str r2, [r3, #8] - TIM_OC_InitTypeDef sConfigOC = {0}; - 8004322: 463b mov r3, r7 - 8004324: 2200 movs r2, #0 - 8004326: 601a str r2, [r3, #0] - 8004328: 605a str r2, [r3, #4] - 800432a: 609a str r2, [r3, #8] - 800432c: 60da str r2, [r3, #12] - 800432e: 611a str r2, [r3, #16] - 8004330: 615a str r2, [r3, #20] - 8004332: 619a str r2, [r3, #24] + TIM_MasterConfigTypeDef sMasterConfig = { 0 }; + 80068a2: f107 031c add.w r3, r7, #28 + 80068a6: 2200 movs r2, #0 + 80068a8: 601a str r2, [r3, #0] + 80068aa: 605a str r2, [r3, #4] + 80068ac: 609a str r2, [r3, #8] + TIM_OC_InitTypeDef sConfigOC = { 0 }; + 80068ae: 463b mov r3, r7 + 80068b0: 2200 movs r2, #0 + 80068b2: 601a str r2, [r3, #0] + 80068b4: 605a str r2, [r3, #4] + 80068b6: 609a str r2, [r3, #8] + 80068b8: 60da str r2, [r3, #12] + 80068ba: 611a str r2, [r3, #16] + 80068bc: 615a str r2, [r3, #20] + 80068be: 619a str r2, [r3, #24] /* USER CODE BEGIN TIM4_Init 1 */ /* USER CODE END TIM4_Init 1 */ htim4.Instance = TIM4; - 8004334: 4b30 ldr r3, [pc, #192] ; (80043f8 <_ZL12MX_TIM4_Initv+0xe8>) - 8004336: 4a31 ldr r2, [pc, #196] ; (80043fc <_ZL12MX_TIM4_Initv+0xec>) - 8004338: 601a str r2, [r3, #0] + 80068c0: 4b30 ldr r3, [pc, #192] ; (8006984 <_ZL12MX_TIM4_Initv+0xe8>) + 80068c2: 4a31 ldr r2, [pc, #196] ; (8006988 <_ZL12MX_TIM4_Initv+0xec>) + 80068c4: 601a str r2, [r3, #0] htim4.Init.Prescaler = 0; - 800433a: 4b2f ldr r3, [pc, #188] ; (80043f8 <_ZL12MX_TIM4_Initv+0xe8>) - 800433c: 2200 movs r2, #0 - 800433e: 605a str r2, [r3, #4] + 80068c6: 4b2f ldr r3, [pc, #188] ; (8006984 <_ZL12MX_TIM4_Initv+0xe8>) + 80068c8: 2200 movs r2, #0 + 80068ca: 605a str r2, [r3, #4] htim4.Init.CounterMode = TIM_COUNTERMODE_UP; - 8004340: 4b2d ldr r3, [pc, #180] ; (80043f8 <_ZL12MX_TIM4_Initv+0xe8>) - 8004342: 2200 movs r2, #0 - 8004344: 609a str r2, [r3, #8] + 80068cc: 4b2d ldr r3, [pc, #180] ; (8006984 <_ZL12MX_TIM4_Initv+0xe8>) + 80068ce: 2200 movs r2, #0 + 80068d0: 609a str r2, [r3, #8] htim4.Init.Period = 0; - 8004346: 4b2c ldr r3, [pc, #176] ; (80043f8 <_ZL12MX_TIM4_Initv+0xe8>) - 8004348: 2200 movs r2, #0 - 800434a: 60da str r2, [r3, #12] + 80068d2: 4b2c ldr r3, [pc, #176] ; (8006984 <_ZL12MX_TIM4_Initv+0xe8>) + 80068d4: 2200 movs r2, #0 + 80068d6: 60da str r2, [r3, #12] htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - 800434c: 4b2a ldr r3, [pc, #168] ; (80043f8 <_ZL12MX_TIM4_Initv+0xe8>) - 800434e: 2200 movs r2, #0 - 8004350: 611a str r2, [r3, #16] + 80068d8: 4b2a ldr r3, [pc, #168] ; (8006984 <_ZL12MX_TIM4_Initv+0xe8>) + 80068da: 2200 movs r2, #0 + 80068dc: 611a str r2, [r3, #16] htim4.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - 8004352: 4b29 ldr r3, [pc, #164] ; (80043f8 <_ZL12MX_TIM4_Initv+0xe8>) - 8004354: 2200 movs r2, #0 - 8004356: 619a str r2, [r3, #24] - if (HAL_TIM_PWM_Init(&htim4) != HAL_OK) - 8004358: 4827 ldr r0, [pc, #156] ; (80043f8 <_ZL12MX_TIM4_Initv+0xe8>) - 800435a: f7fd ffe7 bl 800232c - 800435e: 4603 mov r3, r0 - 8004360: 2b00 cmp r3, #0 - 8004362: bf14 ite ne - 8004364: 2301 movne r3, #1 - 8004366: 2300 moveq r3, #0 - 8004368: b2db uxtb r3, r3 - 800436a: 2b00 cmp r3, #0 - 800436c: d001 beq.n 8004372 <_ZL12MX_TIM4_Initv+0x62> - { + 80068de: 4b29 ldr r3, [pc, #164] ; (8006984 <_ZL12MX_TIM4_Initv+0xe8>) + 80068e0: 2200 movs r2, #0 + 80068e2: 619a str r2, [r3, #24] + if (HAL_TIM_PWM_Init(&htim4) != HAL_OK) { + 80068e4: 4827 ldr r0, [pc, #156] ; (8006984 <_ZL12MX_TIM4_Initv+0xe8>) + 80068e6: f7fb fdb7 bl 8002458 + 80068ea: 4603 mov r3, r0 + 80068ec: 2b00 cmp r3, #0 + 80068ee: bf14 ite ne + 80068f0: 2301 movne r3, #1 + 80068f2: 2300 moveq r3, #0 + 80068f4: b2db uxtb r3, r3 + 80068f6: 2b00 cmp r3, #0 + 80068f8: d001 beq.n 80068fe <_ZL12MX_TIM4_Initv+0x62> Error_Handler(); - 800436e: f000 fa01 bl 8004774 + 80068fa: f000 fba1 bl 8007040 } sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; - 8004372: 2300 movs r3, #0 - 8004374: 61fb str r3, [r7, #28] + 80068fe: 2300 movs r3, #0 + 8006900: 61fb str r3, [r7, #28] sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - 8004376: 2300 movs r3, #0 - 8004378: 627b str r3, [r7, #36] ; 0x24 - if (HAL_TIMEx_MasterConfigSynchronization(&htim4, &sMasterConfig) != HAL_OK) - 800437a: f107 031c add.w r3, r7, #28 - 800437e: 4619 mov r1, r3 - 8004380: 481d ldr r0, [pc, #116] ; (80043f8 <_ZL12MX_TIM4_Initv+0xe8>) - 8004382: f7fe ff9f bl 80032c4 - 8004386: 4603 mov r3, r0 - 8004388: 2b00 cmp r3, #0 - 800438a: bf14 ite ne - 800438c: 2301 movne r3, #1 - 800438e: 2300 moveq r3, #0 - 8004390: b2db uxtb r3, r3 - 8004392: 2b00 cmp r3, #0 - 8004394: d001 beq.n 800439a <_ZL12MX_TIM4_Initv+0x8a> - { + 8006902: 2300 movs r3, #0 + 8006904: 627b str r3, [r7, #36] ; 0x24 + if (HAL_TIMEx_MasterConfigSynchronization(&htim4, &sMasterConfig) != HAL_OK) { + 8006906: f107 031c add.w r3, r7, #28 + 800690a: 4619 mov r1, r3 + 800690c: 481d ldr r0, [pc, #116] ; (8006984 <_ZL12MX_TIM4_Initv+0xe8>) + 800690e: f7fc fd6f bl 80033f0 + 8006912: 4603 mov r3, r0 + 8006914: 2b00 cmp r3, #0 + 8006916: bf14 ite ne + 8006918: 2301 movne r3, #1 + 800691a: 2300 moveq r3, #0 + 800691c: b2db uxtb r3, r3 + 800691e: 2b00 cmp r3, #0 + 8006920: d001 beq.n 8006926 <_ZL12MX_TIM4_Initv+0x8a> Error_Handler(); - 8004396: f000 f9ed bl 8004774 + 8006922: f000 fb8d bl 8007040 } sConfigOC.OCMode = TIM_OCMODE_PWM1; - 800439a: 2360 movs r3, #96 ; 0x60 - 800439c: 603b str r3, [r7, #0] + 8006926: 2360 movs r3, #96 ; 0x60 + 8006928: 603b str r3, [r7, #0] sConfigOC.Pulse = 0; - 800439e: 2300 movs r3, #0 - 80043a0: 607b str r3, [r7, #4] + 800692a: 2300 movs r3, #0 + 800692c: 607b str r3, [r7, #4] sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; - 80043a2: 2300 movs r3, #0 - 80043a4: 60bb str r3, [r7, #8] + 800692e: 2300 movs r3, #0 + 8006930: 60bb str r3, [r7, #8] sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; - 80043a6: 2300 movs r3, #0 - 80043a8: 613b str r3, [r7, #16] - if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_3) != HAL_OK) - 80043aa: 463b mov r3, r7 - 80043ac: 2208 movs r2, #8 - 80043ae: 4619 mov r1, r3 - 80043b0: 4811 ldr r0, [pc, #68] ; (80043f8 <_ZL12MX_TIM4_Initv+0xe8>) - 80043b2: f7fe f9cf bl 8002754 - 80043b6: 4603 mov r3, r0 - 80043b8: 2b00 cmp r3, #0 - 80043ba: bf14 ite ne - 80043bc: 2301 movne r3, #1 - 80043be: 2300 moveq r3, #0 - 80043c0: b2db uxtb r3, r3 - 80043c2: 2b00 cmp r3, #0 - 80043c4: d001 beq.n 80043ca <_ZL12MX_TIM4_Initv+0xba> - { + 8006932: 2300 movs r3, #0 + 8006934: 613b str r3, [r7, #16] + if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_3) != HAL_OK) { + 8006936: 463b mov r3, r7 + 8006938: 2208 movs r2, #8 + 800693a: 4619 mov r1, r3 + 800693c: 4811 ldr r0, [pc, #68] ; (8006984 <_ZL12MX_TIM4_Initv+0xe8>) + 800693e: f7fb ff9f bl 8002880 + 8006942: 4603 mov r3, r0 + 8006944: 2b00 cmp r3, #0 + 8006946: bf14 ite ne + 8006948: 2301 movne r3, #1 + 800694a: 2300 moveq r3, #0 + 800694c: b2db uxtb r3, r3 + 800694e: 2b00 cmp r3, #0 + 8006950: d001 beq.n 8006956 <_ZL12MX_TIM4_Initv+0xba> Error_Handler(); - 80043c6: f000 f9d5 bl 8004774 - } - if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_4) != HAL_OK) - 80043ca: 463b mov r3, r7 - 80043cc: 220c movs r2, #12 - 80043ce: 4619 mov r1, r3 - 80043d0: 4809 ldr r0, [pc, #36] ; (80043f8 <_ZL12MX_TIM4_Initv+0xe8>) - 80043d2: f7fe f9bf bl 8002754 - 80043d6: 4603 mov r3, r0 - 80043d8: 2b00 cmp r3, #0 - 80043da: bf14 ite ne - 80043dc: 2301 movne r3, #1 - 80043de: 2300 moveq r3, #0 - 80043e0: b2db uxtb r3, r3 - 80043e2: 2b00 cmp r3, #0 - 80043e4: d001 beq.n 80043ea <_ZL12MX_TIM4_Initv+0xda> - { + 8006952: f000 fb75 bl 8007040 + } + if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_4) != HAL_OK) { + 8006956: 463b mov r3, r7 + 8006958: 220c movs r2, #12 + 800695a: 4619 mov r1, r3 + 800695c: 4809 ldr r0, [pc, #36] ; (8006984 <_ZL12MX_TIM4_Initv+0xe8>) + 800695e: f7fb ff8f bl 8002880 + 8006962: 4603 mov r3, r0 + 8006964: 2b00 cmp r3, #0 + 8006966: bf14 ite ne + 8006968: 2301 movne r3, #1 + 800696a: 2300 moveq r3, #0 + 800696c: b2db uxtb r3, r3 + 800696e: 2b00 cmp r3, #0 + 8006970: d001 beq.n 8006976 <_ZL12MX_TIM4_Initv+0xda> Error_Handler(); - 80043e6: f000 f9c5 bl 8004774 + 8006972: f000 fb65 bl 8007040 } /* USER CODE BEGIN TIM4_Init 2 */ /* USER CODE END TIM4_Init 2 */ HAL_TIM_MspPostInit(&htim4); - 80043ea: 4803 ldr r0, [pc, #12] ; (80043f8 <_ZL12MX_TIM4_Initv+0xe8>) - 80043ec: f000 faee bl 80049cc + 8006976: 4803 ldr r0, [pc, #12] ; (8006984 <_ZL12MX_TIM4_Initv+0xe8>) + 8006978: f001 fb8c bl 8008094 } - 80043f0: bf00 nop - 80043f2: 3728 adds r7, #40 ; 0x28 - 80043f4: 46bd mov sp, r7 - 80043f6: bd80 pop {r7, pc} - 80043f8: 200000a8 .word 0x200000a8 - 80043fc: 40000800 .word 0x40000800 - -08004400 <_ZL12MX_TIM5_Initv>: - * @brief TIM5 Initialization Function - * @param None - * @retval None - */ -static void MX_TIM5_Init(void) -{ - 8004400: b580 push {r7, lr} - 8004402: b08c sub sp, #48 ; 0x30 - 8004404: af00 add r7, sp, #0 + 800697c: bf00 nop + 800697e: 3728 adds r7, #40 ; 0x28 + 8006980: 46bd mov sp, r7 + 8006982: bd80 pop {r7, pc} + 8006984: 20000124 .word 0x20000124 + 8006988: 40000800 .word 0x40000800 + +0800698c <_ZL12MX_TIM5_Initv>: +/** + * @brief TIM5 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM5_Init(void) { + 800698c: b580 push {r7, lr} + 800698e: b08c sub sp, #48 ; 0x30 + 8006990: af00 add r7, sp, #0 /* USER CODE BEGIN TIM5_Init 0 */ /* USER CODE END TIM5_Init 0 */ - TIM_Encoder_InitTypeDef sConfig = {0}; - 8004406: f107 030c add.w r3, r7, #12 - 800440a: 2224 movs r2, #36 ; 0x24 - 800440c: 2100 movs r1, #0 - 800440e: 4618 mov r0, r3 - 8004410: f000 fca2 bl 8004d58 - TIM_MasterConfigTypeDef sMasterConfig = {0}; - 8004414: 463b mov r3, r7 - 8004416: 2200 movs r2, #0 - 8004418: 601a str r2, [r3, #0] - 800441a: 605a str r2, [r3, #4] - 800441c: 609a str r2, [r3, #8] + TIM_Encoder_InitTypeDef sConfig = { 0 }; + 8006992: f107 030c add.w r3, r7, #12 + 8006996: 2224 movs r2, #36 ; 0x24 + 8006998: 2100 movs r1, #0 + 800699a: 4618 mov r0, r3 + 800699c: f003 fa47 bl 8009e2e + TIM_MasterConfigTypeDef sMasterConfig = { 0 }; + 80069a0: 463b mov r3, r7 + 80069a2: 2200 movs r2, #0 + 80069a4: 601a str r2, [r3, #0] + 80069a6: 605a str r2, [r3, #4] + 80069a8: 609a str r2, [r3, #8] /* USER CODE BEGIN TIM5_Init 1 */ /* USER CODE END TIM5_Init 1 */ htim5.Instance = TIM5; - 800441e: 4b25 ldr r3, [pc, #148] ; (80044b4 <_ZL12MX_TIM5_Initv+0xb4>) - 8004420: 4a25 ldr r2, [pc, #148] ; (80044b8 <_ZL12MX_TIM5_Initv+0xb8>) - 8004422: 601a str r2, [r3, #0] + 80069aa: 4b25 ldr r3, [pc, #148] ; (8006a40 <_ZL12MX_TIM5_Initv+0xb4>) + 80069ac: 4a25 ldr r2, [pc, #148] ; (8006a44 <_ZL12MX_TIM5_Initv+0xb8>) + 80069ae: 601a str r2, [r3, #0] htim5.Init.Prescaler = 0; - 8004424: 4b23 ldr r3, [pc, #140] ; (80044b4 <_ZL12MX_TIM5_Initv+0xb4>) - 8004426: 2200 movs r2, #0 - 8004428: 605a str r2, [r3, #4] + 80069b0: 4b23 ldr r3, [pc, #140] ; (8006a40 <_ZL12MX_TIM5_Initv+0xb4>) + 80069b2: 2200 movs r2, #0 + 80069b4: 605a str r2, [r3, #4] htim5.Init.CounterMode = TIM_COUNTERMODE_UP; - 800442a: 4b22 ldr r3, [pc, #136] ; (80044b4 <_ZL12MX_TIM5_Initv+0xb4>) - 800442c: 2200 movs r2, #0 - 800442e: 609a str r2, [r3, #8] + 80069b6: 4b22 ldr r3, [pc, #136] ; (8006a40 <_ZL12MX_TIM5_Initv+0xb4>) + 80069b8: 2200 movs r2, #0 + 80069ba: 609a str r2, [r3, #8] htim5.Init.Period = 0; - 8004430: 4b20 ldr r3, [pc, #128] ; (80044b4 <_ZL12MX_TIM5_Initv+0xb4>) - 8004432: 2200 movs r2, #0 - 8004434: 60da str r2, [r3, #12] + 80069bc: 4b20 ldr r3, [pc, #128] ; (8006a40 <_ZL12MX_TIM5_Initv+0xb4>) + 80069be: 2200 movs r2, #0 + 80069c0: 60da str r2, [r3, #12] htim5.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - 8004436: 4b1f ldr r3, [pc, #124] ; (80044b4 <_ZL12MX_TIM5_Initv+0xb4>) - 8004438: 2200 movs r2, #0 - 800443a: 611a str r2, [r3, #16] + 80069c2: 4b1f ldr r3, [pc, #124] ; (8006a40 <_ZL12MX_TIM5_Initv+0xb4>) + 80069c4: 2200 movs r2, #0 + 80069c6: 611a str r2, [r3, #16] htim5.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - 800443c: 4b1d ldr r3, [pc, #116] ; (80044b4 <_ZL12MX_TIM5_Initv+0xb4>) - 800443e: 2200 movs r2, #0 - 8004440: 619a str r2, [r3, #24] + 80069c8: 4b1d ldr r3, [pc, #116] ; (8006a40 <_ZL12MX_TIM5_Initv+0xb4>) + 80069ca: 2200 movs r2, #0 + 80069cc: 619a str r2, [r3, #24] sConfig.EncoderMode = TIM_ENCODERMODE_TI12; - 8004442: 2303 movs r3, #3 - 8004444: 60fb str r3, [r7, #12] + 80069ce: 2303 movs r3, #3 + 80069d0: 60fb str r3, [r7, #12] sConfig.IC1Polarity = TIM_ICPOLARITY_RISING; - 8004446: 2300 movs r3, #0 - 8004448: 613b str r3, [r7, #16] + 80069d2: 2300 movs r3, #0 + 80069d4: 613b str r3, [r7, #16] sConfig.IC1Selection = TIM_ICSELECTION_DIRECTTI; - 800444a: 2301 movs r3, #1 - 800444c: 617b str r3, [r7, #20] + 80069d6: 2301 movs r3, #1 + 80069d8: 617b str r3, [r7, #20] sConfig.IC1Prescaler = TIM_ICPSC_DIV1; - 800444e: 2300 movs r3, #0 - 8004450: 61bb str r3, [r7, #24] + 80069da: 2300 movs r3, #0 + 80069dc: 61bb str r3, [r7, #24] sConfig.IC1Filter = 0; - 8004452: 2300 movs r3, #0 - 8004454: 61fb str r3, [r7, #28] + 80069de: 2300 movs r3, #0 + 80069e0: 61fb str r3, [r7, #28] sConfig.IC2Polarity = TIM_ICPOLARITY_RISING; - 8004456: 2300 movs r3, #0 - 8004458: 623b str r3, [r7, #32] + 80069e2: 2300 movs r3, #0 + 80069e4: 623b str r3, [r7, #32] sConfig.IC2Selection = TIM_ICSELECTION_DIRECTTI; - 800445a: 2301 movs r3, #1 - 800445c: 627b str r3, [r7, #36] ; 0x24 + 80069e6: 2301 movs r3, #1 + 80069e8: 627b str r3, [r7, #36] ; 0x24 sConfig.IC2Prescaler = TIM_ICPSC_DIV1; - 800445e: 2300 movs r3, #0 - 8004460: 62bb str r3, [r7, #40] ; 0x28 + 80069ea: 2300 movs r3, #0 + 80069ec: 62bb str r3, [r7, #40] ; 0x28 sConfig.IC2Filter = 0; - 8004462: 2300 movs r3, #0 - 8004464: 62fb str r3, [r7, #44] ; 0x2c - if (HAL_TIM_Encoder_Init(&htim5, &sConfig) != HAL_OK) - 8004466: f107 030c add.w r3, r7, #12 - 800446a: 4619 mov r1, r3 - 800446c: 4811 ldr r0, [pc, #68] ; (80044b4 <_ZL12MX_TIM5_Initv+0xb4>) - 800446e: f7fd ff89 bl 8002384 - 8004472: 4603 mov r3, r0 - 8004474: 2b00 cmp r3, #0 - 8004476: bf14 ite ne - 8004478: 2301 movne r3, #1 - 800447a: 2300 moveq r3, #0 - 800447c: b2db uxtb r3, r3 - 800447e: 2b00 cmp r3, #0 - 8004480: d001 beq.n 8004486 <_ZL12MX_TIM5_Initv+0x86> - { + 80069ee: 2300 movs r3, #0 + 80069f0: 62fb str r3, [r7, #44] ; 0x2c + if (HAL_TIM_Encoder_Init(&htim5, &sConfig) != HAL_OK) { + 80069f2: f107 030c add.w r3, r7, #12 + 80069f6: 4619 mov r1, r3 + 80069f8: 4811 ldr r0, [pc, #68] ; (8006a40 <_ZL12MX_TIM5_Initv+0xb4>) + 80069fa: f7fb fd59 bl 80024b0 + 80069fe: 4603 mov r3, r0 + 8006a00: 2b00 cmp r3, #0 + 8006a02: bf14 ite ne + 8006a04: 2301 movne r3, #1 + 8006a06: 2300 moveq r3, #0 + 8006a08: b2db uxtb r3, r3 + 8006a0a: 2b00 cmp r3, #0 + 8006a0c: d001 beq.n 8006a12 <_ZL12MX_TIM5_Initv+0x86> Error_Handler(); - 8004482: f000 f977 bl 8004774 + 8006a0e: f000 fb17 bl 8007040 } sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; - 8004486: 2300 movs r3, #0 - 8004488: 603b str r3, [r7, #0] + 8006a12: 2300 movs r3, #0 + 8006a14: 603b str r3, [r7, #0] sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - 800448a: 2300 movs r3, #0 - 800448c: 60bb str r3, [r7, #8] - if (HAL_TIMEx_MasterConfigSynchronization(&htim5, &sMasterConfig) != HAL_OK) - 800448e: 463b mov r3, r7 - 8004490: 4619 mov r1, r3 - 8004492: 4808 ldr r0, [pc, #32] ; (80044b4 <_ZL12MX_TIM5_Initv+0xb4>) - 8004494: f7fe ff16 bl 80032c4 - 8004498: 4603 mov r3, r0 - 800449a: 2b00 cmp r3, #0 - 800449c: bf14 ite ne - 800449e: 2301 movne r3, #1 - 80044a0: 2300 moveq r3, #0 - 80044a2: b2db uxtb r3, r3 - 80044a4: 2b00 cmp r3, #0 - 80044a6: d001 beq.n 80044ac <_ZL12MX_TIM5_Initv+0xac> - { + 8006a16: 2300 movs r3, #0 + 8006a18: 60bb str r3, [r7, #8] + if (HAL_TIMEx_MasterConfigSynchronization(&htim5, &sMasterConfig) != HAL_OK) { + 8006a1a: 463b mov r3, r7 + 8006a1c: 4619 mov r1, r3 + 8006a1e: 4808 ldr r0, [pc, #32] ; (8006a40 <_ZL12MX_TIM5_Initv+0xb4>) + 8006a20: f7fc fce6 bl 80033f0 + 8006a24: 4603 mov r3, r0 + 8006a26: 2b00 cmp r3, #0 + 8006a28: bf14 ite ne + 8006a2a: 2301 movne r3, #1 + 8006a2c: 2300 moveq r3, #0 + 8006a2e: b2db uxtb r3, r3 + 8006a30: 2b00 cmp r3, #0 + 8006a32: d001 beq.n 8006a38 <_ZL12MX_TIM5_Initv+0xac> Error_Handler(); - 80044a8: f000 f964 bl 8004774 + 8006a34: f000 fb04 bl 8007040 } /* USER CODE BEGIN TIM5_Init 2 */ /* USER CODE END TIM5_Init 2 */ } - 80044ac: bf00 nop - 80044ae: 3730 adds r7, #48 ; 0x30 - 80044b0: 46bd mov sp, r7 - 80044b2: bd80 pop {r7, pc} - 80044b4: 200000e8 .word 0x200000e8 - 80044b8: 40000c00 .word 0x40000c00 - -080044bc <_ZL19MX_USART3_UART_Initv>: - * @brief USART3 Initialization Function - * @param None - * @retval None - */ -static void MX_USART3_UART_Init(void) -{ - 80044bc: b580 push {r7, lr} - 80044be: af00 add r7, sp, #0 + 8006a38: bf00 nop + 8006a3a: 3730 adds r7, #48 ; 0x30 + 8006a3c: 46bd mov sp, r7 + 8006a3e: bd80 pop {r7, pc} + 8006a40: 20000164 .word 0x20000164 + 8006a44: 40000c00 .word 0x40000c00 + +08006a48 <_ZL19MX_USART3_UART_Initv>: +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) { + 8006a48: b580 push {r7, lr} + 8006a4a: af00 add r7, sp, #0 /* USER CODE END USART3_Init 0 */ /* USER CODE BEGIN USART3_Init 1 */ /* USER CODE END USART3_Init 1 */ huart3.Instance = USART3; - 80044c0: 4b16 ldr r3, [pc, #88] ; (800451c <_ZL19MX_USART3_UART_Initv+0x60>) - 80044c2: 4a17 ldr r2, [pc, #92] ; (8004520 <_ZL19MX_USART3_UART_Initv+0x64>) - 80044c4: 601a str r2, [r3, #0] + 8006a4c: 4b16 ldr r3, [pc, #88] ; (8006aa8 <_ZL19MX_USART3_UART_Initv+0x60>) + 8006a4e: 4a17 ldr r2, [pc, #92] ; (8006aac <_ZL19MX_USART3_UART_Initv+0x64>) + 8006a50: 601a str r2, [r3, #0] huart3.Init.BaudRate = 115200; - 80044c6: 4b15 ldr r3, [pc, #84] ; (800451c <_ZL19MX_USART3_UART_Initv+0x60>) - 80044c8: f44f 32e1 mov.w r2, #115200 ; 0x1c200 - 80044cc: 605a str r2, [r3, #4] + 8006a52: 4b15 ldr r3, [pc, #84] ; (8006aa8 <_ZL19MX_USART3_UART_Initv+0x60>) + 8006a54: f44f 32e1 mov.w r2, #115200 ; 0x1c200 + 8006a58: 605a str r2, [r3, #4] huart3.Init.WordLength = UART_WORDLENGTH_8B; - 80044ce: 4b13 ldr r3, [pc, #76] ; (800451c <_ZL19MX_USART3_UART_Initv+0x60>) - 80044d0: 2200 movs r2, #0 - 80044d2: 609a str r2, [r3, #8] + 8006a5a: 4b13 ldr r3, [pc, #76] ; (8006aa8 <_ZL19MX_USART3_UART_Initv+0x60>) + 8006a5c: 2200 movs r2, #0 + 8006a5e: 609a str r2, [r3, #8] huart3.Init.StopBits = UART_STOPBITS_1; - 80044d4: 4b11 ldr r3, [pc, #68] ; (800451c <_ZL19MX_USART3_UART_Initv+0x60>) - 80044d6: 2200 movs r2, #0 - 80044d8: 60da str r2, [r3, #12] + 8006a60: 4b11 ldr r3, [pc, #68] ; (8006aa8 <_ZL19MX_USART3_UART_Initv+0x60>) + 8006a62: 2200 movs r2, #0 + 8006a64: 60da str r2, [r3, #12] huart3.Init.Parity = UART_PARITY_NONE; - 80044da: 4b10 ldr r3, [pc, #64] ; (800451c <_ZL19MX_USART3_UART_Initv+0x60>) - 80044dc: 2200 movs r2, #0 - 80044de: 611a str r2, [r3, #16] + 8006a66: 4b10 ldr r3, [pc, #64] ; (8006aa8 <_ZL19MX_USART3_UART_Initv+0x60>) + 8006a68: 2200 movs r2, #0 + 8006a6a: 611a str r2, [r3, #16] huart3.Init.Mode = UART_MODE_TX_RX; - 80044e0: 4b0e ldr r3, [pc, #56] ; (800451c <_ZL19MX_USART3_UART_Initv+0x60>) - 80044e2: 220c movs r2, #12 - 80044e4: 615a str r2, [r3, #20] + 8006a6c: 4b0e ldr r3, [pc, #56] ; (8006aa8 <_ZL19MX_USART3_UART_Initv+0x60>) + 8006a6e: 220c movs r2, #12 + 8006a70: 615a str r2, [r3, #20] huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; - 80044e6: 4b0d ldr r3, [pc, #52] ; (800451c <_ZL19MX_USART3_UART_Initv+0x60>) - 80044e8: 2200 movs r2, #0 - 80044ea: 619a str r2, [r3, #24] + 8006a72: 4b0d ldr r3, [pc, #52] ; (8006aa8 <_ZL19MX_USART3_UART_Initv+0x60>) + 8006a74: 2200 movs r2, #0 + 8006a76: 619a str r2, [r3, #24] huart3.Init.OverSampling = UART_OVERSAMPLING_16; - 80044ec: 4b0b ldr r3, [pc, #44] ; (800451c <_ZL19MX_USART3_UART_Initv+0x60>) - 80044ee: 2200 movs r2, #0 - 80044f0: 61da str r2, [r3, #28] + 8006a78: 4b0b ldr r3, [pc, #44] ; (8006aa8 <_ZL19MX_USART3_UART_Initv+0x60>) + 8006a7a: 2200 movs r2, #0 + 8006a7c: 61da str r2, [r3, #28] huart3.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE; - 80044f2: 4b0a ldr r3, [pc, #40] ; (800451c <_ZL19MX_USART3_UART_Initv+0x60>) - 80044f4: 2200 movs r2, #0 - 80044f6: 621a str r2, [r3, #32] + 8006a7e: 4b0a ldr r3, [pc, #40] ; (8006aa8 <_ZL19MX_USART3_UART_Initv+0x60>) + 8006a80: 2200 movs r2, #0 + 8006a82: 621a str r2, [r3, #32] huart3.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT; - 80044f8: 4b08 ldr r3, [pc, #32] ; (800451c <_ZL19MX_USART3_UART_Initv+0x60>) - 80044fa: 2200 movs r2, #0 - 80044fc: 625a str r2, [r3, #36] ; 0x24 - if (HAL_UART_Init(&huart3) != HAL_OK) - 80044fe: 4807 ldr r0, [pc, #28] ; (800451c <_ZL19MX_USART3_UART_Initv+0x60>) - 8004500: f7fe ff5a bl 80033b8 - 8004504: 4603 mov r3, r0 - 8004506: 2b00 cmp r3, #0 - 8004508: bf14 ite ne - 800450a: 2301 movne r3, #1 - 800450c: 2300 moveq r3, #0 - 800450e: b2db uxtb r3, r3 - 8004510: 2b00 cmp r3, #0 - 8004512: d001 beq.n 8004518 <_ZL19MX_USART3_UART_Initv+0x5c> - { + 8006a84: 4b08 ldr r3, [pc, #32] ; (8006aa8 <_ZL19MX_USART3_UART_Initv+0x60>) + 8006a86: 2200 movs r2, #0 + 8006a88: 625a str r2, [r3, #36] ; 0x24 + if (HAL_UART_Init(&huart3) != HAL_OK) { + 8006a8a: 4807 ldr r0, [pc, #28] ; (8006aa8 <_ZL19MX_USART3_UART_Initv+0x60>) + 8006a8c: f7fc fd2a bl 80034e4 + 8006a90: 4603 mov r3, r0 + 8006a92: 2b00 cmp r3, #0 + 8006a94: bf14 ite ne + 8006a96: 2301 movne r3, #1 + 8006a98: 2300 moveq r3, #0 + 8006a9a: b2db uxtb r3, r3 + 8006a9c: 2b00 cmp r3, #0 + 8006a9e: d001 beq.n 8006aa4 <_ZL19MX_USART3_UART_Initv+0x5c> Error_Handler(); - 8004514: f000 f92e bl 8004774 + 8006aa0: f000 face bl 8007040 } /* USER CODE BEGIN USART3_Init 2 */ /* USER CODE END USART3_Init 2 */ } - 8004518: bf00 nop - 800451a: bd80 pop {r7, pc} - 800451c: 20000128 .word 0x20000128 - 8004520: 40004800 .word 0x40004800 + 8006aa4: bf00 nop + 8006aa6: bd80 pop {r7, pc} + 8006aa8: 200001a4 .word 0x200001a4 + 8006aac: 40004800 .word 0x40004800 + +08006ab0 <_ZL19MX_USART6_UART_Initv>: +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) { + 8006ab0: b580 push {r7, lr} + 8006ab2: af00 add r7, sp, #0 + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + 8006ab4: 4b16 ldr r3, [pc, #88] ; (8006b10 <_ZL19MX_USART6_UART_Initv+0x60>) + 8006ab6: 4a17 ldr r2, [pc, #92] ; (8006b14 <_ZL19MX_USART6_UART_Initv+0x64>) + 8006ab8: 601a str r2, [r3, #0] + huart6.Init.BaudRate = 115200; + 8006aba: 4b15 ldr r3, [pc, #84] ; (8006b10 <_ZL19MX_USART6_UART_Initv+0x60>) + 8006abc: f44f 32e1 mov.w r2, #115200 ; 0x1c200 + 8006ac0: 605a str r2, [r3, #4] + huart6.Init.WordLength = UART_WORDLENGTH_8B; + 8006ac2: 4b13 ldr r3, [pc, #76] ; (8006b10 <_ZL19MX_USART6_UART_Initv+0x60>) + 8006ac4: 2200 movs r2, #0 + 8006ac6: 609a str r2, [r3, #8] + huart6.Init.StopBits = UART_STOPBITS_1; + 8006ac8: 4b11 ldr r3, [pc, #68] ; (8006b10 <_ZL19MX_USART6_UART_Initv+0x60>) + 8006aca: 2200 movs r2, #0 + 8006acc: 60da str r2, [r3, #12] + huart6.Init.Parity = UART_PARITY_NONE; + 8006ace: 4b10 ldr r3, [pc, #64] ; (8006b10 <_ZL19MX_USART6_UART_Initv+0x60>) + 8006ad0: 2200 movs r2, #0 + 8006ad2: 611a str r2, [r3, #16] + huart6.Init.Mode = UART_MODE_TX_RX; + 8006ad4: 4b0e ldr r3, [pc, #56] ; (8006b10 <_ZL19MX_USART6_UART_Initv+0x60>) + 8006ad6: 220c movs r2, #12 + 8006ad8: 615a str r2, [r3, #20] + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + 8006ada: 4b0d ldr r3, [pc, #52] ; (8006b10 <_ZL19MX_USART6_UART_Initv+0x60>) + 8006adc: 2200 movs r2, #0 + 8006ade: 619a str r2, [r3, #24] + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + 8006ae0: 4b0b ldr r3, [pc, #44] ; (8006b10 <_ZL19MX_USART6_UART_Initv+0x60>) + 8006ae2: 2200 movs r2, #0 + 8006ae4: 61da str r2, [r3, #28] + huart6.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE; + 8006ae6: 4b0a ldr r3, [pc, #40] ; (8006b10 <_ZL19MX_USART6_UART_Initv+0x60>) + 8006ae8: 2200 movs r2, #0 + 8006aea: 621a str r2, [r3, #32] + huart6.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT; + 8006aec: 4b08 ldr r3, [pc, #32] ; (8006b10 <_ZL19MX_USART6_UART_Initv+0x60>) + 8006aee: 2200 movs r2, #0 + 8006af0: 625a str r2, [r3, #36] ; 0x24 + if (HAL_UART_Init(&huart6) != HAL_OK) { + 8006af2: 4807 ldr r0, [pc, #28] ; (8006b10 <_ZL19MX_USART6_UART_Initv+0x60>) + 8006af4: f7fc fcf6 bl 80034e4 + 8006af8: 4603 mov r3, r0 + 8006afa: 2b00 cmp r3, #0 + 8006afc: bf14 ite ne + 8006afe: 2301 movne r3, #1 + 8006b00: 2300 moveq r3, #0 + 8006b02: b2db uxtb r3, r3 + 8006b04: 2b00 cmp r3, #0 + 8006b06: d001 beq.n 8006b0c <_ZL19MX_USART6_UART_Initv+0x5c> + Error_Handler(); + 8006b08: f000 fa9a bl 8007040 + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + 8006b0c: bf00 nop + 8006b0e: bd80 pop {r7, pc} + 8006b10: 20000224 .word 0x20000224 + 8006b14: 40011400 .word 0x40011400 -08004524 <_ZL11MX_DMA_Initv>: +08006b18 <_ZL11MX_DMA_Initv>: /** - * Enable DMA controller clock - */ -static void MX_DMA_Init(void) -{ - 8004524: b580 push {r7, lr} - 8004526: b082 sub sp, #8 - 8004528: af00 add r7, sp, #0 + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) { + 8006b18: b580 push {r7, lr} + 8006b1a: b082 sub sp, #8 + 8006b1c: af00 add r7, sp, #0 /* DMA controller clock enable */ __HAL_RCC_DMA1_CLK_ENABLE(); - 800452a: 4b10 ldr r3, [pc, #64] ; (800456c <_ZL11MX_DMA_Initv+0x48>) - 800452c: 6b1b ldr r3, [r3, #48] ; 0x30 - 800452e: 4a0f ldr r2, [pc, #60] ; (800456c <_ZL11MX_DMA_Initv+0x48>) - 8004530: f443 1300 orr.w r3, r3, #2097152 ; 0x200000 - 8004534: 6313 str r3, [r2, #48] ; 0x30 - 8004536: 4b0d ldr r3, [pc, #52] ; (800456c <_ZL11MX_DMA_Initv+0x48>) - 8004538: 6b1b ldr r3, [r3, #48] ; 0x30 - 800453a: f403 1300 and.w r3, r3, #2097152 ; 0x200000 - 800453e: 607b str r3, [r7, #4] - 8004540: 687b ldr r3, [r7, #4] + 8006b1e: 4b1e ldr r3, [pc, #120] ; (8006b98 <_ZL11MX_DMA_Initv+0x80>) + 8006b20: 6b1b ldr r3, [r3, #48] ; 0x30 + 8006b22: 4a1d ldr r2, [pc, #116] ; (8006b98 <_ZL11MX_DMA_Initv+0x80>) + 8006b24: f443 1300 orr.w r3, r3, #2097152 ; 0x200000 + 8006b28: 6313 str r3, [r2, #48] ; 0x30 + 8006b2a: 4b1b ldr r3, [pc, #108] ; (8006b98 <_ZL11MX_DMA_Initv+0x80>) + 8006b2c: 6b1b ldr r3, [r3, #48] ; 0x30 + 8006b2e: f403 1300 and.w r3, r3, #2097152 ; 0x200000 + 8006b32: 607b str r3, [r7, #4] + 8006b34: 687b ldr r3, [r7, #4] + __HAL_RCC_DMA2_CLK_ENABLE(); + 8006b36: 4b18 ldr r3, [pc, #96] ; (8006b98 <_ZL11MX_DMA_Initv+0x80>) + 8006b38: 6b1b ldr r3, [r3, #48] ; 0x30 + 8006b3a: 4a17 ldr r2, [pc, #92] ; (8006b98 <_ZL11MX_DMA_Initv+0x80>) + 8006b3c: f443 0380 orr.w r3, r3, #4194304 ; 0x400000 + 8006b40: 6313 str r3, [r2, #48] ; 0x30 + 8006b42: 4b15 ldr r3, [pc, #84] ; (8006b98 <_ZL11MX_DMA_Initv+0x80>) + 8006b44: 6b1b ldr r3, [r3, #48] ; 0x30 + 8006b46: f403 0380 and.w r3, r3, #4194304 ; 0x400000 + 8006b4a: 603b str r3, [r7, #0] + 8006b4c: 683b ldr r3, [r7, #0] /* DMA interrupt init */ /* DMA1_Stream1_IRQn interrupt configuration */ HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0); - 8004542: 2200 movs r2, #0 - 8004544: 2100 movs r1, #0 - 8004546: 200c movs r0, #12 - 8004548: f7fc f92f bl 80007aa + 8006b4e: 2200 movs r2, #0 + 8006b50: 2100 movs r1, #0 + 8006b52: 200c movs r0, #12 + 8006b54: f7f9 fe31 bl 80007ba HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); - 800454c: 200c movs r0, #12 - 800454e: f7fc f948 bl 80007e2 + 8006b58: 200c movs r0, #12 + 8006b5a: f7f9 fe4a bl 80007f2 /* DMA1_Stream3_IRQn interrupt configuration */ HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); - 8004552: 2200 movs r2, #0 - 8004554: 2100 movs r1, #0 - 8004556: 200e movs r0, #14 - 8004558: f7fc f927 bl 80007aa + 8006b5e: 2200 movs r2, #0 + 8006b60: 2100 movs r1, #0 + 8006b62: 200e movs r0, #14 + 8006b64: f7f9 fe29 bl 80007ba HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); - 800455c: 200e movs r0, #14 - 800455e: f7fc f940 bl 80007e2 + 8006b68: 200e movs r0, #14 + 8006b6a: f7f9 fe42 bl 80007f2 + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + 8006b6e: 2200 movs r2, #0 + 8006b70: 2100 movs r1, #0 + 8006b72: 2039 movs r0, #57 ; 0x39 + 8006b74: f7f9 fe21 bl 80007ba + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + 8006b78: 2039 movs r0, #57 ; 0x39 + 8006b7a: f7f9 fe3a bl 80007f2 + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + 8006b7e: 2200 movs r2, #0 + 8006b80: 2100 movs r1, #0 + 8006b82: 2045 movs r0, #69 ; 0x45 + 8006b84: f7f9 fe19 bl 80007ba + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); + 8006b88: 2045 movs r0, #69 ; 0x45 + 8006b8a: f7f9 fe32 bl 80007f2 } - 8004562: bf00 nop - 8004564: 3708 adds r7, #8 - 8004566: 46bd mov sp, r7 - 8004568: bd80 pop {r7, pc} - 800456a: bf00 nop - 800456c: 40023800 .word 0x40023800 - -08004570 <_ZL12MX_GPIO_Initv>: - * @brief GPIO Initialization Function - * @param None - * @retval None - */ -static void MX_GPIO_Init(void) -{ - 8004570: b580 push {r7, lr} - 8004572: b08c sub sp, #48 ; 0x30 - 8004574: af00 add r7, sp, #0 - GPIO_InitTypeDef GPIO_InitStruct = {0}; - 8004576: f107 031c add.w r3, r7, #28 - 800457a: 2200 movs r2, #0 - 800457c: 601a str r2, [r3, #0] - 800457e: 605a str r2, [r3, #4] - 8004580: 609a str r2, [r3, #8] - 8004582: 60da str r2, [r3, #12] - 8004584: 611a str r2, [r3, #16] + 8006b8e: bf00 nop + 8006b90: 3708 adds r7, #8 + 8006b92: 46bd mov sp, r7 + 8006b94: bd80 pop {r7, pc} + 8006b96: bf00 nop + 8006b98: 40023800 .word 0x40023800 + +08006b9c <_ZL12MX_GPIO_Initv>: +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) { + 8006b9c: b580 push {r7, lr} + 8006b9e: b08c sub sp, #48 ; 0x30 + 8006ba0: af00 add r7, sp, #0 + GPIO_InitTypeDef GPIO_InitStruct = { 0 }; + 8006ba2: f107 031c add.w r3, r7, #28 + 8006ba6: 2200 movs r2, #0 + 8006ba8: 601a str r2, [r3, #0] + 8006baa: 605a str r2, [r3, #4] + 8006bac: 609a str r2, [r3, #8] + 8006bae: 60da str r2, [r3, #12] + 8006bb0: 611a str r2, [r3, #16] /* GPIO Ports Clock Enable */ __HAL_RCC_GPIOC_CLK_ENABLE(); - 8004586: 4b53 ldr r3, [pc, #332] ; (80046d4 <_ZL12MX_GPIO_Initv+0x164>) - 8004588: 6b1b ldr r3, [r3, #48] ; 0x30 - 800458a: 4a52 ldr r2, [pc, #328] ; (80046d4 <_ZL12MX_GPIO_Initv+0x164>) - 800458c: f043 0304 orr.w r3, r3, #4 - 8004590: 6313 str r3, [r2, #48] ; 0x30 - 8004592: 4b50 ldr r3, [pc, #320] ; (80046d4 <_ZL12MX_GPIO_Initv+0x164>) - 8004594: 6b1b ldr r3, [r3, #48] ; 0x30 - 8004596: f003 0304 and.w r3, r3, #4 - 800459a: 61bb str r3, [r7, #24] - 800459c: 69bb ldr r3, [r7, #24] + 8006bb2: 4b53 ldr r3, [pc, #332] ; (8006d00 <_ZL12MX_GPIO_Initv+0x164>) + 8006bb4: 6b1b ldr r3, [r3, #48] ; 0x30 + 8006bb6: 4a52 ldr r2, [pc, #328] ; (8006d00 <_ZL12MX_GPIO_Initv+0x164>) + 8006bb8: f043 0304 orr.w r3, r3, #4 + 8006bbc: 6313 str r3, [r2, #48] ; 0x30 + 8006bbe: 4b50 ldr r3, [pc, #320] ; (8006d00 <_ZL12MX_GPIO_Initv+0x164>) + 8006bc0: 6b1b ldr r3, [r3, #48] ; 0x30 + 8006bc2: f003 0304 and.w r3, r3, #4 + 8006bc6: 61bb str r3, [r7, #24] + 8006bc8: 69bb ldr r3, [r7, #24] __HAL_RCC_GPIOA_CLK_ENABLE(); - 800459e: 4b4d ldr r3, [pc, #308] ; (80046d4 <_ZL12MX_GPIO_Initv+0x164>) - 80045a0: 6b1b ldr r3, [r3, #48] ; 0x30 - 80045a2: 4a4c ldr r2, [pc, #304] ; (80046d4 <_ZL12MX_GPIO_Initv+0x164>) - 80045a4: f043 0301 orr.w r3, r3, #1 - 80045a8: 6313 str r3, [r2, #48] ; 0x30 - 80045aa: 4b4a ldr r3, [pc, #296] ; (80046d4 <_ZL12MX_GPIO_Initv+0x164>) - 80045ac: 6b1b ldr r3, [r3, #48] ; 0x30 - 80045ae: f003 0301 and.w r3, r3, #1 - 80045b2: 617b str r3, [r7, #20] - 80045b4: 697b ldr r3, [r7, #20] + 8006bca: 4b4d ldr r3, [pc, #308] ; (8006d00 <_ZL12MX_GPIO_Initv+0x164>) + 8006bcc: 6b1b ldr r3, [r3, #48] ; 0x30 + 8006bce: 4a4c ldr r2, [pc, #304] ; (8006d00 <_ZL12MX_GPIO_Initv+0x164>) + 8006bd0: f043 0301 orr.w r3, r3, #1 + 8006bd4: 6313 str r3, [r2, #48] ; 0x30 + 8006bd6: 4b4a ldr r3, [pc, #296] ; (8006d00 <_ZL12MX_GPIO_Initv+0x164>) + 8006bd8: 6b1b ldr r3, [r3, #48] ; 0x30 + 8006bda: f003 0301 and.w r3, r3, #1 + 8006bde: 617b str r3, [r7, #20] + 8006be0: 697b ldr r3, [r7, #20] __HAL_RCC_GPIOF_CLK_ENABLE(); - 80045b6: 4b47 ldr r3, [pc, #284] ; (80046d4 <_ZL12MX_GPIO_Initv+0x164>) - 80045b8: 6b1b ldr r3, [r3, #48] ; 0x30 - 80045ba: 4a46 ldr r2, [pc, #280] ; (80046d4 <_ZL12MX_GPIO_Initv+0x164>) - 80045bc: f043 0320 orr.w r3, r3, #32 - 80045c0: 6313 str r3, [r2, #48] ; 0x30 - 80045c2: 4b44 ldr r3, [pc, #272] ; (80046d4 <_ZL12MX_GPIO_Initv+0x164>) - 80045c4: 6b1b ldr r3, [r3, #48] ; 0x30 - 80045c6: f003 0320 and.w r3, r3, #32 - 80045ca: 613b str r3, [r7, #16] - 80045cc: 693b ldr r3, [r7, #16] + 8006be2: 4b47 ldr r3, [pc, #284] ; (8006d00 <_ZL12MX_GPIO_Initv+0x164>) + 8006be4: 6b1b ldr r3, [r3, #48] ; 0x30 + 8006be6: 4a46 ldr r2, [pc, #280] ; (8006d00 <_ZL12MX_GPIO_Initv+0x164>) + 8006be8: f043 0320 orr.w r3, r3, #32 + 8006bec: 6313 str r3, [r2, #48] ; 0x30 + 8006bee: 4b44 ldr r3, [pc, #272] ; (8006d00 <_ZL12MX_GPIO_Initv+0x164>) + 8006bf0: 6b1b ldr r3, [r3, #48] ; 0x30 + 8006bf2: f003 0320 and.w r3, r3, #32 + 8006bf6: 613b str r3, [r7, #16] + 8006bf8: 693b ldr r3, [r7, #16] __HAL_RCC_GPIOE_CLK_ENABLE(); - 80045ce: 4b41 ldr r3, [pc, #260] ; (80046d4 <_ZL12MX_GPIO_Initv+0x164>) - 80045d0: 6b1b ldr r3, [r3, #48] ; 0x30 - 80045d2: 4a40 ldr r2, [pc, #256] ; (80046d4 <_ZL12MX_GPIO_Initv+0x164>) - 80045d4: f043 0310 orr.w r3, r3, #16 - 80045d8: 6313 str r3, [r2, #48] ; 0x30 - 80045da: 4b3e ldr r3, [pc, #248] ; (80046d4 <_ZL12MX_GPIO_Initv+0x164>) - 80045dc: 6b1b ldr r3, [r3, #48] ; 0x30 - 80045de: f003 0310 and.w r3, r3, #16 - 80045e2: 60fb str r3, [r7, #12] - 80045e4: 68fb ldr r3, [r7, #12] + 8006bfa: 4b41 ldr r3, [pc, #260] ; (8006d00 <_ZL12MX_GPIO_Initv+0x164>) + 8006bfc: 6b1b ldr r3, [r3, #48] ; 0x30 + 8006bfe: 4a40 ldr r2, [pc, #256] ; (8006d00 <_ZL12MX_GPIO_Initv+0x164>) + 8006c00: f043 0310 orr.w r3, r3, #16 + 8006c04: 6313 str r3, [r2, #48] ; 0x30 + 8006c06: 4b3e ldr r3, [pc, #248] ; (8006d00 <_ZL12MX_GPIO_Initv+0x164>) + 8006c08: 6b1b ldr r3, [r3, #48] ; 0x30 + 8006c0a: f003 0310 and.w r3, r3, #16 + 8006c0e: 60fb str r3, [r7, #12] + 8006c10: 68fb ldr r3, [r7, #12] __HAL_RCC_GPIOD_CLK_ENABLE(); - 80045e6: 4b3b ldr r3, [pc, #236] ; (80046d4 <_ZL12MX_GPIO_Initv+0x164>) - 80045e8: 6b1b ldr r3, [r3, #48] ; 0x30 - 80045ea: 4a3a ldr r2, [pc, #232] ; (80046d4 <_ZL12MX_GPIO_Initv+0x164>) - 80045ec: f043 0308 orr.w r3, r3, #8 - 80045f0: 6313 str r3, [r2, #48] ; 0x30 - 80045f2: 4b38 ldr r3, [pc, #224] ; (80046d4 <_ZL12MX_GPIO_Initv+0x164>) - 80045f4: 6b1b ldr r3, [r3, #48] ; 0x30 - 80045f6: f003 0308 and.w r3, r3, #8 - 80045fa: 60bb str r3, [r7, #8] - 80045fc: 68bb ldr r3, [r7, #8] + 8006c12: 4b3b ldr r3, [pc, #236] ; (8006d00 <_ZL12MX_GPIO_Initv+0x164>) + 8006c14: 6b1b ldr r3, [r3, #48] ; 0x30 + 8006c16: 4a3a ldr r2, [pc, #232] ; (8006d00 <_ZL12MX_GPIO_Initv+0x164>) + 8006c18: f043 0308 orr.w r3, r3, #8 + 8006c1c: 6313 str r3, [r2, #48] ; 0x30 + 8006c1e: 4b38 ldr r3, [pc, #224] ; (8006d00 <_ZL12MX_GPIO_Initv+0x164>) + 8006c20: 6b1b ldr r3, [r3, #48] ; 0x30 + 8006c22: f003 0308 and.w r3, r3, #8 + 8006c26: 60bb str r3, [r7, #8] + 8006c28: 68bb ldr r3, [r7, #8] __HAL_RCC_GPIOB_CLK_ENABLE(); - 80045fe: 4b35 ldr r3, [pc, #212] ; (80046d4 <_ZL12MX_GPIO_Initv+0x164>) - 8004600: 6b1b ldr r3, [r3, #48] ; 0x30 - 8004602: 4a34 ldr r2, [pc, #208] ; (80046d4 <_ZL12MX_GPIO_Initv+0x164>) - 8004604: f043 0302 orr.w r3, r3, #2 - 8004608: 6313 str r3, [r2, #48] ; 0x30 - 800460a: 4b32 ldr r3, [pc, #200] ; (80046d4 <_ZL12MX_GPIO_Initv+0x164>) - 800460c: 6b1b ldr r3, [r3, #48] ; 0x30 - 800460e: f003 0302 and.w r3, r3, #2 - 8004612: 607b str r3, [r7, #4] - 8004614: 687b ldr r3, [r7, #4] + 8006c2a: 4b35 ldr r3, [pc, #212] ; (8006d00 <_ZL12MX_GPIO_Initv+0x164>) + 8006c2c: 6b1b ldr r3, [r3, #48] ; 0x30 + 8006c2e: 4a34 ldr r2, [pc, #208] ; (8006d00 <_ZL12MX_GPIO_Initv+0x164>) + 8006c30: f043 0302 orr.w r3, r3, #2 + 8006c34: 6313 str r3, [r2, #48] ; 0x30 + 8006c36: 4b32 ldr r3, [pc, #200] ; (8006d00 <_ZL12MX_GPIO_Initv+0x164>) + 8006c38: 6b1b ldr r3, [r3, #48] ; 0x30 + 8006c3a: f003 0302 and.w r3, r3, #2 + 8006c3e: 607b str r3, [r7, #4] + 8006c40: 687b ldr r3, [r7, #4] /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOF, GPIO_PIN_12|dir_1_Pin|sleep_2_Pin|sleep_1_Pin, GPIO_PIN_RESET); - 8004616: 2200 movs r2, #0 - 8004618: f44f 4170 mov.w r1, #61440 ; 0xf000 - 800461c: 482e ldr r0, [pc, #184] ; (80046d8 <_ZL12MX_GPIO_Initv+0x168>) - 800461e: f7fc fdaf bl 8001180 + HAL_GPIO_WritePin(GPIOF, GPIO_PIN_12 | dir_1_Pin | sleep_2_Pin | sleep_1_Pin, + 8006c42: 2200 movs r2, #0 + 8006c44: f44f 4170 mov.w r1, #61440 ; 0xf000 + 8006c48: 482e ldr r0, [pc, #184] ; (8006d04 <_ZL12MX_GPIO_Initv+0x168>) + 8006c4a: f7fa fb2f bl 80012ac + GPIO_PIN_RESET); /*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(GPIOB, GPIO_PIN_8, GPIO_PIN_RESET); - 8004622: 2200 movs r2, #0 - 8004624: f44f 7180 mov.w r1, #256 ; 0x100 - 8004628: 482c ldr r0, [pc, #176] ; (80046dc <_ZL12MX_GPIO_Initv+0x16c>) - 800462a: f7fc fda9 bl 8001180 + 8006c4e: 2200 movs r2, #0 + 8006c50: f44f 7180 mov.w r1, #256 ; 0x100 + 8006c54: 482c ldr r0, [pc, #176] ; (8006d08 <_ZL12MX_GPIO_Initv+0x16c>) + 8006c56: f7fa fb29 bl 80012ac /*Configure GPIO pin : PC0 */ GPIO_InitStruct.Pin = GPIO_PIN_0; - 800462e: 2301 movs r3, #1 - 8004630: 61fb str r3, [r7, #28] + 8006c5a: 2301 movs r3, #1 + 8006c5c: 61fb str r3, [r7, #28] GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; - 8004632: 2303 movs r3, #3 - 8004634: 623b str r3, [r7, #32] + 8006c5e: 2303 movs r3, #3 + 8006c60: 623b str r3, [r7, #32] GPIO_InitStruct.Pull = GPIO_NOPULL; - 8004636: 2300 movs r3, #0 - 8004638: 627b str r3, [r7, #36] ; 0x24 + 8006c62: 2300 movs r3, #0 + 8006c64: 627b str r3, [r7, #36] ; 0x24 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); - 800463a: f107 031c add.w r3, r7, #28 - 800463e: 4619 mov r1, r3 - 8004640: 4827 ldr r0, [pc, #156] ; (80046e0 <_ZL12MX_GPIO_Initv+0x170>) - 8004642: f7fc fbf3 bl 8000e2c + 8006c66: f107 031c add.w r3, r7, #28 + 8006c6a: 4619 mov r1, r3 + 8006c6c: 4827 ldr r0, [pc, #156] ; (8006d0c <_ZL12MX_GPIO_Initv+0x170>) + 8006c6e: f7fa f973 bl 8000f58 /*Configure GPIO pin : current_1_Pin */ GPIO_InitStruct.Pin = current_1_Pin; - 8004646: 2308 movs r3, #8 - 8004648: 61fb str r3, [r7, #28] + 8006c72: 2308 movs r3, #8 + 8006c74: 61fb str r3, [r7, #28] GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; - 800464a: 2303 movs r3, #3 - 800464c: 623b str r3, [r7, #32] + 8006c76: 2303 movs r3, #3 + 8006c78: 623b str r3, [r7, #32] GPIO_InitStruct.Pull = GPIO_NOPULL; - 800464e: 2300 movs r3, #0 - 8004650: 627b str r3, [r7, #36] ; 0x24 + 8006c7a: 2300 movs r3, #0 + 8006c7c: 627b str r3, [r7, #36] ; 0x24 HAL_GPIO_Init(current_1_GPIO_Port, &GPIO_InitStruct); - 8004652: f107 031c add.w r3, r7, #28 - 8004656: 4619 mov r1, r3 - 8004658: 4822 ldr r0, [pc, #136] ; (80046e4 <_ZL12MX_GPIO_Initv+0x174>) - 800465a: f7fc fbe7 bl 8000e2c + 8006c7e: f107 031c add.w r3, r7, #28 + 8006c82: 4619 mov r1, r3 + 8006c84: 4822 ldr r0, [pc, #136] ; (8006d10 <_ZL12MX_GPIO_Initv+0x174>) + 8006c86: f7fa f967 bl 8000f58 /*Configure GPIO pin : fault_2_Pin */ GPIO_InitStruct.Pin = fault_2_Pin; - 800465e: 2340 movs r3, #64 ; 0x40 - 8004660: 61fb str r3, [r7, #28] + 8006c8a: 2340 movs r3, #64 ; 0x40 + 8006c8c: 61fb str r3, [r7, #28] GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - 8004662: 2300 movs r3, #0 - 8004664: 623b str r3, [r7, #32] + 8006c8e: 2300 movs r3, #0 + 8006c90: 623b str r3, [r7, #32] GPIO_InitStruct.Pull = GPIO_NOPULL; - 8004666: 2300 movs r3, #0 - 8004668: 627b str r3, [r7, #36] ; 0x24 + 8006c92: 2300 movs r3, #0 + 8006c94: 627b str r3, [r7, #36] ; 0x24 HAL_GPIO_Init(fault_2_GPIO_Port, &GPIO_InitStruct); - 800466a: f107 031c add.w r3, r7, #28 - 800466e: 4619 mov r1, r3 - 8004670: 481c ldr r0, [pc, #112] ; (80046e4 <_ZL12MX_GPIO_Initv+0x174>) - 8004672: f7fc fbdb bl 8000e2c + 8006c96: f107 031c add.w r3, r7, #28 + 8006c9a: 4619 mov r1, r3 + 8006c9c: 481c ldr r0, [pc, #112] ; (8006d10 <_ZL12MX_GPIO_Initv+0x174>) + 8006c9e: f7fa f95b bl 8000f58 /*Configure GPIO pins : PF12 dir_1_Pin sleep_2_Pin sleep_1_Pin */ - GPIO_InitStruct.Pin = GPIO_PIN_12|dir_1_Pin|sleep_2_Pin|sleep_1_Pin; - 8004676: f44f 4370 mov.w r3, #61440 ; 0xf000 - 800467a: 61fb str r3, [r7, #28] + GPIO_InitStruct.Pin = GPIO_PIN_12 | dir_1_Pin | sleep_2_Pin | sleep_1_Pin; + 8006ca2: f44f 4370 mov.w r3, #61440 ; 0xf000 + 8006ca6: 61fb str r3, [r7, #28] GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - 800467c: 2301 movs r3, #1 - 800467e: 623b str r3, [r7, #32] + 8006ca8: 2301 movs r3, #1 + 8006caa: 623b str r3, [r7, #32] GPIO_InitStruct.Pull = GPIO_NOPULL; - 8004680: 2300 movs r3, #0 - 8004682: 627b str r3, [r7, #36] ; 0x24 + 8006cac: 2300 movs r3, #0 + 8006cae: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - 8004684: 2300 movs r3, #0 - 8004686: 62bb str r3, [r7, #40] ; 0x28 + 8006cb0: 2300 movs r3, #0 + 8006cb2: 62bb str r3, [r7, #40] ; 0x28 HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); - 8004688: f107 031c add.w r3, r7, #28 - 800468c: 4619 mov r1, r3 - 800468e: 4812 ldr r0, [pc, #72] ; (80046d8 <_ZL12MX_GPIO_Initv+0x168>) - 8004690: f7fc fbcc bl 8000e2c + 8006cb4: f107 031c add.w r3, r7, #28 + 8006cb8: 4619 mov r1, r3 + 8006cba: 4812 ldr r0, [pc, #72] ; (8006d04 <_ZL12MX_GPIO_Initv+0x168>) + 8006cbc: f7fa f94c bl 8000f58 /*Configure GPIO pin : fault_1_Pin */ GPIO_InitStruct.Pin = fault_1_Pin; - 8004694: f44f 7300 mov.w r3, #512 ; 0x200 - 8004698: 61fb str r3, [r7, #28] + 8006cc0: f44f 7300 mov.w r3, #512 ; 0x200 + 8006cc4: 61fb str r3, [r7, #28] GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - 800469a: 2300 movs r3, #0 - 800469c: 623b str r3, [r7, #32] + 8006cc6: 2300 movs r3, #0 + 8006cc8: 623b str r3, [r7, #32] GPIO_InitStruct.Pull = GPIO_NOPULL; - 800469e: 2300 movs r3, #0 - 80046a0: 627b str r3, [r7, #36] ; 0x24 + 8006cca: 2300 movs r3, #0 + 8006ccc: 627b str r3, [r7, #36] ; 0x24 HAL_GPIO_Init(fault_1_GPIO_Port, &GPIO_InitStruct); - 80046a2: f107 031c add.w r3, r7, #28 - 80046a6: 4619 mov r1, r3 - 80046a8: 480f ldr r0, [pc, #60] ; (80046e8 <_ZL12MX_GPIO_Initv+0x178>) - 80046aa: f7fc fbbf bl 8000e2c + 8006cce: f107 031c add.w r3, r7, #28 + 8006cd2: 4619 mov r1, r3 + 8006cd4: 480f ldr r0, [pc, #60] ; (8006d14 <_ZL12MX_GPIO_Initv+0x178>) + 8006cd6: f7fa f93f bl 8000f58 /*Configure GPIO pin : PB8 */ GPIO_InitStruct.Pin = GPIO_PIN_8; - 80046ae: f44f 7380 mov.w r3, #256 ; 0x100 - 80046b2: 61fb str r3, [r7, #28] + 8006cda: f44f 7380 mov.w r3, #256 ; 0x100 + 8006cde: 61fb str r3, [r7, #28] GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - 80046b4: 2301 movs r3, #1 - 80046b6: 623b str r3, [r7, #32] + 8006ce0: 2301 movs r3, #1 + 8006ce2: 623b str r3, [r7, #32] GPIO_InitStruct.Pull = GPIO_NOPULL; - 80046b8: 2300 movs r3, #0 - 80046ba: 627b str r3, [r7, #36] ; 0x24 + 8006ce4: 2300 movs r3, #0 + 8006ce6: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - 80046bc: 2300 movs r3, #0 - 80046be: 62bb str r3, [r7, #40] ; 0x28 + 8006ce8: 2300 movs r3, #0 + 8006cea: 62bb str r3, [r7, #40] ; 0x28 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); - 80046c0: f107 031c add.w r3, r7, #28 - 80046c4: 4619 mov r1, r3 - 80046c6: 4805 ldr r0, [pc, #20] ; (80046dc <_ZL12MX_GPIO_Initv+0x16c>) - 80046c8: f7fc fbb0 bl 8000e2c + 8006cec: f107 031c add.w r3, r7, #28 + 8006cf0: 4619 mov r1, r3 + 8006cf2: 4805 ldr r0, [pc, #20] ; (8006d08 <_ZL12MX_GPIO_Initv+0x16c>) + 8006cf4: f7fa f930 bl 8000f58 } - 80046cc: bf00 nop - 80046ce: 3730 adds r7, #48 ; 0x30 - 80046d0: 46bd mov sp, r7 - 80046d2: bd80 pop {r7, pc} - 80046d4: 40023800 .word 0x40023800 - 80046d8: 40021400 .word 0x40021400 - 80046dc: 40020400 .word 0x40020400 - 80046e0: 40020800 .word 0x40020800 - 80046e4: 40020000 .word 0x40020000 - 80046e8: 40021000 .word 0x40021000 - -080046ec : + 8006cf8: bf00 nop + 8006cfa: 3730 adds r7, #48 ; 0x30 + 8006cfc: 46bd mov sp, r7 + 8006cfe: bd80 pop {r7, pc} + 8006d00: 40023800 .word 0x40023800 + 8006d04: 40021400 .word 0x40021400 + 8006d08: 40020400 .word 0x40020400 + 8006d0c: 40020800 .word 0x40020800 + 8006d10: 40020000 .word 0x40020000 + 8006d14: 40021000 .word 0x40021000 + +08006d18 <_ZN3ros3MsgaSERKS0_>: + 8006d18: b480 push {r7} + 8006d1a: b083 sub sp, #12 + 8006d1c: af00 add r7, sp, #0 + 8006d1e: 6078 str r0, [r7, #4] + 8006d20: 6039 str r1, [r7, #0] + 8006d22: 687b ldr r3, [r7, #4] + 8006d24: 4618 mov r0, r3 + 8006d26: 370c adds r7, #12 + 8006d28: 46bd mov sp, r7 + 8006d2a: f85d 7b04 ldr.w r7, [sp], #4 + 8006d2e: 4770 bx lr + +08006d30 <_ZN8std_msgs6HeaderaSERKS0_>: + class Header : public ros::Msg + 8006d30: b580 push {r7, lr} + 8006d32: b082 sub sp, #8 + 8006d34: af00 add r7, sp, #0 + 8006d36: 6078 str r0, [r7, #4] + 8006d38: 6039 str r1, [r7, #0] + 8006d3a: 687b ldr r3, [r7, #4] + 8006d3c: 683a ldr r2, [r7, #0] + 8006d3e: 4611 mov r1, r2 + 8006d40: 4618 mov r0, r3 + 8006d42: f7ff ffe9 bl 8006d18 <_ZN3ros3MsgaSERKS0_> + 8006d46: 683b ldr r3, [r7, #0] + 8006d48: 685a ldr r2, [r3, #4] + 8006d4a: 687b ldr r3, [r7, #4] + 8006d4c: 605a str r2, [r3, #4] + 8006d4e: 687b ldr r3, [r7, #4] + 8006d50: 683a ldr r2, [r7, #0] + 8006d52: 3308 adds r3, #8 + 8006d54: 3208 adds r2, #8 + 8006d56: e892 0003 ldmia.w r2, {r0, r1} + 8006d5a: e883 0003 stmia.w r3, {r0, r1} + 8006d5e: 683b ldr r3, [r7, #0] + 8006d60: 691a ldr r2, [r3, #16] + 8006d62: 687b ldr r3, [r7, #4] + 8006d64: 611a str r2, [r3, #16] + 8006d66: 687b ldr r3, [r7, #4] + 8006d68: 4618 mov r0, r3 + 8006d6a: 3708 adds r7, #8 + 8006d6c: 46bd mov sp, r7 + 8006d6e: bd80 pop {r7, pc} + +08006d70 <_ZN13geometry_msgs5PointaSERKS0_>: + class Point : public ros::Msg + 8006d70: b580 push {r7, lr} + 8006d72: b082 sub sp, #8 + 8006d74: af00 add r7, sp, #0 + 8006d76: 6078 str r0, [r7, #4] + 8006d78: 6039 str r1, [r7, #0] + 8006d7a: 687b ldr r3, [r7, #4] + 8006d7c: 683a ldr r2, [r7, #0] + 8006d7e: 4611 mov r1, r2 + 8006d80: 4618 mov r0, r3 + 8006d82: f7ff ffc9 bl 8006d18 <_ZN3ros3MsgaSERKS0_> + 8006d86: 683b ldr r3, [r7, #0] + 8006d88: 685a ldr r2, [r3, #4] + 8006d8a: 687b ldr r3, [r7, #4] + 8006d8c: 605a str r2, [r3, #4] + 8006d8e: 683b ldr r3, [r7, #0] + 8006d90: 689a ldr r2, [r3, #8] + 8006d92: 687b ldr r3, [r7, #4] + 8006d94: 609a str r2, [r3, #8] + 8006d96: 683b ldr r3, [r7, #0] + 8006d98: 68da ldr r2, [r3, #12] + 8006d9a: 687b ldr r3, [r7, #4] + 8006d9c: 60da str r2, [r3, #12] + 8006d9e: 687b ldr r3, [r7, #4] + 8006da0: 4618 mov r0, r3 + 8006da2: 3708 adds r7, #8 + 8006da4: 46bd mov sp, r7 + 8006da6: bd80 pop {r7, pc} + +08006da8 <_ZN13geometry_msgs10QuaternionaSERKS0_>: + class Quaternion : public ros::Msg + 8006da8: b580 push {r7, lr} + 8006daa: b082 sub sp, #8 + 8006dac: af00 add r7, sp, #0 + 8006dae: 6078 str r0, [r7, #4] + 8006db0: 6039 str r1, [r7, #0] + 8006db2: 687b ldr r3, [r7, #4] + 8006db4: 683a ldr r2, [r7, #0] + 8006db6: 4611 mov r1, r2 + 8006db8: 4618 mov r0, r3 + 8006dba: f7ff ffad bl 8006d18 <_ZN3ros3MsgaSERKS0_> + 8006dbe: 683b ldr r3, [r7, #0] + 8006dc0: 685a ldr r2, [r3, #4] + 8006dc2: 687b ldr r3, [r7, #4] + 8006dc4: 605a str r2, [r3, #4] + 8006dc6: 683b ldr r3, [r7, #0] + 8006dc8: 689a ldr r2, [r3, #8] + 8006dca: 687b ldr r3, [r7, #4] + 8006dcc: 609a str r2, [r3, #8] + 8006dce: 683b ldr r3, [r7, #0] + 8006dd0: 68da ldr r2, [r3, #12] + 8006dd2: 687b ldr r3, [r7, #4] + 8006dd4: 60da str r2, [r3, #12] + 8006dd6: 683b ldr r3, [r7, #0] + 8006dd8: 691a ldr r2, [r3, #16] + 8006dda: 687b ldr r3, [r7, #4] + 8006ddc: 611a str r2, [r3, #16] + 8006dde: 687b ldr r3, [r7, #4] + 8006de0: 4618 mov r0, r3 + 8006de2: 3708 adds r7, #8 + 8006de4: 46bd mov sp, r7 + 8006de6: bd80 pop {r7, pc} + +08006de8 <_ZN13geometry_msgs4PoseaSERKS0_>: + class Pose : public ros::Msg + 8006de8: b580 push {r7, lr} + 8006dea: b082 sub sp, #8 + 8006dec: af00 add r7, sp, #0 + 8006dee: 6078 str r0, [r7, #4] + 8006df0: 6039 str r1, [r7, #0] + 8006df2: 687b ldr r3, [r7, #4] + 8006df4: 683a ldr r2, [r7, #0] + 8006df6: 4611 mov r1, r2 + 8006df8: 4618 mov r0, r3 + 8006dfa: f7ff ff8d bl 8006d18 <_ZN3ros3MsgaSERKS0_> + 8006dfe: 687b ldr r3, [r7, #4] + 8006e00: 1d1a adds r2, r3, #4 + 8006e02: 683b ldr r3, [r7, #0] + 8006e04: 3304 adds r3, #4 + 8006e06: 4619 mov r1, r3 + 8006e08: 4610 mov r0, r2 + 8006e0a: f7ff ffb1 bl 8006d70 <_ZN13geometry_msgs5PointaSERKS0_> + 8006e0e: 687b ldr r3, [r7, #4] + 8006e10: f103 0214 add.w r2, r3, #20 + 8006e14: 683b ldr r3, [r7, #0] + 8006e16: 3314 adds r3, #20 + 8006e18: 4619 mov r1, r3 + 8006e1a: 4610 mov r0, r2 + 8006e1c: f7ff ffc4 bl 8006da8 <_ZN13geometry_msgs10QuaternionaSERKS0_> + 8006e20: 687b ldr r3, [r7, #4] + 8006e22: 4618 mov r0, r3 + 8006e24: 3708 adds r7, #8 + 8006e26: 46bd mov sp, r7 + 8006e28: bd80 pop {r7, pc} + +08006e2a <_ZN13geometry_msgs18PoseWithCovarianceaSERKS0_>: + class PoseWithCovariance : public ros::Msg + 8006e2a: b580 push {r7, lr} + 8006e2c: b082 sub sp, #8 + 8006e2e: af00 add r7, sp, #0 + 8006e30: 6078 str r0, [r7, #4] + 8006e32: 6039 str r1, [r7, #0] + 8006e34: 687b ldr r3, [r7, #4] + 8006e36: 683a ldr r2, [r7, #0] + 8006e38: 4611 mov r1, r2 + 8006e3a: 4618 mov r0, r3 + 8006e3c: f7ff ff6c bl 8006d18 <_ZN3ros3MsgaSERKS0_> + 8006e40: 687b ldr r3, [r7, #4] + 8006e42: 1d1a adds r2, r3, #4 + 8006e44: 683b ldr r3, [r7, #0] + 8006e46: 3304 adds r3, #4 + 8006e48: 4619 mov r1, r3 + 8006e4a: 4610 mov r0, r2 + 8006e4c: f7ff ffcc bl 8006de8 <_ZN13geometry_msgs4PoseaSERKS0_> + 8006e50: 687b ldr r3, [r7, #4] + 8006e52: f103 012c add.w r1, r3, #44 ; 0x2c + 8006e56: 2223 movs r2, #35 ; 0x23 + 8006e58: 683b ldr r3, [r7, #0] + 8006e5a: 332c adds r3, #44 ; 0x2c + 8006e5c: 2a00 cmp r2, #0 + 8006e5e: db05 blt.n 8006e6c <_ZN13geometry_msgs18PoseWithCovarianceaSERKS0_+0x42> + 8006e60: 6818 ldr r0, [r3, #0] + 8006e62: 6008 str r0, [r1, #0] + 8006e64: 3104 adds r1, #4 + 8006e66: 3304 adds r3, #4 + 8006e68: 3a01 subs r2, #1 + 8006e6a: e7f7 b.n 8006e5c <_ZN13geometry_msgs18PoseWithCovarianceaSERKS0_+0x32> + 8006e6c: 687b ldr r3, [r7, #4] + 8006e6e: 4618 mov r0, r3 + 8006e70: 3708 adds r7, #8 + 8006e72: 46bd mov sp, r7 + 8006e74: bd80 pop {r7, pc} + +08006e76 <_ZN13geometry_msgs7Vector3aSERKS0_>: + class Vector3 : public ros::Msg + 8006e76: b580 push {r7, lr} + 8006e78: b082 sub sp, #8 + 8006e7a: af00 add r7, sp, #0 + 8006e7c: 6078 str r0, [r7, #4] + 8006e7e: 6039 str r1, [r7, #0] + 8006e80: 687b ldr r3, [r7, #4] + 8006e82: 683a ldr r2, [r7, #0] + 8006e84: 4611 mov r1, r2 + 8006e86: 4618 mov r0, r3 + 8006e88: f7ff ff46 bl 8006d18 <_ZN3ros3MsgaSERKS0_> + 8006e8c: 683b ldr r3, [r7, #0] + 8006e8e: 685a ldr r2, [r3, #4] + 8006e90: 687b ldr r3, [r7, #4] + 8006e92: 605a str r2, [r3, #4] + 8006e94: 683b ldr r3, [r7, #0] + 8006e96: 689a ldr r2, [r3, #8] + 8006e98: 687b ldr r3, [r7, #4] + 8006e9a: 609a str r2, [r3, #8] + 8006e9c: 683b ldr r3, [r7, #0] + 8006e9e: 68da ldr r2, [r3, #12] + 8006ea0: 687b ldr r3, [r7, #4] + 8006ea2: 60da str r2, [r3, #12] + 8006ea4: 687b ldr r3, [r7, #4] + 8006ea6: 4618 mov r0, r3 + 8006ea8: 3708 adds r7, #8 + 8006eaa: 46bd mov sp, r7 + 8006eac: bd80 pop {r7, pc} + +08006eae <_ZN13geometry_msgs5TwistaSERKS0_>: + class Twist : public ros::Msg + 8006eae: b580 push {r7, lr} + 8006eb0: b082 sub sp, #8 + 8006eb2: af00 add r7, sp, #0 + 8006eb4: 6078 str r0, [r7, #4] + 8006eb6: 6039 str r1, [r7, #0] + 8006eb8: 687b ldr r3, [r7, #4] + 8006eba: 683a ldr r2, [r7, #0] + 8006ebc: 4611 mov r1, r2 + 8006ebe: 4618 mov r0, r3 + 8006ec0: f7ff ff2a bl 8006d18 <_ZN3ros3MsgaSERKS0_> + 8006ec4: 687b ldr r3, [r7, #4] + 8006ec6: 1d1a adds r2, r3, #4 + 8006ec8: 683b ldr r3, [r7, #0] + 8006eca: 3304 adds r3, #4 + 8006ecc: 4619 mov r1, r3 + 8006ece: 4610 mov r0, r2 + 8006ed0: f7ff ffd1 bl 8006e76 <_ZN13geometry_msgs7Vector3aSERKS0_> + 8006ed4: 687b ldr r3, [r7, #4] + 8006ed6: f103 0214 add.w r2, r3, #20 + 8006eda: 683b ldr r3, [r7, #0] + 8006edc: 3314 adds r3, #20 + 8006ede: 4619 mov r1, r3 + 8006ee0: 4610 mov r0, r2 + 8006ee2: f7ff ffc8 bl 8006e76 <_ZN13geometry_msgs7Vector3aSERKS0_> + 8006ee6: 687b ldr r3, [r7, #4] + 8006ee8: 4618 mov r0, r3 + 8006eea: 3708 adds r7, #8 + 8006eec: 46bd mov sp, r7 + 8006eee: bd80 pop {r7, pc} + +08006ef0 <_ZN13geometry_msgs19TwistWithCovarianceaSERKS0_>: + class TwistWithCovariance : public ros::Msg + 8006ef0: b580 push {r7, lr} + 8006ef2: b082 sub sp, #8 + 8006ef4: af00 add r7, sp, #0 + 8006ef6: 6078 str r0, [r7, #4] + 8006ef8: 6039 str r1, [r7, #0] + 8006efa: 687b ldr r3, [r7, #4] + 8006efc: 683a ldr r2, [r7, #0] + 8006efe: 4611 mov r1, r2 + 8006f00: 4618 mov r0, r3 + 8006f02: f7ff ff09 bl 8006d18 <_ZN3ros3MsgaSERKS0_> + 8006f06: 687b ldr r3, [r7, #4] + 8006f08: 1d1a adds r2, r3, #4 + 8006f0a: 683b ldr r3, [r7, #0] + 8006f0c: 3304 adds r3, #4 + 8006f0e: 4619 mov r1, r3 + 8006f10: 4610 mov r0, r2 + 8006f12: f7ff ffcc bl 8006eae <_ZN13geometry_msgs5TwistaSERKS0_> + 8006f16: 687b ldr r3, [r7, #4] + 8006f18: f103 0128 add.w r1, r3, #40 ; 0x28 + 8006f1c: 2223 movs r2, #35 ; 0x23 + 8006f1e: 683b ldr r3, [r7, #0] + 8006f20: 3328 adds r3, #40 ; 0x28 + 8006f22: 2a00 cmp r2, #0 + 8006f24: db05 blt.n 8006f32 <_ZN13geometry_msgs19TwistWithCovarianceaSERKS0_+0x42> + 8006f26: 6818 ldr r0, [r3, #0] + 8006f28: 6008 str r0, [r1, #0] + 8006f2a: 3104 adds r1, #4 + 8006f2c: 3304 adds r3, #4 + 8006f2e: 3a01 subs r2, #1 + 8006f30: e7f7 b.n 8006f22 <_ZN13geometry_msgs19TwistWithCovarianceaSERKS0_+0x32> + 8006f32: 687b ldr r3, [r7, #4] + 8006f34: 4618 mov r0, r3 + 8006f36: 3708 adds r7, #8 + 8006f38: 46bd mov sp, r7 + 8006f3a: bd80 pop {r7, pc} + +08006f3c <_ZN8nav_msgs8OdometryaSERKS0_>: + class Odometry : public ros::Msg + 8006f3c: b580 push {r7, lr} + 8006f3e: b082 sub sp, #8 + 8006f40: af00 add r7, sp, #0 + 8006f42: 6078 str r0, [r7, #4] + 8006f44: 6039 str r1, [r7, #0] + 8006f46: 687b ldr r3, [r7, #4] + 8006f48: 683a ldr r2, [r7, #0] + 8006f4a: 4611 mov r1, r2 + 8006f4c: 4618 mov r0, r3 + 8006f4e: f7ff fee3 bl 8006d18 <_ZN3ros3MsgaSERKS0_> + 8006f52: 687b ldr r3, [r7, #4] + 8006f54: 1d1a adds r2, r3, #4 + 8006f56: 683b ldr r3, [r7, #0] + 8006f58: 3304 adds r3, #4 + 8006f5a: 4619 mov r1, r3 + 8006f5c: 4610 mov r0, r2 + 8006f5e: f7ff fee7 bl 8006d30 <_ZN8std_msgs6HeaderaSERKS0_> + 8006f62: 683b ldr r3, [r7, #0] + 8006f64: 699a ldr r2, [r3, #24] + 8006f66: 687b ldr r3, [r7, #4] + 8006f68: 619a str r2, [r3, #24] + 8006f6a: 687b ldr r3, [r7, #4] + 8006f6c: f103 021c add.w r2, r3, #28 + 8006f70: 683b ldr r3, [r7, #0] + 8006f72: 331c adds r3, #28 + 8006f74: 4619 mov r1, r3 + 8006f76: 4610 mov r0, r2 + 8006f78: f7ff ff57 bl 8006e2a <_ZN13geometry_msgs18PoseWithCovarianceaSERKS0_> + 8006f7c: 687b ldr r3, [r7, #4] + 8006f7e: f103 02d8 add.w r2, r3, #216 ; 0xd8 + 8006f82: 683b ldr r3, [r7, #0] + 8006f84: 33d8 adds r3, #216 ; 0xd8 + 8006f86: 4619 mov r1, r3 + 8006f88: 4610 mov r0, r2 + 8006f8a: f7ff ffb1 bl 8006ef0 <_ZN13geometry_msgs19TwistWithCovarianceaSERKS0_> + 8006f8e: 687b ldr r3, [r7, #4] + 8006f90: 4618 mov r0, r3 + 8006f92: 3708 adds r7, #8 + 8006f94: 46bd mov sp, r7 + 8006f96: bd80 pop {r7, pc} + +08006f98 : /* USER CODE BEGIN 4 */ -void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim){ - 80046ec: b580 push {r7, lr} - 80046ee: b082 sub sp, #8 - 80046f0: af00 add r7, sp, #0 - 80046f2: 6078 str r0, [r7, #4] - if (htim->Instance == TIM3){ - 80046f4: 687b ldr r3, [r7, #4] - 80046f6: 681b ldr r3, [r3, #0] - 80046f8: 4a17 ldr r2, [pc, #92] ; (8004758 ) - 80046fa: 4293 cmp r3, r2 - 80046fc: d127 bne.n 800474e - velocity_l = left_encoder.GetLinearVelocity(); - 80046fe: 4817 ldr r0, [pc, #92] ; (800475c ) - 8004700: f7ff fc5e bl 8003fc0 <_ZN7Encoder17GetLinearVelocityEv> - 8004704: eef0 7a40 vmov.f32 s15, s0 - 8004708: 4b15 ldr r3, [pc, #84] ; (8004760 ) - 800470a: edc3 7a00 vstr s15, [r3] - velocity_r = right_encoder.GetLinearVelocity(); - 800470e: 4815 ldr r0, [pc, #84] ; (8004764 ) - 8004710: f7ff fc56 bl 8003fc0 <_ZN7Encoder17GetLinearVelocityEv> - 8004714: eef0 7a40 vmov.f32 s15, s0 - 8004718: 4b13 ldr r3, [pc, #76] ; (8004768 ) - 800471a: edc3 7a00 vstr s15, [r3] - - delta_r = right_encoder.current_millis_ - right_encoder.previous_millis_; - 800471e: 4b11 ldr r3, [pc, #68] ; (8004764 ) - 8004720: 689a ldr r2, [r3, #8] - 8004722: 4b10 ldr r3, [pc, #64] ; (8004764 ) - 8004724: 685b ldr r3, [r3, #4] - 8004726: 1ad3 subs r3, r2, r3 - 8004728: ee07 3a90 vmov s15, r3 - 800472c: eef8 7a67 vcvt.f32.u32 s15, s15 - 8004730: 4b0e ldr r3, [pc, #56] ; (800476c ) - 8004732: edc3 7a00 vstr s15, [r3] - delta_l = left_encoder.current_millis_ - left_encoder.previous_millis_; - 8004736: 4b09 ldr r3, [pc, #36] ; (800475c ) - 8004738: 689a ldr r2, [r3, #8] - 800473a: 4b08 ldr r3, [pc, #32] ; (800475c ) - 800473c: 685b ldr r3, [r3, #4] - 800473e: 1ad3 subs r3, r2, r3 - 8004740: ee07 3a90 vmov s15, r3 - 8004744: eef8 7a67 vcvt.f32.u32 s15, s15 - 8004748: 4b09 ldr r3, [pc, #36] ; (8004770 ) - 800474a: edc3 7a00 vstr s15, [r3] - } -} - 800474e: bf00 nop - 8004750: 3708 adds r7, #8 - 8004752: 46bd mov sp, r7 - 8004754: bd80 pop {r7, pc} - 8004756: bf00 nop - 8004758: 40000400 .word 0x40000400 - 800475c: 20000268 .word 0x20000268 - 8004760: 200002a8 .word 0x200002a8 - 8004764: 20000284 .word 0x20000284 - 8004768: 200002ac .word 0x200002ac - 800476c: 200002a0 .word 0x200002a0 - 8004770: 200002a4 .word 0x200002a4 - -08004774 : +void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { + 8006f98: b580 push {r7, lr} + 8006f9a: b082 sub sp, #8 + 8006f9c: af00 add r7, sp, #0 + 8006f9e: 6078 str r0, [r7, #4] + if (htim->Instance == TIM3) { + 8006fa0: 687b ldr r3, [r7, #4] + 8006fa2: 681b ldr r3, [r3, #0] + 8006fa4: 4a0c ldr r2, [pc, #48] ; (8006fd8 ) + 8006fa6: 4293 cmp r3, r2 + 8006fa8: d111 bne.n 8006fce +// velocity_l = left_encoder.GetLinearVelocity(); +// velocity_r = right_encoder.GetLinearVelocity(); +// delta_r = right_encoder.current_millis_ - right_encoder.previous_millis_; +// delta_l = left_encoder.current_millis_ - left_encoder.previous_millis_; + + odom.OdometryUpdateMessage(); + 8006faa: 480c ldr r0, [pc, #48] ; (8006fdc ) + 8006fac: f000 fe65 bl 8007c7a <_ZN12OdometryCalc21OdometryUpdateMessageEv> + odometry = odom.odometry_; + 8006fb0: 490b ldr r1, [pc, #44] ; (8006fe0 ) + 8006fb2: 480c ldr r0, [pc, #48] ; (8006fe4 ) + 8006fb4: f7ff ffc2 bl 8006f3c <_ZN8nav_msgs8OdometryaSERKS0_> + odom_pub.publish(&odometry); + 8006fb8: 490a ldr r1, [pc, #40] ; (8006fe4 ) + 8006fba: 480b ldr r0, [pc, #44] ; (8006fe8 ) + 8006fbc: f7ff f90b bl 80061d6 <_ZN3ros9Publisher7publishEPKNS_3MsgE> + + chatter.publish(&str_msg); + 8006fc0: 490a ldr r1, [pc, #40] ; (8006fec ) + 8006fc2: 480b ldr r0, [pc, #44] ; (8006ff0 ) + 8006fc4: f7ff f907 bl 80061d6 <_ZN3ros9Publisher7publishEPKNS_3MsgE> + nh.spinOnce(); + 8006fc8: 480a ldr r0, [pc, #40] ; (8006ff4 ) + 8006fca: f000 f960 bl 800728e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv> + + //HAL_UART_Transmit(&huart3, (uint8_t*)hello, strlen(hello), 100); + + } +} + 8006fce: bf00 nop + 8006fd0: 3708 adds r7, #8 + 8006fd2: 46bd mov sp, r7 + 8006fd4: bd80 pop {r7, pc} + 8006fd6: bf00 nop + 8006fd8: 40000400 .word 0x40000400 + 8006fdc: 2000045c .word 0x2000045c + 8006fe0: 20000498 .word 0x20000498 + 8006fe4: 20000cf0 .word 0x20000cf0 + 8006fe8: 20000e94 .word 0x20000e94 + 8006fec: 20000ce8 .word 0x20000ce8 + 8006ff0: 20000e80 .word 0x20000e80 + 8006ff4: 2000062c .word 0x2000062c + +08006ff8 : + +void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart) { + 8006ff8: b580 push {r7, lr} + 8006ffa: b082 sub sp, #8 + 8006ffc: af00 add r7, sp, #0 + 8006ffe: 6078 str r0, [r7, #4] + nh.getHardware()->flush(); + 8007000: 4805 ldr r0, [pc, #20] ; (8007018 ) + 8007002: f000 fb20 bl 8007646 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE11getHardwareEv> + 8007006: 4603 mov r3, r0 + 8007008: 4618 mov r0, r3 + 800700a: f7ff f97b bl 8006304 <_ZN13STM32Hardware5flushEv> +} + 800700e: bf00 nop + 8007010: 3708 adds r7, #8 + 8007012: 46bd mov sp, r7 + 8007014: bd80 pop {r7, pc} + 8007016: bf00 nop + 8007018: 2000062c .word 0x2000062c + +0800701c : + +void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) { + 800701c: b580 push {r7, lr} + 800701e: b082 sub sp, #8 + 8007020: af00 add r7, sp, #0 + 8007022: 6078 str r0, [r7, #4] + nh.getHardware()->reset_rbuf(); + 8007024: 4805 ldr r0, [pc, #20] ; (800703c ) + 8007026: f000 fb0e bl 8007646 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE11getHardwareEv> + 800702a: 4603 mov r3, r0 + 800702c: 4618 mov r0, r3 + 800702e: f7ff f92c bl 800628a <_ZN13STM32Hardware10reset_rbufEv> +} + 8007032: bf00 nop + 8007034: 3708 adds r7, #8 + 8007036: 46bd mov sp, r7 + 8007038: bd80 pop {r7, pc} + 800703a: bf00 nop + 800703c: 2000062c .word 0x2000062c + +08007040 : + /** - * @brief This function is executed in case of error occurrence. - * @retval None - */ -void Error_Handler(void) -{ - 8004774: b480 push {r7} - 8004776: af00 add r7, sp, #0 + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) { + 8007040: b480 push {r7} + 8007042: af00 add r7, sp, #0 /* USER CODE BEGIN Error_Handler_Debug */ /* User can add his own implementation to report the HAL error return state */ /* USER CODE END Error_Handler_Debug */ } - 8004778: bf00 nop - 800477a: 46bd mov sp, r7 - 800477c: f85d 7b04 ldr.w r7, [sp], #4 - 8004780: 4770 bx lr - ... + 8007044: bf00 nop + 8007046: 46bd mov sp, r7 + 8007048: f85d 7b04 ldr.w r7, [sp], #4 + 800704c: 4770 bx lr + +0800704e <_ZN3ros3Msg8varToArrIPhmEEvT_T0_>: + + // Copy data from variable into a byte array + template + static void varToArr(A arr, const V var) + 800704e: b480 push {r7} + 8007050: b085 sub sp, #20 + 8007052: af00 add r7, sp, #0 + 8007054: 6078 str r0, [r7, #4] + 8007056: 6039 str r1, [r7, #0] + { + for (size_t i = 0; i < sizeof(V); i++) + 8007058: 2300 movs r3, #0 + 800705a: 60fb str r3, [r7, #12] + 800705c: 68fb ldr r3, [r7, #12] + 800705e: 2b03 cmp r3, #3 + 8007060: d80d bhi.n 800707e <_ZN3ros3Msg8varToArrIPhmEEvT_T0_+0x30> + arr[i] = (var >> (8 * i)); + 8007062: 68fb ldr r3, [r7, #12] + 8007064: 00db lsls r3, r3, #3 + 8007066: 683a ldr r2, [r7, #0] + 8007068: fa22 f103 lsr.w r1, r2, r3 + 800706c: 687a ldr r2, [r7, #4] + 800706e: 68fb ldr r3, [r7, #12] + 8007070: 4413 add r3, r2 + 8007072: b2ca uxtb r2, r1 + 8007074: 701a strb r2, [r3, #0] + for (size_t i = 0; i < sizeof(V); i++) + 8007076: 68fb ldr r3, [r7, #12] + 8007078: 3301 adds r3, #1 + 800707a: 60fb str r3, [r7, #12] + 800707c: e7ee b.n 800705c <_ZN3ros3Msg8varToArrIPhmEEvT_T0_+0xe> + } + 800707e: bf00 nop + 8007080: 3714 adds r7, #20 + 8007082: 46bd mov sp, r7 + 8007084: f85d 7b04 ldr.w r7, [sp], #4 + 8007088: 4770 bx lr + +0800708a <_ZN3ros3Msg8arrToVarImPhEEvRT_T0_>: + + // Copy data from a byte array into variable + template + static void arrToVar(V& var, const A arr) + 800708a: b480 push {r7} + 800708c: b085 sub sp, #20 + 800708e: af00 add r7, sp, #0 + 8007090: 6078 str r0, [r7, #4] + 8007092: 6039 str r1, [r7, #0] + { + var = 0; + 8007094: 687b ldr r3, [r7, #4] + 8007096: 2200 movs r2, #0 + 8007098: 601a str r2, [r3, #0] + for (size_t i = 0; i < sizeof(V); i++) + 800709a: 2300 movs r3, #0 + 800709c: 60fb str r3, [r7, #12] + 800709e: 68fb ldr r3, [r7, #12] + 80070a0: 2b03 cmp r3, #3 + 80070a2: d811 bhi.n 80070c8 <_ZN3ros3Msg8arrToVarImPhEEvRT_T0_+0x3e> + var |= (arr[i] << (8 * i)); + 80070a4: 687b ldr r3, [r7, #4] + 80070a6: 681b ldr r3, [r3, #0] + 80070a8: 6839 ldr r1, [r7, #0] + 80070aa: 68fa ldr r2, [r7, #12] + 80070ac: 440a add r2, r1 + 80070ae: 7812 ldrb r2, [r2, #0] + 80070b0: 4611 mov r1, r2 + 80070b2: 68fa ldr r2, [r7, #12] + 80070b4: 00d2 lsls r2, r2, #3 + 80070b6: fa01 f202 lsl.w r2, r1, r2 + 80070ba: 431a orrs r2, r3 + 80070bc: 687b ldr r3, [r7, #4] + 80070be: 601a str r2, [r3, #0] + for (size_t i = 0; i < sizeof(V); i++) + 80070c0: 68fb ldr r3, [r7, #12] + 80070c2: 3301 adds r3, #1 + 80070c4: 60fb str r3, [r7, #12] + 80070c6: e7ea b.n 800709e <_ZN3ros3Msg8arrToVarImPhEEvRT_T0_+0x14> + } + 80070c8: bf00 nop + 80070ca: 3714 adds r7, #20 + 80070cc: 46bd mov sp, r7 + 80070ce: f85d 7b04 ldr.w r7, [sp], #4 + 80070d2: 4770 bx lr -08004784 <_Z41__static_initialization_and_destruction_0ii>: - 8004784: b580 push {r7, lr} - 8004786: b082 sub sp, #8 - 8004788: af00 add r7, sp, #0 - 800478a: 6078 str r0, [r7, #4] - 800478c: 6039 str r1, [r7, #0] - 800478e: 687b ldr r3, [r7, #4] - 8004790: 2b01 cmp r3, #1 - 8004792: d10c bne.n 80047ae <_Z41__static_initialization_and_destruction_0ii+0x2a> - 8004794: 683b ldr r3, [r7, #0] - 8004796: f64f 72ff movw r2, #65535 ; 0xffff - 800479a: 4293 cmp r3, r2 - 800479c: d107 bne.n 80047ae <_Z41__static_initialization_and_destruction_0ii+0x2a> +080070d4 <_ZN3ros15NodeHandleBase_C1Ev>: +#include "ros/msg.h" + +namespace ros +{ + +class NodeHandleBase_ + 80070d4: b480 push {r7} + 80070d6: b083 sub sp, #12 + 80070d8: af00 add r7, sp, #0 + 80070da: 6078 str r0, [r7, #4] + 80070dc: 4a04 ldr r2, [pc, #16] ; (80070f0 <_ZN3ros15NodeHandleBase_C1Ev+0x1c>) + 80070de: 687b ldr r3, [r7, #4] + 80070e0: 601a str r2, [r3, #0] + 80070e2: 687b ldr r3, [r7, #4] + 80070e4: 4618 mov r0, r3 + 80070e6: 370c adds r7, #12 + 80070e8: 46bd mov sp, r7 + 80070ea: f85d 7b04 ldr.w r7, [sp], #4 + 80070ee: 4770 bx lr + 80070f0: 0800a46c .word 0x0800a46c + +080070f4 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EEC1Ev>: + + /* + * Setup Functions + */ +public: + NodeHandle_() : configured_(false) + 80070f4: b580 push {r7, lr} + 80070f6: b086 sub sp, #24 + 80070f8: af00 add r7, sp, #0 + 80070fa: 6078 str r0, [r7, #4] + 80070fc: 687b ldr r3, [r7, #4] + 80070fe: 4618 mov r0, r3 + 8007100: f7ff ffe8 bl 80070d4 <_ZN3ros15NodeHandleBase_C1Ev> + 8007104: 4a3a ldr r2, [pc, #232] ; (80071f0 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EEC1Ev+0xfc>) + 8007106: 687b ldr r3, [r7, #4] + 8007108: 601a str r2, [r3, #0] + 800710a: 687b ldr r3, [r7, #4] + 800710c: 3304 adds r3, #4 + 800710e: 4618 mov r0, r3 + 8007110: f7ff f894 bl 800623c <_ZN13STM32HardwareC1Ev> + 8007114: 687b ldr r3, [r7, #4] + 8007116: 2200 movs r2, #0 + 8007118: f883 2680 strb.w r2, [r3, #1664] ; 0x680 + 800711c: 687b ldr r3, [r7, #4] + 800711e: f203 6394 addw r3, r3, #1684 ; 0x694 + 8007122: 4618 mov r0, r3 + 8007124: f7fe fd7e bl 8005c24 <_ZN14rosserial_msgs20RequestParamResponseC1Ev> + { + + for (unsigned int i = 0; i < MAX_PUBLISHERS; i++) + 8007128: 2300 movs r3, #0 + 800712a: 617b str r3, [r7, #20] + 800712c: 697b ldr r3, [r7, #20] + 800712e: 2b18 cmp r3, #24 + 8007130: d80b bhi.n 800714a <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EEC1Ev+0x56> + publishers[i] = 0; + 8007132: 687a ldr r2, [r7, #4] + 8007134: 697b ldr r3, [r7, #20] + 8007136: f503 73b4 add.w r3, r3, #360 ; 0x168 + 800713a: 009b lsls r3, r3, #2 + 800713c: 4413 add r3, r2 + 800713e: 2200 movs r2, #0 + 8007140: 605a str r2, [r3, #4] + for (unsigned int i = 0; i < MAX_PUBLISHERS; i++) + 8007142: 697b ldr r3, [r7, #20] + 8007144: 3301 adds r3, #1 + 8007146: 617b str r3, [r7, #20] + 8007148: e7f0 b.n 800712c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EEC1Ev+0x38> + + for (unsigned int i = 0; i < MAX_SUBSCRIBERS; i++) + 800714a: 2300 movs r3, #0 + 800714c: 613b str r3, [r7, #16] + 800714e: 693b ldr r3, [r7, #16] + 8007150: 2b18 cmp r3, #24 + 8007152: d80a bhi.n 800716a <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EEC1Ev+0x76> + subscribers[i] = 0; + 8007154: 687b ldr r3, [r7, #4] + 8007156: 693a ldr r2, [r7, #16] + 8007158: f502 72c1 add.w r2, r2, #386 ; 0x182 + 800715c: 2100 movs r1, #0 + 800715e: f843 1022 str.w r1, [r3, r2, lsl #2] + for (unsigned int i = 0; i < MAX_SUBSCRIBERS; i++) + 8007162: 693b ldr r3, [r7, #16] + 8007164: 3301 adds r3, #1 + 8007166: 613b str r3, [r7, #16] + 8007168: e7f1 b.n 800714e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EEC1Ev+0x5a> + + for (unsigned int i = 0; i < INPUT_SIZE; i++) + 800716a: 2300 movs r3, #0 + 800716c: 60fb str r3, [r7, #12] + 800716e: 68fb ldr r3, [r7, #12] + 8007170: f5b3 7f00 cmp.w r3, #512 ; 0x200 + 8007174: d20a bcs.n 800718c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EEC1Ev+0x98> + message_in[i] = 0; + 8007176: 687a ldr r2, [r7, #4] + 8007178: 68fb ldr r3, [r7, #12] + 800717a: 4413 add r3, r2 + 800717c: f503 73d2 add.w r3, r3, #420 ; 0x1a4 + 8007180: 2200 movs r2, #0 + 8007182: 701a strb r2, [r3, #0] + for (unsigned int i = 0; i < INPUT_SIZE; i++) + 8007184: 68fb ldr r3, [r7, #12] + 8007186: 3301 adds r3, #1 + 8007188: 60fb str r3, [r7, #12] + 800718a: e7f0 b.n 800716e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EEC1Ev+0x7a> + + for (unsigned int i = 0; i < OUTPUT_SIZE; i++) + 800718c: 2300 movs r3, #0 + 800718e: 60bb str r3, [r7, #8] + 8007190: 68bb ldr r3, [r7, #8] + 8007192: f5b3 7f00 cmp.w r3, #512 ; 0x200 + 8007196: d20a bcs.n 80071ae <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EEC1Ev+0xba> + message_out[i] = 0; + 8007198: 687a ldr r2, [r7, #4] + 800719a: 68bb ldr r3, [r7, #8] + 800719c: 4413 add r3, r2 + 800719e: f503 7369 add.w r3, r3, #932 ; 0x3a4 + 80071a2: 2200 movs r2, #0 + 80071a4: 701a strb r2, [r3, #0] + for (unsigned int i = 0; i < OUTPUT_SIZE; i++) + 80071a6: 68bb ldr r3, [r7, #8] + 80071a8: 3301 adds r3, #1 + 80071aa: 60bb str r3, [r7, #8] + 80071ac: e7f0 b.n 8007190 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EEC1Ev+0x9c> + + req_param_resp.ints_length = 0; + 80071ae: 687b ldr r3, [r7, #4] + 80071b0: 2200 movs r2, #0 + 80071b2: f8c3 2698 str.w r2, [r3, #1688] ; 0x698 + req_param_resp.ints = NULL; + 80071b6: 687b ldr r3, [r7, #4] + 80071b8: 2200 movs r2, #0 + 80071ba: f8c3 26a0 str.w r2, [r3, #1696] ; 0x6a0 + req_param_resp.floats_length = 0; + 80071be: 687b ldr r3, [r7, #4] + 80071c0: 2200 movs r2, #0 + 80071c2: f8c3 26a4 str.w r2, [r3, #1700] ; 0x6a4 + req_param_resp.floats = NULL; + 80071c6: 687b ldr r3, [r7, #4] + 80071c8: 2200 movs r2, #0 + 80071ca: f8c3 26ac str.w r2, [r3, #1708] ; 0x6ac + req_param_resp.ints_length = 0; + 80071ce: 687b ldr r3, [r7, #4] + 80071d0: 2200 movs r2, #0 + 80071d2: f8c3 2698 str.w r2, [r3, #1688] ; 0x698 + req_param_resp.ints = NULL; + 80071d6: 687b ldr r3, [r7, #4] + 80071d8: 2200 movs r2, #0 + 80071da: f8c3 26a0 str.w r2, [r3, #1696] ; 0x6a0 + + spin_timeout_ = 0; + 80071de: 687b ldr r3, [r7, #4] + 80071e0: 2200 movs r2, #0 + 80071e2: f8c3 21a0 str.w r2, [r3, #416] ; 0x1a0 + } + 80071e6: 687b ldr r3, [r7, #4] + 80071e8: 4618 mov r0, r3 + 80071ea: 3718 adds r7, #24 + 80071ec: 46bd mov sp, r7 + 80071ee: bd80 pop {r7, pc} + 80071f0: 0800a440 .word 0x0800a440 + +080071f4 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8initNodeEv>: + { + return &hardware_; + } + + /* Start serial, initialize buffers */ + void initNode() + 80071f4: b580 push {r7, lr} + 80071f6: b082 sub sp, #8 + 80071f8: af00 add r7, sp, #0 + 80071fa: 6078 str r0, [r7, #4] + { + hardware_.init(); + 80071fc: 687b ldr r3, [r7, #4] + 80071fe: 3304 adds r3, #4 + 8007200: 4618 mov r0, r3 + 8007202: f7ff f837 bl 8006274 <_ZN13STM32Hardware4initEv> + mode_ = 0; + 8007206: 687b ldr r3, [r7, #4] + 8007208: 2200 movs r2, #0 + 800720a: f8c3 266c str.w r2, [r3, #1644] ; 0x66c + bytes_ = 0; + 800720e: 687b ldr r3, [r7, #4] + 8007210: 2200 movs r2, #0 + 8007212: f8c3 2670 str.w r2, [r3, #1648] ; 0x670 + index_ = 0; + 8007216: 687b ldr r3, [r7, #4] + 8007218: 2200 movs r2, #0 + 800721a: f8c3 2678 str.w r2, [r3, #1656] ; 0x678 + topic_ = 0; + 800721e: 687b ldr r3, [r7, #4] + 8007220: 2200 movs r2, #0 + 8007222: f8c3 2674 str.w r2, [r3, #1652] ; 0x674 + }; + 8007226: bf00 nop + 8007228: 3708 adds r7, #8 + 800722a: 46bd mov sp, r7 + 800722c: bd80 pop {r7, pc} + +0800722e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE9advertiseERNS_9PublisherE>: + /******************************************************************** + * Topic Management + */ + + /* Register a new publisher */ + bool advertise(Publisher & p) + 800722e: b480 push {r7} + 8007230: b085 sub sp, #20 + 8007232: af00 add r7, sp, #0 + 8007234: 6078 str r0, [r7, #4] + 8007236: 6039 str r1, [r7, #0] + { + for (int i = 0; i < MAX_PUBLISHERS; i++) + 8007238: 2300 movs r3, #0 + 800723a: 60fb str r3, [r7, #12] + 800723c: 68fb ldr r3, [r7, #12] + 800723e: 2b18 cmp r3, #24 + 8007240: dc1e bgt.n 8007280 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE9advertiseERNS_9PublisherE+0x52> + { + if (publishers[i] == 0) // empty slot + 8007242: 687a ldr r2, [r7, #4] + 8007244: 68fb ldr r3, [r7, #12] + 8007246: f503 73b4 add.w r3, r3, #360 ; 0x168 + 800724a: 009b lsls r3, r3, #2 + 800724c: 4413 add r3, r2 + 800724e: 685b ldr r3, [r3, #4] + 8007250: 2b00 cmp r3, #0 + 8007252: d111 bne.n 8007278 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE9advertiseERNS_9PublisherE+0x4a> + { + publishers[i] = &p; + 8007254: 687a ldr r2, [r7, #4] + 8007256: 68fb ldr r3, [r7, #12] + 8007258: f503 73b4 add.w r3, r3, #360 ; 0x168 + 800725c: 009b lsls r3, r3, #2 + 800725e: 4413 add r3, r2 + 8007260: 683a ldr r2, [r7, #0] + 8007262: 605a str r2, [r3, #4] + p.id_ = i + 100 + MAX_SUBSCRIBERS; + 8007264: 68fb ldr r3, [r7, #12] + 8007266: f103 027d add.w r2, r3, #125 ; 0x7d + 800726a: 683b ldr r3, [r7, #0] + 800726c: 609a str r2, [r3, #8] + p.nh_ = this; + 800726e: 687a ldr r2, [r7, #4] + 8007270: 683b ldr r3, [r7, #0] + 8007272: 60da str r2, [r3, #12] + return true; + 8007274: 2301 movs r3, #1 + 8007276: e004 b.n 8007282 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE9advertiseERNS_9PublisherE+0x54> + for (int i = 0; i < MAX_PUBLISHERS; i++) + 8007278: 68fb ldr r3, [r7, #12] + 800727a: 3301 adds r3, #1 + 800727c: 60fb str r3, [r7, #12] + 800727e: e7dd b.n 800723c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE9advertiseERNS_9PublisherE+0xe> + } + } + return false; + 8007280: 2300 movs r3, #0 + } + 8007282: 4618 mov r0, r3 + 8007284: 3714 adds r7, #20 + 8007286: 46bd mov sp, r7 + 8007288: f85d 7b04 ldr.w r7, [sp], #4 + 800728c: 4770 bx lr + +0800728e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv>: + virtual int spinOnce() + 800728e: b580 push {r7, lr} + 8007290: b084 sub sp, #16 + 8007292: af00 add r7, sp, #0 + 8007294: 6078 str r0, [r7, #4] + uint32_t c_time = hardware_.time(); + 8007296: 687b ldr r3, [r7, #4] + 8007298: 3304 adds r3, #4 + 800729a: 4618 mov r0, r3 + 800729c: f7ff f8d0 bl 8006440 <_ZN13STM32Hardware4timeEv> + 80072a0: 60f8 str r0, [r7, #12] + if ((c_time - last_sync_receive_time) > (SYNC_SECONDS * 2200)) + 80072a2: 687b ldr r3, [r7, #4] + 80072a4: f8d3 3688 ldr.w r3, [r3, #1672] ; 0x688 + 80072a8: 68fa ldr r2, [r7, #12] + 80072aa: 1ad3 subs r3, r2, r3 + 80072ac: f642 22f8 movw r2, #11000 ; 0x2af8 + 80072b0: 4293 cmp r3, r2 + 80072b2: d903 bls.n 80072bc <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x2e> + configured_ = false; + 80072b4: 687b ldr r3, [r7, #4] + 80072b6: 2200 movs r2, #0 + 80072b8: f883 2680 strb.w r2, [r3, #1664] ; 0x680 + if (mode_ != MODE_FIRST_FF) + 80072bc: 687b ldr r3, [r7, #4] + 80072be: f8d3 366c ldr.w r3, [r3, #1644] ; 0x66c + 80072c2: 2b00 cmp r3, #0 + 80072c4: d009 beq.n 80072da <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c> + if (c_time > last_msg_timeout_time) + 80072c6: 687b ldr r3, [r7, #4] + 80072c8: f8d3 368c ldr.w r3, [r3, #1676] ; 0x68c + 80072cc: 68fa ldr r2, [r7, #12] + 80072ce: 429a cmp r2, r3 + 80072d0: d903 bls.n 80072da <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c> + mode_ = MODE_FIRST_FF; + 80072d2: 687b ldr r3, [r7, #4] + 80072d4: 2200 movs r2, #0 + 80072d6: f8c3 266c str.w r2, [r3, #1644] ; 0x66c + if (spin_timeout_ > 0) + 80072da: 687b ldr r3, [r7, #4] + 80072dc: f8d3 31a0 ldr.w r3, [r3, #416] ; 0x1a0 + 80072e0: 2b00 cmp r3, #0 + 80072e2: d014 beq.n 800730e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x80> + if ((hardware_.time() - c_time) > spin_timeout_) + 80072e4: 687b ldr r3, [r7, #4] + 80072e6: 3304 adds r3, #4 + 80072e8: 4618 mov r0, r3 + 80072ea: f7ff f8a9 bl 8006440 <_ZN13STM32Hardware4timeEv> + 80072ee: 4602 mov r2, r0 + 80072f0: 68fb ldr r3, [r7, #12] + 80072f2: 1ad2 subs r2, r2, r3 + 80072f4: 687b ldr r3, [r7, #4] + 80072f6: f8d3 31a0 ldr.w r3, [r3, #416] ; 0x1a0 + 80072fa: 429a cmp r2, r3 + 80072fc: bf8c ite hi + 80072fe: 2301 movhi r3, #1 + 8007300: 2300 movls r3, #0 + 8007302: b2db uxtb r3, r3 + 8007304: 2b00 cmp r3, #0 + 8007306: d002 beq.n 800730e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x80> + return SPIN_TIMEOUT; + 8007308: f06f 0301 mvn.w r3, #1 + 800730c: e197 b.n 800763e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x3b0> + int data = hardware_.read(); + 800730e: 687b ldr r3, [r7, #4] + 8007310: 3304 adds r3, #4 + 8007312: 4618 mov r0, r3 + 8007314: f7fe ffc9 bl 80062aa <_ZN13STM32Hardware4readEv> + 8007318: 60b8 str r0, [r7, #8] + if (data < 0) + 800731a: 68bb ldr r3, [r7, #8] + 800731c: 2b00 cmp r3, #0 + 800731e: f2c0 8177 blt.w 8007610 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x382> + checksum_ += data; + 8007322: 687b ldr r3, [r7, #4] + 8007324: f8d3 267c ldr.w r2, [r3, #1660] ; 0x67c + 8007328: 68bb ldr r3, [r7, #8] + 800732a: 441a add r2, r3 + 800732c: 687b ldr r3, [r7, #4] + 800732e: f8c3 267c str.w r2, [r3, #1660] ; 0x67c + if (mode_ == MODE_MESSAGE) /* message data being recieved */ + 8007332: 687b ldr r3, [r7, #4] + 8007334: f8d3 366c ldr.w r3, [r3, #1644] ; 0x66c + 8007338: 2b07 cmp r3, #7 + 800733a: d11e bne.n 800737a <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0xec> + message_in[index_++] = data; + 800733c: 687b ldr r3, [r7, #4] + 800733e: f8d3 3678 ldr.w r3, [r3, #1656] ; 0x678 + 8007342: 1c59 adds r1, r3, #1 + 8007344: 687a ldr r2, [r7, #4] + 8007346: f8c2 1678 str.w r1, [r2, #1656] ; 0x678 + 800734a: 68ba ldr r2, [r7, #8] + 800734c: b2d1 uxtb r1, r2 + 800734e: 687a ldr r2, [r7, #4] + 8007350: 4413 add r3, r2 + 8007352: 460a mov r2, r1 + 8007354: f883 21a4 strb.w r2, [r3, #420] ; 0x1a4 + bytes_--; + 8007358: 687b ldr r3, [r7, #4] + 800735a: f8d3 3670 ldr.w r3, [r3, #1648] ; 0x670 + 800735e: 1e5a subs r2, r3, #1 + 8007360: 687b ldr r3, [r7, #4] + 8007362: f8c3 2670 str.w r2, [r3, #1648] ; 0x670 + if (bytes_ == 0) /* is message complete? if so, checksum */ + 8007366: 687b ldr r3, [r7, #4] + 8007368: f8d3 3670 ldr.w r3, [r3, #1648] ; 0x670 + 800736c: 2b00 cmp r3, #0 + 800736e: d1b4 bne.n 80072da <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c> + mode_ = MODE_MSG_CHECKSUM; + 8007370: 687b ldr r3, [r7, #4] + 8007372: 2208 movs r2, #8 + 8007374: f8c3 266c str.w r2, [r3, #1644] ; 0x66c + 8007378: e7af b.n 80072da <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c> + else if (mode_ == MODE_FIRST_FF) + 800737a: 687b ldr r3, [r7, #4] + 800737c: f8d3 366c ldr.w r3, [r3, #1644] ; 0x66c + 8007380: 2b00 cmp r3, #0 + 8007382: d128 bne.n 80073d6 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x148> + if (data == 0xff) + 8007384: 68bb ldr r3, [r7, #8] + 8007386: 2bff cmp r3, #255 ; 0xff + 8007388: d10d bne.n 80073a6 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x118> + mode_++; + 800738a: 687b ldr r3, [r7, #4] + 800738c: f8d3 366c ldr.w r3, [r3, #1644] ; 0x66c + 8007390: 1c5a adds r2, r3, #1 + 8007392: 687b ldr r3, [r7, #4] + 8007394: f8c3 266c str.w r2, [r3, #1644] ; 0x66c + last_msg_timeout_time = c_time + SERIAL_MSG_TIMEOUT; + 8007398: 68fb ldr r3, [r7, #12] + 800739a: f103 0214 add.w r2, r3, #20 + 800739e: 687b ldr r3, [r7, #4] + 80073a0: f8c3 268c str.w r2, [r3, #1676] ; 0x68c + 80073a4: e799 b.n 80072da <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c> + else if (hardware_.time() - c_time > (SYNC_SECONDS * 1000)) + 80073a6: 687b ldr r3, [r7, #4] + 80073a8: 3304 adds r3, #4 + 80073aa: 4618 mov r0, r3 + 80073ac: f7ff f848 bl 8006440 <_ZN13STM32Hardware4timeEv> + 80073b0: 4602 mov r2, r0 + 80073b2: 68fb ldr r3, [r7, #12] + 80073b4: 1ad3 subs r3, r2, r3 + 80073b6: f241 3288 movw r2, #5000 ; 0x1388 + 80073ba: 4293 cmp r3, r2 + 80073bc: bf8c ite hi + 80073be: 2301 movhi r3, #1 + 80073c0: 2300 movls r3, #0 + 80073c2: b2db uxtb r3, r3 + 80073c4: 2b00 cmp r3, #0 + 80073c6: d088 beq.n 80072da <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c> + configured_ = false; + 80073c8: 687b ldr r3, [r7, #4] + 80073ca: 2200 movs r2, #0 + 80073cc: f883 2680 strb.w r2, [r3, #1664] ; 0x680 + return SPIN_TIMEOUT; + 80073d0: f06f 0301 mvn.w r3, #1 + 80073d4: e133 b.n 800763e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x3b0> + else if (mode_ == MODE_PROTOCOL_VER) + 80073d6: 687b ldr r3, [r7, #4] + 80073d8: f8d3 366c ldr.w r3, [r3, #1644] ; 0x66c + 80073dc: 2b01 cmp r3, #1 + 80073de: d11b bne.n 8007418 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x18a> + if (data == PROTOCOL_VER) + 80073e0: 68bb ldr r3, [r7, #8] + 80073e2: 2bfe cmp r3, #254 ; 0xfe + 80073e4: d107 bne.n 80073f6 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x168> + mode_++; + 80073e6: 687b ldr r3, [r7, #4] + 80073e8: f8d3 366c ldr.w r3, [r3, #1644] ; 0x66c + 80073ec: 1c5a adds r2, r3, #1 + 80073ee: 687b ldr r3, [r7, #4] + 80073f0: f8c3 266c str.w r2, [r3, #1644] ; 0x66c + 80073f4: e771 b.n 80072da <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c> + mode_ = MODE_FIRST_FF; + 80073f6: 687b ldr r3, [r7, #4] + 80073f8: 2200 movs r2, #0 + 80073fa: f8c3 266c str.w r2, [r3, #1644] ; 0x66c + if (configured_ == false) + 80073fe: 687b ldr r3, [r7, #4] + 8007400: f893 3680 ldrb.w r3, [r3, #1664] ; 0x680 + 8007404: f083 0301 eor.w r3, r3, #1 + 8007408: b2db uxtb r3, r3 + 800740a: 2b00 cmp r3, #0 + 800740c: f43f af65 beq.w 80072da <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c> + requestSyncTime(); /* send a msg back showing our protocol version */ + 8007410: 6878 ldr r0, [r7, #4] + 8007412: f000 f924 bl 800765e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15requestSyncTimeEv> + 8007416: e760 b.n 80072da <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c> + else if (mode_ == MODE_SIZE_L) /* bottom half of message size */ + 8007418: 687b ldr r3, [r7, #4] + 800741a: f8d3 366c ldr.w r3, [r3, #1644] ; 0x66c + 800741e: 2b02 cmp r3, #2 + 8007420: d113 bne.n 800744a <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x1bc> + bytes_ = data; + 8007422: 687b ldr r3, [r7, #4] + 8007424: 68ba ldr r2, [r7, #8] + 8007426: f8c3 2670 str.w r2, [r3, #1648] ; 0x670 + index_ = 0; + 800742a: 687b ldr r3, [r7, #4] + 800742c: 2200 movs r2, #0 + 800742e: f8c3 2678 str.w r2, [r3, #1656] ; 0x678 + mode_++; + 8007432: 687b ldr r3, [r7, #4] + 8007434: f8d3 366c ldr.w r3, [r3, #1644] ; 0x66c + 8007438: 1c5a adds r2, r3, #1 + 800743a: 687b ldr r3, [r7, #4] + 800743c: f8c3 266c str.w r2, [r3, #1644] ; 0x66c + checksum_ = data; /* first byte for calculating size checksum */ + 8007440: 687b ldr r3, [r7, #4] + 8007442: 68ba ldr r2, [r7, #8] + 8007444: f8c3 267c str.w r2, [r3, #1660] ; 0x67c + 8007448: e747 b.n 80072da <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c> + else if (mode_ == MODE_SIZE_H) /* top half of message size */ + 800744a: 687b ldr r3, [r7, #4] + 800744c: f8d3 366c ldr.w r3, [r3, #1644] ; 0x66c + 8007450: 2b03 cmp r3, #3 + 8007452: d110 bne.n 8007476 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x1e8> + bytes_ += data << 8; + 8007454: 687b ldr r3, [r7, #4] + 8007456: f8d3 2670 ldr.w r2, [r3, #1648] ; 0x670 + 800745a: 68bb ldr r3, [r7, #8] + 800745c: 021b lsls r3, r3, #8 + 800745e: 441a add r2, r3 + 8007460: 687b ldr r3, [r7, #4] + 8007462: f8c3 2670 str.w r2, [r3, #1648] ; 0x670 + mode_++; + 8007466: 687b ldr r3, [r7, #4] + 8007468: f8d3 366c ldr.w r3, [r3, #1644] ; 0x66c + 800746c: 1c5a adds r2, r3, #1 + 800746e: 687b ldr r3, [r7, #4] + 8007470: f8c3 266c str.w r2, [r3, #1644] ; 0x66c + 8007474: e731 b.n 80072da <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c> + else if (mode_ == MODE_SIZE_CHECKSUM) + 8007476: 687b ldr r3, [r7, #4] + 8007478: f8d3 366c ldr.w r3, [r3, #1644] ; 0x66c + 800747c: 2b04 cmp r3, #4 + 800747e: d116 bne.n 80074ae <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x220> + if ((checksum_ % 256) == 255) + 8007480: 687b ldr r3, [r7, #4] + 8007482: f8d3 367c ldr.w r3, [r3, #1660] ; 0x67c + 8007486: 425a negs r2, r3 + 8007488: b2db uxtb r3, r3 + 800748a: b2d2 uxtb r2, r2 + 800748c: bf58 it pl + 800748e: 4253 negpl r3, r2 + 8007490: 2bff cmp r3, #255 ; 0xff + 8007492: d107 bne.n 80074a4 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x216> + mode_++; + 8007494: 687b ldr r3, [r7, #4] + 8007496: f8d3 366c ldr.w r3, [r3, #1644] ; 0x66c + 800749a: 1c5a adds r2, r3, #1 + 800749c: 687b ldr r3, [r7, #4] + 800749e: f8c3 266c str.w r2, [r3, #1644] ; 0x66c + 80074a2: e71a b.n 80072da <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c> + mode_ = MODE_FIRST_FF; /* Abandon the frame if the msg len is wrong */ + 80074a4: 687b ldr r3, [r7, #4] + 80074a6: 2200 movs r2, #0 + 80074a8: f8c3 266c str.w r2, [r3, #1644] ; 0x66c + 80074ac: e715 b.n 80072da <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c> + else if (mode_ == MODE_TOPIC_L) /* bottom half of topic id */ + 80074ae: 687b ldr r3, [r7, #4] + 80074b0: f8d3 366c ldr.w r3, [r3, #1644] ; 0x66c + 80074b4: 2b05 cmp r3, #5 + 80074b6: d10f bne.n 80074d8 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x24a> + topic_ = data; + 80074b8: 687b ldr r3, [r7, #4] + 80074ba: 68ba ldr r2, [r7, #8] + 80074bc: f8c3 2674 str.w r2, [r3, #1652] ; 0x674 + mode_++; + 80074c0: 687b ldr r3, [r7, #4] + 80074c2: f8d3 366c ldr.w r3, [r3, #1644] ; 0x66c + 80074c6: 1c5a adds r2, r3, #1 + 80074c8: 687b ldr r3, [r7, #4] + 80074ca: f8c3 266c str.w r2, [r3, #1644] ; 0x66c + checksum_ = data; /* first byte included in checksum */ + 80074ce: 687b ldr r3, [r7, #4] + 80074d0: 68ba ldr r2, [r7, #8] + 80074d2: f8c3 267c str.w r2, [r3, #1660] ; 0x67c + 80074d6: e700 b.n 80072da <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c> + else if (mode_ == MODE_TOPIC_H) /* top half of topic id */ + 80074d8: 687b ldr r3, [r7, #4] + 80074da: f8d3 366c ldr.w r3, [r3, #1644] ; 0x66c + 80074de: 2b06 cmp r3, #6 + 80074e0: d117 bne.n 8007512 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x284> + topic_ += data << 8; + 80074e2: 687b ldr r3, [r7, #4] + 80074e4: f8d3 2674 ldr.w r2, [r3, #1652] ; 0x674 + 80074e8: 68bb ldr r3, [r7, #8] + 80074ea: 021b lsls r3, r3, #8 + 80074ec: 441a add r2, r3 + 80074ee: 687b ldr r3, [r7, #4] + 80074f0: f8c3 2674 str.w r2, [r3, #1652] ; 0x674 + mode_ = MODE_MESSAGE; + 80074f4: 687b ldr r3, [r7, #4] + 80074f6: 2207 movs r2, #7 + 80074f8: f8c3 266c str.w r2, [r3, #1644] ; 0x66c + if (bytes_ == 0) + 80074fc: 687b ldr r3, [r7, #4] + 80074fe: f8d3 3670 ldr.w r3, [r3, #1648] ; 0x670 + 8007502: 2b00 cmp r3, #0 + 8007504: f47f aee9 bne.w 80072da <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c> + mode_ = MODE_MSG_CHECKSUM; + 8007508: 687b ldr r3, [r7, #4] + 800750a: 2208 movs r2, #8 + 800750c: f8c3 266c str.w r2, [r3, #1644] ; 0x66c + 8007510: e6e3 b.n 80072da <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c> + else if (mode_ == MODE_MSG_CHECKSUM) /* do checksum */ + 8007512: 687b ldr r3, [r7, #4] + 8007514: f8d3 366c ldr.w r3, [r3, #1644] ; 0x66c + 8007518: 2b08 cmp r3, #8 + 800751a: f47f aede bne.w 80072da <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c> + mode_ = MODE_FIRST_FF; + 800751e: 687b ldr r3, [r7, #4] + 8007520: 2200 movs r2, #0 + 8007522: f8c3 266c str.w r2, [r3, #1644] ; 0x66c + if ((checksum_ % 256) == 255) + 8007526: 687b ldr r3, [r7, #4] + 8007528: f8d3 367c ldr.w r3, [r3, #1660] ; 0x67c + 800752c: 425a negs r2, r3 + 800752e: b2db uxtb r3, r3 + 8007530: b2d2 uxtb r2, r2 + 8007532: bf58 it pl + 8007534: 4253 negpl r3, r2 + 8007536: 2bff cmp r3, #255 ; 0xff + 8007538: f47f aecf bne.w 80072da <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c> + if (topic_ == TopicInfo::ID_PUBLISHER) + 800753c: 687b ldr r3, [r7, #4] + 800753e: f8d3 3674 ldr.w r3, [r3, #1652] ; 0x674 + 8007542: 2b00 cmp r3, #0 + 8007544: d110 bne.n 8007568 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x2da> + requestSyncTime(); + 8007546: 6878 ldr r0, [r7, #4] + 8007548: f000 f889 bl 800765e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15requestSyncTimeEv> + negotiateTopics(); + 800754c: 6878 ldr r0, [r7, #4] + 800754e: f000 f8a4 bl 800769a <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15negotiateTopicsEv> + last_sync_time = c_time; + 8007552: 687b ldr r3, [r7, #4] + 8007554: 68fa ldr r2, [r7, #12] + 8007556: f8c3 2684 str.w r2, [r3, #1668] ; 0x684 + last_sync_receive_time = c_time; + 800755a: 687b ldr r3, [r7, #4] + 800755c: 68fa ldr r2, [r7, #12] + 800755e: f8c3 2688 str.w r2, [r3, #1672] ; 0x688 + return SPIN_ERR; + 8007562: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff + 8007566: e06a b.n 800763e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x3b0> + else if (topic_ == TopicInfo::ID_TIME) + 8007568: 687b ldr r3, [r7, #4] + 800756a: f8d3 3674 ldr.w r3, [r3, #1652] ; 0x674 + 800756e: 2b0a cmp r3, #10 + 8007570: d107 bne.n 8007582 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x2f4> + syncTime(message_in); + 8007572: 687b ldr r3, [r7, #4] + 8007574: f503 73d2 add.w r3, r3, #420 ; 0x1a4 + 8007578: 4619 mov r1, r3 + 800757a: 6878 ldr r0, [r7, #4] + 800757c: f000 f96c bl 8007858 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8syncTimeEPh> + 8007580: e6ab b.n 80072da <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c> + else if (topic_ == TopicInfo::ID_PARAMETER_REQUEST) + 8007582: 687b ldr r3, [r7, #4] + 8007584: f8d3 3674 ldr.w r3, [r3, #1652] ; 0x674 + 8007588: 2b06 cmp r3, #6 + 800758a: d10e bne.n 80075aa <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x31c> + req_param_resp.deserialize(message_in); + 800758c: 687b ldr r3, [r7, #4] + 800758e: f203 6294 addw r2, r3, #1684 ; 0x694 + 8007592: 687b ldr r3, [r7, #4] + 8007594: f503 73d2 add.w r3, r3, #420 ; 0x1a4 + 8007598: 4619 mov r1, r3 + 800759a: 4610 mov r0, r2 + 800759c: f7fe fc77 bl 8005e8e <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh> + param_recieved = true; + 80075a0: 687b ldr r3, [r7, #4] + 80075a2: 2201 movs r2, #1 + 80075a4: f883 2690 strb.w r2, [r3, #1680] ; 0x690 + 80075a8: e697 b.n 80072da <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c> + else if (topic_ == TopicInfo::ID_TX_STOP) + 80075aa: 687b ldr r3, [r7, #4] + 80075ac: f8d3 3674 ldr.w r3, [r3, #1652] ; 0x674 + 80075b0: 2b0b cmp r3, #11 + 80075b2: d104 bne.n 80075be <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x330> + configured_ = false; + 80075b4: 687b ldr r3, [r7, #4] + 80075b6: 2200 movs r2, #0 + 80075b8: f883 2680 strb.w r2, [r3, #1664] ; 0x680 + 80075bc: e68d b.n 80072da <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c> + if (subscribers[topic_ - 100]) + 80075be: 687b ldr r3, [r7, #4] + 80075c0: f8d3 3674 ldr.w r3, [r3, #1652] ; 0x674 + 80075c4: f1a3 0264 sub.w r2, r3, #100 ; 0x64 + 80075c8: 687b ldr r3, [r7, #4] + 80075ca: f502 72c1 add.w r2, r2, #386 ; 0x182 + 80075ce: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 80075d2: 2b00 cmp r3, #0 + 80075d4: f43f ae81 beq.w 80072da <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c> + subscribers[topic_ - 100]->callback(message_in); + 80075d8: 687b ldr r3, [r7, #4] + 80075da: f8d3 3674 ldr.w r3, [r3, #1652] ; 0x674 + 80075de: f1a3 0264 sub.w r2, r3, #100 ; 0x64 + 80075e2: 687b ldr r3, [r7, #4] + 80075e4: f502 72c1 add.w r2, r2, #386 ; 0x182 + 80075e8: f853 0022 ldr.w r0, [r3, r2, lsl #2] + 80075ec: 687b ldr r3, [r7, #4] + 80075ee: f8d3 3674 ldr.w r3, [r3, #1652] ; 0x674 + 80075f2: f1a3 0264 sub.w r2, r3, #100 ; 0x64 + 80075f6: 687b ldr r3, [r7, #4] + 80075f8: f502 72c1 add.w r2, r2, #386 ; 0x182 + 80075fc: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 8007600: 681b ldr r3, [r3, #0] + 8007602: 681b ldr r3, [r3, #0] + 8007604: 687a ldr r2, [r7, #4] + 8007606: f502 72d2 add.w r2, r2, #420 ; 0x1a4 + 800760a: 4611 mov r1, r2 + 800760c: 4798 blx r3 + while (true) + 800760e: e664 b.n 80072da <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c> + break; + 8007610: bf00 nop + if (configured_ && ((c_time - last_sync_time) > (SYNC_SECONDS * 500))) + 8007612: 687b ldr r3, [r7, #4] + 8007614: f893 3680 ldrb.w r3, [r3, #1664] ; 0x680 + 8007618: 2b00 cmp r3, #0 + 800761a: d00f beq.n 800763c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x3ae> + 800761c: 687b ldr r3, [r7, #4] + 800761e: f8d3 3684 ldr.w r3, [r3, #1668] ; 0x684 + 8007622: 68fa ldr r2, [r7, #12] + 8007624: 1ad3 subs r3, r2, r3 + 8007626: f640 12c4 movw r2, #2500 ; 0x9c4 + 800762a: 4293 cmp r3, r2 + 800762c: d906 bls.n 800763c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x3ae> + requestSyncTime(); + 800762e: 6878 ldr r0, [r7, #4] + 8007630: f000 f815 bl 800765e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15requestSyncTimeEv> + last_sync_time = c_time; + 8007634: 687b ldr r3, [r7, #4] + 8007636: 68fa ldr r2, [r7, #12] + 8007638: f8c3 2684 str.w r2, [r3, #1668] ; 0x684 + return SPIN_OK; + 800763c: 2300 movs r3, #0 + } + 800763e: 4618 mov r0, r3 + 8007640: 3710 adds r7, #16 + 8007642: 46bd mov sp, r7 + 8007644: bd80 pop {r7, pc} + +08007646 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE11getHardwareEv>: + Hardware* getHardware() + 8007646: b480 push {r7} + 8007648: b083 sub sp, #12 + 800764a: af00 add r7, sp, #0 + 800764c: 6078 str r0, [r7, #4] + return &hardware_; + 800764e: 687b ldr r3, [r7, #4] + 8007650: 3304 adds r3, #4 + } + 8007652: 4618 mov r0, r3 + 8007654: 370c adds r7, #12 + 8007656: 46bd mov sp, r7 + 8007658: f85d 7b04 ldr.w r7, [sp], #4 + 800765c: 4770 bx lr + +0800765e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15requestSyncTimeEv>: + void requestSyncTime() + 800765e: b580 push {r7, lr} + 8007660: b086 sub sp, #24 + 8007662: af00 add r7, sp, #0 + 8007664: 6078 str r0, [r7, #4] + std_msgs::Time t; + 8007666: f107 030c add.w r3, r7, #12 + 800766a: 4618 mov r0, r3 + 800766c: f7fd ff76 bl 800555c <_ZN8std_msgs4TimeC1Ev> + publish(TopicInfo::ID_TIME, &t); + 8007670: 687b ldr r3, [r7, #4] + 8007672: 681b ldr r3, [r3, #0] + 8007674: 681b ldr r3, [r3, #0] + 8007676: f107 020c add.w r2, r7, #12 + 800767a: 210a movs r1, #10 + 800767c: 6878 ldr r0, [r7, #4] + 800767e: 4798 blx r3 + rt_time = hardware_.time(); + 8007680: 687b ldr r3, [r7, #4] + 8007682: 3304 adds r3, #4 + 8007684: 4618 mov r0, r3 + 8007686: f7fe fedb bl 8006440 <_ZN13STM32Hardware4timeEv> + 800768a: 4602 mov r2, r0 + 800768c: 687b ldr r3, [r7, #4] + 800768e: f8c3 2194 str.w r2, [r3, #404] ; 0x194 + } + 8007692: bf00 nop + 8007694: 3718 adds r7, #24 + 8007696: 46bd mov sp, r7 + 8007698: bd80 pop {r7, pc} + +0800769a <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15negotiateTopicsEv>: + } + } + return false; + } + + void negotiateTopics() + 800769a: b590 push {r4, r7, lr} + 800769c: b08b sub sp, #44 ; 0x2c + 800769e: af00 add r7, sp, #0 + 80076a0: 6078 str r0, [r7, #4] + { + rosserial_msgs::TopicInfo ti; + 80076a2: f107 030c add.w r3, r7, #12 + 80076a6: 4618 mov r0, r3 + 80076a8: f7fe f848 bl 800573c <_ZN14rosserial_msgs9TopicInfoC1Ev> + int i; + for (i = 0; i < MAX_PUBLISHERS; i++) + 80076ac: 2300 movs r3, #0 + 80076ae: 627b str r3, [r7, #36] ; 0x24 + 80076b0: 6a7b ldr r3, [r7, #36] ; 0x24 + 80076b2: 2b18 cmp r3, #24 + 80076b4: dc63 bgt.n 800777e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15negotiateTopicsEv+0xe4> + { + if (publishers[i] != 0) // non-empty slot + 80076b6: 687a ldr r2, [r7, #4] + 80076b8: 6a7b ldr r3, [r7, #36] ; 0x24 + 80076ba: f503 73b4 add.w r3, r3, #360 ; 0x168 + 80076be: 009b lsls r3, r3, #2 + 80076c0: 4413 add r3, r2 + 80076c2: 685b ldr r3, [r3, #4] + 80076c4: 2b00 cmp r3, #0 + 80076c6: d056 beq.n 8007776 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15negotiateTopicsEv+0xdc> + { + ti.topic_id = publishers[i]->id_; + 80076c8: 687a ldr r2, [r7, #4] + 80076ca: 6a7b ldr r3, [r7, #36] ; 0x24 + 80076cc: f503 73b4 add.w r3, r3, #360 ; 0x168 + 80076d0: 009b lsls r3, r3, #2 + 80076d2: 4413 add r3, r2 + 80076d4: 685b ldr r3, [r3, #4] + 80076d6: 689b ldr r3, [r3, #8] + 80076d8: b29b uxth r3, r3 + 80076da: 823b strh r3, [r7, #16] + ti.topic_name = (char *) publishers[i]->topic_; + 80076dc: 687a ldr r2, [r7, #4] + 80076de: 6a7b ldr r3, [r7, #36] ; 0x24 + 80076e0: f503 73b4 add.w r3, r3, #360 ; 0x168 + 80076e4: 009b lsls r3, r3, #2 + 80076e6: 4413 add r3, r2 + 80076e8: 685b ldr r3, [r3, #4] + 80076ea: 681b ldr r3, [r3, #0] + 80076ec: 617b str r3, [r7, #20] + ti.message_type = (char *) publishers[i]->msg_->getType(); + 80076ee: 687a ldr r2, [r7, #4] + 80076f0: 6a7b ldr r3, [r7, #36] ; 0x24 + 80076f2: f503 73b4 add.w r3, r3, #360 ; 0x168 + 80076f6: 009b lsls r3, r3, #2 + 80076f8: 4413 add r3, r2 + 80076fa: 685b ldr r3, [r3, #4] + 80076fc: 6859 ldr r1, [r3, #4] + 80076fe: 687a ldr r2, [r7, #4] + 8007700: 6a7b ldr r3, [r7, #36] ; 0x24 + 8007702: f503 73b4 add.w r3, r3, #360 ; 0x168 + 8007706: 009b lsls r3, r3, #2 + 8007708: 4413 add r3, r2 + 800770a: 685b ldr r3, [r3, #4] + 800770c: 685b ldr r3, [r3, #4] + 800770e: 681b ldr r3, [r3, #0] + 8007710: 3308 adds r3, #8 + 8007712: 681b ldr r3, [r3, #0] + 8007714: 4608 mov r0, r1 + 8007716: 4798 blx r3 + 8007718: 4603 mov r3, r0 + 800771a: 61bb str r3, [r7, #24] + ti.md5sum = (char *) publishers[i]->msg_->getMD5(); + 800771c: 687a ldr r2, [r7, #4] + 800771e: 6a7b ldr r3, [r7, #36] ; 0x24 + 8007720: f503 73b4 add.w r3, r3, #360 ; 0x168 + 8007724: 009b lsls r3, r3, #2 + 8007726: 4413 add r3, r2 + 8007728: 685b ldr r3, [r3, #4] + 800772a: 6859 ldr r1, [r3, #4] + 800772c: 687a ldr r2, [r7, #4] + 800772e: 6a7b ldr r3, [r7, #36] ; 0x24 + 8007730: f503 73b4 add.w r3, r3, #360 ; 0x168 + 8007734: 009b lsls r3, r3, #2 + 8007736: 4413 add r3, r2 + 8007738: 685b ldr r3, [r3, #4] + 800773a: 685b ldr r3, [r3, #4] + 800773c: 681b ldr r3, [r3, #0] + 800773e: 330c adds r3, #12 + 8007740: 681b ldr r3, [r3, #0] + 8007742: 4608 mov r0, r1 + 8007744: 4798 blx r3 + 8007746: 4603 mov r3, r0 + 8007748: 61fb str r3, [r7, #28] + ti.buffer_size = OUTPUT_SIZE; + 800774a: f44f 7300 mov.w r3, #512 ; 0x200 + 800774e: 623b str r3, [r7, #32] + publish(publishers[i]->getEndpointType(), &ti); + 8007750: 687b ldr r3, [r7, #4] + 8007752: 681b ldr r3, [r3, #0] + 8007754: 681c ldr r4, [r3, #0] + 8007756: 687a ldr r2, [r7, #4] + 8007758: 6a7b ldr r3, [r7, #36] ; 0x24 + 800775a: f503 73b4 add.w r3, r3, #360 ; 0x168 + 800775e: 009b lsls r3, r3, #2 + 8007760: 4413 add r3, r2 + 8007762: 685b ldr r3, [r3, #4] + 8007764: 4618 mov r0, r3 + 8007766: f7fe fd4a bl 80061fe <_ZN3ros9Publisher15getEndpointTypeEv> + 800776a: 4601 mov r1, r0 + 800776c: f107 030c add.w r3, r7, #12 + 8007770: 461a mov r2, r3 + 8007772: 6878 ldr r0, [r7, #4] + 8007774: 47a0 blx r4 + for (i = 0; i < MAX_PUBLISHERS; i++) + 8007776: 6a7b ldr r3, [r7, #36] ; 0x24 + 8007778: 3301 adds r3, #1 + 800777a: 627b str r3, [r7, #36] ; 0x24 + 800777c: e798 b.n 80076b0 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15negotiateTopicsEv+0x16> + } + } + for (i = 0; i < MAX_SUBSCRIBERS; i++) + 800777e: 2300 movs r3, #0 + 8007780: 627b str r3, [r7, #36] ; 0x24 + 8007782: 6a7b ldr r3, [r7, #36] ; 0x24 + 8007784: 2b18 cmp r3, #24 + 8007786: dc5f bgt.n 8007848 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15negotiateTopicsEv+0x1ae> + { + if (subscribers[i] != 0) // non-empty slot + 8007788: 687b ldr r3, [r7, #4] + 800778a: 6a7a ldr r2, [r7, #36] ; 0x24 + 800778c: f502 72c1 add.w r2, r2, #386 ; 0x182 + 8007790: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 8007794: 2b00 cmp r3, #0 + 8007796: d053 beq.n 8007840 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15negotiateTopicsEv+0x1a6> + { + ti.topic_id = subscribers[i]->id_; + 8007798: 687b ldr r3, [r7, #4] + 800779a: 6a7a ldr r2, [r7, #36] ; 0x24 + 800779c: f502 72c1 add.w r2, r2, #386 ; 0x182 + 80077a0: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 80077a4: 685b ldr r3, [r3, #4] + 80077a6: b29b uxth r3, r3 + 80077a8: 823b strh r3, [r7, #16] + ti.topic_name = (char *) subscribers[i]->topic_; + 80077aa: 687b ldr r3, [r7, #4] + 80077ac: 6a7a ldr r2, [r7, #36] ; 0x24 + 80077ae: f502 72c1 add.w r2, r2, #386 ; 0x182 + 80077b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 80077b6: 689b ldr r3, [r3, #8] + 80077b8: 617b str r3, [r7, #20] + ti.message_type = (char *) subscribers[i]->getMsgType(); + 80077ba: 687b ldr r3, [r7, #4] + 80077bc: 6a7a ldr r2, [r7, #36] ; 0x24 + 80077be: f502 72c1 add.w r2, r2, #386 ; 0x182 + 80077c2: f853 1022 ldr.w r1, [r3, r2, lsl #2] + 80077c6: 687b ldr r3, [r7, #4] + 80077c8: 6a7a ldr r2, [r7, #36] ; 0x24 + 80077ca: f502 72c1 add.w r2, r2, #386 ; 0x182 + 80077ce: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 80077d2: 681b ldr r3, [r3, #0] + 80077d4: 3308 adds r3, #8 + 80077d6: 681b ldr r3, [r3, #0] + 80077d8: 4608 mov r0, r1 + 80077da: 4798 blx r3 + 80077dc: 4603 mov r3, r0 + 80077de: 61bb str r3, [r7, #24] + ti.md5sum = (char *) subscribers[i]->getMsgMD5(); + 80077e0: 687b ldr r3, [r7, #4] + 80077e2: 6a7a ldr r2, [r7, #36] ; 0x24 + 80077e4: f502 72c1 add.w r2, r2, #386 ; 0x182 + 80077e8: f853 1022 ldr.w r1, [r3, r2, lsl #2] + 80077ec: 687b ldr r3, [r7, #4] + 80077ee: 6a7a ldr r2, [r7, #36] ; 0x24 + 80077f0: f502 72c1 add.w r2, r2, #386 ; 0x182 + 80077f4: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 80077f8: 681b ldr r3, [r3, #0] + 80077fa: 330c adds r3, #12 + 80077fc: 681b ldr r3, [r3, #0] + 80077fe: 4608 mov r0, r1 + 8007800: 4798 blx r3 + 8007802: 4603 mov r3, r0 + 8007804: 61fb str r3, [r7, #28] + ti.buffer_size = INPUT_SIZE; + 8007806: f44f 7300 mov.w r3, #512 ; 0x200 + 800780a: 623b str r3, [r7, #32] + publish(subscribers[i]->getEndpointType(), &ti); + 800780c: 687b ldr r3, [r7, #4] + 800780e: 681b ldr r3, [r3, #0] + 8007810: 681c ldr r4, [r3, #0] + 8007812: 687b ldr r3, [r7, #4] + 8007814: 6a7a ldr r2, [r7, #36] ; 0x24 + 8007816: f502 72c1 add.w r2, r2, #386 ; 0x182 + 800781a: f853 1022 ldr.w r1, [r3, r2, lsl #2] + 800781e: 687b ldr r3, [r7, #4] + 8007820: 6a7a ldr r2, [r7, #36] ; 0x24 + 8007822: f502 72c1 add.w r2, r2, #386 ; 0x182 + 8007826: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 800782a: 681b ldr r3, [r3, #0] + 800782c: 3304 adds r3, #4 + 800782e: 681b ldr r3, [r3, #0] + 8007830: 4608 mov r0, r1 + 8007832: 4798 blx r3 + 8007834: 4601 mov r1, r0 + 8007836: f107 030c add.w r3, r7, #12 + 800783a: 461a mov r2, r3 + 800783c: 6878 ldr r0, [r7, #4] + 800783e: 47a0 blx r4 + for (i = 0; i < MAX_SUBSCRIBERS; i++) + 8007840: 6a7b ldr r3, [r7, #36] ; 0x24 + 8007842: 3301 adds r3, #1 + 8007844: 627b str r3, [r7, #36] ; 0x24 + 8007846: e79c b.n 8007782 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15negotiateTopicsEv+0xe8> + } + } + configured_ = true; + 8007848: 687b ldr r3, [r7, #4] + 800784a: 2201 movs r2, #1 + 800784c: f883 2680 strb.w r2, [r3, #1664] ; 0x680 + } + 8007850: bf00 nop + 8007852: 372c adds r7, #44 ; 0x2c + 8007854: 46bd mov sp, r7 + 8007856: bd90 pop {r4, r7, pc} + +08007858 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8syncTimeEPh>: + void syncTime(uint8_t * data) + 8007858: b580 push {r7, lr} + 800785a: b086 sub sp, #24 + 800785c: af00 add r7, sp, #0 + 800785e: 6078 str r0, [r7, #4] + 8007860: 6039 str r1, [r7, #0] + std_msgs::Time t; + 8007862: f107 0308 add.w r3, r7, #8 + 8007866: 4618 mov r0, r3 + 8007868: f7fd fe78 bl 800555c <_ZN8std_msgs4TimeC1Ev> + uint32_t offset = hardware_.time() - rt_time; + 800786c: 687b ldr r3, [r7, #4] + 800786e: 3304 adds r3, #4 + 8007870: 4618 mov r0, r3 + 8007872: f7fe fde5 bl 8006440 <_ZN13STM32Hardware4timeEv> + 8007876: 4602 mov r2, r0 + 8007878: 687b ldr r3, [r7, #4] + 800787a: f8d3 3194 ldr.w r3, [r3, #404] ; 0x194 + 800787e: 1ad3 subs r3, r2, r3 + 8007880: 617b str r3, [r7, #20] + t.deserialize(data); + 8007882: f107 0308 add.w r3, r7, #8 + 8007886: 6839 ldr r1, [r7, #0] + 8007888: 4618 mov r0, r3 + 800788a: f7fd fed7 bl 800563c <_ZN8std_msgs4Time11deserializeEPh> + t.data.sec += offset / 1000; + 800788e: 68fa ldr r2, [r7, #12] + 8007890: 697b ldr r3, [r7, #20] + 8007892: 4915 ldr r1, [pc, #84] ; (80078e8 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8syncTimeEPh+0x90>) + 8007894: fba1 1303 umull r1, r3, r1, r3 + 8007898: 099b lsrs r3, r3, #6 + 800789a: 4413 add r3, r2 + 800789c: 60fb str r3, [r7, #12] + t.data.nsec += (offset % 1000) * 1000000UL; + 800789e: 6939 ldr r1, [r7, #16] + 80078a0: 697a ldr r2, [r7, #20] + 80078a2: 4b11 ldr r3, [pc, #68] ; (80078e8 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8syncTimeEPh+0x90>) + 80078a4: fba3 0302 umull r0, r3, r3, r2 + 80078a8: 099b lsrs r3, r3, #6 + 80078aa: f44f 707a mov.w r0, #1000 ; 0x3e8 + 80078ae: fb00 f303 mul.w r3, r0, r3 + 80078b2: 1ad3 subs r3, r2, r3 + 80078b4: 4a0d ldr r2, [pc, #52] ; (80078ec <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8syncTimeEPh+0x94>) + 80078b6: fb02 f303 mul.w r3, r2, r3 + 80078ba: 440b add r3, r1 + 80078bc: 613b str r3, [r7, #16] + this->setNow(t.data); + 80078be: f107 0308 add.w r3, r7, #8 + 80078c2: 3304 adds r3, #4 + 80078c4: 4619 mov r1, r3 + 80078c6: 6878 ldr r0, [r7, #4] + 80078c8: f000 f8a4 bl 8007a14 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE6setNowERNS_4TimeE> + last_sync_receive_time = hardware_.time(); + 80078cc: 687b ldr r3, [r7, #4] + 80078ce: 3304 adds r3, #4 + 80078d0: 4618 mov r0, r3 + 80078d2: f7fe fdb5 bl 8006440 <_ZN13STM32Hardware4timeEv> + 80078d6: 4602 mov r2, r0 + 80078d8: 687b ldr r3, [r7, #4] + 80078da: f8c3 2688 str.w r2, [r3, #1672] ; 0x688 + } + 80078de: bf00 nop + 80078e0: 3718 adds r7, #24 + 80078e2: 46bd mov sp, r7 + 80078e4: bd80 pop {r7, pc} + 80078e6: bf00 nop + 80078e8: 10624dd3 .word 0x10624dd3 + 80078ec: 000f4240 .word 0x000f4240 + +080078f0 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE7publishEiPKNS_3MsgE>: + + virtual int publish(int id, const Msg * msg) + 80078f0: b580 push {r7, lr} + 80078f2: b088 sub sp, #32 + 80078f4: af00 add r7, sp, #0 + 80078f6: 60f8 str r0, [r7, #12] + 80078f8: 60b9 str r1, [r7, #8] + 80078fa: 607a str r2, [r7, #4] + { + if (id >= 100 && !configured_) + 80078fc: 68bb ldr r3, [r7, #8] + 80078fe: 2b63 cmp r3, #99 ; 0x63 + 8007900: dd09 ble.n 8007916 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE7publishEiPKNS_3MsgE+0x26> + 8007902: 68fb ldr r3, [r7, #12] + 8007904: f893 3680 ldrb.w r3, [r3, #1664] ; 0x680 + 8007908: f083 0301 eor.w r3, r3, #1 + 800790c: b2db uxtb r3, r3 + 800790e: 2b00 cmp r3, #0 + 8007910: d001 beq.n 8007916 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE7publishEiPKNS_3MsgE+0x26> + return 0; + 8007912: 2300 movs r3, #0 + 8007914: e077 b.n 8007a06 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE7publishEiPKNS_3MsgE+0x116> + + /* serialize message */ + int l = msg->serialize(message_out + 7); + 8007916: 687b ldr r3, [r7, #4] + 8007918: 681b ldr r3, [r3, #0] + 800791a: 681b ldr r3, [r3, #0] + 800791c: 68fa ldr r2, [r7, #12] + 800791e: f502 7269 add.w r2, r2, #932 ; 0x3a4 + 8007922: 3207 adds r2, #7 + 8007924: 4611 mov r1, r2 + 8007926: 6878 ldr r0, [r7, #4] + 8007928: 4798 blx r3 + 800792a: 6178 str r0, [r7, #20] + + /* setup the header */ + message_out[0] = 0xff; + 800792c: 68fb ldr r3, [r7, #12] + 800792e: 22ff movs r2, #255 ; 0xff + 8007930: f883 23a4 strb.w r2, [r3, #932] ; 0x3a4 + message_out[1] = PROTOCOL_VER; + 8007934: 68fb ldr r3, [r7, #12] + 8007936: 22fe movs r2, #254 ; 0xfe + 8007938: f883 23a5 strb.w r2, [r3, #933] ; 0x3a5 + message_out[2] = (uint8_t)((uint16_t)l & 255); + 800793c: 697b ldr r3, [r7, #20] + 800793e: b2da uxtb r2, r3 + 8007940: 68fb ldr r3, [r7, #12] + 8007942: f883 23a6 strb.w r2, [r3, #934] ; 0x3a6 + message_out[3] = (uint8_t)((uint16_t)l >> 8); + 8007946: 697b ldr r3, [r7, #20] + 8007948: b29b uxth r3, r3 + 800794a: 121b asrs r3, r3, #8 + 800794c: b2da uxtb r2, r3 + 800794e: 68fb ldr r3, [r7, #12] + 8007950: f883 23a7 strb.w r2, [r3, #935] ; 0x3a7 + message_out[4] = 255 - ((message_out[2] + message_out[3]) % 256); + 8007954: 68fb ldr r3, [r7, #12] + 8007956: f893 23a6 ldrb.w r2, [r3, #934] ; 0x3a6 + 800795a: 68fb ldr r3, [r7, #12] + 800795c: f893 33a7 ldrb.w r3, [r3, #935] ; 0x3a7 + 8007960: 4413 add r3, r2 + 8007962: b2db uxtb r3, r3 + 8007964: 43db mvns r3, r3 + 8007966: b2da uxtb r2, r3 + 8007968: 68fb ldr r3, [r7, #12] + 800796a: f883 23a8 strb.w r2, [r3, #936] ; 0x3a8 + message_out[5] = (uint8_t)((int16_t)id & 255); + 800796e: 68bb ldr r3, [r7, #8] + 8007970: b2da uxtb r2, r3 + 8007972: 68fb ldr r3, [r7, #12] + 8007974: f883 23a9 strb.w r2, [r3, #937] ; 0x3a9 + message_out[6] = (uint8_t)((int16_t)id >> 8); + 8007978: 68bb ldr r3, [r7, #8] + 800797a: b21b sxth r3, r3 + 800797c: 121b asrs r3, r3, #8 + 800797e: b2da uxtb r2, r3 + 8007980: 68fb ldr r3, [r7, #12] + 8007982: f883 23aa strb.w r2, [r3, #938] ; 0x3aa + + /* calculate checksum */ + int chk = 0; + 8007986: 2300 movs r3, #0 + 8007988: 61fb str r3, [r7, #28] + for (int i = 5; i < l + 7; i++) + 800798a: 2305 movs r3, #5 + 800798c: 61bb str r3, [r7, #24] + 800798e: 697b ldr r3, [r7, #20] + 8007990: 3307 adds r3, #7 + 8007992: 69ba ldr r2, [r7, #24] + 8007994: 429a cmp r2, r3 + 8007996: da0d bge.n 80079b4 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE7publishEiPKNS_3MsgE+0xc4> + chk += message_out[i]; + 8007998: 68fa ldr r2, [r7, #12] + 800799a: 69bb ldr r3, [r7, #24] + 800799c: 4413 add r3, r2 + 800799e: f503 7369 add.w r3, r3, #932 ; 0x3a4 + 80079a2: 781b ldrb r3, [r3, #0] + 80079a4: 461a mov r2, r3 + 80079a6: 69fb ldr r3, [r7, #28] + 80079a8: 4413 add r3, r2 + 80079aa: 61fb str r3, [r7, #28] + for (int i = 5; i < l + 7; i++) + 80079ac: 69bb ldr r3, [r7, #24] + 80079ae: 3301 adds r3, #1 + 80079b0: 61bb str r3, [r7, #24] + 80079b2: e7ec b.n 800798e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE7publishEiPKNS_3MsgE+0x9e> + l += 7; + 80079b4: 697b ldr r3, [r7, #20] + 80079b6: 3307 adds r3, #7 + 80079b8: 617b str r3, [r7, #20] + message_out[l++] = 255 - (chk % 256); + 80079ba: 69fb ldr r3, [r7, #28] + 80079bc: 425a negs r2, r3 + 80079be: b2db uxtb r3, r3 + 80079c0: b2d2 uxtb r2, r2 + 80079c2: bf58 it pl + 80079c4: 4253 negpl r3, r2 + 80079c6: b2da uxtb r2, r3 + 80079c8: 697b ldr r3, [r7, #20] + 80079ca: 1c59 adds r1, r3, #1 + 80079cc: 6179 str r1, [r7, #20] + 80079ce: 43d2 mvns r2, r2 + 80079d0: b2d1 uxtb r1, r2 + 80079d2: 68fa ldr r2, [r7, #12] + 80079d4: 4413 add r3, r2 + 80079d6: 460a mov r2, r1 + 80079d8: f883 23a4 strb.w r2, [r3, #932] ; 0x3a4 + + if (l <= OUTPUT_SIZE) + 80079dc: 697b ldr r3, [r7, #20] + 80079de: f5b3 7f00 cmp.w r3, #512 ; 0x200 + 80079e2: dc0a bgt.n 80079fa <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE7publishEiPKNS_3MsgE+0x10a> + { + hardware_.write(message_out, l); + 80079e4: 68fb ldr r3, [r7, #12] + 80079e6: 1d18 adds r0, r3, #4 + 80079e8: 68fb ldr r3, [r7, #12] + 80079ea: f503 7369 add.w r3, r3, #932 ; 0x3a4 + 80079ee: 697a ldr r2, [r7, #20] + 80079f0: 4619 mov r1, r3 + 80079f2: f7fe fce1 bl 80063b8 <_ZN13STM32Hardware5writeEPhi> + return l; + 80079f6: 697b ldr r3, [r7, #20] + 80079f8: e005 b.n 8007a06 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE7publishEiPKNS_3MsgE+0x116> + } + else + { + logerror("Message from device dropped: message larger than buffer."); + 80079fa: 4905 ldr r1, [pc, #20] ; (8007a10 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE7publishEiPKNS_3MsgE+0x120>) + 80079fc: 68f8 ldr r0, [r7, #12] + 80079fe: f000 f849 bl 8007a94 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8logerrorEPKc> + return -1; + 8007a02: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff + } + } + 8007a06: 4618 mov r0, r3 + 8007a08: 3720 adds r7, #32 + 8007a0a: 46bd mov sp, r7 + 8007a0c: bd80 pop {r7, pc} + 8007a0e: bf00 nop + 8007a10: 0800a3c4 .word 0x0800a3c4 + +08007a14 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE6setNowERNS_4TimeE>: + void setNow(Time & new_now) + 8007a14: b580 push {r7, lr} + 8007a16: b084 sub sp, #16 + 8007a18: af00 add r7, sp, #0 + 8007a1a: 6078 str r0, [r7, #4] + 8007a1c: 6039 str r1, [r7, #0] + uint32_t ms = hardware_.time(); + 8007a1e: 687b ldr r3, [r7, #4] + 8007a20: 3304 adds r3, #4 + 8007a22: 4618 mov r0, r3 + 8007a24: f7fe fd0c bl 8006440 <_ZN13STM32Hardware4timeEv> + 8007a28: 60f8 str r0, [r7, #12] + sec_offset = new_now.sec - ms / 1000 - 1; + 8007a2a: 683b ldr r3, [r7, #0] + 8007a2c: 681a ldr r2, [r3, #0] + 8007a2e: 68fb ldr r3, [r7, #12] + 8007a30: 4915 ldr r1, [pc, #84] ; (8007a88 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE6setNowERNS_4TimeE+0x74>) + 8007a32: fba1 1303 umull r1, r3, r1, r3 + 8007a36: 099b lsrs r3, r3, #6 + 8007a38: 1ad3 subs r3, r2, r3 + 8007a3a: 1e5a subs r2, r3, #1 + 8007a3c: 687b ldr r3, [r7, #4] + 8007a3e: f8c3 2198 str.w r2, [r3, #408] ; 0x198 + nsec_offset = new_now.nsec - (ms % 1000) * 1000000UL + 1000000000UL; + 8007a42: 683b ldr r3, [r7, #0] + 8007a44: 6859 ldr r1, [r3, #4] + 8007a46: 68fa ldr r2, [r7, #12] + 8007a48: 4b0f ldr r3, [pc, #60] ; (8007a88 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE6setNowERNS_4TimeE+0x74>) + 8007a4a: fba3 0302 umull r0, r3, r3, r2 + 8007a4e: 099b lsrs r3, r3, #6 + 8007a50: f44f 707a mov.w r0, #1000 ; 0x3e8 + 8007a54: fb00 f303 mul.w r3, r0, r3 + 8007a58: 1ad3 subs r3, r2, r3 + 8007a5a: 4a0c ldr r2, [pc, #48] ; (8007a8c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE6setNowERNS_4TimeE+0x78>) + 8007a5c: fb02 f303 mul.w r3, r2, r3 + 8007a60: 1aca subs r2, r1, r3 + 8007a62: 4b0b ldr r3, [pc, #44] ; (8007a90 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE6setNowERNS_4TimeE+0x7c>) + 8007a64: 4413 add r3, r2 + 8007a66: 687a ldr r2, [r7, #4] + 8007a68: f8c2 319c str.w r3, [r2, #412] ; 0x19c + normalizeSecNSec(sec_offset, nsec_offset); + 8007a6c: 687b ldr r3, [r7, #4] + 8007a6e: f503 72cc add.w r2, r3, #408 ; 0x198 + 8007a72: 687b ldr r3, [r7, #4] + 8007a74: f503 73ce add.w r3, r3, #412 ; 0x19c + 8007a78: 4619 mov r1, r3 + 8007a7a: 4610 mov r0, r2 + 8007a7c: f000 fd7c bl 8008578 <_ZN3ros16normalizeSecNSecERmS0_> + } + 8007a80: bf00 nop + 8007a82: 3710 adds r7, #16 + 8007a84: 46bd mov sp, r7 + 8007a86: bd80 pop {r7, pc} + 8007a88: 10624dd3 .word 0x10624dd3 + 8007a8c: 000f4240 .word 0x000f4240 + 8007a90: 3b9aca00 .word 0x3b9aca00 + +08007a94 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8logerrorEPKc>: + } + void logwarn(const char *msg) + { + log(rosserial_msgs::Log::WARN, msg); + } + void logerror(const char*msg) + 8007a94: b580 push {r7, lr} + 8007a96: b082 sub sp, #8 + 8007a98: af00 add r7, sp, #0 + 8007a9a: 6078 str r0, [r7, #4] + 8007a9c: 6039 str r1, [r7, #0] + { + log(rosserial_msgs::Log::ERROR, msg); + 8007a9e: 683a ldr r2, [r7, #0] + 8007aa0: 2103 movs r1, #3 + 8007aa2: 6878 ldr r0, [r7, #4] + 8007aa4: f000 f804 bl 8007ab0 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE3logEcPKc> + } + 8007aa8: bf00 nop + 8007aaa: 3708 adds r7, #8 + 8007aac: 46bd mov sp, r7 + 8007aae: bd80 pop {r7, pc} + +08007ab0 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE3logEcPKc>: + void log(char byte, const char * msg) + 8007ab0: b580 push {r7, lr} + 8007ab2: b088 sub sp, #32 + 8007ab4: af00 add r7, sp, #0 + 8007ab6: 60f8 str r0, [r7, #12] + 8007ab8: 460b mov r3, r1 + 8007aba: 607a str r2, [r7, #4] + 8007abc: 72fb strb r3, [r7, #11] + rosserial_msgs::Log l; + 8007abe: f107 0314 add.w r3, r7, #20 + 8007ac2: 4618 mov r0, r3 + 8007ac4: f7fd fffe bl 8005ac4 <_ZN14rosserial_msgs3LogC1Ev> + l.level = byte; + 8007ac8: 7afb ldrb r3, [r7, #11] + 8007aca: 763b strb r3, [r7, #24] + l.msg = (char*)msg; + 8007acc: 687b ldr r3, [r7, #4] + 8007ace: 61fb str r3, [r7, #28] + publish(rosserial_msgs::TopicInfo::ID_LOG, &l); + 8007ad0: 68fb ldr r3, [r7, #12] + 8007ad2: 681b ldr r3, [r3, #0] + 8007ad4: 681b ldr r3, [r3, #0] + 8007ad6: f107 0214 add.w r2, r7, #20 + 8007ada: 2107 movs r1, #7 + 8007adc: 68f8 ldr r0, [r7, #12] + 8007ade: 4798 blx r3 + } + 8007ae0: bf00 nop + 8007ae2: 3720 adds r7, #32 + 8007ae4: 46bd mov sp, r7 + 8007ae6: bd80 pop {r7, pc} + +08007ae8 <_Z41__static_initialization_and_destruction_0ii>: + 8007ae8: b5f0 push {r4, r5, r6, r7, lr} + 8007aea: b08f sub sp, #60 ; 0x3c + 8007aec: af0c add r7, sp, #48 ; 0x30 + 8007aee: 6078 str r0, [r7, #4] + 8007af0: 6039 str r1, [r7, #0] + 8007af2: 687b ldr r3, [r7, #4] + 8007af4: 2b01 cmp r3, #1 + 8007af6: d136 bne.n 8007b66 <_Z41__static_initialization_and_destruction_0ii+0x7e> + 8007af8: 683b ldr r3, [r7, #0] + 8007afa: f64f 72ff movw r2, #65535 ; 0xffff + 8007afe: 4293 cmp r3, r2 + 8007b00: d131 bne.n 8007b66 <_Z41__static_initialization_and_destruction_0ii+0x7e> Encoder left_encoder = Encoder(&htim2); - 800479e: 4906 ldr r1, [pc, #24] ; (80047b8 <_Z41__static_initialization_and_destruction_0ii+0x34>) - 80047a0: 4806 ldr r0, [pc, #24] ; (80047bc <_Z41__static_initialization_and_destruction_0ii+0x38>) - 80047a2: f7ff fbbb bl 8003f1c <_ZN7EncoderC1EP17TIM_HandleTypeDef> + 8007b02: 491b ldr r1, [pc, #108] ; (8007b70 <_Z41__static_initialization_and_destruction_0ii+0x88>) + 8007b04: 481b ldr r0, [pc, #108] ; (8007b74 <_Z41__static_initialization_and_destruction_0ii+0x8c>) + 8007b06: f7fc fc6f bl 80043e8 <_ZN7EncoderC1EP17TIM_HandleTypeDef> Encoder right_encoder = Encoder(&htim5); - 80047a6: 4906 ldr r1, [pc, #24] ; (80047c0 <_Z41__static_initialization_and_destruction_0ii+0x3c>) - 80047a8: 4806 ldr r0, [pc, #24] ; (80047c4 <_Z41__static_initialization_and_destruction_0ii+0x40>) - 80047aa: f7ff fbb7 bl 8003f1c <_ZN7EncoderC1EP17TIM_HandleTypeDef> -} - 80047ae: bf00 nop - 80047b0: 3708 adds r7, #8 - 80047b2: 46bd mov sp, r7 - 80047b4: bd80 pop {r7, pc} - 80047b6: bf00 nop - 80047b8: 20000028 .word 0x20000028 - 80047bc: 20000268 .word 0x20000268 - 80047c0: 200000e8 .word 0x200000e8 - 80047c4: 20000284 .word 0x20000284 - -080047c8 <_GLOBAL__sub_I_htim2>: - 80047c8: b580 push {r7, lr} - 80047ca: af00 add r7, sp, #0 - 80047cc: f64f 71ff movw r1, #65535 ; 0xffff - 80047d0: 2001 movs r0, #1 - 80047d2: f7ff ffd7 bl 8004784 <_Z41__static_initialization_and_destruction_0ii> - 80047d6: bd80 pop {r7, pc} - -080047d8 : + 8007b0a: 491b ldr r1, [pc, #108] ; (8007b78 <_Z41__static_initialization_and_destruction_0ii+0x90>) + 8007b0c: 481b ldr r0, [pc, #108] ; (8007b7c <_Z41__static_initialization_and_destruction_0ii+0x94>) + 8007b0e: f7fc fc6b bl 80043e8 <_ZN7EncoderC1EP17TIM_HandleTypeDef> +OdometryCalc odom = OdometryCalc(left_encoder, right_encoder); + 8007b12: 4e18 ldr r6, [pc, #96] ; (8007b74 <_Z41__static_initialization_and_destruction_0ii+0x8c>) + 8007b14: 4b19 ldr r3, [pc, #100] ; (8007b7c <_Z41__static_initialization_and_destruction_0ii+0x94>) + 8007b16: ac04 add r4, sp, #16 + 8007b18: 461d mov r5, r3 + 8007b1a: cd0f ldmia r5!, {r0, r1, r2, r3} + 8007b1c: c40f stmia r4!, {r0, r1, r2, r3} + 8007b1e: e895 0007 ldmia.w r5, {r0, r1, r2} + 8007b22: e884 0007 stmia.w r4, {r0, r1, r2} + 8007b26: 466c mov r4, sp + 8007b28: f106 030c add.w r3, r6, #12 + 8007b2c: cb0f ldmia r3, {r0, r1, r2, r3} + 8007b2e: e884 000f stmia.w r4, {r0, r1, r2, r3} + 8007b32: e896 000e ldmia.w r6, {r1, r2, r3} + 8007b36: 4812 ldr r0, [pc, #72] ; (8007b80 <_Z41__static_initialization_and_destruction_0ii+0x98>) + 8007b38: f7fd fcdc bl 80054f4 <_ZN12OdometryCalcC1E7EncoderS0_> +ros::NodeHandle nh; + 8007b3c: 4811 ldr r0, [pc, #68] ; (8007b84 <_Z41__static_initialization_and_destruction_0ii+0x9c>) + 8007b3e: f7ff fad9 bl 80070f4 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EEC1Ev> +std_msgs::String str_msg; + 8007b42: 4811 ldr r0, [pc, #68] ; (8007b88 <_Z41__static_initialization_and_destruction_0ii+0xa0>) + 8007b44: f7fe fc88 bl 8006458 <_ZN8std_msgs6StringC1Ev> +nav_msgs::Odometry odometry; + 8007b48: 4810 ldr r0, [pc, #64] ; (8007b8c <_Z41__static_initialization_and_destruction_0ii+0xa4>) + 8007b4a: f7fd fbdd bl 8005308 <_ZN8nav_msgs8OdometryC1Ev> +ros::Publisher chatter("chatter", &str_msg); + 8007b4e: 2300 movs r3, #0 + 8007b50: 4a0d ldr r2, [pc, #52] ; (8007b88 <_Z41__static_initialization_and_destruction_0ii+0xa0>) + 8007b52: 490f ldr r1, [pc, #60] ; (8007b90 <_Z41__static_initialization_and_destruction_0ii+0xa8>) + 8007b54: 480f ldr r0, [pc, #60] ; (8007b94 <_Z41__static_initialization_and_destruction_0ii+0xac>) + 8007b56: f7fe fb27 bl 80061a8 <_ZN3ros9PublisherC1EPKcPNS_3MsgEi> +ros::Publisher odom_pub("odom_pub", &odometry); + 8007b5a: 2300 movs r3, #0 + 8007b5c: 4a0b ldr r2, [pc, #44] ; (8007b8c <_Z41__static_initialization_and_destruction_0ii+0xa4>) + 8007b5e: 490e ldr r1, [pc, #56] ; (8007b98 <_Z41__static_initialization_and_destruction_0ii+0xb0>) + 8007b60: 480e ldr r0, [pc, #56] ; (8007b9c <_Z41__static_initialization_and_destruction_0ii+0xb4>) + 8007b62: f7fe fb21 bl 80061a8 <_ZN3ros9PublisherC1EPKcPNS_3MsgEi> +} + 8007b66: bf00 nop + 8007b68: 370c adds r7, #12 + 8007b6a: 46bd mov sp, r7 + 8007b6c: bdf0 pop {r4, r5, r6, r7, pc} + 8007b6e: bf00 nop + 8007b70: 200000a4 .word 0x200000a4 + 8007b74: 20000424 .word 0x20000424 + 8007b78: 20000164 .word 0x20000164 + 8007b7c: 20000440 .word 0x20000440 + 8007b80: 2000045c .word 0x2000045c + 8007b84: 2000062c .word 0x2000062c + 8007b88: 20000ce8 .word 0x20000ce8 + 8007b8c: 20000cf0 .word 0x20000cf0 + 8007b90: 0800a400 .word 0x0800a400 + 8007b94: 20000e80 .word 0x20000e80 + 8007b98: 0800a408 .word 0x0800a408 + 8007b9c: 20000e94 .word 0x20000e94 + +08007ba0 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE9connectedEv>: + virtual bool connected() + 8007ba0: b480 push {r7} + 8007ba2: b083 sub sp, #12 + 8007ba4: af00 add r7, sp, #0 + 8007ba6: 6078 str r0, [r7, #4] + return configured_; + 8007ba8: 687b ldr r3, [r7, #4] + 8007baa: f893 3680 ldrb.w r3, [r3, #1664] ; 0x680 + }; + 8007bae: 4618 mov r0, r3 + 8007bb0: 370c adds r7, #12 + 8007bb2: 46bd mov sp, r7 + 8007bb4: f85d 7b04 ldr.w r7, [sp], #4 + 8007bb8: 4770 bx lr + +08007bba <_GLOBAL__sub_I_htim2>: + 8007bba: b580 push {r7, lr} + 8007bbc: af00 add r7, sp, #0 + 8007bbe: f64f 71ff movw r1, #65535 ; 0xffff + 8007bc2: 2001 movs r0, #1 + 8007bc4: f7ff ff90 bl 8007ae8 <_Z41__static_initialization_and_destruction_0ii> + 8007bc8: bd80 pop {r7, pc} + +08007bca <_ZSt3cosf>: + using ::cos; + +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO + inline _GLIBCXX_CONSTEXPR float + cos(float __x) + { return __builtin_cosf(__x); } + 8007bca: b580 push {r7, lr} + 8007bcc: b082 sub sp, #8 + 8007bce: af00 add r7, sp, #0 + 8007bd0: ed87 0a01 vstr s0, [r7, #4] + 8007bd4: ed97 0a01 vldr s0, [r7, #4] + 8007bd8: f000 fdb2 bl 8008740 + 8007bdc: eef0 7a40 vmov.f32 s15, s0 + 8007be0: eeb0 0a67 vmov.f32 s0, s15 + 8007be4: 3708 adds r7, #8 + 8007be6: 46bd mov sp, r7 + 8007be8: bd80 pop {r7, pc} + +08007bea <_ZSt3sinf>: + using ::sin; + +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO + inline _GLIBCXX_CONSTEXPR float + sin(float __x) + { return __builtin_sinf(__x); } + 8007bea: b580 push {r7, lr} + 8007bec: b082 sub sp, #8 + 8007bee: af00 add r7, sp, #0 + 8007bf0: ed87 0a01 vstr s0, [r7, #4] + 8007bf4: ed97 0a01 vldr s0, [r7, #4] + 8007bf8: f000 fde2 bl 80087c0 + 8007bfc: eef0 7a40 vmov.f32 s15, s0 + 8007c00: eeb0 0a67 vmov.f32 s0, s15 + 8007c04: 3708 adds r7, #8 + 8007c06: 46bd mov sp, r7 + 8007c08: bd80 pop {r7, pc} + +08007c0a <_ZN2tfL23createQuaternionFromYawEd>: + +namespace tf +{ + +static inline geometry_msgs::Quaternion createQuaternionFromYaw(double yaw) +{ + 8007c0a: b580 push {r7, lr} + 8007c0c: b084 sub sp, #16 + 8007c0e: af00 add r7, sp, #0 + 8007c10: 60f8 str r0, [r7, #12] + 8007c12: ed87 0b00 vstr d0, [r7] + geometry_msgs::Quaternion q; + 8007c16: 68f8 ldr r0, [r7, #12] + 8007c18: f7fc ffbc bl 8004b94 <_ZN13geometry_msgs10QuaternionC1Ev> + q.x = 0; + 8007c1c: 68fb ldr r3, [r7, #12] + 8007c1e: f04f 0200 mov.w r2, #0 + 8007c22: 605a str r2, [r3, #4] + q.y = 0; + 8007c24: 68fb ldr r3, [r7, #12] + 8007c26: f04f 0200 mov.w r2, #0 + 8007c2a: 609a str r2, [r3, #8] + q.z = sin(yaw * 0.5); + 8007c2c: ed97 7b00 vldr d7, [r7] + 8007c30: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 + 8007c34: ee27 7b06 vmul.f64 d7, d7, d6 + 8007c38: eeb0 0b47 vmov.f64 d0, d7 + 8007c3c: f000 fd44 bl 80086c8 + 8007c40: eeb0 7b40 vmov.f64 d7, d0 + 8007c44: eef7 7bc7 vcvt.f32.f64 s15, d7 + 8007c48: 68fb ldr r3, [r7, #12] + 8007c4a: edc3 7a03 vstr s15, [r3, #12] + q.w = cos(yaw * 0.5); + 8007c4e: ed97 7b00 vldr d7, [r7] + 8007c52: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 + 8007c56: ee27 7b06 vmul.f64 d7, d7, d6 + 8007c5a: eeb0 0b47 vmov.f64 d0, d7 + 8007c5e: f000 fcf7 bl 8008650 + 8007c62: eeb0 7b40 vmov.f64 d7, d0 + 8007c66: eef7 7bc7 vcvt.f32.f64 s15, d7 + 8007c6a: 68fb ldr r3, [r7, #12] + 8007c6c: edc3 7a04 vstr s15, [r3, #16] + return q; + 8007c70: bf00 nop +} + 8007c72: 68f8 ldr r0, [r7, #12] + 8007c74: 3710 adds r7, #16 + 8007c76: 46bd mov sp, r7 + 8007c78: bd80 pop {r7, pc} + +08007c7a <_ZN12OdometryCalc21OdometryUpdateMessageEv>: +#include "odometry_calc.h" +#include +#include +#include + +void OdometryCalc::OdometryUpdateMessage(){ + 8007c7a: b580 push {r7, lr} + 8007c7c: ed2d 8b02 vpush {d8} + 8007c80: b094 sub sp, #80 ; 0x50 + 8007c82: af00 add r7, sp, #0 + 8007c84: 6078 str r0, [r7, #4] + float left_velocity = left_encoder_.GetLinearVelocity(); + 8007c86: 687b ldr r3, [r7, #4] + 8007c88: 4618 mov r0, r3 + 8007c8a: f7fc fbff bl 800448c <_ZN7Encoder17GetLinearVelocityEv> + 8007c8e: ed87 0a12 vstr s0, [r7, #72] ; 0x48 + float right_velocity = right_encoder_.GetLinearVelocity(); + 8007c92: 687b ldr r3, [r7, #4] + 8007c94: 331c adds r3, #28 + 8007c96: 4618 mov r0, r3 + 8007c98: f7fc fbf8 bl 800448c <_ZN7Encoder17GetLinearVelocityEv> + 8007c9c: ed87 0a11 vstr s0, [r7, #68] ; 0x44 + + float x = odometry_.pose.pose.position.x; + 8007ca0: 687b ldr r3, [r7, #4] + 8007ca2: 6e5b ldr r3, [r3, #100] ; 0x64 + 8007ca4: 643b str r3, [r7, #64] ; 0x40 + float y = odometry_.pose.pose.position.y; + 8007ca6: 687b ldr r3, [r7, #4] + 8007ca8: 6e9b ldr r3, [r3, #104] ; 0x68 + 8007caa: 63fb str r3, [r7, #60] ; 0x3c + + //verificato che delta_r == delta_l + float delta_time = left_encoder_.current_millis_ - + 8007cac: 687b ldr r3, [r7, #4] + 8007cae: 689a ldr r2, [r3, #8] + left_encoder_.previous_millis_; + 8007cb0: 687b ldr r3, [r7, #4] + 8007cb2: 685b ldr r3, [r3, #4] + float delta_time = left_encoder_.current_millis_ - + 8007cb4: 1ad3 subs r3, r2, r3 + 8007cb6: ee07 3a90 vmov s15, r3 + 8007cba: eef8 7a67 vcvt.f32.u32 s15, s15 + 8007cbe: edc7 7a0e vstr s15, [r7, #56] ; 0x38 + + // calcoli vari + float linear_velocity = (left_velocity + right_velocity) / 2; + 8007cc2: ed97 7a12 vldr s14, [r7, #72] ; 0x48 + 8007cc6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 + 8007cca: ee37 7a27 vadd.f32 s14, s14, s15 + 8007cce: eef0 6a00 vmov.f32 s13, #0 ; 0x40000000 2.0 + 8007cd2: eec7 7a26 vdiv.f32 s15, s14, s13 + 8007cd6: edc7 7a0d vstr s15, [r7, #52] ; 0x34 + float angular_velocity; + if (right_velocity - left_velocity == 0) + 8007cda: ed97 7a11 vldr s14, [r7, #68] ; 0x44 + 8007cde: edd7 7a12 vldr s15, [r7, #72] ; 0x48 + 8007ce2: ee77 7a67 vsub.f32 s15, s14, s15 + 8007ce6: eef5 7a40 vcmp.f32 s15, #0.0 + 8007cea: eef1 fa10 vmrs APSR_nzcv, fpscr + 8007cee: d103 bne.n 8007cf8 <_ZN12OdometryCalc21OdometryUpdateMessageEv+0x7e> + angular_velocity = 0; + 8007cf0: f04f 0300 mov.w r3, #0 + 8007cf4: 64fb str r3, [r7, #76] ; 0x4c + 8007cf6: e00c b.n 8007d12 <_ZN12OdometryCalc21OdometryUpdateMessageEv+0x98> + else + angular_velocity = (right_velocity - left_velocity) / kBaseline; + 8007cf8: ed97 7a11 vldr s14, [r7, #68] ; 0x44 + 8007cfc: edd7 7a12 vldr s15, [r7, #72] ; 0x48 + 8007d00: ee77 6a67 vsub.f32 s13, s14, s15 + 8007d04: 687b ldr r3, [r7, #4] + 8007d06: ed93 7a73 vldr s14, [r3, #460] ; 0x1cc + 8007d0a: eec6 7a87 vdiv.f32 s15, s13, s14 + 8007d0e: edc7 7a13 vstr s15, [r7, #76] ; 0x4c + float diff = angular_velocity / delta_time; + 8007d12: edd7 6a13 vldr s13, [r7, #76] ; 0x4c + 8007d16: ed97 7a0e vldr s14, [r7, #56] ; 0x38 + 8007d1a: eec6 7a87 vdiv.f32 s15, s13, s14 + 8007d1e: edc7 7a0c vstr s15, [r7, #48] ; 0x30 + float r = (kBaseline / 2) * ((right_velocity + left_velocity) / + 8007d22: 687b ldr r3, [r7, #4] + 8007d24: edd3 7a73 vldr s15, [r3, #460] ; 0x1cc + 8007d28: eef0 6a00 vmov.f32 s13, #0 ; 0x40000000 2.0 + 8007d2c: ee87 7aa6 vdiv.f32 s14, s15, s13 + 8007d30: edd7 6a11 vldr s13, [r7, #68] ; 0x44 + 8007d34: edd7 7a12 vldr s15, [r7, #72] ; 0x48 + 8007d38: ee36 6aa7 vadd.f32 s12, s13, s15 + (right_velocity - left_velocity)); + 8007d3c: edd7 6a11 vldr s13, [r7, #68] ; 0x44 + 8007d40: edd7 7a12 vldr s15, [r7, #72] ; 0x48 + 8007d44: ee76 6ae7 vsub.f32 s13, s13, s15 + float r = (kBaseline / 2) * ((right_velocity + left_velocity) / + 8007d48: eec6 7a26 vdiv.f32 s15, s12, s13 + 8007d4c: ee67 7a27 vmul.f32 s15, s14, s15 + 8007d50: edc7 7a0b vstr s15, [r7, #44] ; 0x2c + float icc_x = x - r * std::sin(theta_); + 8007d54: 687b ldr r3, [r7, #4] + 8007d56: edd3 7a0e vldr s15, [r3, #56] ; 0x38 + 8007d5a: eeb0 0a67 vmov.f32 s0, s15 + 8007d5e: f7ff ff44 bl 8007bea <_ZSt3sinf> + 8007d62: eeb0 7a40 vmov.f32 s14, s0 + 8007d66: edd7 7a0b vldr s15, [r7, #44] ; 0x2c + 8007d6a: ee67 7a27 vmul.f32 s15, s14, s15 + 8007d6e: ed97 7a10 vldr s14, [r7, #64] ; 0x40 + 8007d72: ee77 7a67 vsub.f32 s15, s14, s15 + 8007d76: edc7 7a0a vstr s15, [r7, #40] ; 0x28 + float icc_y = y + r * std::cos(theta_); + 8007d7a: 687b ldr r3, [r7, #4] + 8007d7c: edd3 7a0e vldr s15, [r3, #56] ; 0x38 + 8007d80: eeb0 0a67 vmov.f32 s0, s15 + 8007d84: f7ff ff21 bl 8007bca <_ZSt3cosf> + 8007d88: eeb0 7a40 vmov.f32 s14, s0 + 8007d8c: edd7 7a0b vldr s15, [r7, #44] ; 0x2c + 8007d90: ee67 7a27 vmul.f32 s15, s14, s15 + 8007d94: ed97 7a0f vldr s14, [r7, #60] ; 0x3c + 8007d98: ee77 7a27 vadd.f32 s15, s14, s15 + 8007d9c: edc7 7a09 vstr s15, [r7, #36] ; 0x24 + float new_x = std::cos(diff) * (x - icc_x) - + 8007da0: ed97 0a0c vldr s0, [r7, #48] ; 0x30 + 8007da4: f7ff ff11 bl 8007bca <_ZSt3cosf> + 8007da8: eef0 6a40 vmov.f32 s13, s0 + 8007dac: ed97 7a10 vldr s14, [r7, #64] ; 0x40 + 8007db0: edd7 7a0a vldr s15, [r7, #40] ; 0x28 + 8007db4: ee77 7a67 vsub.f32 s15, s14, s15 + 8007db8: ee26 8aa7 vmul.f32 s16, s13, s15 + std::sin(diff) * (y - icc_y) + icc_x; + 8007dbc: ed97 0a0c vldr s0, [r7, #48] ; 0x30 + 8007dc0: f7ff ff13 bl 8007bea <_ZSt3sinf> + 8007dc4: eef0 6a40 vmov.f32 s13, s0 + 8007dc8: ed97 7a0f vldr s14, [r7, #60] ; 0x3c + 8007dcc: edd7 7a09 vldr s15, [r7, #36] ; 0x24 + 8007dd0: ee77 7a67 vsub.f32 s15, s14, s15 + 8007dd4: ee66 7aa7 vmul.f32 s15, s13, s15 + float new_x = std::cos(diff) * (x - icc_x) - + 8007dd8: ee78 7a67 vsub.f32 s15, s16, s15 + std::sin(diff) * (y - icc_y) + icc_x; + 8007ddc: ed97 7a0a vldr s14, [r7, #40] ; 0x28 + 8007de0: ee77 7a27 vadd.f32 s15, s14, s15 + 8007de4: edc7 7a08 vstr s15, [r7, #32] + float new_y = std::sin(diff) * (y - icc_y) + + 8007de8: ed97 0a0c vldr s0, [r7, #48] ; 0x30 + 8007dec: f7ff fefd bl 8007bea <_ZSt3sinf> + 8007df0: eef0 6a40 vmov.f32 s13, s0 + 8007df4: ed97 7a0f vldr s14, [r7, #60] ; 0x3c + 8007df8: edd7 7a09 vldr s15, [r7, #36] ; 0x24 + 8007dfc: ee77 7a67 vsub.f32 s15, s14, s15 + 8007e00: ee26 8aa7 vmul.f32 s16, s13, s15 + std::cos(diff) * (y - icc_y) + icc_y; + 8007e04: ed97 0a0c vldr s0, [r7, #48] ; 0x30 + 8007e08: f7ff fedf bl 8007bca <_ZSt3cosf> + 8007e0c: eef0 6a40 vmov.f32 s13, s0 + 8007e10: ed97 7a0f vldr s14, [r7, #60] ; 0x3c + 8007e14: edd7 7a09 vldr s15, [r7, #36] ; 0x24 + 8007e18: ee77 7a67 vsub.f32 s15, s14, s15 + 8007e1c: ee66 7aa7 vmul.f32 s15, s13, s15 + float new_y = std::sin(diff) * (y - icc_y) + + 8007e20: ee78 7a27 vadd.f32 s15, s16, s15 + std::cos(diff) * (y - icc_y) + icc_y; + 8007e24: ed97 7a09 vldr s14, [r7, #36] ; 0x24 + 8007e28: ee77 7a27 vadd.f32 s15, s14, s15 + 8007e2c: edc7 7a07 vstr s15, [r7, #28] + theta_ = theta_ + diff; + 8007e30: 687b ldr r3, [r7, #4] + 8007e32: ed93 7a0e vldr s14, [r3, #56] ; 0x38 + 8007e36: edd7 7a0c vldr s15, [r7, #48] ; 0x30 + 8007e3a: ee77 7a27 vadd.f32 s15, s14, s15 + 8007e3e: 687b ldr r3, [r7, #4] + 8007e40: edc3 7a0e vstr s15, [r3, #56] ; 0x38 + geometry_msgs::Quaternion q = tf::createQuaternionFromYaw(theta_); + 8007e44: 687b ldr r3, [r7, #4] + 8007e46: edd3 7a0e vldr s15, [r3, #56] ; 0x38 + 8007e4a: eeb7 7ae7 vcvt.f64.f32 d7, s15 + 8007e4e: f107 0308 add.w r3, r7, #8 + 8007e52: eeb0 0b47 vmov.f64 d0, d7 + 8007e56: 4618 mov r0, r3 + 8007e58: f7ff fed7 bl 8007c0a <_ZN2tfL23createQuaternionFromYawEd> + + //update msg + odometry_.pose.pose.position.x = new_x; + 8007e5c: 687b ldr r3, [r7, #4] + 8007e5e: 6a3a ldr r2, [r7, #32] + 8007e60: 665a str r2, [r3, #100] ; 0x64 + odometry_.pose.pose.position.y = new_y; + 8007e62: 687b ldr r3, [r7, #4] + 8007e64: 69fa ldr r2, [r7, #28] + 8007e66: 669a str r2, [r3, #104] ; 0x68 + odometry_.pose.pose.orientation.x = q.x; + 8007e68: 68fa ldr r2, [r7, #12] + 8007e6a: 687b ldr r3, [r7, #4] + 8007e6c: 675a str r2, [r3, #116] ; 0x74 + odometry_.pose.pose.orientation.y = q.y; + 8007e6e: 693a ldr r2, [r7, #16] + 8007e70: 687b ldr r3, [r7, #4] + 8007e72: 679a str r2, [r3, #120] ; 0x78 + odometry_.pose.pose.orientation.z = q.z; + 8007e74: 697a ldr r2, [r7, #20] + 8007e76: 687b ldr r3, [r7, #4] + 8007e78: 67da str r2, [r3, #124] ; 0x7c + odometry_.pose.pose.orientation.w = q.w; + 8007e7a: 69ba ldr r2, [r7, #24] + 8007e7c: 687b ldr r3, [r7, #4] + 8007e7e: f8c3 2080 str.w r2, [r3, #128] ; 0x80 + odometry_.twist.twist.linear.x = linear_velocity; + 8007e82: 687b ldr r3, [r7, #4] + 8007e84: 6b7a ldr r2, [r7, #52] ; 0x34 + 8007e86: f8c3 2120 str.w r2, [r3, #288] ; 0x120 + odometry_.twist.twist.angular.z = angular_velocity; + 8007e8a: 687b ldr r3, [r7, #4] + 8007e8c: 6cfa ldr r2, [r7, #76] ; 0x4c + 8007e8e: f8c3 2138 str.w r2, [r3, #312] ; 0x138 + + return; + 8007e92: bf00 nop +} + 8007e94: 3750 adds r7, #80 ; 0x50 + 8007e96: 46bd mov sp, r7 + 8007e98: ecbd 8b02 vpop {d8} + 8007e9c: bd80 pop {r7, pc} + ... + +08007ea0 : void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim); /** * Initializes the Global MSP. */ void HAL_MspInit(void) { - 80047d8: b480 push {r7} - 80047da: b083 sub sp, #12 - 80047dc: af00 add r7, sp, #0 + 8007ea0: b480 push {r7} + 8007ea2: b083 sub sp, #12 + 8007ea4: af00 add r7, sp, #0 /* USER CODE BEGIN MspInit 0 */ /* USER CODE END MspInit 0 */ __HAL_RCC_PWR_CLK_ENABLE(); - 80047de: 4b0f ldr r3, [pc, #60] ; (800481c ) - 80047e0: 6c1b ldr r3, [r3, #64] ; 0x40 - 80047e2: 4a0e ldr r2, [pc, #56] ; (800481c ) - 80047e4: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 - 80047e8: 6413 str r3, [r2, #64] ; 0x40 - 80047ea: 4b0c ldr r3, [pc, #48] ; (800481c ) - 80047ec: 6c1b ldr r3, [r3, #64] ; 0x40 - 80047ee: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 - 80047f2: 607b str r3, [r7, #4] - 80047f4: 687b ldr r3, [r7, #4] + 8007ea6: 4b0f ldr r3, [pc, #60] ; (8007ee4 ) + 8007ea8: 6c1b ldr r3, [r3, #64] ; 0x40 + 8007eaa: 4a0e ldr r2, [pc, #56] ; (8007ee4 ) + 8007eac: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 + 8007eb0: 6413 str r3, [r2, #64] ; 0x40 + 8007eb2: 4b0c ldr r3, [pc, #48] ; (8007ee4 ) + 8007eb4: 6c1b ldr r3, [r3, #64] ; 0x40 + 8007eb6: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 + 8007eba: 607b str r3, [r7, #4] + 8007ebc: 687b ldr r3, [r7, #4] __HAL_RCC_SYSCFG_CLK_ENABLE(); - 80047f6: 4b09 ldr r3, [pc, #36] ; (800481c ) - 80047f8: 6c5b ldr r3, [r3, #68] ; 0x44 - 80047fa: 4a08 ldr r2, [pc, #32] ; (800481c ) - 80047fc: f443 4380 orr.w r3, r3, #16384 ; 0x4000 - 8004800: 6453 str r3, [r2, #68] ; 0x44 - 8004802: 4b06 ldr r3, [pc, #24] ; (800481c ) - 8004804: 6c5b ldr r3, [r3, #68] ; 0x44 - 8004806: f403 4380 and.w r3, r3, #16384 ; 0x4000 - 800480a: 603b str r3, [r7, #0] - 800480c: 683b ldr r3, [r7, #0] + 8007ebe: 4b09 ldr r3, [pc, #36] ; (8007ee4 ) + 8007ec0: 6c5b ldr r3, [r3, #68] ; 0x44 + 8007ec2: 4a08 ldr r2, [pc, #32] ; (8007ee4 ) + 8007ec4: f443 4380 orr.w r3, r3, #16384 ; 0x4000 + 8007ec8: 6453 str r3, [r2, #68] ; 0x44 + 8007eca: 4b06 ldr r3, [pc, #24] ; (8007ee4 ) + 8007ecc: 6c5b ldr r3, [r3, #68] ; 0x44 + 8007ece: f403 4380 and.w r3, r3, #16384 ; 0x4000 + 8007ed2: 603b str r3, [r7, #0] + 8007ed4: 683b ldr r3, [r7, #0] /* System interrupt init*/ /* USER CODE BEGIN MspInit 1 */ /* USER CODE END MspInit 1 */ } - 800480e: bf00 nop - 8004810: 370c adds r7, #12 - 8004812: 46bd mov sp, r7 - 8004814: f85d 7b04 ldr.w r7, [sp], #4 - 8004818: 4770 bx lr - 800481a: bf00 nop - 800481c: 40023800 .word 0x40023800 - -08004820 : + 8007ed6: bf00 nop + 8007ed8: 370c adds r7, #12 + 8007eda: 46bd mov sp, r7 + 8007edc: f85d 7b04 ldr.w r7, [sp], #4 + 8007ee0: 4770 bx lr + 8007ee2: bf00 nop + 8007ee4: 40023800 .word 0x40023800 + +08007ee8 : * This function configures the hardware resources used in this example * @param htim_encoder: TIM_Encoder handle pointer * @retval None */ void HAL_TIM_Encoder_MspInit(TIM_HandleTypeDef* htim_encoder) { - 8004820: b580 push {r7, lr} - 8004822: b08c sub sp, #48 ; 0x30 - 8004824: af00 add r7, sp, #0 - 8004826: 6078 str r0, [r7, #4] + 8007ee8: b580 push {r7, lr} + 8007eea: b08c sub sp, #48 ; 0x30 + 8007eec: af00 add r7, sp, #0 + 8007eee: 6078 str r0, [r7, #4] GPIO_InitTypeDef GPIO_InitStruct = {0}; - 8004828: f107 031c add.w r3, r7, #28 - 800482c: 2200 movs r2, #0 - 800482e: 601a str r2, [r3, #0] - 8004830: 605a str r2, [r3, #4] - 8004832: 609a str r2, [r3, #8] - 8004834: 60da str r2, [r3, #12] - 8004836: 611a str r2, [r3, #16] + 8007ef0: f107 031c add.w r3, r7, #28 + 8007ef4: 2200 movs r2, #0 + 8007ef6: 601a str r2, [r3, #0] + 8007ef8: 605a str r2, [r3, #4] + 8007efa: 609a str r2, [r3, #8] + 8007efc: 60da str r2, [r3, #12] + 8007efe: 611a str r2, [r3, #16] if(htim_encoder->Instance==TIM2) - 8004838: 687b ldr r3, [r7, #4] - 800483a: 681b ldr r3, [r3, #0] - 800483c: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 - 8004840: d144 bne.n 80048cc + 8007f00: 687b ldr r3, [r7, #4] + 8007f02: 681b ldr r3, [r3, #0] + 8007f04: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 + 8007f08: d144 bne.n 8007f94 { /* USER CODE BEGIN TIM2_MspInit 0 */ /* USER CODE END TIM2_MspInit 0 */ /* Peripheral clock enable */ __HAL_RCC_TIM2_CLK_ENABLE(); - 8004842: 4b3b ldr r3, [pc, #236] ; (8004930 ) - 8004844: 6c1b ldr r3, [r3, #64] ; 0x40 - 8004846: 4a3a ldr r2, [pc, #232] ; (8004930 ) - 8004848: f043 0301 orr.w r3, r3, #1 - 800484c: 6413 str r3, [r2, #64] ; 0x40 - 800484e: 4b38 ldr r3, [pc, #224] ; (8004930 ) - 8004850: 6c1b ldr r3, [r3, #64] ; 0x40 - 8004852: f003 0301 and.w r3, r3, #1 - 8004856: 61bb str r3, [r7, #24] - 8004858: 69bb ldr r3, [r7, #24] + 8007f0a: 4b3b ldr r3, [pc, #236] ; (8007ff8 ) + 8007f0c: 6c1b ldr r3, [r3, #64] ; 0x40 + 8007f0e: 4a3a ldr r2, [pc, #232] ; (8007ff8 ) + 8007f10: f043 0301 orr.w r3, r3, #1 + 8007f14: 6413 str r3, [r2, #64] ; 0x40 + 8007f16: 4b38 ldr r3, [pc, #224] ; (8007ff8 ) + 8007f18: 6c1b ldr r3, [r3, #64] ; 0x40 + 8007f1a: f003 0301 and.w r3, r3, #1 + 8007f1e: 61bb str r3, [r7, #24] + 8007f20: 69bb ldr r3, [r7, #24] __HAL_RCC_GPIOA_CLK_ENABLE(); - 800485a: 4b35 ldr r3, [pc, #212] ; (8004930 ) - 800485c: 6b1b ldr r3, [r3, #48] ; 0x30 - 800485e: 4a34 ldr r2, [pc, #208] ; (8004930 ) - 8004860: f043 0301 orr.w r3, r3, #1 - 8004864: 6313 str r3, [r2, #48] ; 0x30 - 8004866: 4b32 ldr r3, [pc, #200] ; (8004930 ) - 8004868: 6b1b ldr r3, [r3, #48] ; 0x30 - 800486a: f003 0301 and.w r3, r3, #1 - 800486e: 617b str r3, [r7, #20] - 8004870: 697b ldr r3, [r7, #20] + 8007f22: 4b35 ldr r3, [pc, #212] ; (8007ff8 ) + 8007f24: 6b1b ldr r3, [r3, #48] ; 0x30 + 8007f26: 4a34 ldr r2, [pc, #208] ; (8007ff8 ) + 8007f28: f043 0301 orr.w r3, r3, #1 + 8007f2c: 6313 str r3, [r2, #48] ; 0x30 + 8007f2e: 4b32 ldr r3, [pc, #200] ; (8007ff8 ) + 8007f30: 6b1b ldr r3, [r3, #48] ; 0x30 + 8007f32: f003 0301 and.w r3, r3, #1 + 8007f36: 617b str r3, [r7, #20] + 8007f38: 697b ldr r3, [r7, #20] __HAL_RCC_GPIOB_CLK_ENABLE(); - 8004872: 4b2f ldr r3, [pc, #188] ; (8004930 ) - 8004874: 6b1b ldr r3, [r3, #48] ; 0x30 - 8004876: 4a2e ldr r2, [pc, #184] ; (8004930 ) - 8004878: f043 0302 orr.w r3, r3, #2 - 800487c: 6313 str r3, [r2, #48] ; 0x30 - 800487e: 4b2c ldr r3, [pc, #176] ; (8004930 ) - 8004880: 6b1b ldr r3, [r3, #48] ; 0x30 - 8004882: f003 0302 and.w r3, r3, #2 - 8004886: 613b str r3, [r7, #16] - 8004888: 693b ldr r3, [r7, #16] + 8007f3a: 4b2f ldr r3, [pc, #188] ; (8007ff8 ) + 8007f3c: 6b1b ldr r3, [r3, #48] ; 0x30 + 8007f3e: 4a2e ldr r2, [pc, #184] ; (8007ff8 ) + 8007f40: f043 0302 orr.w r3, r3, #2 + 8007f44: 6313 str r3, [r2, #48] ; 0x30 + 8007f46: 4b2c ldr r3, [pc, #176] ; (8007ff8 ) + 8007f48: 6b1b ldr r3, [r3, #48] ; 0x30 + 8007f4a: f003 0302 and.w r3, r3, #2 + 8007f4e: 613b str r3, [r7, #16] + 8007f50: 693b ldr r3, [r7, #16] /**TIM2 GPIO Configuration PA5 ------> TIM2_CH1 PB3 ------> TIM2_CH2 */ GPIO_InitStruct.Pin = GPIO_PIN_5; - 800488a: 2320 movs r3, #32 - 800488c: 61fb str r3, [r7, #28] + 8007f52: 2320 movs r3, #32 + 8007f54: 61fb str r3, [r7, #28] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; - 800488e: 2302 movs r3, #2 - 8004890: 623b str r3, [r7, #32] + 8007f56: 2302 movs r3, #2 + 8007f58: 623b str r3, [r7, #32] GPIO_InitStruct.Pull = GPIO_NOPULL; - 8004892: 2300 movs r3, #0 - 8004894: 627b str r3, [r7, #36] ; 0x24 + 8007f5a: 2300 movs r3, #0 + 8007f5c: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - 8004896: 2300 movs r3, #0 - 8004898: 62bb str r3, [r7, #40] ; 0x28 + 8007f5e: 2300 movs r3, #0 + 8007f60: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Alternate = GPIO_AF1_TIM2; - 800489a: 2301 movs r3, #1 - 800489c: 62fb str r3, [r7, #44] ; 0x2c + 8007f62: 2301 movs r3, #1 + 8007f64: 62fb str r3, [r7, #44] ; 0x2c HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - 800489e: f107 031c add.w r3, r7, #28 - 80048a2: 4619 mov r1, r3 - 80048a4: 4823 ldr r0, [pc, #140] ; (8004934 ) - 80048a6: f7fc fac1 bl 8000e2c + 8007f66: f107 031c add.w r3, r7, #28 + 8007f6a: 4619 mov r1, r3 + 8007f6c: 4823 ldr r0, [pc, #140] ; (8007ffc ) + 8007f6e: f7f8 fff3 bl 8000f58 GPIO_InitStruct.Pin = GPIO_PIN_3; - 80048aa: 2308 movs r3, #8 - 80048ac: 61fb str r3, [r7, #28] + 8007f72: 2308 movs r3, #8 + 8007f74: 61fb str r3, [r7, #28] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; - 80048ae: 2302 movs r3, #2 - 80048b0: 623b str r3, [r7, #32] + 8007f76: 2302 movs r3, #2 + 8007f78: 623b str r3, [r7, #32] GPIO_InitStruct.Pull = GPIO_NOPULL; - 80048b2: 2300 movs r3, #0 - 80048b4: 627b str r3, [r7, #36] ; 0x24 + 8007f7a: 2300 movs r3, #0 + 8007f7c: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - 80048b6: 2300 movs r3, #0 - 80048b8: 62bb str r3, [r7, #40] ; 0x28 + 8007f7e: 2300 movs r3, #0 + 8007f80: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Alternate = GPIO_AF1_TIM2; - 80048ba: 2301 movs r3, #1 - 80048bc: 62fb str r3, [r7, #44] ; 0x2c + 8007f82: 2301 movs r3, #1 + 8007f84: 62fb str r3, [r7, #44] ; 0x2c HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); - 80048be: f107 031c add.w r3, r7, #28 - 80048c2: 4619 mov r1, r3 - 80048c4: 481c ldr r0, [pc, #112] ; (8004938 ) - 80048c6: f7fc fab1 bl 8000e2c + 8007f86: f107 031c add.w r3, r7, #28 + 8007f8a: 4619 mov r1, r3 + 8007f8c: 481c ldr r0, [pc, #112] ; (8008000 ) + 8007f8e: f7f8 ffe3 bl 8000f58 /* USER CODE BEGIN TIM5_MspInit 1 */ /* USER CODE END TIM5_MspInit 1 */ } } - 80048ca: e02c b.n 8004926 + 8007f92: e02c b.n 8007fee else if(htim_encoder->Instance==TIM5) - 80048cc: 687b ldr r3, [r7, #4] - 80048ce: 681b ldr r3, [r3, #0] - 80048d0: 4a1a ldr r2, [pc, #104] ; (800493c ) - 80048d2: 4293 cmp r3, r2 - 80048d4: d127 bne.n 8004926 + 8007f94: 687b ldr r3, [r7, #4] + 8007f96: 681b ldr r3, [r3, #0] + 8007f98: 4a1a ldr r2, [pc, #104] ; (8008004 ) + 8007f9a: 4293 cmp r3, r2 + 8007f9c: d127 bne.n 8007fee __HAL_RCC_TIM5_CLK_ENABLE(); - 80048d6: 4b16 ldr r3, [pc, #88] ; (8004930 ) - 80048d8: 6c1b ldr r3, [r3, #64] ; 0x40 - 80048da: 4a15 ldr r2, [pc, #84] ; (8004930 ) - 80048dc: f043 0308 orr.w r3, r3, #8 - 80048e0: 6413 str r3, [r2, #64] ; 0x40 - 80048e2: 4b13 ldr r3, [pc, #76] ; (8004930 ) - 80048e4: 6c1b ldr r3, [r3, #64] ; 0x40 - 80048e6: f003 0308 and.w r3, r3, #8 - 80048ea: 60fb str r3, [r7, #12] - 80048ec: 68fb ldr r3, [r7, #12] + 8007f9e: 4b16 ldr r3, [pc, #88] ; (8007ff8 ) + 8007fa0: 6c1b ldr r3, [r3, #64] ; 0x40 + 8007fa2: 4a15 ldr r2, [pc, #84] ; (8007ff8 ) + 8007fa4: f043 0308 orr.w r3, r3, #8 + 8007fa8: 6413 str r3, [r2, #64] ; 0x40 + 8007faa: 4b13 ldr r3, [pc, #76] ; (8007ff8 ) + 8007fac: 6c1b ldr r3, [r3, #64] ; 0x40 + 8007fae: f003 0308 and.w r3, r3, #8 + 8007fb2: 60fb str r3, [r7, #12] + 8007fb4: 68fb ldr r3, [r7, #12] __HAL_RCC_GPIOA_CLK_ENABLE(); - 80048ee: 4b10 ldr r3, [pc, #64] ; (8004930 ) - 80048f0: 6b1b ldr r3, [r3, #48] ; 0x30 - 80048f2: 4a0f ldr r2, [pc, #60] ; (8004930 ) - 80048f4: f043 0301 orr.w r3, r3, #1 - 80048f8: 6313 str r3, [r2, #48] ; 0x30 - 80048fa: 4b0d ldr r3, [pc, #52] ; (8004930 ) - 80048fc: 6b1b ldr r3, [r3, #48] ; 0x30 - 80048fe: f003 0301 and.w r3, r3, #1 - 8004902: 60bb str r3, [r7, #8] - 8004904: 68bb ldr r3, [r7, #8] + 8007fb6: 4b10 ldr r3, [pc, #64] ; (8007ff8 ) + 8007fb8: 6b1b ldr r3, [r3, #48] ; 0x30 + 8007fba: 4a0f ldr r2, [pc, #60] ; (8007ff8 ) + 8007fbc: f043 0301 orr.w r3, r3, #1 + 8007fc0: 6313 str r3, [r2, #48] ; 0x30 + 8007fc2: 4b0d ldr r3, [pc, #52] ; (8007ff8 ) + 8007fc4: 6b1b ldr r3, [r3, #48] ; 0x30 + 8007fc6: f003 0301 and.w r3, r3, #1 + 8007fca: 60bb str r3, [r7, #8] + 8007fcc: 68bb ldr r3, [r7, #8] GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1; - 8004906: 2303 movs r3, #3 - 8004908: 61fb str r3, [r7, #28] + 8007fce: 2303 movs r3, #3 + 8007fd0: 61fb str r3, [r7, #28] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; - 800490a: 2302 movs r3, #2 - 800490c: 623b str r3, [r7, #32] + 8007fd2: 2302 movs r3, #2 + 8007fd4: 623b str r3, [r7, #32] GPIO_InitStruct.Pull = GPIO_NOPULL; - 800490e: 2300 movs r3, #0 - 8004910: 627b str r3, [r7, #36] ; 0x24 + 8007fd6: 2300 movs r3, #0 + 8007fd8: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - 8004912: 2300 movs r3, #0 - 8004914: 62bb str r3, [r7, #40] ; 0x28 + 8007fda: 2300 movs r3, #0 + 8007fdc: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Alternate = GPIO_AF2_TIM5; - 8004916: 2302 movs r3, #2 - 8004918: 62fb str r3, [r7, #44] ; 0x2c + 8007fde: 2302 movs r3, #2 + 8007fe0: 62fb str r3, [r7, #44] ; 0x2c HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - 800491a: f107 031c add.w r3, r7, #28 - 800491e: 4619 mov r1, r3 - 8004920: 4804 ldr r0, [pc, #16] ; (8004934 ) - 8004922: f7fc fa83 bl 8000e2c -} - 8004926: bf00 nop - 8004928: 3730 adds r7, #48 ; 0x30 - 800492a: 46bd mov sp, r7 - 800492c: bd80 pop {r7, pc} - 800492e: bf00 nop - 8004930: 40023800 .word 0x40023800 - 8004934: 40020000 .word 0x40020000 - 8004938: 40020400 .word 0x40020400 - 800493c: 40000c00 .word 0x40000c00 - -08004940 : + 8007fe2: f107 031c add.w r3, r7, #28 + 8007fe6: 4619 mov r1, r3 + 8007fe8: 4804 ldr r0, [pc, #16] ; (8007ffc ) + 8007fea: f7f8 ffb5 bl 8000f58 +} + 8007fee: bf00 nop + 8007ff0: 3730 adds r7, #48 ; 0x30 + 8007ff2: 46bd mov sp, r7 + 8007ff4: bd80 pop {r7, pc} + 8007ff6: bf00 nop + 8007ff8: 40023800 .word 0x40023800 + 8007ffc: 40020000 .word 0x40020000 + 8008000: 40020400 .word 0x40020400 + 8008004: 40000c00 .word 0x40000c00 + +08008008 : * This function configures the hardware resources used in this example * @param htim_base: TIM_Base handle pointer * @retval None */ void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base) { - 8004940: b580 push {r7, lr} - 8004942: b084 sub sp, #16 - 8004944: af00 add r7, sp, #0 - 8004946: 6078 str r0, [r7, #4] + 8008008: b580 push {r7, lr} + 800800a: b084 sub sp, #16 + 800800c: af00 add r7, sp, #0 + 800800e: 6078 str r0, [r7, #4] if(htim_base->Instance==TIM3) - 8004948: 687b ldr r3, [r7, #4] - 800494a: 681b ldr r3, [r3, #0] - 800494c: 4a0d ldr r2, [pc, #52] ; (8004984 ) - 800494e: 4293 cmp r3, r2 - 8004950: d113 bne.n 800497a + 8008010: 687b ldr r3, [r7, #4] + 8008012: 681b ldr r3, [r3, #0] + 8008014: 4a0d ldr r2, [pc, #52] ; (800804c ) + 8008016: 4293 cmp r3, r2 + 8008018: d113 bne.n 8008042 { /* USER CODE BEGIN TIM3_MspInit 0 */ /* USER CODE END TIM3_MspInit 0 */ /* Peripheral clock enable */ __HAL_RCC_TIM3_CLK_ENABLE(); - 8004952: 4b0d ldr r3, [pc, #52] ; (8004988 ) - 8004954: 6c1b ldr r3, [r3, #64] ; 0x40 - 8004956: 4a0c ldr r2, [pc, #48] ; (8004988 ) - 8004958: f043 0302 orr.w r3, r3, #2 - 800495c: 6413 str r3, [r2, #64] ; 0x40 - 800495e: 4b0a ldr r3, [pc, #40] ; (8004988 ) - 8004960: 6c1b ldr r3, [r3, #64] ; 0x40 - 8004962: f003 0302 and.w r3, r3, #2 - 8004966: 60fb str r3, [r7, #12] - 8004968: 68fb ldr r3, [r7, #12] + 800801a: 4b0d ldr r3, [pc, #52] ; (8008050 ) + 800801c: 6c1b ldr r3, [r3, #64] ; 0x40 + 800801e: 4a0c ldr r2, [pc, #48] ; (8008050 ) + 8008020: f043 0302 orr.w r3, r3, #2 + 8008024: 6413 str r3, [r2, #64] ; 0x40 + 8008026: 4b0a ldr r3, [pc, #40] ; (8008050 ) + 8008028: 6c1b ldr r3, [r3, #64] ; 0x40 + 800802a: f003 0302 and.w r3, r3, #2 + 800802e: 60fb str r3, [r7, #12] + 8008030: 68fb ldr r3, [r7, #12] /* TIM3 interrupt Init */ HAL_NVIC_SetPriority(TIM3_IRQn, 0, 0); - 800496a: 2200 movs r2, #0 - 800496c: 2100 movs r1, #0 - 800496e: 201d movs r0, #29 - 8004970: f7fb ff1b bl 80007aa + 8008032: 2200 movs r2, #0 + 8008034: 2100 movs r1, #0 + 8008036: 201d movs r0, #29 + 8008038: f7f8 fbbf bl 80007ba HAL_NVIC_EnableIRQ(TIM3_IRQn); - 8004974: 201d movs r0, #29 - 8004976: f7fb ff34 bl 80007e2 + 800803c: 201d movs r0, #29 + 800803e: f7f8 fbd8 bl 80007f2 /* USER CODE BEGIN TIM3_MspInit 1 */ /* USER CODE END TIM3_MspInit 1 */ } } - 800497a: bf00 nop - 800497c: 3710 adds r7, #16 - 800497e: 46bd mov sp, r7 - 8004980: bd80 pop {r7, pc} - 8004982: bf00 nop - 8004984: 40000400 .word 0x40000400 - 8004988: 40023800 .word 0x40023800 - -0800498c : + 8008042: bf00 nop + 8008044: 3710 adds r7, #16 + 8008046: 46bd mov sp, r7 + 8008048: bd80 pop {r7, pc} + 800804a: bf00 nop + 800804c: 40000400 .word 0x40000400 + 8008050: 40023800 .word 0x40023800 + +08008054 : * This function configures the hardware resources used in this example * @param htim_pwm: TIM_PWM handle pointer * @retval None */ void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef* htim_pwm) { - 800498c: b480 push {r7} - 800498e: b085 sub sp, #20 - 8004990: af00 add r7, sp, #0 - 8004992: 6078 str r0, [r7, #4] + 8008054: b480 push {r7} + 8008056: b085 sub sp, #20 + 8008058: af00 add r7, sp, #0 + 800805a: 6078 str r0, [r7, #4] if(htim_pwm->Instance==TIM4) - 8004994: 687b ldr r3, [r7, #4] - 8004996: 681b ldr r3, [r3, #0] - 8004998: 4a0a ldr r2, [pc, #40] ; (80049c4 ) - 800499a: 4293 cmp r3, r2 - 800499c: d10b bne.n 80049b6 + 800805c: 687b ldr r3, [r7, #4] + 800805e: 681b ldr r3, [r3, #0] + 8008060: 4a0a ldr r2, [pc, #40] ; (800808c ) + 8008062: 4293 cmp r3, r2 + 8008064: d10b bne.n 800807e { /* USER CODE BEGIN TIM4_MspInit 0 */ /* USER CODE END TIM4_MspInit 0 */ /* Peripheral clock enable */ __HAL_RCC_TIM4_CLK_ENABLE(); - 800499e: 4b0a ldr r3, [pc, #40] ; (80049c8 ) - 80049a0: 6c1b ldr r3, [r3, #64] ; 0x40 - 80049a2: 4a09 ldr r2, [pc, #36] ; (80049c8 ) - 80049a4: f043 0304 orr.w r3, r3, #4 - 80049a8: 6413 str r3, [r2, #64] ; 0x40 - 80049aa: 4b07 ldr r3, [pc, #28] ; (80049c8 ) - 80049ac: 6c1b ldr r3, [r3, #64] ; 0x40 - 80049ae: f003 0304 and.w r3, r3, #4 - 80049b2: 60fb str r3, [r7, #12] - 80049b4: 68fb ldr r3, [r7, #12] + 8008066: 4b0a ldr r3, [pc, #40] ; (8008090 ) + 8008068: 6c1b ldr r3, [r3, #64] ; 0x40 + 800806a: 4a09 ldr r2, [pc, #36] ; (8008090 ) + 800806c: f043 0304 orr.w r3, r3, #4 + 8008070: 6413 str r3, [r2, #64] ; 0x40 + 8008072: 4b07 ldr r3, [pc, #28] ; (8008090 ) + 8008074: 6c1b ldr r3, [r3, #64] ; 0x40 + 8008076: f003 0304 and.w r3, r3, #4 + 800807a: 60fb str r3, [r7, #12] + 800807c: 68fb ldr r3, [r7, #12] /* USER CODE BEGIN TIM4_MspInit 1 */ /* USER CODE END TIM4_MspInit 1 */ } } - 80049b6: bf00 nop - 80049b8: 3714 adds r7, #20 - 80049ba: 46bd mov sp, r7 - 80049bc: f85d 7b04 ldr.w r7, [sp], #4 - 80049c0: 4770 bx lr - 80049c2: bf00 nop - 80049c4: 40000800 .word 0x40000800 - 80049c8: 40023800 .word 0x40023800 + 800807e: bf00 nop + 8008080: 3714 adds r7, #20 + 8008082: 46bd mov sp, r7 + 8008084: f85d 7b04 ldr.w r7, [sp], #4 + 8008088: 4770 bx lr + 800808a: bf00 nop + 800808c: 40000800 .word 0x40000800 + 8008090: 40023800 .word 0x40023800 -080049cc : +08008094 : void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim) { - 80049cc: b580 push {r7, lr} - 80049ce: b088 sub sp, #32 - 80049d0: af00 add r7, sp, #0 - 80049d2: 6078 str r0, [r7, #4] + 8008094: b580 push {r7, lr} + 8008096: b088 sub sp, #32 + 8008098: af00 add r7, sp, #0 + 800809a: 6078 str r0, [r7, #4] GPIO_InitTypeDef GPIO_InitStruct = {0}; - 80049d4: f107 030c add.w r3, r7, #12 - 80049d8: 2200 movs r2, #0 - 80049da: 601a str r2, [r3, #0] - 80049dc: 605a str r2, [r3, #4] - 80049de: 609a str r2, [r3, #8] - 80049e0: 60da str r2, [r3, #12] - 80049e2: 611a str r2, [r3, #16] + 800809c: f107 030c add.w r3, r7, #12 + 80080a0: 2200 movs r2, #0 + 80080a2: 601a str r2, [r3, #0] + 80080a4: 605a str r2, [r3, #4] + 80080a6: 609a str r2, [r3, #8] + 80080a8: 60da str r2, [r3, #12] + 80080aa: 611a str r2, [r3, #16] if(htim->Instance==TIM4) - 80049e4: 687b ldr r3, [r7, #4] - 80049e6: 681b ldr r3, [r3, #0] - 80049e8: 4a11 ldr r2, [pc, #68] ; (8004a30 ) - 80049ea: 4293 cmp r3, r2 - 80049ec: d11c bne.n 8004a28 + 80080ac: 687b ldr r3, [r7, #4] + 80080ae: 681b ldr r3, [r3, #0] + 80080b0: 4a11 ldr r2, [pc, #68] ; (80080f8 ) + 80080b2: 4293 cmp r3, r2 + 80080b4: d11c bne.n 80080f0 { /* USER CODE BEGIN TIM4_MspPostInit 0 */ /* USER CODE END TIM4_MspPostInit 0 */ __HAL_RCC_GPIOD_CLK_ENABLE(); - 80049ee: 4b11 ldr r3, [pc, #68] ; (8004a34 ) - 80049f0: 6b1b ldr r3, [r3, #48] ; 0x30 - 80049f2: 4a10 ldr r2, [pc, #64] ; (8004a34 ) - 80049f4: f043 0308 orr.w r3, r3, #8 - 80049f8: 6313 str r3, [r2, #48] ; 0x30 - 80049fa: 4b0e ldr r3, [pc, #56] ; (8004a34 ) - 80049fc: 6b1b ldr r3, [r3, #48] ; 0x30 - 80049fe: f003 0308 and.w r3, r3, #8 - 8004a02: 60bb str r3, [r7, #8] - 8004a04: 68bb ldr r3, [r7, #8] + 80080b6: 4b11 ldr r3, [pc, #68] ; (80080fc ) + 80080b8: 6b1b ldr r3, [r3, #48] ; 0x30 + 80080ba: 4a10 ldr r2, [pc, #64] ; (80080fc ) + 80080bc: f043 0308 orr.w r3, r3, #8 + 80080c0: 6313 str r3, [r2, #48] ; 0x30 + 80080c2: 4b0e ldr r3, [pc, #56] ; (80080fc ) + 80080c4: 6b1b ldr r3, [r3, #48] ; 0x30 + 80080c6: f003 0308 and.w r3, r3, #8 + 80080ca: 60bb str r3, [r7, #8] + 80080cc: 68bb ldr r3, [r7, #8] /**TIM4 GPIO Configuration PD14 ------> TIM4_CH3 PD15 ------> TIM4_CH4 */ GPIO_InitStruct.Pin = pwm_2_Pin|pwm_1_Pin; - 8004a06: f44f 4340 mov.w r3, #49152 ; 0xc000 - 8004a0a: 60fb str r3, [r7, #12] + 80080ce: f44f 4340 mov.w r3, #49152 ; 0xc000 + 80080d2: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; - 8004a0c: 2302 movs r3, #2 - 8004a0e: 613b str r3, [r7, #16] + 80080d4: 2302 movs r3, #2 + 80080d6: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; - 8004a10: 2300 movs r3, #0 - 8004a12: 617b str r3, [r7, #20] + 80080d8: 2300 movs r3, #0 + 80080da: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - 8004a14: 2300 movs r3, #0 - 8004a16: 61bb str r3, [r7, #24] + 80080dc: 2300 movs r3, #0 + 80080de: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF2_TIM4; - 8004a18: 2302 movs r3, #2 - 8004a1a: 61fb str r3, [r7, #28] + 80080e0: 2302 movs r3, #2 + 80080e2: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); - 8004a1c: f107 030c add.w r3, r7, #12 - 8004a20: 4619 mov r1, r3 - 8004a22: 4805 ldr r0, [pc, #20] ; (8004a38 ) - 8004a24: f7fc fa02 bl 8000e2c + 80080e4: f107 030c add.w r3, r7, #12 + 80080e8: 4619 mov r1, r3 + 80080ea: 4805 ldr r0, [pc, #20] ; (8008100 ) + 80080ec: f7f8 ff34 bl 8000f58 /* USER CODE BEGIN TIM4_MspPostInit 1 */ /* USER CODE END TIM4_MspPostInit 1 */ } } - 8004a28: bf00 nop - 8004a2a: 3720 adds r7, #32 - 8004a2c: 46bd mov sp, r7 - 8004a2e: bd80 pop {r7, pc} - 8004a30: 40000800 .word 0x40000800 - 8004a34: 40023800 .word 0x40023800 - 8004a38: 40020c00 .word 0x40020c00 - -08004a3c : + 80080f0: bf00 nop + 80080f2: 3720 adds r7, #32 + 80080f4: 46bd mov sp, r7 + 80080f6: bd80 pop {r7, pc} + 80080f8: 40000800 .word 0x40000800 + 80080fc: 40023800 .word 0x40023800 + 8008100: 40020c00 .word 0x40020c00 + +08008104 : * This function configures the hardware resources used in this example * @param huart: UART handle pointer * @retval None */ void HAL_UART_MspInit(UART_HandleTypeDef* huart) { - 8004a3c: b580 push {r7, lr} - 8004a3e: b08a sub sp, #40 ; 0x28 - 8004a40: af00 add r7, sp, #0 - 8004a42: 6078 str r0, [r7, #4] + 8008104: b580 push {r7, lr} + 8008106: b08c sub sp, #48 ; 0x30 + 8008108: af00 add r7, sp, #0 + 800810a: 6078 str r0, [r7, #4] GPIO_InitTypeDef GPIO_InitStruct = {0}; - 8004a44: f107 0314 add.w r3, r7, #20 - 8004a48: 2200 movs r2, #0 - 8004a4a: 601a str r2, [r3, #0] - 8004a4c: 605a str r2, [r3, #4] - 8004a4e: 609a str r2, [r3, #8] - 8004a50: 60da str r2, [r3, #12] - 8004a52: 611a str r2, [r3, #16] + 800810c: f107 031c add.w r3, r7, #28 + 8008110: 2200 movs r2, #0 + 8008112: 601a str r2, [r3, #0] + 8008114: 605a str r2, [r3, #4] + 8008116: 609a str r2, [r3, #8] + 8008118: 60da str r2, [r3, #12] + 800811a: 611a str r2, [r3, #16] if(huart->Instance==USART3) - 8004a54: 687b ldr r3, [r7, #4] - 8004a56: 681b ldr r3, [r3, #0] - 8004a58: 4a4b ldr r2, [pc, #300] ; (8004b88 ) - 8004a5a: 4293 cmp r3, r2 - 8004a5c: f040 808f bne.w 8004b7e + 800811c: 687b ldr r3, [r7, #4] + 800811e: 681b ldr r3, [r3, #0] + 8008120: 4a91 ldr r2, [pc, #580] ; (8008368 ) + 8008122: 4293 cmp r3, r2 + 8008124: f040 8090 bne.w 8008248 { /* USER CODE BEGIN USART3_MspInit 0 */ /* USER CODE END USART3_MspInit 0 */ /* Peripheral clock enable */ __HAL_RCC_USART3_CLK_ENABLE(); - 8004a60: 4b4a ldr r3, [pc, #296] ; (8004b8c ) - 8004a62: 6c1b ldr r3, [r3, #64] ; 0x40 - 8004a64: 4a49 ldr r2, [pc, #292] ; (8004b8c ) - 8004a66: f443 2380 orr.w r3, r3, #262144 ; 0x40000 - 8004a6a: 6413 str r3, [r2, #64] ; 0x40 - 8004a6c: 4b47 ldr r3, [pc, #284] ; (8004b8c ) - 8004a6e: 6c1b ldr r3, [r3, #64] ; 0x40 - 8004a70: f403 2380 and.w r3, r3, #262144 ; 0x40000 - 8004a74: 613b str r3, [r7, #16] - 8004a76: 693b ldr r3, [r7, #16] + 8008128: 4b90 ldr r3, [pc, #576] ; (800836c ) + 800812a: 6c1b ldr r3, [r3, #64] ; 0x40 + 800812c: 4a8f ldr r2, [pc, #572] ; (800836c ) + 800812e: f443 2380 orr.w r3, r3, #262144 ; 0x40000 + 8008132: 6413 str r3, [r2, #64] ; 0x40 + 8008134: 4b8d ldr r3, [pc, #564] ; (800836c ) + 8008136: 6c1b ldr r3, [r3, #64] ; 0x40 + 8008138: f403 2380 and.w r3, r3, #262144 ; 0x40000 + 800813c: 61bb str r3, [r7, #24] + 800813e: 69bb ldr r3, [r7, #24] __HAL_RCC_GPIOD_CLK_ENABLE(); - 8004a78: 4b44 ldr r3, [pc, #272] ; (8004b8c ) - 8004a7a: 6b1b ldr r3, [r3, #48] ; 0x30 - 8004a7c: 4a43 ldr r2, [pc, #268] ; (8004b8c ) - 8004a7e: f043 0308 orr.w r3, r3, #8 - 8004a82: 6313 str r3, [r2, #48] ; 0x30 - 8004a84: 4b41 ldr r3, [pc, #260] ; (8004b8c ) - 8004a86: 6b1b ldr r3, [r3, #48] ; 0x30 - 8004a88: f003 0308 and.w r3, r3, #8 - 8004a8c: 60fb str r3, [r7, #12] - 8004a8e: 68fb ldr r3, [r7, #12] + 8008140: 4b8a ldr r3, [pc, #552] ; (800836c ) + 8008142: 6b1b ldr r3, [r3, #48] ; 0x30 + 8008144: 4a89 ldr r2, [pc, #548] ; (800836c ) + 8008146: f043 0308 orr.w r3, r3, #8 + 800814a: 6313 str r3, [r2, #48] ; 0x30 + 800814c: 4b87 ldr r3, [pc, #540] ; (800836c ) + 800814e: 6b1b ldr r3, [r3, #48] ; 0x30 + 8008150: f003 0308 and.w r3, r3, #8 + 8008154: 617b str r3, [r7, #20] + 8008156: 697b ldr r3, [r7, #20] /**USART3 GPIO Configuration PD8 ------> USART3_TX PD9 ------> USART3_RX */ GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9; - 8004a90: f44f 7340 mov.w r3, #768 ; 0x300 - 8004a94: 617b str r3, [r7, #20] + 8008158: f44f 7340 mov.w r3, #768 ; 0x300 + 800815c: 61fb str r3, [r7, #28] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; - 8004a96: 2302 movs r3, #2 - 8004a98: 61bb str r3, [r7, #24] + 800815e: 2302 movs r3, #2 + 8008160: 623b str r3, [r7, #32] GPIO_InitStruct.Pull = GPIO_NOPULL; - 8004a9a: 2300 movs r3, #0 - 8004a9c: 61fb str r3, [r7, #28] + 8008162: 2300 movs r3, #0 + 8008164: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; - 8004a9e: 2303 movs r3, #3 - 8004aa0: 623b str r3, [r7, #32] + 8008166: 2303 movs r3, #3 + 8008168: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Alternate = GPIO_AF7_USART3; - 8004aa2: 2307 movs r3, #7 - 8004aa4: 627b str r3, [r7, #36] ; 0x24 + 800816a: 2307 movs r3, #7 + 800816c: 62fb str r3, [r7, #44] ; 0x2c HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); - 8004aa6: f107 0314 add.w r3, r7, #20 - 8004aaa: 4619 mov r1, r3 - 8004aac: 4838 ldr r0, [pc, #224] ; (8004b90 ) - 8004aae: f7fc f9bd bl 8000e2c + 800816e: f107 031c add.w r3, r7, #28 + 8008172: 4619 mov r1, r3 + 8008174: 487e ldr r0, [pc, #504] ; (8008370 ) + 8008176: f7f8 feef bl 8000f58 /* USART3 DMA Init */ /* USART3_RX Init */ hdma_usart3_rx.Instance = DMA1_Stream1; - 8004ab2: 4b38 ldr r3, [pc, #224] ; (8004b94 ) - 8004ab4: 4a38 ldr r2, [pc, #224] ; (8004b98 ) - 8004ab6: 601a str r2, [r3, #0] + 800817a: 4b7e ldr r3, [pc, #504] ; (8008374 ) + 800817c: 4a7e ldr r2, [pc, #504] ; (8008378 ) + 800817e: 601a str r2, [r3, #0] hdma_usart3_rx.Init.Channel = DMA_CHANNEL_4; - 8004ab8: 4b36 ldr r3, [pc, #216] ; (8004b94 ) - 8004aba: f04f 6200 mov.w r2, #134217728 ; 0x8000000 - 8004abe: 605a str r2, [r3, #4] + 8008180: 4b7c ldr r3, [pc, #496] ; (8008374 ) + 8008182: f04f 6200 mov.w r2, #134217728 ; 0x8000000 + 8008186: 605a str r2, [r3, #4] hdma_usart3_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; - 8004ac0: 4b34 ldr r3, [pc, #208] ; (8004b94 ) - 8004ac2: 2200 movs r2, #0 - 8004ac4: 609a str r2, [r3, #8] + 8008188: 4b7a ldr r3, [pc, #488] ; (8008374 ) + 800818a: 2200 movs r2, #0 + 800818c: 609a str r2, [r3, #8] hdma_usart3_rx.Init.PeriphInc = DMA_PINC_DISABLE; - 8004ac6: 4b33 ldr r3, [pc, #204] ; (8004b94 ) - 8004ac8: 2200 movs r2, #0 - 8004aca: 60da str r2, [r3, #12] + 800818e: 4b79 ldr r3, [pc, #484] ; (8008374 ) + 8008190: 2200 movs r2, #0 + 8008192: 60da str r2, [r3, #12] hdma_usart3_rx.Init.MemInc = DMA_MINC_ENABLE; - 8004acc: 4b31 ldr r3, [pc, #196] ; (8004b94 ) - 8004ace: f44f 6280 mov.w r2, #1024 ; 0x400 - 8004ad2: 611a str r2, [r3, #16] + 8008194: 4b77 ldr r3, [pc, #476] ; (8008374 ) + 8008196: f44f 6280 mov.w r2, #1024 ; 0x400 + 800819a: 611a str r2, [r3, #16] hdma_usart3_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; - 8004ad4: 4b2f ldr r3, [pc, #188] ; (8004b94 ) - 8004ad6: 2200 movs r2, #0 - 8004ad8: 615a str r2, [r3, #20] + 800819c: 4b75 ldr r3, [pc, #468] ; (8008374 ) + 800819e: 2200 movs r2, #0 + 80081a0: 615a str r2, [r3, #20] hdma_usart3_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; - 8004ada: 4b2e ldr r3, [pc, #184] ; (8004b94 ) - 8004adc: 2200 movs r2, #0 - 8004ade: 619a str r2, [r3, #24] + 80081a2: 4b74 ldr r3, [pc, #464] ; (8008374 ) + 80081a4: 2200 movs r2, #0 + 80081a6: 619a str r2, [r3, #24] hdma_usart3_rx.Init.Mode = DMA_NORMAL; - 8004ae0: 4b2c ldr r3, [pc, #176] ; (8004b94 ) - 8004ae2: 2200 movs r2, #0 - 8004ae4: 61da str r2, [r3, #28] + 80081a8: 4b72 ldr r3, [pc, #456] ; (8008374 ) + 80081aa: 2200 movs r2, #0 + 80081ac: 61da str r2, [r3, #28] hdma_usart3_rx.Init.Priority = DMA_PRIORITY_HIGH; - 8004ae6: 4b2b ldr r3, [pc, #172] ; (8004b94 ) - 8004ae8: f44f 3200 mov.w r2, #131072 ; 0x20000 - 8004aec: 621a str r2, [r3, #32] + 80081ae: 4b71 ldr r3, [pc, #452] ; (8008374 ) + 80081b0: f44f 3200 mov.w r2, #131072 ; 0x20000 + 80081b4: 621a str r2, [r3, #32] hdma_usart3_rx.Init.FIFOMode = DMA_FIFOMODE_DISABLE; - 8004aee: 4b29 ldr r3, [pc, #164] ; (8004b94 ) - 8004af0: 2200 movs r2, #0 - 8004af2: 625a str r2, [r3, #36] ; 0x24 + 80081b6: 4b6f ldr r3, [pc, #444] ; (8008374 ) + 80081b8: 2200 movs r2, #0 + 80081ba: 625a str r2, [r3, #36] ; 0x24 if (HAL_DMA_Init(&hdma_usart3_rx) != HAL_OK) - 8004af4: 4827 ldr r0, [pc, #156] ; (8004b94 ) - 8004af6: f7fb fe8f bl 8000818 - 8004afa: 4603 mov r3, r0 - 8004afc: 2b00 cmp r3, #0 - 8004afe: d001 beq.n 8004b04 + 80081bc: 486d ldr r0, [pc, #436] ; (8008374 ) + 80081be: f7f8 fb33 bl 8000828 + 80081c2: 4603 mov r3, r0 + 80081c4: 2b00 cmp r3, #0 + 80081c6: d001 beq.n 80081cc { Error_Handler(); - 8004b00: f7ff fe38 bl 8004774 + 80081c8: f7fe ff3a bl 8007040 } __HAL_LINKDMA(huart,hdmarx,hdma_usart3_rx); - 8004b04: 687b ldr r3, [r7, #4] - 8004b06: 4a23 ldr r2, [pc, #140] ; (8004b94 ) - 8004b08: 66da str r2, [r3, #108] ; 0x6c - 8004b0a: 4a22 ldr r2, [pc, #136] ; (8004b94 ) - 8004b0c: 687b ldr r3, [r7, #4] - 8004b0e: 6393 str r3, [r2, #56] ; 0x38 + 80081cc: 687b ldr r3, [r7, #4] + 80081ce: 4a69 ldr r2, [pc, #420] ; (8008374 ) + 80081d0: 66da str r2, [r3, #108] ; 0x6c + 80081d2: 4a68 ldr r2, [pc, #416] ; (8008374 ) + 80081d4: 687b ldr r3, [r7, #4] + 80081d6: 6393 str r3, [r2, #56] ; 0x38 /* USART3_TX Init */ hdma_usart3_tx.Instance = DMA1_Stream3; - 8004b10: 4b22 ldr r3, [pc, #136] ; (8004b9c ) - 8004b12: 4a23 ldr r2, [pc, #140] ; (8004ba0 ) - 8004b14: 601a str r2, [r3, #0] + 80081d8: 4b68 ldr r3, [pc, #416] ; (800837c ) + 80081da: 4a69 ldr r2, [pc, #420] ; (8008380 ) + 80081dc: 601a str r2, [r3, #0] hdma_usart3_tx.Init.Channel = DMA_CHANNEL_4; - 8004b16: 4b21 ldr r3, [pc, #132] ; (8004b9c ) - 8004b18: f04f 6200 mov.w r2, #134217728 ; 0x8000000 - 8004b1c: 605a str r2, [r3, #4] + 80081de: 4b67 ldr r3, [pc, #412] ; (800837c ) + 80081e0: f04f 6200 mov.w r2, #134217728 ; 0x8000000 + 80081e4: 605a str r2, [r3, #4] hdma_usart3_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; - 8004b1e: 4b1f ldr r3, [pc, #124] ; (8004b9c ) - 8004b20: 2240 movs r2, #64 ; 0x40 - 8004b22: 609a str r2, [r3, #8] + 80081e6: 4b65 ldr r3, [pc, #404] ; (800837c ) + 80081e8: 2240 movs r2, #64 ; 0x40 + 80081ea: 609a str r2, [r3, #8] hdma_usart3_tx.Init.PeriphInc = DMA_PINC_DISABLE; - 8004b24: 4b1d ldr r3, [pc, #116] ; (8004b9c ) - 8004b26: 2200 movs r2, #0 - 8004b28: 60da str r2, [r3, #12] + 80081ec: 4b63 ldr r3, [pc, #396] ; (800837c ) + 80081ee: 2200 movs r2, #0 + 80081f0: 60da str r2, [r3, #12] hdma_usart3_tx.Init.MemInc = DMA_MINC_ENABLE; - 8004b2a: 4b1c ldr r3, [pc, #112] ; (8004b9c ) - 8004b2c: f44f 6280 mov.w r2, #1024 ; 0x400 - 8004b30: 611a str r2, [r3, #16] + 80081f2: 4b62 ldr r3, [pc, #392] ; (800837c ) + 80081f4: f44f 6280 mov.w r2, #1024 ; 0x400 + 80081f8: 611a str r2, [r3, #16] hdma_usart3_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; - 8004b32: 4b1a ldr r3, [pc, #104] ; (8004b9c ) - 8004b34: 2200 movs r2, #0 - 8004b36: 615a str r2, [r3, #20] + 80081fa: 4b60 ldr r3, [pc, #384] ; (800837c ) + 80081fc: 2200 movs r2, #0 + 80081fe: 615a str r2, [r3, #20] hdma_usart3_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; - 8004b38: 4b18 ldr r3, [pc, #96] ; (8004b9c ) - 8004b3a: 2200 movs r2, #0 - 8004b3c: 619a str r2, [r3, #24] + 8008200: 4b5e ldr r3, [pc, #376] ; (800837c ) + 8008202: 2200 movs r2, #0 + 8008204: 619a str r2, [r3, #24] hdma_usart3_tx.Init.Mode = DMA_NORMAL; - 8004b3e: 4b17 ldr r3, [pc, #92] ; (8004b9c ) - 8004b40: 2200 movs r2, #0 - 8004b42: 61da str r2, [r3, #28] + 8008206: 4b5d ldr r3, [pc, #372] ; (800837c ) + 8008208: 2200 movs r2, #0 + 800820a: 61da str r2, [r3, #28] hdma_usart3_tx.Init.Priority = DMA_PRIORITY_HIGH; - 8004b44: 4b15 ldr r3, [pc, #84] ; (8004b9c ) - 8004b46: f44f 3200 mov.w r2, #131072 ; 0x20000 - 8004b4a: 621a str r2, [r3, #32] + 800820c: 4b5b ldr r3, [pc, #364] ; (800837c ) + 800820e: f44f 3200 mov.w r2, #131072 ; 0x20000 + 8008212: 621a str r2, [r3, #32] hdma_usart3_tx.Init.FIFOMode = DMA_FIFOMODE_DISABLE; - 8004b4c: 4b13 ldr r3, [pc, #76] ; (8004b9c ) - 8004b4e: 2200 movs r2, #0 - 8004b50: 625a str r2, [r3, #36] ; 0x24 + 8008214: 4b59 ldr r3, [pc, #356] ; (800837c ) + 8008216: 2200 movs r2, #0 + 8008218: 625a str r2, [r3, #36] ; 0x24 if (HAL_DMA_Init(&hdma_usart3_tx) != HAL_OK) - 8004b52: 4812 ldr r0, [pc, #72] ; (8004b9c ) - 8004b54: f7fb fe60 bl 8000818 - 8004b58: 4603 mov r3, r0 - 8004b5a: 2b00 cmp r3, #0 - 8004b5c: d001 beq.n 8004b62 + 800821a: 4858 ldr r0, [pc, #352] ; (800837c ) + 800821c: f7f8 fb04 bl 8000828 + 8008220: 4603 mov r3, r0 + 8008222: 2b00 cmp r3, #0 + 8008224: d001 beq.n 800822a { Error_Handler(); - 8004b5e: f7ff fe09 bl 8004774 + 8008226: f7fe ff0b bl 8007040 } __HAL_LINKDMA(huart,hdmatx,hdma_usart3_tx); - 8004b62: 687b ldr r3, [r7, #4] - 8004b64: 4a0d ldr r2, [pc, #52] ; (8004b9c ) - 8004b66: 669a str r2, [r3, #104] ; 0x68 - 8004b68: 4a0c ldr r2, [pc, #48] ; (8004b9c ) - 8004b6a: 687b ldr r3, [r7, #4] - 8004b6c: 6393 str r3, [r2, #56] ; 0x38 + 800822a: 687b ldr r3, [r7, #4] + 800822c: 4a53 ldr r2, [pc, #332] ; (800837c ) + 800822e: 669a str r2, [r3, #104] ; 0x68 + 8008230: 4a52 ldr r2, [pc, #328] ; (800837c ) + 8008232: 687b ldr r3, [r7, #4] + 8008234: 6393 str r3, [r2, #56] ; 0x38 /* USART3 interrupt Init */ HAL_NVIC_SetPriority(USART3_IRQn, 0, 0); - 8004b6e: 2200 movs r2, #0 - 8004b70: 2100 movs r1, #0 - 8004b72: 2027 movs r0, #39 ; 0x27 - 8004b74: f7fb fe19 bl 80007aa + 8008236: 2200 movs r2, #0 + 8008238: 2100 movs r1, #0 + 800823a: 2027 movs r0, #39 ; 0x27 + 800823c: f7f8 fabd bl 80007ba HAL_NVIC_EnableIRQ(USART3_IRQn); - 8004b78: 2027 movs r0, #39 ; 0x27 - 8004b7a: f7fb fe32 bl 80007e2 - /* USER CODE BEGIN USART3_MspInit 1 */ + 8008240: 2027 movs r0, #39 ; 0x27 + 8008242: f7f8 fad6 bl 80007f2 + /* USER CODE BEGIN USART6_MspInit 1 */ - /* USER CODE END USART3_MspInit 1 */ + /* USER CODE END USART6_MspInit 1 */ } } - 8004b7e: bf00 nop - 8004b80: 3728 adds r7, #40 ; 0x28 - 8004b82: 46bd mov sp, r7 - 8004b84: bd80 pop {r7, pc} - 8004b86: bf00 nop - 8004b88: 40004800 .word 0x40004800 - 8004b8c: 40023800 .word 0x40023800 - 8004b90: 40020c00 .word 0x40020c00 - 8004b94: 200001a8 .word 0x200001a8 - 8004b98: 40026028 .word 0x40026028 - 8004b9c: 20000208 .word 0x20000208 - 8004ba0: 40026058 .word 0x40026058 - -08004ba4 : + 8008246: e08b b.n 8008360 + else if(huart->Instance==USART6) + 8008248: 687b ldr r3, [r7, #4] + 800824a: 681b ldr r3, [r3, #0] + 800824c: 4a4d ldr r2, [pc, #308] ; (8008384 ) + 800824e: 4293 cmp r3, r2 + 8008250: f040 8086 bne.w 8008360 + __HAL_RCC_USART6_CLK_ENABLE(); + 8008254: 4b45 ldr r3, [pc, #276] ; (800836c ) + 8008256: 6c5b ldr r3, [r3, #68] ; 0x44 + 8008258: 4a44 ldr r2, [pc, #272] ; (800836c ) + 800825a: f043 0320 orr.w r3, r3, #32 + 800825e: 6453 str r3, [r2, #68] ; 0x44 + 8008260: 4b42 ldr r3, [pc, #264] ; (800836c ) + 8008262: 6c5b ldr r3, [r3, #68] ; 0x44 + 8008264: f003 0320 and.w r3, r3, #32 + 8008268: 613b str r3, [r7, #16] + 800826a: 693b ldr r3, [r7, #16] + __HAL_RCC_GPIOC_CLK_ENABLE(); + 800826c: 4b3f ldr r3, [pc, #252] ; (800836c ) + 800826e: 6b1b ldr r3, [r3, #48] ; 0x30 + 8008270: 4a3e ldr r2, [pc, #248] ; (800836c ) + 8008272: f043 0304 orr.w r3, r3, #4 + 8008276: 6313 str r3, [r2, #48] ; 0x30 + 8008278: 4b3c ldr r3, [pc, #240] ; (800836c ) + 800827a: 6b1b ldr r3, [r3, #48] ; 0x30 + 800827c: f003 0304 and.w r3, r3, #4 + 8008280: 60fb str r3, [r7, #12] + 8008282: 68fb ldr r3, [r7, #12] + GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7; + 8008284: 23c0 movs r3, #192 ; 0xc0 + 8008286: 61fb str r3, [r7, #28] + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + 8008288: 2302 movs r3, #2 + 800828a: 623b str r3, [r7, #32] + GPIO_InitStruct.Pull = GPIO_NOPULL; + 800828c: 2300 movs r3, #0 + 800828e: 627b str r3, [r7, #36] ; 0x24 + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; + 8008290: 2303 movs r3, #3 + 8008292: 62bb str r3, [r7, #40] ; 0x28 + GPIO_InitStruct.Alternate = GPIO_AF8_USART6; + 8008294: 2308 movs r3, #8 + 8008296: 62fb str r3, [r7, #44] ; 0x2c + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + 8008298: f107 031c add.w r3, r7, #28 + 800829c: 4619 mov r1, r3 + 800829e: 483a ldr r0, [pc, #232] ; (8008388 ) + 80082a0: f7f8 fe5a bl 8000f58 + hdma_usart6_rx.Instance = DMA2_Stream1; + 80082a4: 4b39 ldr r3, [pc, #228] ; (800838c ) + 80082a6: 4a3a ldr r2, [pc, #232] ; (8008390 ) + 80082a8: 601a str r2, [r3, #0] + hdma_usart6_rx.Init.Channel = DMA_CHANNEL_5; + 80082aa: 4b38 ldr r3, [pc, #224] ; (800838c ) + 80082ac: f04f 6220 mov.w r2, #167772160 ; 0xa000000 + 80082b0: 605a str r2, [r3, #4] + hdma_usart6_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; + 80082b2: 4b36 ldr r3, [pc, #216] ; (800838c ) + 80082b4: 2200 movs r2, #0 + 80082b6: 609a str r2, [r3, #8] + hdma_usart6_rx.Init.PeriphInc = DMA_PINC_DISABLE; + 80082b8: 4b34 ldr r3, [pc, #208] ; (800838c ) + 80082ba: 2200 movs r2, #0 + 80082bc: 60da str r2, [r3, #12] + hdma_usart6_rx.Init.MemInc = DMA_MINC_ENABLE; + 80082be: 4b33 ldr r3, [pc, #204] ; (800838c ) + 80082c0: f44f 6280 mov.w r2, #1024 ; 0x400 + 80082c4: 611a str r2, [r3, #16] + hdma_usart6_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; + 80082c6: 4b31 ldr r3, [pc, #196] ; (800838c ) + 80082c8: 2200 movs r2, #0 + 80082ca: 615a str r2, [r3, #20] + hdma_usart6_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; + 80082cc: 4b2f ldr r3, [pc, #188] ; (800838c ) + 80082ce: 2200 movs r2, #0 + 80082d0: 619a str r2, [r3, #24] + hdma_usart6_rx.Init.Mode = DMA_NORMAL; + 80082d2: 4b2e ldr r3, [pc, #184] ; (800838c ) + 80082d4: 2200 movs r2, #0 + 80082d6: 61da str r2, [r3, #28] + hdma_usart6_rx.Init.Priority = DMA_PRIORITY_HIGH; + 80082d8: 4b2c ldr r3, [pc, #176] ; (800838c ) + 80082da: f44f 3200 mov.w r2, #131072 ; 0x20000 + 80082de: 621a str r2, [r3, #32] + hdma_usart6_rx.Init.FIFOMode = DMA_FIFOMODE_DISABLE; + 80082e0: 4b2a ldr r3, [pc, #168] ; (800838c ) + 80082e2: 2200 movs r2, #0 + 80082e4: 625a str r2, [r3, #36] ; 0x24 + if (HAL_DMA_Init(&hdma_usart6_rx) != HAL_OK) + 80082e6: 4829 ldr r0, [pc, #164] ; (800838c ) + 80082e8: f7f8 fa9e bl 8000828 + 80082ec: 4603 mov r3, r0 + 80082ee: 2b00 cmp r3, #0 + 80082f0: d001 beq.n 80082f6 + Error_Handler(); + 80082f2: f7fe fea5 bl 8007040 + __HAL_LINKDMA(huart,hdmarx,hdma_usart6_rx); + 80082f6: 687b ldr r3, [r7, #4] + 80082f8: 4a24 ldr r2, [pc, #144] ; (800838c ) + 80082fa: 66da str r2, [r3, #108] ; 0x6c + 80082fc: 4a23 ldr r2, [pc, #140] ; (800838c ) + 80082fe: 687b ldr r3, [r7, #4] + 8008300: 6393 str r3, [r2, #56] ; 0x38 + hdma_usart6_tx.Instance = DMA2_Stream6; + 8008302: 4b24 ldr r3, [pc, #144] ; (8008394 ) + 8008304: 4a24 ldr r2, [pc, #144] ; (8008398 ) + 8008306: 601a str r2, [r3, #0] + hdma_usart6_tx.Init.Channel = DMA_CHANNEL_5; + 8008308: 4b22 ldr r3, [pc, #136] ; (8008394 ) + 800830a: f04f 6220 mov.w r2, #167772160 ; 0xa000000 + 800830e: 605a str r2, [r3, #4] + hdma_usart6_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; + 8008310: 4b20 ldr r3, [pc, #128] ; (8008394 ) + 8008312: 2240 movs r2, #64 ; 0x40 + 8008314: 609a str r2, [r3, #8] + hdma_usart6_tx.Init.PeriphInc = DMA_PINC_DISABLE; + 8008316: 4b1f ldr r3, [pc, #124] ; (8008394 ) + 8008318: 2200 movs r2, #0 + 800831a: 60da str r2, [r3, #12] + hdma_usart6_tx.Init.MemInc = DMA_MINC_ENABLE; + 800831c: 4b1d ldr r3, [pc, #116] ; (8008394 ) + 800831e: f44f 6280 mov.w r2, #1024 ; 0x400 + 8008322: 611a str r2, [r3, #16] + hdma_usart6_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; + 8008324: 4b1b ldr r3, [pc, #108] ; (8008394 ) + 8008326: 2200 movs r2, #0 + 8008328: 615a str r2, [r3, #20] + hdma_usart6_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; + 800832a: 4b1a ldr r3, [pc, #104] ; (8008394 ) + 800832c: 2200 movs r2, #0 + 800832e: 619a str r2, [r3, #24] + hdma_usart6_tx.Init.Mode = DMA_NORMAL; + 8008330: 4b18 ldr r3, [pc, #96] ; (8008394 ) + 8008332: 2200 movs r2, #0 + 8008334: 61da str r2, [r3, #28] + hdma_usart6_tx.Init.Priority = DMA_PRIORITY_HIGH; + 8008336: 4b17 ldr r3, [pc, #92] ; (8008394 ) + 8008338: f44f 3200 mov.w r2, #131072 ; 0x20000 + 800833c: 621a str r2, [r3, #32] + hdma_usart6_tx.Init.FIFOMode = DMA_FIFOMODE_DISABLE; + 800833e: 4b15 ldr r3, [pc, #84] ; (8008394 ) + 8008340: 2200 movs r2, #0 + 8008342: 625a str r2, [r3, #36] ; 0x24 + if (HAL_DMA_Init(&hdma_usart6_tx) != HAL_OK) + 8008344: 4813 ldr r0, [pc, #76] ; (8008394 ) + 8008346: f7f8 fa6f bl 8000828 + 800834a: 4603 mov r3, r0 + 800834c: 2b00 cmp r3, #0 + 800834e: d001 beq.n 8008354 + Error_Handler(); + 8008350: f7fe fe76 bl 8007040 + __HAL_LINKDMA(huart,hdmatx,hdma_usart6_tx); + 8008354: 687b ldr r3, [r7, #4] + 8008356: 4a0f ldr r2, [pc, #60] ; (8008394 ) + 8008358: 669a str r2, [r3, #104] ; 0x68 + 800835a: 4a0e ldr r2, [pc, #56] ; (8008394 ) + 800835c: 687b ldr r3, [r7, #4] + 800835e: 6393 str r3, [r2, #56] ; 0x38 +} + 8008360: bf00 nop + 8008362: 3730 adds r7, #48 ; 0x30 + 8008364: 46bd mov sp, r7 + 8008366: bd80 pop {r7, pc} + 8008368: 40004800 .word 0x40004800 + 800836c: 40023800 .word 0x40023800 + 8008370: 40020c00 .word 0x40020c00 + 8008374: 200002a4 .word 0x200002a4 + 8008378: 40026028 .word 0x40026028 + 800837c: 20000304 .word 0x20000304 + 8008380: 40026058 .word 0x40026058 + 8008384: 40011400 .word 0x40011400 + 8008388: 40020800 .word 0x40020800 + 800838c: 20000364 .word 0x20000364 + 8008390: 40026428 .word 0x40026428 + 8008394: 200003c4 .word 0x200003c4 + 8008398: 400264a0 .word 0x400264a0 + +0800839c : /******************************************************************************/ /** * @brief This function handles Non maskable interrupt. */ void NMI_Handler(void) { - 8004ba4: b480 push {r7} - 8004ba6: af00 add r7, sp, #0 + 800839c: b480 push {r7} + 800839e: af00 add r7, sp, #0 /* USER CODE END NonMaskableInt_IRQn 0 */ /* USER CODE BEGIN NonMaskableInt_IRQn 1 */ /* USER CODE END NonMaskableInt_IRQn 1 */ } - 8004ba8: bf00 nop - 8004baa: 46bd mov sp, r7 - 8004bac: f85d 7b04 ldr.w r7, [sp], #4 - 8004bb0: 4770 bx lr + 80083a0: bf00 nop + 80083a2: 46bd mov sp, r7 + 80083a4: f85d 7b04 ldr.w r7, [sp], #4 + 80083a8: 4770 bx lr -08004bb2 : +080083aa : /** * @brief This function handles Hard fault interrupt. */ void HardFault_Handler(void) { - 8004bb2: b480 push {r7} - 8004bb4: af00 add r7, sp, #0 + 80083aa: b480 push {r7} + 80083ac: af00 add r7, sp, #0 /* USER CODE BEGIN HardFault_IRQn 0 */ /* USER CODE END HardFault_IRQn 0 */ while (1) - 8004bb6: e7fe b.n 8004bb6 + 80083ae: e7fe b.n 80083ae -08004bb8 : +080083b0 : /** * @brief This function handles Memory management fault. */ void MemManage_Handler(void) { - 8004bb8: b480 push {r7} - 8004bba: af00 add r7, sp, #0 + 80083b0: b480 push {r7} + 80083b2: af00 add r7, sp, #0 /* USER CODE BEGIN MemoryManagement_IRQn 0 */ /* USER CODE END MemoryManagement_IRQn 0 */ while (1) - 8004bbc: e7fe b.n 8004bbc + 80083b4: e7fe b.n 80083b4 -08004bbe : +080083b6 : /** * @brief This function handles Pre-fetch fault, memory access fault. */ void BusFault_Handler(void) { - 8004bbe: b480 push {r7} - 8004bc0: af00 add r7, sp, #0 + 80083b6: b480 push {r7} + 80083b8: af00 add r7, sp, #0 /* USER CODE BEGIN BusFault_IRQn 0 */ /* USER CODE END BusFault_IRQn 0 */ while (1) - 8004bc2: e7fe b.n 8004bc2 + 80083ba: e7fe b.n 80083ba -08004bc4 : +080083bc : /** * @brief This function handles Undefined instruction or illegal state. */ void UsageFault_Handler(void) { - 8004bc4: b480 push {r7} - 8004bc6: af00 add r7, sp, #0 + 80083bc: b480 push {r7} + 80083be: af00 add r7, sp, #0 /* USER CODE BEGIN UsageFault_IRQn 0 */ /* USER CODE END UsageFault_IRQn 0 */ while (1) - 8004bc8: e7fe b.n 8004bc8 + 80083c0: e7fe b.n 80083c0 -08004bca : +080083c2 : /** * @brief This function handles System service call via SWI instruction. */ void SVC_Handler(void) { - 8004bca: b480 push {r7} - 8004bcc: af00 add r7, sp, #0 + 80083c2: b480 push {r7} + 80083c4: af00 add r7, sp, #0 /* USER CODE END SVCall_IRQn 0 */ /* USER CODE BEGIN SVCall_IRQn 1 */ /* USER CODE END SVCall_IRQn 1 */ } - 8004bce: bf00 nop - 8004bd0: 46bd mov sp, r7 - 8004bd2: f85d 7b04 ldr.w r7, [sp], #4 - 8004bd6: 4770 bx lr + 80083c6: bf00 nop + 80083c8: 46bd mov sp, r7 + 80083ca: f85d 7b04 ldr.w r7, [sp], #4 + 80083ce: 4770 bx lr -08004bd8 : +080083d0 : /** * @brief This function handles Debug monitor. */ void DebugMon_Handler(void) { - 8004bd8: b480 push {r7} - 8004bda: af00 add r7, sp, #0 + 80083d0: b480 push {r7} + 80083d2: af00 add r7, sp, #0 /* USER CODE END DebugMonitor_IRQn 0 */ /* USER CODE BEGIN DebugMonitor_IRQn 1 */ /* USER CODE END DebugMonitor_IRQn 1 */ } - 8004bdc: bf00 nop - 8004bde: 46bd mov sp, r7 - 8004be0: f85d 7b04 ldr.w r7, [sp], #4 - 8004be4: 4770 bx lr + 80083d4: bf00 nop + 80083d6: 46bd mov sp, r7 + 80083d8: f85d 7b04 ldr.w r7, [sp], #4 + 80083dc: 4770 bx lr -08004be6 : +080083de : /** * @brief This function handles Pendable request for system service. */ void PendSV_Handler(void) { - 8004be6: b480 push {r7} - 8004be8: af00 add r7, sp, #0 + 80083de: b480 push {r7} + 80083e0: af00 add r7, sp, #0 /* USER CODE END PendSV_IRQn 0 */ /* USER CODE BEGIN PendSV_IRQn 1 */ /* USER CODE END PendSV_IRQn 1 */ } - 8004bea: bf00 nop - 8004bec: 46bd mov sp, r7 - 8004bee: f85d 7b04 ldr.w r7, [sp], #4 - 8004bf2: 4770 bx lr + 80083e2: bf00 nop + 80083e4: 46bd mov sp, r7 + 80083e6: f85d 7b04 ldr.w r7, [sp], #4 + 80083ea: 4770 bx lr -08004bf4 : +080083ec : /** * @brief This function handles System tick timer. */ void SysTick_Handler(void) { - 8004bf4: b580 push {r7, lr} - 8004bf6: af00 add r7, sp, #0 + 80083ec: b580 push {r7, lr} + 80083ee: af00 add r7, sp, #0 /* USER CODE BEGIN SysTick_IRQn 0 */ /* USER CODE END SysTick_IRQn 0 */ HAL_IncTick(); - 8004bf8: f7fb fcdc bl 80005b4 + 80083f0: f7f8 f8e8 bl 80005c4 /* USER CODE BEGIN SysTick_IRQn 1 */ /* USER CODE END SysTick_IRQn 1 */ } - 8004bfc: bf00 nop - 8004bfe: bd80 pop {r7, pc} + 80083f4: bf00 nop + 80083f6: bd80 pop {r7, pc} -08004c00 : +080083f8 : /** * @brief This function handles DMA1 stream1 global interrupt. */ void DMA1_Stream1_IRQHandler(void) { - 8004c00: b580 push {r7, lr} - 8004c02: af00 add r7, sp, #0 + 80083f8: b580 push {r7, lr} + 80083fa: af00 add r7, sp, #0 /* USER CODE BEGIN DMA1_Stream1_IRQn 0 */ /* USER CODE END DMA1_Stream1_IRQn 0 */ HAL_DMA_IRQHandler(&hdma_usart3_rx); - 8004c04: 4802 ldr r0, [pc, #8] ; (8004c10 ) - 8004c06: f7fb fed7 bl 80009b8 + 80083fc: 4802 ldr r0, [pc, #8] ; (8008408 ) + 80083fe: f7f8 fb43 bl 8000a88 /* USER CODE BEGIN DMA1_Stream1_IRQn 1 */ /* USER CODE END DMA1_Stream1_IRQn 1 */ } - 8004c0a: bf00 nop - 8004c0c: bd80 pop {r7, pc} - 8004c0e: bf00 nop - 8004c10: 200001a8 .word 0x200001a8 + 8008402: bf00 nop + 8008404: bd80 pop {r7, pc} + 8008406: bf00 nop + 8008408: 200002a4 .word 0x200002a4 -08004c14 : +0800840c : /** * @brief This function handles DMA1 stream3 global interrupt. */ void DMA1_Stream3_IRQHandler(void) { - 8004c14: b580 push {r7, lr} - 8004c16: af00 add r7, sp, #0 + 800840c: b580 push {r7, lr} + 800840e: af00 add r7, sp, #0 /* USER CODE BEGIN DMA1_Stream3_IRQn 0 */ /* USER CODE END DMA1_Stream3_IRQn 0 */ HAL_DMA_IRQHandler(&hdma_usart3_tx); - 8004c18: 4802 ldr r0, [pc, #8] ; (8004c24 ) - 8004c1a: f7fb fecd bl 80009b8 + 8008410: 4802 ldr r0, [pc, #8] ; (800841c ) + 8008412: f7f8 fb39 bl 8000a88 /* USER CODE BEGIN DMA1_Stream3_IRQn 1 */ /* USER CODE END DMA1_Stream3_IRQn 1 */ } - 8004c1e: bf00 nop - 8004c20: bd80 pop {r7, pc} - 8004c22: bf00 nop - 8004c24: 20000208 .word 0x20000208 + 8008416: bf00 nop + 8008418: bd80 pop {r7, pc} + 800841a: bf00 nop + 800841c: 20000304 .word 0x20000304 -08004c28 : +08008420 : /** * @brief This function handles TIM3 global interrupt. */ void TIM3_IRQHandler(void) { - 8004c28: b580 push {r7, lr} - 8004c2a: af00 add r7, sp, #0 + 8008420: b580 push {r7, lr} + 8008422: af00 add r7, sp, #0 /* USER CODE BEGIN TIM3_IRQn 0 */ /* USER CODE END TIM3_IRQn 0 */ HAL_TIM_IRQHandler(&htim3); - 8004c2c: 4802 ldr r0, [pc, #8] ; (8004c38 ) - 8004c2e: f7fd fc72 bl 8002516 + 8008424: 4802 ldr r0, [pc, #8] ; (8008430 ) + 8008426: f7fa f90c bl 8002642 /* USER CODE BEGIN TIM3_IRQn 1 */ /* USER CODE END TIM3_IRQn 1 */ } - 8004c32: bf00 nop - 8004c34: bd80 pop {r7, pc} - 8004c36: bf00 nop - 8004c38: 20000068 .word 0x20000068 + 800842a: bf00 nop + 800842c: bd80 pop {r7, pc} + 800842e: bf00 nop + 8008430: 200000e4 .word 0x200000e4 -08004c3c : +08008434 : /** * @brief This function handles USART3 global interrupt. */ void USART3_IRQHandler(void) { - 8004c3c: b580 push {r7, lr} - 8004c3e: af00 add r7, sp, #0 + 8008434: b580 push {r7, lr} + 8008436: af00 add r7, sp, #0 /* USER CODE BEGIN USART3_IRQn 0 */ /* USER CODE END USART3_IRQn 0 */ HAL_UART_IRQHandler(&huart3); - 8004c40: 4802 ldr r0, [pc, #8] ; (8004c4c ) - 8004c42: f7fe fc07 bl 8003454 + 8008438: 4802 ldr r0, [pc, #8] ; (8008444 ) + 800843a: f7fb f9a1 bl 8003780 /* USER CODE BEGIN USART3_IRQn 1 */ /* USER CODE END USART3_IRQn 1 */ } - 8004c46: bf00 nop - 8004c48: bd80 pop {r7, pc} - 8004c4a: bf00 nop - 8004c4c: 20000128 .word 0x20000128 + 800843e: bf00 nop + 8008440: bd80 pop {r7, pc} + 8008442: bf00 nop + 8008444: 200001a4 .word 0x200001a4 -08004c50 : +08008448 : + +/** + * @brief This function handles DMA2 stream1 global interrupt. + */ +void DMA2_Stream1_IRQHandler(void) +{ + 8008448: b580 push {r7, lr} + 800844a: af00 add r7, sp, #0 + /* USER CODE BEGIN DMA2_Stream1_IRQn 0 */ + + /* USER CODE END DMA2_Stream1_IRQn 0 */ + HAL_DMA_IRQHandler(&hdma_usart6_rx); + 800844c: 4802 ldr r0, [pc, #8] ; (8008458 ) + 800844e: f7f8 fb1b bl 8000a88 + /* USER CODE BEGIN DMA2_Stream1_IRQn 1 */ + + /* USER CODE END DMA2_Stream1_IRQn 1 */ +} + 8008452: bf00 nop + 8008454: bd80 pop {r7, pc} + 8008456: bf00 nop + 8008458: 20000364 .word 0x20000364 + +0800845c : + +/** + * @brief This function handles DMA2 stream6 global interrupt. + */ +void DMA2_Stream6_IRQHandler(void) +{ + 800845c: b580 push {r7, lr} + 800845e: af00 add r7, sp, #0 + /* USER CODE BEGIN DMA2_Stream6_IRQn 0 */ + + /* USER CODE END DMA2_Stream6_IRQn 0 */ + HAL_DMA_IRQHandler(&hdma_usart6_tx); + 8008460: 4802 ldr r0, [pc, #8] ; (800846c ) + 8008462: f7f8 fb11 bl 8000a88 + /* USER CODE BEGIN DMA2_Stream6_IRQn 1 */ + + /* USER CODE END DMA2_Stream6_IRQn 1 */ +} + 8008466: bf00 nop + 8008468: bd80 pop {r7, pc} + 800846a: bf00 nop + 800846c: 200003c4 .word 0x200003c4 + +08008470 <_getpid>: +void initialise_monitor_handles() +{ +} + +int _getpid(void) +{ + 8008470: b480 push {r7} + 8008472: af00 add r7, sp, #0 + return 1; + 8008474: 2301 movs r3, #1 +} + 8008476: 4618 mov r0, r3 + 8008478: 46bd mov sp, r7 + 800847a: f85d 7b04 ldr.w r7, [sp], #4 + 800847e: 4770 bx lr + +08008480 <_kill>: + +int _kill(int pid, int sig) +{ + 8008480: b580 push {r7, lr} + 8008482: b082 sub sp, #8 + 8008484: af00 add r7, sp, #0 + 8008486: 6078 str r0, [r7, #4] + 8008488: 6039 str r1, [r7, #0] + errno = EINVAL; + 800848a: f001 fc9b bl 8009dc4 <__errno> + 800848e: 4602 mov r2, r0 + 8008490: 2316 movs r3, #22 + 8008492: 6013 str r3, [r2, #0] + return -1; + 8008494: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff +} + 8008498: 4618 mov r0, r3 + 800849a: 3708 adds r7, #8 + 800849c: 46bd mov sp, r7 + 800849e: bd80 pop {r7, pc} + +080084a0 <_exit>: + +void _exit (int status) +{ + 80084a0: b580 push {r7, lr} + 80084a2: b082 sub sp, #8 + 80084a4: af00 add r7, sp, #0 + 80084a6: 6078 str r0, [r7, #4] + _kill(status, -1); + 80084a8: f04f 31ff mov.w r1, #4294967295 ; 0xffffffff + 80084ac: 6878 ldr r0, [r7, #4] + 80084ae: f7ff ffe7 bl 8008480 <_kill> + while (1) {} /* Make sure we hang here */ + 80084b2: e7fe b.n 80084b2 <_exit+0x12> + +080084b4 <_sbrk>: +/** + _sbrk + Increase program data space. Malloc and related functions depend on this +**/ +caddr_t _sbrk(int incr) +{ + 80084b4: b580 push {r7, lr} + 80084b6: b084 sub sp, #16 + 80084b8: af00 add r7, sp, #0 + 80084ba: 6078 str r0, [r7, #4] + extern char end asm("end"); + static char *heap_end; + char *prev_heap_end; + + if (heap_end == 0) + 80084bc: 4b11 ldr r3, [pc, #68] ; (8008504 <_sbrk+0x50>) + 80084be: 681b ldr r3, [r3, #0] + 80084c0: 2b00 cmp r3, #0 + 80084c2: d102 bne.n 80084ca <_sbrk+0x16> + heap_end = &end; + 80084c4: 4b0f ldr r3, [pc, #60] ; (8008504 <_sbrk+0x50>) + 80084c6: 4a10 ldr r2, [pc, #64] ; (8008508 <_sbrk+0x54>) + 80084c8: 601a str r2, [r3, #0] + + prev_heap_end = heap_end; + 80084ca: 4b0e ldr r3, [pc, #56] ; (8008504 <_sbrk+0x50>) + 80084cc: 681b ldr r3, [r3, #0] + 80084ce: 60fb str r3, [r7, #12] + if (heap_end + incr > stack_ptr) + 80084d0: 4b0c ldr r3, [pc, #48] ; (8008504 <_sbrk+0x50>) + 80084d2: 681a ldr r2, [r3, #0] + 80084d4: 687b ldr r3, [r7, #4] + 80084d6: 4413 add r3, r2 + 80084d8: 466a mov r2, sp + 80084da: 4293 cmp r3, r2 + 80084dc: d907 bls.n 80084ee <_sbrk+0x3a> + { + errno = ENOMEM; + 80084de: f001 fc71 bl 8009dc4 <__errno> + 80084e2: 4602 mov r2, r0 + 80084e4: 230c movs r3, #12 + 80084e6: 6013 str r3, [r2, #0] + return (caddr_t) -1; + 80084e8: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff + 80084ec: e006 b.n 80084fc <_sbrk+0x48> + } + + heap_end += incr; + 80084ee: 4b05 ldr r3, [pc, #20] ; (8008504 <_sbrk+0x50>) + 80084f0: 681a ldr r2, [r3, #0] + 80084f2: 687b ldr r3, [r7, #4] + 80084f4: 4413 add r3, r2 + 80084f6: 4a03 ldr r2, [pc, #12] ; (8008504 <_sbrk+0x50>) + 80084f8: 6013 str r3, [r2, #0] + + return (caddr_t) prev_heap_end; + 80084fa: 68fb ldr r3, [r7, #12] +} + 80084fc: 4618 mov r0, r3 + 80084fe: 3710 adds r7, #16 + 8008500: 46bd mov sp, r7 + 8008502: bd80 pop {r7, pc} + 8008504: 20000ea8 .word 0x20000ea8 + 8008508: 20000ec0 .word 0x20000ec0 + +0800850c : * SystemFrequency variable. * @param None * @retval None */ void SystemInit(void) { - 8004c50: b480 push {r7} - 8004c52: af00 add r7, sp, #0 + 800850c: b480 push {r7} + 800850e: af00 add r7, sp, #0 /* FPU settings ------------------------------------------------------------*/ #if (__FPU_PRESENT == 1) && (__FPU_USED == 1) SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */ - 8004c54: 4b15 ldr r3, [pc, #84] ; (8004cac ) - 8004c56: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 - 8004c5a: 4a14 ldr r2, [pc, #80] ; (8004cac ) - 8004c5c: f443 0370 orr.w r3, r3, #15728640 ; 0xf00000 - 8004c60: f8c2 3088 str.w r3, [r2, #136] ; 0x88 + 8008510: 4b15 ldr r3, [pc, #84] ; (8008568 ) + 8008512: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 + 8008516: 4a14 ldr r2, [pc, #80] ; (8008568 ) + 8008518: f443 0370 orr.w r3, r3, #15728640 ; 0xf00000 + 800851c: f8c2 3088 str.w r3, [r2, #136] ; 0x88 #endif /* Reset the RCC clock configuration to the default reset state ------------*/ /* Set HSION bit */ RCC->CR |= (uint32_t)0x00000001; - 8004c64: 4b12 ldr r3, [pc, #72] ; (8004cb0 ) - 8004c66: 681b ldr r3, [r3, #0] - 8004c68: 4a11 ldr r2, [pc, #68] ; (8004cb0 ) - 8004c6a: f043 0301 orr.w r3, r3, #1 - 8004c6e: 6013 str r3, [r2, #0] + 8008520: 4b12 ldr r3, [pc, #72] ; (800856c ) + 8008522: 681b ldr r3, [r3, #0] + 8008524: 4a11 ldr r2, [pc, #68] ; (800856c ) + 8008526: f043 0301 orr.w r3, r3, #1 + 800852a: 6013 str r3, [r2, #0] /* Reset CFGR register */ RCC->CFGR = 0x00000000; - 8004c70: 4b0f ldr r3, [pc, #60] ; (8004cb0 ) - 8004c72: 2200 movs r2, #0 - 8004c74: 609a str r2, [r3, #8] + 800852c: 4b0f ldr r3, [pc, #60] ; (800856c ) + 800852e: 2200 movs r2, #0 + 8008530: 609a str r2, [r3, #8] /* Reset HSEON, CSSON and PLLON bits */ RCC->CR &= (uint32_t)0xFEF6FFFF; - 8004c76: 4b0e ldr r3, [pc, #56] ; (8004cb0 ) - 8004c78: 681a ldr r2, [r3, #0] - 8004c7a: 490d ldr r1, [pc, #52] ; (8004cb0 ) - 8004c7c: 4b0d ldr r3, [pc, #52] ; (8004cb4 ) - 8004c7e: 4013 ands r3, r2 - 8004c80: 600b str r3, [r1, #0] + 8008532: 4b0e ldr r3, [pc, #56] ; (800856c ) + 8008534: 681a ldr r2, [r3, #0] + 8008536: 490d ldr r1, [pc, #52] ; (800856c ) + 8008538: 4b0d ldr r3, [pc, #52] ; (8008570 ) + 800853a: 4013 ands r3, r2 + 800853c: 600b str r3, [r1, #0] /* Reset PLLCFGR register */ RCC->PLLCFGR = 0x24003010; - 8004c82: 4b0b ldr r3, [pc, #44] ; (8004cb0 ) - 8004c84: 4a0c ldr r2, [pc, #48] ; (8004cb8 ) - 8004c86: 605a str r2, [r3, #4] + 800853e: 4b0b ldr r3, [pc, #44] ; (800856c ) + 8008540: 4a0c ldr r2, [pc, #48] ; (8008574 ) + 8008542: 605a str r2, [r3, #4] /* Reset HSEBYP bit */ RCC->CR &= (uint32_t)0xFFFBFFFF; - 8004c88: 4b09 ldr r3, [pc, #36] ; (8004cb0 ) - 8004c8a: 681b ldr r3, [r3, #0] - 8004c8c: 4a08 ldr r2, [pc, #32] ; (8004cb0 ) - 8004c8e: f423 2380 bic.w r3, r3, #262144 ; 0x40000 - 8004c92: 6013 str r3, [r2, #0] + 8008544: 4b09 ldr r3, [pc, #36] ; (800856c ) + 8008546: 681b ldr r3, [r3, #0] + 8008548: 4a08 ldr r2, [pc, #32] ; (800856c ) + 800854a: f423 2380 bic.w r3, r3, #262144 ; 0x40000 + 800854e: 6013 str r3, [r2, #0] /* Disable all interrupts */ RCC->CIR = 0x00000000; - 8004c94: 4b06 ldr r3, [pc, #24] ; (8004cb0 ) - 8004c96: 2200 movs r2, #0 - 8004c98: 60da str r2, [r3, #12] + 8008550: 4b06 ldr r3, [pc, #24] ; (800856c ) + 8008552: 2200 movs r2, #0 + 8008554: 60da str r2, [r3, #12] /* Configure the Vector Table location add offset address ------------------*/ #ifdef VECT_TAB_SRAM SCB->VTOR = RAMDTCM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ #else SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ - 8004c9a: 4b04 ldr r3, [pc, #16] ; (8004cac ) - 8004c9c: f04f 6200 mov.w r2, #134217728 ; 0x8000000 - 8004ca0: 609a str r2, [r3, #8] + 8008556: 4b04 ldr r3, [pc, #16] ; (8008568 ) + 8008558: f04f 6200 mov.w r2, #134217728 ; 0x8000000 + 800855c: 609a str r2, [r3, #8] #endif } - 8004ca2: bf00 nop - 8004ca4: 46bd mov sp, r7 - 8004ca6: f85d 7b04 ldr.w r7, [sp], #4 - 8004caa: 4770 bx lr - 8004cac: e000ed00 .word 0xe000ed00 - 8004cb0: 40023800 .word 0x40023800 - 8004cb4: fef6ffff .word 0xfef6ffff - 8004cb8: 24003010 .word 0x24003010 + 800855e: bf00 nop + 8008560: 46bd mov sp, r7 + 8008562: f85d 7b04 ldr.w r7, [sp], #4 + 8008566: 4770 bx lr + 8008568: e000ed00 .word 0xe000ed00 + 800856c: 40023800 .word 0x40023800 + 8008570: fef6ffff .word 0xfef6ffff + 8008574: 24003010 .word 0x24003010 + +08008578 <_ZN3ros16normalizeSecNSecERmS0_>: +#include "ros/time.h" + +namespace ros +{ +void normalizeSecNSec(uint32_t& sec, uint32_t& nsec) +{ + 8008578: b480 push {r7} + 800857a: b085 sub sp, #20 + 800857c: af00 add r7, sp, #0 + 800857e: 6078 str r0, [r7, #4] + 8008580: 6039 str r1, [r7, #0] + uint32_t nsec_part = nsec % 1000000000UL; + 8008582: 683b ldr r3, [r7, #0] + 8008584: 681b ldr r3, [r3, #0] + 8008586: 0a5a lsrs r2, r3, #9 + 8008588: 490f ldr r1, [pc, #60] ; (80085c8 <_ZN3ros16normalizeSecNSecERmS0_+0x50>) + 800858a: fba1 1202 umull r1, r2, r1, r2 + 800858e: 09d2 lsrs r2, r2, #7 + 8008590: 490e ldr r1, [pc, #56] ; (80085cc <_ZN3ros16normalizeSecNSecERmS0_+0x54>) + 8008592: fb01 f202 mul.w r2, r1, r2 + 8008596: 1a9b subs r3, r3, r2 + 8008598: 60fb str r3, [r7, #12] + uint32_t sec_part = nsec / 1000000000UL; + 800859a: 683b ldr r3, [r7, #0] + 800859c: 681b ldr r3, [r3, #0] + 800859e: 0a5b lsrs r3, r3, #9 + 80085a0: 4a09 ldr r2, [pc, #36] ; (80085c8 <_ZN3ros16normalizeSecNSecERmS0_+0x50>) + 80085a2: fba2 2303 umull r2, r3, r2, r3 + 80085a6: 09db lsrs r3, r3, #7 + 80085a8: 60bb str r3, [r7, #8] + sec += sec_part; + 80085aa: 687b ldr r3, [r7, #4] + 80085ac: 681a ldr r2, [r3, #0] + 80085ae: 68bb ldr r3, [r7, #8] + 80085b0: 441a add r2, r3 + 80085b2: 687b ldr r3, [r7, #4] + 80085b4: 601a str r2, [r3, #0] + nsec = nsec_part; + 80085b6: 683b ldr r3, [r7, #0] + 80085b8: 68fa ldr r2, [r7, #12] + 80085ba: 601a str r2, [r3, #0] +} + 80085bc: bf00 nop + 80085be: 3714 adds r7, #20 + 80085c0: 46bd mov sp, r7 + 80085c2: f85d 7b04 ldr.w r7, [sp], #4 + 80085c6: 4770 bx lr + 80085c8: 00044b83 .word 0x00044b83 + 80085cc: 3b9aca00 .word 0x3b9aca00 -08004cbc : +080085d0 : .section .text.Reset_Handler .weak Reset_Handler .type Reset_Handler, %function Reset_Handler: ldr sp, =_estack /* set stack pointer */ - 8004cbc: f8df d034 ldr.w sp, [pc, #52] ; 8004cf4 + 80085d0: f8df d034 ldr.w sp, [pc, #52] ; 8008608 /* Copy the data segment initializers from flash to SRAM */ movs r1, #0 - 8004cc0: 2100 movs r1, #0 + 80085d4: 2100 movs r1, #0 b LoopCopyDataInit - 8004cc2: e003 b.n 8004ccc + 80085d6: e003 b.n 80085e0 -08004cc4 : +080085d8 : CopyDataInit: ldr r3, =_sidata - 8004cc4: 4b0c ldr r3, [pc, #48] ; (8004cf8 ) + 80085d8: 4b0c ldr r3, [pc, #48] ; (800860c ) ldr r3, [r3, r1] - 8004cc6: 585b ldr r3, [r3, r1] + 80085da: 585b ldr r3, [r3, r1] str r3, [r0, r1] - 8004cc8: 5043 str r3, [r0, r1] + 80085dc: 5043 str r3, [r0, r1] adds r1, r1, #4 - 8004cca: 3104 adds r1, #4 + 80085de: 3104 adds r1, #4 -08004ccc : +080085e0 : LoopCopyDataInit: ldr r0, =_sdata - 8004ccc: 480b ldr r0, [pc, #44] ; (8004cfc ) + 80085e0: 480b ldr r0, [pc, #44] ; (8008610 ) ldr r3, =_edata - 8004cce: 4b0c ldr r3, [pc, #48] ; (8004d00 ) + 80085e2: 4b0c ldr r3, [pc, #48] ; (8008614 ) adds r2, r0, r1 - 8004cd0: 1842 adds r2, r0, r1 + 80085e4: 1842 adds r2, r0, r1 cmp r2, r3 - 8004cd2: 429a cmp r2, r3 + 80085e6: 429a cmp r2, r3 bcc CopyDataInit - 8004cd4: d3f6 bcc.n 8004cc4 + 80085e8: d3f6 bcc.n 80085d8 ldr r2, =_sbss - 8004cd6: 4a0b ldr r2, [pc, #44] ; (8004d04 ) + 80085ea: 4a0b ldr r2, [pc, #44] ; (8008618 ) b LoopFillZerobss - 8004cd8: e002 b.n 8004ce0 + 80085ec: e002 b.n 80085f4 -08004cda : +080085ee : /* Zero fill the bss segment. */ FillZerobss: movs r3, #0 - 8004cda: 2300 movs r3, #0 + 80085ee: 2300 movs r3, #0 str r3, [r2], #4 - 8004cdc: f842 3b04 str.w r3, [r2], #4 + 80085f0: f842 3b04 str.w r3, [r2], #4 -08004ce0 : +080085f4 : LoopFillZerobss: ldr r3, = _ebss - 8004ce0: 4b09 ldr r3, [pc, #36] ; (8004d08 ) + 80085f4: 4b09 ldr r3, [pc, #36] ; (800861c ) cmp r2, r3 - 8004ce2: 429a cmp r2, r3 + 80085f6: 429a cmp r2, r3 bcc FillZerobss - 8004ce4: d3f9 bcc.n 8004cda + 80085f8: d3f9 bcc.n 80085ee /* Call the clock system initialization function.*/ bl SystemInit - 8004ce6: f7ff ffb3 bl 8004c50 + 80085fa: f7ff ff87 bl 800850c /* Call static constructors */ bl __libc_init_array - 8004cea: f000 f811 bl 8004d10 <__libc_init_array> + 80085fe: f001 fbe7 bl 8009dd0 <__libc_init_array> /* Call the application's entry point.*/ bl main - 8004cee: f7ff f9a5 bl 800403c
+ 8008602: f7fd ffc5 bl 8006590
bx lr - 8004cf2: 4770 bx lr + 8008606: 4770 bx lr ldr sp, =_estack /* set stack pointer */ - 8004cf4: 20080000 .word 0x20080000 + 8008608: 20080000 .word 0x20080000 ldr r3, =_sidata - 8004cf8: 08004db4 .word 0x08004db4 + 800860c: 0800ab9c .word 0x0800ab9c ldr r0, =_sdata - 8004cfc: 20000000 .word 0x20000000 + 8008610: 20000000 .word 0x20000000 ldr r3, =_edata - 8004d00: 2000000c .word 0x2000000c + 8008614: 20000084 .word 0x20000084 ldr r2, =_sbss - 8004d04: 2000000c .word 0x2000000c + 8008618: 20000084 .word 0x20000084 ldr r3, = _ebss - 8004d08: 200002b4 .word 0x200002b4 + 800861c: 20000ebc .word 0x20000ebc -08004d0c : +08008620 : * @retval None */ .section .text.Default_Handler,"ax",%progbits Default_Handler: Infinite_Loop: b Infinite_Loop - 8004d0c: e7fe b.n 8004d0c + 8008620: e7fe b.n 8008620 + +08008622 <__cxa_pure_virtual>: + 8008622: b508 push {r3, lr} + 8008624: f000 f80c bl 8008640 <_ZSt9terminatev> + +08008628 <_ZN10__cxxabiv111__terminateEPFvvE>: + 8008628: b508 push {r3, lr} + 800862a: 4780 blx r0 + 800862c: f001 fbc3 bl 8009db6 + +08008630 <_ZSt13get_terminatev>: + 8008630: 4b02 ldr r3, [pc, #8] ; (800863c <_ZSt13get_terminatev+0xc>) + 8008632: 6818 ldr r0, [r3, #0] + 8008634: f3bf 8f5b dmb ish + 8008638: 4770 bx lr + 800863a: bf00 nop + 800863c: 2000001c .word 0x2000001c + +08008640 <_ZSt9terminatev>: + 8008640: b508 push {r3, lr} + 8008642: f7ff fff5 bl 8008630 <_ZSt13get_terminatev> + 8008646: f7ff ffef bl 8008628 <_ZN10__cxxabiv111__terminateEPFvvE> + 800864a: 0000 movs r0, r0 + 800864c: 0000 movs r0, r0 + ... + +08008650 : + 8008650: b51f push {r0, r1, r2, r3, r4, lr} + 8008652: eeb0 7b40 vmov.f64 d7, d0 + 8008656: ee17 3a90 vmov r3, s15 + 800865a: 4a19 ldr r2, [pc, #100] ; (80086c0 ) + 800865c: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 + 8008660: 4293 cmp r3, r2 + 8008662: dc04 bgt.n 800866e + 8008664: ed9f 1b14 vldr d1, [pc, #80] ; 80086b8 + 8008668: f000 fb56 bl 8008d18 <__kernel_cos> + 800866c: e004 b.n 8008678 + 800866e: 4a15 ldr r2, [pc, #84] ; (80086c4 ) + 8008670: 4293 cmp r3, r2 + 8008672: dd04 ble.n 800867e + 8008674: ee30 0b40 vsub.f64 d0, d0, d0 + 8008678: b005 add sp, #20 + 800867a: f85d fb04 ldr.w pc, [sp], #4 + 800867e: 4668 mov r0, sp + 8008680: f000 f8e2 bl 8008848 <__ieee754_rem_pio2> + 8008684: f000 0003 and.w r0, r0, #3 + 8008688: 2801 cmp r0, #1 + 800868a: ed9d 1b02 vldr d1, [sp, #8] + 800868e: ed9d 0b00 vldr d0, [sp] + 8008692: d007 beq.n 80086a4 + 8008694: 2802 cmp r0, #2 + 8008696: d00a beq.n 80086ae + 8008698: 2800 cmp r0, #0 + 800869a: d0e5 beq.n 8008668 + 800869c: 2001 movs r0, #1 + 800869e: f000 fe43 bl 8009328 <__kernel_sin> + 80086a2: e7e9 b.n 8008678 + 80086a4: f000 fe40 bl 8009328 <__kernel_sin> + 80086a8: eeb1 0b40 vneg.f64 d0, d0 + 80086ac: e7e4 b.n 8008678 + 80086ae: f000 fb33 bl 8008d18 <__kernel_cos> + 80086b2: e7f9 b.n 80086a8 + 80086b4: f3af 8000 nop.w + ... + 80086c0: 3fe921fb .word 0x3fe921fb + 80086c4: 7fefffff .word 0x7fefffff + +080086c8 : + 80086c8: b51f push {r0, r1, r2, r3, r4, lr} + 80086ca: eeb0 7b40 vmov.f64 d7, d0 + 80086ce: ee17 3a90 vmov r3, s15 + 80086d2: 4a19 ldr r2, [pc, #100] ; (8008738 ) + 80086d4: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 + 80086d8: 4293 cmp r3, r2 + 80086da: dc05 bgt.n 80086e8 + 80086dc: ed9f 1b14 vldr d1, [pc, #80] ; 8008730 + 80086e0: 2000 movs r0, #0 + 80086e2: f000 fe21 bl 8009328 <__kernel_sin> + 80086e6: e004 b.n 80086f2 + 80086e8: 4a14 ldr r2, [pc, #80] ; (800873c ) + 80086ea: 4293 cmp r3, r2 + 80086ec: dd04 ble.n 80086f8 + 80086ee: ee30 0b40 vsub.f64 d0, d0, d0 + 80086f2: b005 add sp, #20 + 80086f4: f85d fb04 ldr.w pc, [sp], #4 + 80086f8: 4668 mov r0, sp + 80086fa: f000 f8a5 bl 8008848 <__ieee754_rem_pio2> + 80086fe: f000 0003 and.w r0, r0, #3 + 8008702: 2801 cmp r0, #1 + 8008704: ed9d 1b02 vldr d1, [sp, #8] + 8008708: ed9d 0b00 vldr d0, [sp] + 800870c: d004 beq.n 8008718 + 800870e: 2802 cmp r0, #2 + 8008710: d005 beq.n 800871e + 8008712: b950 cbnz r0, 800872a + 8008714: 2001 movs r0, #1 + 8008716: e7e4 b.n 80086e2 + 8008718: f000 fafe bl 8008d18 <__kernel_cos> + 800871c: e7e9 b.n 80086f2 + 800871e: 2001 movs r0, #1 + 8008720: f000 fe02 bl 8009328 <__kernel_sin> + 8008724: eeb1 0b40 vneg.f64 d0, d0 + 8008728: e7e3 b.n 80086f2 + 800872a: f000 faf5 bl 8008d18 <__kernel_cos> + 800872e: e7f9 b.n 8008724 + ... + 8008738: 3fe921fb .word 0x3fe921fb + 800873c: 7fefffff .word 0x7fefffff + +08008740 : + 8008740: ee10 3a10 vmov r3, s0 + 8008744: b507 push {r0, r1, r2, lr} + 8008746: 4a1c ldr r2, [pc, #112] ; (80087b8 ) + 8008748: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 + 800874c: 4293 cmp r3, r2 + 800874e: dc04 bgt.n 800875a + 8008750: eddf 0a1a vldr s1, [pc, #104] ; 80087bc + 8008754: f000 fe40 bl 80093d8 <__kernel_cosf> + 8008758: e004 b.n 8008764 + 800875a: f1b3 4fff cmp.w r3, #2139095040 ; 0x7f800000 + 800875e: db04 blt.n 800876a + 8008760: ee30 0a40 vsub.f32 s0, s0, s0 + 8008764: b003 add sp, #12 + 8008766: f85d fb04 ldr.w pc, [sp], #4 + 800876a: 4668 mov r0, sp + 800876c: f000 f9a8 bl 8008ac0 <__ieee754_rem_pio2f> + 8008770: f000 0003 and.w r0, r0, #3 + 8008774: 2801 cmp r0, #1 + 8008776: d007 beq.n 8008788 + 8008778: 2802 cmp r0, #2 + 800877a: d00e beq.n 800879a + 800877c: b9a0 cbnz r0, 80087a8 + 800877e: eddd 0a01 vldr s1, [sp, #4] + 8008782: ed9d 0a00 vldr s0, [sp] + 8008786: e7e5 b.n 8008754 + 8008788: eddd 0a01 vldr s1, [sp, #4] + 800878c: ed9d 0a00 vldr s0, [sp] + 8008790: f001 f902 bl 8009998 <__kernel_sinf> + 8008794: eeb1 0a40 vneg.f32 s0, s0 + 8008798: e7e4 b.n 8008764 + 800879a: eddd 0a01 vldr s1, [sp, #4] + 800879e: ed9d 0a00 vldr s0, [sp] + 80087a2: f000 fe19 bl 80093d8 <__kernel_cosf> + 80087a6: e7f5 b.n 8008794 + 80087a8: 2001 movs r0, #1 + 80087aa: eddd 0a01 vldr s1, [sp, #4] + 80087ae: ed9d 0a00 vldr s0, [sp] + 80087b2: f001 f8f1 bl 8009998 <__kernel_sinf> + 80087b6: e7d5 b.n 8008764 + 80087b8: 3f490fd8 .word 0x3f490fd8 + 80087bc: 00000000 .word 0x00000000 + +080087c0 : + 80087c0: ee10 3a10 vmov r3, s0 + 80087c4: b507 push {r0, r1, r2, lr} + 80087c6: 4a1d ldr r2, [pc, #116] ; (800883c ) + 80087c8: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 + 80087cc: 4293 cmp r3, r2 + 80087ce: dc05 bgt.n 80087dc + 80087d0: eddf 0a1b vldr s1, [pc, #108] ; 8008840 + 80087d4: 2000 movs r0, #0 + 80087d6: f001 f8df bl 8009998 <__kernel_sinf> + 80087da: e004 b.n 80087e6 + 80087dc: f1b3 4fff cmp.w r3, #2139095040 ; 0x7f800000 + 80087e0: db04 blt.n 80087ec + 80087e2: ee30 0a40 vsub.f32 s0, s0, s0 + 80087e6: b003 add sp, #12 + 80087e8: f85d fb04 ldr.w pc, [sp], #4 + 80087ec: 4668 mov r0, sp + 80087ee: f000 f967 bl 8008ac0 <__ieee754_rem_pio2f> + 80087f2: f000 0003 and.w r0, r0, #3 + 80087f6: 2801 cmp r0, #1 + 80087f8: d008 beq.n 800880c + 80087fa: 2802 cmp r0, #2 + 80087fc: d00d beq.n 800881a + 80087fe: b9b0 cbnz r0, 800882e + 8008800: 2001 movs r0, #1 + 8008802: eddd 0a01 vldr s1, [sp, #4] + 8008806: ed9d 0a00 vldr s0, [sp] + 800880a: e7e4 b.n 80087d6 + 800880c: eddd 0a01 vldr s1, [sp, #4] + 8008810: ed9d 0a00 vldr s0, [sp] + 8008814: f000 fde0 bl 80093d8 <__kernel_cosf> + 8008818: e7e5 b.n 80087e6 + 800881a: 2001 movs r0, #1 + 800881c: eddd 0a01 vldr s1, [sp, #4] + 8008820: ed9d 0a00 vldr s0, [sp] + 8008824: f001 f8b8 bl 8009998 <__kernel_sinf> + 8008828: eeb1 0a40 vneg.f32 s0, s0 + 800882c: e7db b.n 80087e6 + 800882e: eddd 0a01 vldr s1, [sp, #4] + 8008832: ed9d 0a00 vldr s0, [sp] + 8008836: f000 fdcf bl 80093d8 <__kernel_cosf> + 800883a: e7f5 b.n 8008828 + 800883c: 3f490fd8 .word 0x3f490fd8 + ... + +08008848 <__ieee754_rem_pio2>: + 8008848: b570 push {r4, r5, r6, lr} + 800884a: eeb0 7b40 vmov.f64 d7, d0 + 800884e: ee17 5a90 vmov r5, s15 + 8008852: 4b95 ldr r3, [pc, #596] ; (8008aa8 <__ieee754_rem_pio2+0x260>) + 8008854: f025 4600 bic.w r6, r5, #2147483648 ; 0x80000000 + 8008858: 429e cmp r6, r3 + 800885a: b088 sub sp, #32 + 800885c: 4604 mov r4, r0 + 800885e: dc07 bgt.n 8008870 <__ieee754_rem_pio2+0x28> + 8008860: 2200 movs r2, #0 + 8008862: 2300 movs r3, #0 + 8008864: ed84 0b00 vstr d0, [r4] + 8008868: e9c0 2302 strd r2, r3, [r0, #8] + 800886c: 2000 movs r0, #0 + 800886e: e01b b.n 80088a8 <__ieee754_rem_pio2+0x60> + 8008870: 4b8e ldr r3, [pc, #568] ; (8008aac <__ieee754_rem_pio2+0x264>) + 8008872: 429e cmp r6, r3 + 8008874: dc3b bgt.n 80088ee <__ieee754_rem_pio2+0xa6> + 8008876: f5a3 231b sub.w r3, r3, #634880 ; 0x9b000 + 800887a: 2d00 cmp r5, #0 + 800887c: ed9f 6b7a vldr d6, [pc, #488] ; 8008a68 <__ieee754_rem_pio2+0x220> + 8008880: f5a3 63f0 sub.w r3, r3, #1920 ; 0x780 + 8008884: dd19 ble.n 80088ba <__ieee754_rem_pio2+0x72> + 8008886: ee30 7b46 vsub.f64 d7, d0, d6 + 800888a: 429e cmp r6, r3 + 800888c: d00e beq.n 80088ac <__ieee754_rem_pio2+0x64> + 800888e: ed9f 6b78 vldr d6, [pc, #480] ; 8008a70 <__ieee754_rem_pio2+0x228> + 8008892: ee37 5b46 vsub.f64 d5, d7, d6 + 8008896: ee37 7b45 vsub.f64 d7, d7, d5 + 800889a: ed84 5b00 vstr d5, [r4] + 800889e: ee37 7b46 vsub.f64 d7, d7, d6 + 80088a2: ed84 7b02 vstr d7, [r4, #8] + 80088a6: 2001 movs r0, #1 + 80088a8: b008 add sp, #32 + 80088aa: bd70 pop {r4, r5, r6, pc} + 80088ac: ed9f 6b72 vldr d6, [pc, #456] ; 8008a78 <__ieee754_rem_pio2+0x230> + 80088b0: ee37 7b46 vsub.f64 d7, d7, d6 + 80088b4: ed9f 6b72 vldr d6, [pc, #456] ; 8008a80 <__ieee754_rem_pio2+0x238> + 80088b8: e7eb b.n 8008892 <__ieee754_rem_pio2+0x4a> + 80088ba: 429e cmp r6, r3 + 80088bc: ee30 7b06 vadd.f64 d7, d0, d6 + 80088c0: d00e beq.n 80088e0 <__ieee754_rem_pio2+0x98> + 80088c2: ed9f 6b6b vldr d6, [pc, #428] ; 8008a70 <__ieee754_rem_pio2+0x228> + 80088c6: ee37 5b06 vadd.f64 d5, d7, d6 + 80088ca: ee37 7b45 vsub.f64 d7, d7, d5 + 80088ce: ed84 5b00 vstr d5, [r4] + 80088d2: ee37 7b06 vadd.f64 d7, d7, d6 + 80088d6: f04f 30ff mov.w r0, #4294967295 ; 0xffffffff + 80088da: ed84 7b02 vstr d7, [r4, #8] + 80088de: e7e3 b.n 80088a8 <__ieee754_rem_pio2+0x60> + 80088e0: ed9f 6b65 vldr d6, [pc, #404] ; 8008a78 <__ieee754_rem_pio2+0x230> + 80088e4: ee37 7b06 vadd.f64 d7, d7, d6 + 80088e8: ed9f 6b65 vldr d6, [pc, #404] ; 8008a80 <__ieee754_rem_pio2+0x238> + 80088ec: e7eb b.n 80088c6 <__ieee754_rem_pio2+0x7e> + 80088ee: 4b70 ldr r3, [pc, #448] ; (8008ab0 <__ieee754_rem_pio2+0x268>) + 80088f0: 429e cmp r6, r3 + 80088f2: dc6c bgt.n 80089ce <__ieee754_rem_pio2+0x186> + 80088f4: f001 f898 bl 8009a28 + 80088f8: eeb6 7b00 vmov.f64 d7, #96 ; 0x3f000000 0.5 + 80088fc: ed9f 6b62 vldr d6, [pc, #392] ; 8008a88 <__ieee754_rem_pio2+0x240> + 8008900: eea0 7b06 vfma.f64 d7, d0, d6 + 8008904: eefd 7bc7 vcvt.s32.f64 s15, d7 + 8008908: eeb8 4be7 vcvt.f64.s32 d4, s15 + 800890c: ee17 0a90 vmov r0, s15 + 8008910: eeb1 5b44 vneg.f64 d5, d4 + 8008914: ed9f 7b54 vldr d7, [pc, #336] ; 8008a68 <__ieee754_rem_pio2+0x220> + 8008918: eea5 0b07 vfma.f64 d0, d5, d7 + 800891c: ed9f 7b54 vldr d7, [pc, #336] ; 8008a70 <__ieee754_rem_pio2+0x228> + 8008920: 281f cmp r0, #31 + 8008922: ee24 7b07 vmul.f64 d7, d4, d7 + 8008926: ee30 6b47 vsub.f64 d6, d0, d7 + 800892a: dc08 bgt.n 800893e <__ieee754_rem_pio2+0xf6> + 800892c: 1e42 subs r2, r0, #1 + 800892e: 4b61 ldr r3, [pc, #388] ; (8008ab4 <__ieee754_rem_pio2+0x26c>) + 8008930: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 8008934: 42b3 cmp r3, r6 + 8008936: d002 beq.n 800893e <__ieee754_rem_pio2+0xf6> + 8008938: ed84 6b00 vstr d6, [r4] + 800893c: e022 b.n 8008984 <__ieee754_rem_pio2+0x13c> + 800893e: ee16 3a90 vmov r3, s13 + 8008942: 1536 asrs r6, r6, #20 + 8008944: f3c3 530a ubfx r3, r3, #20, #11 + 8008948: 1af3 subs r3, r6, r3 + 800894a: 2b10 cmp r3, #16 + 800894c: ddf4 ble.n 8008938 <__ieee754_rem_pio2+0xf0> + 800894e: eeb0 6b40 vmov.f64 d6, d0 + 8008952: ed9f 3b49 vldr d3, [pc, #292] ; 8008a78 <__ieee754_rem_pio2+0x230> + 8008956: eea5 6b03 vfma.f64 d6, d5, d3 + 800895a: ee30 7b46 vsub.f64 d7, d0, d6 + 800895e: eea5 7b03 vfma.f64 d7, d5, d3 + 8008962: ed9f 3b47 vldr d3, [pc, #284] ; 8008a80 <__ieee754_rem_pio2+0x238> + 8008966: ee94 7b03 vfnms.f64 d7, d4, d3 + 800896a: ee36 3b47 vsub.f64 d3, d6, d7 + 800896e: ee13 3a90 vmov r3, s7 + 8008972: f3c3 530a ubfx r3, r3, #20, #11 + 8008976: 1af6 subs r6, r6, r3 + 8008978: 2e31 cmp r6, #49 ; 0x31 + 800897a: dc17 bgt.n 80089ac <__ieee754_rem_pio2+0x164> + 800897c: eeb0 0b46 vmov.f64 d0, d6 + 8008980: ed84 3b00 vstr d3, [r4] + 8008984: ed94 6b00 vldr d6, [r4] + 8008988: 2d00 cmp r5, #0 + 800898a: ee30 0b46 vsub.f64 d0, d0, d6 + 800898e: ee30 7b47 vsub.f64 d7, d0, d7 + 8008992: ed84 7b02 vstr d7, [r4, #8] + 8008996: da87 bge.n 80088a8 <__ieee754_rem_pio2+0x60> + 8008998: eeb1 6b46 vneg.f64 d6, d6 + 800899c: ed84 6b00 vstr d6, [r4] + 80089a0: eeb1 7b47 vneg.f64 d7, d7 + 80089a4: 4240 negs r0, r0 + 80089a6: ed84 7b02 vstr d7, [r4, #8] + 80089aa: e77d b.n 80088a8 <__ieee754_rem_pio2+0x60> + 80089ac: ed9f 3b38 vldr d3, [pc, #224] ; 8008a90 <__ieee754_rem_pio2+0x248> + 80089b0: eeb0 0b46 vmov.f64 d0, d6 + 80089b4: eea5 0b03 vfma.f64 d0, d5, d3 + 80089b8: ee36 7b40 vsub.f64 d7, d6, d0 + 80089bc: ed9f 6b36 vldr d6, [pc, #216] ; 8008a98 <__ieee754_rem_pio2+0x250> + 80089c0: eea5 7b03 vfma.f64 d7, d5, d3 + 80089c4: ee94 7b06 vfnms.f64 d7, d4, d6 + 80089c8: ee30 6b47 vsub.f64 d6, d0, d7 + 80089cc: e7b4 b.n 8008938 <__ieee754_rem_pio2+0xf0> + 80089ce: 4b3a ldr r3, [pc, #232] ; (8008ab8 <__ieee754_rem_pio2+0x270>) + 80089d0: 429e cmp r6, r3 + 80089d2: dd06 ble.n 80089e2 <__ieee754_rem_pio2+0x19a> + 80089d4: ee30 7b40 vsub.f64 d7, d0, d0 + 80089d8: ed80 7b02 vstr d7, [r0, #8] + 80089dc: ed80 7b00 vstr d7, [r0] + 80089e0: e744 b.n 800886c <__ieee754_rem_pio2+0x24> + 80089e2: 1532 asrs r2, r6, #20 + 80089e4: f2a2 4216 subw r2, r2, #1046 ; 0x416 + 80089e8: ee10 0a10 vmov r0, s0 + 80089ec: eba6 5102 sub.w r1, r6, r2, lsl #20 + 80089f0: ec41 0b17 vmov d7, r0, r1 + 80089f4: eebd 6bc7 vcvt.s32.f64 s12, d7 + 80089f8: ed9f 5b29 vldr d5, [pc, #164] ; 8008aa0 <__ieee754_rem_pio2+0x258> + 80089fc: eeb8 6bc6 vcvt.f64.s32 d6, s12 + 8008a00: ee37 7b46 vsub.f64 d7, d7, d6 + 8008a04: ed8d 6b02 vstr d6, [sp, #8] + 8008a08: ee27 7b05 vmul.f64 d7, d7, d5 + 8008a0c: eebd 6bc7 vcvt.s32.f64 s12, d7 + 8008a10: a908 add r1, sp, #32 + 8008a12: eeb8 6bc6 vcvt.f64.s32 d6, s12 + 8008a16: ee37 7b46 vsub.f64 d7, d7, d6 + 8008a1a: ed8d 6b04 vstr d6, [sp, #16] + 8008a1e: ee27 7b05 vmul.f64 d7, d7, d5 + 8008a22: ed8d 7b06 vstr d7, [sp, #24] + 8008a26: 2303 movs r3, #3 + 8008a28: ed31 7b02 vldmdb r1!, {d7} + 8008a2c: eeb5 7b40 vcmp.f64 d7, #0.0 + 8008a30: eef1 fa10 vmrs APSR_nzcv, fpscr + 8008a34: f103 30ff add.w r0, r3, #4294967295 ; 0xffffffff + 8008a38: d013 beq.n 8008a62 <__ieee754_rem_pio2+0x21a> + 8008a3a: 4920 ldr r1, [pc, #128] ; (8008abc <__ieee754_rem_pio2+0x274>) + 8008a3c: 9101 str r1, [sp, #4] + 8008a3e: 2102 movs r1, #2 + 8008a40: 9100 str r1, [sp, #0] + 8008a42: a802 add r0, sp, #8 + 8008a44: 4621 mov r1, r4 + 8008a46: f000 f9d3 bl 8008df0 <__kernel_rem_pio2> + 8008a4a: 2d00 cmp r5, #0 + 8008a4c: f6bf af2c bge.w 80088a8 <__ieee754_rem_pio2+0x60> + 8008a50: ed94 7b00 vldr d7, [r4] + 8008a54: eeb1 7b47 vneg.f64 d7, d7 + 8008a58: ed84 7b00 vstr d7, [r4] + 8008a5c: ed94 7b02 vldr d7, [r4, #8] + 8008a60: e79e b.n 80089a0 <__ieee754_rem_pio2+0x158> + 8008a62: 4603 mov r3, r0 + 8008a64: e7e0 b.n 8008a28 <__ieee754_rem_pio2+0x1e0> + 8008a66: bf00 nop + 8008a68: 54400000 .word 0x54400000 + 8008a6c: 3ff921fb .word 0x3ff921fb + 8008a70: 1a626331 .word 0x1a626331 + 8008a74: 3dd0b461 .word 0x3dd0b461 + 8008a78: 1a600000 .word 0x1a600000 + 8008a7c: 3dd0b461 .word 0x3dd0b461 + 8008a80: 2e037073 .word 0x2e037073 + 8008a84: 3ba3198a .word 0x3ba3198a + 8008a88: 6dc9c883 .word 0x6dc9c883 + 8008a8c: 3fe45f30 .word 0x3fe45f30 + 8008a90: 2e000000 .word 0x2e000000 + 8008a94: 3ba3198a .word 0x3ba3198a + 8008a98: 252049c1 .word 0x252049c1 + 8008a9c: 397b839a .word 0x397b839a + 8008aa0: 00000000 .word 0x00000000 + 8008aa4: 41700000 .word 0x41700000 + 8008aa8: 3fe921fb .word 0x3fe921fb + 8008aac: 4002d97b .word 0x4002d97b + 8008ab0: 413921fb .word 0x413921fb + 8008ab4: 0800a5e0 .word 0x0800a5e0 + 8008ab8: 7fefffff .word 0x7fefffff + 8008abc: 0800a660 .word 0x0800a660 + +08008ac0 <__ieee754_rem_pio2f>: + 8008ac0: b5f0 push {r4, r5, r6, r7, lr} + 8008ac2: ee10 6a10 vmov r6, s0 + 8008ac6: 4b86 ldr r3, [pc, #536] ; (8008ce0 <__ieee754_rem_pio2f+0x220>) + 8008ac8: f026 4400 bic.w r4, r6, #2147483648 ; 0x80000000 + 8008acc: 429c cmp r4, r3 + 8008ace: b087 sub sp, #28 + 8008ad0: 4605 mov r5, r0 + 8008ad2: dc05 bgt.n 8008ae0 <__ieee754_rem_pio2f+0x20> + 8008ad4: 2300 movs r3, #0 + 8008ad6: ed85 0a00 vstr s0, [r5] + 8008ada: 6043 str r3, [r0, #4] + 8008adc: 2000 movs r0, #0 + 8008ade: e020 b.n 8008b22 <__ieee754_rem_pio2f+0x62> + 8008ae0: 4b80 ldr r3, [pc, #512] ; (8008ce4 <__ieee754_rem_pio2f+0x224>) + 8008ae2: 429c cmp r4, r3 + 8008ae4: dc38 bgt.n 8008b58 <__ieee754_rem_pio2f+0x98> + 8008ae6: 2e00 cmp r6, #0 + 8008ae8: f024 040f bic.w r4, r4, #15 + 8008aec: ed9f 7a7e vldr s14, [pc, #504] ; 8008ce8 <__ieee754_rem_pio2f+0x228> + 8008af0: 4b7e ldr r3, [pc, #504] ; (8008cec <__ieee754_rem_pio2f+0x22c>) + 8008af2: dd18 ble.n 8008b26 <__ieee754_rem_pio2f+0x66> + 8008af4: 429c cmp r4, r3 + 8008af6: ee70 7a47 vsub.f32 s15, s0, s14 + 8008afa: bf09 itett eq + 8008afc: ed9f 7a7c vldreq s14, [pc, #496] ; 8008cf0 <__ieee754_rem_pio2f+0x230> + 8008b00: ed9f 7a7c vldrne s14, [pc, #496] ; 8008cf4 <__ieee754_rem_pio2f+0x234> + 8008b04: ee77 7ac7 vsubeq.f32 s15, s15, s14 + 8008b08: ed9f 7a7b vldreq s14, [pc, #492] ; 8008cf8 <__ieee754_rem_pio2f+0x238> + 8008b0c: ee77 6ac7 vsub.f32 s13, s15, s14 + 8008b10: ee77 7ae6 vsub.f32 s15, s15, s13 + 8008b14: edc0 6a00 vstr s13, [r0] + 8008b18: ee77 7ac7 vsub.f32 s15, s15, s14 + 8008b1c: edc0 7a01 vstr s15, [r0, #4] + 8008b20: 2001 movs r0, #1 + 8008b22: b007 add sp, #28 + 8008b24: bdf0 pop {r4, r5, r6, r7, pc} + 8008b26: 429c cmp r4, r3 + 8008b28: ee70 7a07 vadd.f32 s15, s0, s14 + 8008b2c: bf09 itett eq + 8008b2e: ed9f 7a70 vldreq s14, [pc, #448] ; 8008cf0 <__ieee754_rem_pio2f+0x230> + 8008b32: ed9f 7a70 vldrne s14, [pc, #448] ; 8008cf4 <__ieee754_rem_pio2f+0x234> + 8008b36: ee77 7a87 vaddeq.f32 s15, s15, s14 + 8008b3a: ed9f 7a6f vldreq s14, [pc, #444] ; 8008cf8 <__ieee754_rem_pio2f+0x238> + 8008b3e: ee77 6a87 vadd.f32 s13, s15, s14 + 8008b42: ee77 7ae6 vsub.f32 s15, s15, s13 + 8008b46: edc0 6a00 vstr s13, [r0] + 8008b4a: ee77 7a87 vadd.f32 s15, s15, s14 + 8008b4e: edc0 7a01 vstr s15, [r0, #4] + 8008b52: f04f 30ff mov.w r0, #4294967295 ; 0xffffffff + 8008b56: e7e4 b.n 8008b22 <__ieee754_rem_pio2f+0x62> + 8008b58: 4b68 ldr r3, [pc, #416] ; (8008cfc <__ieee754_rem_pio2f+0x23c>) + 8008b5a: 429c cmp r4, r3 + 8008b5c: dc71 bgt.n 8008c42 <__ieee754_rem_pio2f+0x182> + 8008b5e: f001 f865 bl 8009c2c + 8008b62: ed9f 7a67 vldr s14, [pc, #412] ; 8008d00 <__ieee754_rem_pio2f+0x240> + 8008b66: eef6 7a00 vmov.f32 s15, #96 ; 0x3f000000 0.5 + 8008b6a: eee0 7a07 vfma.f32 s15, s0, s14 + 8008b6e: eefd 7ae7 vcvt.s32.f32 s15, s15 + 8008b72: eeb8 6ae7 vcvt.f32.s32 s12, s15 + 8008b76: ee17 0a90 vmov r0, s15 + 8008b7a: eddf 7a5b vldr s15, [pc, #364] ; 8008ce8 <__ieee754_rem_pio2f+0x228> + 8008b7e: eeb1 7a46 vneg.f32 s14, s12 + 8008b82: eea7 0a27 vfma.f32 s0, s14, s15 + 8008b86: 281f cmp r0, #31 + 8008b88: eddf 7a5a vldr s15, [pc, #360] ; 8008cf4 <__ieee754_rem_pio2f+0x234> + 8008b8c: ee66 7a27 vmul.f32 s15, s12, s15 + 8008b90: ee70 6a67 vsub.f32 s13, s0, s15 + 8008b94: ee16 3a90 vmov r3, s13 + 8008b98: dc1c bgt.n 8008bd4 <__ieee754_rem_pio2f+0x114> + 8008b9a: 1e47 subs r7, r0, #1 + 8008b9c: 4959 ldr r1, [pc, #356] ; (8008d04 <__ieee754_rem_pio2f+0x244>) + 8008b9e: f851 1027 ldr.w r1, [r1, r7, lsl #2] + 8008ba2: f024 02ff bic.w r2, r4, #255 ; 0xff + 8008ba6: 428a cmp r2, r1 + 8008ba8: d014 beq.n 8008bd4 <__ieee754_rem_pio2f+0x114> + 8008baa: 602b str r3, [r5, #0] + 8008bac: ed95 7a00 vldr s14, [r5] + 8008bb0: ee30 0a47 vsub.f32 s0, s0, s14 + 8008bb4: 2e00 cmp r6, #0 + 8008bb6: ee30 0a67 vsub.f32 s0, s0, s15 + 8008bba: ed85 0a01 vstr s0, [r5, #4] + 8008bbe: dab0 bge.n 8008b22 <__ieee754_rem_pio2f+0x62> + 8008bc0: eeb1 7a47 vneg.f32 s14, s14 + 8008bc4: eeb1 0a40 vneg.f32 s0, s0 + 8008bc8: ed85 7a00 vstr s14, [r5] + 8008bcc: ed85 0a01 vstr s0, [r5, #4] + 8008bd0: 4240 negs r0, r0 + 8008bd2: e7a6 b.n 8008b22 <__ieee754_rem_pio2f+0x62> + 8008bd4: 15e4 asrs r4, r4, #23 + 8008bd6: f3c3 52c7 ubfx r2, r3, #23, #8 + 8008bda: 1aa2 subs r2, r4, r2 + 8008bdc: 2a08 cmp r2, #8 + 8008bde: dde4 ble.n 8008baa <__ieee754_rem_pio2f+0xea> + 8008be0: eddf 7a43 vldr s15, [pc, #268] ; 8008cf0 <__ieee754_rem_pio2f+0x230> + 8008be4: eef0 6a40 vmov.f32 s13, s0 + 8008be8: eee7 6a27 vfma.f32 s13, s14, s15 + 8008bec: ee30 0a66 vsub.f32 s0, s0, s13 + 8008bf0: eea7 0a27 vfma.f32 s0, s14, s15 + 8008bf4: eddf 7a40 vldr s15, [pc, #256] ; 8008cf8 <__ieee754_rem_pio2f+0x238> + 8008bf8: ee96 0a27 vfnms.f32 s0, s12, s15 + 8008bfc: ee76 5ac0 vsub.f32 s11, s13, s0 + 8008c00: eef0 7a40 vmov.f32 s15, s0 + 8008c04: ee15 3a90 vmov r3, s11 + 8008c08: f3c3 52c7 ubfx r2, r3, #23, #8 + 8008c0c: 1aa4 subs r4, r4, r2 + 8008c0e: 2c19 cmp r4, #25 + 8008c10: dc04 bgt.n 8008c1c <__ieee754_rem_pio2f+0x15c> + 8008c12: edc5 5a00 vstr s11, [r5] + 8008c16: eeb0 0a66 vmov.f32 s0, s13 + 8008c1a: e7c7 b.n 8008bac <__ieee754_rem_pio2f+0xec> + 8008c1c: eddf 5a3a vldr s11, [pc, #232] ; 8008d08 <__ieee754_rem_pio2f+0x248> + 8008c20: eeb0 0a66 vmov.f32 s0, s13 + 8008c24: eea7 0a25 vfma.f32 s0, s14, s11 + 8008c28: ee76 7ac0 vsub.f32 s15, s13, s0 + 8008c2c: eee7 7a25 vfma.f32 s15, s14, s11 + 8008c30: ed9f 7a36 vldr s14, [pc, #216] ; 8008d0c <__ieee754_rem_pio2f+0x24c> + 8008c34: eed6 7a07 vfnms.f32 s15, s12, s14 + 8008c38: ee30 7a67 vsub.f32 s14, s0, s15 + 8008c3c: ed85 7a00 vstr s14, [r5] + 8008c40: e7b4 b.n 8008bac <__ieee754_rem_pio2f+0xec> + 8008c42: f1b4 4fff cmp.w r4, #2139095040 ; 0x7f800000 + 8008c46: db06 blt.n 8008c56 <__ieee754_rem_pio2f+0x196> + 8008c48: ee70 7a40 vsub.f32 s15, s0, s0 + 8008c4c: edc0 7a01 vstr s15, [r0, #4] + 8008c50: edc0 7a00 vstr s15, [r0] + 8008c54: e742 b.n 8008adc <__ieee754_rem_pio2f+0x1c> + 8008c56: 15e2 asrs r2, r4, #23 + 8008c58: 3a86 subs r2, #134 ; 0x86 + 8008c5a: eba4 53c2 sub.w r3, r4, r2, lsl #23 + 8008c5e: ee07 3a90 vmov s15, r3 + 8008c62: eebd 7ae7 vcvt.s32.f32 s14, s15 + 8008c66: eddf 6a2a vldr s13, [pc, #168] ; 8008d10 <__ieee754_rem_pio2f+0x250> + 8008c6a: eeb8 7ac7 vcvt.f32.s32 s14, s14 + 8008c6e: ee77 7ac7 vsub.f32 s15, s15, s14 + 8008c72: ed8d 7a03 vstr s14, [sp, #12] + 8008c76: ee67 7aa6 vmul.f32 s15, s15, s13 + 8008c7a: eebd 7ae7 vcvt.s32.f32 s14, s15 + 8008c7e: eeb8 7ac7 vcvt.f32.s32 s14, s14 + 8008c82: ee77 7ac7 vsub.f32 s15, s15, s14 + 8008c86: ed8d 7a04 vstr s14, [sp, #16] + 8008c8a: ee67 7aa6 vmul.f32 s15, s15, s13 + 8008c8e: eef5 7a40 vcmp.f32 s15, #0.0 + 8008c92: eef1 fa10 vmrs APSR_nzcv, fpscr + 8008c96: edcd 7a05 vstr s15, [sp, #20] + 8008c9a: d11e bne.n 8008cda <__ieee754_rem_pio2f+0x21a> + 8008c9c: eeb5 7a40 vcmp.f32 s14, #0.0 + 8008ca0: eef1 fa10 vmrs APSR_nzcv, fpscr + 8008ca4: bf0c ite eq + 8008ca6: 2301 moveq r3, #1 + 8008ca8: 2302 movne r3, #2 + 8008caa: 491a ldr r1, [pc, #104] ; (8008d14 <__ieee754_rem_pio2f+0x254>) + 8008cac: 9101 str r1, [sp, #4] + 8008cae: 2102 movs r1, #2 + 8008cb0: 9100 str r1, [sp, #0] + 8008cb2: a803 add r0, sp, #12 + 8008cb4: 4629 mov r1, r5 + 8008cb6: f000 fbed bl 8009494 <__kernel_rem_pio2f> + 8008cba: 2e00 cmp r6, #0 + 8008cbc: f6bf af31 bge.w 8008b22 <__ieee754_rem_pio2f+0x62> + 8008cc0: edd5 7a00 vldr s15, [r5] + 8008cc4: eef1 7a67 vneg.f32 s15, s15 + 8008cc8: edc5 7a00 vstr s15, [r5] + 8008ccc: edd5 7a01 vldr s15, [r5, #4] + 8008cd0: eef1 7a67 vneg.f32 s15, s15 + 8008cd4: edc5 7a01 vstr s15, [r5, #4] + 8008cd8: e77a b.n 8008bd0 <__ieee754_rem_pio2f+0x110> + 8008cda: 2303 movs r3, #3 + 8008cdc: e7e5 b.n 8008caa <__ieee754_rem_pio2f+0x1ea> + 8008cde: bf00 nop + 8008ce0: 3f490fd8 .word 0x3f490fd8 + 8008ce4: 4016cbe3 .word 0x4016cbe3 + 8008ce8: 3fc90f80 .word 0x3fc90f80 + 8008cec: 3fc90fd0 .word 0x3fc90fd0 + 8008cf0: 37354400 .word 0x37354400 + 8008cf4: 37354443 .word 0x37354443 + 8008cf8: 2e85a308 .word 0x2e85a308 + 8008cfc: 43490f80 .word 0x43490f80 + 8008d00: 3f22f984 .word 0x3f22f984 + 8008d04: 0800a768 .word 0x0800a768 + 8008d08: 2e85a300 .word 0x2e85a300 + 8008d0c: 248d3132 .word 0x248d3132 + 8008d10: 43800000 .word 0x43800000 + 8008d14: 0800a7e8 .word 0x0800a7e8 + +08008d18 <__kernel_cos>: + 8008d18: ee10 1a90 vmov r1, s1 + 8008d1c: eeb7 7b00 vmov.f64 d7, #112 ; 0x3f800000 1.0 + 8008d20: f021 4100 bic.w r1, r1, #2147483648 ; 0x80000000 + 8008d24: f1b1 5f79 cmp.w r1, #1044381696 ; 0x3e400000 + 8008d28: da05 bge.n 8008d36 <__kernel_cos+0x1e> + 8008d2a: eefd 6bc0 vcvt.s32.f64 s13, d0 + 8008d2e: ee16 3a90 vmov r3, s13 + 8008d32: 2b00 cmp r3, #0 + 8008d34: d03d beq.n 8008db2 <__kernel_cos+0x9a> + 8008d36: ee20 4b00 vmul.f64 d4, d0, d0 + 8008d3a: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 + 8008d3e: ed9f 3b1e vldr d3, [pc, #120] ; 8008db8 <__kernel_cos+0xa0> + 8008d42: ee21 1b40 vnmul.f64 d1, d1, d0 + 8008d46: ee24 6b06 vmul.f64 d6, d4, d6 + 8008d4a: ed9f 5b1d vldr d5, [pc, #116] ; 8008dc0 <__kernel_cos+0xa8> + 8008d4e: eea4 5b03 vfma.f64 d5, d4, d3 + 8008d52: ed9f 3b1d vldr d3, [pc, #116] ; 8008dc8 <__kernel_cos+0xb0> + 8008d56: eea5 3b04 vfma.f64 d3, d5, d4 + 8008d5a: ed9f 5b1d vldr d5, [pc, #116] ; 8008dd0 <__kernel_cos+0xb8> + 8008d5e: eea3 5b04 vfma.f64 d5, d3, d4 + 8008d62: ed9f 3b1d vldr d3, [pc, #116] ; 8008dd8 <__kernel_cos+0xc0> + 8008d66: 4b20 ldr r3, [pc, #128] ; (8008de8 <__kernel_cos+0xd0>) + 8008d68: eea5 3b04 vfma.f64 d3, d5, d4 + 8008d6c: ed9f 5b1c vldr d5, [pc, #112] ; 8008de0 <__kernel_cos+0xc8> + 8008d70: 4299 cmp r1, r3 + 8008d72: eea3 5b04 vfma.f64 d5, d3, d4 + 8008d76: ee25 5b04 vmul.f64 d5, d5, d4 + 8008d7a: eea4 1b05 vfma.f64 d1, d4, d5 + 8008d7e: dc04 bgt.n 8008d8a <__kernel_cos+0x72> + 8008d80: ee36 6b41 vsub.f64 d6, d6, d1 + 8008d84: ee37 0b46 vsub.f64 d0, d7, d6 + 8008d88: 4770 bx lr + 8008d8a: 4b18 ldr r3, [pc, #96] ; (8008dec <__kernel_cos+0xd4>) + 8008d8c: 4299 cmp r1, r3 + 8008d8e: dc0d bgt.n 8008dac <__kernel_cos+0x94> + 8008d90: 2200 movs r2, #0 + 8008d92: f5a1 1300 sub.w r3, r1, #2097152 ; 0x200000 + 8008d96: ec43 2b15 vmov d5, r2, r3 + 8008d9a: ee37 0b45 vsub.f64 d0, d7, d5 + 8008d9e: ee36 6b45 vsub.f64 d6, d6, d5 + 8008da2: ee36 6b41 vsub.f64 d6, d6, d1 + 8008da6: ee30 0b46 vsub.f64 d0, d0, d6 + 8008daa: 4770 bx lr + 8008dac: eeb5 5b02 vmov.f64 d5, #82 ; 0x3e900000 0.2812500 + 8008db0: e7f3 b.n 8008d9a <__kernel_cos+0x82> + 8008db2: eeb0 0b47 vmov.f64 d0, d7 + 8008db6: 4770 bx lr + 8008db8: be8838d4 .word 0xbe8838d4 + 8008dbc: bda8fae9 .word 0xbda8fae9 + 8008dc0: bdb4b1c4 .word 0xbdb4b1c4 + 8008dc4: 3e21ee9e .word 0x3e21ee9e + 8008dc8: 809c52ad .word 0x809c52ad + 8008dcc: be927e4f .word 0xbe927e4f + 8008dd0: 19cb1590 .word 0x19cb1590 + 8008dd4: 3efa01a0 .word 0x3efa01a0 + 8008dd8: 16c15177 .word 0x16c15177 + 8008ddc: bf56c16c .word 0xbf56c16c + 8008de0: 5555554c .word 0x5555554c + 8008de4: 3fa55555 .word 0x3fa55555 + 8008de8: 3fd33332 .word 0x3fd33332 + 8008dec: 3fe90000 .word 0x3fe90000 + +08008df0 <__kernel_rem_pio2>: + 8008df0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 8008df4: ed2d 8b06 vpush {d8-d10} + 8008df8: f5ad 7d13 sub.w sp, sp, #588 ; 0x24c + 8008dfc: 469b mov fp, r3 + 8008dfe: 460e mov r6, r1 + 8008e00: 4bc7 ldr r3, [pc, #796] ; (8009120 <__kernel_rem_pio2+0x330>) + 8008e02: 99a2 ldr r1, [sp, #648] ; 0x288 + 8008e04: 9002 str r0, [sp, #8] + 8008e06: f853 9021 ldr.w r9, [r3, r1, lsl #2] + 8008e0a: 98a3 ldr r0, [sp, #652] ; 0x28c + 8008e0c: 1ed1 subs r1, r2, #3 + 8008e0e: 2318 movs r3, #24 + 8008e10: f06f 0417 mvn.w r4, #23 + 8008e14: fb91 f1f3 sdiv r1, r1, r3 + 8008e18: ea21 71e1 bic.w r1, r1, r1, asr #31 + 8008e1c: f10b 3aff add.w sl, fp, #4294967295 ; 0xffffffff + 8008e20: fb01 4404 mla r4, r1, r4, r4 + 8008e24: ed9f 6bb8 vldr d6, [pc, #736] ; 8009108 <__kernel_rem_pio2+0x318> + 8008e28: 4414 add r4, r2 + 8008e2a: eba1 050a sub.w r5, r1, sl + 8008e2e: aa1a add r2, sp, #104 ; 0x68 + 8008e30: eb09 070a add.w r7, r9, sl + 8008e34: eb00 0c85 add.w ip, r0, r5, lsl #2 + 8008e38: 4696 mov lr, r2 + 8008e3a: 2300 movs r3, #0 + 8008e3c: 42bb cmp r3, r7 + 8008e3e: dd0f ble.n 8008e60 <__kernel_rem_pio2+0x70> + 8008e40: af6a add r7, sp, #424 ; 0x1a8 + 8008e42: 2200 movs r2, #0 + 8008e44: 454a cmp r2, r9 + 8008e46: dc28 bgt.n 8008e9a <__kernel_rem_pio2+0xaa> + 8008e48: f10d 0c68 add.w ip, sp, #104 ; 0x68 + 8008e4c: eb0b 0302 add.w r3, fp, r2 + 8008e50: eb0c 03c3 add.w r3, ip, r3, lsl #3 + 8008e54: 9d02 ldr r5, [sp, #8] + 8008e56: ed9f 7bac vldr d7, [pc, #688] ; 8009108 <__kernel_rem_pio2+0x318> + 8008e5a: f04f 0c00 mov.w ip, #0 + 8008e5e: e016 b.n 8008e8e <__kernel_rem_pio2+0x9e> + 8008e60: 42dd cmn r5, r3 + 8008e62: d409 bmi.n 8008e78 <__kernel_rem_pio2+0x88> + 8008e64: f85c 2023 ldr.w r2, [ip, r3, lsl #2] + 8008e68: ee07 2a90 vmov s15, r2 + 8008e6c: eeb8 7be7 vcvt.f64.s32 d7, s15 + 8008e70: ecae 7b02 vstmia lr!, {d7} + 8008e74: 3301 adds r3, #1 + 8008e76: e7e1 b.n 8008e3c <__kernel_rem_pio2+0x4c> + 8008e78: eeb0 7b46 vmov.f64 d7, d6 + 8008e7c: e7f8 b.n 8008e70 <__kernel_rem_pio2+0x80> + 8008e7e: ecb5 5b02 vldmia r5!, {d5} + 8008e82: ed33 6b02 vldmdb r3!, {d6} + 8008e86: f10c 0c01 add.w ip, ip, #1 + 8008e8a: eea5 7b06 vfma.f64 d7, d5, d6 + 8008e8e: 45d4 cmp ip, sl + 8008e90: ddf5 ble.n 8008e7e <__kernel_rem_pio2+0x8e> + 8008e92: eca7 7b02 vstmia r7!, {d7} + 8008e96: 3201 adds r2, #1 + 8008e98: e7d4 b.n 8008e44 <__kernel_rem_pio2+0x54> + 8008e9a: ab06 add r3, sp, #24 + 8008e9c: eb03 0389 add.w r3, r3, r9, lsl #2 + 8008ea0: ed9f 9b9b vldr d9, [pc, #620] ; 8009110 <__kernel_rem_pio2+0x320> + 8008ea4: ed9f ab9c vldr d10, [pc, #624] ; 8009118 <__kernel_rem_pio2+0x328> + 8008ea8: 9304 str r3, [sp, #16] + 8008eaa: eb00 0381 add.w r3, r0, r1, lsl #2 + 8008eae: 9303 str r3, [sp, #12] + 8008eb0: 464d mov r5, r9 + 8008eb2: ab92 add r3, sp, #584 ; 0x248 + 8008eb4: f105 5700 add.w r7, r5, #536870912 ; 0x20000000 + 8008eb8: eb03 03c5 add.w r3, r3, r5, lsl #3 + 8008ebc: 3f01 subs r7, #1 + 8008ebe: ed13 0b28 vldr d0, [r3, #-160] ; 0xffffff60 + 8008ec2: 00ff lsls r7, r7, #3 + 8008ec4: ab92 add r3, sp, #584 ; 0x248 + 8008ec6: 19da adds r2, r3, r7 + 8008ec8: 3a98 subs r2, #152 ; 0x98 + 8008eca: 2300 movs r3, #0 + 8008ecc: 1ae9 subs r1, r5, r3 + 8008ece: 2900 cmp r1, #0 + 8008ed0: dc4e bgt.n 8008f70 <__kernel_rem_pio2+0x180> + 8008ed2: 4620 mov r0, r4 + 8008ed4: f000 fe2c bl 8009b30 + 8008ed8: eeb0 8b40 vmov.f64 d8, d0 + 8008edc: eeb4 0b00 vmov.f64 d0, #64 ; 0x3e000000 0.125 + 8008ee0: ee28 0b00 vmul.f64 d0, d8, d0 + 8008ee4: f000 fdac bl 8009a40 + 8008ee8: eeb2 7b00 vmov.f64 d7, #32 ; 0x41000000 8.0 + 8008eec: eea0 8b47 vfms.f64 d8, d0, d7 + 8008ef0: eefd 7bc8 vcvt.s32.f64 s15, d8 + 8008ef4: 2c00 cmp r4, #0 + 8008ef6: edcd 7a01 vstr s15, [sp, #4] + 8008efa: eeb8 7be7 vcvt.f64.s32 d7, s15 + 8008efe: ee38 8b47 vsub.f64 d8, d8, d7 + 8008f02: dd4a ble.n 8008f9a <__kernel_rem_pio2+0x1aa> + 8008f04: 1e69 subs r1, r5, #1 + 8008f06: ab06 add r3, sp, #24 + 8008f08: f1c4 0018 rsb r0, r4, #24 + 8008f0c: f853 c021 ldr.w ip, [r3, r1, lsl #2] + 8008f10: 9a01 ldr r2, [sp, #4] + 8008f12: fa4c f300 asr.w r3, ip, r0 + 8008f16: 441a add r2, r3 + 8008f18: 4083 lsls r3, r0 + 8008f1a: 9201 str r2, [sp, #4] + 8008f1c: ebac 0203 sub.w r2, ip, r3 + 8008f20: ab06 add r3, sp, #24 + 8008f22: f843 2021 str.w r2, [r3, r1, lsl #2] + 8008f26: f1c4 0317 rsb r3, r4, #23 + 8008f2a: fa42 f803 asr.w r8, r2, r3 + 8008f2e: f1b8 0f00 cmp.w r8, #0 + 8008f32: dd43 ble.n 8008fbc <__kernel_rem_pio2+0x1cc> + 8008f34: 9b01 ldr r3, [sp, #4] + 8008f36: 2000 movs r0, #0 + 8008f38: 3301 adds r3, #1 + 8008f3a: 9301 str r3, [sp, #4] + 8008f3c: 4601 mov r1, r0 + 8008f3e: f06f 4c7f mvn.w ip, #4278190080 ; 0xff000000 + 8008f42: 4285 cmp r5, r0 + 8008f44: dc6e bgt.n 8009024 <__kernel_rem_pio2+0x234> + 8008f46: 2c00 cmp r4, #0 + 8008f48: dd04 ble.n 8008f54 <__kernel_rem_pio2+0x164> + 8008f4a: 2c01 cmp r4, #1 + 8008f4c: d07f beq.n 800904e <__kernel_rem_pio2+0x25e> + 8008f4e: 2c02 cmp r4, #2 + 8008f50: f000 8087 beq.w 8009062 <__kernel_rem_pio2+0x272> + 8008f54: f1b8 0f02 cmp.w r8, #2 + 8008f58: d130 bne.n 8008fbc <__kernel_rem_pio2+0x1cc> + 8008f5a: eeb7 0b00 vmov.f64 d0, #112 ; 0x3f800000 1.0 + 8008f5e: ee30 8b48 vsub.f64 d8, d0, d8 + 8008f62: b359 cbz r1, 8008fbc <__kernel_rem_pio2+0x1cc> + 8008f64: 4620 mov r0, r4 + 8008f66: f000 fde3 bl 8009b30 + 8008f6a: ee38 8b40 vsub.f64 d8, d8, d0 + 8008f6e: e025 b.n 8008fbc <__kernel_rem_pio2+0x1cc> + 8008f70: ee20 7b09 vmul.f64 d7, d0, d9 + 8008f74: eebd 7bc7 vcvt.s32.f64 s14, d7 + 8008f78: a806 add r0, sp, #24 + 8008f7a: eeb8 7bc7 vcvt.f64.s32 d7, s14 + 8008f7e: eea7 0b4a vfms.f64 d0, d7, d10 + 8008f82: eebd 0bc0 vcvt.s32.f64 s0, d0 + 8008f86: ee10 1a10 vmov r1, s0 + 8008f8a: ed32 0b02 vldmdb r2!, {d0} + 8008f8e: f840 1023 str.w r1, [r0, r3, lsl #2] + 8008f92: ee37 0b00 vadd.f64 d0, d7, d0 + 8008f96: 3301 adds r3, #1 + 8008f98: e798 b.n 8008ecc <__kernel_rem_pio2+0xdc> + 8008f9a: d106 bne.n 8008faa <__kernel_rem_pio2+0x1ba> + 8008f9c: 1e6b subs r3, r5, #1 + 8008f9e: aa06 add r2, sp, #24 + 8008fa0: f852 2023 ldr.w r2, [r2, r3, lsl #2] + 8008fa4: ea4f 58e2 mov.w r8, r2, asr #23 + 8008fa8: e7c1 b.n 8008f2e <__kernel_rem_pio2+0x13e> + 8008faa: eeb6 7b00 vmov.f64 d7, #96 ; 0x3f000000 0.5 + 8008fae: eeb4 8bc7 vcmpe.f64 d8, d7 + 8008fb2: eef1 fa10 vmrs APSR_nzcv, fpscr + 8008fb6: da32 bge.n 800901e <__kernel_rem_pio2+0x22e> + 8008fb8: f04f 0800 mov.w r8, #0 + 8008fbc: eeb5 8b40 vcmp.f64 d8, #0.0 + 8008fc0: eef1 fa10 vmrs APSR_nzcv, fpscr + 8008fc4: f040 80b0 bne.w 8009128 <__kernel_rem_pio2+0x338> + 8008fc8: 1e6b subs r3, r5, #1 + 8008fca: 4618 mov r0, r3 + 8008fcc: 2200 movs r2, #0 + 8008fce: 4548 cmp r0, r9 + 8008fd0: da4e bge.n 8009070 <__kernel_rem_pio2+0x280> + 8008fd2: 2a00 cmp r2, #0 + 8008fd4: f000 8088 beq.w 80090e8 <__kernel_rem_pio2+0x2f8> + 8008fd8: aa06 add r2, sp, #24 + 8008fda: 3c18 subs r4, #24 + 8008fdc: f852 1023 ldr.w r1, [r2, r3, lsl #2] + 8008fe0: 2900 cmp r1, #0 + 8008fe2: f000 808e beq.w 8009102 <__kernel_rem_pio2+0x312> + 8008fe6: eeb7 0b00 vmov.f64 d0, #112 ; 0x3f800000 1.0 + 8008fea: 4620 mov r0, r4 + 8008fec: 9302 str r3, [sp, #8] + 8008fee: f000 fd9f bl 8009b30 + 8008ff2: 9b02 ldr r3, [sp, #8] + 8008ff4: aa6a add r2, sp, #424 ; 0x1a8 + 8008ff6: 00d9 lsls r1, r3, #3 + 8008ff8: ed9f 6b45 vldr d6, [pc, #276] ; 8009110 <__kernel_rem_pio2+0x320> + 8008ffc: 1850 adds r0, r2, r1 + 8008ffe: f100 0508 add.w r5, r0, #8 + 8009002: 461c mov r4, r3 + 8009004: 2c00 cmp r4, #0 + 8009006: f280 80bd bge.w 8009184 <__kernel_rem_pio2+0x394> + 800900a: 2500 movs r5, #0 + 800900c: 1b5c subs r4, r3, r5 + 800900e: 2c00 cmp r4, #0 + 8009010: f2c0 80dd blt.w 80091ce <__kernel_rem_pio2+0x3de> + 8009014: 4f43 ldr r7, [pc, #268] ; (8009124 <__kernel_rem_pio2+0x334>) + 8009016: ed9f 7b3c vldr d7, [pc, #240] ; 8009108 <__kernel_rem_pio2+0x318> + 800901a: 2400 movs r4, #0 + 800901c: e0cb b.n 80091b6 <__kernel_rem_pio2+0x3c6> + 800901e: f04f 0802 mov.w r8, #2 + 8009022: e787 b.n 8008f34 <__kernel_rem_pio2+0x144> + 8009024: ab06 add r3, sp, #24 + 8009026: f853 3020 ldr.w r3, [r3, r0, lsl #2] + 800902a: b949 cbnz r1, 8009040 <__kernel_rem_pio2+0x250> + 800902c: b12b cbz r3, 800903a <__kernel_rem_pio2+0x24a> + 800902e: aa06 add r2, sp, #24 + 8009030: f1c3 7380 rsb r3, r3, #16777216 ; 0x1000000 + 8009034: f842 3020 str.w r3, [r2, r0, lsl #2] + 8009038: 2301 movs r3, #1 + 800903a: 3001 adds r0, #1 + 800903c: 4619 mov r1, r3 + 800903e: e780 b.n 8008f42 <__kernel_rem_pio2+0x152> + 8009040: aa06 add r2, sp, #24 + 8009042: ebac 0303 sub.w r3, ip, r3 + 8009046: f842 3020 str.w r3, [r2, r0, lsl #2] + 800904a: 460b mov r3, r1 + 800904c: e7f5 b.n 800903a <__kernel_rem_pio2+0x24a> + 800904e: 1e68 subs r0, r5, #1 + 8009050: ab06 add r3, sp, #24 + 8009052: f853 3020 ldr.w r3, [r3, r0, lsl #2] + 8009056: f3c3 0316 ubfx r3, r3, #0, #23 + 800905a: aa06 add r2, sp, #24 + 800905c: f842 3020 str.w r3, [r2, r0, lsl #2] + 8009060: e778 b.n 8008f54 <__kernel_rem_pio2+0x164> + 8009062: 1e68 subs r0, r5, #1 + 8009064: ab06 add r3, sp, #24 + 8009066: f853 3020 ldr.w r3, [r3, r0, lsl #2] + 800906a: f3c3 0315 ubfx r3, r3, #0, #22 + 800906e: e7f4 b.n 800905a <__kernel_rem_pio2+0x26a> + 8009070: a906 add r1, sp, #24 + 8009072: f851 1020 ldr.w r1, [r1, r0, lsl #2] + 8009076: 3801 subs r0, #1 + 8009078: 430a orrs r2, r1 + 800907a: e7a8 b.n 8008fce <__kernel_rem_pio2+0x1de> + 800907c: f10c 0c01 add.w ip, ip, #1 + 8009080: f853 2d04 ldr.w r2, [r3, #-4]! + 8009084: 2a00 cmp r2, #0 + 8009086: d0f9 beq.n 800907c <__kernel_rem_pio2+0x28c> + 8009088: eb0b 0305 add.w r3, fp, r5 + 800908c: aa1a add r2, sp, #104 ; 0x68 + 800908e: 00db lsls r3, r3, #3 + 8009090: 1898 adds r0, r3, r2 + 8009092: 3008 adds r0, #8 + 8009094: 1c69 adds r1, r5, #1 + 8009096: 3708 adds r7, #8 + 8009098: 2200 movs r2, #0 + 800909a: 4465 add r5, ip + 800909c: 9005 str r0, [sp, #20] + 800909e: 428d cmp r5, r1 + 80090a0: f6ff af07 blt.w 8008eb2 <__kernel_rem_pio2+0xc2> + 80090a4: a81a add r0, sp, #104 ; 0x68 + 80090a6: eb02 0c03 add.w ip, r2, r3 + 80090aa: 4484 add ip, r0 + 80090ac: 9803 ldr r0, [sp, #12] + 80090ae: f8dd e008 ldr.w lr, [sp, #8] + 80090b2: f850 0021 ldr.w r0, [r0, r1, lsl #2] + 80090b6: 9001 str r0, [sp, #4] + 80090b8: ee07 0a90 vmov s15, r0 + 80090bc: eeb8 7be7 vcvt.f64.s32 d7, s15 + 80090c0: 9805 ldr r0, [sp, #20] + 80090c2: ed8c 7b00 vstr d7, [ip] + 80090c6: ed9f 7b10 vldr d7, [pc, #64] ; 8009108 <__kernel_rem_pio2+0x318> + 80090ca: eb00 0802 add.w r8, r0, r2 + 80090ce: f04f 0c00 mov.w ip, #0 + 80090d2: 45d4 cmp ip, sl + 80090d4: dd0c ble.n 80090f0 <__kernel_rem_pio2+0x300> + 80090d6: eb02 0c07 add.w ip, r2, r7 + 80090da: a86a add r0, sp, #424 ; 0x1a8 + 80090dc: 4484 add ip, r0 + 80090de: ed8c 7b02 vstr d7, [ip, #8] + 80090e2: 3101 adds r1, #1 + 80090e4: 3208 adds r2, #8 + 80090e6: e7da b.n 800909e <__kernel_rem_pio2+0x2ae> + 80090e8: 9b04 ldr r3, [sp, #16] + 80090ea: f04f 0c01 mov.w ip, #1 + 80090ee: e7c7 b.n 8009080 <__kernel_rem_pio2+0x290> + 80090f0: ecbe 5b02 vldmia lr!, {d5} + 80090f4: ed38 6b02 vldmdb r8!, {d6} + 80090f8: f10c 0c01 add.w ip, ip, #1 + 80090fc: eea5 7b06 vfma.f64 d7, d5, d6 + 8009100: e7e7 b.n 80090d2 <__kernel_rem_pio2+0x2e2> + 8009102: 3b01 subs r3, #1 + 8009104: e768 b.n 8008fd8 <__kernel_rem_pio2+0x1e8> + 8009106: bf00 nop + ... + 8009114: 3e700000 .word 0x3e700000 + 8009118: 00000000 .word 0x00000000 + 800911c: 41700000 .word 0x41700000 + 8009120: 0800ab40 .word 0x0800ab40 + 8009124: 0800ab00 .word 0x0800ab00 + 8009128: 4260 negs r0, r4 + 800912a: eeb0 0b48 vmov.f64 d0, d8 + 800912e: f000 fcff bl 8009b30 + 8009132: ed9f 6b77 vldr d6, [pc, #476] ; 8009310 <__kernel_rem_pio2+0x520> + 8009136: eeb4 0bc6 vcmpe.f64 d0, d6 + 800913a: eef1 fa10 vmrs APSR_nzcv, fpscr + 800913e: db18 blt.n 8009172 <__kernel_rem_pio2+0x382> + 8009140: ed9f 7b75 vldr d7, [pc, #468] ; 8009318 <__kernel_rem_pio2+0x528> + 8009144: ee20 7b07 vmul.f64 d7, d0, d7 + 8009148: eebd 7bc7 vcvt.s32.f64 s14, d7 + 800914c: aa06 add r2, sp, #24 + 800914e: eeb8 5bc7 vcvt.f64.s32 d5, s14 + 8009152: eea5 0b46 vfms.f64 d0, d5, d6 + 8009156: eebd 0bc0 vcvt.s32.f64 s0, d0 + 800915a: a906 add r1, sp, #24 + 800915c: ee10 3a10 vmov r3, s0 + 8009160: f842 3025 str.w r3, [r2, r5, lsl #2] + 8009164: 1c6b adds r3, r5, #1 + 8009166: ee17 2a10 vmov r2, s14 + 800916a: 3418 adds r4, #24 + 800916c: f841 2023 str.w r2, [r1, r3, lsl #2] + 8009170: e739 b.n 8008fe6 <__kernel_rem_pio2+0x1f6> + 8009172: eebd 0bc0 vcvt.s32.f64 s0, d0 + 8009176: aa06 add r2, sp, #24 + 8009178: ee10 3a10 vmov r3, s0 + 800917c: f842 3025 str.w r3, [r2, r5, lsl #2] + 8009180: 462b mov r3, r5 + 8009182: e730 b.n 8008fe6 <__kernel_rem_pio2+0x1f6> + 8009184: aa06 add r2, sp, #24 + 8009186: f852 2024 ldr.w r2, [r2, r4, lsl #2] + 800918a: 9202 str r2, [sp, #8] + 800918c: ee07 2a90 vmov s15, r2 + 8009190: 3c01 subs r4, #1 + 8009192: eeb8 7be7 vcvt.f64.s32 d7, s15 + 8009196: ee27 7b00 vmul.f64 d7, d7, d0 + 800919a: ee20 0b06 vmul.f64 d0, d0, d6 + 800919e: ed25 7b02 vstmdb r5!, {d7} + 80091a2: e72f b.n 8009004 <__kernel_rem_pio2+0x214> + 80091a4: eb00 0cc4 add.w ip, r0, r4, lsl #3 + 80091a8: ecb7 5b02 vldmia r7!, {d5} + 80091ac: ed9c 6b00 vldr d6, [ip] + 80091b0: 3401 adds r4, #1 + 80091b2: eea5 7b06 vfma.f64 d7, d5, d6 + 80091b6: 454c cmp r4, r9 + 80091b8: dc01 bgt.n 80091be <__kernel_rem_pio2+0x3ce> + 80091ba: 42a5 cmp r5, r4 + 80091bc: daf2 bge.n 80091a4 <__kernel_rem_pio2+0x3b4> + 80091be: aa42 add r2, sp, #264 ; 0x108 + 80091c0: eb02 04c5 add.w r4, r2, r5, lsl #3 + 80091c4: ed84 7b00 vstr d7, [r4] + 80091c8: 3501 adds r5, #1 + 80091ca: 3808 subs r0, #8 + 80091cc: e71e b.n 800900c <__kernel_rem_pio2+0x21c> + 80091ce: 9aa2 ldr r2, [sp, #648] ; 0x288 + 80091d0: 2a03 cmp r2, #3 + 80091d2: d84e bhi.n 8009272 <__kernel_rem_pio2+0x482> + 80091d4: e8df f002 tbb [pc, r2] + 80091d8: 021f1f3e .word 0x021f1f3e + 80091dc: 3108 adds r1, #8 + 80091de: aa42 add r2, sp, #264 ; 0x108 + 80091e0: 4411 add r1, r2 + 80091e2: 4608 mov r0, r1 + 80091e4: 461c mov r4, r3 + 80091e6: 2c00 cmp r4, #0 + 80091e8: dc61 bgt.n 80092ae <__kernel_rem_pio2+0x4be> + 80091ea: 4608 mov r0, r1 + 80091ec: 461c mov r4, r3 + 80091ee: 2c01 cmp r4, #1 + 80091f0: dc6d bgt.n 80092ce <__kernel_rem_pio2+0x4de> + 80091f2: ed9f 7b4b vldr d7, [pc, #300] ; 8009320 <__kernel_rem_pio2+0x530> + 80091f6: 2b01 cmp r3, #1 + 80091f8: dc79 bgt.n 80092ee <__kernel_rem_pio2+0x4fe> + 80091fa: ed9d 5b42 vldr d5, [sp, #264] ; 0x108 + 80091fe: ed9d 6b44 vldr d6, [sp, #272] ; 0x110 + 8009202: f1b8 0f00 cmp.w r8, #0 + 8009206: d178 bne.n 80092fa <__kernel_rem_pio2+0x50a> + 8009208: ed86 5b00 vstr d5, [r6] + 800920c: ed86 6b02 vstr d6, [r6, #8] + 8009210: ed86 7b04 vstr d7, [r6, #16] + 8009214: e02d b.n 8009272 <__kernel_rem_pio2+0x482> + 8009216: ed9f 6b42 vldr d6, [pc, #264] ; 8009320 <__kernel_rem_pio2+0x530> + 800921a: 3108 adds r1, #8 + 800921c: aa42 add r2, sp, #264 ; 0x108 + 800921e: 4411 add r1, r2 + 8009220: 4618 mov r0, r3 + 8009222: 2800 cmp r0, #0 + 8009224: da34 bge.n 8009290 <__kernel_rem_pio2+0x4a0> + 8009226: f1b8 0f00 cmp.w r8, #0 + 800922a: d037 beq.n 800929c <__kernel_rem_pio2+0x4ac> + 800922c: eeb1 7b46 vneg.f64 d7, d6 + 8009230: ed86 7b00 vstr d7, [r6] + 8009234: ed9d 7b42 vldr d7, [sp, #264] ; 0x108 + 8009238: a844 add r0, sp, #272 ; 0x110 + 800923a: 2101 movs r1, #1 + 800923c: ee37 7b46 vsub.f64 d7, d7, d6 + 8009240: 428b cmp r3, r1 + 8009242: da2e bge.n 80092a2 <__kernel_rem_pio2+0x4b2> + 8009244: f1b8 0f00 cmp.w r8, #0 + 8009248: d001 beq.n 800924e <__kernel_rem_pio2+0x45e> + 800924a: eeb1 7b47 vneg.f64 d7, d7 + 800924e: ed86 7b02 vstr d7, [r6, #8] + 8009252: e00e b.n 8009272 <__kernel_rem_pio2+0x482> + 8009254: aa92 add r2, sp, #584 ; 0x248 + 8009256: ed9f 7b32 vldr d7, [pc, #200] ; 8009320 <__kernel_rem_pio2+0x530> + 800925a: 4411 add r1, r2 + 800925c: f5a1 719c sub.w r1, r1, #312 ; 0x138 + 8009260: 2b00 cmp r3, #0 + 8009262: da0f bge.n 8009284 <__kernel_rem_pio2+0x494> + 8009264: f1b8 0f00 cmp.w r8, #0 + 8009268: d001 beq.n 800926e <__kernel_rem_pio2+0x47e> + 800926a: eeb1 7b47 vneg.f64 d7, d7 + 800926e: ed86 7b00 vstr d7, [r6] + 8009272: 9b01 ldr r3, [sp, #4] + 8009274: f003 0007 and.w r0, r3, #7 + 8009278: f50d 7d13 add.w sp, sp, #588 ; 0x24c + 800927c: ecbd 8b06 vpop {d8-d10} + 8009280: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 8009284: ed31 6b02 vldmdb r1!, {d6} + 8009288: 3b01 subs r3, #1 + 800928a: ee37 7b06 vadd.f64 d7, d7, d6 + 800928e: e7e7 b.n 8009260 <__kernel_rem_pio2+0x470> + 8009290: ed31 7b02 vldmdb r1!, {d7} + 8009294: 3801 subs r0, #1 + 8009296: ee36 6b07 vadd.f64 d6, d6, d7 + 800929a: e7c2 b.n 8009222 <__kernel_rem_pio2+0x432> + 800929c: eeb0 7b46 vmov.f64 d7, d6 + 80092a0: e7c6 b.n 8009230 <__kernel_rem_pio2+0x440> + 80092a2: ecb0 6b02 vldmia r0!, {d6} + 80092a6: 3101 adds r1, #1 + 80092a8: ee37 7b06 vadd.f64 d7, d7, d6 + 80092ac: e7c8 b.n 8009240 <__kernel_rem_pio2+0x450> + 80092ae: ed10 7b04 vldr d7, [r0, #-16] + 80092b2: ed30 5b02 vldmdb r0!, {d5} + 80092b6: 3c01 subs r4, #1 + 80092b8: ee37 6b05 vadd.f64 d6, d7, d5 + 80092bc: ee37 7b46 vsub.f64 d7, d7, d6 + 80092c0: ed00 6b02 vstr d6, [r0, #-8] + 80092c4: ee37 7b05 vadd.f64 d7, d7, d5 + 80092c8: ed80 7b00 vstr d7, [r0] + 80092cc: e78b b.n 80091e6 <__kernel_rem_pio2+0x3f6> + 80092ce: ed10 7b04 vldr d7, [r0, #-16] + 80092d2: ed30 5b02 vldmdb r0!, {d5} + 80092d6: 3c01 subs r4, #1 + 80092d8: ee37 6b05 vadd.f64 d6, d7, d5 + 80092dc: ee37 7b46 vsub.f64 d7, d7, d6 + 80092e0: ed00 6b02 vstr d6, [r0, #-8] + 80092e4: ee37 7b05 vadd.f64 d7, d7, d5 + 80092e8: ed80 7b00 vstr d7, [r0] + 80092ec: e77f b.n 80091ee <__kernel_rem_pio2+0x3fe> + 80092ee: ed31 6b02 vldmdb r1!, {d6} + 80092f2: 3b01 subs r3, #1 + 80092f4: ee37 7b06 vadd.f64 d7, d7, d6 + 80092f8: e77d b.n 80091f6 <__kernel_rem_pio2+0x406> + 80092fa: eeb1 5b45 vneg.f64 d5, d5 + 80092fe: eeb1 6b46 vneg.f64 d6, d6 + 8009302: ed86 5b00 vstr d5, [r6] + 8009306: eeb1 7b47 vneg.f64 d7, d7 + 800930a: ed86 6b02 vstr d6, [r6, #8] + 800930e: e77f b.n 8009210 <__kernel_rem_pio2+0x420> + 8009310: 00000000 .word 0x00000000 + 8009314: 41700000 .word 0x41700000 + 8009318: 00000000 .word 0x00000000 + 800931c: 3e700000 .word 0x3e700000 + ... + +08009328 <__kernel_sin>: + 8009328: ee10 3a90 vmov r3, s1 + 800932c: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 + 8009330: f1b3 5f79 cmp.w r3, #1044381696 ; 0x3e400000 + 8009334: da04 bge.n 8009340 <__kernel_sin+0x18> + 8009336: eefd 7bc0 vcvt.s32.f64 s15, d0 + 800933a: ee17 3a90 vmov r3, s15 + 800933e: b35b cbz r3, 8009398 <__kernel_sin+0x70> + 8009340: ee20 6b00 vmul.f64 d6, d0, d0 + 8009344: ee20 5b06 vmul.f64 d5, d0, d6 + 8009348: ed9f 7b15 vldr d7, [pc, #84] ; 80093a0 <__kernel_sin+0x78> + 800934c: ed9f 4b16 vldr d4, [pc, #88] ; 80093a8 <__kernel_sin+0x80> + 8009350: eea6 4b07 vfma.f64 d4, d6, d7 + 8009354: ed9f 7b16 vldr d7, [pc, #88] ; 80093b0 <__kernel_sin+0x88> + 8009358: eea4 7b06 vfma.f64 d7, d4, d6 + 800935c: ed9f 4b16 vldr d4, [pc, #88] ; 80093b8 <__kernel_sin+0x90> + 8009360: eea7 4b06 vfma.f64 d4, d7, d6 + 8009364: ed9f 7b16 vldr d7, [pc, #88] ; 80093c0 <__kernel_sin+0x98> + 8009368: eea4 7b06 vfma.f64 d7, d4, d6 + 800936c: b930 cbnz r0, 800937c <__kernel_sin+0x54> + 800936e: ed9f 4b16 vldr d4, [pc, #88] ; 80093c8 <__kernel_sin+0xa0> + 8009372: eea6 4b07 vfma.f64 d4, d6, d7 + 8009376: eea4 0b05 vfma.f64 d0, d4, d5 + 800937a: 4770 bx lr + 800937c: ee27 7b45 vnmul.f64 d7, d7, d5 + 8009380: eeb6 4b00 vmov.f64 d4, #96 ; 0x3f000000 0.5 + 8009384: eea1 7b04 vfma.f64 d7, d1, d4 + 8009388: ee97 1b06 vfnms.f64 d1, d7, d6 + 800938c: ed9f 7b10 vldr d7, [pc, #64] ; 80093d0 <__kernel_sin+0xa8> + 8009390: eea5 1b07 vfma.f64 d1, d5, d7 + 8009394: ee30 0b41 vsub.f64 d0, d0, d1 + 8009398: 4770 bx lr + 800939a: bf00 nop + 800939c: f3af 8000 nop.w + 80093a0: 5acfd57c .word 0x5acfd57c + 80093a4: 3de5d93a .word 0x3de5d93a + 80093a8: 8a2b9ceb .word 0x8a2b9ceb + 80093ac: be5ae5e6 .word 0xbe5ae5e6 + 80093b0: 57b1fe7d .word 0x57b1fe7d + 80093b4: 3ec71de3 .word 0x3ec71de3 + 80093b8: 19c161d5 .word 0x19c161d5 + 80093bc: bf2a01a0 .word 0xbf2a01a0 + 80093c0: 1110f8a6 .word 0x1110f8a6 + 80093c4: 3f811111 .word 0x3f811111 + 80093c8: 55555549 .word 0x55555549 + 80093cc: bfc55555 .word 0xbfc55555 + 80093d0: 55555549 .word 0x55555549 + 80093d4: 3fc55555 .word 0x3fc55555 + +080093d8 <__kernel_cosf>: + 80093d8: ee10 3a10 vmov r3, s0 + 80093dc: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 + 80093e0: f1b3 5f48 cmp.w r3, #838860800 ; 0x32000000 + 80093e4: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 + 80093e8: da05 bge.n 80093f6 <__kernel_cosf+0x1e> + 80093ea: eefd 7ac0 vcvt.s32.f32 s15, s0 + 80093ee: ee17 2a90 vmov r2, s15 + 80093f2: 2a00 cmp r2, #0 + 80093f4: d03b beq.n 800946e <__kernel_cosf+0x96> + 80093f6: ee20 6a00 vmul.f32 s12, s0, s0 + 80093fa: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 + 80093fe: eddf 5a1d vldr s11, [pc, #116] ; 8009474 <__kernel_cosf+0x9c> + 8009402: 4a1d ldr r2, [pc, #116] ; (8009478 <__kernel_cosf+0xa0>) + 8009404: ee66 7a07 vmul.f32 s15, s12, s14 + 8009408: ed9f 7a1c vldr s14, [pc, #112] ; 800947c <__kernel_cosf+0xa4> + 800940c: eea6 7a25 vfma.f32 s14, s12, s11 + 8009410: 4293 cmp r3, r2 + 8009412: eddf 5a1b vldr s11, [pc, #108] ; 8009480 <__kernel_cosf+0xa8> + 8009416: eee7 5a06 vfma.f32 s11, s14, s12 + 800941a: ed9f 7a1a vldr s14, [pc, #104] ; 8009484 <__kernel_cosf+0xac> + 800941e: eea5 7a86 vfma.f32 s14, s11, s12 + 8009422: eddf 5a19 vldr s11, [pc, #100] ; 8009488 <__kernel_cosf+0xb0> + 8009426: eee7 5a06 vfma.f32 s11, s14, s12 + 800942a: ed9f 7a18 vldr s14, [pc, #96] ; 800948c <__kernel_cosf+0xb4> + 800942e: eea5 7a86 vfma.f32 s14, s11, s12 + 8009432: ee60 0ac0 vnmul.f32 s1, s1, s0 + 8009436: ee27 7a06 vmul.f32 s14, s14, s12 + 800943a: eee6 0a07 vfma.f32 s1, s12, s14 + 800943e: dc04 bgt.n 800944a <__kernel_cosf+0x72> + 8009440: ee77 0ae0 vsub.f32 s1, s15, s1 + 8009444: ee36 0ae0 vsub.f32 s0, s13, s1 + 8009448: 4770 bx lr + 800944a: 4a11 ldr r2, [pc, #68] ; (8009490 <__kernel_cosf+0xb8>) + 800944c: 4293 cmp r3, r2 + 800944e: bfda itte le + 8009450: f103 437f addle.w r3, r3, #4278190080 ; 0xff000000 + 8009454: ee07 3a10 vmovle s14, r3 + 8009458: eeb5 7a02 vmovgt.f32 s14, #82 ; 0x3e900000 0.2812500 + 800945c: ee77 7ac7 vsub.f32 s15, s15, s14 + 8009460: ee36 0ac7 vsub.f32 s0, s13, s14 + 8009464: ee77 7ae0 vsub.f32 s15, s15, s1 + 8009468: ee30 0a67 vsub.f32 s0, s0, s15 + 800946c: 4770 bx lr + 800946e: eeb0 0a66 vmov.f32 s0, s13 + 8009472: 4770 bx lr + 8009474: ad47d74e .word 0xad47d74e + 8009478: 3e999999 .word 0x3e999999 + 800947c: 310f74f6 .word 0x310f74f6 + 8009480: b493f27c .word 0xb493f27c + 8009484: 37d00d01 .word 0x37d00d01 + 8009488: bab60b61 .word 0xbab60b61 + 800948c: 3d2aaaab .word 0x3d2aaaab + 8009490: 3f480000 .word 0x3f480000 + +08009494 <__kernel_rem_pio2f>: + 8009494: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 8009498: ed2d 8b04 vpush {d8-d9} + 800949c: b0d7 sub sp, #348 ; 0x15c + 800949e: 469b mov fp, r3 + 80094a0: 460e mov r6, r1 + 80094a2: 4bbe ldr r3, [pc, #760] ; (800979c <__kernel_rem_pio2f+0x308>) + 80094a4: 9964 ldr r1, [sp, #400] ; 0x190 + 80094a6: 9002 str r0, [sp, #8] + 80094a8: f853 9021 ldr.w r9, [r3, r1, lsl #2] + 80094ac: 9865 ldr r0, [sp, #404] ; 0x194 + 80094ae: ed9f 7abf vldr s14, [pc, #764] ; 80097ac <__kernel_rem_pio2f+0x318> + 80094b2: 1ed1 subs r1, r2, #3 + 80094b4: 2308 movs r3, #8 + 80094b6: fb91 f1f3 sdiv r1, r1, r3 + 80094ba: ea21 71e1 bic.w r1, r1, r1, asr #31 + 80094be: f10b 3aff add.w sl, fp, #4294967295 ; 0xffffffff + 80094c2: 1c4c adds r4, r1, #1 + 80094c4: eba2 04c4 sub.w r4, r2, r4, lsl #3 + 80094c8: eba1 050a sub.w r5, r1, sl + 80094cc: aa1a add r2, sp, #104 ; 0x68 + 80094ce: eb09 070a add.w r7, r9, sl + 80094d2: eb00 0c85 add.w ip, r0, r5, lsl #2 + 80094d6: 4696 mov lr, r2 + 80094d8: 2300 movs r3, #0 + 80094da: 42bb cmp r3, r7 + 80094dc: dd0f ble.n 80094fe <__kernel_rem_pio2f+0x6a> + 80094de: af42 add r7, sp, #264 ; 0x108 + 80094e0: 2200 movs r2, #0 + 80094e2: 454a cmp r2, r9 + 80094e4: dc27 bgt.n 8009536 <__kernel_rem_pio2f+0xa2> + 80094e6: f10d 0c68 add.w ip, sp, #104 ; 0x68 + 80094ea: eb0b 0302 add.w r3, fp, r2 + 80094ee: eb0c 0383 add.w r3, ip, r3, lsl #2 + 80094f2: 9d02 ldr r5, [sp, #8] + 80094f4: eddf 7aad vldr s15, [pc, #692] ; 80097ac <__kernel_rem_pio2f+0x318> + 80094f8: f04f 0c00 mov.w ip, #0 + 80094fc: e015 b.n 800952a <__kernel_rem_pio2f+0x96> + 80094fe: 42dd cmn r5, r3 + 8009500: bf5d ittte pl + 8009502: f85c 2023 ldrpl.w r2, [ip, r3, lsl #2] + 8009506: ee07 2a90 vmovpl s15, r2 + 800950a: eef8 7ae7 vcvtpl.f32.s32 s15, s15 + 800950e: eef0 7a47 vmovmi.f32 s15, s14 + 8009512: ecee 7a01 vstmia lr!, {s15} + 8009516: 3301 adds r3, #1 + 8009518: e7df b.n 80094da <__kernel_rem_pio2f+0x46> + 800951a: ecf5 6a01 vldmia r5!, {s13} + 800951e: ed33 7a01 vldmdb r3!, {s14} + 8009522: eee6 7a87 vfma.f32 s15, s13, s14 + 8009526: f10c 0c01 add.w ip, ip, #1 + 800952a: 45d4 cmp ip, sl + 800952c: ddf5 ble.n 800951a <__kernel_rem_pio2f+0x86> + 800952e: ece7 7a01 vstmia r7!, {s15} + 8009532: 3201 adds r2, #1 + 8009534: e7d5 b.n 80094e2 <__kernel_rem_pio2f+0x4e> + 8009536: ab06 add r3, sp, #24 + 8009538: eb03 0389 add.w r3, r3, r9, lsl #2 + 800953c: 9304 str r3, [sp, #16] + 800953e: eddf 8a9a vldr s17, [pc, #616] ; 80097a8 <__kernel_rem_pio2f+0x314> + 8009542: ed9f 9a98 vldr s18, [pc, #608] ; 80097a4 <__kernel_rem_pio2f+0x310> + 8009546: eb00 0381 add.w r3, r0, r1, lsl #2 + 800954a: 9303 str r3, [sp, #12] + 800954c: 464d mov r5, r9 + 800954e: ab56 add r3, sp, #344 ; 0x158 + 8009550: f105 4780 add.w r7, r5, #1073741824 ; 0x40000000 + 8009554: eb03 0385 add.w r3, r3, r5, lsl #2 + 8009558: 3f01 subs r7, #1 + 800955a: ed13 0a14 vldr s0, [r3, #-80] ; 0xffffffb0 + 800955e: 00bf lsls r7, r7, #2 + 8009560: ab56 add r3, sp, #344 ; 0x158 + 8009562: 19da adds r2, r3, r7 + 8009564: 3a4c subs r2, #76 ; 0x4c + 8009566: 2300 movs r3, #0 + 8009568: 1ae9 subs r1, r5, r3 + 800956a: 2900 cmp r1, #0 + 800956c: dc4c bgt.n 8009608 <__kernel_rem_pio2f+0x174> + 800956e: 4620 mov r0, r4 + 8009570: f000 fba6 bl 8009cc0 + 8009574: eeb0 8a40 vmov.f32 s16, s0 + 8009578: eeb4 0a00 vmov.f32 s0, #64 ; 0x3e000000 0.125 + 800957c: ee28 0a00 vmul.f32 s0, s16, s0 + 8009580: f000 fb5c bl 8009c3c + 8009584: eef2 7a00 vmov.f32 s15, #32 ; 0x41000000 8.0 + 8009588: eea0 8a67 vfms.f32 s16, s0, s15 + 800958c: 2c00 cmp r4, #0 + 800958e: eefd 7ac8 vcvt.s32.f32 s15, s16 + 8009592: edcd 7a01 vstr s15, [sp, #4] + 8009596: eef8 7ae7 vcvt.f32.s32 s15, s15 + 800959a: ee38 8a67 vsub.f32 s16, s16, s15 + 800959e: dd48 ble.n 8009632 <__kernel_rem_pio2f+0x19e> + 80095a0: 1e69 subs r1, r5, #1 + 80095a2: ab06 add r3, sp, #24 + 80095a4: f1c4 0008 rsb r0, r4, #8 + 80095a8: f853 c021 ldr.w ip, [r3, r1, lsl #2] + 80095ac: 9a01 ldr r2, [sp, #4] + 80095ae: fa4c f300 asr.w r3, ip, r0 + 80095b2: 441a add r2, r3 + 80095b4: 4083 lsls r3, r0 + 80095b6: 9201 str r2, [sp, #4] + 80095b8: ebac 0203 sub.w r2, ip, r3 + 80095bc: ab06 add r3, sp, #24 + 80095be: f843 2021 str.w r2, [r3, r1, lsl #2] + 80095c2: f1c4 0307 rsb r3, r4, #7 + 80095c6: fa42 f803 asr.w r8, r2, r3 + 80095ca: f1b8 0f00 cmp.w r8, #0 + 80095ce: dd41 ble.n 8009654 <__kernel_rem_pio2f+0x1c0> + 80095d0: 9b01 ldr r3, [sp, #4] + 80095d2: 2000 movs r0, #0 + 80095d4: 3301 adds r3, #1 + 80095d6: 9301 str r3, [sp, #4] + 80095d8: 4601 mov r1, r0 + 80095da: 4285 cmp r5, r0 + 80095dc: dc6d bgt.n 80096ba <__kernel_rem_pio2f+0x226> + 80095de: 2c00 cmp r4, #0 + 80095e0: dd04 ble.n 80095ec <__kernel_rem_pio2f+0x158> + 80095e2: 2c01 cmp r4, #1 + 80095e4: d07e beq.n 80096e4 <__kernel_rem_pio2f+0x250> + 80095e6: 2c02 cmp r4, #2 + 80095e8: f000 8086 beq.w 80096f8 <__kernel_rem_pio2f+0x264> + 80095ec: f1b8 0f02 cmp.w r8, #2 + 80095f0: d130 bne.n 8009654 <__kernel_rem_pio2f+0x1c0> + 80095f2: eeb7 0a00 vmov.f32 s0, #112 ; 0x3f800000 1.0 + 80095f6: ee30 8a48 vsub.f32 s16, s0, s16 + 80095fa: b359 cbz r1, 8009654 <__kernel_rem_pio2f+0x1c0> + 80095fc: 4620 mov r0, r4 + 80095fe: f000 fb5f bl 8009cc0 + 8009602: ee38 8a40 vsub.f32 s16, s16, s0 + 8009606: e025 b.n 8009654 <__kernel_rem_pio2f+0x1c0> + 8009608: ee60 7a28 vmul.f32 s15, s0, s17 + 800960c: a806 add r0, sp, #24 + 800960e: eefd 7ae7 vcvt.s32.f32 s15, s15 + 8009612: eef8 7ae7 vcvt.f32.s32 s15, s15 + 8009616: eea7 0ac9 vfms.f32 s0, s15, s18 + 800961a: eebd 0ac0 vcvt.s32.f32 s0, s0 + 800961e: ee10 1a10 vmov r1, s0 + 8009622: ed32 0a01 vldmdb r2!, {s0} + 8009626: f840 1023 str.w r1, [r0, r3, lsl #2] + 800962a: ee37 0a80 vadd.f32 s0, s15, s0 + 800962e: 3301 adds r3, #1 + 8009630: e79a b.n 8009568 <__kernel_rem_pio2f+0xd4> + 8009632: d106 bne.n 8009642 <__kernel_rem_pio2f+0x1ae> + 8009634: 1e6b subs r3, r5, #1 + 8009636: aa06 add r2, sp, #24 + 8009638: f852 2023 ldr.w r2, [r2, r3, lsl #2] + 800963c: ea4f 2822 mov.w r8, r2, asr #8 + 8009640: e7c3 b.n 80095ca <__kernel_rem_pio2f+0x136> + 8009642: eef6 7a00 vmov.f32 s15, #96 ; 0x3f000000 0.5 + 8009646: eeb4 8ae7 vcmpe.f32 s16, s15 + 800964a: eef1 fa10 vmrs APSR_nzcv, fpscr + 800964e: da31 bge.n 80096b4 <__kernel_rem_pio2f+0x220> + 8009650: f04f 0800 mov.w r8, #0 + 8009654: eeb5 8a40 vcmp.f32 s16, #0.0 + 8009658: eef1 fa10 vmrs APSR_nzcv, fpscr + 800965c: f040 80a8 bne.w 80097b0 <__kernel_rem_pio2f+0x31c> + 8009660: 1e6b subs r3, r5, #1 + 8009662: 4618 mov r0, r3 + 8009664: 2200 movs r2, #0 + 8009666: 4548 cmp r0, r9 + 8009668: da4d bge.n 8009706 <__kernel_rem_pio2f+0x272> + 800966a: 2a00 cmp r2, #0 + 800966c: f000 8087 beq.w 800977e <__kernel_rem_pio2f+0x2ea> + 8009670: aa06 add r2, sp, #24 + 8009672: 3c08 subs r4, #8 + 8009674: f852 1023 ldr.w r1, [r2, r3, lsl #2] + 8009678: 2900 cmp r1, #0 + 800967a: f000 808d beq.w 8009798 <__kernel_rem_pio2f+0x304> + 800967e: 4620 mov r0, r4 + 8009680: eeb7 0a00 vmov.f32 s0, #112 ; 0x3f800000 1.0 + 8009684: 9302 str r3, [sp, #8] + 8009686: f000 fb1b bl 8009cc0 + 800968a: 9b02 ldr r3, [sp, #8] + 800968c: ed9f 7a46 vldr s14, [pc, #280] ; 80097a8 <__kernel_rem_pio2f+0x314> + 8009690: 0099 lsls r1, r3, #2 + 8009692: aa42 add r2, sp, #264 ; 0x108 + 8009694: 1850 adds r0, r2, r1 + 8009696: 1d05 adds r5, r0, #4 + 8009698: 461c mov r4, r3 + 800969a: 2c00 cmp r4, #0 + 800969c: f280 80b8 bge.w 8009810 <__kernel_rem_pio2f+0x37c> + 80096a0: 2500 movs r5, #0 + 80096a2: 1b5c subs r4, r3, r5 + 80096a4: 2c00 cmp r4, #0 + 80096a6: f2c0 80d8 blt.w 800985a <__kernel_rem_pio2f+0x3c6> + 80096aa: 4f3d ldr r7, [pc, #244] ; (80097a0 <__kernel_rem_pio2f+0x30c>) + 80096ac: eddf 7a3f vldr s15, [pc, #252] ; 80097ac <__kernel_rem_pio2f+0x318> + 80096b0: 2400 movs r4, #0 + 80096b2: e0c6 b.n 8009842 <__kernel_rem_pio2f+0x3ae> + 80096b4: f04f 0802 mov.w r8, #2 + 80096b8: e78a b.n 80095d0 <__kernel_rem_pio2f+0x13c> + 80096ba: ab06 add r3, sp, #24 + 80096bc: f853 3020 ldr.w r3, [r3, r0, lsl #2] + 80096c0: b949 cbnz r1, 80096d6 <__kernel_rem_pio2f+0x242> + 80096c2: b12b cbz r3, 80096d0 <__kernel_rem_pio2f+0x23c> + 80096c4: aa06 add r2, sp, #24 + 80096c6: f5c3 7380 rsb r3, r3, #256 ; 0x100 + 80096ca: f842 3020 str.w r3, [r2, r0, lsl #2] + 80096ce: 2301 movs r3, #1 + 80096d0: 3001 adds r0, #1 + 80096d2: 4619 mov r1, r3 + 80096d4: e781 b.n 80095da <__kernel_rem_pio2f+0x146> + 80096d6: aa06 add r2, sp, #24 + 80096d8: f1c3 03ff rsb r3, r3, #255 ; 0xff + 80096dc: f842 3020 str.w r3, [r2, r0, lsl #2] + 80096e0: 460b mov r3, r1 + 80096e2: e7f5 b.n 80096d0 <__kernel_rem_pio2f+0x23c> + 80096e4: 1e68 subs r0, r5, #1 + 80096e6: ab06 add r3, sp, #24 + 80096e8: f853 3020 ldr.w r3, [r3, r0, lsl #2] + 80096ec: f003 037f and.w r3, r3, #127 ; 0x7f + 80096f0: aa06 add r2, sp, #24 + 80096f2: f842 3020 str.w r3, [r2, r0, lsl #2] + 80096f6: e779 b.n 80095ec <__kernel_rem_pio2f+0x158> + 80096f8: 1e68 subs r0, r5, #1 + 80096fa: ab06 add r3, sp, #24 + 80096fc: f853 3020 ldr.w r3, [r3, r0, lsl #2] + 8009700: f003 033f and.w r3, r3, #63 ; 0x3f + 8009704: e7f4 b.n 80096f0 <__kernel_rem_pio2f+0x25c> + 8009706: a906 add r1, sp, #24 + 8009708: f851 1020 ldr.w r1, [r1, r0, lsl #2] + 800970c: 3801 subs r0, #1 + 800970e: 430a orrs r2, r1 + 8009710: e7a9 b.n 8009666 <__kernel_rem_pio2f+0x1d2> + 8009712: f10c 0c01 add.w ip, ip, #1 + 8009716: f853 2d04 ldr.w r2, [r3, #-4]! + 800971a: 2a00 cmp r2, #0 + 800971c: d0f9 beq.n 8009712 <__kernel_rem_pio2f+0x27e> + 800971e: eb0b 0305 add.w r3, fp, r5 + 8009722: aa1a add r2, sp, #104 ; 0x68 + 8009724: 009b lsls r3, r3, #2 + 8009726: 1898 adds r0, r3, r2 + 8009728: 3004 adds r0, #4 + 800972a: 1c69 adds r1, r5, #1 + 800972c: 3704 adds r7, #4 + 800972e: 2200 movs r2, #0 + 8009730: 4465 add r5, ip + 8009732: 9005 str r0, [sp, #20] + 8009734: 428d cmp r5, r1 + 8009736: f6ff af0a blt.w 800954e <__kernel_rem_pio2f+0xba> + 800973a: a81a add r0, sp, #104 ; 0x68 + 800973c: eb02 0c03 add.w ip, r2, r3 + 8009740: 4484 add ip, r0 + 8009742: 9803 ldr r0, [sp, #12] + 8009744: f8dd e008 ldr.w lr, [sp, #8] + 8009748: f850 0021 ldr.w r0, [r0, r1, lsl #2] + 800974c: 9001 str r0, [sp, #4] + 800974e: ee07 0a90 vmov s15, r0 + 8009752: eef8 7ae7 vcvt.f32.s32 s15, s15 + 8009756: 9805 ldr r0, [sp, #20] + 8009758: edcc 7a00 vstr s15, [ip] + 800975c: eddf 7a13 vldr s15, [pc, #76] ; 80097ac <__kernel_rem_pio2f+0x318> + 8009760: eb00 0802 add.w r8, r0, r2 + 8009764: f04f 0c00 mov.w ip, #0 + 8009768: 45d4 cmp ip, sl + 800976a: dd0c ble.n 8009786 <__kernel_rem_pio2f+0x2f2> + 800976c: eb02 0c07 add.w ip, r2, r7 + 8009770: a842 add r0, sp, #264 ; 0x108 + 8009772: 4484 add ip, r0 + 8009774: edcc 7a01 vstr s15, [ip, #4] + 8009778: 3101 adds r1, #1 + 800977a: 3204 adds r2, #4 + 800977c: e7da b.n 8009734 <__kernel_rem_pio2f+0x2a0> + 800977e: 9b04 ldr r3, [sp, #16] + 8009780: f04f 0c01 mov.w ip, #1 + 8009784: e7c7 b.n 8009716 <__kernel_rem_pio2f+0x282> + 8009786: ecfe 6a01 vldmia lr!, {s13} + 800978a: ed38 7a01 vldmdb r8!, {s14} + 800978e: f10c 0c01 add.w ip, ip, #1 + 8009792: eee6 7a87 vfma.f32 s15, s13, s14 + 8009796: e7e7 b.n 8009768 <__kernel_rem_pio2f+0x2d4> + 8009798: 3b01 subs r3, #1 + 800979a: e769 b.n 8009670 <__kernel_rem_pio2f+0x1dc> + 800979c: 0800ab7c .word 0x0800ab7c + 80097a0: 0800ab50 .word 0x0800ab50 + 80097a4: 43800000 .word 0x43800000 + 80097a8: 3b800000 .word 0x3b800000 + 80097ac: 00000000 .word 0x00000000 + 80097b0: 4260 negs r0, r4 + 80097b2: eeb0 0a48 vmov.f32 s0, s16 + 80097b6: f000 fa83 bl 8009cc0 + 80097ba: ed1f 7a06 vldr s14, [pc, #-24] ; 80097a4 <__kernel_rem_pio2f+0x310> + 80097be: eeb4 0ac7 vcmpe.f32 s0, s14 + 80097c2: eef1 fa10 vmrs APSR_nzcv, fpscr + 80097c6: db1a blt.n 80097fe <__kernel_rem_pio2f+0x36a> + 80097c8: ed5f 7a09 vldr s15, [pc, #-36] ; 80097a8 <__kernel_rem_pio2f+0x314> + 80097cc: ee60 7a27 vmul.f32 s15, s0, s15 + 80097d0: aa06 add r2, sp, #24 + 80097d2: eefd 7ae7 vcvt.s32.f32 s15, s15 + 80097d6: a906 add r1, sp, #24 + 80097d8: eef8 7ae7 vcvt.f32.s32 s15, s15 + 80097dc: 3408 adds r4, #8 + 80097de: eea7 0ac7 vfms.f32 s0, s15, s14 + 80097e2: eefd 7ae7 vcvt.s32.f32 s15, s15 + 80097e6: eebd 0ac0 vcvt.s32.f32 s0, s0 + 80097ea: ee10 3a10 vmov r3, s0 + 80097ee: f842 3025 str.w r3, [r2, r5, lsl #2] + 80097f2: 1c6b adds r3, r5, #1 + 80097f4: ee17 2a90 vmov r2, s15 + 80097f8: f841 2023 str.w r2, [r1, r3, lsl #2] + 80097fc: e73f b.n 800967e <__kernel_rem_pio2f+0x1ea> + 80097fe: eebd 0ac0 vcvt.s32.f32 s0, s0 + 8009802: aa06 add r2, sp, #24 + 8009804: ee10 3a10 vmov r3, s0 + 8009808: f842 3025 str.w r3, [r2, r5, lsl #2] + 800980c: 462b mov r3, r5 + 800980e: e736 b.n 800967e <__kernel_rem_pio2f+0x1ea> + 8009810: aa06 add r2, sp, #24 + 8009812: f852 2024 ldr.w r2, [r2, r4, lsl #2] + 8009816: 9202 str r2, [sp, #8] + 8009818: ee07 2a90 vmov s15, r2 + 800981c: eef8 7ae7 vcvt.f32.s32 s15, s15 + 8009820: 3c01 subs r4, #1 + 8009822: ee67 7a80 vmul.f32 s15, s15, s0 + 8009826: ee20 0a07 vmul.f32 s0, s0, s14 + 800982a: ed65 7a01 vstmdb r5!, {s15} + 800982e: e734 b.n 800969a <__kernel_rem_pio2f+0x206> + 8009830: eb00 0c84 add.w ip, r0, r4, lsl #2 + 8009834: ecf7 6a01 vldmia r7!, {s13} + 8009838: ed9c 7a00 vldr s14, [ip] + 800983c: eee6 7a87 vfma.f32 s15, s13, s14 + 8009840: 3401 adds r4, #1 + 8009842: 454c cmp r4, r9 + 8009844: dc01 bgt.n 800984a <__kernel_rem_pio2f+0x3b6> + 8009846: 42a5 cmp r5, r4 + 8009848: daf2 bge.n 8009830 <__kernel_rem_pio2f+0x39c> + 800984a: aa56 add r2, sp, #344 ; 0x158 + 800984c: eb02 0485 add.w r4, r2, r5, lsl #2 + 8009850: ed44 7a28 vstr s15, [r4, #-160] ; 0xffffff60 + 8009854: 3501 adds r5, #1 + 8009856: 3804 subs r0, #4 + 8009858: e723 b.n 80096a2 <__kernel_rem_pio2f+0x20e> + 800985a: 9a64 ldr r2, [sp, #400] ; 0x190 + 800985c: 2a03 cmp r2, #3 + 800985e: d84d bhi.n 80098fc <__kernel_rem_pio2f+0x468> + 8009860: e8df f002 tbb [pc, r2] + 8009864: 021f1f3e .word 0x021f1f3e + 8009868: aa56 add r2, sp, #344 ; 0x158 + 800986a: 4411 add r1, r2 + 800986c: 399c subs r1, #156 ; 0x9c + 800986e: 4608 mov r0, r1 + 8009870: 461c mov r4, r3 + 8009872: 2c00 cmp r4, #0 + 8009874: dc5f bgt.n 8009936 <__kernel_rem_pio2f+0x4a2> + 8009876: 4608 mov r0, r1 + 8009878: 461c mov r4, r3 + 800987a: 2c01 cmp r4, #1 + 800987c: dc6b bgt.n 8009956 <__kernel_rem_pio2f+0x4c2> + 800987e: ed5f 7a35 vldr s15, [pc, #-212] ; 80097ac <__kernel_rem_pio2f+0x318> + 8009882: 2b01 cmp r3, #1 + 8009884: dc77 bgt.n 8009976 <__kernel_rem_pio2f+0x4e2> + 8009886: eddd 6a2e vldr s13, [sp, #184] ; 0xb8 + 800988a: ed9d 7a2f vldr s14, [sp, #188] ; 0xbc + 800988e: f1b8 0f00 cmp.w r8, #0 + 8009892: d176 bne.n 8009982 <__kernel_rem_pio2f+0x4ee> + 8009894: edc6 6a00 vstr s13, [r6] + 8009898: ed86 7a01 vstr s14, [r6, #4] + 800989c: edc6 7a02 vstr s15, [r6, #8] + 80098a0: e02c b.n 80098fc <__kernel_rem_pio2f+0x468> + 80098a2: aa56 add r2, sp, #344 ; 0x158 + 80098a4: 4411 add r1, r2 + 80098a6: ed1f 7a3f vldr s14, [pc, #-252] ; 80097ac <__kernel_rem_pio2f+0x318> + 80098aa: 399c subs r1, #156 ; 0x9c + 80098ac: 4618 mov r0, r3 + 80098ae: 2800 cmp r0, #0 + 80098b0: da32 bge.n 8009918 <__kernel_rem_pio2f+0x484> + 80098b2: f1b8 0f00 cmp.w r8, #0 + 80098b6: d035 beq.n 8009924 <__kernel_rem_pio2f+0x490> + 80098b8: eef1 7a47 vneg.f32 s15, s14 + 80098bc: edc6 7a00 vstr s15, [r6] + 80098c0: eddd 7a2e vldr s15, [sp, #184] ; 0xb8 + 80098c4: ee77 7ac7 vsub.f32 s15, s15, s14 + 80098c8: a82f add r0, sp, #188 ; 0xbc + 80098ca: 2101 movs r1, #1 + 80098cc: 428b cmp r3, r1 + 80098ce: da2c bge.n 800992a <__kernel_rem_pio2f+0x496> + 80098d0: f1b8 0f00 cmp.w r8, #0 + 80098d4: d001 beq.n 80098da <__kernel_rem_pio2f+0x446> + 80098d6: eef1 7a67 vneg.f32 s15, s15 + 80098da: edc6 7a01 vstr s15, [r6, #4] + 80098de: e00d b.n 80098fc <__kernel_rem_pio2f+0x468> + 80098e0: aa56 add r2, sp, #344 ; 0x158 + 80098e2: 4411 add r1, r2 + 80098e4: ed5f 7a4f vldr s15, [pc, #-316] ; 80097ac <__kernel_rem_pio2f+0x318> + 80098e8: 399c subs r1, #156 ; 0x9c + 80098ea: 2b00 cmp r3, #0 + 80098ec: da0e bge.n 800990c <__kernel_rem_pio2f+0x478> + 80098ee: f1b8 0f00 cmp.w r8, #0 + 80098f2: d001 beq.n 80098f8 <__kernel_rem_pio2f+0x464> + 80098f4: eef1 7a67 vneg.f32 s15, s15 + 80098f8: edc6 7a00 vstr s15, [r6] + 80098fc: 9b01 ldr r3, [sp, #4] + 80098fe: f003 0007 and.w r0, r3, #7 + 8009902: b057 add sp, #348 ; 0x15c + 8009904: ecbd 8b04 vpop {d8-d9} + 8009908: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 800990c: ed31 7a01 vldmdb r1!, {s14} + 8009910: 3b01 subs r3, #1 + 8009912: ee77 7a87 vadd.f32 s15, s15, s14 + 8009916: e7e8 b.n 80098ea <__kernel_rem_pio2f+0x456> + 8009918: ed71 7a01 vldmdb r1!, {s15} + 800991c: 3801 subs r0, #1 + 800991e: ee37 7a27 vadd.f32 s14, s14, s15 + 8009922: e7c4 b.n 80098ae <__kernel_rem_pio2f+0x41a> + 8009924: eef0 7a47 vmov.f32 s15, s14 + 8009928: e7c8 b.n 80098bc <__kernel_rem_pio2f+0x428> + 800992a: ecb0 7a01 vldmia r0!, {s14} + 800992e: 3101 adds r1, #1 + 8009930: ee77 7a87 vadd.f32 s15, s15, s14 + 8009934: e7ca b.n 80098cc <__kernel_rem_pio2f+0x438> + 8009936: ed50 7a02 vldr s15, [r0, #-8] + 800993a: ed70 6a01 vldmdb r0!, {s13} + 800993e: ee37 7aa6 vadd.f32 s14, s15, s13 + 8009942: 3c01 subs r4, #1 + 8009944: ee77 7ac7 vsub.f32 s15, s15, s14 + 8009948: ed00 7a01 vstr s14, [r0, #-4] + 800994c: ee77 7aa6 vadd.f32 s15, s15, s13 + 8009950: edc0 7a00 vstr s15, [r0] + 8009954: e78d b.n 8009872 <__kernel_rem_pio2f+0x3de> + 8009956: ed50 7a02 vldr s15, [r0, #-8] + 800995a: ed70 6a01 vldmdb r0!, {s13} + 800995e: ee37 7aa6 vadd.f32 s14, s15, s13 + 8009962: 3c01 subs r4, #1 + 8009964: ee77 7ac7 vsub.f32 s15, s15, s14 + 8009968: ed00 7a01 vstr s14, [r0, #-4] + 800996c: ee77 7aa6 vadd.f32 s15, s15, s13 + 8009970: edc0 7a00 vstr s15, [r0] + 8009974: e781 b.n 800987a <__kernel_rem_pio2f+0x3e6> + 8009976: ed31 7a01 vldmdb r1!, {s14} + 800997a: 3b01 subs r3, #1 + 800997c: ee77 7a87 vadd.f32 s15, s15, s14 + 8009980: e77f b.n 8009882 <__kernel_rem_pio2f+0x3ee> + 8009982: eef1 6a66 vneg.f32 s13, s13 + 8009986: eeb1 7a47 vneg.f32 s14, s14 + 800998a: edc6 6a00 vstr s13, [r6] + 800998e: ed86 7a01 vstr s14, [r6, #4] + 8009992: eef1 7a67 vneg.f32 s15, s15 + 8009996: e781 b.n 800989c <__kernel_rem_pio2f+0x408> + +08009998 <__kernel_sinf>: + 8009998: ee10 3a10 vmov r3, s0 + 800999c: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 + 80099a0: f1b3 5f48 cmp.w r3, #838860800 ; 0x32000000 + 80099a4: da04 bge.n 80099b0 <__kernel_sinf+0x18> + 80099a6: eefd 7ac0 vcvt.s32.f32 s15, s0 + 80099aa: ee17 3a90 vmov r3, s15 + 80099ae: b35b cbz r3, 8009a08 <__kernel_sinf+0x70> + 80099b0: ee20 7a00 vmul.f32 s14, s0, s0 + 80099b4: eddf 7a15 vldr s15, [pc, #84] ; 8009a0c <__kernel_sinf+0x74> + 80099b8: ed9f 6a15 vldr s12, [pc, #84] ; 8009a10 <__kernel_sinf+0x78> + 80099bc: eea7 6a27 vfma.f32 s12, s14, s15 + 80099c0: eddf 7a14 vldr s15, [pc, #80] ; 8009a14 <__kernel_sinf+0x7c> + 80099c4: eee6 7a07 vfma.f32 s15, s12, s14 + 80099c8: ed9f 6a13 vldr s12, [pc, #76] ; 8009a18 <__kernel_sinf+0x80> + 80099cc: eea7 6a87 vfma.f32 s12, s15, s14 + 80099d0: eddf 7a12 vldr s15, [pc, #72] ; 8009a1c <__kernel_sinf+0x84> + 80099d4: ee60 6a07 vmul.f32 s13, s0, s14 + 80099d8: eee6 7a07 vfma.f32 s15, s12, s14 + 80099dc: b930 cbnz r0, 80099ec <__kernel_sinf+0x54> + 80099de: ed9f 6a10 vldr s12, [pc, #64] ; 8009a20 <__kernel_sinf+0x88> + 80099e2: eea7 6a27 vfma.f32 s12, s14, s15 + 80099e6: eea6 0a26 vfma.f32 s0, s12, s13 + 80099ea: 4770 bx lr + 80099ec: ee67 7ae6 vnmul.f32 s15, s15, s13 + 80099f0: eeb6 6a00 vmov.f32 s12, #96 ; 0x3f000000 0.5 + 80099f4: eee0 7a86 vfma.f32 s15, s1, s12 + 80099f8: eed7 0a87 vfnms.f32 s1, s15, s14 + 80099fc: eddf 7a09 vldr s15, [pc, #36] ; 8009a24 <__kernel_sinf+0x8c> + 8009a00: eee6 0aa7 vfma.f32 s1, s13, s15 + 8009a04: ee30 0a60 vsub.f32 s0, s0, s1 + 8009a08: 4770 bx lr + 8009a0a: bf00 nop + 8009a0c: 2f2ec9d3 .word 0x2f2ec9d3 + 8009a10: b2d72f34 .word 0xb2d72f34 + 8009a14: 3638ef1b .word 0x3638ef1b + 8009a18: b9500d01 .word 0xb9500d01 + 8009a1c: 3c088889 .word 0x3c088889 + 8009a20: be2aaaab .word 0xbe2aaaab + 8009a24: 3e2aaaab .word 0x3e2aaaab + +08009a28 : + 8009a28: ec51 0b10 vmov r0, r1, d0 + 8009a2c: ee10 2a10 vmov r2, s0 + 8009a30: f021 4300 bic.w r3, r1, #2147483648 ; 0x80000000 + 8009a34: ec43 2b10 vmov d0, r2, r3 + 8009a38: 4770 bx lr + 8009a3a: 0000 movs r0, r0 + 8009a3c: 0000 movs r0, r0 + ... + +08009a40 : + 8009a40: ee10 1a90 vmov r1, s1 + 8009a44: f3c1 520a ubfx r2, r1, #20, #11 + 8009a48: f2a2 33ff subw r3, r2, #1023 ; 0x3ff + 8009a4c: 2b13 cmp r3, #19 + 8009a4e: b530 push {r4, r5, lr} + 8009a50: ee10 0a10 vmov r0, s0 + 8009a54: ee10 5a10 vmov r5, s0 + 8009a58: dc33 bgt.n 8009ac2 + 8009a5a: 2b00 cmp r3, #0 + 8009a5c: da17 bge.n 8009a8e + 8009a5e: ed9f 7b30 vldr d7, [pc, #192] ; 8009b20 + 8009a62: ee30 0b07 vadd.f64 d0, d0, d7 + 8009a66: eeb5 0bc0 vcmpe.f64 d0, #0.0 + 8009a6a: eef1 fa10 vmrs APSR_nzcv, fpscr + 8009a6e: dd09 ble.n 8009a84 + 8009a70: 2900 cmp r1, #0 + 8009a72: da50 bge.n 8009b16 + 8009a74: f021 4300 bic.w r3, r1, #2147483648 ; 0x80000000 + 8009a78: 4a2b ldr r2, [pc, #172] ; (8009b28 ) + 8009a7a: 4303 orrs r3, r0 + 8009a7c: 2000 movs r0, #0 + 8009a7e: 4283 cmp r3, r0 + 8009a80: bf18 it ne + 8009a82: 4611 movne r1, r2 + 8009a84: 460b mov r3, r1 + 8009a86: 4602 mov r2, r0 + 8009a88: ec43 2b10 vmov d0, r2, r3 + 8009a8c: e020 b.n 8009ad0 + 8009a8e: 4a27 ldr r2, [pc, #156] ; (8009b2c ) + 8009a90: 411a asrs r2, r3 + 8009a92: ea01 0402 and.w r4, r1, r2 + 8009a96: 4304 orrs r4, r0 + 8009a98: d01a beq.n 8009ad0 + 8009a9a: ed9f 7b21 vldr d7, [pc, #132] ; 8009b20 + 8009a9e: ee30 0b07 vadd.f64 d0, d0, d7 + 8009aa2: eeb5 0bc0 vcmpe.f64 d0, #0.0 + 8009aa6: eef1 fa10 vmrs APSR_nzcv, fpscr + 8009aaa: ddeb ble.n 8009a84 + 8009aac: 2900 cmp r1, #0 + 8009aae: bfbe ittt lt + 8009ab0: f44f 1080 movlt.w r0, #1048576 ; 0x100000 + 8009ab4: fa40 f303 asrlt.w r3, r0, r3 + 8009ab8: 18c9 addlt r1, r1, r3 + 8009aba: ea21 0102 bic.w r1, r1, r2 + 8009abe: 2000 movs r0, #0 + 8009ac0: e7e0 b.n 8009a84 + 8009ac2: 2b33 cmp r3, #51 ; 0x33 + 8009ac4: dd05 ble.n 8009ad2 + 8009ac6: f5b3 6f80 cmp.w r3, #1024 ; 0x400 + 8009aca: d101 bne.n 8009ad0 + 8009acc: ee30 0b00 vadd.f64 d0, d0, d0 + 8009ad0: bd30 pop {r4, r5, pc} + 8009ad2: f2a2 4413 subw r4, r2, #1043 ; 0x413 + 8009ad6: f04f 32ff mov.w r2, #4294967295 ; 0xffffffff + 8009ada: 40e2 lsrs r2, r4 + 8009adc: 4202 tst r2, r0 + 8009ade: d0f7 beq.n 8009ad0 + 8009ae0: ed9f 7b0f vldr d7, [pc, #60] ; 8009b20 + 8009ae4: ee30 0b07 vadd.f64 d0, d0, d7 + 8009ae8: eeb5 0bc0 vcmpe.f64 d0, #0.0 + 8009aec: eef1 fa10 vmrs APSR_nzcv, fpscr + 8009af0: ddc8 ble.n 8009a84 + 8009af2: 2900 cmp r1, #0 + 8009af4: da02 bge.n 8009afc + 8009af6: 2b14 cmp r3, #20 + 8009af8: d103 bne.n 8009b02 + 8009afa: 3101 adds r1, #1 + 8009afc: ea20 0002 bic.w r0, r0, r2 + 8009b00: e7c0 b.n 8009a84 + 8009b02: 2401 movs r4, #1 + 8009b04: f1c3 0334 rsb r3, r3, #52 ; 0x34 + 8009b08: fa04 f303 lsl.w r3, r4, r3 + 8009b0c: 4418 add r0, r3 + 8009b0e: 42a8 cmp r0, r5 + 8009b10: bf38 it cc + 8009b12: 1909 addcc r1, r1, r4 + 8009b14: e7f2 b.n 8009afc + 8009b16: 2000 movs r0, #0 + 8009b18: 4601 mov r1, r0 + 8009b1a: e7b3 b.n 8009a84 + 8009b1c: f3af 8000 nop.w + 8009b20: 8800759c .word 0x8800759c + 8009b24: 7e37e43c .word 0x7e37e43c + 8009b28: bff00000 .word 0xbff00000 + 8009b2c: 000fffff .word 0x000fffff + +08009b30 : + 8009b30: b500 push {lr} + 8009b32: ed2d 8b02 vpush {d8} + 8009b36: b083 sub sp, #12 + 8009b38: ed8d 0b00 vstr d0, [sp] + 8009b3c: 9b01 ldr r3, [sp, #4] + 8009b3e: f3c3 520a ubfx r2, r3, #20, #11 + 8009b42: b9a2 cbnz r2, 8009b6e + 8009b44: 9a00 ldr r2, [sp, #0] + 8009b46: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 + 8009b4a: 4313 orrs r3, r2 + 8009b4c: d03a beq.n 8009bc4 + 8009b4e: ed9f 7b2e vldr d7, [pc, #184] ; 8009c08 + 8009b52: 4b35 ldr r3, [pc, #212] ; (8009c28 ) + 8009b54: ee20 7b07 vmul.f64 d7, d0, d7 + 8009b58: 4298 cmp r0, r3 + 8009b5a: ed8d 7b00 vstr d7, [sp] + 8009b5e: da11 bge.n 8009b84 + 8009b60: ed9f 7b2b vldr d7, [pc, #172] ; 8009c10 + 8009b64: ed9d 6b00 vldr d6, [sp] + 8009b68: ee27 7b06 vmul.f64 d7, d7, d6 + 8009b6c: e007 b.n 8009b7e + 8009b6e: f240 71ff movw r1, #2047 ; 0x7ff + 8009b72: 428a cmp r2, r1 + 8009b74: d10a bne.n 8009b8c + 8009b76: ed9d 7b00 vldr d7, [sp] + 8009b7a: ee37 7b07 vadd.f64 d7, d7, d7 + 8009b7e: ed8d 7b00 vstr d7, [sp] + 8009b82: e01f b.n 8009bc4 + 8009b84: 9b01 ldr r3, [sp, #4] + 8009b86: f3c3 520a ubfx r2, r3, #20, #11 + 8009b8a: 3a36 subs r2, #54 ; 0x36 + 8009b8c: 4402 add r2, r0 + 8009b8e: f240 71fe movw r1, #2046 ; 0x7fe + 8009b92: 428a cmp r2, r1 + 8009b94: dd0a ble.n 8009bac + 8009b96: ed9f 8b20 vldr d8, [pc, #128] ; 8009c18 + 8009b9a: eeb0 0b48 vmov.f64 d0, d8 + 8009b9e: ed9d 1b00 vldr d1, [sp] + 8009ba2: f000 f8ed bl 8009d80 + 8009ba6: ee20 7b08 vmul.f64 d7, d0, d8 + 8009baa: e7e8 b.n 8009b7e + 8009bac: 2a00 cmp r2, #0 + 8009bae: dd10 ble.n 8009bd2 + 8009bb0: e9dd 0100 ldrd r0, r1, [sp] + 8009bb4: f023 43ff bic.w r3, r3, #2139095040 ; 0x7f800000 + 8009bb8: f423 03e0 bic.w r3, r3, #7340032 ; 0x700000 + 8009bbc: ea43 5102 orr.w r1, r3, r2, lsl #20 + 8009bc0: e9cd 0100 strd r0, r1, [sp] + 8009bc4: ed9d 0b00 vldr d0, [sp] + 8009bc8: b003 add sp, #12 + 8009bca: ecbd 8b02 vpop {d8} + 8009bce: f85d fb04 ldr.w pc, [sp], #4 + 8009bd2: f112 0f35 cmn.w r2, #53 ; 0x35 + 8009bd6: da06 bge.n 8009be6 + 8009bd8: f24c 3350 movw r3, #50000 ; 0xc350 + 8009bdc: 4298 cmp r0, r3 + 8009bde: dcda bgt.n 8009b96 + 8009be0: ed9f 8b0b vldr d8, [pc, #44] ; 8009c10 + 8009be4: e7d9 b.n 8009b9a + 8009be6: e9dd 0100 ldrd r0, r1, [sp] + 8009bea: f023 43ff bic.w r3, r3, #2139095040 ; 0x7f800000 + 8009bee: 3236 adds r2, #54 ; 0x36 + 8009bf0: f423 03e0 bic.w r3, r3, #7340032 ; 0x700000 + 8009bf4: ea43 5102 orr.w r1, r3, r2, lsl #20 + 8009bf8: ec41 0b17 vmov d7, r0, r1 + 8009bfc: ed9f 6b08 vldr d6, [pc, #32] ; 8009c20 + 8009c00: e7b2 b.n 8009b68 + 8009c02: bf00 nop + 8009c04: f3af 8000 nop.w + 8009c08: 00000000 .word 0x00000000 + 8009c0c: 43500000 .word 0x43500000 + 8009c10: c2f8f359 .word 0xc2f8f359 + 8009c14: 01a56e1f .word 0x01a56e1f + 8009c18: 8800759c .word 0x8800759c + 8009c1c: 7e37e43c .word 0x7e37e43c + 8009c20: 00000000 .word 0x00000000 + 8009c24: 3c900000 .word 0x3c900000 + 8009c28: ffff3cb0 .word 0xffff3cb0 + +08009c2c : + 8009c2c: ee10 3a10 vmov r3, s0 + 8009c30: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 + 8009c34: ee00 3a10 vmov s0, r3 + 8009c38: 4770 bx lr + ... + +08009c3c : + 8009c3c: ee10 3a10 vmov r3, s0 + 8009c40: f023 4100 bic.w r1, r3, #2147483648 ; 0x80000000 + 8009c44: 0dca lsrs r2, r1, #23 + 8009c46: 3a7f subs r2, #127 ; 0x7f + 8009c48: 2a16 cmp r2, #22 + 8009c4a: dc2a bgt.n 8009ca2 + 8009c4c: 2a00 cmp r2, #0 + 8009c4e: da11 bge.n 8009c74 + 8009c50: eddf 7a18 vldr s15, [pc, #96] ; 8009cb4 + 8009c54: ee30 0a27 vadd.f32 s0, s0, s15 + 8009c58: eeb5 0ac0 vcmpe.f32 s0, #0.0 + 8009c5c: eef1 fa10 vmrs APSR_nzcv, fpscr + 8009c60: dd05 ble.n 8009c6e + 8009c62: 2b00 cmp r3, #0 + 8009c64: da23 bge.n 8009cae + 8009c66: 4a14 ldr r2, [pc, #80] ; (8009cb8 ) + 8009c68: 2900 cmp r1, #0 + 8009c6a: bf18 it ne + 8009c6c: 4613 movne r3, r2 + 8009c6e: ee00 3a10 vmov s0, r3 + 8009c72: 4770 bx lr + 8009c74: 4911 ldr r1, [pc, #68] ; (8009cbc ) + 8009c76: 4111 asrs r1, r2 + 8009c78: 420b tst r3, r1 + 8009c7a: d0fa beq.n 8009c72 + 8009c7c: eddf 7a0d vldr s15, [pc, #52] ; 8009cb4 + 8009c80: ee30 0a27 vadd.f32 s0, s0, s15 + 8009c84: eeb5 0ac0 vcmpe.f32 s0, #0.0 + 8009c88: eef1 fa10 vmrs APSR_nzcv, fpscr + 8009c8c: ddef ble.n 8009c6e + 8009c8e: 2b00 cmp r3, #0 + 8009c90: bfbe ittt lt + 8009c92: f44f 0000 movlt.w r0, #8388608 ; 0x800000 + 8009c96: fa40 f202 asrlt.w r2, r0, r2 + 8009c9a: 189b addlt r3, r3, r2 + 8009c9c: ea23 0301 bic.w r3, r3, r1 + 8009ca0: e7e5 b.n 8009c6e + 8009ca2: f1b1 4fff cmp.w r1, #2139095040 ; 0x7f800000 + 8009ca6: d3e4 bcc.n 8009c72 + 8009ca8: ee30 0a00 vadd.f32 s0, s0, s0 + 8009cac: 4770 bx lr + 8009cae: 2300 movs r3, #0 + 8009cb0: e7dd b.n 8009c6e + 8009cb2: bf00 nop + 8009cb4: 7149f2ca .word 0x7149f2ca + 8009cb8: bf800000 .word 0xbf800000 + 8009cbc: 007fffff .word 0x007fffff + +08009cc0 : + 8009cc0: b508 push {r3, lr} + 8009cc2: ee10 2a10 vmov r2, s0 + 8009cc6: f032 4300 bics.w r3, r2, #2147483648 ; 0x80000000 + 8009cca: ed2d 8b02 vpush {d8} + 8009cce: eef0 0a40 vmov.f32 s1, s0 + 8009cd2: d004 beq.n 8009cde + 8009cd4: f1b3 4fff cmp.w r3, #2139095040 ; 0x7f800000 + 8009cd8: d306 bcc.n 8009ce8 + 8009cda: ee70 0a00 vadd.f32 s1, s0, s0 + 8009cde: ecbd 8b02 vpop {d8} + 8009ce2: eeb0 0a60 vmov.f32 s0, s1 + 8009ce6: bd08 pop {r3, pc} + 8009ce8: f5b3 0f00 cmp.w r3, #8388608 ; 0x800000 + 8009cec: d21c bcs.n 8009d28 + 8009cee: 4b1f ldr r3, [pc, #124] ; (8009d6c ) + 8009cf0: eddf 7a1f vldr s15, [pc, #124] ; 8009d70 + 8009cf4: 4298 cmp r0, r3 + 8009cf6: ee60 0a27 vmul.f32 s1, s0, s15 + 8009cfa: db10 blt.n 8009d1e + 8009cfc: ee10 2a90 vmov r2, s1 + 8009d00: f3c2 53c7 ubfx r3, r2, #23, #8 + 8009d04: 3b19 subs r3, #25 + 8009d06: 4403 add r3, r0 + 8009d08: 2bfe cmp r3, #254 ; 0xfe + 8009d0a: dd0f ble.n 8009d2c + 8009d0c: ed9f 8a19 vldr s16, [pc, #100] ; 8009d74 + 8009d10: eeb0 0a48 vmov.f32 s0, s16 + 8009d14: f000 f843 bl 8009d9e + 8009d18: ee60 0a08 vmul.f32 s1, s0, s16 + 8009d1c: e7df b.n 8009cde + 8009d1e: eddf 7a16 vldr s15, [pc, #88] ; 8009d78 + 8009d22: ee60 0aa7 vmul.f32 s1, s1, s15 + 8009d26: e7da b.n 8009cde + 8009d28: 0ddb lsrs r3, r3, #23 + 8009d2a: e7ec b.n 8009d06 + 8009d2c: 2b00 cmp r3, #0 + 8009d2e: dd06 ble.n 8009d3e + 8009d30: f022 42ff bic.w r2, r2, #2139095040 ; 0x7f800000 + 8009d34: ea42 53c3 orr.w r3, r2, r3, lsl #23 + 8009d38: ee00 3a90 vmov s1, r3 + 8009d3c: e7cf b.n 8009cde + 8009d3e: f113 0f16 cmn.w r3, #22 + 8009d42: da06 bge.n 8009d52 + 8009d44: f24c 3350 movw r3, #50000 ; 0xc350 + 8009d48: 4298 cmp r0, r3 + 8009d4a: dcdf bgt.n 8009d0c + 8009d4c: ed9f 8a0a vldr s16, [pc, #40] ; 8009d78 + 8009d50: e7de b.n 8009d10 + 8009d52: 3319 adds r3, #25 + 8009d54: f022 42ff bic.w r2, r2, #2139095040 ; 0x7f800000 + 8009d58: ea42 53c3 orr.w r3, r2, r3, lsl #23 + 8009d5c: eddf 7a07 vldr s15, [pc, #28] ; 8009d7c + 8009d60: ee07 3a10 vmov s14, r3 + 8009d64: ee67 0a27 vmul.f32 s1, s14, s15 + 8009d68: e7b9 b.n 8009cde + 8009d6a: bf00 nop + 8009d6c: ffff3cb0 .word 0xffff3cb0 + 8009d70: 4c000000 .word 0x4c000000 + 8009d74: 7149f2ca .word 0x7149f2ca + 8009d78: 0da24260 .word 0x0da24260 + 8009d7c: 33000000 .word 0x33000000 + +08009d80 : + 8009d80: ec51 0b10 vmov r0, r1, d0 + 8009d84: ee11 0a90 vmov r0, s3 + 8009d88: ee10 2a10 vmov r2, s0 + 8009d8c: f021 4100 bic.w r1, r1, #2147483648 ; 0x80000000 + 8009d90: f000 4000 and.w r0, r0, #2147483648 ; 0x80000000 + 8009d94: ea41 0300 orr.w r3, r1, r0 + 8009d98: ec43 2b10 vmov d0, r2, r3 + 8009d9c: 4770 bx lr + +08009d9e : + 8009d9e: ee10 3a10 vmov r3, s0 + 8009da2: ee10 2a90 vmov r2, s1 + 8009da6: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 + 8009daa: f002 4200 and.w r2, r2, #2147483648 ; 0x80000000 + 8009dae: 4313 orrs r3, r2 + 8009db0: ee00 3a10 vmov s0, r3 + 8009db4: 4770 bx lr + +08009db6 : + 8009db6: b508 push {r3, lr} + 8009db8: 2006 movs r0, #6 + 8009dba: f000 f871 bl 8009ea0 + 8009dbe: 2001 movs r0, #1 + 8009dc0: f7fe fb6e bl 80084a0 <_exit> + +08009dc4 <__errno>: + 8009dc4: 4b01 ldr r3, [pc, #4] ; (8009dcc <__errno+0x8>) + 8009dc6: 6818 ldr r0, [r3, #0] + 8009dc8: 4770 bx lr + 8009dca: bf00 nop + 8009dcc: 20000020 .word 0x20000020 + +08009dd0 <__libc_init_array>: + 8009dd0: b570 push {r4, r5, r6, lr} + 8009dd2: 4e0d ldr r6, [pc, #52] ; (8009e08 <__libc_init_array+0x38>) + 8009dd4: 4c0d ldr r4, [pc, #52] ; (8009e0c <__libc_init_array+0x3c>) + 8009dd6: 1ba4 subs r4, r4, r6 + 8009dd8: 10a4 asrs r4, r4, #2 + 8009dda: 2500 movs r5, #0 + 8009ddc: 42a5 cmp r5, r4 + 8009dde: d109 bne.n 8009df4 <__libc_init_array+0x24> + 8009de0: 4e0b ldr r6, [pc, #44] ; (8009e10 <__libc_init_array+0x40>) + 8009de2: 4c0c ldr r4, [pc, #48] ; (8009e14 <__libc_init_array+0x44>) + 8009de4: f000 f960 bl 800a0a8 <_init> + 8009de8: 1ba4 subs r4, r4, r6 + 8009dea: 10a4 asrs r4, r4, #2 + 8009dec: 2500 movs r5, #0 + 8009dee: 42a5 cmp r5, r4 + 8009df0: d105 bne.n 8009dfe <__libc_init_array+0x2e> + 8009df2: bd70 pop {r4, r5, r6, pc} + 8009df4: f856 3025 ldr.w r3, [r6, r5, lsl #2] + 8009df8: 4798 blx r3 + 8009dfa: 3501 adds r5, #1 + 8009dfc: e7ee b.n 8009ddc <__libc_init_array+0xc> + 8009dfe: f856 3025 ldr.w r3, [r6, r5, lsl #2] + 8009e02: 4798 blx r3 + 8009e04: 3501 adds r5, #1 + 8009e06: e7f2 b.n 8009dee <__libc_init_array+0x1e> + 8009e08: 0800ab90 .word 0x0800ab90 + 8009e0c: 0800ab90 .word 0x0800ab90 + 8009e10: 0800ab90 .word 0x0800ab90 + 8009e14: 0800ab98 .word 0x0800ab98 + +08009e18 : + 8009e18: b510 push {r4, lr} + 8009e1a: 1e43 subs r3, r0, #1 + 8009e1c: 440a add r2, r1 + 8009e1e: 4291 cmp r1, r2 + 8009e20: d100 bne.n 8009e24 + 8009e22: bd10 pop {r4, pc} + 8009e24: f811 4b01 ldrb.w r4, [r1], #1 + 8009e28: f803 4f01 strb.w r4, [r3, #1]! + 8009e2c: e7f7 b.n 8009e1e + +08009e2e : + 8009e2e: 4402 add r2, r0 + 8009e30: 4603 mov r3, r0 + 8009e32: 4293 cmp r3, r2 + 8009e34: d100 bne.n 8009e38 + 8009e36: 4770 bx lr + 8009e38: f803 1b01 strb.w r1, [r3], #1 + 8009e3c: e7f9 b.n 8009e32 ... -08004d10 <__libc_init_array>: - 8004d10: b570 push {r4, r5, r6, lr} - 8004d12: 4e0d ldr r6, [pc, #52] ; (8004d48 <__libc_init_array+0x38>) - 8004d14: 4c0d ldr r4, [pc, #52] ; (8004d4c <__libc_init_array+0x3c>) - 8004d16: 1ba4 subs r4, r4, r6 - 8004d18: 10a4 asrs r4, r4, #2 - 8004d1a: 2500 movs r5, #0 - 8004d1c: 42a5 cmp r5, r4 - 8004d1e: d109 bne.n 8004d34 <__libc_init_array+0x24> - 8004d20: 4e0b ldr r6, [pc, #44] ; (8004d50 <__libc_init_array+0x40>) - 8004d22: 4c0c ldr r4, [pc, #48] ; (8004d54 <__libc_init_array+0x44>) - 8004d24: f000 f820 bl 8004d68 <_init> - 8004d28: 1ba4 subs r4, r4, r6 - 8004d2a: 10a4 asrs r4, r4, #2 - 8004d2c: 2500 movs r5, #0 - 8004d2e: 42a5 cmp r5, r4 - 8004d30: d105 bne.n 8004d3e <__libc_init_array+0x2e> - 8004d32: bd70 pop {r4, r5, r6, pc} - 8004d34: f856 3025 ldr.w r3, [r6, r5, lsl #2] - 8004d38: 4798 blx r3 - 8004d3a: 3501 adds r5, #1 - 8004d3c: e7ee b.n 8004d1c <__libc_init_array+0xc> - 8004d3e: f856 3025 ldr.w r3, [r6, r5, lsl #2] - 8004d42: 4798 blx r3 - 8004d44: 3501 adds r5, #1 - 8004d46: e7f2 b.n 8004d2e <__libc_init_array+0x1e> - 8004d48: 08004da8 .word 0x08004da8 - 8004d4c: 08004da8 .word 0x08004da8 - 8004d50: 08004da8 .word 0x08004da8 - 8004d54: 08004db0 .word 0x08004db0 - -08004d58 : - 8004d58: 4402 add r2, r0 - 8004d5a: 4603 mov r3, r0 - 8004d5c: 4293 cmp r3, r2 - 8004d5e: d100 bne.n 8004d62 - 8004d60: 4770 bx lr - 8004d62: f803 1b01 strb.w r1, [r3], #1 - 8004d66: e7f9 b.n 8004d5c - -08004d68 <_init>: - 8004d68: b5f8 push {r3, r4, r5, r6, r7, lr} - 8004d6a: bf00 nop - 8004d6c: bcf8 pop {r3, r4, r5, r6, r7} - 8004d6e: bc08 pop {r3} - 8004d70: 469e mov lr, r3 - 8004d72: 4770 bx lr - -08004d74 <_fini>: - 8004d74: b5f8 push {r3, r4, r5, r6, r7, lr} - 8004d76: bf00 nop - 8004d78: bcf8 pop {r3, r4, r5, r6, r7} - 8004d7a: bc08 pop {r3} - 8004d7c: 469e mov lr, r3 - 8004d7e: 4770 bx lr +08009e40 : + 8009e40: 4b02 ldr r3, [pc, #8] ; (8009e4c ) + 8009e42: 460a mov r2, r1 + 8009e44: 4601 mov r1, r0 + 8009e46: 6818 ldr r0, [r3, #0] + 8009e48: f000 b8a0 b.w 8009f8c <_realloc_r> + 8009e4c: 20000020 .word 0x20000020 + +08009e50 <_raise_r>: + 8009e50: 291f cmp r1, #31 + 8009e52: b538 push {r3, r4, r5, lr} + 8009e54: 4604 mov r4, r0 + 8009e56: 460d mov r5, r1 + 8009e58: d904 bls.n 8009e64 <_raise_r+0x14> + 8009e5a: 2316 movs r3, #22 + 8009e5c: 6003 str r3, [r0, #0] + 8009e5e: f04f 30ff mov.w r0, #4294967295 ; 0xffffffff + 8009e62: bd38 pop {r3, r4, r5, pc} + 8009e64: 6c42 ldr r2, [r0, #68] ; 0x44 + 8009e66: b112 cbz r2, 8009e6e <_raise_r+0x1e> + 8009e68: f852 3021 ldr.w r3, [r2, r1, lsl #2] + 8009e6c: b94b cbnz r3, 8009e82 <_raise_r+0x32> + 8009e6e: 4620 mov r0, r4 + 8009e70: f000 f830 bl 8009ed4 <_getpid_r> + 8009e74: 462a mov r2, r5 + 8009e76: 4601 mov r1, r0 + 8009e78: 4620 mov r0, r4 + 8009e7a: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} + 8009e7e: f000 b817 b.w 8009eb0 <_kill_r> + 8009e82: 2b01 cmp r3, #1 + 8009e84: d00a beq.n 8009e9c <_raise_r+0x4c> + 8009e86: 1c59 adds r1, r3, #1 + 8009e88: d103 bne.n 8009e92 <_raise_r+0x42> + 8009e8a: 2316 movs r3, #22 + 8009e8c: 6003 str r3, [r0, #0] + 8009e8e: 2001 movs r0, #1 + 8009e90: e7e7 b.n 8009e62 <_raise_r+0x12> + 8009e92: 2400 movs r4, #0 + 8009e94: f842 4025 str.w r4, [r2, r5, lsl #2] + 8009e98: 4628 mov r0, r5 + 8009e9a: 4798 blx r3 + 8009e9c: 2000 movs r0, #0 + 8009e9e: e7e0 b.n 8009e62 <_raise_r+0x12> + +08009ea0 : + 8009ea0: 4b02 ldr r3, [pc, #8] ; (8009eac ) + 8009ea2: 4601 mov r1, r0 + 8009ea4: 6818 ldr r0, [r3, #0] + 8009ea6: f7ff bfd3 b.w 8009e50 <_raise_r> + 8009eaa: bf00 nop + 8009eac: 20000020 .word 0x20000020 + +08009eb0 <_kill_r>: + 8009eb0: b538 push {r3, r4, r5, lr} + 8009eb2: 4c07 ldr r4, [pc, #28] ; (8009ed0 <_kill_r+0x20>) + 8009eb4: 2300 movs r3, #0 + 8009eb6: 4605 mov r5, r0 + 8009eb8: 4608 mov r0, r1 + 8009eba: 4611 mov r1, r2 + 8009ebc: 6023 str r3, [r4, #0] + 8009ebe: f7fe fadf bl 8008480 <_kill> + 8009ec2: 1c43 adds r3, r0, #1 + 8009ec4: d102 bne.n 8009ecc <_kill_r+0x1c> + 8009ec6: 6823 ldr r3, [r4, #0] + 8009ec8: b103 cbz r3, 8009ecc <_kill_r+0x1c> + 8009eca: 602b str r3, [r5, #0] + 8009ecc: bd38 pop {r3, r4, r5, pc} + 8009ece: bf00 nop + 8009ed0: 20000eb8 .word 0x20000eb8 + +08009ed4 <_getpid_r>: + 8009ed4: f7fe bacc b.w 8008470 <_getpid> + +08009ed8 <_malloc_r>: + 8009ed8: b570 push {r4, r5, r6, lr} + 8009eda: 1ccd adds r5, r1, #3 + 8009edc: f025 0503 bic.w r5, r5, #3 + 8009ee0: 3508 adds r5, #8 + 8009ee2: 2d0c cmp r5, #12 + 8009ee4: bf38 it cc + 8009ee6: 250c movcc r5, #12 + 8009ee8: 2d00 cmp r5, #0 + 8009eea: 4606 mov r6, r0 + 8009eec: db01 blt.n 8009ef2 <_malloc_r+0x1a> + 8009eee: 42a9 cmp r1, r5 + 8009ef0: d903 bls.n 8009efa <_malloc_r+0x22> + 8009ef2: 230c movs r3, #12 + 8009ef4: 6033 str r3, [r6, #0] + 8009ef6: 2000 movs r0, #0 + 8009ef8: bd70 pop {r4, r5, r6, pc} + 8009efa: f000 f87d bl 8009ff8 <__malloc_lock> + 8009efe: 4a21 ldr r2, [pc, #132] ; (8009f84 <_malloc_r+0xac>) + 8009f00: 6814 ldr r4, [r2, #0] + 8009f02: 4621 mov r1, r4 + 8009f04: b991 cbnz r1, 8009f2c <_malloc_r+0x54> + 8009f06: 4c20 ldr r4, [pc, #128] ; (8009f88 <_malloc_r+0xb0>) + 8009f08: 6823 ldr r3, [r4, #0] + 8009f0a: b91b cbnz r3, 8009f14 <_malloc_r+0x3c> + 8009f0c: 4630 mov r0, r6 + 8009f0e: f000 f863 bl 8009fd8 <_sbrk_r> + 8009f12: 6020 str r0, [r4, #0] + 8009f14: 4629 mov r1, r5 + 8009f16: 4630 mov r0, r6 + 8009f18: f000 f85e bl 8009fd8 <_sbrk_r> + 8009f1c: 1c43 adds r3, r0, #1 + 8009f1e: d124 bne.n 8009f6a <_malloc_r+0x92> + 8009f20: 230c movs r3, #12 + 8009f22: 6033 str r3, [r6, #0] + 8009f24: 4630 mov r0, r6 + 8009f26: f000 f868 bl 8009ffa <__malloc_unlock> + 8009f2a: e7e4 b.n 8009ef6 <_malloc_r+0x1e> + 8009f2c: 680b ldr r3, [r1, #0] + 8009f2e: 1b5b subs r3, r3, r5 + 8009f30: d418 bmi.n 8009f64 <_malloc_r+0x8c> + 8009f32: 2b0b cmp r3, #11 + 8009f34: d90f bls.n 8009f56 <_malloc_r+0x7e> + 8009f36: 600b str r3, [r1, #0] + 8009f38: 50cd str r5, [r1, r3] + 8009f3a: 18cc adds r4, r1, r3 + 8009f3c: 4630 mov r0, r6 + 8009f3e: f000 f85c bl 8009ffa <__malloc_unlock> + 8009f42: f104 000b add.w r0, r4, #11 + 8009f46: 1d23 adds r3, r4, #4 + 8009f48: f020 0007 bic.w r0, r0, #7 + 8009f4c: 1ac3 subs r3, r0, r3 + 8009f4e: d0d3 beq.n 8009ef8 <_malloc_r+0x20> + 8009f50: 425a negs r2, r3 + 8009f52: 50e2 str r2, [r4, r3] + 8009f54: e7d0 b.n 8009ef8 <_malloc_r+0x20> + 8009f56: 428c cmp r4, r1 + 8009f58: 684b ldr r3, [r1, #4] + 8009f5a: bf16 itet ne + 8009f5c: 6063 strne r3, [r4, #4] + 8009f5e: 6013 streq r3, [r2, #0] + 8009f60: 460c movne r4, r1 + 8009f62: e7eb b.n 8009f3c <_malloc_r+0x64> + 8009f64: 460c mov r4, r1 + 8009f66: 6849 ldr r1, [r1, #4] + 8009f68: e7cc b.n 8009f04 <_malloc_r+0x2c> + 8009f6a: 1cc4 adds r4, r0, #3 + 8009f6c: f024 0403 bic.w r4, r4, #3 + 8009f70: 42a0 cmp r0, r4 + 8009f72: d005 beq.n 8009f80 <_malloc_r+0xa8> + 8009f74: 1a21 subs r1, r4, r0 + 8009f76: 4630 mov r0, r6 + 8009f78: f000 f82e bl 8009fd8 <_sbrk_r> + 8009f7c: 3001 adds r0, #1 + 8009f7e: d0cf beq.n 8009f20 <_malloc_r+0x48> + 8009f80: 6025 str r5, [r4, #0] + 8009f82: e7db b.n 8009f3c <_malloc_r+0x64> + 8009f84: 20000eac .word 0x20000eac + 8009f88: 20000eb0 .word 0x20000eb0 + +08009f8c <_realloc_r>: + 8009f8c: b5f8 push {r3, r4, r5, r6, r7, lr} + 8009f8e: 4607 mov r7, r0 + 8009f90: 4614 mov r4, r2 + 8009f92: 460e mov r6, r1 + 8009f94: b921 cbnz r1, 8009fa0 <_realloc_r+0x14> + 8009f96: 4611 mov r1, r2 + 8009f98: e8bd 40f8 ldmia.w sp!, {r3, r4, r5, r6, r7, lr} + 8009f9c: f7ff bf9c b.w 8009ed8 <_malloc_r> + 8009fa0: b922 cbnz r2, 8009fac <_realloc_r+0x20> + 8009fa2: f000 f82b bl 8009ffc <_free_r> + 8009fa6: 4625 mov r5, r4 + 8009fa8: 4628 mov r0, r5 + 8009faa: bdf8 pop {r3, r4, r5, r6, r7, pc} + 8009fac: f000 f874 bl 800a098 <_malloc_usable_size_r> + 8009fb0: 42a0 cmp r0, r4 + 8009fb2: d20f bcs.n 8009fd4 <_realloc_r+0x48> + 8009fb4: 4621 mov r1, r4 + 8009fb6: 4638 mov r0, r7 + 8009fb8: f7ff ff8e bl 8009ed8 <_malloc_r> + 8009fbc: 4605 mov r5, r0 + 8009fbe: 2800 cmp r0, #0 + 8009fc0: d0f2 beq.n 8009fa8 <_realloc_r+0x1c> + 8009fc2: 4631 mov r1, r6 + 8009fc4: 4622 mov r2, r4 + 8009fc6: f7ff ff27 bl 8009e18 + 8009fca: 4631 mov r1, r6 + 8009fcc: 4638 mov r0, r7 + 8009fce: f000 f815 bl 8009ffc <_free_r> + 8009fd2: e7e9 b.n 8009fa8 <_realloc_r+0x1c> + 8009fd4: 4635 mov r5, r6 + 8009fd6: e7e7 b.n 8009fa8 <_realloc_r+0x1c> + +08009fd8 <_sbrk_r>: + 8009fd8: b538 push {r3, r4, r5, lr} + 8009fda: 4c06 ldr r4, [pc, #24] ; (8009ff4 <_sbrk_r+0x1c>) + 8009fdc: 2300 movs r3, #0 + 8009fde: 4605 mov r5, r0 + 8009fe0: 4608 mov r0, r1 + 8009fe2: 6023 str r3, [r4, #0] + 8009fe4: f7fe fa66 bl 80084b4 <_sbrk> + 8009fe8: 1c43 adds r3, r0, #1 + 8009fea: d102 bne.n 8009ff2 <_sbrk_r+0x1a> + 8009fec: 6823 ldr r3, [r4, #0] + 8009fee: b103 cbz r3, 8009ff2 <_sbrk_r+0x1a> + 8009ff0: 602b str r3, [r5, #0] + 8009ff2: bd38 pop {r3, r4, r5, pc} + 8009ff4: 20000eb8 .word 0x20000eb8 + +08009ff8 <__malloc_lock>: + 8009ff8: 4770 bx lr + +08009ffa <__malloc_unlock>: + 8009ffa: 4770 bx lr + +08009ffc <_free_r>: + 8009ffc: b538 push {r3, r4, r5, lr} + 8009ffe: 4605 mov r5, r0 + 800a000: 2900 cmp r1, #0 + 800a002: d045 beq.n 800a090 <_free_r+0x94> + 800a004: f851 3c04 ldr.w r3, [r1, #-4] + 800a008: 1f0c subs r4, r1, #4 + 800a00a: 2b00 cmp r3, #0 + 800a00c: bfb8 it lt + 800a00e: 18e4 addlt r4, r4, r3 + 800a010: f7ff fff2 bl 8009ff8 <__malloc_lock> + 800a014: 4a1f ldr r2, [pc, #124] ; (800a094 <_free_r+0x98>) + 800a016: 6813 ldr r3, [r2, #0] + 800a018: 4610 mov r0, r2 + 800a01a: b933 cbnz r3, 800a02a <_free_r+0x2e> + 800a01c: 6063 str r3, [r4, #4] + 800a01e: 6014 str r4, [r2, #0] + 800a020: 4628 mov r0, r5 + 800a022: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} + 800a026: f7ff bfe8 b.w 8009ffa <__malloc_unlock> + 800a02a: 42a3 cmp r3, r4 + 800a02c: d90c bls.n 800a048 <_free_r+0x4c> + 800a02e: 6821 ldr r1, [r4, #0] + 800a030: 1862 adds r2, r4, r1 + 800a032: 4293 cmp r3, r2 + 800a034: bf04 itt eq + 800a036: 681a ldreq r2, [r3, #0] + 800a038: 685b ldreq r3, [r3, #4] + 800a03a: 6063 str r3, [r4, #4] + 800a03c: bf04 itt eq + 800a03e: 1852 addeq r2, r2, r1 + 800a040: 6022 streq r2, [r4, #0] + 800a042: 6004 str r4, [r0, #0] + 800a044: e7ec b.n 800a020 <_free_r+0x24> + 800a046: 4613 mov r3, r2 + 800a048: 685a ldr r2, [r3, #4] + 800a04a: b10a cbz r2, 800a050 <_free_r+0x54> + 800a04c: 42a2 cmp r2, r4 + 800a04e: d9fa bls.n 800a046 <_free_r+0x4a> + 800a050: 6819 ldr r1, [r3, #0] + 800a052: 1858 adds r0, r3, r1 + 800a054: 42a0 cmp r0, r4 + 800a056: d10b bne.n 800a070 <_free_r+0x74> + 800a058: 6820 ldr r0, [r4, #0] + 800a05a: 4401 add r1, r0 + 800a05c: 1858 adds r0, r3, r1 + 800a05e: 4282 cmp r2, r0 + 800a060: 6019 str r1, [r3, #0] + 800a062: d1dd bne.n 800a020 <_free_r+0x24> + 800a064: 6810 ldr r0, [r2, #0] + 800a066: 6852 ldr r2, [r2, #4] + 800a068: 605a str r2, [r3, #4] + 800a06a: 4401 add r1, r0 + 800a06c: 6019 str r1, [r3, #0] + 800a06e: e7d7 b.n 800a020 <_free_r+0x24> + 800a070: d902 bls.n 800a078 <_free_r+0x7c> + 800a072: 230c movs r3, #12 + 800a074: 602b str r3, [r5, #0] + 800a076: e7d3 b.n 800a020 <_free_r+0x24> + 800a078: 6820 ldr r0, [r4, #0] + 800a07a: 1821 adds r1, r4, r0 + 800a07c: 428a cmp r2, r1 + 800a07e: bf04 itt eq + 800a080: 6811 ldreq r1, [r2, #0] + 800a082: 6852 ldreq r2, [r2, #4] + 800a084: 6062 str r2, [r4, #4] + 800a086: bf04 itt eq + 800a088: 1809 addeq r1, r1, r0 + 800a08a: 6021 streq r1, [r4, #0] + 800a08c: 605c str r4, [r3, #4] + 800a08e: e7c7 b.n 800a020 <_free_r+0x24> + 800a090: bd38 pop {r3, r4, r5, pc} + 800a092: bf00 nop + 800a094: 20000eac .word 0x20000eac + +0800a098 <_malloc_usable_size_r>: + 800a098: f851 3c04 ldr.w r3, [r1, #-4] + 800a09c: 1f18 subs r0, r3, #4 + 800a09e: 2b00 cmp r3, #0 + 800a0a0: bfbc itt lt + 800a0a2: 580b ldrlt r3, [r1, r0] + 800a0a4: 18c0 addlt r0, r0, r3 + 800a0a6: 4770 bx lr + +0800a0a8 <_init>: + 800a0a8: b5f8 push {r3, r4, r5, r6, r7, lr} + 800a0aa: bf00 nop + 800a0ac: bcf8 pop {r3, r4, r5, r6, r7} + 800a0ae: bc08 pop {r3} + 800a0b0: 469e mov lr, r3 + 800a0b2: 4770 bx lr + +0800a0b4 <_fini>: + 800a0b4: b5f8 push {r3, r4, r5, r6, r7, lr} + 800a0b6: bf00 nop + 800a0b8: bcf8 pop {r3, r4, r5, r6, r7} + 800a0ba: bc08 pop {r3} + 800a0bc: 469e mov lr, r3 + 800a0be: 4770 bx lr diff --git a/otto_controller_source/Debug/st-link_gdbserver_log.txt b/otto_controller_source/Debug/st-link_gdbserver_log.txt index e4e9ff7..85c5e10 100644 --- a/otto_controller_source/Debug/st-link_gdbserver_log.txt +++ b/otto_controller_source/Debug/st-link_gdbserver_log.txt @@ -8,4709 +8,3427 @@ [0.000] initConfigParams(): +verbose true [0.000] initConfigParams(): refresh-delay 15 [0.000] initConfigParams(): +verify true -[0.001] initConfigParams(): +swd true -[0.001] initConfigParams(): +swo-port 61235 -[0.001] initConfigParams(): +cpu-clock 16000000 -[0.001] initConfigParams(): +swo-clock-div 8 -[0.001] initConfigParams(): initialize-reset false -[0.001] initConfigParams(): debuggers false -[0.001] initConfigParams(): serial-number "" -[0.001] initConfigParams(): +apid 0 -[0.001] initConfigParams(): +attach true -[0.001] initConfigParams(): shared false -[0.001] initConfigParams(): erase-all false -[0.001] initConfigParams(): memory-map "" -[0.001] initConfigParams(): ext-memory-loaders false -[0.001] initConfigParams(): extload "" -[0.001] initConfigParams(): +stm32cubeprogrammer-path "/opt/st/stm32cubeide_1.1.0/plugins/com.st.stm32cube.ide.mcu.externaltools.cubeprogrammer.linux64_1.1.0.201910081157/tools/bin" -[0.001] initConfigParams(): temp-path "" -[0.001] initConfigParams(): preserve-temps false -[0.001] initConfigParams(): frequency -1 -[0.001] initConfigParams(): licenses false -[0.001] initConfigParams(): ignore-rest false -[0.001] initConfigParams(): version false -[0.001] initConfigParams(): help false -[0.001] initConfigParams(): Configuration flags end -[0.001] init(): STMicroelectronics ST-LINK GDB server. Version 5.3.2 +[0.000] initConfigParams(): +swd true +[0.000] initConfigParams(): +swo-port 61235 +[0.000] initConfigParams(): +cpu-clock 16000000 +[0.000] initConfigParams(): +swo-clock-div 8 +[0.000] initConfigParams(): initialize-reset false +[0.000] initConfigParams(): debuggers false +[0.000] initConfigParams(): serial-number "" +[0.000] initConfigParams(): +apid 0 +[0.000] initConfigParams(): +attach true +[0.000] initConfigParams(): shared false +[0.000] initConfigParams(): erase-all false +[0.000] initConfigParams(): memory-map "" +[0.000] initConfigParams(): ext-memory-loaders false +[0.000] initConfigParams(): extload "" +[0.000] initConfigParams(): +stm32cubeprogrammer-path "/opt/st/stm32cubeide_1.1.0/plugins/com.st.stm32cube.ide.mcu.externaltools.cubeprogrammer.linux64_1.1.0.201910081157/tools/bin" +[0.000] initConfigParams(): temp-path "" +[0.000] initConfigParams(): preserve-temps false +[0.000] initConfigParams(): frequency -1 +[0.000] initConfigParams(): licenses false +[0.000] initConfigParams(): ignore-rest false +[0.000] initConfigParams(): version false +[0.000] initConfigParams(): help false +[0.000] initConfigParams(): Configuration flags end +[0.000] init(): STMicroelectronics ST-LINK GDB server. Version 5.3.2 Copyright (c) 2019, STMicroelectronics. All rights reserved. -[0.004] Device_Initialise(): Target connection mode: Attach -[0.008] reset_hw_wtchpt_module(): Hardware watchpoint supported by the target -[0.011] Device_Initialise(): COM frequency = 4000 kHz -[0.011] Device_Initialise(): ST-LINK Firmware version : V2J35M26 -[0.011] Device_Initialise(): Device ID: 0x451 -[0.011] Device_Initialise(): PC: 0x0 -[0.011] Device_GetStatus(): ST-LINK device status: RUN_MODE -[0.011] Device_Initialise(): ST-LINK detects target voltage = 3.27 V -[0.012] Device_Initialise(): ST-LINK device status: RUN_MODE -[0.012] initServerContext(): ST-LINK device initialization OK -[0.012] WaitConnection(): Waiting for connection on port 61235... -[0.012] WaitConnection(): Waiting for connection on port 61234... -[2.020] WaitConnection(): Accepted connection on port 61234... -[2.020] handleGDBConnection(): Try halt ... -[2.021] read(): <13> Rx: +$qSupported:multiprocess+;swbreak+;hwbreak+;qRelocInsn+;fork-events+;vfork-events+;exec-events+;vContSupported+;QThreadEvents+;no-resumed+#df -[2.031] Device_GetStatus(): ST-LINK device status: HALT_MODE -[2.031] write(): <13> Tx: + -[2.031] write(): <13> Tx: $PacketSize=c00;qXfer:memory-map:read+;qXfer:features:read+;QStartNoAckMode+;QNonStop+;qXfer:threads:read+;hwbreak+;swbreak+#f2 -[2.031] read(): <13> Rx: + -[2.031] read(): <13> Rx: $vMustReplyEmpty#3a -[2.031] write(): <13> Tx: + -[2.031] write(): <13> Tx: $#00 -[2.076] read(): <13> Rx: +$QStartNoAckMode#b0 -[2.086] write(): <13> Tx: + -[2.086] write(): <13> Tx: $OK#9a -[2.127] read(): <13> Rx: + -[2.128] read(): <13> Rx: $Hg0#df -[2.128] write(): <13> Tx: $#00 -[2.128] read(): <13> Rx: $qXfer:features:read:target.xml:0,bfb#75 -[2.128] write(): <13> Tx: $l #aa -[2.129] read(): <13> Rx: $QNonStop:1#8d -[2.129] write(): <13> Tx: $OK#9a -[2.129] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb -[2.129] write(): <13> Tx: $l#8b -[2.129] read(): <13> Rx: $qAttached#8f -[2.129] write(): <13> Tx: $1#31 -[2.130] read(): <13> Rx: $qTStatus#49 -[2.130] write(): <13> Tx: $#00 -[2.130] read(): <13> Rx: $?#3f -[2.130] write(): <13> Tx: $T05thread:1;core:0;#25 -[2.130] read(): <13> Rx: $vStopped#55 -[2.130] write(): <13> Tx: $OK#9a -[2.131] read(): <13> Rx: $Hg1#e0 -[2.131] write(): <13> Tx: $#00 -[2.131] read(): <13> Rx: $g#67 -[2.137] write(): <13> Tx: $01000000010000000100000084020020000000000000000000000000f8ff07200000000000000000000000000000000000000000f8ff07207d3f000876400008000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cdcccc3d0000c842000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000f8ff072000000000#1e -[2.260] read(): <13> Rx: $qXfer:memory-map:read::0,bfb#14 -[2.260] write(): <13> Tx: $l\x0a\x0a0x8000\x0a\x0a0x8000\x0a#79 -[2.260] read(): <13> Rx: $m8004076,4#36 -[2.260] handlePacket(): Reading 0x4 bytes of memory from addr 0x8004076 -[2.261] write(): <13> Tx: $fee76800#35 -[2.262] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb -[2.262] write(): <13> Tx: $l#8b -[2.263] read(): <13> Rx: $qRcmd,57726974654450203078322030783030303030304630#f6 -[2.263] write(): <13> Tx: $4f2e4b2e0a#ef -[2.264] read(): <13> Rx: $qRcmd,52656164415020307832#29 -[2.265] write(): <13> Tx: $4f2e4b2e3a307865303066646664300a#95 -[2.266] read(): <13> Rx: $me00fdfd0,20#84 -[2.266] handlePacket(): Reading 0x20 bytes of memory from addr 0xe00fdfd0 -[2.266] write(): <13> Tx: $0000000000000000000000000000000051000000040000001a00000000000000#3c -[2.267] read(): <13> Rx: $qRcmd,7265736574#37 -[2.267] STM32_AppReset(): Enter STM32_AppReset() function -[2.372] STM32_AppReset(): NVIC_DFSR_REG = 0x00000009 -[2.373] STM32_AppReset(): NVIC_CFGFSR_REG = 0x00000000 -[2.373] STM32_AppReset(): XPSR = 0x01000000 -[2.373] write(): <13> Tx: $53544d3332205375636365737366756c6c7920636f6d706c65746564207265736574206f7065726174696f6e0a#59 -[2.373] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb -[2.374] write(): <13> Tx: $l#8b -[2.376] WaitConnection(): Accepted connection on port 61235... -[2.377] read(): <13> Rx: $T1#85 -[2.377] write(): <13> Tx: $OK#9a -[2.377] read(): <13> Rx: $T1#85 -[2.377] write(): <13> Tx: $OK#9a -[2.378] read(): <13> Rx: $m40000024,4#57 -[2.378] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[2.378] write(): <13> Tx: $00000000#80 -[2.378] read(): <13> Rx: $vFlashErase:08000000,00008000#ca -[2.378] handleFlashPacket(): FlashErase skipped (Will be performed at flash done) -[2.378] write(): <13> Tx: $OK#9a -[2.379] read(): <13> Rx: $vFlashWrite:8000000:\x00\x00\x08 \xffL\x00\x08\xffK\x00\x08\xffK\x00\x08\xffK\x00\x08\xffK\x00\x08\xffK\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xffK\x00\x08\xffK\x00\x08\x00\x00\x00\x00\xffK\x00\x08\xffK\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x01L\x00\x08\x0dM\x00\x08\x15L\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08)L\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08=L\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x00\x00\x00\x00\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x00\x00\x00\x00\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08\x0dM\x00\x08#10 -[2.379] handleFlashPacket(): Flash write: Address= 0x8000000, Length=504 -[2.379] write(): <13> Tx: $OK#9a -[2.379] read(): <13> Rx: $vFlashWrite:80001f8:\x10\xff\x05L}\x03x3\xff\x04K\x13\xff\x04H\xff\xff\x00\xff\x01}\x03}\x03p\x10\xff\x0c\x00\x00 \x00\x00\x00\x00hM\x00\x08\x08\xff\x03K\x1b\xff\x03I\x03H\xff\xff\x00\xff\x08\xff\x00\x00\x00\x00\x10\x00\x00 hM\x00\x08S\xffJ\xff\x00)\x08\xff\x00(\x1c\xffO\xff\xff1O\xff\xff0\x00\xffr\xff\xff\xff\x08\x0cm\xff\x04\xff\x00\xff\x06\xff\xff\xff\x04\xff\xff\xff\x02}\x03\x04\xffpG-\xff\xffG\x08\xff\x04F\xffF\x00+K\xff\xffB\x15Fg\xff\xff\xff\xff\xffJ\xff\xff\xff \x07\x01\xff\x02\xff \xff\x07\xff\xff@G\xff\x03\x08\xff@O\xff\x15N}\x03\x0c\xff\xff\xff\xff\x1f\xff\xff\xff\x0e\xff\x17\xffC\xff\x08C\x07\xff\x0c\xff\xffB\x09\xff\xff\x18\x07\xff\xff0\xff\xff\x1b\xff\xffB@\xff\x18\xff\x02?+D[\x1a\xff\xff\xff\xff\xff\xff\x0e\xff\x103D\xff\x03D\x00\xff\x0c\xff\xffE\x09\xff,\x19\x00\xff\xff3\xff\xff\x07\xff\xffE@\xff\x04\xff\x028,D@\xff\x07@\xff\xff\x0c\x04\x00'\x1e\xff\xff@\x00}\x03\xff\xff\x00C9F\xff\xff\xff\xff\xffB\x09\xff\x00.\x00\xff\xff\xff\x00'\xff\xff\x00\x018F9F\xff\xff\xff\xff\xff\xff\xff\xff\x00/G\xff\xffB\x02\xff\xffB\x00\xff\xff\xff\xff\x1aa\xff\x03\x03\x01 \xffF\x00.\xff\xff\xff\xff\x00H\xff\xff\x02\xff\xff\xff\xff\xff\xff\xff\x00}\x0a@\xff\xff\xffI\x1bO\xff\x15N\x1f\xff\xff\xff\x01'\xff\xff\xff\xff}\x03\x0c\x0e\xff\x1c\x11C\xff\x01C\x08\xff\x0c\xff\xffB\x07\xff\xff\x18\x0c\xff\xff0\x02\xff\xffB\x00\xff\xff\xff\xffFY\x1a\xff\xff\xff\xff\xff\xff\x0e\xff\x10\x14C\xff\x04D\x08\xff\x00\xff\xffE\x07\xff,\x19\x00\xff\xff3\x02\xff\xffE\x00\xff\xff\xff\x18F\xff\xff\x08\x04@\xff\x0c@\xff\xff\xff\xff \x0c\xff@"\xff\x0c\xffN\xff\x03\x0e\x01\xff\x07\xff \xff\x0c\xff!\xff\x0c\xffO\xff\x1eH%C\xff\xff\xff\xff,\x0c\x08\xff\x193\x1f\xff\xff\xffD\xff\x03C\x09\xff\x0a\xff\xffB\x02\xff\x07\xff\x00\xff\x07\xff\x0b\xff\x1e\xff\x03\x03\x09\xff\xff0\xff\xff\xff\xff\xffB@\xff\xff\xff\xff\xff\x02\x09sD\x1b\x1b\xff\xff\xff\xff\xff\xff\x08\xff\x103E\xff\x03D\x00\xff\x0a\xff\xffE\x08\xff\x1e\xff\x04\x04\x00\xff\xff3k\xff\xffEi\xff\x028tD@\xff\x09@\xff\xff\x02\xff\xff\xff\x0a\x04LE\xffFKFT\xffQ\xff\x00.i\xff\xff\xff\x0a\x05d\xff\x03\x04\x04\xff\x0c\xff\xff@\xff@L\xff\x05\x05\xff\xff\x00T\x00'G\xff\xff\xff \x03 \xff\x03\xff\xff@\x01\xff\x02\xff!\xff\x03\xffO\xff\x15N8C\x01\x0c\xff\xff\xff\xff\x1f\xff\xff\xff\x0e\xff\x173A\xff\x03A\x07\xff\x08\xff\xffB\x04\xff\x02\xff\x07\xffi\x18\x07\xff\xff\xffxazh\xffhxi\xff\xff\xff\xff\x02F\xff\xff\x0f0\x11F\x18F\xff\xff]\xff\x00\xff\x187\xffF\xff\xff\xff\xff\xff\xff\x00\xff\x03F\xffq\xff\xff\x070\x18F\xff\xff1\xff\x00\xff\x087\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`xh\xff\xff\xff\xff\x03F\x18F\x087\xffF\xff\xff\x00\x00\xff\xff\xff\xff\x00\xffx`\x00}\x03{a\xff\xff\xff\xff8a{h\x00+\x01\xff\x01}\x03\xff\xff{h\x00"\xff\xff4 {h\x02"\xff\xff5 {h\x1bh\x1ah{h\x1bh"\xff\x01\x02\x1a`\x0f\xff\xff\xff\xff\xff\x02F;i\xff\x1a\x05+\x08\xff{h "Ze{h\x03"\xff\xff5 \x03}\x03x\xff{h\x1bh\x1bh\x03\xff\x01\x03\x00+\xff\xff{h\x1bh\x1bh{azi8K\x13@{a{hZh{h\xffh\x1aC{h\xffh\x1aC{h\x1bi\x1aC{h[i\x1aC{h\xffi\x1aC{h\xffi\x1aC{h\x1bj\x13Czi\x13C{a{h[j\x04+\x07\xff{h\xffj{h\x1bk\x13Czi\x13C{a{h\x1bhzi\x1a`{h\x1bh[i{a{i}\x03\xff\x07\x03{a{h[jzi\x13C{a{h[j\x04+\x17\xff{h\xffjzi\x13C{a{h\xffj\x00+\x0e\xffxh\x00\xff\x0b\xff\x03F\x00+\x08\xff{h@"Ze{h\x01"\xff\xff5 \x01}\x03\x16\xff{h\x1bhziZaxh\x00\xff\xff\xff\x03F\xff`{h\xffm?"\xff@\xffh\xff`{h\x00"Ze{h\x01"\xff\xff5 \x00}\x03\x18F\x187\xffF\xff\xff?\xff\x10\xff\xff\xff\xff\xff\x00\xffx`{h\xff\xff50\xff\xff\x02+\x04\xff{h\xff"Ze\x01}\x03\x0c\xff{h\x05"\xff\xff5 {h\x1bh\x1ah{h\x1bh"\xff\x01\x02\x1a`\x00}\x03\x18F\x0c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`\x00}\x03\xff`\xffK\x1bh\xffJ\xff\xff\x03}\x03\xff\x0a{a{h\xffm;a;i\x1bh\xff`{h\xffm\x08"\xff@\xffh\x13@\x00+\x1a\xff{h\x1bh\x1bh\x03\xff\x04\x03\x00+\x13\xff{h\x1bh\x1ah{h\x1bh"\xff\x04\x02\x1a`{h\xffm\x08"\xff@;i\xff`{h[mC\xff\x01\x02{hZe{h\xffm\x01"\xff@\xffh\x13@\x00+\x12\xff{h\x1bh[i\x03\xff\xff\x03\x00+\x0b\xff{h\xffm\x01"\xff@;i\xff`{h[mC\xff\x02\x02{hZe{h\xffm\x04"\xff@\xffh\x13@\x00+\x12\xff{h\x1bh\x1bh\x03\xff\x02\x03\x00+\x0b\xff{h\xffm\x04"\xff@;i\xff`{h[mC\xff\x04\x02{hZe{h\xffm\x10"\xff@\xffh\x13@\x00+C\xff{h\x1bh\x1bh\x03\xff\x08\x03\x00+<\xff{h\xffm\x10"\xff@;i\xff`{h\x1bh\x1bh\x03\xff\xff}\x03\x00+\x18\xff{h\x1bh\x1bh\x03\xff\x00}\x03\x00+\x08\xff{h\x1bl\x00+}\x04\xff{h\x1blxh\xffG\x1f\xff{h\xffl\x00+\x1b\xff{h\xfflxh\xffG\x16\xff{h\x1bh\x1bh\x03\xff\xffs\x00+\x07\xff{h\x1bh\x1ah{h\x1bh"\xff\x08\x02\x1a`{h\x1bl\x00+\x03\xff{h\x1blxh\xffG{h\xffm "\xff@\xffh\x13@\x00+\x00\xff\xff\xff{h\x1bh\x1bh\x03\xff\x10\x03\x00+\x00\xff\xff\xff{h\xffm "\xff@;i\xff`{h\xff\xff50\xff\xff\x05+6\xff{h\x1bh\x1ah{h\x1bh"\xff\x16\x02\x1a`{h\x1bhZi{h\x1bh"\xff\xff\x02Za{h\x1bl\x00+\x03\xff{h\xffl\x00+\x07\xff{h\x1bh\x1ah{h\x1bh"\xff\x08\x02\x1a`{h\xffm?"\xff@;i\xff`{h\x00"\xff\xff4 {h\x01"\xff\xff5 {h\x1bm\x00+}]\xff{h\x1bmxh\xffGx\xff{h\x1bh\x1bh\x03\xff\xff}\x03\x00+\x1c\xff{h\x1bh\x1bh\x03\xff\x00}\x03\x00+\x08\xff{h[l\x00+0\xff{h[lxh\xffG+\xff{h\xffk\x00+'\xff{h\xffkxh\xffG"\xff\x08\x00\x00 \xff\xffN\x1b{h\x1bh\x1bh\x03\xff\xffs\x00+\x0f\xff{h\x1bh\x1ah{h\x1bh"\xff\x10\x02\x1a`{h\x00"\xff\xff4 {h\x01"\xff\xff5 {h\xffk\x00+\x03\xff{h\xffkxh\xffG{h[m\x00+2\xff{h[m\x03\xff\x01\x03\x00+"\xff{h\x05"\xff\xff5 {h\x1bh\x1ah{h\x1bh"\xff\x01\x02\x1a`\xffh\x013\xff`zi\xffB\x07\xff{h\x1bh\x1bh\x03\xff\x01\x03\x00+\xff\xff\x00\xff\x00\xff{h\x00"\xff\xff4 {h\x01"\xff\xff5 {h\xffl\x00+\x05\xff{h\xfflxh\xffG\x00\xff\x00\xff\x187\xffF\xff\xff\x00\xff\xff\xff\xff\xff\x00\xffx`{h\x1bh\xff\xff\x10;\x13J\xff\xff\x03}\x03\x1b\x09\xff`\x12J\xffh\x13D\x1bx\x1aF{h\xffe\xffh\x03+\x08\xff{h\x1bh\x1aF\x0cK\x13@\x1a\x1d{h\xffe\x06\xff{h\x1bh\x1aF\x08K\x13@zh\xffe{h\xffm\x18F\x147\xffF]\xff\x04{pG\x00\xff\xff\xff\xff\xff\xffM\x00\x08\x00\xff\xff\xff\xff\xff\xff\xff\x00\xffx`\x00}\x03\xffs{h\xffj\xff`{h\xffi\x00+\x1f\xff\xffh\x03+U\xff\x01\xffR\xff}\x03\xff\x00\xffq\x0d\x00\x08\xff\x0d\x00\x08q\x0d\x00\x08\x05\x0e\x00\x08{h\xffj\x03\xff\xffs\x00+E\xff\x01}\x03\xffsB\xff{h\xffj\xff\xff\xff\x7f?\xff\x01}\x03\xffs<\xff{h\xffi\xff\xff\x00_!\xff\xffh\x03+6\xff\x01\xffR\xff}\x03\xff\xff\x0d\x00\x08\xff\x0d\x00\x08#35 -[2.379] handleFlashPacket(): Flash write: Address= 0x80001f8, Length=3000 -[2.379] write(): <13> Tx: $OK#9a -[2.380] read(): <13> Rx: $vFlashWrite:8000db0:\xff\x0d\x00\x08\xff\x0d\x00\x08\x01}\x03\xffs/\xff{h\xffj\x03\xff\xffs\x00+}\x04\xff\x01}\x03\xffs!\xff{h\xffj\xff\xff\xff\x7f\x1e\xff\x01}\x03\xffs\x1b\xff\xffh\x02+\x02\xff\x03+\x03\xff\x18\xff\x01}\x03\xffs\x15\xff{h\xffj\x03\xff\xffs\x00+\x0e\xff\x01}\x03\xffs\x0b\xff\x00\xff\x0a\xff\x00\xff\x08\xff\x00\xff\x06\xff\x00\xff\x04\xff\x00\xff\x02\xff\x00\xff\x00\xff\x00\xff\xff{\x18F\x147\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`9`\x00}\x03\xffa\x00}\x03{a\x00}\x03;a\x00}\x03\xffa\x00}\x03\xffau\xff\x01"\xffi\x02\xff\x03\xff{a;h\x1bhzi\x13@;a:i{i\xffB@\xffd\xff;h[h\x02+\x03\xff;h[h\x12+}\x03\xff\xffi\xff\x08{h\x082S\xff"0\xffa\xffi\x03\xff\x07\x03\xff\x00\x0f"\x02\xff\x03\xff\xffC\xffi\x13@\xffa;h\x1ai\xffi\x03\xff\x07\x03\xff\x00\x02\xff\x03\xff\xffi\x13C\xffa\xffi\xff\x08{h\x082\xffiC\xff"\x10{h\x1bh\xffa\xffi[\x00\x03"\x02\xff\x03\xff\xffC\xffi\x13@\xffa;h[h\x03\xff\x03\x02\xffi[\x00\x02\xff\x03\xff\xffi\x13C\xffa{h\xffi\x1a`;h[h\x01+\x0b\xff;h[h\x02+\x07\xff;h[h\x11+\x03\xff;h[h\x12+0\xff{h\xffh\xffa\xffi[\x00\x03"\x02\xff\x03\xff\xffC\xffi\x13@\xffa;h\xffh\xffi[\x00\x02\xff\x03\xff\xffi\x13C\xffa{h\xffi\xff`{h[h\xffa\x01"\xffi\x02\xff\x03\xff\xffC\xffi\x13@\xffa;h[h\x1b\x09\x03\xff\x01\x02\xffi\x02\xff\x03\xff\xffi\x13C\xffa{h\xffiZ`{h\xffh\xffa\xffi[\x00\x03"\x02\xff\x03\xff\xffC\xffi\x13@\xffa;h\xffh\xffi[\x00\x02\xff\x03\xff\xffi\x13C\xffa{h\xffi\xff`;h[h\x03\xff\xffS\x00+\x00\xff\xff\xffeK[ldJC\xff\xffCSdbK[l\x03\xff\xffC\xff`\xffh`J\xffi\xff\x08\x023R\xff}\x030\xffa\xffi\x03\xff\x03\x03\xff\x00\x0f"\x02\xff\x03\xff\xffC\xffi\x13@\xffa{hWJ\xffB7\xff{hVJ\xffB1\xff{hUJ\xffB+\xff{hTJ\xffB%\xff{hSJ\xffB\x1f\xff{hRJ\xffB\x19\xff{hQJ\xffB\x13\xff{hPJ\xffB\x0d\xff{hOJ\xffB\x07\xff{hNJ\xffB\x01\xff\x09}\x03\x12\xff\x0a}\x03\x10\xff\x08}\x03\x0e\xff\x07}\x03\x0c\xff\x06}\x03\x0a\xff\x05}\x03\x08\xff\x04}\x03\x06\xff\x03}\x03\x04\xff\x02}\x03\x02\xff\x01}\x03\x00\xff\x00}\x03\xffi\x02\xff\x03\x02\xff\x00\xff@\xffi\x13C\xffa4I\xffi\xff\x08\x023\xffiA\xff}\x03 Tx: $OK#9a -[2.380] read(): <13> Rx: $vFlashWrite:8001930:I\x1bb\xff\x06\x02O\xff\x00\x03O\xff\x00\x04\xff\x01D\xff\xffd\xff\x01[\x1ad\xff\x02\x04O\xff\x00\x01O\xff\x00\x02\xff\x00B\xffSr\xff\x00\x0bF\x14F[\x19D\xff\x06\x04O\xff\x00\x01O\xff\x00\x02\xff\x02B\xff\xffR\xff\x02\x0bF\x14F\x18F!F{hO\xff\x00\x04\x1aF}\x03F\xff\xffV\xff\x03F\x0cF\xff`\x0bK[h\x1b\x0c\x03\xff\x03\x03\x013[\x00;`\xffh;h\xff\xff\xff\xff\xff`\x02\xff\x05K\xff`\x00\xff\xffh\x18F\x147\xffF\xff\xff\x00\xff\x008\x02@\x00}\x04\xff\x00@x}]\x01\xff\xff\x00\xff\x03K\x1bh\x18F\xffF]\xff\x04{pG\x00\xff\x08\x00\x00 \xff\xff\x00\xff\xff\xff\xff\xff\x01F\x05K\xffh\xff\x0a\x03\xff\x07\x03\x03J\xff\\!\xff\x03\xff\x18F\xff\xff\x008\x02@\xffM\x00\x08\xff\xff\x00\xff\xff\xff\xff\xff\x01F\x05K\xffh[\x0b\x03\xff\x07\x03\x03J\xff\\!\xff\x03\xff\x18F\xff\xff\x008\x02@\xffM\x00\x08\xff\xff\xff\xff\x00\xffx`\x00}\x03{a\x00}\x03;a\x00}\x03\xff`\x00}\x03\xffa\x00}\x03\xffa{h\x1bh\x03\xff\x01\x03\x00+\x12\xffiK\xffhhJ}\x03\xff\x00\x03\xff`fK\xffh{h[kdI\x13C\xff`{h[k\x00+\x01\xff\x01}\x03\xffa{h\x1bh\x03\xff\x00}\x03\x00+\x17\xff]K\xff\xff\xff0}\x03\xff@\x12{h\xffkYI\x13C\xff\xff\xff0{h\xffk\xff\xff\xff\x1f\x01\xff\x01}\x03\xffa{h\xffk\x00+\x01\xff\x01}\x03\xffa{h\x1bh\x03\xff\xff\x13\x00+\x17\xffNK\xff\xff\xff0}\x03\xff@\x02{h\x1blJI\x13C\xff\xff\xff0{h\x1bl\xff\xff\xff\x0f\x01\xff\x01}\x03\xffa{h\x1bl\x00+\x01\xff\x01}\x03\xffa{h\x1bh\x03\xff\xffs\x00+\x01\xff\x01}\x03\xffa{h\x1bh\x03\xff \x03\x00+\x00\xff\xff\xff:K\x1bl9JC\xff\xffS\x13d7K\x1bl\x03\xff\xffS\xff`\xffh5K\x1bh4JC\xff\xffs\x13`\xff\xffN\xffxa\x08\xff\xff\xffJ\xff\x02F{i\xff\x1ad+\x01\xff\x03}\x03\xff\xff,K\x1bh\x03\xff\xffs\x00+\xff\xff(K\x1bo\x03\xff@s;a;i\x00+5\xff{h\x1bk\x03\xff@s:i\xffB.\xff K\x1bo}\x03\xff@s;a\x1eK\x1bo\x1dJC\xff\xff3\x13g\x1bK\x1bo\x1aJ}\x03\xff\xff3\x13g\x18J;i\x13g\x16K\x1bo\x03\xff\x01\x03\x01+\x14\xff\xff\xff\x12\xffxa\x0a\xff\xff\xff\x0e\xff\x02F{i\xff\x1aA\xff\xff2\xffB\x01\xff\x03}\x03O\xff\x0cK\x1bo\x03\xff\x02\x03\x00+\xff\xff{h\x1bk\x03\xff@s\xff\xff@\x7f\x11\xff\x05K\xffh}\x03\xff\xff\x12{h\x19k\x04K\x0b@\x01I\x13C\xff`\x0b\xff\x008\x02@\x00p\x00@\xff\xff\xff\x0f\xffK\xffh\xffJ}\x03\xff\xff\x13\xff`\xffK\x1ao{h\x1bk\xff\xff\x0b\x03\xffI\x13C\x0bg{h\x1bh\x03\xff\x10\x03\x00+\x10\xff\xffK\xff\xff\xff0\xffJ}\x03\xff\xffs\xff\xff\xff0\xffK\xff\xff\xff {h\xffk\xffI\x13C\xff\xff\xff0{h\x1bh\x03\xff\xffC\x00+\x0a\xff\xffK\xff\xff\xff0}\x03\xff@2{h[n\xffI\x13C\xff\xff\xff0{h\x1bh\x03\xff\x00C\x00+\x0a\xff\xffK\xff\xff\xff0}\x03\xff@"{h\xffn\xffI\x13C\xff\xff\xff0{h\x1bh\x03\xff\xff3\x00+\x0a\xff\xffK\xff\xff\xff0}\x03\xff@\x12{h\xffn\xffI\x13C\xff\xff\xff0{h\x1bh\x03\xff\x003\x00+\x0a\xff\xffK\xff\xff\xff0}\x03\xff@\x02{h\x1bo\xffI\x13C\xff\xff\xff0{h\x1bh\x03\xff@\x03\x00+\x0a\xff{K\xff\xff\xff0}\x03\xff\x03\x02{h[lxI\x13C\xff\xff\xff0{h\x1bh\x03\xff\xff\x03\x00+\x0a\xffsK\xff\xff\xff0}\x03\xff\x0c\x02{h\xffloI\x13C\xff\xff\xff0{h\x1bh\x03\xff\xffs\x00+\x0a\xffjK\xff\xff\xff0}\x03\xff0\x02{h\xfflgI\x13C\xff\xff\xff0{h\x1bh\x03\xff\x00s\x00+\x0a\xffbK\xff\xff\xff0}\x03\xff\xff\x02{h\x1bm^I\x13C\xff\xff\xff0{h\x1bh\x03\xff\xffc\x00+\x0a\xffYK\xff\xff\xff0}\x03\xff@r{h[mVI\x13C\xff\xff\xff0{h\x1bh\x03\xff\x00c\x00+\x0a\xffQK\xff\xff\xff0}\x03\xff@b{h\xffmMI\x13C\xff\xff\xff0{h\x1bh\x03\xff\xffS\x00+\x0a\xffHK\xff\xff\xff0}\x03\xff@R{h\xffmEI\x13C\xff\xff\xff0{h\x1bh\x03\xff\x00S\x00+\x0a\xff@K\xff\xff\xff0}\x03\xff@B{h\x1bn Tx: $OK#9a -[2.381] read(): <13> Rx: $vFlashWrite:80024d0:\x1bh\x01"\x04!\x18F\x00\xff\xff\xff\x0e\xff{h\x1bh\x01"\x00!\x18F\x00\xff\xff\xff{h\x1bh\x01"\x04!\x18F\x00\xff\xff\xff\x00\xff{h\x1bh\x1ah{h\x1bhB\xff\x01\x02\x1a`\x00}\x03\x18F\x087\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`{h\x1bh\x1bi\x03\xff\x02\x03\x02+"\xff{h\x1bh\xffh\x03\xff\x02\x03\x02+\x1b\xff{h\x1bho\xff\x02\x02\x1aa{h\x01"\x1aw{h\x1bh\xffi\x03\xff\x03\x03\x00+\x03\xffxh\x00\xff\xff\xff\x05\xffxh\x00\xff\xff\xffxh\x00\xff\xff\xff{h\x00"\x1aw{h\x1bh\x1bi\x03\xff\x04\x03\x04+"\xff{h\x1bh\xffh\x03\xff\x04\x03\x04+\x1b\xff{h\x1bho\xff\x04\x02\x1aa{h\x02"\x1aw{h\x1bh\xffi\x03\xff@s\x00+\x03\xffxh\x00\xff\xff\xff\x05\xffxh\x00\xff\xff\xffxh\x00\xff\xff\xff{h\x00"\x1aw{h\x1bh\x1bi\x03\xff\x08\x03\x08+"\xff{h\x1bh\xffh\x03\xff\x08\x03\x08+\x1b\xff{h\x1bho\xff\x08\x02\x1aa{h\x04"\x1aw{h\x1bh\xffi\x03\xff\x03\x03\x00+\x03\xffxh\x00\xff\xff\xff\x05\xffxh\x00\xffu\xffxh\x00\xff\xff\xff{h\x00"\x1aw{h\x1bh\x1bi\x03\xff\x10\x03\x10+"\xff{h\x1bh\xffh\x03\xff\x10\x03\x10+\x1b\xff{h\x1bho\xff\x10\x02\x1aa{h\x08"\x1aw{h\x1bh\xffi\x03\xff@s\x00+\x03\xffxh\x00\xffY\xff\x05\xffxh\x00\xffK\xffxh\x00\xff\\\xff{h\x00"\x1aw{h\x1bh\x1bi\x03\xff\x01\x03\x01+\x0e\xff{h\x1bh\xffh\x03\xff\x01\x03\x01+\x07\xff{h\x1bho\xff\x01\x02\x1aaxh\x02\xff)\xff{h\x1bh\x1bi\x03\xff\xff\x03\xff+\x0e\xff{h\x1bh\xffh\x03\xff\xff\x03\xff+\x07\xff{h\x1bho\xff\xff\x02\x1aaxh\x00\xffe\xff{h\x1bh\x1bi\x03\xff\xffs\xff\xff\xff\x7f\x0e\xff{h\x1bh\xffh\x03\xff\xff\x03\xff+\x07\xff{h\x1bho\xff\xffr\x1aaxh\x00\xffX\xff{h\x1bh\x1bi\x03\xff@\x03@+\x0e\xff{h\x1bh\xffh\x03\xff@\x03@+\x07\xff{h\x1bho\xff@\x02\x1aaxh\x00\xff\x0a\xff{h\x1bh\x1bi\x03\xff \x03 +\x0e\xff{h\x1bh\xffh\x03\xff \x03 +\x07\xff{h\x1bho\xff \x02\x1aaxh\x00\xff\x18\xff\x00\xff\x087\xffF\xff\xff\xff\xff\xff\xff\x00\xff\xff`\xff`z`\xffh\xff\xff<0\x01+\x01\xff\x02}\x03\x05\xff\xffh\x01"\xff\xff< \xffh\x02"\xff\xff= {h\x14+\x00\xff\xff\xff\x01\xffR\xff}\x03\xff\xff'\x00\x08g)\x00\x08g)\x00\x08g)\x00\x08!(\x00\x08g)\x00\x08g)\x00\x08g)\x00\x08c(\x00\x08g)\x00\x08g)\x00\x08g)\x00\x08\xff(\x00\x08g)\x00\x08g)\x00\x08g)\x00\x08\xff(\x00\x08g)\x00\x08g)\x00\x08g)\x00\x08%)\x00\x08\xffh\x1bh\xffh\x18F\x00\xffN\xff\xffh\x1bh\xffi\xffh\x1bhB\xff\x08\x02\xffa\xffh\x1bh\xffi\xffh\x1bh"\xff\x04\x02\xffa\xffh\x1bh\xffi\xffh\x1ai\xffh\x1bh\x0aC\xffa\xff\xff\xffh\x1bh\xffh\x18F\x00\xff\xff\xff\xffh\x1bh\xffi\xffh\x1bhB\xff\x00b\xffa\xffh\x1bh\xffi\xffh\x1bh"\xff\xffb\xffa\xffh\x1bh\xffi\xffh\x1bi\x1a\x02\xffh\x1bh\x0aC\xffa\xff\xff\xffh\x1bh\xffh\x18F\x00\xff\xff\xff\xffh\x1bh\xffi\xffh\x1bhB\xff\x08\x02\xffa\xffh\x1bh\xffi\xffh\x1bh"\xff\x04\x02\xffa\xffh\x1bh\xffi\xffh\x1ai\xffh\x1bh\x0aC\xffab\xff\xffh\x1bh\xffh\x18F\x00\xffM\xff\xffh\x1bh\xffi\xffh\x1bhB\xff\x00b\xffa\xffh\x1bh\xffi\xffh\x1bh"\xff\xffb\xffa\xffh\x1bh\xffi\xffh\x1bi\x1a\x02\xffh\x1bh\x0aC\xffaA\xff\xffh\x1bh\xffh\x18F\x00\xff\xff\xff\xffh\x1bhZm\xffh\x1bhB\xff\x08\x02Ze\xffh\x1bhZm\xffh\x1bh"\xff\x04\x02Ze\xffh\x1bhYm\xffh\x1ai\xffh\x1bh\x0aCZe!\xff\xffh\x1bh\xffh\x18F\x00\xff\xff\xff\xffh\x1bhZm\xffh\x1bhB\xff\x00bZe\xffh\x1bhZm\xffh\x1bh"\xff\xffbZe\xffh\x1bhYm\xffh\x1bi\x1a\x02\xffh\x1bh\x0aCZe\x00\xff\x00\xff\xffh\x01"\xff\xff= \xffh\x00"\xff\xff< \x00}\x03\x18F\x107\xffF\xff\xff\x00\xff\xff\xff\xff\xff\x00\xffx`9`{h\xff\xff<0\x01+\x01\xff\x02}\x03\xff\xff{h\x01"\xff\xff< {h\x02"\xff\xff= {h\x1bh\xffh\xff`\xffhOK\x13@\xff`\xffh}\x03\xff\x7fC\xff`{h\x1bh\xffh\xff`;h\x1bh@+g\xff@+\x0b\xff\x10+s\xff\x10+\x02\xff\x00+o\xffx\xff +l\xff0+j\xffs\xffp+\x0d\xffp+\x04\xffP+3\xff`+A\xffj\xff\xff\xff\xff_f\xff\xff\xff\x00_\x17\xffc\xff{h\x18h;h\xffh;hZh;h\xffh\x00\xff\x0a\xff{h\x1bh\xffh\xff`\xffhC\xffw\x03\xff`{h\x1bh\xffh\xff`L\xff{h\x18h;h\xffh;hZh;h\xffh\x00\xff\xff\xff{h\x1bh\xffh{h\x1bhB\xff\xffB\xff`9\xff{h\x18h;hYh;h\xffh\x1aF\x00\xffg\xff{h\x1bhP!\x18F\x00\xff\xff\xff)\xff{h\x18h;hYh;h\xffh\x1aF\x00\xff\xff\xff{h\x1bh`!\x18F\x00\xff\xff\xff\x19\xff{h\x18h;hYh;h\xffh\x1aF\x00\xffG\xff{h\x1bh@!\x18F\x00\xff\xff\xff\x09\xff{h\x1ah;h\x1bh\x19F\x10F\x00\xff\xff\xff\x00\xff\x00\xff{h\x01"\xff\xff= {h\x00"\xff\xff< \x00}\x03\x18F\x107\xffF\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\xffx`\x00\xff\x0c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`\x00\xff\x0c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`\x00\xff\x0c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`\x00\xff\x0c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`9`{h\x1bh\xff`{h@J\xffB\x13\xff{h\xff\xff\xffO\x0f\xff{h=J\xffB\x0b\xff{h Tx: $OK#9a -[2.381] read(): <13> Rx: $vFlashWrite:8003080::i\x1ab\x00\xff\x1c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\x00\x01@\x00\x04\x01@\xff\xff\xff\xff\x00\xffx`9`{h\x1bj}\x03\xff\xff\x12{h\x1ab{h\x1bj;a{h[h{a{h[m\xff`\xffh\x1cK\x13@\xff`;h\x1bh\x1b\x02\xffh\x13C\xff`;i}\x03\xff\x00\x13;a;h\xffh\x1b\x05:i\x13C;a{h\x13J\xffB\x03\xff{h\x12J\xffB\x09\xff{i}\x03\xff\xff}\x03{a;h[i\xff\x02zi\x13C{a{hziZ`{h\xffhZe;hZh{h\xffe{h:i\x1ab\x00\xff\x1c7\xffF]\xff\x04{pG\x00\xff\xff\xff\xff\xff\x00\x00\x01@\x00\x04\x01@\xff\xff\xff\xff\x00\xff\xff`\xff`z`\xffh\x1bj{a\xffh\x1bj}\x03\xff\x01\x02\xffh\x1ab\xffh\xffi;a;i}\x03\xff\xff\x03;a{h\x1b\x01:i\x13C;a{i}\x03\xff\x0a\x03{azi\xffh\x13C{a\xffh:i\xffa\xffhzi\x1ab\x00\xff\x1c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xff\xff`\xff`z`\xffh\x1bj}\x03\xff\x10\x02\xffh\x1ab\xffh\xffi{a\xffh\x1bj;a{i}\x03\xffpC{a{h\x1b\x03zi\x13C{a;i}\x03\xff\xff\x03;a\xffh\x1b\x01:i\x13C;a\xffhzi\xffa\xffh:i\x1ab\x00\xff\x1c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`9`{h\xffh\xff`\xffh}\x03\xffp\x03\xff`:h\xffh\x13CC\xff\x07\x03\xff`{h\xffh\xff`\x00\xff\x147\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xff\xff`\xff`z`;`\xffh\xffh{a{i}\x03\xff\x7fC{a;h\x1a\x02{h\x1aC\xffh\x13Czi\x13C{a\xffhzi\xff`\x00\xff\x1c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xff\xff`\xff`z`\xffh\x03\xff\x1f\x03\x01"\x02\xff\x03\xff{a\xffh\x1aj{i\xffC\x1a@\xffh\x1ab\xffh\x1aj\xffh\x03\xff\x1f\x03yh\x01\xff\x03\xff\x1aC\xffh\x1ab\x00\xff\x1c7\xffF]\xff\x04{pG\x00\x00\xff\xff\xff\xff\x00\xffx`9`{h\xff\xff<0\x01+\x01\xff\x02}\x03E\xff{h\x01"\xff\xff< {h\x02"\xff\xff= {h\x1bh[h\xff`{h\x1bh\xffh\xff`{h\x1bh\x1cJ\xffB\x04\xff{h\x1bh\x1bJ\xffB\x08\xff\xffh}\x03\xffp\x03\xff`;h[h\xffh\x13C\xff`\xffh}\x03\xffp\x03\xff`;h\x1bh\xffh\x13C\xff`\xffh}\x03\xff\xff\x03\xff`;h\xffh\xffh\x13C\xff`{h\x1bh\xffhZ`{h\x1bh\xffh\xff`{h\x01"\xff\xff= {h\x00"\xff\xff< \x00}\x03\x18F\x147\xffF]\xff\x04{pG\x00\x00\x01@\x00\x04\x01@\xff\xff\xff\xff\x00\xffx`\x00\xff\x0c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`\x00\xff\x0c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`\x00\xff\x0c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`{h\x00+\x01\xff\x01}\x03@\xff{h[o\x00+\x06\xff{h\x00"\xff\xffp xh\x01\xff.\xff{h}\x04"Zg{h\x1bh\x1ah{h\x1bh"\xff\x01\x02\x1a`xh\x00\xff\\\xff\x03F\x01+\x01\xff\x01}\x03"\xff{h[j\x00+\x02\xffxh\x00\xff\xff\xff{h\x1bhZh{h\x1bh"\xff\xffBZ`{h\x1bh\xffh{h\x1bh"\xff}\x0a\x02\xff`{h\x1bh\x1ah{h\x1bhB\xff\x01\x02\x1a`xh\x00\xff{\xff\x03F\x18F\x087\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`{h\x1bh\xffi\xffa{h\x1bh\x1bh\xffa{h\x1bh\xffh{a\xffi\x03\xff\x0f\x03;a;i\x00+\x13\xff\xffi\x03\xff \x03\x00+\x0e\xff\xffi\x03\xff \x03\x00+\x09\xff{h\x1bn\x00+\x00\xff\xff\xff{h\x1bnxh\xffG\xff\xff;i\x00+\x00\xff\xff\xff{i\x03\xff\x01\x03\x00+\x05\xff\xffi\x03\xff\xffs\x00+\x00\xff\xff\xff\xffi\x03\xff\x01\x03\x00+\x0e\xff\xffi\x03\xff\xffs\x00+\x09\xff{h\x1bh\x01"\x1ab{h\xffoC\xff\x01\x02{h\xffg\xffi\x03\xff\x02\x03\x00+\x0e\xff{i\x03\xff\x01\x03\x00+\x09\xff{h\x1bh\x02"\x1ab{h\xffoC\xff\x04\x02{h\xffg\xffi\x03\xff\x04\x03\x00+\x0e\xff{i\x03\xff\x01\x03\x00+\x09\xff{h\x1bh\x04"\x1ab{h\xffoC\xff\x02\x02{h\xffg\xffi\x03\xff\x08\x03\x00+\x13\xff\xffi\x03\xff \x03\x00+\x04\xff{i\x03\xff\x01\x03\x00+\x09\xff{h\x1bh\x08"\x1ab{h\xffoC\xff\x08\x02{h\xffg{h\xffo\x00+\x7f\xff\xffi\x03\xff \x03\x00+\x0c\xff\xffi\x03\xff \x03\x00+\x07\xff{h\x1bn\x00+\x03\xff{h\x1bnxh\xffG{h\xffo\xff`{h\x1bh\xffh\x03\xff@\x03@+\x04\xff\xffh\x03\xff\x08\x03\x00+1\xffxh\x00\xff6\xff{h\x1bh\xffh\x03\xff@\x03@+}\x03\xff{h\x1bh\xffh{h\x1bh"\xff@\x02\xff`{h\xffn\x00+\x13\xff{h\xffn&J\x1ae{h\xffn\x18F\xff\xff\xff\xff\x03F\x00+\x16\xff{h\xffn\x1bmzh\xffn\x10F\xffG\x0e\xffxh\x00\xffE\xff\x0a\xffxh\x00\xffA\xff\x06\xffxh\x00\xff=\xff{h\x00"\xffg%\xff\x00\xff}\x03\xff\xffi\x03\xff\xff\x03\x00+\x0d\xff\xffi\x03\xff\xff\x03\x00+\x08\xff{h[n\x00+\x17\xff{h[nxh\xffG\x12\xff\xffi\x03\xff@\x03\x00+\x0e\xff\xffi\x03\xff@\x03\x00+\x09\xffxh\x00\xff\x14\xff\x00\xff\x04\xff\x00\xff\x02\xff\x00\xff\x00\xff\x00\xff 7\xffF\xff\xff\x00\xffo>\x00\x08\xff\xff\xff\xff\x00\xffx`\x00\xff\x0c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`\x00\xff\x0c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`\x00}\x03\xffa\x00}\x03\xffu{h\xffh{h\x1bi\x1aC{h[i\x1aC{h\xffi\x13C;a{h\x1bh\x1ah\xffK\x13@zh\x12h9i\x0bC\x13`{h\x1bh[h}\x03\xff@Q{h\xffh{h\x1bh\x0aCZ`{h\xffi;a{h\x1bj:i\x13C;a{h\x1bh\xffh}\x03\xff0a{h\x1bh:i\x0aC\xff`{h\x1bh\xffJ\xffB!\xff\xffK\xff\xff\xff0\x03\xff\x03\x03\x03+\x16\xff\x01\xffR\xff}\x03\xffY7\x00\x08e7\x00\x08_7\x00\x08k7\x00\x08\x01}\x03\xffwQ\xff\x02}\x03\xffwN\xff\x04}\x03\xffwK\xff\x08}\x03\xffwH\xff\x10}\x03\xffw\x00\xffD\xff{h\x1bh\xffJ\xffB4\xff\xffK\xff\xff\xff0\x03\xff\x0c\x03\x0c+)\xff\x01\xffR\xff}\x03\xff\x00\xff\xff7\x00\x08\xff7\x00\x08\xff7\x00\x08\xff7\x00\x08\xff7\x00\x08\xff7\x00\x08\xff7\x00\x08\xff7\x00\x08\xff7\x00\x08\xff7\x00\x08\xff7\x00\x08\xff7\x00\x08\xff7\x00\x08\x00}\x03\xffw\x17\xff\x02}\x03\xffw\x14\xff\x04}\x03\xffw\x11\xff\x08}\x03\xffw\x0e\xff\x10}\x03\xffw\x00\xff\x0a\xff{h\x1bhqJ\xffB \xffnK\xff\xff\xff0\x03\xff0\x03\x10+\x0f\xff\x10+\x02\xff\x00+\x05\xff\x10\xff +\x05\xff0+\x09\xff\x0b\xff\x00}\x03\xffw\xff\xff\x02}\x03\xffw\xff\xff\x04}\x03\xffw\xff\xff\x08}\x03\xffw\xff\xff\x10}\x03\xffw\x00\xff\xff\xff{h\x1bh_J\xffB \xff[K\xff\xff\xff0\x03\xff\xff\x03@+\x0f\xff@+\x02\xff\x00+\x05\xff\x10\xff\xff+\x05\xff\xff+\x09\xff\x0b\xff\x00}\x03\xffw\xff\xff\x02}\x03\xffw\xff\xff\x04}\x03\xffw\xff\xff\x08}\x03\xffw\xff\xff\x10}\x03\xffw\x00\xff\xff\xff{h\x1bhMJ\xffB}\x04\xffHK\xff\xff\xff0\x03\xff@s\xff\xff\xff\x7f\x12\xff\xff\xff\xff\x7f\x02\xff\x00+\x07\xff\x12\xff\xff\xff\x00\x7f\x06\xff\xff\xff@\x7f\x09\xff\x0b\xff\x00}\x03\xffw\xff\xff\x02}\x03\xffw\xff\xff\x04}\x03\xffw\xff\xff\x08}\x03\xffw\xff\xff\x10}\x03\xffw\x00\xff\xff\xff{h\x1bh9J\xffB}\x04\xff3K\xff\xff\xff0\x03\xff@c\xff\xff\xffo\x12\xff\xff\xff\xffo\x02\xff\x00+\x07\xff\x12\xff\xff\xff\x00o\x06\xff\xff\xff@o\x09\xff\x0b\xff\x01}\x03\xffww\xff\x02}\x03\xffwt\xff\x04}\x03\xffwq\xff\x08}\x03\xffwn\xff\x10}\x03\xffw\x00\xffj\xff{h\x1bh%J\xffB}\x04\xff\x1eK\xff\xff\xff0\x03\xff@S\xff\xff\xff_\x12\xff\xff\xff\xff_\x02\xff\x00+\x07\xff\x12\xff\xff\xff\x00_\x06\xff\xff\xff@_\x09\xff\x0b\xff\x00}\x03\xffwM\xff\x02}\x03\xffwJ\xff\x04}\x03\xffwG\xff\x08}\x03\xffwD\xff\x10}\x03\xffw\x00\xff@\xff{h\x1bh\x11J\xffB9\xff\x09K\xff\xff\xff0\x03\xff@C\xff\xff\xffO'\xff\xff\xff\xffO\x17\xff\x00+\x1c\xff'\xff\x00\xff\xffi\xff\xff\x00\x10\x01@\x008\x02@\x00D\x00@\x00H\x00@\x00L\x00@\x00P\x00@\x00\x14\x01@\x00x\x00@\x00|\x00@\xff\xff\x00O\x06\xff\xff\xff@O\x09\xff\x0b\xff\x00}\x03\xffw\x0e\xff\x02}\x03\xffw\x0b\xff\x04}\x03\xffw\x08\xff\x08}\x03\xffw\x05\xff\x10}\x03\xffw\x00\xff\x01\xff\x10}\x03\xffw{h\xffi\xff\xff\x00O|\xff\xff\x7f\x08+Y\xff\x01\xffR\xff}\x03\xff=:\x00\x08[:\x00\x08y:\x00\x08\xff:\x00\x08\xff:\x00\x08\xff:\x00\x08\xff:\x00\x08\xff:\x00\x08\xff:\x00\x08\xff\xff\xff\xff\x03FZ\x00{h[h[\x08\x1aD{h[h\xff\xff\xff\xff\xff\xff\xffa8\xff\xff\xff\xff\xff\x03FZ\x00{h[h[\x08\x1aD{h[h\xff\xff\xff\xff\xff\xff\xffa)\xff{h[hZ\x08]K\x13DzhRh\xff\xff\xff\xff\xff\xff\xffa\x1d\xff\xff\xff\xff\xff\x03FZ\x00{h[h[\x08\x1aD{h[h\xff\xff\xff\xff\xff\xff\xffa\x0e\xff{h[h[\x08\x03\xff\xff2{h[h\xff\xff\xff\xff\xff\xff\xffa\x02\xff\x01}\x03\xffu\x00\xff\xffi\x0f+\x16\xff\xffi\xff\xff\xff?\x12\xff\xffi\xff\xff}\x03\xff\x0f\x03\xff\xff\xffi[\x08\xff\xff\x03\xff\x07\x03\xff\xff\xff\xff\x13C\xff\xff{h\x1bh\xff\xff\xff`n\xff\x01}\x03\xffuk\xff\xff\x7f\x08+W\xff\x01\xffR\xff}\x03\xff\x00\xff9;\x00\x08U;\x00\x08q;\x00\x08\xff;\x00\x08\xff;\x00\x08\xff;\x00\x08\xff;\x00\x08\xff;\x00\x08\xff;\x00\x08\xff\xffT\xff\x02F{h[h[\x08\x1aD{h[h\xff\xff\xff\xff\xff\xff\xffa6\xff\xff\xffZ\xff\x02F{h[h[\x08\x1aD{h[h\xff\xff\xff\xff\xff\xff\xffa(\xff{h[hZ\x08 K\x13DzhRh\xff\xff\xff\xff\xff\xff\xffa\x1c\xff\xff\xffn\xff\x02F{h[h[\x08\x1aD{h[h\xff\xff\xff\xff\xff\xff\xffa\x0e\xff{h[h[\x08\x03\xff\x00B{h[h\xff\xff\xff\xff\xff\xff\xffa\x02\xff\x01}\x03\xffu\x00\xff\xffi\x0f+\x08\xff\xffi\xff\xff\xff?\x04\xff{h\x1bh\xffi\xff`\x01\xff\x01}\x03\xffu{h\x00"\x1af{h\x00"Zf\xff}]\x18F 7\xffF\xff\xff\x00H\xff\x01\x00}\x04\xff\x00\xff\xff\xff\xff\x00\xffx`{h[j\x03\xff\x01\x03\x00+\x0a\xff#9a -[2.381] handleFlashPacket(): Flash write: Address= 0x8003080, Length=2960 -[2.381] write(): <13> Tx: $OK#9a -[2.382] read(): <13> Rx: $vFlashWrite:8003c10:{h\x1bh[h}\x03\xff\x001{h\xffj{h\x1bh\x0aCZ`{h[j\x03\xff\x02\x03\x00+\x0a\xff{h\x1bh[h}\x03\xff\xff1{h\xffj{h\x1bh\x0aCZ`{h[j\x03\xff\x04\x03\x00+\x0a\xff{h\x1bh[h}\x03\xff\xff!{h\x1ak{h\x1bh\x0aCZ`{h[j\x03\xff\x08\x03\x00+\x0a\xff{h\x1bh[h}\x03\xff\x00A{hZk{h\x1bh\x0aCZ`{h[j\x03\xff\x10\x03\x00+\x0a\xff{h\x1bh\xffh}\x03\xff\xffQ{h\xffk{h\x1bh\x0aC\xff`{h[j\x03\xff \x03\x00+\x0a\xff{h\x1bh\xffh}\x03\xff\x00Q{h\xffk{h\x1bh\x0aC\xff`{h[j\x03\xff@\x03\x00+\x1a\xff{h\x1bh[h}\x03\xff\xff\x11{h\x1al{h\x1bh\x0aCZ`{h\x1bl\xff\xff\xff\x1f\x0a\xff{h\x1bh[h}\x03\xff\xff\x01{hZl{h\x1bh\x0aCZ`{h[j\x03\xff\xff\x03\x00+\x0a\xff{h\x1bh[h}\x03\xff\x00!{h\xffl{h\x1bh\x0aCZ`\x00\xff\x0c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x02\xffx`{h\x00"\xffg\xff\xffE\xff\xff`{h\x1bh\x1bh\x03\xff\x08\x03\x08+\x0e\xffo\xff~C\x00\xff\xffh\x00"O\xff\x00\x11xh\x00\xff\x14\xff\x03F\x00+\x01\xff\x03}\x03\x0a\xff{h "Zg{h "\xffg{h\x00"\xff\xffp \x00}\x03\x18F\x107\xffF\xff\xff\xff\xff\xff\xff\x00\xff\xff`\xff`;`\x13F\xffq}\x0a\xff\xffi\xff\xff\xff?&\xff\xff\xff\x10\xff\x02F;h\xff\x1a\xffi\xffB\x02\xff\xffi\x00+\x1b\xff\xffh\x1bh\x1ah\xffh\x1bh"\xff\xffr\x1a`\xffh\x1bh\xffh\xffh\x1bh"\xff\x01\x02\xff`\xffh "Zg\xffh "\xffg\xffh\x00"\xff\xffp \x03}\x03\x0f\xff\xffh\x1bh\xffi\xffh\x13@\xffh\xffB\x0c\xff\x01}\x03\x00}\x03\xff\xff\x1aF\xffy\xffB\xff\xff\x00}\x03\x18F\x107\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`{h\x1bh\x1ah{h\x1bh"\xff\xffr\x1a`{h\x1bh\xffh{h\x1bh"\xff\x01\x02\xff`{h "\xffg{h\x00"\x1af\x00\xff\x0c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`{h\xffk\xff`\xffh\x00"\xff\xffZ \xffh\x00"\xff\xffR \xffh\xff\xff\x07\xff\x00\xff\x107\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`{h\x1bh\x1ah{h\x1bh"\xff@\x02\x1a`{h "Zg{h\x00"Zfxh\xff\xff\xff\xff\x00\xff\x087\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`{h\x1bh\x1bhZj{h\x1bh\xffh[\x08\xff\x1a\xff`\xffh\x18F\x147\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`{h\x1bh\xffh{h\x1bh\x1bhR\x08Zb\x00\xff\x0c7\xffF]\xff\x04{pG\x00\x00\xff\xff\xff\xff\x00\xffx`9`{h\x08J\x1aa{h\x08JZa{h\x07J\xffa{h:h\x1a`{h\x18F\x0c7\xffF]\xff\x04{pG\x10!\x01\x00\xff\x0fI@\xff\xff@?\xff\xff\xff\xff\x00\xffx`{h\x1bhK\x1bk\x03\xff\x10\x03\xff`\xffh;K\x1bk:JC\xff\x08\x03\x13c8K\x1bk\x03\xff\x08\x03\xff`\xffh5K\x1bk4JC\xff\x02\x03\x13c2K\x1bk\x03\xff\x02\x03{`{h\x00"O\xffpA.H\xff\xff\xff\xff\x00"O\xff\xffq,H\xff\xff\xff\xff\x01}\x03\xffa\x03}\x03;b\x00}\x03{b\x07\xff\x1c\x03\x19F'H\xff\xff\xff\xff\x08}\x03\xffa\x03}\x03;b\x00}\x03{b\x07\xff\x1c\x03\x19F"H\xff\xff\xff\xff@}\x03\xffa\x00}\x03;b\x00}\x03{b\x07\xff\x1c\x03\x19F\x1cH\xff\xff\xff\xffO\xffpC\xffa\x01}\x03;b\x00}\x03{b\x00}\x03\xffb\x07\xff\x1c\x03\x19F\x12H\xff\xff\xff\xffO\xff\x00s\xffa\x00}\x03;b\x00}\x03{b\x07\xff\x1c\x03\x19F\x0fH\xff\xff\xff\xffO\xff\xffs\xffa\x01}\x03;b\x00}\x03{b\x00}\x03\xffb\x07\xff\x1c\x03\x19F\x05H\xff\xff\xff\xff\x00\xff07\xffF\xff\xff\x008\x02@\x00\x14\x02@\x00\x04\x02@\x00\x08\x02@\x00\x00\x02@\x00\x10\x02@\xff\xff\xff\xff\x00\xffx`{h\x1bh\x17J\xffB'\xff\x17H\xff\xff^\xff\xff\xff@z\x15K\xff\xff\x00z\x15H\xff\xffV\xff\xff\xff@z\x13K\xff\xff\x00z\x11K\xffh\x10K[h\xff\x1a\x07\xff\xff:\xff\xffgz\x0eK\xff\xff\x00z\x09K\xffh\x08K[h\xff\x1a\x07\xff\xff:\xff\xffgz\x09K\xff\xff\x00z\x00\xff\x087\xffF\xff\xff\x00\xff\x00\x04\x00@h\x02\x00 \xff\x02\x00 \xff\x02\x00 \xff\x02\x00 \xff\x02\x00 \xff\x02\x00 \xff\xff\x00\xff\x00\xff\xffF]\xff\x04{#43 -[2.382] handleFlashPacket(): Flash write: Address= 0x8003c10, Length=2928 -[2.382] write(): <13> Tx: $OK#9a -[2.382] read(): <13> Rx: $vFlashWrite:8004780:pG\x00\x00\xff\xff\xff\xff\x00\xffx`9`{h\x01+\x0c\xff;hO\xff\xffr\xffB\x07\xff\x06I\x06H\xff\xff\xff\xff\x06I\x06H\xff\xff\xff\xff\x00\xff\x087\xffF\xff\xff\x00\xff(\x00\x00 h\x02\x00 \xff\x00\x00 \xff\x02\x00 \xff\xff\x00\xffO\xff\xffq\x01 \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\xff\x0fK\x1bl\x0eJC\xff\xffS\x13d\x0cK\x1bl\x03\xff\xffS{`{h\x09K[l\x08JC\xff\xffCSd\x06K[l\x03\xff\xffC;`;h\x00\xff\x0c7\xffF]\xff\x04{pG\x00\xff\x008\x02@\xff\xff\xff\xff\x00\xffx`\x07\xff\x1c\x03\x00"\x1a`Z`\xff`\xff`\x1aa{h\x1bh\xff\xff\xffOD\xff;K\x1bl:JC\xff\x01\x03\x13d8K\x1bl\x03\xff\x01\x03\xffa\xffi5K\x1bk4JC\xff\x01\x03\x13c2K\x1bk\x03\xff\x01\x03{a{i/K\x1bk.JC\xff\x02\x03\x13c,K\x1bk\x03\xff\x02\x03;a;i }\x03\xffa\x02}\x03;b\x00}\x03{b\x00}\x03\xffb\x01}\x03\xffb\x07\xff\x1c\x03\x19F}\x03H\xff\xff\xff\xff\x08}\x03\xffa\x02}\x03;b\x00}\x03{b\x00}\x03\xffb\x01}\x03\xffb\x07\xff\x1c\x03\x19F\x1cH\xff\xff\xff\xff,\xff{h\x1bh\x1aJ\xffB'\xff\x16K\x1bl\x15JC\xff\x08\x03\x13d\x13K\x1bl\x03\xff\x08\x03\xff`\xffh\x10K\x1bk\x0fJC\xff\x01\x03\x13c\x0dK\x1bk\x03\xff\x01\x03\xff`\xffh\x03}\x03\xffa\x02}\x03;b\x00}\x03{b\x00}\x03\xffb\x02}\x03\xffb\x07\xff\x1c\x03\x19F\x04H\xff\xff\xff\xff\x00\xff07\xffF\xff\xff\x00\xff\x008\x02@\x00\x00\x02@\x00\x04\x02@\x00\x0c\x00@\xff\xff\xff\xff\x00\xffx`{h\x1bh\x0dJ\xffB\x13\xff\x0dK\x1bl\x0cJC\xff\x02\x03\x13d\x0aK\x1bl\x03\xff\x02\x03\xff`\xffh\x00"\x00!\x1d \xff\xff\x1b\xff\x1d \xff\xff4\xff\x00\xff\x107\xffF\xff\xff\x00\xff\x00\x04\x00@\x008\x02@\xff\xff\xff\xff\x00\xffx`{h\x1bh\x0aJ\xffB\x0b\xff\x0aK\x1bl\x09JC\xff\x04\x03\x13d\x07K\x1bl\x03\xff\x04\x03\xff`\xffh\x00\xff\x147\xffF]\xff\x04{pG\x00\xff\x00\x08\x00@\x008\x02@\xff\xff\xff\xff\x00\xffx`\x07\xff\x0c\x03\x00"\x1a`Z`\xff`\xff`\x1aa{h\x1bh\x11J\xffB\x1c\xff\x11K\x1bk\x10JC\xff\x08\x03\x13c\x0eK\x1bk\x03\xff\x08\x03\xff`\xffhO\xff@C\xff`\x02}\x03;a\x00}\x03{a\x00}\x03\xffa\x02}\x03\xffa\x07\xff\x0c\x03\x19F\x05H\xff\xff\x02\xff\x00\xff 7\xffF\xff\xff\x00\x08\x00@\x008\x02@\x00\x0c\x02@\xff\xff\xff\xff\x00\xffx`\x07\xff\x14\x03\x00"\x1a`Z`\xff`\xff`\x1aa{h\x1bhKJ\xffB@\xff\xff\xffJK\x1blIJC\xff\xff}\x03\x13dGK\x1bl\x03\xff\xff}\x03;a;iDK\x1bkCJC\xff\x08\x03\x13cAK\x1bk\x03\xff\x08\x03\xff`\xffhO\xff@s{a\x02}\x03\xffa\x00}\x03\xffa\x03}\x03;b\x07}\x03{b\x07\xff\x14\x03\x19F8H\xff\xff\xff\xff8K8J\x1a`6KO\xff\x00bZ`4K\x00"\xff`3K\x00"\xff`1KO\xff\xffb\x1aa/K\x00"Za.K\x00"\xffa,K\x00"\xffa+KO\xff\x002\x1ab)K\x00"Zb'H\xff\xff\xff\xff\x03F\x00+\x01\xff\xff\xff8\xff{h}\x03J\xfff"J{h\xffc"K}\x03J\x1a`!KO\xff\x00bZ`\x1fK@"\xff`\x1dK\x00"\xff`\x1cKO\xff\xffb\x1aa\x1aK\x00"Za\x18K\x00"\xffa\x17K\x00"\xffa\x15KO\xff\x002\x1ab\x13K\x00"Zb\x12H\xff\xff`\xff\x03F\x00+\x01\xff\xff\xff\x09\xff{h\x0dJ\xfff\x0cJ{h\xffc\x00"\x00!' \xff\xff\x19\xff' \xff\xff2\xff\x00\xff(7\xffF\xff\xff\x00\xff\x00H\x00@\x008\x02@\x00\x0c\x02@\xff\x01\x00 (`\x02@\x08\x02\x00 X`\x02@\xff\xff\x00\xff\x00\xff\xffF]\xff\x04{pG\xff\xff\x00\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\x00\xff\x00\xff\xffF]\xff\x04{pG\xff\xff\x00\xff\x00\xff\xffF]\xff\x04{pG\xff\xff\x00\xff\x00\xff\xffF]\xff\x04{pG\xff\xff\x00\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\x00\xff\x02H\xff\xff\xff\xff\x00\xff\xff\xff\x00\xff\xff\x01\x00 \xff\xff\x00\xff\x02H\xff\xff\xff\xff\x00\xff\xff\xff\x00\xff\x08\x02\x00 \xff\xff\x00\xff\x02H\xff\xffr\xff\x00\xff\xff\xff\x00\xffh\x00\x00 \xff\xff\x00\xff\x02H\xff\xff\x07\xff\x00\xff\xff\xff\x00\xff(\x01\x00 \xff\xff\x00\xff\x15K\xff\xff\xff0\x14JC\xffp\x03\xff\xff\xff0\x12K\x1bh\x11JC\xff\x01\x03\x13`\x0fK\x00"\xff`\x0eK\x1ah\x0dI\x0dK\x13@\x0b`\x0bK\x0cJZ`\x09K\x1bh\x08J}\x03\xff\xff}\x03\x13`\x06K\x00"\xff`\x04KO\xff\x00b\xff`\x00\xff\xffF]\xff\x04{pG\x00\xff\x00\xff\x008\x02@\xff\xff\xff\xff\x100\x00}\x04\xff\xff4\xff\x00!\x03\xff\x0cK[XCP\x041\x0bH\x0cKB\x18\xffB\xff\xff\x0bJ\x02\xff\x00}\x03B\xff\x04;\x09K\xffB\xff\xff\xff\xff\xff\xff\x00\xff\x11\xff\xff\xff\xff\xffpG\x00\x00\x08 \xffM\x00\x08\x00\x00\x00 \x0c\x00\x00 \x0c\x00\x00 \xff\x02\x00 \xff\xff\x00\x00p\xff\x0dN\x0dL\xff\x1b\xff\x10\x00%\xffB\x09\xff\x0bN\x0cL\x00\xff \xff\xff\x1b\xff\x10\x00%\xffB\x05\xffp\xffV\xff%0\xffG\x015\xff\xffV\xff%0\xffG\x015\xff\xff\xffM\x00\x08\xffM\x00\x08\xffM\x00\x08\xffM\x00\x08\x02D\x03F\xffB\x00\xffpG\x03\xff\x01\x1b\xff\xff\xff\xff\x00\xff\xff\xff\x08\xff\xffFpG\xff\xff\x00\xff\xff\xff\x08\xff\xffFpG#56 -[2.382] handleFlashPacket(): Flash write: Address= 0x8004780, Length=1536 -[2.382] write(): <13> Tx: $OK#9a -[2.382] read(): <13> Rx: $vFlashWrite:8004d80:\x00\x06\x10\x16\x00\x06\x10\x16\x00\x00\x00\x00\x00\x00\x00\x00\x01\x02\x03\x04\x06\x07\x08\x09\x00\x00\x00\x00\x01\x02\x03\x04#05 -[2.382] handleFlashPacket(): Flash write: Address= 0x8004d80, Length=32 -[2.382] write(): <13> Tx: $OK#9a -[2.383] read(): <13> Rx: $vFlashWrite:8004da0:\xff\xff\xff\x7f\x01\x00\x00\x00#9f -[2.383] handleFlashPacket(): Flash write: Address= 0x8004da0, Length=8 -[2.383] write(): <13> Tx: $OK#9a -[2.383] read(): <13> Rx: $vFlashWrite:8004da8:\x1d\x02\x00\x08\xffG\x00\x08#eb -[2.383] handleFlashPacket(): Flash write: Address= 0x8004da8, Length=8 -[2.383] write(): <13> Tx: $OK#9a -[2.383] read(): <13> Rx: $vFlashWrite:8004db0:\xff\x01\x00\x08#a7 -[2.383] handleFlashPacket(): Flash write: Address= 0x8004db0, Length=4 -[2.383] write(): <13> Tx: $OK#9a -[2.383] read(): <13> Rx: $vFlashWrite:8004db4:\x10\x00\x00\x00\x01\x00\x00\x00\x00}\x04\xff\x00#2f -[2.383] handleFlashPacket(): Flash write: Address= 0x8004db4, Length=12 -[2.383] write(): <13> Tx: $OK#9a -[2.383] read(): <13> Rx: $vFlashDone#ea -[2.383] handleFlashPacket(): Writing to /tmp/ST-LINK_GDB_server_XQeMJ2.srec -[2.387] spawnCubeProgrammer(): ------ Switching to STM32CubeProgrammer ----- -[2.387] file_utils_spawn(): Spawning /opt/st/stm32cubeide_1.1.0/plugins/com.st.stm32cube.ide.mcu.externaltools.cubeprogrammer.linux64_1.1.0.201910081157/tools/bin/STM32_Programmer_CLI --connect port=SWD mode=UR reset=hwRst --download /tmp/ST-LINK_GDB_server_XQeMJ2.srec --verify --log /tmp/STM32CubeProgrammer_eLoLAv.log -[3.631] file_utils_spawn(): Return code 0 -[3.631] spawnCubeProgrammer(): 14:34:23:356 ------------------------------------------------------------------- -[3.631] spawnCubeProgrammer(): 14:34:23:356 STM32CubeProgrammer v2.2.0 -[3.631] spawnCubeProgrammer(): 14:34:23:356 ------------------------------------------------------------------- -[3.631] spawnCubeProgrammer(): -[3.631] spawnCubeProgrammer(): 14:34:23:356 -[3.631] spawnCubeProgrammer(): -[3.631] spawnCubeProgrammer(): 14:34:23:356 Log output file: /tmp/STM32CubeProgrammer_eLoLAv.log -[3.631] spawnCubeProgrammer(): 14:34:23:363 STLinkUSBDriver.dll loaded -[3.631] spawnCubeProgrammer(): 14:34:23:364 STLinkUSBDriver.dll loaded -[3.631] spawnCubeProgrammer(): 14:34:23:364 STLinkUSBDriver.dll loaded -[3.631] spawnCubeProgrammer(): 14:34:23:364 ST-LINK SN : 0666FF515254667867215328 -[3.631] spawnCubeProgrammer(): 14:34:23:364 ST-LINK FW : V2J35M26 -[3.631] spawnCubeProgrammer(): 14:34:23:364 Voltage : 3,27V -[3.631] spawnCubeProgrammer(): 14:34:23:370 SWD freq : 4000 KHz -[3.631] spawnCubeProgrammer(): 14:34:23:370 Connect mode: Under Reset -[3.631] spawnCubeProgrammer(): 14:34:23:370 Reset mode : Hardware reset -[3.631] spawnCubeProgrammer(): 14:34:23:445 Device ID : 0x451 -[3.631] spawnCubeProgrammer(): 14:34:23:583 Reading data... -[3.631] spawnCubeProgrammer(): 14:34:23:584 r ap 0 @0x40023C14 0x00000004 bytes -[3.631] spawnCubeProgrammer(): 14:34:23:584 Database: Config 0 is active. -[3.631] spawnCubeProgrammer(): 14:34:23:596 flash loader /opt/st/stm32cubeide_1.1.0/plugins/com.st.stm32cube.ide.mcu.externaltools.cubeprogrammer.linux64_1.1.0.201910081157/tools/bin/FlashLoader/0x451.stldr is loaded -[3.631] spawnCubeProgrammer(): 14:34:23:596 Reading data... -[3.631] spawnCubeProgrammer(): 14:34:23:596 r ap 0 @0x40023C14 0x00000004 bytes -[3.631] spawnCubeProgrammer(): 14:34:23:596 Database: Config 0 is active. -[3.631] spawnCubeProgrammer(): 14:34:23:596 Device name : STM32F76x/STM32F77x -[3.631] spawnCubeProgrammer(): 14:34:23:597 Flash size : 2 MBytes -[3.631] spawnCubeProgrammer(): 14:34:23:597 Device type : MCU -[3.631] spawnCubeProgrammer(): 14:34:23:597 Device CPU : Cortex-M7 -[3.631] spawnCubeProgrammer(): 14:34:23:597 -[3.631] spawnCubeProgrammer(): 14:34:23:597 -[3.631] spawnCubeProgrammer(): -[3.631] spawnCubeProgrammer(): 14:34:23:597 Memory Programming ... -[3.631] spawnCubeProgrammer(): 14:34:23:597 Opening and parsing file: ST-LINK_GDB_server_XQeMJ2.srec -[3.631] spawnCubeProgrammer(): 14:34:23:598 File : ST-LINK_GDB_server_XQeMJ2.srec -[3.631] spawnCubeProgrammer(): 14:34:23:598 Size : 19904 Bytes -[3.631] spawnCubeProgrammer(): 14:34:23:598 Address : 0x08000000 -[3.631] spawnCubeProgrammer(): 14:34:23:598 -[3.631] spawnCubeProgrammer(): -[3.631] spawnCubeProgrammer(): 14:34:23:598 Erasing Segment <0> Address <0x08000000> Size <19904>Bytes -[3.632] spawnCubeProgrammer(): 14:34:23:598 Erasing memory corresponding to segment 0: -[3.632] spawnCubeProgrammer(): 14:34:23:656 Memory erase... -[3.632] spawnCubeProgrammer(): 14:34:23:726 halt ap 0 -[3.632] spawnCubeProgrammer(): 14:34:23:726 w ap 0 reg 15 PC (0x20000000) -[3.632] spawnCubeProgrammer(): 14:34:23:727 w ap 0 reg 17 MSP (0x20000500) -[3.632] spawnCubeProgrammer(): 14:34:23:727 w ap 0 reg 16 xPSR (0x01000000) -[3.632] spawnCubeProgrammer(): 14:34:23:731 w ap 0 @0x20001100 0x00000200 bytes -[3.632] spawnCubeProgrammer(): 14:34:23:732 w ap 0 @0x20000000 0x00000004 bytes -[3.632] spawnCubeProgrammer(): 14:34:23:754 w ap 0 @0x20000004 0x00000CD4 bytes -[3.632] spawnCubeProgrammer(): 14:34:23:754 Erasing internal memory sector 0 -[3.632] spawnCubeProgrammer(): 14:34:23:754 Init flashloader... -[3.632] spawnCubeProgrammer(): 14:34:23:755 halt ap 0 -[3.632] spawnCubeProgrammer(): 14:34:23:755 w ap 0 reg 0 R0 0x00000001 -[3.632] spawnCubeProgrammer(): 14:34:23:756 w ap 0 reg 1 R1 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:23:756 w ap 0 reg 2 R2 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:23:757 w ap 0 reg 3 R3 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:23:757 w ap 0 reg 4 R4 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:23:757 w ap 0 reg 5 R5 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:23:758 w ap 0 reg 6 R6 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:23:758 w ap 0 reg 7 R7 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:23:759 w ap 0 reg 8 R8 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:23:759 w ap 0 reg 9 R9 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:23:760 w ap 0 reg 10 R10 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:23:760 w ap 0 reg 11 R11 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:23:761 w ap 0 reg 12 R12 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:23:762 w ap 0 reg 13 SP 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:23:762 w ap 0 reg 14 LR 0x20000001 -[3.632] spawnCubeProgrammer(): 14:34:23:763 w ap 0 reg 15 PC 0x20000005 -[3.632] spawnCubeProgrammer(): 14:34:23:763 w ap 0 reg 16 xPSR 0x01000000 -[3.632] spawnCubeProgrammer(): 14:34:23:764 w ap 0 reg 17 MSP 0x200010D4 -[3.632] spawnCubeProgrammer(): 14:34:23:765 w ap 0 reg 18 PSP 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:23:765 run ap 0 -[3.632] spawnCubeProgrammer(): 14:34:23:766 halt ap 0 -[3.632] spawnCubeProgrammer(): 14:34:23:766 r ap 0 reg 0 R0 0x00000001 -[3.632] spawnCubeProgrammer(): 14:34:23:766 Loader sector erase... -[3.632] spawnCubeProgrammer(): 14:34:23:766 w ap 0 reg 0 R0 0x08000000 -[3.632] spawnCubeProgrammer(): 14:34:23:767 w ap 0 reg 1 R1 0x08000000 -[3.632] spawnCubeProgrammer(): 14:34:23:767 w ap 0 reg 2 R2 0x00000002 -[3.632] spawnCubeProgrammer(): 14:34:23:768 w ap 0 reg 3 R3 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:23:768 w ap 0 reg 4 R4 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:23:769 w ap 0 reg 5 R5 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:23:769 w ap 0 reg 6 R6 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:23:770 w ap 0 reg 7 R7 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:23:770 w ap 0 reg 8 R8 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:23:771 w ap 0 reg 9 R9 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:23:771 w ap 0 reg 10 R10 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:23:772 w ap 0 reg 11 R11 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:23:772 w ap 0 reg 12 R12 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:23:773 w ap 0 reg 13 SP 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:23:773 w ap 0 reg 14 LR 0x20000001 -[3.632] spawnCubeProgrammer(): 14:34:23:774 w ap 0 reg 15 PC 0x20000281 -[3.632] spawnCubeProgrammer(): 14:34:23:774 w ap 0 reg 16 xPSR 0x01000000 -[3.632] spawnCubeProgrammer(): 14:34:23:775 w ap 0 reg 17 MSP 0x200010D4 -[3.632] spawnCubeProgrammer(): 14:34:23:775 w ap 0 reg 18 PSP 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:23:775 run ap 0 -[3.632] spawnCubeProgrammer(): 14:34:23:973 halt ap 0 -[3.632] spawnCubeProgrammer(): 14:34:23:973 r ap 0 reg 0 R0 0x00000001 -[3.632] spawnCubeProgrammer(): 14:34:23:973 erase: 0375ms -[3.632] spawnCubeProgrammer(): 14:34:23:973 Download in Progress: -[3.632] spawnCubeProgrammer(): 14:34:23:993 Size : 19904 Bytes -[3.632] spawnCubeProgrammer(): 14:34:23:993 Address : 0x08000000 -[3.632] spawnCubeProgrammer(): 14:34:23:993 -[3.632] spawnCubeProgrammer(): -[3.632] spawnCubeProgrammer(): 14:34:24:056 Buffer program... -[3.632] spawnCubeProgrammer(): 14:34:24:126 halt ap 0 -[3.632] spawnCubeProgrammer(): 14:34:24:126 w ap 0 reg 15 PC (0x20000000) -[3.632] spawnCubeProgrammer(): 14:34:24:127 w ap 0 reg 17 MSP (0x20000500) -[3.632] spawnCubeProgrammer(): 14:34:24:127 w ap 0 reg 16 xPSR (0x01000000) -[3.632] spawnCubeProgrammer(): 14:34:24:131 w ap 0 @0x20001100 0x00000200 bytes -[3.632] spawnCubeProgrammer(): 14:34:24:131 w ap 0 @0x20000000 0x00000004 bytes -[3.632] spawnCubeProgrammer(): 14:34:24:155 w ap 0 @0x20000004 0x00000CD4 bytes -[3.632] spawnCubeProgrammer(): 14:34:24:155 Loader write range... -[3.632] spawnCubeProgrammer(): 14:34:24:222 w ap 0 @0x20001100 0x000026E0 bytes -[3.632] spawnCubeProgrammer(): 14:34:24:223 W B1 in RAM @0x20001100 size 0x000026E0 : 0068ms -[3.632] spawnCubeProgrammer(): 14:34:24:223 Init flashloader... -[3.632] spawnCubeProgrammer(): 14:34:24:223 halt ap 0 -[3.632] spawnCubeProgrammer(): 14:34:24:224 w ap 0 reg 0 R0 0x00000001 -[3.632] spawnCubeProgrammer(): 14:34:24:224 w ap 0 reg 1 R1 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:225 w ap 0 reg 2 R2 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:226 w ap 0 reg 3 R3 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:226 w ap 0 reg 4 R4 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:227 w ap 0 reg 5 R5 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:228 w ap 0 reg 6 R6 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:228 w ap 0 reg 7 R7 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:229 w ap 0 reg 8 R8 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:230 w ap 0 reg 9 R9 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:230 w ap 0 reg 10 R10 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:231 w ap 0 reg 11 R11 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:231 w ap 0 reg 12 R12 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:231 w ap 0 reg 13 SP 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:232 w ap 0 reg 14 LR 0x20000001 -[3.632] spawnCubeProgrammer(): 14:34:24:233 w ap 0 reg 15 PC 0x20000005 -[3.632] spawnCubeProgrammer(): 14:34:24:233 w ap 0 reg 16 xPSR 0x01000000 -[3.632] spawnCubeProgrammer(): 14:34:24:234 w ap 0 reg 17 MSP 0x200010D4 -[3.632] spawnCubeProgrammer(): 14:34:24:235 w ap 0 reg 18 PSP 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:235 run ap 0 -[3.632] spawnCubeProgrammer(): 14:34:24:236 halt ap 0 -[3.632] spawnCubeProgrammer(): 14:34:24:236 r ap 0 reg 0 R0 0x00000001 -[3.632] spawnCubeProgrammer(): 14:34:24:237 w ap 0 reg 0 R0 0x08000000 -[3.632] spawnCubeProgrammer(): 14:34:24:237 w ap 0 reg 1 R1 0x000026E0 -[3.632] spawnCubeProgrammer(): 14:34:24:238 w ap 0 reg 2 R2 0x20001100 -[3.632] spawnCubeProgrammer(): 14:34:24:238 w ap 0 reg 3 R3 0x00000002 -[3.632] spawnCubeProgrammer(): 14:34:24:239 w ap 0 reg 4 R4 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:240 w ap 0 reg 5 R5 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:240 w ap 0 reg 6 R6 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:241 w ap 0 reg 7 R7 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:242 w ap 0 reg 8 R8 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:242 w ap 0 reg 9 R9 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:243 w ap 0 reg 10 R10 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:244 w ap 0 reg 11 R11 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:244 w ap 0 reg 12 R12 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:245 w ap 0 reg 13 SP 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:246 w ap 0 reg 14 LR 0x20000001 -[3.632] spawnCubeProgrammer(): 14:34:24:246 w ap 0 reg 15 PC 0x20000051 -[3.632] spawnCubeProgrammer(): 14:34:24:247 w ap 0 reg 16 xPSR 0x01000000 -[3.632] spawnCubeProgrammer(): 14:34:24:248 w ap 0 reg 17 MSP 0x200010D4 -[3.632] spawnCubeProgrammer(): 14:34:24:248 w ap 0 reg 18 PSP 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:248 run ap 0 -[3.632] spawnCubeProgrammer(): 14:34:24:331 w ap 0 @0x200037E0 0x000026E0 bytes -[3.632] spawnCubeProgrammer(): 14:34:24:331 W B2 in RAM @0x20040700 size 0x000026E0: 0108ms -[3.632] spawnCubeProgrammer(): 14:34:24:332 r ap 0 reg 0 R0 0x00000001 -[3.632] spawnCubeProgrammer(): 14:34:24:332 Wait W B1 in Flash @0x08000000 size 0x000026E0: 0001ms -[3.632] spawnCubeProgrammer(): 14:34:24:333 w ap 0 reg 0 R0 0x080026E0 -[3.632] spawnCubeProgrammer(): 14:34:24:333 w ap 0 reg 1 R1 0x000026E0 -[3.632] spawnCubeProgrammer(): 14:34:24:334 w ap 0 reg 2 R2 0x200037E0 -[3.632] spawnCubeProgrammer(): 14:34:24:334 w ap 0 reg 3 R3 0x00000002 -[3.632] spawnCubeProgrammer(): 14:34:24:335 w ap 0 reg 4 R4 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:335 w ap 0 reg 5 R5 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:336 w ap 0 reg 6 R6 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:336 w ap 0 reg 7 R7 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:336 w ap 0 reg 8 R8 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:337 w ap 0 reg 9 R9 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:337 w ap 0 reg 10 R10 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:338 w ap 0 reg 11 R11 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:338 w ap 0 reg 12 R12 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:339 w ap 0 reg 13 SP 0x00000000 -[3.632] spawnCubeProgrammer(): 14:34:24:339 w ap 0 reg 14 LR 0x20000001 -[3.632] spawnCubeProgrammer(): 14:34:24:340 w ap 0 reg 15 PC 0x20000051 -[3.632] spawnCubeProgrammer(): 14:34:24:340 w ap 0 reg 16 xPSR 0x01000000 -[3.632] spawnCubeProgrammer(): 14:34:24:340 w ap 0 reg 17 MSP 0x200010D4 -[3.632] spawnCubeProgrammer(): 14:34:24:341 w ap 0 reg 18 PSP 0x00000000 -[3.633] spawnCubeProgrammer(): 14:34:24:341 run ap 0 -[3.633] spawnCubeProgrammer(): 14:34:24:413 r ap 0 reg 0 R0 0x00000001 -[3.633] spawnCubeProgrammer(): 14:34:24:413 Write elapsed time: 0258ms -[3.633] spawnCubeProgrammer(): 14:34:24:414 Segment[0] downloaded successfully -[3.633] spawnCubeProgrammer(): 14:34:24:414 -[3.633] spawnCubeProgrammer(): -[3.633] spawnCubeProgrammer(): 14:34:24:414 File download complete -[3.633] spawnCubeProgrammer(): 14:34:24:414 Time elapsed during download operation: 00:00:00.816 -[3.633] spawnCubeProgrammer(): 14:34:24:414 -[3.633] spawnCubeProgrammer(): -[3.633] spawnCubeProgrammer(): 14:34:24:414 -[3.633] spawnCubeProgrammer(): Verifying ... -[3.633] spawnCubeProgrammer(): 14:34:24:414 -[3.633] spawnCubeProgrammer(): -[3.633] spawnCubeProgrammer(): 14:34:24:414 Read progress: -[3.633] spawnCubeProgrammer(): 14:34:24:414 Reading data... -[3.633] spawnCubeProgrammer(): 14:34:24:442 r ap 0 @0x08000000 0x00000400 bytes -[3.633] spawnCubeProgrammer(): 14:34:24:442 Reading data... -[3.633] spawnCubeProgrammer(): 14:34:24:449 r ap 0 @0x08000400 0x00000400 bytes -[3.633] spawnCubeProgrammer(): 14:34:24:449 Reading data... -[3.633] spawnCubeProgrammer(): 14:34:24:456 r ap 0 @0x08000800 0x00000400 bytes -[3.633] spawnCubeProgrammer(): 14:34:24:456 Reading data... -[3.633] spawnCubeProgrammer(): 14:34:24:463 r ap 0 @0x08000C00 0x00000400 bytes -[3.633] spawnCubeProgrammer(): 14:34:24:464 Reading data... -[3.633] spawnCubeProgrammer(): 14:34:24:470 r ap 0 @0x08001000 0x00000400 bytes -[3.633] spawnCubeProgrammer(): 14:34:24:470 Reading data... -[3.633] spawnCubeProgrammer(): 14:34:24:477 r ap 0 @0x08001400 0x00000400 bytes -[3.633] spawnCubeProgrammer(): 14:34:24:477 Reading data... -[3.633] spawnCubeProgrammer(): 14:34:24:484 r ap 0 @0x08001800 0x00000400 bytes -[3.633] spawnCubeProgrammer(): 14:34:24:484 Reading data... -[3.633] spawnCubeProgrammer(): 14:34:24:491 r ap 0 @0x08001C00 0x00000400 bytes -[3.633] spawnCubeProgrammer(): 14:34:24:492 Reading data... -[3.633] spawnCubeProgrammer(): 14:34:24:499 r ap 0 @0x08002000 0x00000400 bytes -[3.633] spawnCubeProgrammer(): 14:34:24:499 Reading data... -[3.633] spawnCubeProgrammer(): 14:34:24:506 r ap 0 @0x08002400 0x00000400 bytes -[3.633] spawnCubeProgrammer(): 14:34:24:506 Reading data... -[3.633] spawnCubeProgrammer(): 14:34:24:513 r ap 0 @0x08002800 0x00000400 bytes -[3.633] spawnCubeProgrammer(): 14:34:24:513 Reading data... -[3.633] spawnCubeProgrammer(): 14:34:24:520 r ap 0 @0x08002C00 0x00000400 bytes -[3.633] spawnCubeProgrammer(): 14:34:24:521 Reading data... -[3.633] spawnCubeProgrammer(): 14:34:24:528 r ap 0 @0x08003000 0x00000400 bytes -[3.633] spawnCubeProgrammer(): 14:34:24:528 Reading data... -[3.633] spawnCubeProgrammer(): 14:34:24:535 r ap 0 @0x08003400 0x00000400 bytes -[3.633] spawnCubeProgrammer(): 14:34:24:535 Reading data... -[3.633] spawnCubeProgrammer(): 14:34:24:542 r ap 0 @0x08003800 0x00000400 bytes -[3.633] spawnCubeProgrammer(): 14:34:24:542 Reading data... -[3.633] spawnCubeProgrammer(): 14:34:24:550 r ap 0 @0x08003C00 0x00000400 bytes -[3.633] spawnCubeProgrammer(): 14:34:24:550 Reading data... -[3.633] spawnCubeProgrammer(): 14:34:24:557 r ap 0 @0x08004000 0x00000400 bytes -[3.633] spawnCubeProgrammer(): 14:34:24:557 Reading data... -[3.633] spawnCubeProgrammer(): 14:34:24:564 r ap 0 @0x08004400 0x00000400 bytes -[3.633] spawnCubeProgrammer(): 14:34:24:564 Reading data... -[3.633] spawnCubeProgrammer(): 14:34:24:571 r ap 0 @0x08004800 0x00000400 bytes -[3.633] spawnCubeProgrammer(): 14:34:24:571 Reading data... -[3.633] spawnCubeProgrammer(): 14:34:24:574 r ap 0 @0x08004C00 0x000001C0 bytes -[3.633] spawnCubeProgrammer(): 14:34:24:574 -[3.633] spawnCubeProgrammer(): -[3.633] spawnCubeProgrammer(): 14:34:24:575 Download verified successfully -[3.633] spawnCubeProgrammer(): 14:34:24:575 -[3.633] spawnCubeProgrammer(): -[3.633] spawnCubeProgrammer(): ------ Switching context ----- -[3.642] Device_Initialise(): Target connection mode: Default -[3.650] reset_hw_wtchpt_module(): Hardware watchpoint supported by the target -[3.653] Device_Initialise(): COM frequency = 4000 kHz -[3.654] Device_Initialise(): ST-LINK Firmware version : V2J35M26 -[3.654] Device_Initialise(): Device ID: 0x451 -[3.654] Device_Initialise(): PC: 0x8004cbc -[3.654] Device_Initialise(): ST-LINK detects target voltage = 3.27 V -[3.655] Device_Initialise(): ST-LINK device status: HALT_MODE -[3.655] initServerContext(): ST-LINK device initialization OK -[3.656] write(): <13> Tx: $OK#9a -[3.656] read(): <13> Rx: $Pf=bc4c0008#17 -[3.657] write(): <13> Tx: $OK#9a -[3.657] read(): <13> Rx: $m200002a0,4#82 -[3.657] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[3.658] write(): <13> Tx: $b44220d3#f5 -[3.658] read(): <13> Rx: $m200002a8,4#8a -[3.658] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[3.659] write(): <13> Tx: $002807d0#c5 -[3.661] read(): <13> Rx: $m200002ac,4#b5 -[3.661] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[3.662] write(): <13> Tx: $300000f0#b9 -[3.664] read(): <13> Rx: $m200002a4,4#86 -[3.664] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[3.664] write(): <13> Tx: $3800c0b2#f2 -[3.678] read(): <13> Rx: $m8004cbc,4#c1 -[3.678] handlePacket(): Reading 0x4 bytes of memory from addr 0x8004cbc -[3.679] write(): <13> Tx: $dff834d0#63 -[3.679] read(): <13> Rx: $m8004cbc,2#bf -[3.679] handlePacket(): Reading 0x2 bytes of memory from addr 0x8004cbc -[3.680] write(): <13> Tx: $dff8#68 -[3.680] read(): <13> Rx: $m8004cbe,2#c1 -[3.680] handlePacket(): Reading 0x2 bytes of memory from addr 0x8004cbe -[3.680] write(): <13> Tx: $34d0#fb -[3.684] read(): <13> Rx: $me000ed14,4#f0 -[3.684] handlePacket(): Reading 0x4 bytes of memory from addr 0xe000ed14 -[3.685] write(): <13> Tx: $00020400#86 -[3.685] read(): <13> Rx: $Xe000ed14,0:#11 -[3.685] write(): <13> Tx: $OK#9a -[3.685] read(): <13> Rx: $Xe000ed14,4:\x10\x02\x04\x00#2b -[3.686] write(): <13> Tx: $OK#9a -[3.686] read(): <13> Rx: $g#67 -[3.693] write(): <13> Tx: $0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820ffffffffbc4c000800000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff00000000000000000000000000000000000000000000082000000000#c9 -[3.693] read(): <13> Rx: $m8004cbc,4#c1 -[3.693] handlePacket(): Reading 0x4 bytes of memory from addr 0x8004cbc -[3.694] write(): <13> Tx: $dff834d0#63 -[3.694] read(): <13> Rx: $m8004cbc,2#bf -[3.694] handlePacket(): Reading 0x2 bytes of memory from addr 0x8004cbc -[3.694] write(): <13> Tx: $dff8#68 -[3.694] read(): <13> Rx: $m8004cbe,2#c1 -[3.694] handlePacket(): Reading 0x2 bytes of memory from addr 0x8004cbe -[3.695] write(): <13> Tx: $34d0#fb -[3.695] read(): <13> Rx: $mfffffffe,1#f9 -[3.695] handlePacket(): Reading 0x1 bytes of memory from addr 0xfffffffe -[3.696] write(): <13> Tx: $E31#a9 -[3.696] read(): <13> Rx: $mfffffffe,1#f9 -[3.696] handlePacket(): Reading 0x1 bytes of memory from addr 0xfffffffe -[3.697] write(): <13> Tx: $E31#a9 -[3.697] read(): <13> Rx: $me000edfc,4#54 -[3.697] handlePacket(): Reading 0x4 bytes of memory from addr 0xe000edfc -[3.697] write(): <13> Tx: $00000001#81 -[3.697] read(): <13> Rx: $Xe000edfc,4:\xff\x07\x00\x01#71 -[3.698] write(): <13> Tx: $OK#9a -[3.698] read(): <13> Rx: $g#67 -[3.704] write(): <13> Tx: $0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820ffffffffbc4c000800000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff00000000000000000000000000000000000000000000082000000000#c9 -[3.704] read(): <13> Rx: $m8004cbc,4#c1 -[3.704] handlePacket(): Reading 0x4 bytes of memory from addr 0x8004cbc -[3.705] write(): <13> Tx: $dff834d0#63 -[3.705] read(): <13> Rx: $m8004cbc,2#bf -[3.705] handlePacket(): Reading 0x2 bytes of memory from addr 0x8004cbc -[3.705] write(): <13> Tx: $dff8#68 -[3.705] read(): <13> Rx: $m8004cbe,2#c1 -[3.705] handlePacket(): Reading 0x2 bytes of memory from addr 0x8004cbe -[3.705] write(): <13> Tx: $34d0#fb -[3.706] read(): <13> Rx: $m8004040,40#5d -[3.706] handlePacket(): Reading 0x40 bytes of memory from addr 0x8004040 -[3.706] write(): <13> Tx: $fcf77afa00f01ef800f092fa00f06afa00f0a2f800f0fef800f05af900f0d0f900f02cfa0448fef737f90448fff774ff0348fff771fffee76800002068020020#3d -[3.706] read(): <13> Rx: $m8004040,2#2b -[3.706] handlePacket(): Reading 0x2 bytes of memory from addr 0x8004040 -[3.707] write(): <13> Tx: $fcf7#66 -[3.708] read(): <13> Rx: $Z1,8004040,2#75 -[3.708] write(): <13> Tx: $OK#9a -[3.708] read(): <13> Rx: $vCont;c#a8 -[3.708] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 -[3.714] handle_vCont_c(): handle_vCont_c, continue thread -[3.714] write(): <13> Tx: $OK#9a -[3.724] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 -[3.724] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) -[3.730] Device_GetHaltReason(): NVIC_DFSR_REG = 0x0000000B -[3.731] write(): <13> Tx: %Stop:T05hwbreak:;thread:1;core:0;#7e -[3.755] read(): <13> Rx: $vStopped#55 -[3.755] write(): <13> Tx: $OK#9a -[3.755] read(): <13> Rx: $g#67 -[3.762] write(): <13> Tx: $84020020e8000020e800002084020020000000000000000000000000f8ff07200000000000000000000000000000000000000000f8ff0720f34c00084040000800000061000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff0000000000000000000000000000000000000000f8ff072000000000#a6 -[3.762] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb -[3.762] write(): <13> Tx: $l#8b -[3.762] read(): <13> Rx: $z1,8004040,2#95 -[3.763] write(): <13> Tx: $OK#9a -[3.763] read(): <13> Rx: $m8004040,4#2d -[3.763] handlePacket(): Reading 0x4 bytes of memory from addr 0x8004040 -[3.763] write(): <13> Tx: $fcf77afa#c5 -[3.853] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb -[3.853] write(): <13> Tx: $l#8b -[3.871] read(): <13> Rx: $m40000024,4#57 -[3.871] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[3.871] write(): <13> Tx: $00000000#80 -[3.872] read(): <13> Rx: $m200002a8,4#8a -[3.872] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[3.872] write(): <13> Tx: $00000000#80 -[3.873] read(): <13> Rx: $m200002ac,4#b5 -[3.873] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[3.873] write(): <13> Tx: $00000000#80 -[3.874] read(): <13> Rx: $m200002a4,4#86 -[3.874] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[3.874] write(): <13> Tx: $00000000#80 -[3.875] read(): <13> Rx: $m40000024,4#57 -[3.875] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[3.875] write(): <13> Tx: $00000000#80 -[3.876] read(): <13> Rx: $m200002a8,4#8a -[3.876] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[3.876] write(): <13> Tx: $00000000#80 -[3.878] read(): <13> Rx: $m200002ac,4#b5 -[3.878] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[3.878] write(): <13> Tx: $00000000#80 -[3.878] read(): <13> Rx: $m200002a4,4#86 -[3.878] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[3.879] write(): <13> Tx: $00000000#80 -[3.942] read(): <13> Rx: $m2007ffc0,40#25 -[3.942] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 -[3.942] write(): <13> Tx: $04000000000c0040e800002084020020f8ff0720d8ff0720ffff000001000000e8ff0720d747000800000000454d0008000000000000000000000000f34c0008#88 -[3.942] read(): <13> Rx: $m8004cf2,4#94 -[3.942] handlePacket(): Reading 0x4 bytes of memory from addr 0x8004cf2 -[3.943] write(): <13> Tx: $70470000#92 -[3.943] read(): <13> Rx: $m8004c80,40#94 -[3.943] handlePacket(): Reading 0x40 bytes of memory from addr 0x8004c80 -[3.944] write(): <13> Tx: $0b600b4b0c4a5a60094b1b68084a23f480231360064b0022da60044b4ff000629a6000bfbd465df8047b704700ed00e000380240fffff6fe10300024dff834d0#ad -[3.944] read(): <13> Rx: $m8004cf4,4#96 -[3.944] handlePacket(): Reading 0x4 bytes of memory from addr 0x8004cf4 -[3.944] write(): <13> Tx: $00000820#8a -[3.944] read(): <13> Rx: $m8004cc0,40#bf -[3.944] handlePacket(): Reading 0x40 bytes of memory from addr 0x8004cc0 -[3.945] write(): <13> Tx: $002103e00c4b5b58435004310b480c4b42189a42f6d30b4a02e0002342f8043b094b9a42f9d3fff7b3ff00f011f8fff7a5f9704700000820b44d000800000020#ec -[3.965] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb -[3.965] write(): <13> Tx: $l#8b -[6.325] read(): <13> Rx: $vCont;c#a8 -[6.361] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 -[6.366] handle_vCont_c(): handle_vCont_c, continue thread -[6.366] write(): <13> Tx: $OK#9a -[6.366] read(): <13> Rx: $m40000024,4#57 -[6.366] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[6.367] write(): <13> Tx: $00000000#80 -[6.367] read(): <13> Rx: $T1#85 -[6.367] write(): <13> Tx: $OK#9a -[6.367] read(): <13> Rx: $T1#85 -[6.367] write(): <13> Tx: $OK#9a -[6.367] read(): <13> Rx: $m200002a8,4#8a -[6.367] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[6.368] write(): <13> Tx: $00000000#80 -[6.368] read(): <13> Rx: $m200002ac,4#b5 -[6.368] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[6.368] write(): <13> Tx: $00000000#80 -[6.369] read(): <13> Rx: $m200002a4,4#86 -[6.369] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[6.369] write(): <13> Tx: $0000803f#c1 -[6.379] Device_GetStatus(): ST-LINK device status: RUN_MODE -[6.570] read(): <13> Rx: $m40000024,4#57 -[6.570] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[6.570] write(): <13> Tx: $ffffff7f#01 -[6.571] read(): <13> Rx: $m200002a8,4#8a -[6.571] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[6.571] write(): <13> Tx: $00000000#80 -[6.571] read(): <13> Rx: $m200002ac,4#b5 -[6.571] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[6.572] write(): <13> Tx: $00000000#80 -[6.572] read(): <13> Rx: $m200002a4,4#86 -[6.572] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[6.572] write(): <13> Tx: $0000c842#c1 -[6.773] read(): <13> Rx: $m40000024,4#57 -[6.774] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[6.774] write(): <13> Tx: $ffffff7f#01 -[6.775] read(): <13> Rx: $m200002a8,4#8a -[6.775] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[6.776] write(): <13> Tx: $00000000#80 -[6.777] read(): <13> Rx: $m200002ac,4#b5 -[6.777] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[6.777] write(): <13> Tx: $00000000#80 -[6.778] read(): <13> Rx: $m200002a4,4#86 -[6.778] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[6.779] write(): <13> Tx: $0000c842#c1 -[6.980] read(): <13> Rx: $m40000024,4#57 -[6.980] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[6.981] write(): <13> Tx: $ffffff7f#01 -[6.982] read(): <13> Rx: $m200002a8,4#8a -[6.982] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[6.983] write(): <13> Tx: $00000000#80 -[6.984] read(): <13> Rx: $m200002ac,4#b5 -[6.984] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[6.984] write(): <13> Tx: $00000000#80 -[6.986] read(): <13> Rx: $m200002a4,4#86 -[6.986] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[6.986] write(): <13> Tx: $0000c842#c1 -[7.188] read(): <13> Rx: $m40000024,4#57 -[7.188] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[7.188] write(): <13> Tx: $ffffff7f#01 -[7.189] read(): <13> Rx: $m200002a8,4#8a -[7.189] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[7.190] write(): <13> Tx: $00000000#80 -[7.191] read(): <13> Rx: $m200002ac,4#b5 -[7.191] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[7.192] write(): <13> Tx: $00000000#80 -[7.193] read(): <13> Rx: $m200002a4,4#86 -[7.193] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[7.194] write(): <13> Tx: $0000c842#c1 -[7.395] read(): <13> Rx: $m40000024,4#57 -[7.395] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[7.396] write(): <13> Tx: $ffffff7f#01 -[7.397] read(): <13> Rx: $m200002a8,4#8a -[7.397] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[7.398] write(): <13> Tx: $00000000#80 -[7.399] read(): <13> Rx: $m200002ac,4#b5 -[7.399] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[7.400] write(): <13> Tx: $00000000#80 -[7.401] read(): <13> Rx: $m200002a4,4#86 -[7.401] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[7.401] write(): <13> Tx: $0000c842#c1 -[7.604] read(): <13> Rx: $m40000024,4#57 -[7.604] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[7.605] write(): <13> Tx: $ffffff7f#01 -[7.606] read(): <13> Rx: $m200002a8,4#8a -[7.606] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[7.606] write(): <13> Tx: $00000000#80 -[7.607] read(): <13> Rx: $m200002ac,4#b5 -[7.607] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[7.608] write(): <13> Tx: $00000000#80 -[7.609] read(): <13> Rx: $m200002a4,4#86 -[7.609] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[7.610] write(): <13> Tx: $0000c842#c1 -[7.811] read(): <13> Rx: $m40000024,4#57 -[7.811] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[7.811] write(): <13> Tx: $ffffff7f#01 -[7.812] read(): <13> Rx: $m200002a8,4#8a -[7.812] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[7.812] write(): <13> Tx: $00000000#80 -[7.812] read(): <13> Rx: $m200002ac,4#b5 -[7.812] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[7.813] write(): <13> Tx: $00000000#80 -[7.813] read(): <13> Rx: $m200002a4,4#86 -[7.813] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[7.813] write(): <13> Tx: $0000c842#c1 -[8.015] read(): <13> Rx: $m40000024,4#57 -[8.015] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[8.016] write(): <13> Tx: $ffffff7f#01 -[8.017] read(): <13> Rx: $m200002a8,4#8a -[8.017] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[8.017] write(): <13> Tx: $00000000#80 -[8.018] read(): <13> Rx: $m200002ac,4#b5 -[8.018] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[8.019] write(): <13> Tx: $00000000#80 -[8.020] read(): <13> Rx: $m200002a4,4#86 -[8.021] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[8.022] write(): <13> Tx: $0000c842#c1 -[8.223] read(): <13> Rx: $m40000024,4#57 -[8.223] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[8.223] write(): <13> Tx: $ffffff7f#01 -[8.223] read(): <13> Rx: $m200002a8,4#8a -[8.223] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[8.224] write(): <13> Tx: $00000000#80 -[8.224] read(): <13> Rx: $m200002ac,4#b5 -[8.224] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[8.224] write(): <13> Tx: $00000000#80 -[8.225] read(): <13> Rx: $m200002a4,4#86 -[8.225] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[8.225] write(): <13> Tx: $0000c842#c1 -[8.426] read(): <13> Rx: $m40000024,4#57 -[8.426] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[8.427] write(): <13> Tx: $ffffff7f#01 -[8.428] read(): <13> Rx: $m200002a8,4#8a -[8.428] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[8.428] write(): <13> Tx: $00000000#80 -[8.429] read(): <13> Rx: $m200002ac,4#b5 -[8.429] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[8.430] write(): <13> Tx: $00000000#80 -[8.431] read(): <13> Rx: $m200002a4,4#86 -[8.431] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[8.431] write(): <13> Tx: $0000c842#c1 -[8.633] read(): <13> Rx: $m40000024,4#57 -[8.633] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[8.634] write(): <13> Tx: $ffffff7f#01 -[8.636] read(): <13> Rx: $m200002a8,4#8a -[8.636] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[8.637] write(): <13> Tx: $00000000#80 -[8.637] read(): <13> Rx: $m200002ac,4#b5 -[8.638] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[8.638] write(): <13> Tx: $00000000#80 -[8.639] read(): <13> Rx: $m200002a4,4#86 -[8.639] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[8.640] write(): <13> Tx: $0000c842#c1 -[8.841] read(): <13> Rx: $m40000024,4#57 -[8.841] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[8.842] write(): <13> Tx: $ffffff7f#01 -[8.843] read(): <13> Rx: $m200002a8,4#8a -[8.843] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[8.844] write(): <13> Tx: $00000000#80 -[8.844] read(): <13> Rx: $m200002ac,4#b5 -[8.845] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[8.845] write(): <13> Tx: $00000000#80 -[8.846] read(): <13> Rx: $m200002a4,4#86 -[8.846] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[8.846] write(): <13> Tx: $0000c842#c1 -[9.047] read(): <13> Rx: $m40000024,4#57 -[9.047] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[9.048] write(): <13> Tx: $ffffff7f#01 -[9.048] read(): <13> Rx: $m200002a8,4#8a -[9.048] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[9.049] write(): <13> Tx: $00000000#80 -[9.049] read(): <13> Rx: $m200002ac,4#b5 -[9.049] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[9.050] write(): <13> Tx: $00000000#80 -[9.050] read(): <13> Rx: $m200002a4,4#86 -[9.050] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[9.051] write(): <13> Tx: $0000c842#c1 -[9.253] read(): <13> Rx: $m40000024,4#57 -[9.253] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[9.254] write(): <13> Tx: $ffffff7f#01 -[9.255] read(): <13> Rx: $m200002a8,4#8a -[9.255] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[9.256] write(): <13> Tx: $00000000#80 -[9.257] read(): <13> Rx: $m200002ac,4#b5 -[9.257] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[9.258] write(): <13> Tx: $00000000#80 -[9.259] read(): <13> Rx: $m200002a4,4#86 -[9.259] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[9.260] write(): <13> Tx: $0000c842#c1 -[9.461] read(): <13> Rx: $m40000024,4#57 -[9.461] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[9.462] write(): <13> Tx: $ffffff7f#01 -[9.462] read(): <13> Rx: $m200002a8,4#8a -[9.462] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[9.463] write(): <13> Tx: $00000000#80 -[9.463] read(): <13> Rx: $m200002ac,4#b5 -[9.463] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[9.464] write(): <13> Tx: $00000000#80 -[9.464] read(): <13> Rx: $m200002a4,4#86 -[9.464] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[9.464] write(): <13> Tx: $0000c842#c1 -[9.665] read(): <13> Rx: $m40000024,4#57 -[9.665] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[9.666] write(): <13> Tx: $ffffff7f#01 -[9.668] read(): <13> Rx: $m200002a8,4#8a -[9.668] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[9.668] write(): <13> Tx: $00000000#80 -[9.669] read(): <13> Rx: $m200002ac,4#b5 -[9.669] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[9.670] write(): <13> Tx: $00000000#80 -[9.671] read(): <13> Rx: $m200002a4,4#86 -[9.671] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[9.671] write(): <13> Tx: $0000c842#c1 -[9.873] read(): <13> Rx: $m40000024,4#57 -[9.873] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[9.874] write(): <13> Tx: $ffffff7f#01 -[9.874] read(): <13> Rx: $m200002a8,4#8a -[9.874] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[9.875] write(): <13> Tx: $00000000#80 -[9.876] read(): <13> Rx: $m200002ac,4#b5 -[9.876] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[9.876] write(): <13> Tx: $00000000#80 -[9.877] read(): <13> Rx: $m200002a4,4#86 -[9.877] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[9.877] write(): <13> Tx: $0000c842#c1 -[10.079] read(): <13> Rx: $m40000024,4#57 -[10.079] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[10.080] write(): <13> Tx: $ffffff7f#01 -[10.081] read(): <13> Rx: $m200002a8,4#8a -[10.081] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[10.082] write(): <13> Tx: $00000000#80 -[10.083] read(): <13> Rx: $m200002ac,4#b5 -[10.083] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[10.084] write(): <13> Tx: $00000000#80 -[10.084] read(): <13> Rx: $m200002a4,4#86 -[10.084] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[10.085] write(): <13> Tx: $0000c842#c1 -[10.287] read(): <13> Rx: $m40000024,4#57 -[10.287] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[10.287] write(): <13> Tx: $ffffff7f#01 -[10.289] read(): <13> Rx: $m200002a8,4#8a -[10.289] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[10.289] write(): <13> Tx: $00000000#80 -[10.291] read(): <13> Rx: $m200002ac,4#b5 -[10.291] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[10.291] write(): <13> Tx: $00000000#80 -[10.292] read(): <13> Rx: $m200002a4,4#86 -[10.292] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[10.293] write(): <13> Tx: $0000c842#c1 -[10.495] read(): <13> Rx: $m40000024,4#57 -[10.495] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[10.495] write(): <13> Tx: $ffffff7f#01 -[10.497] read(): <13> Rx: $m200002a8,4#8a -[10.497] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[10.497] write(): <13> Tx: $00000000#80 -[10.499] read(): <13> Rx: $m200002ac,4#b5 -[10.499] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[10.499] write(): <13> Tx: $00000000#80 -[10.501] read(): <13> Rx: $m200002a4,4#86 -[10.501] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[10.501] write(): <13> Tx: $0000c842#c1 -[10.703] read(): <13> Rx: $m40000024,4#57 -[10.703] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[10.704] write(): <13> Tx: $ffffff7f#01 -[10.705] read(): <13> Rx: $m200002a8,4#8a -[10.705] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[10.706] write(): <13> Tx: $00000000#80 -[10.707] read(): <13> Rx: $m200002ac,4#b5 -[10.707] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[10.707] write(): <13> Tx: $00000000#80 -[10.708] read(): <13> Rx: $m200002a4,4#86 -[10.708] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[10.708] write(): <13> Tx: $0000c842#c1 -[10.909] read(): <13> Rx: $m40000024,4#57 -[10.909] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[10.910] write(): <13> Tx: $ffffff7f#01 -[10.910] read(): <13> Rx: $m200002a8,4#8a -[10.910] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[10.911] write(): <13> Tx: $00000000#80 -[10.911] read(): <13> Rx: $m200002ac,4#b5 -[10.911] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[10.911] write(): <13> Tx: $00000000#80 -[10.912] read(): <13> Rx: $m200002a4,4#86 -[10.912] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[10.912] write(): <13> Tx: $0000c842#c1 -[11.113] read(): <13> Rx: $m40000024,4#57 -[11.113] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[11.114] write(): <13> Tx: $ffffff7f#01 -[11.115] read(): <13> Rx: $m200002a8,4#8a -[11.115] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[11.116] write(): <13> Tx: $00000000#80 -[11.117] read(): <13> Rx: $m200002ac,4#b5 -[11.117] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[11.117] write(): <13> Tx: $00000000#80 -[11.118] read(): <13> Rx: $m200002a4,4#86 -[11.118] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[11.119] write(): <13> Tx: $0000c842#c1 -[11.320] read(): <13> Rx: $m40000024,4#57 -[11.320] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[11.321] write(): <13> Tx: $ffffff7f#01 -[11.321] read(): <13> Rx: $m200002a8,4#8a -[11.321] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[11.322] write(): <13> Tx: $00000000#80 -[11.322] read(): <13> Rx: $m200002ac,4#b5 -[11.322] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[11.322] write(): <13> Tx: $00000000#80 -[11.323] read(): <13> Rx: $m200002a4,4#86 -[11.323] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[11.323] write(): <13> Tx: $0000c842#c1 -[11.524] read(): <13> Rx: $m40000024,4#57 -[11.524] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[11.525] write(): <13> Tx: $ffffff7f#01 -[11.525] read(): <13> Rx: $m200002a8,4#8a -[11.525] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[11.525] write(): <13> Tx: $00000000#80 -[11.526] read(): <13> Rx: $m200002ac,4#b5 -[11.526] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[11.526] write(): <13> Tx: $00000000#80 -[11.526] read(): <13> Rx: $m200002a4,4#86 -[11.526] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[11.527] write(): <13> Tx: $0000c842#c1 -[11.728] read(): <13> Rx: $m40000024,4#57 -[11.728] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[11.728] write(): <13> Tx: $ffffff7f#01 -[11.729] read(): <13> Rx: $m200002a8,4#8a -[11.729] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[11.729] write(): <13> Tx: $00000000#80 -[11.729] read(): <13> Rx: $m200002ac,4#b5 -[11.730] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[11.730] write(): <13> Tx: $00000000#80 -[11.730] read(): <13> Rx: $m200002a4,4#86 -[11.730] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[11.731] write(): <13> Tx: $0000c842#c1 -[11.932] read(): <13> Rx: $m40000024,4#57 -[11.932] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[11.933] write(): <13> Tx: $ffffff7f#01 -[11.933] read(): <13> Rx: $m200002a8,4#8a -[11.933] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[11.934] write(): <13> Tx: $00000000#80 -[11.935] read(): <13> Rx: $m200002ac,4#b5 -[11.935] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[11.935] write(): <13> Tx: $00000000#80 -[11.936] read(): <13> Rx: $m200002a4,4#86 -[11.936] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[11.937] write(): <13> Tx: $0000c842#c1 -[12.139] read(): <13> Rx: $m40000024,4#57 -[12.139] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[12.139] write(): <13> Tx: $ffffff7f#01 -[12.141] read(): <13> Rx: $m200002a8,4#8a -[12.141] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[12.141] write(): <13> Tx: $00000000#80 -[12.142] read(): <13> Rx: $m200002ac,4#b5 -[12.142] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[12.143] write(): <13> Tx: $00000000#80 -[12.144] read(): <13> Rx: $m200002a4,4#86 -[12.144] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[12.144] write(): <13> Tx: $0000c842#c1 -[12.345] read(): <13> Rx: $m40000024,4#57 -[12.345] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[12.345] write(): <13> Tx: $ffffff7f#01 -[12.346] read(): <13> Rx: $m200002a8,4#8a -[12.346] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[12.346] write(): <13> Tx: $00000000#80 -[12.347] read(): <13> Rx: $m200002ac,4#b5 -[12.347] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[12.347] write(): <13> Tx: $00000000#80 -[12.347] read(): <13> Rx: $m200002a4,4#86 -[12.347] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[12.348] write(): <13> Tx: $0000c842#c1 -[12.549] read(): <13> Rx: $m40000024,4#57 -[12.549] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[12.550] write(): <13> Tx: $ffffff7f#01 -[12.551] read(): <13> Rx: $m200002a8,4#8a -[12.551] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[12.551] write(): <13> Tx: $00000000#80 -[12.552] read(): <13> Rx: $m200002ac,4#b5 -[12.552] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[12.553] write(): <13> Tx: $00000000#80 -[12.554] read(): <13> Rx: $m200002a4,4#86 -[12.554] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[12.555] write(): <13> Tx: $0000c842#c1 -[12.757] read(): <13> Rx: $m40000024,4#57 -[12.757] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[12.758] write(): <13> Tx: $ffffff7f#01 -[12.760] read(): <13> Rx: $m200002a8,4#8a -[12.760] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[12.760] write(): <13> Tx: $00000000#80 -[12.762] read(): <13> Rx: $m200002ac,4#b5 -[12.762] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[12.762] write(): <13> Tx: $00000000#80 -[12.764] read(): <13> Rx: $m200002a4,4#86 -[12.764] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[12.764] write(): <13> Tx: $0000c842#c1 -[12.967] read(): <13> Rx: $m40000024,4#57 -[12.967] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[12.968] write(): <13> Tx: $ffffff7f#01 -[12.969] read(): <13> Rx: $m200002a8,4#8a -[12.969] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[12.970] write(): <13> Tx: $00000000#80 -[12.971] read(): <13> Rx: $m200002ac,4#b5 -[12.971] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[12.972] write(): <13> Tx: $00000000#80 -[12.973] read(): <13> Rx: $m200002a4,4#86 -[12.973] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[12.974] write(): <13> Tx: $0000c842#c1 -[13.176] read(): <13> Rx: $m40000024,4#57 -[13.176] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[13.176] write(): <13> Tx: $ffffff7f#01 -[13.178] read(): <13> Rx: $m200002a8,4#8a -[13.178] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[13.178] write(): <13> Tx: $00000000#80 -[13.180] read(): <13> Rx: $m200002ac,4#b5 -[13.180] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[13.180] write(): <13> Tx: $00000000#80 -[13.181] read(): <13> Rx: $m200002a4,4#86 -[13.181] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[13.182] write(): <13> Tx: $0000c842#c1 -[13.384] read(): <13> Rx: $m40000024,4#57 -[13.384] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[13.385] write(): <13> Tx: $ffffff7f#01 -[13.386] read(): <13> Rx: $m200002a8,4#8a -[13.386] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[13.386] write(): <13> Tx: $00000000#80 -[13.388] read(): <13> Rx: $m200002ac,4#b5 -[13.388] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[13.388] write(): <13> Tx: $00000000#80 -[13.389] read(): <13> Rx: $m200002a4,4#86 -[13.389] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[13.390] write(): <13> Tx: $0000c842#c1 -[13.592] read(): <13> Rx: $m40000024,4#57 -[13.592] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[13.593] write(): <13> Tx: $ffffff7f#01 -[13.594] read(): <13> Rx: $m200002a8,4#8a -[13.594] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[13.595] write(): <13> Tx: $00000000#80 -[13.596] read(): <13> Rx: $m200002ac,4#b5 -[13.596] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[13.597] write(): <13> Tx: $00000000#80 -[13.598] read(): <13> Rx: $m200002a4,4#86 -[13.598] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[13.598] write(): <13> Tx: $0000c842#c1 -[13.800] read(): <13> Rx: $m40000024,4#57 -[13.800] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[13.801] write(): <13> Tx: $ffffff7f#01 -[13.802] read(): <13> Rx: $m200002a8,4#8a -[13.802] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[13.803] write(): <13> Tx: $00000000#80 -[13.804] read(): <13> Rx: $m200002ac,4#b5 -[13.804] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[13.805] write(): <13> Tx: $00000000#80 -[13.806] read(): <13> Rx: $m200002a4,4#86 -[13.806] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[13.807] write(): <13> Tx: $0000c842#c1 -[14.009] read(): <13> Rx: $m40000024,4#57 -[14.009] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[14.009] write(): <13> Tx: $ffffff7f#01 -[14.011] read(): <13> Rx: $m200002a8,4#8a -[14.011] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[14.011] write(): <13> Tx: $00000000#80 -[14.012] read(): <13> Rx: $m200002ac,4#b5 -[14.012] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[14.013] write(): <13> Tx: $00000000#80 -[14.014] read(): <13> Rx: $m200002a4,4#86 -[14.014] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[14.015] write(): <13> Tx: $0000c842#c1 -[14.217] read(): <13> Rx: $m40000024,4#57 -[14.217] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[14.217] write(): <13> Tx: $ffffff7f#01 -[14.219] read(): <13> Rx: $m200002a8,4#8a -[14.219] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 +[0.005] Device_Initialise(): Target connection mode: Attach +[0.012] reset_hw_wtchpt_module(): Hardware watchpoint supported by the target +[0.015] Device_Initialise(): COM frequency = 4000 kHz +[0.015] Device_Initialise(): ST-LINK Firmware version : V2J35M26 +[0.015] Device_Initialise(): Device ID: 0x451 +[0.016] Device_Initialise(): PC: 0x10 +[0.016] Device_GetStatus(): ST-LINK device status: RUN_MODE +[0.016] Device_Initialise(): ST-LINK detects target voltage = 3.27 V +[0.017] Device_Initialise(): ST-LINK device status: RUN_MODE +[0.017] initServerContext(): ST-LINK device initialization OK +[0.017] WaitConnection(): Waiting for connection on port 61234... +[0.018] WaitConnection(): Waiting for connection on port 61235... +[2.070] WaitConnection(): Accepted connection on port 61234... +[2.070] handleGDBConnection(): Try halt ... +[2.070] read(): <13> Rx: +$qSupported:multiprocess+;swbreak+;hwbreak+;qRelocInsn+;fork-events+;vfork-events+;exec-events+;vContSupported+;QThreadEvents+;no-resumed+#df +[2.081] Device_GetStatus(): ST-LINK device status: HALT_MODE +[2.081] write(): <13> Tx: + +[2.081] write(): <13> Tx: $PacketSize=c00;qXfer:memory-map:read+;qXfer:features:read+;QStartNoAckMode+;QNonStop+;qXfer:threads:read+;hwbreak+;swbreak+#f2 +[2.081] read(): <13> Rx: +$vMustReplyEmpty#3a +[2.092] write(): <13> Tx: + +[2.092] write(): <13> Tx: $#00 +[2.135] read(): <13> Rx: +$QStartNoAckMode#b0 +[2.146] write(): <13> Tx: + +[2.146] write(): <13> Tx: $OK#9a +[2.186] read(): <13> Rx: +$Hg0#df +[2.197] write(): <13> Tx: $#00 +[2.197] read(): <13> Rx: $qXfer:features:read:target.xml:0,bfb#75 +[2.197] write(): <13> Tx: $l #aa +[2.199] read(): <13> Rx: $QNonStop:1#8d +[2.199] write(): <13> Tx: $OK#9a +[2.199] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[2.199] write(): <13> Tx: $l#8b +[2.199] read(): <13> Rx: $qAttached#8f +[2.199] write(): <13> Tx: $1#31 +[2.200] read(): <13> Rx: $qTStatus#49 +[2.200] write(): <13> Tx: $#00 +[2.200] read(): <13> Rx: $?#3f +[2.200] write(): <13> Tx: $T05thread:1;core:0;#25 +[2.201] read(): <13> Rx: $vStopped#55 +[2.201] write(): <13> Tx: $OK#9a +[2.201] read(): <13> Rx: $Hg1#e0 +[2.201] write(): <13> Tx: $#00 +[2.201] read(): <13> Rx: $g#67 +[2.208] write(): <13> Tx: $20260100c46400082026010045250100000000000000000000000000c0ff07200000000000000000000000000000000000000000c0ff07203106000834060008000000210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cdcccc3d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000c0ff072000000000#ad +[2.208] read(): <13> Rx: $qXfer:memory-map:read::0,bfb#14 +[2.209] write(): <13> Tx: $l\x0a\x0a0x8000\x0a\x0a0x8000\x0a#79 +[2.209] read(): <13> Rx: $m8008014,2#30 +[2.209] handlePacket(): Reading 0x2 bytes of memory from addr 0x8008014 +[2.210] write(): <13> Tx: $8400#cc +[2.255] read(): <13> Rx: $m8000634,4#32 +[2.255] handlePacket(): Reading 0x4 bytes of memory from addr 0x8000634 +[2.256] write(): <13> Tx: $d31afa68#5e +[2.256] read(): <13> Rx: $m2007ffc0,40#25 +[2.256] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[2.257] write(): <13> Tx: $00000000e803000045250100e9030000d8ff0720b553000801000000c4640008f0ff0720c35b00080000000000000000dc640008906200080000000023610008#9a +[2.978] read(): <13> Rx: $m80053b4,4#63 +[2.978] handlePacket(): Reading 0x4 bytes of memory from addr 0x80053b4 +[2.978] write(): <13> Tx: $fae700bf#8b +[2.979] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[2.979] write(): <13> Tx: $l#8b +[2.981] read(): <13> Rx: $qRcmd,57726974654450203078322030783030303030304630#f6 +[2.981] write(): <13> Tx: $4f2e4b2e0a#ef +[2.982] read(): <13> Rx: $qRcmd,52656164415020307832#29 +[2.983] write(): <13> Tx: $4f2e4b2e3a307865303066646664300a#95 +[2.984] read(): <13> Rx: $me00fdfd0,20#84 +[2.984] handlePacket(): Reading 0x20 bytes of memory from addr 0xe00fdfd0 +[2.984] write(): <13> Tx: $0000000000000000000000000000000051000000040000001a00000000000000#3c +[2.986] read(): <13> Rx: $qRcmd,7265736574#37 +[2.986] STM32_AppReset(): Enter STM32_AppReset() function +[3.090] STM32_AppReset(): NVIC_DFSR_REG = 0x00000009 +[3.091] STM32_AppReset(): NVIC_CFGFSR_REG = 0x00000000 +[3.091] STM32_AppReset(): XPSR = 0x01000000 +[3.091] write(): <13> Tx: $53544d3332205375636365737366756c6c7920636f6d706c65746564207265736574206f7065726174696f6e0a#59 +[3.093] WaitConnection(): Accepted connection on port 61235... +[3.095] read(): <13> Rx: $vFlashErase:08000000,00010000#c3 +[3.095] handleFlashPacket(): FlashErase skipped (Will be performed at flash done) +[3.095] write(): <13> Tx: $OK#9a +[3.095] read(): <13> Rx: $vFlashWrite:8000000:\x00\x00\x08 \xff\x7f\x00\x08\xff}]\x00\x08\xff}]\x00\x08\xff}]\x00\x08\xff}]\x00\x08\xff}]\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff}]\x00\x08\xff}]\x00\x08\x00\x00\x00\x00\xff}]\x00\x08\xff}]\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff}]\x00\x08\xff\x7f\x00\x08\x09~\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\x1d~\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x081~\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\x00\x00\x00\x00\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\x00\x00\x00\x00\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08#4a +[3.095] handleFlashPacket(): Flash write: Address= 0x8000000, Length=504 +[3.095] write(): <13> Tx: $OK#9a +[3.096] read(): <13> Rx: $vFlashWrite:80001f8:\x10\xff\x05L}\x03x3\xff\x04K\x13\xff\x04H\xff\xff\x00\xff\x01}\x03}\x03p\x10\xff\xff\x00\x00 \x00\x00\x00\x00\x10\xff\x00\x08\x08\xff\x03K\x1b\xff\x03I\x03H\xff\xff\x00\xff\x08\xff\x00\x00\x00\x00\xff\x00\x00 \x10\xff\x00\x08\x03F\x13\xff\x01+\x00}\x0a\xff\xff\x18\x1a\x018pGS\xffJ\xff\x00)\x08\xff\x00(\x1c\xffO\xff\xff1O\xff\xff0\x00\xffr\xff\xff\xff\x08\x0cm\xff\x04\xff\x00\xff\x06\xff\xff\xff\x04\xff\xff\xff\x02}\x03\x04\xffpG-\xff\xffG\x08\xff\x04F\xffF\x00+K\xff\xffB\x15Fg\xff\xff\xff\xff\xffJ\xff\xff\xff \x07\x01\xff\x02\xff \xff\x07\xff\xff@G\xff\x03\x08\xff@O\xff\x15N}\x03\x0c\xff\xff\xff\xff\x1f\xff\xff\xff\x0e\xff\x17\xffC\xff\x08C\x07\xff\x0c\xff\xffB\x09\xff\xff\x18\x07\xff\xff0\xff\xff\x1b\xff\xffB@\xff\x18\xff\x02?+D[\x1a\xff\xff\xff\xff\xff\xff\x0e\xff\x103D\xff\x03D\x00\xff\x0c\xff\xffE\x09\xff,\x19\x00\xff\xff3\xff\xff\x07\xff\xffE@\xff\x04\xff\x028,D@\xff\x07@\xff\xff\x0c\x04\x00'\x1e\xff\xff@\x00}\x03\xff\xff\x00C9F\xff\xff\xff\xff\xffB\x09\xff\x00.\x00\xff\xff\xff\x00'\xff\xff\x00\x018F9F\xff\xff\xff\xff\xff\xff\xff\xff\x00/G\xff\xffB\x02\xff\xffB\x00\xff\xff\xff\xff\x1aa\xff\x03\x03\x01 \xffF\x00.\xff\xff\xff\xff\x00H\xff\xff\x02\xff\xff\xff\xff\xff\xff\xff\x00}\x0a@\xff\xff\xffI\x1bO\xff\x15N\x1f\xff\xff\xff\x01'\xff\xff\xff\xff}\x03\x0c\x0e\xff\x1c\x11C\xff\x01C\x08\xff\x0c\xff\xffB\x07\xff\xff\x18\x0c\xff\xff0\x02\xff\xffB\x00\xff\xff\xff\xffFY\x1a\xff\xff\xff\xff\xff\xff\x0e\xff\x10\x14C\xff\x04D\x08\xff\x00\xff\xffE\x07\xff,\x19\x00\xff\xff3\x02\xff\xffE\x00\xff\xff\xff\x18F\xff\xff\x08\x04@\xff\x0c@\xff\xff\xff\xff \x0c\xff@"\xff\x0c\xffN\xff\x03\x0e\x01\xff\x07\xff \xff\x0c\xff!\xff\x0c\xffO\xff\x1eH%C\xff\xff\xff\xff,\x0c\x08\xff\x193\x1f\xff\xff\xffD\xff\x03C\x09\xff\x0a\xff\xffB\x02\xff\x07\xff\x00\xff\x07\xff\x0b\xff\x1e\xff\x03\x03\x09\xff\xff0\xff\xff\xff\xff\xffB@\xff\xff\xff\xff\xff\x02\x09sD\x1b\x1b\xff\xff\xff\xff\xff\xff\x08\xff\x103E\xff\x03D\x00\xff\x0a\xff\xffE\x08\xff\x1e\xff\x04\x04\x00\xff\xff3k\xff\xffEi\xff\x028tD@\xff\x09@\xff\xff\x02\xff\xff\xff\x0a\x04LE\xffFKFT\xffQ\xff\x00.i\xff\xff\xff\x0a\x05d\xff\x03\x04\x04\xff\x0c\xff\xff@\xff@L\xff\x05\x05\xff\xff\x00T\x00'G\xff\xff\xff \x03 \xff\x03\xff\xff@\x01\xff\x02\xff!\xff\x03\xffO\xff\x15N8C\x01\x0c\xff\xff\xff\xff\x1f\xff\xff\xff\x0e\xff\x173A\xff\x03A\x07\xff\x08\xff\xffB\x04\xff\x02\xff\x07\xffi\x18\x07\xff\xff\xffxazh\xffhxi\xff\xff\xff\xff\x02F\xff\xff\x0f0\x11F\x18F\xff\xff]\xff\x00\xff\x187\xffF\xff\xff\xff\xff\xff\xff\x00\xff\x03F\xffq\xff\xff\x070\x18F\xff\xff1\xff\x00\xff\x087\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`xh\xff\xff\xff\xff\x03F\x18F\x087\xffF\xff\xff\x00\x00\xff\xff\xff\xff\x00\xffx`\x00}\x03{a\xff\xff\xff\xff8a{h\x00+\x01\xff\x01}\x03\xff\xff{h\x00"\xff\xff4 {h\x02"\xff\xff5 {h\x1bh\x1ah{h\x1bh"\xff\x01\x02\x1a`\x0f\xff\xff\xff\xff\xff\x02F;i\xff\x1a\x05+\x08\xff{h "Ze{h\x03"\xff\xff5 \x03}\x03x\xff{h\x1bh\x1bh\x03\xff\x01\x03\x00+\xff\xff{h\x1bh\x1bh{azi8K\x13@{a{hZh{h\xffh\x1aC{h\xffh\x1aC{h\x1bi\x1aC{h[i\x1aC{h\xffi\x1aC{h\xffi\x1aC{h\x1bj\x13Czi\x13C{a{h[j\x04+\x07\xff{h\xffj{h\x1bk\x13Czi\x13C{a{h\x1bhzi\x1a`{h\x1bh[i{a{i}\x03\xff\x07\x03{a{h[jzi\x13C{a{h[j\x04+\x17\xff{h\xffjzi\x13C{a{h\xffj\x00+\x0e\xffxh\x00\xff\xff\xff\x03F\x00+\x08\xff{h@"Ze{h\x01"\xff\xff5 \x01}\x03\x16\xff{h\x1bhziZaxh\x00\xffP\xff\x03F\xff`{h\xffm?"\xff@\xffh\xff`{h\x00"Ze{h\x01"\xff\xff5 \x00}\x03\x18F\x187\xffF\xff\xff?\xff\x10\xff\xff\xff\xff\xff\x00\xff\xff`\xff`z`;`\x00}\x03\xffu\xffh\xffm;a\xffh\xff\xff40\x01+\x01\xff\x02}\x03H\xff\xffh\x01"\xff\xff4 \xffh\xff\xff50\xff\xff\x01+7\xff\xffh\x02"\xff\xff5 \xffh\x00"Ze;hzh\xffh\xffh\x00\xff\xff\xff\xffh\xffm?"\xff@;i\xff`\xffh\x1bh\x1ah\xffh\x1bhB\xff\x16\x02\x1a`\xffh\x1bhZi\xffh\x1bhB\xff\xff\x02Za\xffh\x1bl\x00+\x07\xff\xffh\x1bh\x1ah\xffh\x1bhB\xff\x08\x02\x1a`\xffh\x1bh\x1ah\xffh\x1bhB\xff\x01\x02\x1a`\x05\xff\xffh\x00"\xff\xff4 \x02}\x03\xffu\xff}]\x18F\x187\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`{h\xff\xff50\xff\xff\x02+\x04\xff{h\xff"Ze\x01}\x03\x0c\xff{h\x05"\xff\xff5 {h\x1bh\x1ah{h\x1bh"\xff\x01\x02\x1a`\x00}\x03\x18F\x0c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`\x00}\x03\xff`\xffK\x1bh\xffJ\xff\xff\x03}\x03\xff\x0a{a{h\xffm;a;i\x1bh\xff`{h\xffm\x08"\xff@\xffh\x13@\x00+\x1a\xff{h\x1bh\x1bh\x03\xff\x04\x03\x00+\x13\xff{h\x1bh\x1ah{h\x1bh"\xff\x04\x02\x1a`{h\xffm\x08"\xff@;i\xff`{h[mC\xff\x01\x02{hZe{h\xffm\x01"\xff@\xffh\x13@\x00+\x12\xff{h\x1bh[i\x03\xff\xff\x03\x00+\x0b\xff{h\xffm\x01"\xff@;i\xff`{h[mC\xff\x02\x02{hZe{h\xffm\x04"\xff@\xffh\x13@\x00+\x12\xff{h\x1bh\x1bh\x03\xff\x02\x03\x00+\x0b\xff{h\xffm\x04"\xff@;i\xff`{h[mC\xff\x04\x02{hZe{h\xffm\x10"\xff@\xffh\x13@\x00+C\xff{h\x1bh\x1bh\x03\xff\x08\x03\x00+<\xff{h\xffm\x10"\xff@;i\xff`{h\x1bh\x1bh\x03\xff\xff}\x03\x00+\x18\xff{h\x1bh\x1bh\x03\xff\x00}\x03\x00+\x08\xff{h\x1bl\x00+}\x04\xff{h\x1blxh\xffG\x1f\xff{h\xffl\x00+\x1b\xff{h\xfflxh\xffG\x16\xff{h\x1bh\x1bh\x03\xff\xffs\x00+\x07\xff{h\x1bh\x1ah{h\x1bh"\xff\x08\x02\x1a`{h\x1bl\x00+\x03\xff{h\x1blxh\xffG{h\xffm "\xff@\xffh\x13@\x00+\x00\xff\xff\xff{h\x1bh\x1bh\x03\xff\x10\x03\x00+\x00\xff\xff\xff{h\xffm "\xff@;i\xff`{h\xff\xff50\xff\xff\x05+6\xff{h\x1bh\x1ah{h\x1bh"\xff\x16\x02\x1a`{h\x1bhZi{h\x1bh"\xff\xff\x02Za{h\x1bl\x00+\x03\xff{h\xffl\x00+\x07\xff{h\x1bh\x1ah{h\x1bh"\xff\x08\x02\x1a`{h\xffm?"\xff@;i\xff`{h\x00"\xff\xff4 {h\x01"\xff\xff5 {h\x1bm\x00+}]\xff{h\x1bmxh\xffGx\xff{h\x1bh\x1bh\x03\xff\xff}\x03\x00+\x1c\xff{h\x1bh\x1bh\x03\xff\x00}\x03\x00+\x08\xff{h[l\x00+0\xff{h[lxh\xffG+\xff{h\xffk\x00+'\xff{h\xffkxh\xffG"\xff\x18\x00\x00 \xff\xffN\x1b{h\x1bh\x1bh\x03\xff\xffs\x00+\x0f\xff{h\x1bh\x1ah{h\x1bh"\xff\x10\x02\x1a`{h\x00"\xff\xff4 {h\x01"\xff\xff5 {h\xffk\x00+\x03\xff{h\xffkxh\xffG{h[m\x00+2\xff{h[m\x03\xff\x01\x03\x00+"\xff{h\x05"\xff\xff5 {h\x1bh\x1ah{h\x1bh"\xff\x01\x02\x1a`\xffh\x013\xff`zi\xffB\x07\xff{h\x1bh\x1bh\x03\xff\x01\x03\x00+\xff\xff#6c +[3.096] handleFlashPacket(): Flash write: Address= 0x80001f8, Length=3000 +[3.096] write(): <13> Tx: $OK#9a +[3.097] read(): <13> Rx: $vFlashWrite:8000db0:\x00\xff\x00\xff{h\x00"\xff\xff4 {h\x01"\xff\xff5 {h\xffl\x00+\x05\xff{h\xfflxh\xffG\x00\xff\x00\xff\x187\xffF\xff\xff\x00\xff\xff\xff\xff\xff\x00\xff\xff`\xff`z`;`\xffh\x1bh\x1ah\xffh\x1bh"\xff\xff"\x1a`\xffh\x1bh:hZ`\xffh\xffh@+\x08\xff\xffh\x1bhzh\xff`\xffh\x1bh\xffh\xff`\x07\xff\xffh\x1bh\xffh\xff`\xffh\x1bhzh\xff`\x00\xff\x147\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`{h\x1bh\xff\xff\x10;\x13J\xff\xff\x03}\x03\x1b\x09\xff`\x12J\xffh\x13D\x1bx\x1aF{h\xffe\xffh\x03+\x08\xff{h\x1bh\x1aF\x0cK\x13@\x1a\x1d{h\xffe\x06\xff{h\x1bh\x1aF\x08K\x13@zh\xffe{h\xffm\x18F\x147\xffF]\xff\x04{pG\x00\xff\xff\xff\xff\xffp\xff\x00\x08\x00\xff\xff\xff\xff\xff\xff\xff\x00\xffx`\x00}\x03\xffs{h\xffj\xff`{h\xffi\x00+\x1f\xff\xffh\x03+U\xff\x01\xffR\xff}\x03\xff\x00\xff\xff\x0e\x00\x08\xff\x0e\x00\x08\xff\x0e\x00\x08u\x0f\x00\x08{h\xffj\x03\xff\xffs\x00+E\xff\x01}\x03\xffsB\xff{h\xffj\xff\xff\xff\x7f?\xff\x01}\x03\xffs<\xff{h\xffi\xff\xff\x00_!\xff\xffh\x03+6\xff\x01\xffR\xff}\x03\xff)\x0f\x00\x08/\x0f\x00\x08)\x0f\x00\x08A\x0f\x00\x08\x01}\x03\xffs/\xff{h\xffj\x03\xff\xffs\x00+}\x04\xff\x01}\x03\xffs!\xff{h\xffj\xff\xff\xff\x7f\x1e\xff\x01}\x03\xffs\x1b\xff\xffh\x02+\x02\xff\x03+\x03\xff\x18\xff\x01}\x03\xffs\x15\xff{h\xffj\x03\xff\xffs\x00+\x0e\xff\x01}\x03\xffs\x0b\xff\x00\xff\x0a\xff\x00\xff\x08\xff\x00\xff\x06\xff\x00\xff\x04\xff\x00\xff\x02\xff\x00\xff\x00\xff\x00\xff\xff{\x18F\x147\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`9`\x00}\x03\xffa\x00}\x03{a\x00}\x03;a\x00}\x03\xffa\x00}\x03\xffau\xff\x01"\xffi\x02\xff\x03\xff{a;h\x1bhzi\x13@;a:i{i\xffB@\xffd\xff;h[h\x02+\x03\xff;h[h\x12+}\x03\xff\xffi\xff\x08{h\x082S\xff"0\xffa\xffi\x03\xff\x07\x03\xff\x00\x0f"\x02\xff\x03\xff\xffC\xffi\x13@\xffa;h\x1ai\xffi\x03\xff\x07\x03\xff\x00\x02\xff\x03\xff\xffi\x13C\xffa\xffi\xff\x08{h\x082\xffiC\xff"\x10{h\x1bh\xffa\xffi[\x00\x03"\x02\xff\x03\xff\xffC\xffi\x13@\xffa;h[h\x03\xff\x03\x02\xffi[\x00\x02\xff\x03\xff\xffi\x13C\xffa{h\xffi\x1a`;h[h\x01+\x0b\xff;h[h\x02+\x07\xff;h[h\x11+\x03\xff;h[h\x12+0\xff{h\xffh\xffa\xffi[\x00\x03"\x02\xff\x03\xff\xffC\xffi\x13@\xffa;h\xffh\xffi[\x00\x02\xff\x03\xff\xffi\x13C\xffa{h\xffi\xff`{h[h\xffa\x01"\xffi\x02\xff\x03\xff\xffC\xffi\x13@\xffa;h[h\x1b\x09\x03\xff\x01\x02\xffi\x02\xff\x03\xff\xffi\x13C\xffa{h\xffiZ`{h\xffh\xffa\xffi[\x00\x03"\x02\xff\x03\xff\xffC\xffi\x13@\xffa;h\xffh\xffi[\x00\x02\xff\x03\xff\xffi\x13C\xffa{h\xffi\xff`;h[h\x03\xff\xffS\x00+\x00\xff\xff\xffeK[ldJC\xff\xffCSdbK[l\x03\xff\xffC\xff`\xffh`J\xffi\xff\x08\x023R\xff}\x030\xffa\xffi\x03\xff\x03\x03\xff\x00\x0f"\x02\xff\x03\xff\xffC\xffi\x13@\xffa{hWJ\xffB7\xff{hVJ\xffB1\xff{hUJ\xffB+\xff{hTJ\xffB%\xff{hSJ\xffB\x1f\xff{hRJ\xffB\x19\xff{hQJ\xffB\x13\xff{hPJ\xffB\x0d\xff{hOJ\xffB\x07\xff{hNJ\xffB\x01\xff\x09}\x03\x12\xff\x0a}\x03\x10\xff\x08}\x03\x0e\xff\x07}\x03\x0c\xff\x06}\x03\x0a\xff\x05}\x03\x08\xff\x04}\x03\x06\xff\x03}\x03\x04\xff\x02}\x03\x02\xff\x01}\x03\x00\xff\x00}\x03\xffi\x02\xff\x03\x02\xff\x00\xff@\xffi\x13C\xffa4I\xffi\xff\x08\x023\xffiA\xff}\x03 Tx: $OK#9a +[3.097] read(): <13> Rx: $vFlashWrite:8001940:\x0f\x02!I;h\x13C\x0b`\x1fK\x1bh\x03\xff\x0f\x03:h\xffB\x01\xff\x01}\x030\xff{h\x1bh\x03\xff\x04\x03\x00+\x08\xff\x18K\xffh}\x03\xff\xffR{h\xffh\x15I\x13C\xff`{h\x1bh\x03\xff\x08\x03\x00+\x09\xff\x11K\xffh}\x03\xff`B{h\x1bi\xff\x00\x0dI\x13C\xff`\x00\xff\x1d\xff\x01F\x0aK\xffh\x1b\x09\x03\xff\x0f\x03\x09J\xff\\!\xff\x03\xff\x08J\x13`\x00 \xff\xff\xff\xff\x00}\x03\x18F\x107\xffF\xff\xff\x00\xff\x00<\x02@\x008\x02@}\x04\xff\x00\x08\x18\x00\x00 \xff\xff\xff\xff\x00\xff\x00}\x03{`\x00}\x03\xff`\x00}\x03;`\x00}\x03\xff`PK\xffh\x03\xff\x0c\x03\x04+\x07\xff\x08+\x08\xff\x00+@\xff\xff\xffKK\xff`\xff\xffKK\xff`\xff\xffGK[h\x03\xff?\x03{`EK[h\x03\xff\xff\x03\x00+}\x03\xffBK[h\xff\x09O\xff\x00\x04@\xff\xff\x11O\xff\x00\x02\x03\xff\x01\x05\x04\xff\x02\x06=J\x02\xff\x06\xff\x00"\x02\xff\x05\xff\x0aD:I\xff\xff\x01\x01S\x18\x19F{hO\xff\x00\x04\x1aF}\x03F\xff\xff\xff\xff\x03F\x0cF\xff`I\xff0K[h\xff\x09O\xff\x00\x04@\xff\xff\x11O\xff\x00\x02\x03\xff\x01\x05\x04\xff\x02\x06)F2FO\xff\x00\x03O\xff\x00\x04T\x01D\xff\xffdK\x01\x19F"FI\x1bb\xff\x06\x02O\xff\x00\x03O\xff\x00\x04\xff\x01D\xff\xffd\xff\x01[\x1ad\xff\x02\x04O\xff\x00\x01O\xff\x00\x02\xff\x00B\xffSr\xff\x00\x0bF\x14F[\x19D\xff\x06\x04O\xff\x00\x01O\xff\x00\x02\xff\x02B\xff\xffR\xff\x02\x0bF\x14F\x18F!F{hO\xff\x00\x04\x1aF}\x03F\xff\xff\xff\xff\x03F\x0cF\xff`\x0bK[h\x1b\x0c\x03\xff\x03\x03\x013[\x00;`\xffh;h\xff\xff\xff\xff\xff`\x02\xff\x05K\xff`\x00\xff\xffh\x18F\x147\xffF\xff\xff\x00\xff\x008\x02@\x00}\x04\xff\x00@x}]\x01\xff\xff\x00\xff\x03K\x1bh\x18F\xffF]\xff\x04{pG\x00\xff\x18\x00\x00 \xff\xff\x00\xff\xff\xff\xff\xff\x01F\x05K\xffh\xff\x0a\x03\xff\x07\x03\x03J\xff\\!\xff\x03\xff\x18F\xff\xff\x008\x02@4\xff\x00\x08\xff\xff\x00\xff\xff\xff\xff\xff\x01F\x05K\xffh[\x0b\x03\xff\x07\x03\x03J\xff\\!\xff\x03\xff\x18F\xff\xff\x008\x02@4\xff\x00\x08\xff\xff\xff\xff\x00\xffx`\x00}\x03{a\x00}\x03;a\x00}\x03\xff`\x00}\x03\xffa\x00}\x03\xffa{h\x1bh\x03\xff\x01\x03\x00+\x12\xffiK\xffhhJ}\x03\xff\x00\x03\xff`fK\xffh{h[kdI\x13C\xff`{h[k\x00+\x01\xff\x01}\x03\xffa{h\x1bh\x03\xff\x00}\x03\x00+\x17\xff]K\xff\xff\xff0}\x03\xff@\x12{h\xffkYI\x13C\xff\xff\xff0{h\xffk\xff\xff\xff\x1f\x01\xff\x01}\x03\xffa{h\xffk\x00+\x01\xff\x01}\x03\xffa{h\x1bh\x03\xff\xff\x13\x00+\x17\xffNK\xff\xff\xff0}\x03\xff@\x02{h\x1blJI\x13C\xff\xff\xff0{h\x1bl\xff\xff\xff\x0f\x01\xff\x01}\x03\xffa{h\x1bl\x00+\x01\xff\x01}\x03\xffa{h\x1bh\x03\xff\xffs\x00+\x01\xff\x01}\x03\xffa{h\x1bh\x03\xff \x03\x00+\x00\xff\xff\xff:K\x1bl9JC\xff\xffS\x13d7K\x1bl\x03\xff\xffS\xff`\xffh5K\x1bh4JC\xff\xffs\x13`\xff\xff\xff\xffxa\x08\xff\xff\xff\xff\xff\x02F{i\xff\x1ad+\x01\xff\x03}\x03\xff\xff,K\x1bh\x03\xff\xffs\x00+\xff\xff(K\x1bo\x03\xff@s;a;i\x00+5\xff{h\x1bk\x03\xff@s:i\xffB.\xff K\x1bo}\x03\xff@s;a\x1eK\x1bo\x1dJC\xff\xff3\x13g\x1bK\x1bo\x1aJ}\x03\xff\xff3\x13g\x18J;i\x13g\x16K\x1bo\x03\xff\x01\x03\x01+\x14\xff\xff\xffb\xffxa\x0a\xff\xff\xff^\xff\x02F{i\xff\x1aA\xff\xff2\xffB\x01\xff\x03}\x03O\xff\x0cK\x1bo\x03\xff\x02\x03\x00+\xff\xff{h\x1bk\x03\xff@s\xff\xff@\x7f\x11\xff\x05K\xffh}\x03\xff\xff\x12{h\x19k\x04K\x0b@\x01I\x13C\xff`\x0b\xff\x008\x02@\x00p\x00@\xff\xff\xff\x0f\xffK\xffh\xffJ}\x03\xff\xff\x13\xff`\xffK\x1ao{h\x1bk\xff\xff\x0b\x03\xffI\x13C\x0bg{h\x1bh\x03\xff\x10\x03\x00+\x10\xff\xffK\xff\xff\xff0\xffJ}\x03\xff\xffs\xff\xff\xff0\xffK\xff\xff\xff {h\xffk\xffI\x13C\xff\xff\xff0{h\x1bh\x03\xff\xffC\x00+\x0a\xff\xffK\xff\xff\xff0}\x03\xff@2{h[n\xffI\x13C\xff\xff\xff0{h\x1bh\x03\xff\x00C\x00+\x0a\xff\xffK\xff\xff\xff0}\x03\xff@"{h\xffn\xffI\x13C\xff\xff\xff0{h\x1bh\x03\xff\xff3\x00+\x0a\xff\xffK\xff\xff\xff0}\x03\xff@\x12{h\xffn\xffI\x13C\xff\xff\xff0{h\x1bh\x03\xff\x003\x00+\x0a\xff\xffK\xff\xff\xff0}\x03\xff@\x02{h\x1bo\xffI\x13C\xff\xff\xff0{h\x1bh\x03\xff@\x03\x00+\x0a\xff{K\xff\xff\xff0}\x03\xff\x03\x02{h[lxI\x13C\xff\xff\xff0{h\x1bh\x03\xff\xff\x03\x00+\x0a\xffsK\xff\xff\xff0}\x03\xff\x0c\x02{h\xffloI\x13C\xff\xff\xff0{h\x1bh\x03\xff\xffs\x00+\x0a\xffjK\xff\xff\xff0}\x03\xff0\x02{h\xfflgI\x13C\xff\xff\xff0{h\x1bh\x03\xff\x00s\x00+\x0a\xffbK\xff\xff\xff0}\x03\xff\xff\x02{h\x1bm^I\x13C\xff\xff\xff0{h\x1bh\x03\xff\xffc\x00+\x0a\xffYK\xff\xff\xff0}\x03\xff@r{h[mVI\x13C\xff\xff\xff0{h\x1bh\x03\xff\x00c\x00+\x0a\xffQK\xff\xff\xff0}\x03\xff@b{h\xffmMI\x13C\xff\xff\xff0{h\x1bh\x03\xff\xffS\x00+\x0a\xffHK\xff\xff\xff0}\x03\xff@R{h\xffmEI\x13C\xff\xff\xff0{h\x1bh\x03\xff\x00S\x00+\x0a\xff@K\xff\xff\xff0}\x03\xff@B{h\x1bn Tx: $OK#9a +[3.098] read(): <13> Rx: $vFlashWrite:80024d0:{h\x1ah{h\x043\x19F\x10F\x00\xff\xff\xff{h\x01"\xff\xff= \x00}\x03\x18F\x087\xffF\xff\xff\x00\x00\xff\xff\xff\xff\x00\xffx`9`{h\x00+\x01\xff\x01}\x03{\xff{h\xff\xff=0\xff\xff\x00+\x06\xff{h\x00"\xff\xff< xh\x05\xffy\xff{h\x02"\xff\xff= {h\x1bh\xffh{h\x1ah4K\x0b@\xff`{h\x1ah{h\x043\x19F\x10F\x00\xff\xff\xff{h\x1bh\xffh{a{h\x1bh\xffi;a{h\x1bh\x1bj\xff`;h\x1bhzi\x13C{a:i'K\x13@;a;h\xffh;h\xffi\x1b\x02\x13C:i\x13C;a:i!K\x13@;a:i K\x13@;a;h\xffh;h\xffi\x1b\x02\x13C:i\x13C;a;h\x1bi\x1a\x01;h\x1bj\x1b\x03\x13C:i\x13C;a\xffh}\x03\xff"\x03\xff`\xffh}\x03\xff\xff\x03\xff`;hZh;h[i\x1b\x01\x13C\xffh\x13C\xff`{h\x1bhzi\xff`{h\x1bh:i\xffa{h\x1bh\xffh\x1ab{h\x01"\xff\xff= \x00}\x03\x18F\x187\xffF\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x0f\xff\xff\xff\xff\xff\xff\x00\xffx`9`;h\x00+\x02\xff\x04+\x08\xff\x0f\xff{h\x1bh\x01"\x00!\x18F\x00\xff\xff\xff\x16\xff{h\x1bh\x01"\x04!\x18F\x00\xff\xff\xff\x0e\xff{h\x1bh\x01"\x00!\x18F\x00\xff\xff\xff{h\x1bh\x01"\x04!\x18F\x00\xff\xff\xff\x00\xff{h\x1bh\x1ah{h\x1bhB\xff\x01\x02\x1a`\x00}\x03\x18F\x087\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`{h\x1bh\x1bi\x03\xff\x02\x03\x02+"\xff{h\x1bh\xffh\x03\xff\x02\x03\x02+\x1b\xff{h\x1bho\xff\x02\x02\x1aa{h\x01"\x1aw{h\x1bh\xffi\x03\xff\x03\x03\x00+\x03\xffxh\x00\xff\xff\xff\x05\xffxh\x00\xff\xff\xffxh\x00\xff\xff\xff{h\x00"\x1aw{h\x1bh\x1bi\x03\xff\x04\x03\x04+"\xff{h\x1bh\xffh\x03\xff\x04\x03\x04+\x1b\xff{h\x1bho\xff\x04\x02\x1aa{h\x02"\x1aw{h\x1bh\xffi\x03\xff@s\x00+\x03\xffxh\x00\xff\xff\xff\x05\xffxh\x00\xff\xff\xffxh\x00\xff\xff\xff{h\x00"\x1aw{h\x1bh\x1bi\x03\xff\x08\x03\x08+"\xff{h\x1bh\xffh\x03\xff\x08\x03\x08+\x1b\xff{h\x1bho\xff\x08\x02\x1aa{h\x04"\x1aw{h\x1bh\xffi\x03\xff\x03\x03\x00+\x03\xffxh\x00\xff\xff\xff\x05\xffxh\x00\xffu\xffxh\x00\xff\xff\xff{h\x00"\x1aw{h\x1bh\x1bi\x03\xff\x10\x03\x10+"\xff{h\x1bh\xffh\x03\xff\x10\x03\x10+\x1b\xff{h\x1bho\xff\x10\x02\x1aa{h\x08"\x1aw{h\x1bh\xffi\x03\xff@s\x00+\x03\xffxh\x00\xffY\xff\x05\xffxh\x00\xffK\xffxh\x00\xff\\\xff{h\x00"\x1aw{h\x1bh\x1bi\x03\xff\x01\x03\x01+\x0e\xff{h\x1bh\xffh\x03\xff\x01\x03\x01+\x07\xff{h\x1bho\xff\x01\x02\x1aaxh\x04\xff\x05\xff{h\x1bh\x1bi\x03\xff\xff\x03\xff+\x0e\xff{h\x1bh\xffh\x03\xff\xff\x03\xff+\x07\xff{h\x1bho\xff\xff\x02\x1aaxh\x00\xffe\xff{h\x1bh\x1bi\x03\xff\xffs\xff\xff\xff\x7f\x0e\xff{h\x1bh\xffh\x03\xff\xff\x03\xff+\x07\xff{h\x1bho\xff\xffr\x1aaxh\x00\xffX\xff{h\x1bh\x1bi\x03\xff@\x03@+\x0e\xff{h\x1bh\xffh\x03\xff@\x03@+\x07\xff{h\x1bho\xff@\x02\x1aaxh\x00\xff\x0a\xff{h\x1bh\x1bi\x03\xff \x03 +\x0e\xff{h\x1bh\xffh\x03\xff \x03 +\x07\xff{h\x1bho\xff \x02\x1aaxh\x00\xff\x18\xff\x00\xff\x087\xffF\xff\xff\xff\xff\xff\xff\x00\xff\xff`\xff`z`\xffh\xff\xff<0\x01+\x01\xff\x02}\x03\x05\xff\xffh\x01"\xff\xff< \xffh\x02"\xff\xff= {h\x14+\x00\xff\xff\xff\x01\xffR\xff}\x03\xffQ)\x00\x08\xff}\x0a\x00\x08\xff}\x0a\x00\x08\xff}\x0a\x00\x08\xff)\x00\x08\xff}\x0a\x00\x08\xff}\x0a\x00\x08\xff}\x0a\x00\x08\xff)\x00\x08\xff}\x0a\x00\x08\xff}\x0a\x00\x08\xff}\x0a\x00\x08\x13}\x0a\x00\x08\xff}\x0a\x00\x08\xff}\x0a\x00\x08\xff}\x0a\x00\x08U}\x0a\x00\x08\xff}\x0a\x00\x08\xff}\x0a\x00\x08\xff}\x0a\x00\x08\xff}\x0a\x00\x08\xffh\x1bh\xffh\x18F\x00\xffN\xff\xffh\x1bh\xffi\xffh\x1bhB\xff\x08\x02\xffa\xffh\x1bh\xffi\xffh\x1bh"\xff\x04\x02\xffa\xffh\x1bh\xffi\xffh\x1ai\xffh\x1bh\x0aC\xffa\xff\xff\xffh\x1bh\xffh\x18F\x00\xff\xff\xff\xffh\x1bh\xffi\xffh\x1bhB\xff\x00b\xffa\xffh\x1bh\xffi\xffh\x1bh"\xff\xffb\xffa\xffh\x1bh\xffi\xffh\x1bi\x1a\x02\xffh\x1bh\x0aC\xffa\xff\xff\xffh\x1bh\xffh\x18F\x00\xff\xff\xff\xffh\x1bh\xffi\xffh\x1bhB\xff\x08\x02\xffa\xffh\x1bh\xffi\xffh\x1bh"\xff\x04\x02\xffa\xffh\x1bh\xffi\xffh\x1ai\xffh\x1bh\x0aC\xffab\xff\xffh\x1bh\xffh\x18F\x00\xffM\xff\xffh\x1bh\xffi\xffh\x1bhB\xff\x00b\xffa\xffh\x1bh\xffi\xffh\x1bh"\xff\xffb\xffa\xffh\x1bh\xffi\xffh\x1bi\x1a\x02\xffh\x1bh\x0aC\xffaA\xff\xffh\x1bh\xffh\x18F\x00\xff\xff\xff\xffh\x1bhZm\xffh\x1bhB\xff\x08\x02Ze\xffh\x1bhZm\xffh\x1bh"\xff\x04\x02Ze\xffh\x1bhYm\xffh\x1ai\xffh\x1bh\x0aCZe!\xff\xffh\x1bh\xffh\x18F\x00\xff\xff\xff\xffh\x1bhZm\xffh\x1bhB\xff\x00bZe\xffh\x1bhZm\xffh\x1bh"\xff\xffbZe\xffh\x1bhYm\xffh\x1bi\x1a\x02\xffh\x1bh\x0aCZe\x00\xff\x00\xff\xffh\x01"\xff\xff= \xffh\x00"\xff\xff< \x00}\x03\x18F\x107\xffF\xff\xff\x00\xff\xff\xff\xff\xff\x00\xffx`9`{h\xff\xff<0\x01+\x01\xff\x02}\x03\xff\xff{h\x01"\xff\xff< {h\x02"\xff\xff= {h\x1bh\xffh\xff`\xffhOK\x13@\xff`\xffh}\x03\xff\x7fC\xff`{h\x1bh\xffh\xff`;h\x1bh@+g\xff@+\x0b\xff\x10+s\xff\x10+\x02\xff\x00+o\xffx\xff +l\xff0+j\xffs\xffp+\x0d\xffp+\x04\xffP+3\xff`+A\xffj\xff\xff\xff\xff_f\xff\xff\xff\x00_\x17\xffc\xff{h\x18h;h\xffh;hZh;h\xffh\x00\xff\x0a\xff{h\x1bh\xffh\xff`\xffhC\xffw\x03\xff`{h\x1bh\xffh\xff`L\xff{h\x18h;h\xffh;hZh;h\xffh\x00\xff\xff\xff{h\x1bh\xffh{h\x1bhB\xff\xffB\xff`9\xff{h\x18h;hYh;h\xffh\x1aF\x00\xffg\xff{h\x1bhP!\x18F\x00\xff\xff\xff)\xff{h\x18h;hYh;h\xffh\x1aF\x00\xff\xff\xff{h\x1bh`!\x18F\x00\xff\xff\xff\x19\xff{h\x18h;hYh;h\xffh\x1aF\x00\xffG\xff{h\x1bh@!\x18F\x00\xff\xff\xff\x09\xff{h\x1ah;h\x1bh\x19F\x10F\x00\xff\xff\xff\x00\xff\x00\xff{h\x01"\xff\xff= {h\x00"\xff\xff< \x00}\x03\x18F\x107\xffF\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\xffx`\x00\xff\x0c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`\x00\xff\x0c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`\x00\xff\x0c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`\x00\xff\x0c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`9`{h\x1bh\xff`{h@J\xffB\x13\xff{h\xff\xff\xffO\x0f\xff{h=J\xffB\x0b\xff{h Tx: $OK#9a +[3.098] read(): <13> Rx: $vFlashWrite:8003070:[i\x1b\x01:i\x13C;a;h\xffi\x1b\x01:i\x13C;a{h:iZ`{h\xffh\xffa;hZh{h\xffc{hzi\x1ab\x00\xff\x1c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\x00\x01@\x00\x04\x01@\xff\xff\xff\xff\x00\xffx`9`{h\x1bj}\x03\xff\xffR{h\x1ab{h\x1bj;a{h[h{a{h\xffi\xff`\xffh\x1eK\x13@\xff`\xffh}\x03\xff@s\xff`;h\x1bh\x1b\x02\xffh\x13C\xff`;i}\x03\xff\x00S;a;h\xffh\x1b\x03:i\x13C;a{h\x13J\xffB\x03\xff{h\x12J\xffB\x09\xff{i}\x03\xff\xffC{a;h[i\xff\x01zi\x13C{a{hziZ`{h\xffh\xffa;hZh{h\x1ad{h:i\x1ab\x00\xff\x1c7\xffF]\xff\x04{pG\x00\xff\xff\xff\xff\xff\x00\x00\x01@\x00\x04\x01@\xff\xff\xff\xff\x00\xffx`9`{h\x1bj}\x03\xff\xff2{h\x1ab{h\x1bj;a{h[h{a{h[m\xff`\xffh\x1bK\x13@\xff`;h\x1bh\xffh\x13C\xff`;i}\x03\xff\x003;a;h\xffh\x1b\x04:i\x13C;a{h\x12J\xffB\x03\xff{h\x11J\xffB\x09\xff{i}\x03\xff\xff3{a;h[i\x1b\x02zi\x13C{a{hziZ`{h\xffhZe;hZh{h\xffe{h:i\x1ab\x00\xff\x1c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\x00\x01@\x00\x04\x01@\xff\xff\xff\xff\x00\xffx`9`{h\x1bj}\x03\xff\xff\x12{h\x1ab{h\x1bj;a{h[h{a{h[m\xff`\xffh\x1cK\x13@\xff`;h\x1bh\x1b\x02\xffh\x13C\xff`;i}\x03\xff\x00\x13;a;h\xffh\x1b\x05:i\x13C;a{h\x13J\xffB\x03\xff{h\x12J\xffB\x09\xff{i}\x03\xff\xff}\x03{a;h[i\xff\x02zi\x13C{a{hziZ`{h\xffhZe;hZh{h\xffe{h:i\x1ab\x00\xff\x1c7\xffF]\xff\x04{pG\x00\xff\xff\xff\xff\xff\x00\x00\x01@\x00\x04\x01@\xff\xff\xff\xff\x00\xff\xff`\xff`z`\xffh\x1bj{a\xffh\x1bj}\x03\xff\x01\x02\xffh\x1ab\xffh\xffi;a;i}\x03\xff\xff\x03;a{h\x1b\x01:i\x13C;a{i}\x03\xff\x0a\x03{azi\xffh\x13C{a\xffh:i\xffa\xffhzi\x1ab\x00\xff\x1c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xff\xff`\xff`z`\xffh\x1bj}\x03\xff\x10\x02\xffh\x1ab\xffh\xffi{a\xffh\x1bj;a{i}\x03\xffpC{a{h\x1b\x03zi\x13C{a;i}\x03\xff\xff\x03;a\xffh\x1b\x01:i\x13C;a\xffhzi\xffa\xffh:i\x1ab\x00\xff\x1c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`9`{h\xffh\xff`\xffh}\x03\xffp\x03\xff`:h\xffh\x13CC\xff\x07\x03\xff`{h\xffh\xff`\x00\xff\x147\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xff\xff`\xff`z`;`\xffh\xffh{a{i}\x03\xff\x7fC{a;h\x1a\x02{h\x1aC\xffh\x13Czi\x13C{a\xffhzi\xff`\x00\xff\x1c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xff\xff`\xff`z`\xffh\x03\xff\x1f\x03\x01"\x02\xff\x03\xff{a\xffh\x1aj{i\xffC\x1a@\xffh\x1ab\xffh\x1aj\xffh\x03\xff\x1f\x03yh\x01\xff\x03\xff\x1aC\xffh\x1ab\x00\xff\x1c7\xffF]\xff\x04{pG\x00\x00\xff\xff\xff\xff\x00\xffx`9`{h\xff\xff<0\x01+\x01\xff\x02}\x03E\xff{h\x01"\xff\xff< {h\x02"\xff\xff= {h\x1bh[h\xff`{h\x1bh\xffh\xff`{h\x1bh\x1cJ\xffB\x04\xff{h\x1bh\x1bJ\xffB\x08\xff\xffh}\x03\xffp\x03\xff`;h[h\xffh\x13C\xff`\xffh}\x03\xffp\x03\xff`;h\x1bh\xffh\x13C\xff`\xffh}\x03\xff\xff\x03\xff`;h\xffh\xffh\x13C\xff`{h\x1bh\xffhZ`{h\x1bh\xffh\xff`{h\x01"\xff\xff= {h\x00"\xff\xff< \x00}\x03\x18F\x147\xffF]\xff\x04{pG\x00\x00\x01@\x00\x04\x01@\xff\xff\xff\xff\x00\xffx`\x00\xff\x0c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`\x00\xff\x0c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`\x00\xff\x0c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`{h\x00+\x01\xff\x01}\x03@\xff{h[o\x00+\x06\xff{h\x00"\xff\xffp xh\x04\xffp\xff{h}\x04"Zg{h\x1bh\x1ah{h\x1bh"\xff\x01\x02\x1a`xh\x00\xff\x02\xff\x03F\x01+\x01\xff\x01}\x03"\xff{h[j\x00+\x02\xffxh\x00\xff\xff\xff{h\x1bhZh{h\x1bh"\xff\xffBZ`{h\x1bh\xffh{h\x1bh"\xff}\x0a\x02\xff`{h\x1bh\x1ah{h\x1bhB\xff\x01\x02\x1a`xh\x00\xff!\xff\x03F\x18F\x087\xffF\xff\xff\xff\xff\xff\xff\x02\xff\xff`\xff`;`\x13F\xff\xff\xffh[o +\x7f\xff\xffh\x00+\x02\xff\xff\xff\x00+\x01\xff\x01}\x03x\xff\xffh\xff\xffp0\x01+\x01\xff\x02}\x03q\xff\xffh\x01"\xff\xffp \xffh\x00"\xffg\xffh!"Zg\xff\xff\xff\xffxa\xffh\xff\xff\xff\xffP \xffh\xff\xff\xff\xffR \xffh\xffh\xff\xff\xff_\x08\xff\xffh\x1bi\x00+\x04\xff\x00}\x03\xffa\xffh\xffa\x03\xff\xffh\xffa\x00}\x03\xffa,\xff;h\x00\xff{i\x00"\xff!\xffh\x00\xff\x00\xff\x03F\x00+\x01\xff\x03}\x03<\xff\xffi\x00+\x0b\xff\xffi\x1b\xff\x1aF\xffh\x1bh\xff\xff\x08\x02\xffb\xffi\x023\xffa\x07\xff\xffi\x1ax\xffh\x1bh\xffb\xffi\x013\xffa\xffh\xff\xffR0\xff\xff\x01;\xff\xff\xffh\xff\xffR \xffh\xff\xffR0\xff\xff\x00+\xff\xff;h\x00\xff{i\x00"@!\xffh\x00\xff\xff\xff\x03F\x00+\x01\xff\x03}\x03\x09\xff\xffh "Zg\xffh\x00"\xff\xffp \x00}\x03\x00\xff\x02}\x03\x18F 7\xffF\xff\xff\x00\x00\xff\xff\xff\xff\x00\xff\xff`\xff`\x13F\xff\xff\xffh[o +d\xff\xffh\x00+\x02\xff\xff\xff\x00+\x01\xff\x01}\x03]\xff\xffh\xff\xffp0\x01+\x01\xff\x02}\x03V\xff\xffh\x01"\xff\xffp \xffh\xffh\xffd\xffh\xff\xff\xff\xffP \xffh\xff\xff\xff\xffR \xffh\x00"\xffg\xffh!"Zg\xffh\xffn\x00+}\x0a\xff\xffh\xffn J\xffc\xffh\xffn\x1fJ\x1ad\xffh\xffn\x1eJ\xffd\xffh\xffn\x00"\x1ae\xffh\xffn\xffh\xffl\x19F\xffh\x1bh(3\x1aF\xff\xff\xff\xff!\xff\x03F\x00+\x0b\xff\xffh\x10"\xffg\xffh\x00"\xff\xffp \xffh "Zg\x01}\x03\x12\xff\xffh\x1bh@"\x1ab\xffh\x00"\xff\xffp \xffh\x1bh\xffh\xffh\x1bhB\xff\xff\x02\xff`\x00}\x03\x00\xff\x02}\x03\x18F\x107\xffF\xff\xff\x00\xffUC\x00\x08\xffC\x00\x08AD\x00\x08\xff\xff\xff\xff\x00\xff\xff`\xff`\x13F\xff\xff\xffh\xffo +l\xff\xffh\x00+\x02\xff\xff\xff\x00+\x01\xff\x01}\x03e\xff\xffh\xff\xffp0\x01+\x01\xff\x02}\x03^\xff\xffh\x01"\xff\xffp \xffh\xffhZe\xffh\xff\xff\xff\xffX \xffh\x00"\xffg\xffh""\xffg\xffh\xffn\x00+}\x0a\xff\xffh\xffn&J\xffc\xffh\xffn%J\x1ad\xffh\xffn}\x04J\xffd\xffh\xffn\x00"\x1ae\xffh\xffn\xffh\x1bh}\x043\x19F\xffh[m\x1aF\xff\xff\xff\xff\xff\xff\x03F\x00+\x0b\xff\xffh\x10"\xffg\xffh\x00"\xff\xffp \xffh "Zg\x01}\x03\x1e\xff\xffh\x00"\xff\xffp \xffh\x1bh\x1ah\xffh\x1bhB\xff\xffr\x1a`\xffh\x1bh\xffh\xffh\x1bhB\xff\x01\x02\xff`\xffh\x1bh\xffh\xffh\x1bhB\xff@\x02\xff`\x00}\x03\x00\xff\x02}\x03\x18F\x107\xffF\xff\xff\x00\xff\xffC\x00\x08%D\x00\x08AD\x00\x08\xff\xff\xff\xff\x00\xffx`{h\x1bh\xffi\xffa{h\x1bh\x1bh\xffa{h\x1bh\xffh{a\xffi\x03\xff\x0f\x03;a;i\x00+\x13\xff\xffi\x03\xff \x03\x00+\x0e\xff\xffi\x03\xff \x03\x00+\x09\xff{h\x1bn\x00+\x00\xff\xff\xff{h\x1bnxh\xffG\xff\xff;i\x00+\x00\xff\xff\xff{i\x03\xff\x01\x03\x00+\x05\xff\xffi\x03\xff\xffs\x00+\x00\xff\xff\xff\xffi\x03\xff\x01\x03\x00+\x0e\xff\xffi\x03\xff\xffs\x00+\x09\xff{h\x1bh\x01"\x1ab{h\xffoC\xff\x01\x02{h\xffg\xffi\x03\xff\x02\x03\x00+\x0e\xff{i\x03\xff\x01\x03\x00+\x09\xff{h\x1bh\x02"\x1ab{h\xffoC\xff\x04\x02{h\xffg\xffi\x03\xff\x04\x03\x00+\x0e\xff{i\x03\xff\x01\x03\x00+\x09\xff{h\x1bh\x04"\x1ab{h\xffoC\xff\x02\x02{h\xffg\xffi\x03\xff\x08\x03\x00+\x13\xff\xffi\x03\xff \x03\x00+\x04\xff{i\x03\xff\x01\x03\x00+\x09\xff{h\x1bh\x08"\x1ab{h\xffoC\xff\x08\x02{h\xffg{h\xffo\x00+\x7f\xff\xffi\x03\xff \x03\x00+\x0c\xff\xffi\x03\xff \x03\x00+\x07\xff{h\x1bn\x00+\x03\xff{h\x1bnxh\xffG{h\xffo\xff`{h\x1bh\xffh\x03\xff@\x03@+\x04\xff\xffh\x03\xff\x08\x03\x00+1\xffxh\x00\xff_\xff{h\x1bh\xffh\x03\xff@\x03@+}\x03\xff{h\x1bh\xffh{h\x1bh"\xff@\x02\xff`{h\xffn\x00+\x13\xff{h\xffn&J\x1ae{h\xffn\x18F\xff\xff\xff\xff\x03F\x00+\x16\xff{h\xffn\x1bmzh\xffn\x10F\xffG\x0e\xffxh\x00\xffY\xff\x0a\xffxh\x00\xffU\xff\x06\xffxh\x00\xffQ\xff{h\x00"\xffg%\xff\x00\xff}\x03\xff\xffi\x03\xff\xff\x03\x00+\x0d\xff\xffi\x03\xff\xff\x03\x00+\x08\xff{h[n\x00+\x17\xff{h[nxh\xffG\x12\xff\xffi\x03\xff@\x03\x00+\x0e\xff\xffi\x03\xff@\x03\x00+\x09\xffxh\x00\xff\xff\xff\x00\xff\x04\xff\x00\xff\x02\xff\x00\xff\x00\xff\x00\xff 7\xffF\xff\xff\x00\xff\xffD\x00\x08\xff\xff\xff\xff\x00\xffx`\x00\xff\x0c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`\x00\xff\x0c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`\x00\xff\x0c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`\x00\xff\x0c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`\x00}\x03\xffa\x00}\x03\xffu{h\xffh{h\x1bi\x1aC{h[i\x1aC{h\xffi\x13C;a{h\x1bh\x1ah\xffK\x13@zh\x12h9i\x0bC\x13`{h\x1bh[h}\x03\xff@Q{h\xffh{h\x1bh\x0aCZ`{h\xffi;a{h\x1bj:i\x13C;a{h\x1bh\xffh}\x03\xff0a{h\x1bh:i\x0aC\xff`{h\x1bh\xffJ\xffB!\xff\xffK\xff\xff\xff0\x03\xff\x03\x03\x03+\x16\xff\x01\xffR\xff}\x03\xff\x15<\x00\x08!<\x00\x08\x1b<\x00\x08#ae +[3.098] handleFlashPacket(): Flash write: Address= 0x8003070, Length=2976 +[3.098] write(): <13> Tx: $OK#9a +[3.099] read(): <13> Rx: $vFlashWrite:8003c10:'<\x00\x08\x01}\x03\xffwQ\xff\x02}\x03\xffwN\xff\x04}\x03\xffwK\xff\x08}\x03\xffwH\xff\x10}\x03\xffw\x00\xffD\xff{h\x1bh\xffJ\xffB4\xff\xffK\xff\xff\xff0\x03\xff\x0c\x03\x0c+)\xff\x01\xffR\xff}\x03\xff\x00\xff\xff<\x00\x08\xff<\x00\x08\xff<\x00\x08\xff<\x00\x08\xff<\x00\x08\xff<\x00\x08\xff<\x00\x08\xff<\x00\x08\xff<\x00\x08\xff<\x00\x08\xff<\x00\x08\xff<\x00\x08\xff<\x00\x08\x00}\x03\xffw\x17\xff\x02}\x03\xffw\x14\xff\x04}\x03\xffw\x11\xff\x08}\x03\xffw\x0e\xff\x10}\x03\xffw\x00\xff\x0a\xff{h\x1bhqJ\xffB \xffnK\xff\xff\xff0\x03\xff0\x03\x10+\x0f\xff\x10+\x02\xff\x00+\x05\xff\x10\xff +\x05\xff0+\x09\xff\x0b\xff\x00}\x03\xffw\xff\xff\x02}\x03\xffw\xff\xff\x04}\x03\xffw\xff\xff\x08}\x03\xffw\xff\xff\x10}\x03\xffw\x00\xff\xff\xff{h\x1bh_J\xffB \xff[K\xff\xff\xff0\x03\xff\xff\x03@+\x0f\xff@+\x02\xff\x00+\x05\xff\x10\xff\xff+\x05\xff\xff+\x09\xff\x0b\xff\x00}\x03\xffw\xff\xff\x02}\x03\xffw\xff\xff\x04}\x03\xffw\xff\xff\x08}\x03\xffw\xff\xff\x10}\x03\xffw\x00\xff\xff\xff{h\x1bhMJ\xffB}\x04\xffHK\xff\xff\xff0\x03\xff@s\xff\xff\xff\x7f\x12\xff\xff\xff\xff\x7f\x02\xff\x00+\x07\xff\x12\xff\xff\xff\x00\x7f\x06\xff\xff\xff@\x7f\x09\xff\x0b\xff\x00}\x03\xffw\xff\xff\x02}\x03\xffw\xff\xff\x04}\x03\xffw\xff\xff\x08}\x03\xffw\xff\xff\x10}\x03\xffw\x00\xff\xff\xff{h\x1bh9J\xffB}\x04\xff3K\xff\xff\xff0\x03\xff@c\xff\xff\xffo\x12\xff\xff\xff\xffo\x02\xff\x00+\x07\xff\x12\xff\xff\xff\x00o\x06\xff\xff\xff@o\x09\xff\x0b\xff\x01}\x03\xffww\xff\x02}\x03\xffwt\xff\x04}\x03\xffwq\xff\x08}\x03\xffwn\xff\x10}\x03\xffw\x00\xffj\xff{h\x1bh%J\xffB}\x04\xff\x1eK\xff\xff\xff0\x03\xff@S\xff\xff\xff_\x12\xff\xff\xff\xff_\x02\xff\x00+\x07\xff\x12\xff\xff\xff\x00_\x06\xff\xff\xff@_\x09\xff\x0b\xff\x00}\x03\xffwM\xff\x02}\x03\xffwJ\xff\x04}\x03\xffwG\xff\x08}\x03\xffwD\xff\x10}\x03\xffw\x00\xff@\xff{h\x1bh\x11J\xffB9\xff\x09K\xff\xff\xff0\x03\xff@C\xff\xff\xffO'\xff\xff\xff\xffO\x17\xff\x00+\x1c\xff'\xff\x00\xff\xffi\xff\xff\x00\x10\x01@\x008\x02@\x00D\x00@\x00H\x00@\x00L\x00@\x00P\x00@\x00\x14\x01@\x00x\x00@\x00|\x00@\xff\xff\x00O\x06\xff\xff\xff@O\x09\xff\x0b\xff\x00}\x03\xffw\x0e\xff\x02}\x03\xffw\x0b\xff\x04}\x03\xffw\x08\xff\x08}\x03\xffw\x05\xff\x10}\x03\xffw\x00\xff\x01\xff\x10}\x03\xffw{h\xffi\xff\xff\x00O|\xff\xff\x7f\x08+Y\xff\x01\xffR\xff}\x03\xff\xff>\x00\x08\x17?\x00\x085?\x00\x08\xff?\x00\x08M?\x00\x08\xff?\x00\x08\xff?\x00\x08\xff?\x00\x08k?\x00\x08\xff\xff,\xff\x03FZ\x00{h[h[\x08\x1aD{h[h\xff\xff\xff\xff\xff\xff\xffa8\xff\xff\xff1\xff\x03FZ\x00{h[h[\x08\x1aD{h[h\xff\xff\xff\xff\xff\xff\xffa)\xff{h[hZ\x08]K\x13DzhRh\xff\xff\xff\xff\xff\xff\xffa\x1d\xff\xff\xffD\xff\x03FZ\x00{h[h[\x08\x1aD{h[h\xff\xff\xff\xff\xff\xff\xffa\x0e\xff{h[h[\x08\x03\xff\xff2{h[h\xff\xff\xff\xff\xff\xff\xffa\x02\xff\x01}\x03\xffu\x00\xff\xffi\x0f+\x16\xff\xffi\xff\xff\xff?\x12\xff\xffi\xff\xff}\x03\xff\x0f\x03\xff\xff\xffi[\x08\xff\xff\x03\xff\x07\x03\xff\xff\xff\xff\x13C\xff\xff{h\x1bh\xff\xff\xff`n\xff\x01}\x03\xffuk\xff\xff\x7f\x08+W\xff\x01\xffR\xff}\x03\xff\x00\xff\xff?\x00\x08\x11@\x00\x08-@\x00\x08y@\x00\x08E@\x00\x08y@\x00\x08y@\x00\x08y@\x00\x08a@\x00\x08\xff\xff\xff\xff\x02F{h[h[\x08\x1aD{h[h\xff\xff\xff\xff\xff\xff\xffa6\xff\xff\xff\xff\xff\x02F{h[h[\x08\x1aD{h[h\xff\xff\xff\xff\xff\xff\xffa(\xff{h[hZ\x08 K\x13DzhRh\xff\xff\xff\xff\xff\xff\xffa\x1c\xff\xff\xff\xff\xff\x02F{h[h[\x08\x1aD{h[h\xff\xff\xff\xff\xff\xff\xffa\x0e\xff{h[h[\x08\x03\xff\x00B{h[h\xff\xff\xff\xff\xff\xff\xffa\x02\xff\x01}\x03\xffu\x00\xff\xffi\x0f+\x08\xff\xffi\xff\xff\xff?\x04\xff{h\x1bh\xffi\xff`\x01\xff\x01}\x03\xffu{h\x00"\x1af{h\x00"Zf\xff}]\x18F 7\xffF\xff\xff\x00H\xff\x01\x00}\x04\xff\x00\xff\xff\xff\xff\x00\xffx`{h[j\x03\xff\x01\x03\x00+\x0a\xff{h\x1bh[h}\x03\xff\x001{h\xffj{h\x1bh\x0aCZ`{h[j\x03\xff\x02\x03\x00+\x0a\xff{h\x1bh[h}\x03\xff\xff1{h\xffj{h\x1bh\x0aCZ`{h[j\x03\xff\x04\x03\x00+\x0a\xff{h\x1bh[h}\x03\xff\xff!{h\x1ak{h\x1bh\x0aCZ`{h[j\x03\xff\x08\x03\x00+\x0a\xff{h\x1bh[h}\x03\xff\x00A{hZk{h\x1bh\x0aCZ`{h[j\x03\xff\x10\x03\x00+\x0a\xff{h\x1bh\xffh}\x03\xff\xffQ{h\xffk{h\x1bh\x0aC\xff`{h[j\x03\xff \x03\x00+\x0a\xff{h\x1bh\xffh}\x03\xff\x00Q{h\xffk{h\x1bh\x0aC\xff`{h[j\x03\xff@\x03\x00+\x1a\xff{h\x1bh[h}\x03\xff\xff\x11{h\x1al{h\x1bh\x0aCZ`{h\x1bl\xff\xff\xff\x1f\x0a\xff{h\x1bh[h}\x03\xff\xff\x01{hZl{h\x1bh\x0aCZ`{h[j\x03\xff\xff\x03\x00+\x0a\xff{h\x1bh[h}\x03\xff\x00!{h\xffl{h\x1bh\x0aCZ`\x00\xff\x0c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x02\xffx`{h\x00"\xffg\xff\xff\xff\xff\xff`{h\x1bh\x1bh\x03\xff\x08\x03\x08+\x0e\xffo\xff~C\x00\xff\xffh\x00"O\xff\x00\x11xh\x00\xff\x14\xff\x03F\x00+\x01\xff\x03}\x03\x0a\xff{h "Zg{h "\xffg{h\x00"\xff\xffp \x00}\x03\x18F\x107\xffF\xff\xff\xff\xff\xff\xff\x00\xff\xff`\xff`;`\x13F\xffq}\x0a\xff\xffi\xff\xff\xff?&\xff\xff\xff\xff\xff\x02F;h\xff\x1a\xffi\xffB\x02\xff\xffi\x00+\x1b\xff\xffh\x1bh\x1ah\xffh\x1bh"\xff\xffr\x1a`\xffh\x1bh\xffh\xffh\x1bh"\xff\x01\x02\xff`\xffh "Zg\xffh "\xffg\xffh\x00"\xff\xffp \x03}\x03\x0f\xff\xffh\x1bh\xffi\xffh\x13@\xffh\xffB\x0c\xff\x01}\x03\x00}\x03\xff\xff\x1aF\xffy\xffB\xff\xff\x00}\x03\x18F\x107\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`{h\x1bh\x1ah{h\x1bh"\xff\xff\x02\x1a`{h "Zg\x00\xff\x0c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`{h\x1bh\x1ah{h\x1bh"\xff\xffr\x1a`{h\x1bh\xffh{h\x1bh"\xff\x01\x02\xff`{h "\xffg{h\x00"\x1af\x00\xff\x0c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`{h\xffk\xff`{h\xffi\xff\xff\xff\x7f\x14\xff\xffh\x00"\xff\xffR \xffh\x1bh\xffh\xffh\x1bh"\xff\xff\x02\xff`\xffh\x1bh\x1ah\xffh\x1bhB\xff@\x02\x1a`\x02\xff\xffh\x02\xffr\xff\x00\xff\x107\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`{h\xffk\xff`\xffh\xff\xff\xff\xff\x00\xff\x107\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`{h\xffk\xff`{h\xffi\xff\xff\xff\x7f\x1e\xff\xffh\x00"\xff\xffZ \xffh\x1bh\x1ah\xffh\x1bh"\xff\xffr\x1a`\xffh\x1bh\xffh\xffh\x1bh"\xff\x01\x02\xff`\xffh\x1bh\xffh\xffh\x1bh"\xff@\x02\xff`\xffh "\xffg\xffh\xff\xff\xff\xff\x00\xff\x107\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`{h\xffk\xff`\xffh\xff\xff\xff\xff\x00\xff\x107\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`{h\xffk{a{i[o;a{i\xffo\xff`{i\x1bh\xffh\x03\xff\xff\x03\xff+\x09\xff;i!+\x06\xff{i\x00"\xff\xffR xi\xff\xff7\xff{i\x1bh\xffh\x03\xff@\x03@+\x09\xff\xffh"+\x06\xff{i\x00"\xff\xffZ xi\xff\xff;\xff{i\xffoC\xff\x10\x02{i\xffgxi\xff\xffV\xff\x00\xff\x187\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`{h\xffk\xff`\xffh\x00"\xff\xffZ \xffh\x00"\xff\xffR \xffh\xff\xff@\xff\x00\xff\x107\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`{h\x1bh\x1ah{h\x1bh"\xff@\x02\x1a`{h "Zg{h\x00"Zfxh\x02\xff\xff\xff\x00\xff\x087\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`{h\x1bh\x1bhZj{h\x1bh\xffh[\x08\xff\x1a\xff`\xffh\x18F\x147\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`{h\x1bh\xffh{h\x1bh\x1bhR\x08Zb\x00\xff\x0c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`9`{h\x08J\x1aa{h\x08JZa{h\x07J\xffa{h:h\x1a`{h\x18F\x0c7\xffF]\xff\x04{pG\x10!\x01\x00\xff\x0fI@\xff\xff@?\xff\xff\xff\xff\x00\xffx`{h\x1bh Tx: $OK#9a +[3.099] read(): <13> Rx: $vFlashWrite:80047b0:z`\x1bx[\x09\x03\xff\x07\x02\xffh\x1a`{hZ\x1cz`\x1bx\xff\x00\xffh\x1bh\x1aC\xffh\x1a`{hZ\x1cz`\x1bx\xff\x02\xffh\x1bh\x1aC\xffh\x1a`\xffh\x1ah{h\x1bx\xff\x04\x03\xff\xff\x03\x1aC\xffh\x1a`{hZ\x1cz`\x1bx\x1b\x09\x03\xff\x0f\x03\xff`{h\x1bx\x1b\x01\x03\xff\xffb\xffh\x13C\xff`\xffh\x00+\x08\xff\xffh\x1ah\xffh\xff\xff`s\xff\x05\x1aC\xffh\x1a`{hZ\x1cz`\x1bx\x1b\x06\x03\xff\x00B\xffh\x1bh\x1aC\xffh\x1a`\x08}\x03\x18F\x147\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`{h\x00"\x1a`{h\x00"Z`{h\x18F\x0c7\xffF]\xff\x04{pG\x00\x00\xff\xff\xff\xff\x00\xffx`\x04J{h\x1a`{h\x18F\x0c7\xffF]\xff\x04{pG\x14\xff\x00\x08\xff\xff\xff\xff\x00\xffx`{h\x18F\xff\xff\xff\xff\x09J{h\x1a`{h\x00"Z`{h\x083\x18F\xff\xff\xff\xff{h\x04J\x1aa{h\x18F\x087\xffF\xff\xff\x00\xff\xff\xff\x00\x08(\xff\x00\x08\xff\xff\xff\xff\x00\xffx`9`\x00}\x03\xff`{hYh\xffh:h\x13D\xff\xff\x1ap{h[h\x19\x0a\xffh\x013:h\x13D\xff\xff\x1ap{h[h\x19\x0c\xffh\x023:h\x13D\xff\xff\x1ap{h[h\x19\x0e\xffh\x033:h\x13D\xff\xff\x1ap\xffh\x043\xff`{h\xffh\xffh:h\x13D\xff\xff\x1ap{h\xffh\x19\x0a\xffh\x013:h\x13D\xff\xff\x1ap{h\xffh\x19\x0c\xffh\x023:h\x13D\xff\xff\x1ap{h\xffh\x19\x0e\xffh\x033:h\x13D\xff\xff\x1ap\xffh\x043\xff`{h\xffh\xffh:h\x13D\xff\xff\x1ap{h\xffh\x19\x0a\xffh\x013:h\x13D\xff\xff\x1ap{h\xffh\x19\x0c\xffh\x023:h\x13D\xff\xff\x1ap{h\xffh\x19\x0e\xffh\x033:h\x13D\xff\xff\x1ap\xffh\x043\xff`{h\x1bi\x18F\xff\xff3\xff\xff`\xffh:h\x13D\xffh\x18F\x02\xff`\xff\xffh\x043\xff`\xffh:h\xff\x18{h\x1bi\xffh\x19F\x03\xffC\xff\xffh\xffh\x13D\xff`\xffh\x18F\x107\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`9`\x00}\x03;a;i:h\x13D\x1bx\x1aF{hZ`{hZh;i\x0139h\x0bD\x1bx\x1b\x02\x1aC{hZ`{hZh;i\x0239h\x0bD\x1bx\x1b\x04\x1aC{hZ`{hZh;i\x0339h\x0bD\x1bx\x1b\x06\x1aC{hZ`;i\x043;a;i:h\x13D\x1bx\x1aF{h\xff`{h\xffh;i\x0139h\x0bD\x1bx\x1b\x02\x1aC{h\xff`{h\xffh;i\x0239h\x0bD\x1bx\x1b\x04\x1aC{h\xff`{h\xffh;i\x0339h\x0bD\x1bx\x1b\x06\x1aC{h\xff`;i\x043;a;i:h\x13D\x1bx\x1aF{h\xff`{h\xffh;i\x0139h\x0bD\x1bx\x1b\x02\x1aC{h\xff`{h\xffh;i\x0239h\x0bD\x1bx\x1b\x04\x1aC{h\xff`{h\xffh;i\x0339h\x0bD\x1bx\x1b\x06\x1aC{h\xff`;i\x043;a;i:h\x1aD\x07\xff\x0c\x03\x11F\x18F\x02\xff\xff\xff;i\x043;a;i{a:i\xffh\x13Dzi\xffB\x0c\xff:h{i\x1aD{i\x01;9h\x0bD\x12x\x1ap{i\x013{a\xff\xff:i\xffh\x13D\x01;:h\x13D\x00"\x1ap;i\x01;:h\x1aD{h\x1aa:i\xffh\x13D;a;i\x18F\x187\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`\x03K\x18F\x0c7\xffF]\xff\x04{pG\x00\xff,\xff\x00\x08\xff\xff\xff\xff\x00\xffx`\x03K\x18F\x0c7\xffF]\xff\x04{pG\x00\xff<\xff\x00\x08\xff\xff\xff\xff\x00\xffx`{h\x18F\xff\xffT\xff\x09J{h\x1a`{hO\xff\x00\x02Z`{hO\xff\x00\x02\xff`{hO\xff\x00\x02\xff`{h\x18F\x087\xffF\xff\xff\xff\xff\x00\x08\xff\xff\xff\xff\x00\xffx`9`\x00}\x03\xff`\xffh:h\x1aD{h\xff\xff\x01z\xff\xffg\x0a\x10F\xff\xffN\xff\x02F\xffh\x13D\xff`\xffh:h\x1aD{h\xff\xff\x02z\xff\xffg\x0a\x10F\xff\xff?\xff\x02F\xffh\x13D\xff`\xffh:h\x1aD{h\xff\xff\x03z\xff\xffg\x0a\x10F\xff\xff0\xff\x02F\xffh\x13D\xff`\xffh\x18F\x107\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`9`\x00}\x03\xff`\xffh:h\x1aD{h\x043\x19F\x10F\xff\xff\xff\xff\x02F\xffh\x13D\xff`\xffh:h\x1aD{h\x083\x19F\x10F\xff\xffv\xff\x02F\xffh\x13D\xff`\xffh:h\x1aD{h\x0c3\x19F\x10F\xff\xffi\xff\x02F\xffh\x13D\xff`\xffh\x18F\x107\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`\x03K\x18F\x0c7\xffF]\xff\x04{pG\x00\xff`\xff\x00\x08\xff\xff\xff\xff\x00\xffx`\x03K\x18F\x0c7\xffF]\xff\x04{pG\x00\xfft\xff\x00\x08\xff\xff\xff\xff\x00\xffx`{h\x18F\xff\xff\xff\xff\x0bJ{h\x1a`{hO\xff\x00\x02Z`{hO\xff\x00\x02\xff`{hO\xff\x00\x02\xff`{hO\xff\x00\x02\x1aa{h\x18F\x087\xffF\xff\xff\xff\xff\x00\x08\xff\xff\xff\xff\x00\xffx`9`\x00}\x03\xff`\xffh:h\x1aD{h\xff\xff\x01z\xff\xffg\x0a\x10F\xff\xff\xff\xff\x02F\xffh\x13D\xff`\xffh:h\x1aD{h\xff\xff\x02z\xff\xffg\x0a\x10F\xff\xff\xff\xff\x02F\xffh\x13D\xff`\xffh:h\x1aD{h\xff\xff\x03z\xff\xffg\x0a\x10F\xff\xff\xff\xff\x02F\xffh\x13D\xff`\xffh:h\x1aD{h\xff\xff\x04z\xff\xffg\x0a\x10F\xff\xffw\xff\x02F\xffh\x13D\xff`\xffh\x18F\x107\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`9`\x00}\x03\xff`\xffh:h\x1aD{h\x043\x19F\x10F\xff\xff\xff\xff\x02F\xffh\x13D\xff`\xffh:h\x1aD{h\x083\x19F\x10F\xff\xff\xff\xff\x02F\xffh\x13D\xff`\xffh:h\x1aD{h\x0c3\x19F\x10F\xff\xff\xff\xff\x02F\xffh\x13D\xff`\xffh:h\x1aD{h\x103\x19F\x10F\xff\xff\xff\xff\x02F\xffh\x13D\xff`\xffh\x18F\x107\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`\x03K\x18F\x0c7\xffF]\xff\x04{pG\x00\xff\xff\xff\x00\x08\xff\xff\xff\xff\x00\xffx`\x03K\x18F\x0c7\xffF]\xff\x04{pG\x00\xff\xff\xff\x00\x08\xff\xff\xff\xff\x00\xffx`{h\x18F\xff\xff\xff\xff\x08J{h\x1a`{h\x043\x18F\xff\xff\xff\xff{h\x143\x18F\xff\xff%\xff{h\x18F\x087\xffF\xff\xff\xff\xff\x00\x08\xff\xff\xff\xff\x00\xffx`9`\x00}\x03\xff`{h\x18\x1d\xffh:h\x13D\x19F\xff\xff\xff\xff\x02F\xffh\x13D\xff`{h\x03\xff\x14\x00\xffh:h\x13D\x19F\xff\xff}\x04\xff\x02F\xffh\x13D\xff`\xffh\x18F\x107\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`9`\x00}\x03\xff`{h\x18\x1d\xffh:h\x13D\x19F\xff\xff\xff\xff\x02F\xffh\x13D\xff`{h\x03\xff\x14\x00\xffh:h\x13D\x19F\xff\xffG\xff\x02F\xffh\x13D\xff`\xffh\x18F\x107\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`\x03K\x18F\x0c7\xffF]\xff\x04{pG\x00\xff\xff\xff\x00\x08\xff\xff\xff\xff\x00\xffx`\x03K\x18F\x0c7\xffF]\xff\x04{pG\x00\xff\xff\xff\x00\x08\xff\xff\xff\xff\x00\xffx`{h\x18F\xff\xfff\xff\x0cJ{h\x1a`{h\x043\x18F\xff\xffn\xff{h\x03\xff,\x02}\x03}\x03\x00+\x05\xffO\xff\x00\x01\x11`\x042\x01;\xff\xff{h\x18F\x087\xffF\xff\xff\x00\xff\xff\xff\x00\x08\xff\xff\xff\xff\x00\xffx`9`\x00}\x03\xff`{h\x18\x1d\xffh:h\x13D\x19F\xff\xffg\xff\x02F\xffh\x13D\xff`\x00}\x03\xff`\xffh}\x03+\x17\xff\xffh:h\xff\x18zh\xffh\x0a3\xff\x00\x13D\x043\xff\xff\x00z\xff\xffg\x0a\x08F\xff\xffD\xff\x02F\xffh\x13D\xff`\xffh\x013\xff`\xff\xff\xffh\x18F\x107\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`9`\x00}\x03\xff`{h\x18\x1d\xffh:h\x13D\x19F\xff\xffW\xff\x02F\xffh\x13D\xff`\x00}\x03\xff`\xffh}\x03+\x13\xff\xffh:h\xff\x18\xffh\x0a3\xff\x00zh\x13D\x043\x19F\xff\xff\x7f\xff\x02F\xffh\x13D\xff`\xffh\x013\xff`\xff\xff\xffh\x18F\x107\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`\x03K\x18F\x0c7\xffF]\xff\x04{pG\x00\xff\x10\xff\x00\x08\xff\xff\xff\xff\x00\xffx`\x03K\x18F\x0c7\xffF]\xff\x04{pG\x00\xff4\xff\x00\x08\xff\xff\xff\xff\x00\xffx`{h\x18F\xff\xff\xff\xff\x09J{h\x1a`{hO\xff\x00\x02Z`{hO\xff\x00\x02\xff`{hO\xff\x00\x02\xff`{h\x18F\x087\xffF\xff\xff\xff\xff\x00\x08\xff\xff\xff\xff\x00\xffx`9`\x00}\x03\xff`\xffh:h\x1aD{h\xff\xff\x01z\xff\xffg\x0a\x10F\xff\xff\xff\xff\x02F\xffh\x13D\xff`\xffh:h\x1aD{h\xff\xff\x02z\xff\xffg\x0a\x10F\xff\xff\xff\xff\x02F\xffh\x13D\xff`\xffh:h\x1aD{h\xff\xff\x03z\xff\xffg\x0a\x10F\xff\xff\xff\xff\x02F\xffh\x13D\xff`\xffh\x18F\x107\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`9`\x00}\x03\xff`\xffh:h\x1aD{h\x043\x19F\x10F\xff\xff\xff\xff\x02F\xffh\x13D\xff`\xffh:h\x1aD{h\x083\x19F\x10F\xff\xff\xff\xff\x02F\xffh\x13D\xff`\xffh:h\x1aD{h\x0c3\x19F\x10F\xff\xff\xff\xff\x02F\xffh\x13D\xff`\xffh\x18F\x107\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`\x03K\x18F\x0c7\xffF]\xff\x04{pG\x00\xffX\xff\x00\x08\xff\xff\xff\xff\x00\xffx`\x03K\x18F\x0c7\xffF]\xff\x04{pG\x00\xfft\xff\x00\x08\xff\xff\xff\xff\x00\xffx`{h\x18F\xff\xff\x1a\xff\x08J{h\x1a`{h\x043\x18F\xff\xffJ\xff{h\x143\x18F\xff\xffE\xff{h\x18F\x087\xffF\xff\xffl\xff\x00\x08\xff\xff\xff\xff\x00\xffx`9`\x00}\x03\xff`{h\x18\x1d\xffh:h\x13D\x19F\xff\xffM\xff\x02F\xffh\x13D\xff`{h\x03\xff\x14\x00\xffh:h\x13D\x19F\xff\xff@\xff\x02F\xffh\x13D\xff`\xffh\x18F\x107\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`9`\x00}\x03\xff`{h\x18\x1d\xffh:h\x13D\x19F\xff\xffa\xff\x02F\xffh\x13D\xff`{h\x03\xff\x14\x00\xffh:h\x13D\x19F\xff\xffT\xff\x02F\xffh\x13D\xff`\xffh\x18F\x107\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`\x03K\x18F\x0c7\xffF]\xff\x04{pG\x00\xffp\xff\x00\x08\xff\xff\xff\xff\x00\xffx`\x03K\x18F\x0c7\xffF]\xff\x04{pG\x00\xff\xff\xff\x00\x08\xff\xff\xff\xff\x00\xffx`{h\x18F\xff\xff\xff\xff\x0cJ{h\x1a`{h\x043\x18F\xff\xffn\xff{h\x03\xff(\x02}\x03}\x03\x00+\x05\xffO\xff\x00\x01\x11`\x042\x01;\xff\xff{h\x18F\x087\xffF\xff\xff\x00\xff#4b +[3.099] handleFlashPacket(): Flash write: Address= 0x80047b0, Length=3024 +[3.099] write(): <13> Tx: $OK#9a +[3.099] read(): <13> Rx: $vFlashWrite:8005380:T\xff\x00\x08\xff\xff\xff\xff\x00\xffx`9`\x00}\x03\xff`{h\x18\x1d\xffh:h\x13D\x19F\xff\xffg\xff\x02F\xffh\x13D\xff`\x00}\x03\xff`\xffh}\x03+\x16\xff\xffh:h\xff\x18zh\xffh\x0a3\xff\x00\x13D\xff\xff\x00z\xff\xffg\x0a\x08F\xff\xffw\xff\x02F\xffh\x13D\xff`\xffh\x013\xff`\xff\xff\xffh\x18F\x107\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`9`\x00}\x03\xff`{h\x18\x1d\xffh:h\x13D\x19F\xff\xffX\xff\x02F\xffh\x13D\xff`\x00}\x03\xff`\xffh}\x03+\x12\xff\xffh:h\xff\x18\xffh\x0a3\xff\x00zh\x13D\x19F\xff\xff\xff\xff\x02F\xffh\x13D\xff`\xffh\x013\xff`\xff\xff\xffh\x18F\x107\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`\x03K\x18F\x0c7\xffF]\xff\x04{pG\x00\xff\xff\xff\x00\x08\xff\xff\xff\xff\x00\xffx`\x03K\x18F\x0c7\xffF]\xff\x04{pG\x00\xff\xff\xff\x00\x08\xff\xff\xff\xff\x00\xffx`{h\x18F\xff\xff\xff\xff\x0cJ{h\x1a`{h\x043\x18F\xff\xff\xff\xff{h\x09J\xffa{h\x1c3\x18F\xff\xffv\xff{h\xff3\x18F\xff\xff?\xff{h\x18F\x087\xffF\xff\xff<\xff\x00\x08(\xff\x00\x08\xff\xff\xff\xff\x00\xffx`9`\x00}\x03\xff`{h\x18\x1d\xffh:h\x13D\x19F\xff\xff\xff\xff\x02F\xffh\x13D\xff`{h\xffi\x18F\xff\xff\xff\xff\xff`\xffh:h\x13D\xffh\x18F\x01\xff\xff\xff\xffh\x043\xff`\xffh:h\xff\x18{h\xffi\xffh\x19F\x02\xff\xff\xff\xffh\xffh\x13D\xff`{h\x03\xff\x1c\x00\xffh:h\x13D\x19F\xff\xffS\xff\x02F\xffh\x13D\xff`{h\x03\xff\xff\x00\xffh:h\x13D\x19F\xff\xff\x14\xff\x02F\xffh\x13D\xff`\xffh\x18F\x107\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`9`\x00}\x03;a{h\x18\x1d;i:h\x13D\x19F\xff\xff@\xff\x02F;i\x13D;a;i:h\x1aD\x07\xff\x0c\x03\x11F\x18F\x01\xff\xff\xff;i\x043;a;i{a:i\xffh\x13Dzi\xffB\x0c\xff:h{i\x1aD{i\x01;9h\x0bD\x12x\x1ap{i\x013{a\xff\xff:i\xffh\x13D\x01;:h\x13D\x00"\x1ap;i\x01;:h\x1aD{h\xffa:i\xffh\x13D;a{h\x03\xff\x1c\x00;i:h\x13D\x19F\xff\xff}\x03\xff\x02F;i\x13D;a{h\x03\xff\xff\x00;i:h\x13D\x19F\xff\xff\xff\xff\x02F;i\x13D;a;i\x18F\x187\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`\x03K\x18F\x0c7\xffF]\xff\x04{pG\x00\xff\xff\xff\x00\x08\xff\xff\xff\xff\x00\xffx`\x03K\x18F\x0c7\xffF]\xff\x04{pG\x00\xff\x04\xff\x00\x08\xff\xff\xff\xff\xff\xff\x00\xffx`\x07\xffT\x00\xff\xff\x0e\x00{h\x18F\xff\xff\xff\xff{h\x1c3\x18F\xff\xff\xff\xff{h<3\x18F\xff\xff\xff\xff\x07\xff}\x04\x04\x07\xffT\x05\x0f\xff\x0f\xff\xff\xff\x07\x00\xff\xff\x07\x00\x07\xff\x08\x04\x07\xffp\x05\x0f\xff\x0f\xff\xff\xff\x07\x00\xff\xff\x07\x00{h\x18F@7\xffF\xff\xff\xff@\x04\xffpG\x00\x00\xff\xff\xff\xff\x00\xffx`{h\x18F\xff\xff\xff\xff\x06J{h\x1a`{h\x043\x18F\xff\xff\xff\xff{h\x18F\x087\xffF\xff\xff\x00\xff}\x04\xff\x00\x08\xff\xff\xff\xff\x00\xffx`9`\x00}\x03\xff`{hYh\xffh:h\x13D\xff\xff\x1ap{h[h\x19\x0a\xffh\x013:h\x13D\xff\xff\x1ap{h[h\x19\x0c\xffh\x023:h\x13D\xff\xff\x1ap{h[h\x19\x0e\xffh\x033:h\x13D\xff\xff\x1ap\xffh\x043\xff`{h\xffh\xffh:h\x13D\xff\xff\x1ap{h\xffh\x19\x0a\xffh\x013:h\x13D\xff\xff\x1ap{h\xffh\x19\x0c\xffh\x023:h\x13D\xff\xff\x1ap{h\xffh\x19\x0e\xffh\x033:h\x13D\xff\xff\x1ap\xffh\x043\xff`\xffh\x18F\x147\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`9`\x00}\x03\xff`\xffh:h\x13D\x1bx\x1aF{hZ`{hZh\xffh\x0139h\x0bD\x1bx\x1b\x02\x1aC{hZ`{hZh\xffh\x0239h\x0bD\x1bx\x1b\x04\x1aC{hZ`{hZh\xffh\x0339h\x0bD\x1bx\x1b\x06\x1aC{hZ`\xffh\x043\xff`\xffh:h\x13D\x1bx\x1aF{h\xff`{h\xffh\xffh\x0139h\x0bD\x1bx\x1b\x02\x1aC{h\xff`{h\xffh\xffh\x0239h\x0bD\x1bx\x1b\x04\x1aC{h\xff`{h\xffh\xffh\x0339h\x0bD\x1bx\x1b\x06\x1aC{h\xff`\xffh\x043\xff`\xffh\x18F\x147\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`\x03K\x18F\x0c7\xffF]\xff\x04{pG\x00\xff(\xff\x00\x08\xff\xff\xff\xff\x00\xffx`\x03K\x18F\x0c7\xffF]\xff\x04{pG\x00\xff8\xff\x00\x08\xff\xff\xff\xff\x00\xffx`{h\x18F\xff\xff\xff\xff\x0bJ{h\x1a`{h\x00"\xff\xff{h\x09J\xff`{h\x07J\xff`{h\x06J\x1aa{h\x00"Za{h\x18F\x087\xffF\xff\xff\x00\xff\x0c\xff\x00\x08(\xff\x00\x08\xff\xff\xff\xff\x00\xffx`9`\x00}\x03\xffa{h\xff\xff\xffi:h\x13D\xff\xff\x1ap{h\xff\xff\x1b\x0a\xff\xff\xffi\x013:h\x13D\xff\xff\x1ap\xffi\x023\xffa{h\xffh\x18F\xff\xff|\xff\xffa\xffi:h\x13D\xffi\x18F\x01\xff\xff\xff\xffi\x043\xffa\xffi:h\xff\x18{h\xffh\xffi\x19F\x02\xff\xff\xff\xffi\xffi\x13D\xffa{h\xffh\x18F\xff\xff_\xffxa\xffi:h\x13Dyi\x18F\x01\xff\xff\xff\xffi\x043\xffa\xffi:h\xff\x18{h\xffhzi\x19F\x02\xffo\xff\xffi{i\x13D\xffa{h\x1bi\x18F\xff\xffB\xff8a\xffi:h\x13D9i\x18F\x01\xffo\xff\xffi\x043\xffa\xffi:h\xff\x18{h\x1bi:i\x19F\x02\xffR\xff\xffi;i\x13D\xffa{h[i\xff`\xffh\xffi:h\x13D\xff\xff\x1ap\xffh\x19\x0a\xffi\x013:h\x13D\xff\xff\x1ap\xffh\x19\x0c\xffi\x023:h\x13D\xff\xff\x1ap\xffh\x19\x0e\xffi\x033:h\x13D\xff\xff\x1ap\xffi\x043\xffa\xffi\x18F 7\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`9`\x00}\x03\xffa\xffi:h\x13D\x1bx\xff\xff{h\xff\xff{h\xff\xff\x1a\xff\xffi\x0139h\x0bD\x1bx\x1b\x02\x1b\xff\x13C\x1b\xff\xff\xff{h\xff\xff\xffi\x023\xffa\xffi:h\x1aD\x07\xff\x14\x03\x11F\x18F\x01\xff+\xff\xffi\x043\xffa\xffi{b\xffi{i\x13Dzj\xffB\x0c\xff:h{j\x1aD{j\x01;9h\x0bD\x12x\x1ap{j\x013{b\xff\xff\xffi{i\x13D\x01;:h\x13D\x00"\x1ap\xffi\x01;:h\x1aD{h\xff`\xffi{i\x13D\xffa\xffi:h\x1aD\x07\xff\x10\x03\x11F\x18F\x01\xff\xff\xff\xffi\x043\xffa\xffi;b\xffi;i\x13D:j\xffB\x0c\xff:h;j\x1aD;j\x01;9h\x0bD\x12x\x1ap;j\x013;b\xff\xff\xffi;i\x13D\x01;:h\x13D\x00"\x1ap\xffi\x01;:h\x1aD{h\xff`\xffi;i\x13D\xffa\xffi:h\x1aD\x07\xff\x0c\x03\x11F\x18F\x01\xff\xff\xff\xffi\x043\xffa\xffi\xffa\xffi\xffh\x13D\xffi\xffB\x0c\xff:h\xffi\x1aD\xffi\x01;9h\x0bD\x12x\x1ap\xffi\x013\xffa\xff\xff\xffi\xffh\x13D\x01;:h\x13D\x00"\x1ap\xffi\x01;:h\x1aD{h\x1aa\xffi\xffh\x13D\xffa\x00}\x03\xff`\xffh\xffi9h\x0aD\x12x\x13C\xff`\xffh\xffi\x0139h\x0bD\x1bx\x1b\x02\x13C\xff`\xffh\xffi\x0239h\x0bD\x1bx\x1b\x04\x13C\xff`\xffh\xffi\x0339h\x0bD\x1bx\x1b\x06\x13C\xff`\xffh{hZa\xffi\x043\xffa\xffi\x18F(7\xffF\xff\xff\x00\x00\xff\xff\xff\xff\x00\xffx`\x03K\x18F\x0c7\xffF]\xff\x04{pG\x00\xff\\\xff\x00\x08\xff\xff\xff\xff\x00\xffx`\x03K\x18F\x0c7\xffF]\xff\x04{pG\x00\xffx\xff\x00\x08\xff\xff\xff\xff\x00\xffx`{h\x18F\xff\xff\x16\xff\x06J{h\x1a`{h\x00"\x1aq{h\x04J\xff`{h\x18F\x087\xffF\xff\xff\xff\xff\x00\x08(\xff\x00\x08\xff\xff\xff\xff\x00\xffx`9`\x00}\x03\xff`\xffh:h\x13Dzh\x12y\x1ap\xffh\x013\xff`{h\xffh\x18F\xff\xff\xff\xff\xff`\xffh:h\x13D\xffh\x18F\x01\xff\xff\xff\xffh\x043\xff`\xffh:h\xff\x18{h\xffh\xffh\x19F\x02\xff\xff\xff\xffh\xffh\x13D\xff`\xffh\x18F\x107\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`9`\x00}\x03;a;i:h\x13D\x1ax{h\x1aq;i\x013;a;i:h\x1aD\x07\xff\x0c\x03\x11F\x18F\x01\xff\xff\xff;i\x043;a;i{a:i\xffh\x13Dzi\xffB\x0c\xff:h{i\x1aD{i\x01;9h\x0bD\x12x\x1ap{i\x013{a\xff\xff:i\xffh\x13D\x01;:h\x13D\x00"\x1ap;i\x01;:h\x1aD{h\xff`:i\xffh\x13D;a;i\x18F\x187\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`\x03K\x18F\x0c7\xffF]\xff\x04{pG\x00\xff\xff\xff\x00\x08\xff\xff\xff\xff\x00\xffx`\x03K\x18F\x0c7\xffF]\xff\x04{pG\x00\xff\xff\xff\x00\x08\xff\xff\xff\xff\x00\xffx`{h\x18F\xff\xfff\xff\x0cJ{h\x1a`{h\x00"Z`{h\x00"\xff`{h\x00"\x1aa{h\x00"\xffa{h\x00"\xffa{h\x00"Zb{h\x18F\x087\xffF\xff\xff\xff\xff\x00\x08\xff\xff\xff\xff\x00\xffx`9`\x00}\x03{b{hYh{j:h\x13D\xff\xff\x1ap{h[h\x19\x0a{j\x013:h\x13D\xff\xff\x1ap{h[h\x19\x0c{j\x023:h\x13D\xff\xff\x1ap{h[h\x19\x0e{j\x033:h\x13D\xff\xff\x1ap{j\x043{b\x00}\x03;b{h[h:j\xffB+\xff{h\xffh;j\xff\x00\x13D\x1bh;a9i{j:h\x13D\xff\xff\x1ap;i\x19\x0a{j\x013:h\x13D\xff\xff\x1ap;i\x19\x0c{j\x023:h\x13D\xff\xff\x1ap;i\x19\x0e{j\x033:h\x13D\xff\xff\x1ap{j\x043{b;j\x013;b\xff\xff{h\x19i{j:h\x13D\xff\xff\x1ap{h\x1bi\x19\x0a{j\x013:h\x13D\xff\xff\x1ap{h\x1bi\x19\x0c{j\x023:h\x13D\xff\xff\x1ap{h\x1bi\x19\x0e{j\x033:h\x13D\xff\xff\x1ap{j\x043{b\x00}\x03\xffa{h\x1bi\xffi\xffB+\xff{h\xffi\xffi\xff\x00\x13D\x1bh\xff`\xffh{j:h\x13D\xff\xff\x1ap\xffh\x19\x0a{j\x013:h\x13D\xff\xff\x1ap\xffh\x19\x0c{j\x023:h\x13D\xff\xff\x1ap\xffh\x19\x0e{j\x033:h\x13D\xff\xff\x1ap{j\x043{b\xffi#a0 +[3.099] handleFlashPacket(): Flash write: Address= 0x8005380, Length=3024 +[3.100] write(): <13> Tx: $OK#9a +[3.100] read(): <13> Rx: $vFlashWrite:8005f50:\x013\xffa\xff\xff{h\xffi{j:h\x13D\xff\xff\x1ap{h\xffi\x19\x0a{j\x013:h\x13D\xff\xff\x1ap{h\xffi\x19\x0c{j\x023:h\x13D\xff\xff\x1ap{h\xffi\x19\x0e{j\x033:h\x13D\xff\xff\x1ap{j\x043{b\x00}\x03\xffa{h\xffi\xffi\xffB(\xff{hZj\xffi\xff\x00\x13D\x1bh\x18F\xff\xff<\xffxa{j:h\x13Dyi\x18F\x00\xffi\xff{j\x043{b{j:h\xff\x18{hZj\xffi\xff\x00\x13D\x1bhzi\x19F\x02\xffH\xffzj{i\x13D{b\xffi\x013\xffa\xff\xff{j\x18F(7\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`9`\x00}\x03{c{k:h\x13D\x1bx;b{k\x013:h\x13D\x1bx\x1b\x02:j\x13C;b{k\x023:h\x13D\x1bx\x1b\x04:j\x13C;b{k\x033:h\x13D\x1bx\x1b\x06:j\x13C;b{k\x043{c{h[h:j\xffB\x0a\xff{h\xffh;j\xff\x00\x19F\x10F\x02\xff\x18\xff\x02F{h\xff`{h:jZ`\x00}\x03;c{h[h:k\xffB6\xff\x00}\x03{a{izk9h\x0aD\x12x\x13C{azi{k\x0139h\x0bD\x1bx\x1b\x02\x13C{azi{k\x0239h\x0bD\x1bx\x1b\x04\x13C{azi{k\x0339h\x0bD\x1bx\x1b\x06\x13C{azi{h\xff`{k\x043{c{h\xffh;k\xff\x00\x13Dzh\x082\x12h\x1a`;k\x013;c\xff\xff{k:h\x13D\x1bx\xffa{k\x013:h\x13D\x1bx\x1b\x02\xffi\x13C\xffa{k\x023:h\x13D\x1bx\x1b\x04\xffi\x13C\xffa{k\x033:h\x13D\x1bx\x1b\x06\xffi\x13C\xffa{k\x043{c{h\x1bi\xffi\xffB\x0a\xff{h\xffi\xffi\xff\x00\x19F\x10F\x01\xff\xff\xff\x02F{h\xffa{h\xffi\x1aa\x00}\x03\xffb{h\x1bi\xffj\xffB6\xff\x00}\x03;a;izk9h\x0aD\x12x\x13C;a:i{k\x0139h\x0bD\x1bx\x1b\x02\x13C;a:i{k\x0239h\x0bD\x1bx\x1b\x04\x13C;a:i{k\x0339h\x0bD\x1bx\x1b\x06\x13C;a:i{hZa{k\x043{c{h\xffi\xffj\xff\x00\x13Dzh\x142\x12h\x1a`\xffj\x013\xffb\xff\xff{k:h\x13D\x1bx\xffa{k\x013:h\x13D\x1bx\x1b\x02\xffi\x13C\xffa{k\x023:h\x13D\x1bx\x1b\x04\xffi\x13C\xffa{k\x033:h\x13D\x1bx\x1b\x06\xffi\x13C\xffa{k\x043{c{h\xffi\xffi\xffB\x0a\xff{hZj\xffi\xff\x00\x19F\x10F\x01\xff0\xff\x02F{hZb{h\xffi\xffa\x00}\x03\xffb{h\xffi\xffj\xffB?\xff{k:h\x1aD\x07\xff\x0c\x03\x11F\x18F\x00\xff5\xff{k\x043{c{k{bzk\xffh\x13Dzj\xffB\x0c\xff:h{j\x1aD{j\x01;9h\x0bD\x12x\x1ap{j\x013{b\xff\xffzk\xffh\x13D\x01;:h\x13D\x00"\x1ap{k\x01;:h\x1aD{h\x1abzk\xffh\x13D{c{hZj\xffj\xff\x00\x13Dzh 2\x12h\x1a`\xffj\x013\xffb\xff\xff{k\x18F87\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`\x03K\x18F\x0c7\xffF]\xff\x04{pG\x00\xffx\xff\x00\x08\xff\xff\xff\xff\x00\xffx`\x03K\x18F\x0c7\xffF]\xff\x04{pG\x00\xff\xff\xff\x00\x08\xff\xff\xff\xff\x00\xff\xff`\xff`z`;`\xffh\xffh\x1a`\xffhzhZ`\xffh:h\x1aa\xffh\x18F\x147\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`9`{h\xffh{h\xffh\x1bh\x1bhzh\xffh:h\xffG\x03F\x18F\x087\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`{h\x1bi\x18F\x0c7\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`{h\x1bh\xffn\x1bh[h[B\x03\xff\x7f\x03\x18F\x0c7\xffF]\xff\x04{pG\x00\x00\xff\xff\xff\xff\x00\xffx`{h\x0aJ\x1a`{h\x00"\xff\xff\xff {h\x00"\xff\xff\xff!{h\x00"\xff\xff\xff!{h\x18F\x0c7\xffF]\xff\x04{pG\xff\x01\x00 \xff\xff\xff\xff\x00\xffx`xh\x00\xff\x04\xff\x00\xff\x087\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`{h\x18h{h\x043\xff"\x19F\xff\xff\xff\xff\x00\xff\x087\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`O\xff\xff3\xff`{h\xff\xff\xff@xh\xff\xff\xff\xff\x03F\xffB\x14\xff\x01}\x03\x00}\x03\xff\xff\x00+\x12\xff{h\xff\xff\xff0Y\x1czh\xff\xff\xff\x10zh\x13D\x1by\xff`{h\xff\xff\xff0\x03\xff\x7f\x02{h\xff\xff\xff \xffh\x18F\x147\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`{h\x1bh[o +\x08\xff'K\x1bx\xff\xff\x01\x03\xff\xff\x00+\x01\xff\x01}\x03\x00\xff\x00}\x03\x00+=\xff!K\x01"\x1ap{h\xff\xff\xff!{h\xff\xff\xff1\xffB/\xff{h\xff\xff\xff!{h\xff\xff\xff1\xffB\x0a\xff{h\xff\xff\xff1\xff\xff{h\xff\xff\xff1\xff\xff\xff\x1a\xff\xff\x06\xff{h\xff\xff\xff1\xff\xff\xff\xff\xffs\xff\xff\xff\xff{h\x18h{h\xff\xff\xff1\xff3zh\x13D\xff\xff\x19F\xff\xff\xff\xff{h\xff\xff\xff!\xff\xff\x13D\xff\xff{h\xff\xff\xff!\x03K\x00"\x1ap\x00\xff\x107\xffF\xff\xff\x00\xff\xff\x00\x00 \xff\xff\xff\xff\x00\xff\xff`\xff`z`{h{a{i\xff\xff\xff\x7f\xff\xffO\xff\xffs{a\xffh\xff\xff\xff1\xff\xff\xffr{i\xffB(\xff\x13F;a\xffh\xff\xff\xff1\xff3\xffh\x13D:i\xffh\x18F\x01\xff\xff\xff\xffh\xff\xff\xff!{i\x13D\xff\xff\xffh\xff\xff\xff!zi;i\xffB\x0b\xff\xffh\x03\xff\xff\x00;i\xffh\xff\x18zi;i\xff\x1a\x1aF\x01\xffi\xff\xffh\xff\xfff\xff\x00\xff\x187\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`\xff\xff\x12\xff\x03F\x18F\x087\xffF\xff\xff\x00\x00\xff\xff\xff\xff\x00\xffx`{h\x18F\xff\xffL\xff\x05J{h\x1a`{h\x04JZ`{h\x18F\x087\xffF\xff\xff\x00\xff\xff\xff\x00\x08(\xff\x00\x08\xff\xff\xff\xff\x00\xffx`9`\x00}\x03\xff`{h[h\x18F\xff\xff\x0e\xff\xff`\xffh:h\x13D\xffh\x18F\x00\xff;\xff\xffh\x043\xff`\xffh:h\xff\x18{h[h\xffh\x19F\x01\xff\x1e\xff\xffh\xffh\x13D\xff`\xffh\x18F\x107\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`9`\x00}\x03;a;i:h\x1aD\x07\xff\x0c\x03\x11F\x18F\x00\xff4\xff;i\x043;a;i{a:i\xffh\x13Dzi\xffB\x0c\xff:h{i\x1aD{i\x01;9h\x0bD\x12x\x1ap{i\x013{a\xff\xff:i\xffh\x13D\x01;:h\x13D\x00"\x1ap;i\x01;:h\x1aD{hZ`:i\xffh\x13D;a;i\x18F\x187\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`\x03K\x18F\x0c7\xffF]\xff\x04{pG\x00\xff\xff\xff\x00\x08\xff\xff\xff\xff\x00\xffx`\x03K\x18F\x0c7\xffF]\xff\x04{pG\x00\xff\x08\xff\x00\x08\xff\xff\xff\xff\x00\xff\xff\xff\x19\xff\x00\xffI\xff\x00\xff\xff\xff\x00\xff\xff\xff\x00\xff\xff\xff\x00\xff)\xff\x00\xff\xff\xff\x00\xff\xff\xff\x00\xffW\xff\x17H\xff\xff\xff\xff\x16H\xff\xff/\xff\x16H\xff\xff,\xff\x07\xff\x18\x03\x18F\xff\xffA\xff\x07\xff\x18\x028\x1d\x00}\x03\x11I\xff\xff\xff\xff\x10H\x00\xffq\xff;\x1d\x19F\x0eH\x00\xff\xff\xff\x0dK\xffa\x07\xff\x18\x02;\x1d\x11F\x18F\xff\xff\xff\xff\x08H\x00\xff\xff\xffO\xffzp\xff\xff:\xff\xff\xff\x00\xff\xff\x00\x00 \xff\x02\x00 \x00\x03\x00 ,\xff\x00\x08\xff\x04\x00 \x08\x00\x00 \xff\xff\xff\xff\x00\xff\x07\xff\xff\x034"\x00!\x18F\x01\xffk\xff\x07\xff\xff\x03\x00"\x1a`Z`\xff`\xff`\x1aa\x07\xff\x08\x03\xff"\x00!\x18F\x01\xff\\\xff6K\x1bl5JC\xff\xffS\x13d3K\x1bl\x03\xff\xffS{`{h1K\x1bh}\x03\xff@C/JC\xff\xffC\x13`-K\x1bh\x03\xff@C;`;h\x02}\x03\xff\xff\xff0\x01}\x03\xff\xff\xff0\x10}\x03\xff\xff\xff0\x00}\x03\xff\xff\xff0\x07\xff\xff\x03\x18F\xff\xffx\xff\x03F\x00+\x14\xff\x01}\x03\x00}\x03\xff\xff\x00+\x01\xff\x00\xff&\xff\x0f}\x03\xff\xff\xff0\x00}\x03\xff\xff\xff0\x00}\x03\xff\xff\xff0O\xff\xffS\xff\xff\xff0\x00}\x03\xff\xff\xff0\x07\xff\xff\x03\x00!\x18F\xff\xff\xff\xff\x03F\x00+\x14\xff\x01}\x03\x00}\x03\xff\xff\x00+\x01\xff\x00\xff\x06\xffO\xff\xffs\xff`\x00}\x03{e\x07\xff\x08\x03\x18F\xff\xff\xff\xff\x03F\x00+\x14\xff\x01}\x03\x00}\x03\xff\xff\x00+\x01\xff\x00\xff\xff\xff\x00\xff\xff7\xffF\xff\xff\x008\x02@\x00p\x00@\xff\xff\xff\xff\x00\xff\x07\xff\x0c\x03}\x04"\x00!\x18F\x01\xff\xff\xff;F\x00"\x1a`Z`\xff`&KO\xff\xffB\x1a`}\x04K\x00"Z`"K\x00"\xff`!KO\xff\xff2\xff`\x1fK\x00"\x1aa\x1dK\x00"\xffa\x03}\x03\xff`\x00}\x03;a\x01}\x03{a\x00}\x03\xffa\x00}\x03\xffa\x00}\x03;b\x01}\x03{b\x00}\x03\xffb\x00}\x03\xffb\x07\xff\x0c\x03\x19F\x11H\xff\xff\xff\xff\x03F\x00+\x14\xff\x01}\x03\x00}\x03\xff\xff\x00+\x01\xff\x00\xff\xff\xff\x00}\x03;`\x00}\x03\xff`;F\x19F\x08H\xff\xffl\xff\x03F\x00+\x14\xff\x01}\x03\x00}\x03\xff\xff\x00+\x01\xff\x00\xff\xff\xff\x00\xff07\xffF\xff\xff\xff\x00\x00 \xff\xff\xff\xff\x00\xff\x07\xff\x10\x03\x00"\x1a`Z`\xff`\xff`;\x1d\x00"\x1a`Z`\xff`%K%J\x1a`}\x03KI\xff?BZ`!K\x00"\xff` K\x09"\xff`\x1eK\x00"\x1aa\x1dK\x00"\xffa\x1bH\xff\xff\x15\xff\x03F\x00+\x14\xff\x01}\x03\x00}\x03\xff\xff\x00+\x01\xff\x00\xff]\xffO\xff\xffS;a\x07\xff\x10\x03\x19F\x12H\xff\xff\xff\xff\x03F\x00+\x14\xff\x01}\x03\x00}\x03\xff\xff\x00+\x01\xff\x00\xffJ\xff\x00}\x03{`\x00}\x03\xff`;\x1d\x19F\x08H\xff\xff\x11\xff\x03F\x00+\x14\xff\x01}\x03\x00}\x03\xff\xff\x00+\x01\xff\x00\xff7\xff\x00\xff 7\xffF\xff\xff\x00\xff\xff\x00\x00 \x00\x04\x00@\xff\xff\xff\xff\x00\xff\x07\xff\x1c\x03\x00"\x1a`Z`\xff`;F\x00"\x1a`Z`\xff`\xff`\x1aaZa\xffa0K1J\x1a`/K\x00"Z`-K\x00"\xff`,K\x00"\xff`}\x0aK\x00"\x1aa)K\x00"\xffa'H\xff\xff\x0b\xff\x03F\x00+\x14\xff\x01}\x03\x00}\x03\xff\xff\x00+\x01\xff\x00\xff\xff\xff\x00}\x03\xffa\x00}\x03{b\x07\xff\x1c\x03\x19F\x1dH\xff\xff\xff\xff\x03F\x00+\x14\xff\x01}\x03\x00}\x03\xff\xff\x00+\x01\xff\x00\xff\xff\xff`}\x03;`\x00}\x03{`\x00}\x03\xff`\x00}\x03;a;F\x08"\x19F\x11H\xff\xff\xff\xff\x03F\x00+\x14\xff\x01}\x03\x00}\x03\xff\xff\x00+\x01\xff\x00\xff#8a +[3.100] handleFlashPacket(): Flash write: Address= 0x8005f50, Length=2976 +[3.100] write(): <13> Tx: $OK#9a +[3.101] read(): <13> Rx: $vFlashWrite:8006af0:\xff\xff;F\x0c"\x19F\x09H\xff\xff\xff\xff\x03F\x00+\x14\xff\x01}\x03\x00}\x03\xff\xff\x00+\x01\xff\x00\xff\xff\xff\x03H\x01\xffT\xff\x00\xff(7\xffF\xff\xff}\x04\x01\x00 \x00\x08\x00@\xff\xff\xff\xff\x00\xff\x07\xff\x0c\x03}\x04"\x00!\x18F\x01\xff\xff\xff;F\x00"\x1a`Z`\xff`%K%J\x1a`}\x03K\x00"Z`"K\x00"\xff` K\x00"\xff`\x1fK\x00"\x1aa\x1dK\x00"\xffa\x03}\x03\xff`\x00}\x03;a\x01}\x03{a\x00}\x03\xffa\x00}\x03\xffa\x00}\x03;b\x01}\x03{b\x00}\x03\xffb\x00}\x03\xffb\x07\xff\x0c\x03\x19F\x11H\xff\xff\xff\xff\x03F\x00+\x14\xff\x01}\x03\x00}\x03\xff\xff\x00+\x01\xff\x00\xffs\xff\x00}\x03;`\x00}\x03\xff`;F\x19F\x08H\xff\xff:\xff\x03F\x00+\x14\xff\x01}\x03\x00}\x03\xff\xff\x00+\x01\xff\x00\xff`\xff\x00\xff07\xffF\xff\xffd\x01\x00 \x00\x0c\x00@\xff\xff\x00\xff\x16K\x17J\x1a`\x15KO\xff\xff2Z`\x13K\x00"\xff`\x11K\x00"\xff`\x10K\x00"\x1aa\x0eK\x0c"Za\x0dK\x00"\xffa\x0bK\x00"\xffa\x0aK\x00"\x1ab\x08K\x00"Zb\x07H\xff\xff~\xff\x03F\x00+\x14\xff\x01}\x03\x00}\x03\xff\xff\x00+\x01\xff\x00\xff}\x0a\xff\x00\xff\xff\xff\xff\x01\x00 \x00H\x00@\xff\xff\xff\xff\x00\xff\x10K\x1bk\x0fJC\xff\x00\x13\x13c\x0dK\x1bk\x03\xff\x00\x13{`{h\x00"\x00!\x0c \xff\xff\xff\xff\x0c \xff\xff\xff\xff\x00"\x00!\x0e \xff\xff\xff\xff\x0e \xff\xff\xff\xff\x00\xff\x087\xffF\xff\xff\x00\xff\x008\x02@\xff\xff\xff\xff\x00\xff\x07\xff\x1c\x03\x00"\x1a`Z`\xff`\xff`\x1aaSK\x1bkRJC\xff\x04\x03\x13cPK\x1bk\x03\xff\x04\x03\xffa\xffiMK\x1bkLJC\xff\x01\x03\x13cJK\x1bk\x03\xff\x01\x03{a{iGK\x1bkFJC\xff \x03\x13cDK\x1bk\x03\xff \x03;a;iAK\x1bk@JC\xff\x10\x03\x13c>K\x1bk\x03\xff\x10\x03\xff`\xffh;K\x1bk:JC\xff\x08\x03\x13c8K\x1bk\x03\xff\x08\x03\xff`\xffh5K\x1bk4JC\xff\x02\x03\x13c2K\x1bk\x03\xff\x02\x03{`{h\x00"O\xffpA.H\xff\xff\xff\xff\x00"O\xff\xffq,H\xff\xff\xff\xff\x01}\x03\xffa\x03}\x03;b\x00}\x03{b\x07\xff\x1c\x03\x19F'H\xff\xff\x17\xff\x08}\x03\xffa\x03}\x03;b\x00}\x03{b\x07\xff\x1c\x03\x19F"H\xff\xff\x0b\xff@}\x03\xffa\x00}\x03;b\x00}\x03{b\x07\xff\x1c\x03\x19F\x1cH\xff\xff\xff\xffO\xffpC\xffa\x01}\x03;b\x00}\x03{b\x00}\x03\xffb\x07\xff\x1c\x03\x19F\x12H\xff\xff\xff\xffO\xff\x00s\xffa\x00}\x03;b\x00}\x03{b\x07\xff\x1c\x03\x19F\x0fH\xff\xff\xff\xffO\xff\xffs\xffa\x01}\x03;b\x00}\x03{b\x00}\x03\xffb\x07\xff\x1c\x03\x19F\x05H\xff\xff\xff\xff\x00\xff07\xffF\xff\xff\x008\x02@\x00\x14\x02@\x00\x04\x02@\x00\x08\x02@\x00\x00\x02@\x00\x10\x02@\xff\xff\xff\xff\x00\xffx`{h\x1bh\x10J\xffB\x19\xff\x10H\xff\xff\xff\xff\xff\xff@z\x0eK\xff\xff\x00z\x0eH\xff\xff\xff\xff\xff\xff@z\x0cK\xff\xff\x00z\x0cH\xff\xff\xff\xff\x03F\xff\xffd}\x03\x09I\x09H\xff\xff\xff\xff\x00\xff\x087\xffF\xff\xff\x00\xff\x00\x04\x00@\xff\x02\x00 \xff\x04\x00 \x00\x03\x00 \xff\x04\x00 \x08\x00\x00 \xff\x01\x00 \xff\xff\xff\xff\x00\xffx`\x00\xff\x0c7\xffF]\xff\x04{pG\xff\xff\x00\xff\x00\xff\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`9`\x00}\x03\xff`\xffh\x03+\x0d\xff\xffh\xff\x00:h"\xff\x03\xffzh\xffh\x13D\xff\xff\x1ap\xffh\x013\xff`\xff\xff\x00\xff\x147\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`9`{h\x00"\x1a`\x00}\x03\xff`\xffh\x03+\x11\xff{h\x1bh9h\xffh\x0aD\x12x\x11F\xffh\xff\x00\x01\xff\x02\xff\x1aC{h\x1a`\xffh\x013\xff`\xff\xff\x00\xff\x147\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`\x04J{h\x1a`{h\x18F\x0c7\xffF]\xff\x04{pG\xff\xff\x00\x08\xff\xff\xff\xff\x00\xffx`{h\x18F\xff\xff\xff\xff:J{h\x1a`{h\x043\x18F\xff\xff(\xff{h\x00"\xff\xff\xff&{h\x03\xff\xffc\x18F\xff\xff\x12\xff\x00}\x03{a{i\x18+\x0b\xffzh{i\x03\xff\xffs\xff\x00\x13D\x00"Z`{i\x013{a\xff\xff\x00}\x03;a;i\x18+\x0a\xff{h:i\x02\xff\xffr\x00!C\xff"\x10;i\x013;a\xff\xff\x00}\x03\xff`\xffh\xff\xff\x00\x7f\x0a\xffzh\xffh\x13D\x03\xff\xffs\x00"\x1ap\xffh\x013\xff`\xff\xff\x00}\x03\xff`\xffh\xff\xff\x00\x7f\x0a\xffzh\xffh\x13D\x03\xffis\x00"\x1ap\xffh\x013\xff`\xff\xff{h\x00"\xff\xff\xff&{h\x00"\xff\xff\xff&{h\x00"\xff\xff\xff&{h\x00"\xff\xff\xff&{h\x00"\xff\xff\xff&{h\x00"\xff\xff\xff&{h\x00"\xff\xff\xff!{h\x18F\x187\xffF\xff\xff\xff\xff\x00\x08\xff\xff\xff\xff\x00\xffx`{h\x043\x18F\xff\xff\xff\xff{h\x00"\xff\xffl&{h\x00"\xff\xffp&{h\x00"\xff\xffx&{h\x00"\xff\xfft&\x00\xff\x087\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`9`\x00}\x03\xff`\xffh\x18+\x1e\xffzh\xffh\x03\xff\xffs\xff\x00\x13D[h\x00+\x11\xffzh\xffh\x03\xff\xffs\xff\x00\x13D:hZ`\xffh\x03\xff}]\x02;h\xff`zh;h\xff`\x01}\x03\x04\xff\xffh\x013\xff`\xff\xff\x00}\x03\x18F\x147\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`{h\x043\x18F\xff\xffd\xff\xff`{h\xff\xff\xff6\xffh\xff\x1aB\xff\xff"\xffB\x03\xff{h\x00"\xff\xff\xff&{h\xff\xffl6\x00+\x09\xff{h\xff\xff\xff6\xffh\xffB\x03\xff{h\x00"\xff\xffl&{h\xff\xff\xff1\x00+\x14\xff{h\x043\x18F\xff\xff=\xff\x02F\xffh\xff\x1a{h\xff\xff\xff1\xffB\xff\xff\x01}\x03\x00}\x03\xff\xff\x00+\x02\xffo\xff\x01\x03\xff\xff{h\x043\x18F\xff\xff]\xff\xff`\xffh\x00+\xff\xffw\xff{h\xff\xff|&\xffh\x1aD{h\xff\xff|&{h\xff\xffl6\x07+\x1e\xff{h\xff\xffx6Y\x1czh\xff\xffx\x16\xffh\xff\xffzh\x13D\x0aF\xff\xff\xff!{h\xff\xffp6Z\x1e{h\xff\xffp&{h\xff\xffp6\x00+\xff\xff{h\x08"\xff\xffl&\xff\xff{h\xff\xffl6\x00+(\xff\xffh\xff+\x0d\xff{h\xff\xffl6Z\x1c{h\xff\xffl&\xffh\x03\xff\x14\x02{h\xff\xff\xff&\xff\xff{h\x043\x18F\xff\xff\xff\xff\x02F\xffh\xff\x1aA\xff\xff2\xffB\xff\xff\x01}\x03\x00}\x03\xff\xff\x00+\xff\xff{h\x00"\xff\xff\xff&o\xff\x01\x033\xff{h\xff\xffl6\x01+\x1b\xff\xffh\xff+\x07\xff{h\xff\xffl6Z\x1c{h\xff\xffl&q\xff{h\x00"\xff\xffl&{h\xff\xff\xff6\xff\xff\x01\x03\xff\xff\x00+?\xffe\xffxh\x00\xff\x18\xff`\xff{h\xff\xffl6\x02+\x13\xff{h\xffh\xff\xffp&{h\x00"\xff\xffx&{h\xff\xffl6Z\x1c{h\xff\xffl&{h\xffh\xff\xff|&G\xff{h\xff\xffl6\x03+\x10\xff{h\xff\xffp&\xffh\x1b\x02\x1aD{h\xff\xffp&{h\xff\xffl6Z\x1c{h\xff\xffl&1\xff{h\xff\xffl6\x04+\x16\xff{h\xff\xff|6ZB\xff\xff\xff\xffX\xffSB\xff+\x07\xff{h\xff\xffl6Z\x1c{h\xff\xffl&\x1a\xff{h\x00"\xff\xffl&\x15\xff{h\xff\xffl6\x05+\x0f\xff{h\xffh\xff\xfft&{h\xff\xffl6Z\x1c{h\xff\xffl&{h\xffh\xff\xff|&\x00\xff{h\xff\xffl6\x06+\x17\xff{h\xff\xfft&\xffh\x1b\x02\x1aD{h\xff\xfft&{h\x07"\xff\xffl&{h\xff\xffp6\x00+\x7f\xff\xff\xff{h\x08"\xff\xffl&\xff\xff{h\xff\xffl6\x08+\x7f\xff\xff\xff{h\x00"\xff\xffl&{h\xff\xff|6ZB\xff\xff\xff\xffX\xffSB\xff+\x7f\xff\xff\xff{h\xff\xfft6\x00+\x10\xffxh\x00\xff}]\xffxh\x00\xff\xff\xff{h\xffh\xff\xff\xff&{h\xffh\xff\xff\xff&O\xff\xff3j\xff{h\xff\xfft6\x0a+\x07\xff{h\x03\xff\xffs\x19Fxh\x00\xff`\xff\xff\xff{h\xff\xfft6\x06+\x0e\xff{h\x03\xff\xffb{h\x03\xff\xffs\x19F\x10F\xff\xff\x0b\xff{h\x01"\xff\xff\xff&\xff\xff{h\xff\xfft6\x0b+\x04\xff{h\x00"\xff\xff\xff&\xff\xff{h\xff\xfft6\xff\xffd\x02{h\x02\xff\xffrS\xff"0\x00+?\xff\xff\xff{h\xff\xfft6\xff\xffd\x02{h\x02\xff\xffrS\xff"\x00{h\xff\xfft6\xff\xffd\x02{h\x02\xff\xffrS\xff"0\x1bh\x1bhzh\x02\xff\xffr\x11F\xffGd\xff\x00\xff{h\xff\xff\xff6\x00+\x0f\xff{h\xff\xff\xff6\xffh\xff\x1a@\xff\xff\x12\xffB\x06\xffxh\x00\xff\x09\xff{h\xffh\xff\xff\xff&\x00}\x03\x18F\x107\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`\x07\xff\x0c\x03\x18F\xff\xff\x16\xff{h\x1bh\x1bh\x07\xff\x0c\x02\x0a!xh\xffG{h\x043\x18F\xff\xff{\xff\x02F{h\xff\xff\xff!\x00\xff\x187\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`\x07\xff\x0c\x03\x18F\xff\xff\xff\xff\x00}\x03{b{j\x18+c\xffzh{j\x03\xff\xffs\xff\x00\x13D[h\x00+V\xffzh{j\x03\xff\xffs\xff\x00\x13D[h\xffh\xff\xff;\xffzh{j\x03\xff\xffs\xff\x00\x13D[h\x1bh{azh{j\x03\xff\xffs\xff\x00\x13D[hYhzh{j\x03\xff\xffs\xff\x00\x13D[h[h\x1bh\x083\x1bh\x08F\xffG\x03F\xffazh{j\x03\xff\xffs\xff\x00\x13D[hYhzh{j\x03\xff\xffs\xff\x00\x13D[h[h\x1bh\x0c3\x1bh\x08F\xffG\x03F\xffaO\xff\x00s;b{h\x1bh\x1chzh{j\x03\xff\xffs\xff\x00\x13D[h\x18F\xff\xff\xff\xff\x01F\x07\xff\x0c\x03\x1aFxh\xffG{j\x013{b\xff\xff\x00}\x03{b{j\x18+_\xff{hzj\x02\xff\xffrS\xff"0\x00+S\xff{hzj\x02\xff\xffrS\xff"0[h\xff\xff;\xff{hzj\x02\xff\xffrS\xff"0\xffh{a{hzj\x02\xff\xffrS\xff"\x10{hzj\x02\xff\xffrS\xff"0\x1bh\x083\x1bh\x08F\xffG\x03F\xffa{hzj\x02\xff\xffrS\xff"\x10{hzj\x02\xff\xffrS\xff"0\x1bh\x0c3\x1bh\x08F\xffG\x03F\xffaO\xff\x00s;b{h\x1bh\x1ch{hzj\x02\xff\xffrS\xff"\x10{hzj\x02\xff\xffrS\xff"0\x1bh\x043\x1bh\x08F\xffG\x01F\x07\xff\x0c\x03\x1aFxh\xffG{j\x013{b\xff\xff{h\x01"\xff\xff\xff&\x00\xff,7#32 +[3.101] handleFlashPacket(): Flash write: Address= 0x8006af0, Length=2976 +[3.101] write(): <13> Tx: $OK#9a +[3.101] read(): <13> Rx: $vFlashWrite:8007690:\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`9`\x07\xff\x08\x03\x18F\xff\xff\x18\xff{h\x043\x18F\xff\xff\xff\xff\x02F{h\xff\xff\xff1\xff\x1a{a\x07\xff\x08\x039h\x18F\xff\xffw\xff\xffh{i\x15I\xff\xff\x03\x13\xff\x09\x13D\xff`9izi\x11K\xff\xff\x02\x03\xff\x09O\xffzp\x00\xff\x03\xff\xff\x1a\x0dJ\x02\xff\x03\xff\x0bD;a\x07\xff\x08\x03\x043\x19Fxh\x00\xff\xff\xff{h\x043\x18F\xff\xffU\xff\x02F{h\xff\xff\xff&\x00\xff\x187\xffF\xff\xff\x00\xff\xffMb\x10@B\x0f\x00\xff\xff\xff\xff\x00\xff\xff`\xff`z`\xffhc+\x09\xff\xffh\xff\xff\xff6\xff\xff\x01\x03\xff\xff\x00+\x01\xff\x00}\x03w\xff{h\x1bh\x1bh\xffh\x02\xffir\x072\x11Fxh\xffGxa\xffh\xff"\xff\xff\xff}\x03\xffh\xff"\xff\xff\xff}\x03{i\xff\xff\xffh\xff\xff\xff}\x03{i\xff\xff\x1b\x12\xff\xff\xffh\xff\xff\xff}\x03\xffh\xff\xff\xff}\x03\xffh\xff\xff\xff3\x13D\xff\xff\xffC\xff\xff\xffh\xff\xff\xff}\x03\xffh\xff\xff\xffh\xff\xff\xff}\x03\xffh\x1b\xff\x1b\x12\xff\xff\xffh\xff\xff\xff}\x03\x00}\x03\xffa\x05}\x03\xffa{i\x073\xffi\xffB\x0d\xff\xffh\xffi\x13D\x03\xffis\x1bx\x1aF\xffi\x13D\xffa\xffi\x013\xffa\xff\xff{i\x073{a\xffiZB\xff\xff\xff\xffX\xffSB\xff\xff{iY\x1cya\xffC\xff\xff\xffh\x13D\x0aF\xff\xff\xff}\x03{i\xff\xff\x00\x7f\x0a\xff\xffh\x18\x1d\xffh\x03\xffiszi\x19F\xff\xff\xff\xff{i\x05\xff\x05I\xffh\x00\xffI\xffO\xff\xff3\x18F 7\xffF\xff\xff\x00\xff4\xff\x00\x08\xff\xff\xff\xff\x00\xffx`9`{h\x043\x18F\xff\xff\xff\xff\xff`;h\x1ah\xffh\x15I\xff\xff\x03\x13\xff\x09\xff\x1aZ\x1e{h\xff\xff\xff!;hYh\xffh\x0fK\xff\xff\x02\x03\xff\x09O\xffzp\x00\xff\x03\xff\xff\x1a\x0cJ\x02\xff\x03\xff\xff\x1a\x0bK\x13Dzh\xff\xff\xff1{h\x03\xff\xffr{h\x03\xff\xffs\x19F\x10F\x00\xffH\xff\x00\xff\x107\xffF\xff\xff\xffMb\x10@B\x0f\x00\x00\xff\xff;\xff\xff\xff\xff\x00\xffx`9`:h\x03!xh\x00\xff\x04\xff\x00\xff\x087\xffF\xff\xff\xff\xff\xff\xff\x00\xff\xff`\x0bFz`\xffr\x07\xff\x14\x03\x18F\xff\xff\xff\xff\xffz;v{h\xffa\xffh\x1bh\x1bh\x07\xff\x14\x02\x07!\xffh\xffG\x00\xff 7\xffF\xff\xff\xff\xff\xff\xff\x0c\xffx`9`{h\x01+}\x04\xff;hO\xff\xffr\xffB\x1f\xff\x12I\x12H\xff\xff\x0f\xff\x12I\x12H\xff\xff\x0b\xff\x0fN\x10K\x04\xff\x1dF\x0f\xff\x0f\xff\xff\xff\x07\x00\xff\xff\x07\x00lF\x06\xff\x0c\x03\x0f\xff\xff\xff\x0f\x00\xff\xff\x0e\x00\x09H\xff\xff|\xff\x08H\xff\xff\xff\xff\x00\xff\x0c7\xffF\xff\xff\x00\xff\xff\x00\x00 \xff\x02\x00 d\x01\x00 \x00\x03\x00 \x1c\x03\x00 \xff\x04\x00 \xff\xff\xff\xff\x00\xffx`{h\xff\xff\xff6\x18F\x0c7\xffF]\xff\x04{pG\xff\xff\x00\xffO\xff\xffq\x01 \xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\x00\xff\x0fK\x1bl\x0eJC\xff\xffS\x13d\x0cK\x1bl\x03\xff\xffS{`{h\x09K[l\x08JC\xff\xffCSd\x06K[l\x03\xff\xffC;`;h\x00\xff\x0c7\xffF]\xff\x04{pG\x00\xff\x008\x02@\xff\xff\xff\xff\x00\xffx`\x07\xff\x1c\x03\x00"\x1a`Z`\xff`\xff`\x1aa{h\x1bh\xff\xff\xffOD\xff;K\x1bl:JC\xff\x01\x03\x13d8K\x1bl\x03\xff\x01\x03\xffa\xffi5K\x1bk4JC\xff\x01\x03\x13c2K\x1bk\x03\xff\x01\x03{a{i/K\x1bk.JC\xff\x02\x03\x13c,K\x1bk\x03\xff\x02\x03;a;i }\x03\xffa\x02}\x03;b\x00}\x03{b\x00}\x03\xffb\x01}\x03\xffb\x07\xff\x1c\x03\x19F}\x03H\xff\xff\x7f\xff\x08}\x03\xffa\x02}\x03;b\x00}\x03{b\x00}\x03\xffb\x01}\x03\xffb\x07\xff\x1c\x03\x19F\x1cH\xff\xffo\xff,\xff{h\x1bh\x1aJ\xffB'\xff\x16K\x1bl\x15JC\xff\x08\x03\x13d\x13K\x1bl\x03\xff\x08\x03\xff`\xffh\x10K\x1bk\x0fJC\xff\x01\x03\x13c\x0dK\x1bk\x03\xff\x01\x03\xff`\xffh\x03}\x03\xffa\x02}\x03;b\x00}\x03{b\x00}\x03\xffb\x02}\x03\xffb\x07\xff\x1c\x03\x19F\x04H\xff\xffA\xff\x00\xff07\xffF\xff\xff\x00\xff\x008\x02@\x00\x00\x02@\x00\x04\x02@\x00\x0c\x00@\xff\xff\xff\xff\x00\xffx`{h\x1bh\x0dJ\xffB\x13\xff\x0dK\x1bl\x0cJC\xff\x02\x03\x13d\x0aK\x1bl\x03\xff\x02\x03\xff`\xffh\x00"\x00!\x1d \xff\xffK\xff\x1d \xff\xffd\xff\x00\xff\x107\xffF\xff\xff\x00\xff\x00\x04\x00@\x008\x02@\xff\xff\xff\xff\x00\xffx`{h\x1bh\x0aJ\xffB\x0b\xff\x0aK\x1bl\x09JC\xff\x04\x03\x13d\x07K\x1bl\x03\xff\x04\x03\xff`\xffh\x00\xff\x147\xffF]\xff\x04{pG\x00\xff\x00\x08\x00@\x008\x02@\xff\xff\xff\xff\x00\xffx`\x07\xff\x0c\x03\x00"\x1a`Z`\xff`\xff`\x1aa{h\x1bh\x11J\xffB\x1c\xff\x11K\x1bk\x10JC\xff\x08\x03\x13c\x0eK\x1bk\x03\xff\x08\x03\xff`\xffhO\xff@C\xff`\x02}\x03;a\x00}\x03{a\x00}\x03\xffa\x02}\x03\xffa\x07\xff\x0c\x03\x19F\x05H\xff\xff\xff\xff\x00\xff 7\xffF\xff\xff\x00\x08\x00@\x008\x02@\x00\x0c\x02@\xff\xff\xff\xff\x00\xffx`\x07\xff\x14\x03\x00"\x1a`Z`\xff`\xff`\x1aa{h\x1bhKJ\xffB@\xff\xff\xffJK\x1blIJC\xff\xff}\x03\x13dGK\x1bl\x03\xff\xff}\x03;a;iDK\x1bkCJC\xff\x08\x03\x13cAK\x1bk\x03\xff\x08\x03\xff`\xffhO\xff@s{a\x02}\x03\xffa\x00}\x03\xffa\x03}\x03;b\x07}\x03{b\x07\xff\x14\x03\x19F8H\xff\xff{\xff8K8J\x1a`6KO\xff\x00bZ`4K\x00"\xff`3K\x00"\xff`1KO\xff\xffb\x1aa/K\x00"Za.K\x00"\xffa,K\x00"\xffa+KO\xff\x002\x1ab)K\x00"Zb'H\xff\xff\xff\xff\x03F\x00+\x01\xff\xff\xff\xff\xff{h}\x03J\xfff"J{h\xffc"K}\x03J\x1a`!KO\xff\x00bZ`\x1fK@"\xff`\x1dK\x00"\xff`\x1cKO\xff\xffb\x1aa\x1aK\x00"Za\x18K\x00"\xffa\x17K\x00"\xffa\x15KO\xff\x002\x1ab\x13K\x00"Zb\x12H\xff\xff\xff\xff\x03F\x00+\x01\xff\xff\xff\xff\xff{h\x0dJ\xfff\x0cJ{h\xffc\x00"\x00!' \xff\xffI\xff' \xff\xffb\xff\x00\xff(7\xffF\xff\xff\x00\xff\x00H\x00@\x008\x02@\x00\x0c\x02@}\x04\x02\x00 (`\x02@\xff\x02\x00 X`\x02@\xff\xff\x00\xff\x00\xff\xffF]\xff\x04{pG\xff\xff\x00\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\x00\xff\x00\xff\xffF]\xff\x04{pG\xff\xff\x00\xff\x00\xff\xffF]\xff\x04{pG\xff\xff\x00\xff\x00\xff\xffF]\xff\x04{pG\xff\xff\x00\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\x00\xff\x02H\xff\xffg\xff\x00\xff\xff\xff\x00\xff}\x04\x02\x00 \xff\xff\x00\xff\x02H\xff\xff]\xff\x00\xff\xff\xff\x00\xff\xff\x02\x00 \xff\xff\x00\xff\x02H\xff\xff0\xff\x00\xff\xff\xff\x00\xff\xff\x00\x00 \xff\xff\x00\xff\x02H\xff\xffW\xff\x00\xff\xff\xff\x00\xff\xff\x01\x00 \xff\xff\x00\xff\x01}\x03\x18F\xffF]\xff\x04{pG\xff\xff\xff\xff\x00\xffx`9`\x00\xff\xff\xff\x02F\x16}\x03\x13`O\xff\xff3\x18F\x087\xffF\xff\xff\xff\xff\xff\xff\x00\xffx`O\xff\xff1xh\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\xffx`\x11K\x1bh\x00+\x02\xff\x0fK\x10J\x1a`\x0eK\x1bh\xff`\x0cK\x1ah{h\x13DjF\xffB\x07\xff\x00\xff\xff\xff\x02F\x0c}\x03\x13`O\xff\xff3\x06\xff\x05K\x1ah{h\x13D\x03J\x13`\xffh\x18F\x107\xffF\xff\xff\xff\x0b\x00 \xff\x0b\x00 \xff\xff\x00\xff\x15K\xff\xff\xff0\x14JC\xffp\x03\xff\xff\xff0\x12K\x1bh\x11JC\xff\x01\x03\x13`\x0fK\x00"\xff`\x0eK\x1ah\x0dI\x0dK\x13@\x0b`\x0bK\x0cJZ`\x09K\x1bh\x08J}\x03\xff\xff}\x03\x13`\x06K\x00"\xff`\x04KO\xff\x00b\xff`\x00\xff\xffF]\xff\x04{pG\x00\xff\x00\xff\x008\x02@\xff\xff\xff\xff\x100\x00}\x04\xff\xff\xff\xff\x00\xffx`9`;h\x1bhZ\x0a\x0fI\xff\xff\x02\x12\xff\x09\x0eI\x01\xff\x02\xff\xff\x1a\xff`;h\x1bh[\x0a\x09J\xff\xff\x03}\x03\xff\x09\xff`{h\x1ah\xffh\x1aD{h\x1a`;h\xffh\x1a`\x00\xff\x147\xffF]\xff\x04{pG\xffK\x04\x00\x00\xff\xff;\xff\xff4\xff\x00!\x03\xff\x0cK[XCP\x041\x0bH\x0cKB\x18\xffB\xff\xff\x0bJ\x02\xff\x00}\x03B\xff\x04;\x09K\xffB\xff\xff\xff\xff\xff\xff\x00\xff1\xff\xff\xff\xff\xffpG\x00\x00\x08 P\xff\x00\x08\x00\x00\x00 \xff\x00\x00 \xff\x00\x00 \xff\x0b\x00 \xff\xff\x08\xff\x00\xff\x0c\xff\x08\xff\xffG\x00\xff\x0d\xff\x02K\x18h\xff\xff[\xffpG\x00\xff\x1c\x00\x00 \x08\xff\xff\xff\xff\xff\xff\xff\xff\xff\x08\xff\x06 \x00\xffq\xff\x01 \xff\xff}\x04\xff\x01K\x18hpG\x00\xff \x00\x00 p\xff\x0dN\x0dL\xff\x1b\xff\x10\x00%\xffB\x09\xff\x0bN\x0cL\x00\xff`\xff\xff\x1b\xff\x10\x00%\xffB\x05\xffp\xffV\xff%0\xffG\x015\xff\xffV\xff%0\xffG\x015\xff\xffD\xff\x00\x08D\xff\x00\x08D\xff\x00\x08L\xff\x00\x08\x10\xffC\x1e\x0aD\xffB\x00\xff\x10\xff\x11\xff\x01K\x03\xff\x01O\xff\xff\x02D\x03F\xffB\x00\xffpG\x03\xff\x01\x1b\xff\xff\x00\x00\x02K\x0aF\x01F\x18h\x00\xff\xff\xff \x00\x00 \x1f)8\xff\x04F\x0dF\x04\xff\x16}\x03\x03`O\xff\xff08\xffBl\x12\xffR\xff!0K\xff F\x00\xff0\xff}\x0aF\x01F F\xff\xff8@\x00\xff\x17\xff\x01+\x0a\xffY\x1c\x03\xff\x16}\x03\x03`\x01 \xff\xff\x00}\x04B\xff%@(F\xffG\x00 \xff\xff\x02K\x01F\x18h\xff\xff\xff\xff\x00\xff \x00\x00 8\xff\x07L\x00}\x03\x05F\x08F\x11F}\x03`\xff\xff\xff\xffC\x1c\x02\xff}\x03h\x03\xff+`8\xff\x00\xff\xff\x0b\x00 \xff\xff\xff\xffp\xff\xff\x1c%\xff\x03\x05\x085\x0c-8\xff\x0c%\x00-\x06F\x01\xff\xffB\x03\xff\x0c}\x033`\x00 p\xff\x00\xff}]\xff!J\x14h!F\xff\xff L}\x03h\x1b\xff0F\x00\xffc\xff `)F0F\x00\xff^\xffC\x1c}\x04\xff\x0c}\x033`0F\x00\xffh\xff\xff\xff\x0bh[\x1b\x18\xff\x0b+\x0f\xff\x0b`\xffP\xff\x180F\x00\xff\\\xff\x04\xff\x0b\x00}\x03\x1d \xff\x07\x00\xff\x1a\xff\xffZB\xffP\xff\xff\xffBKh\x16\xffc`\x13`\x0cF\xff\xff\x0cFIh\xff\xff\xff\x1c}\x04\xff\x03\x04\xffB\x05\xff!\x1a0F\x00\xff.\xff\x010\xff\xff%`\xff\xff\xff\x0b\x00 \xff\x0b\x00 \xff\xff\x07F\x14F\x0eF!\xff\x11F\xff\xff\xff@\xff\xff\xff\xff"\xff\x00\xff+\xff%F(F\xff\xff\x00\xfft\xff\xffB\x0f\xff!F8F\xff\xff\xff\xff\x05F\x00(\xff\xff1F"F\xff\xff#dd +[3.101] handleFlashPacket(): Flash write: Address= 0x8007690, Length=2976 +[3.101] write(): <13> Tx: $OK#9a +[3.101] read(): <13> Rx: $vFlashWrite:8008230:'\xff1F8F\x00\xff\x15\xff\xff\xff5F\xff\xff8\xff\x06L\x00}\x03\x05F\x08F}\x03`\xff\xff\x1c\xffC\x1c\x02\xff}\x03h\x03\xff+`8\xff\xff\x0b\x00 pGpG8\xff\x05F\x00)E\xffQ\xff\x04<\x0c\x1f\x00+\xff\xff\xff\x18\xff\xff\xff\xff\x1fJ\x13h\x10F3\xffc`\x14`(F\xff\xff8@\xff\xff\xff\xff\xffB\x0c\xff!hb\x18\xffB\x04\xff\x1ah[hc`\x04\xffR\x18"`\x04`\xff\xff\x13FZh\x0a\xff\xffB\xff\xff\x19hX\x18\xffB\x0b\xff h\x01DX\x18\xffB\x19`\xff\xff\x10hRhZ`\x01D\x19`\xff\xff\x02\xff\x0c}\x03+`\xff\xff h!\x18\xffB\x04\xff\x11hRhb`\x04\xff\x09\x18!`\\`\xff\xff8\xff\x00\xff\xff\x0b\x00 Q\xff\x04<\x18\x1f\x00+\xff\xff\x0bX\xff\x18pG\xff\xff\x00\xff\xff\xff\x08\xff\xffFpG\xff\xff\x00\xff\xff\xff\x08\xff\xffFpG#64 +[3.101] handleFlashPacket(): Flash write: Address= 0x8008230, Length=248 +[3.101] write(): <13> Tx: $OK#9a +[3.102] read(): <13> Rx: $vFlashWrite:8008328:\x00\x00\x00\x00std_msgs/Header\x002176decaecbce78abc3b96ef049fabed\x00\x00\x00\x00geometry_msgs/Point\x004a842b65f413084dc2b10fb484ea7f17\x00\x00\x00\x00geometry_msgs/Quaternion\x00\x00\x00\x00a779879fadf0160734f906b8c19c7004\x00\x00\x00\x00geometry_msgs/Pose\x00\x00e45d45a5a1ce597b249e23fb30fc871f\x00\x00\x00\x00geometry_msgs/PoseWithCovariance\x00\x00\x00\x00c23e848cf1b7533a8d7c259073a97e6f\x00\x00\x00\x00geometry_msgs/Vector3\x00\x00\x00geometry_msgs/Twist\x009f195f881246fdfa2798d1d3eebca84a\x00\x00\x00\x00geometry_msgs/TwistWithCovariance\x00\x00\x001fe8a28e6890a4cc3ae4c3ca5c7d82e6\x00\x00\x00\x00nav_msgs/Odometry\x00\x00\x00cd5e73d190d741a2f92e81eda573aca7\x00\x00\x00\x00std_msgs/Time\x00\x00\x00cd7166c74c552c311fbcc2fe5a7bc289\x00\x00\x00\x00rosserial_msgs/TopicInfo\x00\x00\x00\x000ad51f88fc44892f8c10684077646005\x00\x00\x00\x00rosserial_msgs/Log\x00\x0011abd731c25933261cd6183bd12d6295\x00\x00\x00\x009f0e98bda65981986ddf53afa7a40e49\x00\x00\x00\x00std_msgs/String\x00992ce8a1687cec8c8bd883ec73ca41d1\x00\x00\x00\x00chatter\x00Message from device dropped: message larger than buffer.\x00\x00\x00\x00\x00\x06\x10\x16\x00\x06\x10\x16rosserial_msgs/RequestParam\x00\x00\x00\x00\x00\x00\x00\x00\x00-w\x00\x08\xffp\x00\x08\xffy\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x05f\x00\x08Wf\x00\x08\xfff\x00\x08\xfff\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\xff]\x00\x08\x0b`\x00\x08\xffb\x00\x08\x09c\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00u\\\x00\x08\xff\\\x00\x08i]\x00\x08\xff]\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x01Y\x00\x087Z\x00\x08\x09\\\x00\x08%\\\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x09W\x00\x08\xffW\x00\x08\xffX\x00\x08\xffX\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\xffT\x00\x08oU\x00\x089V\x00\x08UV\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\xffS\x00\x08\xffS\x00\x08MT\x00\x08iT\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00qR\x00\x08\xffR\x00\x08\x05S\x00\x08!S\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00)Q\x00\x08\xffQ\x00\x08\x01R\x00\x08\x1dR\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\xffO\x00\x08SP\x00\x08\xffP\x00\x08\xffP\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\xffN\x00\x08\x1fO\x00\x08iO\x00\x08\xffO\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00UM\x00\x08\xffM\x00\x08eN\x00\x08\xffN\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x01L\x00\x08sL\x00\x08\xffL\x00\x08\xffL\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\xffH\x00\x08\x0dJ\x00\x08\xffK\x00\x08\xffK\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\xff\x7f\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x01\x02\x03\x04\x06\x07\x08\x09\x00\x00\x00\x00\x01\x02\x03\x04#f3 +[3.102] handleFlashPacket(): Flash write: Address= 0x8008328, Length=1300 +[3.102] write(): <13> Tx: $OK#9a +[3.102] read(): <13> Rx: $vFlashWrite:800883c: Tx: $OK#9a +[3.102] read(): <13> Rx: $vFlashWrite:8008844:\x1d\x02\x00\x08\xffy\x00\x08#b6 +[3.102] handleFlashPacket(): Flash write: Address= 0x8008844, Length=8 +[3.102] write(): <13> Tx: $OK#9a +[3.102] read(): <13> Rx: $vFlashWrite:800884c:\xff\x01\x00\x08#84 +[3.102] handleFlashPacket(): Flash write: Address= 0x800884c, Length=4 +[3.102] write(): <13> Tx: $OK#9a +[3.102] read(): <13> Rx: $vFlashWrite:8008850:\x10\x00\x00\x00\x01\x00\x00\x00Hello world!\x00\x00\x00\x00\x00}\x04\xff\x00\x1f\xff\x00\x08}\x04\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00#7b +[3.102] handleFlashPacket(): Flash write: Address= 0x8008850, Length=132 +[3.102] write(): <13> Tx: $OK#9a +[3.102] read(): <13> Rx: $vFlashDone#ea +[3.102] handleFlashPacket(): Writing to /tmp/ST-LINK_GDB_server_ubn41Z.srec +[3.107] spawnCubeProgrammer(): ------ Switching to STM32CubeProgrammer ----- +[3.107] file_utils_spawn(): Spawning /opt/st/stm32cubeide_1.1.0/plugins/com.st.stm32cube.ide.mcu.externaltools.cubeprogrammer.linux64_1.1.0.201910081157/tools/bin/STM32_Programmer_CLI --connect port=SWD mode=UR reset=hwRst --download /tmp/ST-LINK_GDB_server_ubn41Z.srec --verify --log /tmp/STM32CubeProgrammer_wxJIQY.log +[4.775] file_utils_spawn(): Return code 0 +[4.776] spawnCubeProgrammer(): 11:52:12:740 ------------------------------------------------------------------- +[4.776] spawnCubeProgrammer(): 11:52:12:740 STM32CubeProgrammer v2.2.0 +[4.776] spawnCubeProgrammer(): 11:52:12:740 ------------------------------------------------------------------- +[4.776] spawnCubeProgrammer(): +[4.776] spawnCubeProgrammer(): 11:52:12:740 +[4.776] spawnCubeProgrammer(): +[4.776] spawnCubeProgrammer(): 11:52:12:740 Log output file: /tmp/STM32CubeProgrammer_wxJIQY.log +[4.776] spawnCubeProgrammer(): 11:52:12:744 STLinkUSBDriver.dll loaded +[4.776] spawnCubeProgrammer(): 11:52:12:745 STLinkUSBDriver.dll loaded +[4.776] spawnCubeProgrammer(): 11:52:12:745 STLinkUSBDriver.dll loaded +[4.776] spawnCubeProgrammer(): 11:52:12:745 ST-LINK SN : 0666FF515254667867215328 +[4.776] spawnCubeProgrammer(): 11:52:12:745 ST-LINK FW : V2J35M26 +[4.776] spawnCubeProgrammer(): 11:52:12:745 Voltage : 3,27V +[4.776] spawnCubeProgrammer(): 11:52:12:751 SWD freq : 4000 KHz +[4.776] spawnCubeProgrammer(): 11:52:12:751 Connect mode: Under Reset +[4.776] spawnCubeProgrammer(): 11:52:12:751 Reset mode : Hardware reset +[4.776] spawnCubeProgrammer(): 11:52:12:814 Device ID : 0x451 +[4.776] spawnCubeProgrammer(): 11:52:12:964 Reading data... +[4.776] spawnCubeProgrammer(): 11:52:12:965 r ap 0 @0x40023C14 0x00000004 bytes +[4.776] spawnCubeProgrammer(): 11:52:12:966 Database: Config 0 is active. +[4.776] spawnCubeProgrammer(): 11:52:12:982 flash loader /opt/st/stm32cubeide_1.1.0/plugins/com.st.stm32cube.ide.mcu.externaltools.cubeprogrammer.linux64_1.1.0.201910081157/tools/bin/FlashLoader/0x451.stldr is loaded +[4.776] spawnCubeProgrammer(): 11:52:12:982 Reading data... +[4.776] spawnCubeProgrammer(): 11:52:12:982 r ap 0 @0x40023C14 0x00000004 bytes +[4.776] spawnCubeProgrammer(): 11:52:12:982 Database: Config 0 is active. +[4.776] spawnCubeProgrammer(): 11:52:12:983 Device name : STM32F76x/STM32F77x +[4.776] spawnCubeProgrammer(): 11:52:12:983 Flash size : 2 MBytes +[4.776] spawnCubeProgrammer(): 11:52:12:983 Device type : MCU +[4.776] spawnCubeProgrammer(): 11:52:12:983 Device CPU : Cortex-M7 +[4.776] spawnCubeProgrammer(): 11:52:12:983 +[4.776] spawnCubeProgrammer(): 11:52:12:983 +[4.776] spawnCubeProgrammer(): +[4.776] spawnCubeProgrammer(): 11:52:12:984 Memory Programming ... +[4.776] spawnCubeProgrammer(): 11:52:12:984 Opening and parsing file: ST-LINK_GDB_server_ubn41Z.srec +[4.776] spawnCubeProgrammer(): 11:52:12:984 File : ST-LINK_GDB_server_ubn41Z.srec +[4.776] spawnCubeProgrammer(): 11:52:12:984 Size : 35028 Bytes +[4.776] spawnCubeProgrammer(): 11:52:12:984 Address : 0x08000000 +[4.776] spawnCubeProgrammer(): 11:52:12:985 +[4.776] spawnCubeProgrammer(): +[4.776] spawnCubeProgrammer(): 11:52:12:985 Erasing Segment <0> Address <0x08000000> Size <35028>Bytes +[4.776] spawnCubeProgrammer(): 11:52:12:985 Erasing memory corresponding to segment 0: +[4.776] spawnCubeProgrammer(): 11:52:13:047 Memory erase... +[4.776] spawnCubeProgrammer(): 11:52:13:119 halt ap 0 +[4.776] spawnCubeProgrammer(): 11:52:13:119 w ap 0 reg 15 PC (0x20000000) +[4.776] spawnCubeProgrammer(): 11:52:13:120 w ap 0 reg 17 MSP (0x20000500) +[4.776] spawnCubeProgrammer(): 11:52:13:120 w ap 0 reg 16 xPSR (0x01000000) +[4.776] spawnCubeProgrammer(): 11:52:13:124 w ap 0 @0x20001100 0x00000200 bytes +[4.776] spawnCubeProgrammer(): 11:52:13:124 w ap 0 @0x20000000 0x00000004 bytes +[4.776] spawnCubeProgrammer(): 11:52:13:146 w ap 0 @0x20000004 0x00000CD4 bytes +[4.776] spawnCubeProgrammer(): 11:52:13:146 Erasing internal memory sectors [0 1] +[4.776] spawnCubeProgrammer(): 11:52:13:146 Init flashloader... +[4.776] spawnCubeProgrammer(): 11:52:13:147 halt ap 0 +[4.776] spawnCubeProgrammer(): 11:52:13:147 w ap 0 reg 0 R0 0x00000001 +[4.776] spawnCubeProgrammer(): 11:52:13:148 w ap 0 reg 1 R1 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:148 w ap 0 reg 2 R2 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:148 w ap 0 reg 3 R3 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:149 w ap 0 reg 4 R4 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:149 w ap 0 reg 5 R5 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:150 w ap 0 reg 6 R6 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:150 w ap 0 reg 7 R7 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:150 w ap 0 reg 8 R8 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:151 w ap 0 reg 9 R9 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:151 w ap 0 reg 10 R10 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:152 w ap 0 reg 11 R11 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:152 w ap 0 reg 12 R12 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:152 w ap 0 reg 13 SP 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:153 w ap 0 reg 14 LR 0x20000001 +[4.776] spawnCubeProgrammer(): 11:52:13:153 w ap 0 reg 15 PC 0x20000005 +[4.776] spawnCubeProgrammer(): 11:52:13:154 w ap 0 reg 16 xPSR 0x01000000 +[4.776] spawnCubeProgrammer(): 11:52:13:154 w ap 0 reg 17 MSP 0x200010D4 +[4.776] spawnCubeProgrammer(): 11:52:13:155 w ap 0 reg 18 PSP 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:155 run ap 0 +[4.776] spawnCubeProgrammer(): 11:52:13:156 halt ap 0 +[4.776] spawnCubeProgrammer(): 11:52:13:156 r ap 0 reg 0 R0 0x00000001 +[4.776] spawnCubeProgrammer(): 11:52:13:156 Loader sector erase... +[4.776] spawnCubeProgrammer(): 11:52:13:157 w ap 0 reg 0 R0 0x08000000 +[4.776] spawnCubeProgrammer(): 11:52:13:157 w ap 0 reg 1 R1 0x08008000 +[4.776] spawnCubeProgrammer(): 11:52:13:157 w ap 0 reg 2 R2 0x00000002 +[4.776] spawnCubeProgrammer(): 11:52:13:158 w ap 0 reg 3 R3 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:158 w ap 0 reg 4 R4 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:158 w ap 0 reg 5 R5 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:159 w ap 0 reg 6 R6 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:159 w ap 0 reg 7 R7 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:159 w ap 0 reg 8 R8 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:159 w ap 0 reg 9 R9 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:160 w ap 0 reg 10 R10 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:160 w ap 0 reg 11 R11 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:161 w ap 0 reg 12 R12 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:161 w ap 0 reg 13 SP 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:161 w ap 0 reg 14 LR 0x20000001 +[4.776] spawnCubeProgrammer(): 11:52:13:162 w ap 0 reg 15 PC 0x20000281 +[4.776] spawnCubeProgrammer(): 11:52:13:162 w ap 0 reg 16 xPSR 0x01000000 +[4.776] spawnCubeProgrammer(): 11:52:13:162 w ap 0 reg 17 MSP 0x200010D4 +[4.776] spawnCubeProgrammer(): 11:52:13:163 w ap 0 reg 18 PSP 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:163 run ap 0 +[4.776] spawnCubeProgrammer(): 11:52:13:547 halt ap 0 +[4.776] spawnCubeProgrammer(): 11:52:13:547 r ap 0 reg 0 R0 0x00000001 +[4.776] spawnCubeProgrammer(): 11:52:13:547 erase: 0562ms +[4.776] spawnCubeProgrammer(): 11:52:13:560 Download in Progress: +[4.776] spawnCubeProgrammer(): 11:52:13:560 Size : 35040 Bytes +[4.776] spawnCubeProgrammer(): 11:52:13:560 Address : 0x08000000 +[4.776] spawnCubeProgrammer(): 11:52:13:560 +[4.776] spawnCubeProgrammer(): +[4.776] spawnCubeProgrammer(): 11:52:13:618 Buffer program... +[4.776] spawnCubeProgrammer(): 11:52:13:688 halt ap 0 +[4.776] spawnCubeProgrammer(): 11:52:13:688 w ap 0 reg 15 PC (0x20000000) +[4.776] spawnCubeProgrammer(): 11:52:13:689 w ap 0 reg 17 MSP (0x20000500) +[4.776] spawnCubeProgrammer(): 11:52:13:689 w ap 0 reg 16 xPSR (0x01000000) +[4.776] spawnCubeProgrammer(): 11:52:13:693 w ap 0 @0x20001100 0x00000200 bytes +[4.776] spawnCubeProgrammer(): 11:52:13:693 w ap 0 @0x20000000 0x00000004 bytes +[4.776] spawnCubeProgrammer(): 11:52:13:716 w ap 0 @0x20000004 0x00000CD4 bytes +[4.776] spawnCubeProgrammer(): 11:52:13:716 Loader write range... +[4.776] spawnCubeProgrammer(): 11:52:13:835 w ap 0 @0x20001100 0x00004480 bytes +[4.776] spawnCubeProgrammer(): 11:52:13:835 W B1 in RAM @0x20001100 size 0x00004480 : 0119ms +[4.776] spawnCubeProgrammer(): 11:52:13:835 Init flashloader... +[4.776] spawnCubeProgrammer(): 11:52:13:836 halt ap 0 +[4.776] spawnCubeProgrammer(): 11:52:13:836 w ap 0 reg 0 R0 0x00000001 +[4.776] spawnCubeProgrammer(): 11:52:13:837 w ap 0 reg 1 R1 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:838 w ap 0 reg 2 R2 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:838 w ap 0 reg 3 R3 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:839 w ap 0 reg 4 R4 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:839 w ap 0 reg 5 R5 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:840 w ap 0 reg 6 R6 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:840 w ap 0 reg 7 R7 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:841 w ap 0 reg 8 R8 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:842 w ap 0 reg 9 R9 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:842 w ap 0 reg 10 R10 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:842 w ap 0 reg 11 R11 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:843 w ap 0 reg 12 R12 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:843 w ap 0 reg 13 SP 0x00000000 +[4.776] spawnCubeProgrammer(): 11:52:13:844 w ap 0 reg 14 LR 0x20000001 +[4.776] spawnCubeProgrammer(): 11:52:13:844 w ap 0 reg 15 PC 0x20000005 +[4.776] spawnCubeProgrammer(): 11:52:13:845 w ap 0 reg 16 xPSR 0x01000000 +[4.776] spawnCubeProgrammer(): 11:52:13:845 w ap 0 reg 17 MSP 0x200010D4 +[4.777] spawnCubeProgrammer(): 11:52:13:846 w ap 0 reg 18 PSP 0x00000000 +[4.777] spawnCubeProgrammer(): 11:52:13:846 run ap 0 +[4.777] spawnCubeProgrammer(): 11:52:13:846 halt ap 0 +[4.777] spawnCubeProgrammer(): 11:52:13:847 r ap 0 reg 0 R0 0x00000001 +[4.777] spawnCubeProgrammer(): 11:52:13:847 w ap 0 reg 0 R0 0x08000000 +[4.777] spawnCubeProgrammer(): 11:52:13:848 w ap 0 reg 1 R1 0x00004480 +[4.777] spawnCubeProgrammer(): 11:52:13:848 w ap 0 reg 2 R2 0x20001100 +[4.777] spawnCubeProgrammer(): 11:52:13:849 w ap 0 reg 3 R3 0x00000002 +[4.777] spawnCubeProgrammer(): 11:52:13:849 w ap 0 reg 4 R4 0x00000000 +[4.777] spawnCubeProgrammer(): 11:52:13:850 w ap 0 reg 5 R5 0x00000000 +[4.777] spawnCubeProgrammer(): 11:52:13:851 w ap 0 reg 6 R6 0x00000000 +[4.777] spawnCubeProgrammer(): 11:52:13:851 w ap 0 reg 7 R7 0x00000000 +[4.777] spawnCubeProgrammer(): 11:52:13:852 w ap 0 reg 8 R8 0x00000000 +[4.777] spawnCubeProgrammer(): 11:52:13:853 w ap 0 reg 9 R9 0x00000000 +[4.777] spawnCubeProgrammer(): 11:52:13:853 w ap 0 reg 10 R10 0x00000000 +[4.777] spawnCubeProgrammer(): 11:52:13:854 w ap 0 reg 11 R11 0x00000000 +[4.777] spawnCubeProgrammer(): 11:52:13:855 w ap 0 reg 12 R12 0x00000000 +[4.777] spawnCubeProgrammer(): 11:52:13:855 w ap 0 reg 13 SP 0x00000000 +[4.777] spawnCubeProgrammer(): 11:52:13:856 w ap 0 reg 14 LR 0x20000001 +[4.777] spawnCubeProgrammer(): 11:52:13:857 w ap 0 reg 15 PC 0x20000051 +[4.777] spawnCubeProgrammer(): 11:52:13:857 w ap 0 reg 16 xPSR 0x01000000 +[4.777] spawnCubeProgrammer(): 11:52:13:858 w ap 0 reg 17 MSP 0x200010D4 +[4.777] spawnCubeProgrammer(): 11:52:13:858 w ap 0 reg 18 PSP 0x00000000 +[4.777] spawnCubeProgrammer(): 11:52:13:858 run ap 0 +[4.777] spawnCubeProgrammer(): 11:52:14:000 w ap 0 @0x20005580 0x00004460 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:000 W B2 in RAM @0x20040700 size 0x00004460: 0165ms +[4.777] spawnCubeProgrammer(): 11:52:14:000 r ap 0 reg 0 R0 0x00000001 +[4.777] spawnCubeProgrammer(): 11:52:14:001 Wait W B1 in Flash @0x08000000 size 0x00004480: 0001ms +[4.777] spawnCubeProgrammer(): 11:52:14:001 w ap 0 reg 0 R0 0x08004480 +[4.777] spawnCubeProgrammer(): 11:52:14:001 w ap 0 reg 1 R1 0x00004460 +[4.777] spawnCubeProgrammer(): 11:52:14:002 w ap 0 reg 2 R2 0x20005580 +[4.777] spawnCubeProgrammer(): 11:52:14:002 w ap 0 reg 3 R3 0x00000002 +[4.777] spawnCubeProgrammer(): 11:52:14:002 w ap 0 reg 4 R4 0x00000000 +[4.777] spawnCubeProgrammer(): 11:52:14:003 w ap 0 reg 5 R5 0x00000000 +[4.777] spawnCubeProgrammer(): 11:52:14:003 w ap 0 reg 6 R6 0x00000000 +[4.777] spawnCubeProgrammer(): 11:52:14:004 w ap 0 reg 7 R7 0x00000000 +[4.777] spawnCubeProgrammer(): 11:52:14:004 w ap 0 reg 8 R8 0x00000000 +[4.777] spawnCubeProgrammer(): 11:52:14:004 w ap 0 reg 9 R9 0x00000000 +[4.777] spawnCubeProgrammer(): 11:52:14:005 w ap 0 reg 10 R10 0x00000000 +[4.777] spawnCubeProgrammer(): 11:52:14:005 w ap 0 reg 11 R11 0x00000000 +[4.777] spawnCubeProgrammer(): 11:52:14:005 w ap 0 reg 12 R12 0x00000000 +[4.777] spawnCubeProgrammer(): 11:52:14:006 w ap 0 reg 13 SP 0x00000000 +[4.777] spawnCubeProgrammer(): 11:52:14:006 w ap 0 reg 14 LR 0x20000001 +[4.777] spawnCubeProgrammer(): 11:52:14:007 w ap 0 reg 15 PC 0x20000051 +[4.777] spawnCubeProgrammer(): 11:52:14:007 w ap 0 reg 16 xPSR 0x01000000 +[4.777] spawnCubeProgrammer(): 11:52:14:007 w ap 0 reg 17 MSP 0x200010D4 +[4.777] spawnCubeProgrammer(): 11:52:14:008 w ap 0 reg 18 PSP 0x00000000 +[4.777] spawnCubeProgrammer(): 11:52:14:008 run ap 0 +[4.777] spawnCubeProgrammer(): 11:52:14:134 r ap 0 reg 0 R0 0x00000001 +[4.777] spawnCubeProgrammer(): 11:52:14:134 Write elapsed time: 0418ms +[4.777] spawnCubeProgrammer(): 11:52:14:134 Segment[0] downloaded successfully +[4.777] spawnCubeProgrammer(): 11:52:14:134 +[4.777] spawnCubeProgrammer(): +[4.777] spawnCubeProgrammer(): 11:52:14:134 File download complete +[4.777] spawnCubeProgrammer(): 11:52:14:134 Time elapsed during download operation: 00:00:01.150 +[4.777] spawnCubeProgrammer(): 11:52:14:134 +[4.777] spawnCubeProgrammer(): +[4.777] spawnCubeProgrammer(): 11:52:14:134 +[4.777] spawnCubeProgrammer(): Verifying ... +[4.777] spawnCubeProgrammer(): 11:52:14:134 +[4.777] spawnCubeProgrammer(): +[4.777] spawnCubeProgrammer(): 11:52:14:134 Read progress: +[4.777] spawnCubeProgrammer(): 11:52:14:134 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:153 r ap 0 @0x08000000 0x00000400 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:153 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:160 r ap 0 @0x08000400 0x00000400 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:160 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:167 r ap 0 @0x08000800 0x00000400 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:167 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:174 r ap 0 @0x08000C00 0x00000400 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:174 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:181 r ap 0 @0x08001000 0x00000400 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:181 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:188 r ap 0 @0x08001400 0x00000400 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:188 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:195 r ap 0 @0x08001800 0x00000400 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:195 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:202 r ap 0 @0x08001C00 0x00000400 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:202 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:209 r ap 0 @0x08002000 0x00000400 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:210 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:216 r ap 0 @0x08002400 0x00000400 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:217 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:223 r ap 0 @0x08002800 0x00000400 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:223 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:230 r ap 0 @0x08002C00 0x00000400 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:230 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:237 r ap 0 @0x08003000 0x00000400 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:237 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:244 r ap 0 @0x08003400 0x00000400 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:244 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:251 r ap 0 @0x08003800 0x00000400 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:251 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:259 r ap 0 @0x08003C00 0x00000400 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:259 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:266 r ap 0 @0x08004000 0x00000400 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:266 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:273 r ap 0 @0x08004400 0x00000400 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:273 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:280 r ap 0 @0x08004800 0x00000400 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:280 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:287 r ap 0 @0x08004C00 0x00000400 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:287 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:294 r ap 0 @0x08005000 0x00000400 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:294 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:301 r ap 0 @0x08005400 0x00000400 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:301 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:308 r ap 0 @0x08005800 0x00000400 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:308 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:315 r ap 0 @0x08005C00 0x00000400 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:316 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:322 r ap 0 @0x08006000 0x00000400 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:323 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:329 r ap 0 @0x08006400 0x00000400 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:330 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:337 r ap 0 @0x08006800 0x00000400 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:337 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:344 r ap 0 @0x08006C00 0x00000400 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:344 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:351 r ap 0 @0x08007000 0x00000400 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:351 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:358 r ap 0 @0x08007400 0x00000400 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:358 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:365 r ap 0 @0x08007800 0x00000400 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:365 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:372 r ap 0 @0x08007C00 0x00000400 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:372 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:379 r ap 0 @0x08008000 0x00000400 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:380 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:386 r ap 0 @0x08008400 0x00000400 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:386 Reading data... +[4.777] spawnCubeProgrammer(): 11:52:14:388 r ap 0 @0x08008800 0x000000E0 bytes +[4.777] spawnCubeProgrammer(): 11:52:14:388 +[4.777] spawnCubeProgrammer(): +[4.777] spawnCubeProgrammer(): 11:52:14:388 Download verified successfully +[4.778] spawnCubeProgrammer(): 11:52:14:388 +[4.778] spawnCubeProgrammer(): +[4.778] spawnCubeProgrammer(): ------ Switching context ----- +[4.788] Device_Initialise(): Target connection mode: Default +[4.797] reset_hw_wtchpt_module(): Hardware watchpoint supported by the target +[4.800] Device_Initialise(): COM frequency = 4000 kHz +[4.800] Device_Initialise(): ST-LINK Firmware version : V2J35M26 +[4.800] Device_Initialise(): Device ID: 0x451 +[4.800] Device_Initialise(): PC: 0x8007fa4 +[4.801] Device_Initialise(): ST-LINK detects target voltage = 3.27 V +[4.801] Device_Initialise(): ST-LINK device status: HALT_MODE +[4.801] initServerContext(): ST-LINK device initialization OK +[4.802] write(): <13> Tx: $OK#9a +[4.802] read(): <13> Rx: $Pf=a47f0008#ed +[4.802] write(): <13> Tx: $OK#9a +[4.802] read(): <13> Rx: $m8008014,2#30 +[4.802] handlePacket(): Reading 0x2 bytes of memory from addr 0x8008014 +[4.802] write(): <13> Tx: $08b5#ff +[4.802] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[4.803] write(): <13> Tx: $l#8b +[4.803] read(): <13> Rx: $m8007fa4,4#97 +[4.803] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fa4 +[4.803] write(): <13> Tx: $dff834d0#63 +[4.803] read(): <13> Rx: $m8007fa4,2#95 +[4.803] handlePacket(): Reading 0x2 bytes of memory from addr 0x8007fa4 +[4.803] write(): <13> Tx: $dff8#68 +[4.803] read(): <13> Rx: $m8007fa6,2#97 +[4.803] handlePacket(): Reading 0x2 bytes of memory from addr 0x8007fa6 +[4.803] write(): <13> Tx: $34d0#fb +[4.804] read(): <13> Rx: $m200004ec,4#bb +[4.804] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004ec +[4.804] write(): <13> Tx: $1c14411a#f0 +[4.804] read(): <13> Rx: $m200004f0,4#89 +[4.804] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[4.804] write(): <13> Tx: $b1f5802f#2e +[4.805] read(): <13> Rx: $T1#85 +[4.805] write(): <13> Tx: $OK#9a +[4.805] read(): <13> Rx: $T1#85 +[4.805] write(): <13> Tx: $OK#9a +[4.813] read(): <13> Rx: $me000ed14,4#f0 +[4.813] handlePacket(): Reading 0x4 bytes of memory from addr 0xe000ed14 +[4.813] write(): <13> Tx: $00020400#86 +[4.813] read(): <13> Rx: $Xe000ed14,0:#11 +[4.813] write(): <13> Tx: $OK#9a +[4.813] read(): <13> Rx: $Xe000ed14,4:\x10\x02\x04\x00#2b +[4.813] write(): <13> Tx: $OK#9a +[4.814] read(): <13> Rx: $g#67 +[4.820] write(): <13> Tx: $0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820ffffffffa47f000800000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff00000000000000000000000000000000000000000000082000000000#9f +[4.820] read(): <13> Rx: $m8007fa4,4#97 +[4.820] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fa4 +[4.821] write(): <13> Tx: $dff834d0#63 +[4.821] read(): <13> Rx: $m8007fa4,2#95 +[4.821] handlePacket(): Reading 0x2 bytes of memory from addr 0x8007fa4 +[4.821] write(): <13> Tx: $dff8#68 +[4.821] read(): <13> Rx: $m8007fa6,2#97 +[4.821] handlePacket(): Reading 0x2 bytes of memory from addr 0x8007fa6 +[4.821] write(): <13> Tx: $34d0#fb +[4.821] read(): <13> Rx: $mfffffffe,1#f9 +[4.821] handlePacket(): Reading 0x1 bytes of memory from addr 0xfffffffe +[4.822] write(): <13> Tx: $E31#a9 +[4.822] read(): <13> Rx: $mfffffffe,1#f9 +[4.822] handlePacket(): Reading 0x1 bytes of memory from addr 0xfffffffe +[4.823] write(): <13> Tx: $E31#a9 +[4.823] read(): <13> Rx: $me000edfc,4#54 +[4.823] handlePacket(): Reading 0x4 bytes of memory from addr 0xe000edfc +[4.823] write(): <13> Tx: $00000001#81 +[4.823] read(): <13> Rx: $Xe000edfc,4:\xff\x07\x00\x01#71 +[4.824] write(): <13> Tx: $OK#9a +[4.824] read(): <13> Rx: $g#67 +[4.830] write(): <13> Tx: $0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820ffffffffa47f000800000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff00000000000000000000000000000000000000000000082000000000#9f +[4.830] read(): <13> Rx: $m8007fa4,4#97 +[4.830] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fa4 +[4.831] write(): <13> Tx: $dff834d0#63 +[4.831] read(): <13> Rx: $m8007fa4,2#95 +[4.831] handlePacket(): Reading 0x2 bytes of memory from addr 0x8007fa4 +[4.831] write(): <13> Tx: $dff8#68 +[4.831] read(): <13> Rx: $m8007fa6,2#97 +[4.831] handlePacket(): Reading 0x2 bytes of memory from addr 0x8007fa6 +[4.831] write(): <13> Tx: $34d0#fb +[4.832] read(): <13> Rx: $m8006700,40#62 +[4.832] handlePacket(): Reading 0x40 bytes of memory from addr 0x8006700 +[4.832] write(): <13> Tx: $5df8047b704700bf0886000880b588b000aff9f719ff00f049f800f0bdfa00f095fa00f0cdf800f029f900f085f900f0fbf900f057fa1748fbf786fe1648fdf7#a4 +[4.832] read(): <13> Rx: $m8006712,2#33 +[4.832] handlePacket(): Reading 0x2 bytes of memory from addr 0x8006712 +[4.833] write(): <13> Tx: $f9f7#3c +[4.834] read(): <13> Rx: $Z1,8006712,2#7d +[4.834] write(): <13> Tx: $OK#9a +[4.834] read(): <13> Rx: $vCont;c#a8 +[4.835] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[4.840] handle_vCont_c(): handle_vCont_c, continue thread +[4.840] write(): <13> Tx: $OK#9a +[4.850] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[4.850] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[4.856] Device_GetHaltReason(): NVIC_DFSR_REG = 0x0000000B +[4.857] write(): <13> Tx: %Stop:T05hwbreak:;thread:1;core:0;#7e +[4.882] read(): <13> Rx: $vStopped#55 +[4.882] write(): <13> Tx: $OK#9a +[4.882] read(): <13> Rx: $g#67 +[4.889] write(): <13> Tx: $f40400200000000000000000f4040020000000000000000000000000d8ff07200000000000000000000000000000000000000000d8ff0720db7f00081267000800000061000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff0000000000000000000000000000000000000000d8ff072000000000#bd +[4.889] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[4.889] write(): <13> Tx: $l#8b +[4.889] read(): <13> Rx: $z1,8006712,2#9d +[4.889] write(): <13> Tx: $OK#9a +[4.889] read(): <13> Rx: $m8006712,4#35 +[4.889] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006712 +[4.890] write(): <13> Tx: $f9f719ff#72 +[5.420] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[5.420] write(): <13> Tx: $l#8b +[5.420] read(): <13> Rx: $m200004f0,4#89 +[5.420] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[5.420] write(): <13> Tx: $00000000#80 +[5.421] read(): <13> Rx: $m200004f0,4#89 +[5.421] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[5.421] write(): <13> Tx: $00000000#80 +[5.487] read(): <13> Rx: $m2007ffc0,40#25 +[5.487] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[5.488] write(): <13> Tx: $97ff403fe8030000ffff000001000000d8ff0720020000000100000044880008e8ff0720c9790008000000006d800008000000000000000000000000db7f0008#a1 +[5.488] read(): <13> Rx: $m8007fda,4#c7 +[5.488] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fda +[5.488] write(): <13> Tx: $70470000#92 +[5.488] read(): <13> Rx: $m8007f80,40#9a +[5.488] handlePacket(): Reading 0x40 bytes of memory from addr 0x8007f80 +[5.489] write(): <13> Tx: $1a68bb681a447b681a603b68fa681a6000bf1437bd465df8047b7047834b040000ca9a3bdff834d0002103e00c4b5b58435004310b480c4b42189a42f6d30b4a#cf +[5.489] read(): <13> Rx: $m8007fdc,4#c9 +[5.489] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fdc +[5.489] write(): <13> Tx: $00000820#8a +[5.546] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[5.546] write(): <13> Tx: $l#8b +[5.586] read(): <13> Rx: $m2007ffc0,40#25 +[5.586] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[5.587] write(): <13> Tx: $97ff403fe8030000ffff000001000000d8ff0720020000000100000044880008e8ff0720c9790008000000006d800008000000000000000000000000db7f0008#a1 +[5.587] read(): <13> Rx: $m2007fff0,4#f8 +[5.587] handlePacket(): Reading 0x4 bytes of memory from addr 0x2007fff0 +[5.587] write(): <13> Tx: $00000000#80 +[5.587] read(): <13> Rx: $m8008844,8#41 +[5.587] handlePacket(): Reading 0x8 bytes of memory from addr 0x8008844 +[5.588] write(): <13> Tx: $1d020008bb790008#bb +[6.743] read(): <13> Rx: $vCont;c#a8 +[6.743] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[6.749] handle_vCont_c(): handle_vCont_c, continue thread +[6.749] write(): <13> Tx: $OK#9a +[6.759] Device_GetStatus(): ST-LINK device status: RUN_MODE +[6.764] read(): <13> Rx: $m200004f0,4#89 +[6.764] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[6.765] write(): <13> Tx: $00000000#80 +[6.785] read(): <13> Rx: $T1#85 +[6.785] write(): <13> Tx: $OK#9a +[6.785] read(): <13> Rx: $T1#85 +[6.785] write(): <13> Tx: $OK#9a +[6.967] read(): <13> Rx: $m200004f0,4#89 +[6.967] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[6.967] write(): <13> Tx: $00000000#80 +[7.169] read(): <13> Rx: $m200004f0,4#89 +[7.169] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[7.170] write(): <13> Tx: $00000000#80 +[7.371] read(): <13> Rx: $m200004f0,4#89 +[7.372] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[7.372] write(): <13> Tx: $00000000#80 +[7.574] read(): <13> Rx: $m200004f0,4#89 +[7.575] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[7.575] write(): <13> Tx: $00000000#80 +[7.777] read(): <13> Rx: $m200004f0,4#89 +[7.777] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[7.778] write(): <13> Tx: $00000000#80 +[7.980] read(): <13> Rx: $m200004f0,4#89 +[7.980] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[7.981] write(): <13> Tx: $00000000#80 +[8.183] read(): <13> Rx: $m200004f0,4#89 +[8.184] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[8.185] write(): <13> Tx: $00000000#80 +[8.387] read(): <13> Rx: $m200004f0,4#89 +[8.387] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[8.388] write(): <13> Tx: $00000000#80 +[8.590] read(): <13> Rx: $m200004f0,4#89 +[8.590] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[8.591] write(): <13> Tx: $00000000#80 +[8.793] read(): <13> Rx: $m200004f0,4#89 +[8.793] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[8.794] write(): <13> Tx: $00000000#80 +[8.875] read(): <13> Rx: $vCont?#49 +[8.875] write(): <13> Tx: $vCont;c;s;t#05 +[8.875] read(): <13> Rx: $vCont;t:1#24 +[8.875] handle_vCont_t(): handle_vCont_t, Halt thread +[8.876] write(): <13> Tx: $OK#9a +[8.887] Device_GetStatus(): ST-LINK device status: HALT_MODE +[8.887] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[8.887] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[8.893] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[8.893] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[8.918] read(): <13> Rx: $vStopped#55 +[8.919] write(): <13> Tx: $OK#9a +[8.919] read(): <13> Rx: $g#67 +[8.926] write(): <13> Tx: $2f0800007d000000e90300005a000000000000000000000000000000c0ff07200000000000000000000000000000000000000000c0ff072031060008ec05000800000021000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083c0ca3d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000c0ff072000000000#fe +[8.926] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[8.926] write(): <13> Tx: $l#8b +[8.927] read(): <13> Rx: $m80005ec,4#92 +[8.927] handlePacket(): Reading 0x4 bytes of memory from addr 0x80005ec +[8.928] write(): <13> Tx: $80b400af#25 +[8.943] read(): <13> Rx: $m200004f0,4#89 +[8.943] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[8.943] write(): <13> Tx: $00000000#80 +[8.957] read(): <13> Rx: $m8000630,4#2e +[8.957] handlePacket(): Reading 0x4 bytes of memory from addr 0x8000630 +[8.957] write(): <13> Tx: $0246bb68#fe +[8.957] read(): <13> Rx: $m2007ffc0,40#25 +[8.957] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[8.958] write(): <13> Tx: $c8ff0720e8030000d5070000e9030000d8ff072091670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#b0 +[8.958] read(): <13> Rx: $m8006790,4#3b +[8.958] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006790 +[8.958] write(): <13> Tx: $eee700bf#8e +[8.959] read(): <13> Rx: $m8007fda,4#c7 +[8.959] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fda +[8.959] write(): <13> Tx: $70470000#92 +[8.959] read(): <13> Rx: $m8007f80,40#9a +[8.959] handlePacket(): Reading 0x40 bytes of memory from addr 0x8007f80 +[8.960] write(): <13> Tx: $1a68bb681a447b681a603b68fa681a6000bf1437bd465df8047b7047834b040000ca9a3bdff834d0002103e00c4b5b58435004310b480c4b42189a42f6d30b4a#cf +[8.960] read(): <13> Rx: $m8007fdc,4#c9 +[8.960] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fdc +[8.960] write(): <13> Tx: $00000820#8a +[9.103] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[9.103] write(): <13> Tx: $l#8b +[9.103] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[9.103] write(): <13> Tx: $l#8b +[10.782] read(): <13> Rx: $vCont;c#a8 +[10.782] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[10.788] handle_vCont_c(): handle_vCont_c, continue thread +[10.788] write(): <13> Tx: $OK#9a +[10.798] Device_GetStatus(): ST-LINK device status: RUN_MODE +[10.825] read(): <13> Rx: $m200004f0,4#89 +[10.826] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[10.826] write(): <13> Tx: $00000000#80 +[10.834] read(): <13> Rx: $T1#85 +[10.835] write(): <13> Tx: $OK#9a +[10.835] read(): <13> Rx: $T1#85 +[10.835] write(): <13> Tx: $OK#9a +[11.028] read(): <13> Rx: $m200004f0,4#89 +[11.028] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[11.028] write(): <13> Tx: $00000000#80 +[11.264] read(): <13> Rx: $m200004f0,4#89 +[11.264] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[11.264] write(): <13> Tx: $00000000#80 +[11.466] read(): <13> Rx: $m200004f0,4#89 +[11.466] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[11.466] write(): <13> Tx: $00000000#80 +[11.668] read(): <13> Rx: $m200004f0,4#89 +[11.668] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[11.669] write(): <13> Tx: $00000000#80 +[11.870] read(): <13> Rx: $m200004f0,4#89 +[11.871] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[11.871] write(): <13> Tx: $00000000#80 +[12.073] read(): <13> Rx: $m200004f0,4#89 +[12.074] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[12.074] write(): <13> Tx: $00000000#80 +[12.074] read(): <13> Rx: $vCont;t:1#24 +[12.075] handle_vCont_t(): handle_vCont_t, Halt thread +[12.075] write(): <13> Tx: $OK#9a +[12.086] Device_GetStatus(): ST-LINK device status: HALT_MODE +[12.086] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[12.086] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[12.092] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[12.093] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[12.122] read(): <13> Rx: $vStopped#55 +[12.122] write(): <13> Tx: $OK#9a +[12.123] read(): <13> Rx: $g#67 +[12.129] write(): <13> Tx: $300d000003000000e9030000bc0b0020000000000000000000000000bcff07200000000000000000000000000000000000000000bcff072031060008f2050008000000210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cdcccc3d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000bcff072000000000#17 +[12.130] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[12.130] write(): <13> Tx: $l#8b +[12.131] read(): <13> Rx: $m80005f2,4#62 +[12.131] handlePacket(): Reading 0x4 bytes of memory from addr 0x80005f2 +[12.132] write(): <13> Tx: $1b681846#d4 +[12.146] read(): <13> Rx: $m200004f0,4#89 +[12.146] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[12.147] write(): <13> Tx: $00000000#80 +[12.176] read(): <13> Rx: $m8000630,4#2e +[12.176] handlePacket(): Reading 0x4 bytes of memory from addr 0x8000630 +[12.176] write(): <13> Tx: $0246bb68#fe +[12.176] read(): <13> Rx: $m2007ff80,40#fa +[12.176] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff80 +[12.177] write(): <13> Tx: $88ff07200b28000890ff072090ff0720bcff072098ff0720c0ff0720f9ffffff2f0d0000030000002f0d0000be0b0000000000003106000834060008c0ff0720#93 +[12.177] read(): <13> Rx: $m2007ffc0,40#25 +[12.177] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[12.178] write(): <13> Tx: $c8ff0720e8030000be0b0000e9030000d8ff072091670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#09 +[12.178] read(): <13> Rx: $m8006790,4#3b +[12.178] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006790 +[12.179] write(): <13> Tx: $eee700bf#8e +[12.179] read(): <13> Rx: $m8007fda,4#c7 +[12.179] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fda +[12.179] write(): <13> Tx: $70470000#92 +[12.179] read(): <13> Rx: $m8007f80,40#9a +[12.179] handlePacket(): Reading 0x40 bytes of memory from addr 0x8007f80 +[12.180] write(): <13> Tx: $1a68bb681a447b681a603b68fa681a6000bf1437bd465df8047b7047834b040000ca9a3bdff834d0002103e00c4b5b58435004310b480c4b42189a42f6d30b4a#cf +[12.180] read(): <13> Rx: $m8007fdc,4#c9 +[12.180] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fdc +[12.180] write(): <13> Tx: $00000820#8a +[12.241] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[12.241] write(): <13> Tx: $l#8b +[12.242] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[12.242] write(): <13> Tx: $l#8b +[12.984] read(): <13> Rx: $vCont;c#a8 +[12.984] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[12.990] handle_vCont_c(): handle_vCont_c, continue thread +[12.990] write(): <13> Tx: $OK#9a +[13.000] Device_GetStatus(): ST-LINK device status: RUN_MODE +[13.002] read(): <13> Rx: $m200004f0,4#89 +[13.003] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[13.003] write(): <13> Tx: $00000000#80 +[13.008] read(): <13> Rx: $T1#85 +[13.008] write(): <13> Tx: $OK#9a +[13.008] read(): <13> Rx: $T1#85 +[13.008] write(): <13> Tx: $OK#9a +[13.204] read(): <13> Rx: $m200004f0,4#89 +[13.204] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[13.205] write(): <13> Tx: $00000000#80 +[13.406] read(): <13> Rx: $m200004f0,4#89 +[13.406] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[13.407] write(): <13> Tx: $00000000#80 +[13.609] read(): <13> Rx: $m200004f0,4#89 +[13.609] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[13.610] write(): <13> Tx: $00000000#80 +[13.812] read(): <13> Rx: $m200004f0,4#89 +[13.812] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[13.813] write(): <13> Tx: $00000000#80 +[14.015] read(): <13> Rx: $m200004f0,4#89 +[14.015] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[14.016] write(): <13> Tx: $00000000#80 +[14.218] read(): <13> Rx: $m200004f0,4#89 +[14.218] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 [14.219] write(): <13> Tx: $00000000#80 -[14.220] read(): <13> Rx: $m200002ac,4#b5 -[14.221] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[14.221] write(): <13> Tx: $00000000#80 -[14.222] read(): <13> Rx: $m200002a4,4#86 -[14.222] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[14.223] write(): <13> Tx: $0000c842#c1 -[14.425] read(): <13> Rx: $m40000024,4#57 -[14.425] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[14.425] write(): <13> Tx: $ffffff7f#01 -[14.427] read(): <13> Rx: $m200002a8,4#8a -[14.427] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[14.427] write(): <13> Tx: $00000000#80 -[14.428] read(): <13> Rx: $m200002ac,4#b5 -[14.429] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[14.429] write(): <13> Tx: $00000000#80 -[14.430] read(): <13> Rx: $m200002a4,4#86 -[14.430] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[14.431] write(): <13> Tx: $0000c842#c1 -[14.633] read(): <13> Rx: $m40000024,4#57 -[14.633] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[14.633] write(): <13> Tx: $ffffff7f#01 -[14.635] read(): <13> Rx: $m200002a8,4#8a -[14.635] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[14.635] write(): <13> Tx: $00000000#80 -[14.637] read(): <13> Rx: $m200002ac,4#b5 -[14.637] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[14.638] write(): <13> Tx: $00000000#80 -[14.639] read(): <13> Rx: $m200002a4,4#86 -[14.639] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[14.640] write(): <13> Tx: $0000c842#c1 -[14.683] read(): <13> Rx: $m200002a0,4#82 -[14.683] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[14.683] write(): <13> Tx: $0000c842#c1 -[14.841] read(): <13> Rx: $m40000024,4#57 -[14.841] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[14.842] write(): <13> Tx: $ffffff7f#01 -[14.842] read(): <13> Rx: $m200002a8,4#8a -[14.842] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[14.843] write(): <13> Tx: $00000000#80 -[14.843] read(): <13> Rx: $m200002ac,4#b5 -[14.843] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[14.844] write(): <13> Tx: $00000000#80 -[14.844] read(): <13> Rx: $m200002a4,4#86 -[14.844] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[14.845] write(): <13> Tx: $0000c842#c1 -[14.845] read(): <13> Rx: $m200002a0,4#82 -[14.845] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[14.846] write(): <13> Tx: $0000c842#c1 -[15.047] read(): <13> Rx: $m40000024,4#57 -[15.048] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[15.048] write(): <13> Tx: $ffffff7f#01 -[15.049] read(): <13> Rx: $m200002a8,4#8a -[15.049] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[15.050] write(): <13> Tx: $00000000#80 -[15.051] read(): <13> Rx: $m200002ac,4#b5 -[15.051] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[15.052] write(): <13> Tx: $00000000#80 -[15.053] read(): <13> Rx: $m200002a4,4#86 -[15.053] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[15.053] write(): <13> Tx: $0000c842#c1 -[15.054] read(): <13> Rx: $m200002a0,4#82 -[15.054] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[15.055] write(): <13> Tx: $0000c842#c1 -[15.256] read(): <13> Rx: $m40000024,4#57 -[15.257] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[15.257] write(): <13> Tx: $ffffff7f#01 -[15.258] read(): <13> Rx: $m200002a8,4#8a -[15.258] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[15.259] write(): <13> Tx: $00000000#80 -[15.260] read(): <13> Rx: $m200002ac,4#b5 -[15.260] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[15.260] write(): <13> Tx: $00000000#80 -[15.261] read(): <13> Rx: $m200002a4,4#86 -[15.261] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[15.262] write(): <13> Tx: $0000c842#c1 -[15.263] read(): <13> Rx: $m200002a0,4#82 -[15.263] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[15.263] write(): <13> Tx: $0000c842#c1 -[15.465] read(): <13> Rx: $m40000024,4#57 -[15.465] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[15.466] write(): <13> Tx: $ffffff7f#01 -[15.467] read(): <13> Rx: $m200002a8,4#8a -[15.467] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[15.468] write(): <13> Tx: $00000000#80 -[15.469] read(): <13> Rx: $m200002ac,4#b5 -[15.469] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[15.470] write(): <13> Tx: $00000000#80 -[15.471] read(): <13> Rx: $m200002a4,4#86 -[15.471] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[15.471] write(): <13> Tx: $0000c842#c1 -[15.472] read(): <13> Rx: $m200002a0,4#82 -[15.472] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[15.473] write(): <13> Tx: $0000c842#c1 -[15.675] read(): <13> Rx: $m40000024,4#57 -[15.675] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[15.676] write(): <13> Tx: $ffffff7f#01 -[15.677] read(): <13> Rx: $m200002a8,4#8a -[15.677] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[15.678] write(): <13> Tx: $00000000#80 -[15.679] read(): <13> Rx: $m200002ac,4#b5 -[15.679] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[15.680] write(): <13> Tx: $00000000#80 -[15.681] read(): <13> Rx: $m200002a4,4#86 -[15.681] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[15.682] write(): <13> Tx: $0000c842#c1 -[15.683] read(): <13> Rx: $m200002a0,4#82 -[15.683] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[15.684] write(): <13> Tx: $0000c842#c1 -[15.886] read(): <13> Rx: $m40000024,4#57 -[15.886] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[15.887] write(): <13> Tx: $ffffff7f#01 -[15.888] read(): <13> Rx: $m200002a8,4#8a -[15.888] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[15.888] write(): <13> Tx: $00000000#80 -[15.890] read(): <13> Rx: $m200002ac,4#b5 -[15.890] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[15.890] write(): <13> Tx: $00000000#80 -[15.891] read(): <13> Rx: $m200002a4,4#86 -[15.891] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[15.892] write(): <13> Tx: $0000c842#c1 -[15.893] read(): <13> Rx: $m200002a0,4#82 -[15.893] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[15.893] write(): <13> Tx: $0000c842#c1 -[16.096] read(): <13> Rx: $m40000024,4#57 -[16.096] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[16.096] write(): <13> Tx: $ffffff7f#01 -[16.098] read(): <13> Rx: $m200002a8,4#8a -[16.098] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[16.098] write(): <13> Tx: $00000000#80 -[16.100] read(): <13> Rx: $m200002ac,4#b5 -[16.100] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[16.101] write(): <13> Tx: $00000000#80 -[16.102] read(): <13> Rx: $m200002a4,4#86 -[16.102] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[16.102] write(): <13> Tx: $0000c842#c1 -[16.104] read(): <13> Rx: $m200002a0,4#82 -[16.104] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[16.104] write(): <13> Tx: $0000c842#c1 -[16.306] read(): <13> Rx: $m40000024,4#57 -[16.306] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[16.307] write(): <13> Tx: $ffffff7f#01 -[16.308] read(): <13> Rx: $m200002a8,4#8a -[16.308] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[16.309] write(): <13> Tx: $00000000#80 -[16.310] read(): <13> Rx: $m200002ac,4#b5 -[16.310] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[16.311] write(): <13> Tx: $00000000#80 -[16.312] read(): <13> Rx: $m200002a4,4#86 -[16.312] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[16.312] write(): <13> Tx: $0000c842#c1 -[16.313] read(): <13> Rx: $m200002a0,4#82 -[16.313] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[16.314] write(): <13> Tx: $0000c842#c1 -[16.516] read(): <13> Rx: $m40000024,4#57 -[16.516] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[16.517] write(): <13> Tx: $ffffff7f#01 -[16.519] read(): <13> Rx: $m200002a8,4#8a -[16.519] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[16.519] write(): <13> Tx: $00000000#80 -[16.521] read(): <13> Rx: $m200002ac,4#b5 -[16.521] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[16.522] write(): <13> Tx: $00000000#80 -[16.523] read(): <13> Rx: $m200002a4,4#86 -[16.523] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[16.524] write(): <13> Tx: $0000c842#c1 -[16.525] read(): <13> Rx: $m200002a0,4#82 -[16.581] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[16.582] write(): <13> Tx: $0000c842#c1 -[16.784] read(): <13> Rx: $m40000024,4#57 -[16.784] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[16.784] write(): <13> Tx: $ffffff7f#01 -[16.785] read(): <13> Rx: $m200002a8,4#8a -[16.785] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[16.785] write(): <13> Tx: $00000000#80 -[16.786] read(): <13> Rx: $m200002ac,4#b5 -[16.786] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[16.786] write(): <13> Tx: $00000000#80 -[16.786] read(): <13> Rx: $m200002a4,4#86 -[16.786] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[16.787] write(): <13> Tx: $0000c842#c1 -[16.787] read(): <13> Rx: $m200002a0,4#82 -[16.787] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[16.787] write(): <13> Tx: $0000c842#c1 -[16.989] read(): <13> Rx: $m40000024,4#57 -[16.989] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[16.990] write(): <13> Tx: $ffffff7f#01 -[16.991] read(): <13> Rx: $m200002a8,4#8a -[16.991] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[16.991] write(): <13> Tx: $00000000#80 -[16.992] read(): <13> Rx: $m200002ac,4#b5 -[16.992] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[16.992] write(): <13> Tx: $00000000#80 -[16.993] read(): <13> Rx: $m200002a4,4#86 -[16.993] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[16.994] write(): <13> Tx: $0000c842#c1 -[16.995] read(): <13> Rx: $m200002a0,4#82 -[16.995] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[16.995] write(): <13> Tx: $0000c842#c1 -[17.197] read(): <13> Rx: $m40000024,4#57 -[17.197] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[17.197] write(): <13> Tx: $ffffff7f#01 -[17.199] read(): <13> Rx: $m200002a8,4#8a -[17.199] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[17.199] write(): <13> Tx: $00000000#80 -[17.200] read(): <13> Rx: $m200002ac,4#b5 -[17.201] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[17.201] write(): <13> Tx: $00000000#80 -[17.202] read(): <13> Rx: $m200002a4,4#86 -[17.202] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[17.203] write(): <13> Tx: $0000c842#c1 -[17.204] read(): <13> Rx: $m200002a0,4#82 -[17.204] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[17.205] write(): <13> Tx: $0000c842#c1 -[17.407] read(): <13> Rx: $m40000024,4#57 -[17.407] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[17.408] write(): <13> Tx: $ffffff7f#01 -[17.409] read(): <13> Rx: $m200002a8,4#8a -[17.409] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[17.410] write(): <13> Tx: $00000000#80 -[17.411] read(): <13> Rx: $m200002ac,4#b5 -[17.411] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[17.411] write(): <13> Tx: $00000000#80 -[17.412] read(): <13> Rx: $m200002a4,4#86 -[17.412] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[17.413] write(): <13> Tx: $0000c842#c1 -[17.414] read(): <13> Rx: $m200002a0,4#82 -[17.414] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[17.415] write(): <13> Tx: $0000c842#c1 -[17.616] read(): <13> Rx: $m40000024,4#57 -[17.616] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[17.616] write(): <13> Tx: $ffffff7f#01 -[17.617] read(): <13> Rx: $m200002a8,4#8a -[17.617] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[17.617] write(): <13> Tx: $00000000#80 -[17.618] read(): <13> Rx: $m200002ac,4#b5 -[17.618] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[17.618] write(): <13> Tx: $00000000#80 -[17.618] read(): <13> Rx: $m200002a4,4#86 -[17.618] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[17.619] write(): <13> Tx: $0000c842#c1 -[17.619] read(): <13> Rx: $m200002a0,4#82 -[17.619] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[17.620] write(): <13> Tx: $0000c842#c1 -[17.821] read(): <13> Rx: $m40000024,4#57 -[17.822] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[17.823] write(): <13> Tx: $ffffff7f#01 -[17.824] read(): <13> Rx: $m200002a8,4#8a -[17.824] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[17.825] write(): <13> Tx: $00000000#80 -[17.826] read(): <13> Rx: $m200002ac,4#b5 -[17.826] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[17.826] write(): <13> Tx: $00000000#80 -[17.827] read(): <13> Rx: $m200002a4,4#86 -[17.827] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[17.828] write(): <13> Tx: $0000c842#c1 -[17.829] read(): <13> Rx: $m200002a0,4#82 -[17.829] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[17.829] write(): <13> Tx: $0000c842#c1 -[18.031] read(): <13> Rx: $m40000024,4#57 -[18.031] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[18.032] write(): <13> Tx: $ffffff7f#01 -[18.033] read(): <13> Rx: $m200002a8,4#8a -[18.033] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[18.033] write(): <13> Tx: $00000000#80 -[18.034] read(): <13> Rx: $m200002ac,4#b5 -[18.034] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[18.035] write(): <13> Tx: $00000000#80 -[18.035] read(): <13> Rx: $m200002a4,4#86 -[18.035] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[18.036] write(): <13> Tx: $0000c842#c1 -[18.037] read(): <13> Rx: $m200002a0,4#82 -[18.037] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[18.038] write(): <13> Tx: $0000c842#c1 -[18.239] read(): <13> Rx: $m40000024,4#57 -[18.239] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[18.240] write(): <13> Tx: $ffffff7f#01 -[18.241] read(): <13> Rx: $m200002a8,4#8a -[18.241] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[18.242] write(): <13> Tx: $00000000#80 -[18.243] read(): <13> Rx: $m200002ac,4#b5 -[18.243] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[18.243] write(): <13> Tx: $00000000#80 -[18.244] read(): <13> Rx: $m200002a4,4#86 -[18.244] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[18.245] write(): <13> Tx: $0000c842#c1 -[18.246] read(): <13> Rx: $m200002a0,4#82 -[18.246] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[18.246] write(): <13> Tx: $0000c842#c1 -[18.448] read(): <13> Rx: $m40000024,4#57 -[18.448] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[18.448] write(): <13> Tx: $ffffff7f#01 -[18.450] read(): <13> Rx: $m200002a8,4#8a -[18.450] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[18.450] write(): <13> Tx: $00000000#80 -[18.452] read(): <13> Rx: $m200002ac,4#b5 -[18.452] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[18.452] write(): <13> Tx: $00000000#80 -[18.453] read(): <13> Rx: $m200002a4,4#86 -[18.453] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[18.454] write(): <13> Tx: $0000c842#c1 -[18.455] read(): <13> Rx: $m200002a0,4#82 -[18.455] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[18.455] write(): <13> Tx: $0000c842#c1 -[18.657] read(): <13> Rx: $m40000024,4#57 -[18.657] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[18.657] write(): <13> Tx: $ffffff7f#01 -[18.659] read(): <13> Rx: $m200002a8,4#8a -[18.659] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[18.659] write(): <13> Tx: $00000000#80 -[18.661] read(): <13> Rx: $m200002ac,4#b5 -[18.661] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[18.661] write(): <13> Tx: $00000000#80 -[18.662] read(): <13> Rx: $m200002a4,4#86 -[18.662] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[18.663] write(): <13> Tx: $0000c842#c1 -[18.664] read(): <13> Rx: $m200002a0,4#82 -[18.664] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[18.665] write(): <13> Tx: $0000c842#c1 -[18.867] read(): <13> Rx: $m40000024,4#57 -[18.867] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[18.867] write(): <13> Tx: $ffffff7f#01 -[18.869] read(): <13> Rx: $m200002a8,4#8a -[18.869] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[18.869] write(): <13> Tx: $00000000#80 -[18.871] read(): <13> Rx: $m200002ac,4#b5 -[18.871] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[18.871] write(): <13> Tx: $00000000#80 -[18.872] read(): <13> Rx: $m200002a4,4#86 -[18.873] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[18.873] write(): <13> Tx: $0000c842#c1 -[18.874] read(): <13> Rx: $m200002a0,4#82 -[18.874] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[18.875] write(): <13> Tx: $0000c842#c1 -[19.077] read(): <13> Rx: $m40000024,4#57 -[19.077] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[19.077] write(): <13> Tx: $ffffff7f#01 -[19.079] read(): <13> Rx: $m200002a8,4#8a -[19.079] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[19.079] write(): <13> Tx: $00000000#80 -[19.080] read(): <13> Rx: $m200002ac,4#b5 -[19.080] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[19.081] write(): <13> Tx: $00000000#80 -[19.081] read(): <13> Rx: $m200002a4,4#86 -[19.081] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[19.081] write(): <13> Tx: $0000c842#c1 -[19.082] read(): <13> Rx: $m200002a0,4#82 -[19.082] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[19.082] write(): <13> Tx: $0000c842#c1 -[19.283] read(): <13> Rx: $m40000024,4#57 -[19.283] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[19.283] write(): <13> Tx: $ffffff7f#01 -[19.284] read(): <13> Rx: $m200002a8,4#8a -[19.284] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[19.284] write(): <13> Tx: $00000000#80 -[19.284] read(): <13> Rx: $m200002ac,4#b5 -[19.284] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[19.285] write(): <13> Tx: $00000000#80 -[19.285] read(): <13> Rx: $m200002a4,4#86 -[19.285] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[19.285] write(): <13> Tx: $0000c842#c1 -[19.285] read(): <13> Rx: $m200002a0,4#82 -[19.285] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[19.285] write(): <13> Tx: $0000c842#c1 -[19.486] read(): <13> Rx: $m40000024,4#57 -[19.487] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[19.488] write(): <13> Tx: $ffffff7f#01 -[19.488] read(): <13> Rx: $m200002a8,4#8a -[19.488] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[19.489] write(): <13> Tx: $00000000#80 -[19.490] read(): <13> Rx: $m200002ac,4#b5 -[19.490] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[19.491] write(): <13> Tx: $00000000#80 -[19.492] read(): <13> Rx: $m200002a4,4#86 -[19.492] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[19.492] write(): <13> Tx: $0000c842#c1 -[19.493] read(): <13> Rx: $m200002a0,4#82 -[19.493] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[19.494] write(): <13> Tx: $0000c842#c1 -[19.695] read(): <13> Rx: $m40000024,4#57 -[19.695] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[19.696] write(): <13> Tx: $ffffff7f#01 -[19.697] read(): <13> Rx: $m200002a8,4#8a -[19.697] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[19.697] write(): <13> Tx: $00000000#80 -[19.698] read(): <13> Rx: $m200002ac,4#b5 -[19.698] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[19.699] write(): <13> Tx: $00000000#80 -[19.700] read(): <13> Rx: $m200002a4,4#86 -[19.700] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[19.701] write(): <13> Tx: $0000c842#c1 -[19.702] read(): <13> Rx: $m200002a0,4#82 -[19.702] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[19.702] write(): <13> Tx: $0000c842#c1 -[19.904] read(): <13> Rx: $m40000024,4#57 -[19.904] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[19.905] write(): <13> Tx: $ffffff7f#01 -[19.906] read(): <13> Rx: $m200002a8,4#8a -[19.906] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[19.907] write(): <13> Tx: $00000000#80 -[19.908] read(): <13> Rx: $m200002ac,4#b5 -[19.908] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[19.909] write(): <13> Tx: $00000000#80 -[19.910] read(): <13> Rx: $m200002a4,4#86 -[19.910] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[19.911] write(): <13> Tx: $0000c842#c1 -[19.912] read(): <13> Rx: $m200002a0,4#82 -[19.913] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[19.913] write(): <13> Tx: $0000c842#c1 -[20.114] read(): <13> Rx: $m40000024,4#57 -[20.114] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[20.115] write(): <13> Tx: $ffffff7f#01 -[20.115] read(): <13> Rx: $m200002a8,4#8a -[20.115] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[20.116] write(): <13> Tx: $00000000#80 -[20.116] read(): <13> Rx: $m200002ac,4#b5 -[20.116] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[20.116] write(): <13> Tx: $00000000#80 -[20.117] read(): <13> Rx: $m200002a4,4#86 -[20.117] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[20.117] write(): <13> Tx: $0000c842#c1 -[20.117] read(): <13> Rx: $m200002a0,4#82 -[20.117] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[20.117] write(): <13> Tx: $0000c842#c1 -[20.318] read(): <13> Rx: $m40000024,4#57 -[20.318] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[20.319] write(): <13> Tx: $ffffff7f#01 -[20.319] read(): <13> Rx: $m200002a8,4#8a -[20.319] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[20.319] write(): <13> Tx: $00000000#80 -[20.320] read(): <13> Rx: $m200002ac,4#b5 -[20.320] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[20.320] write(): <13> Tx: $00000000#80 -[20.321] read(): <13> Rx: $m200002a4,4#86 -[20.321] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[20.321] write(): <13> Tx: $0000c842#c1 -[20.322] read(): <13> Rx: $m200002a0,4#82 -[20.322] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[20.322] write(): <13> Tx: $0000c842#c1 -[20.524] read(): <13> Rx: $m40000024,4#57 -[20.524] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[20.525] write(): <13> Tx: $ffffff7f#01 -[20.526] read(): <13> Rx: $m200002a8,4#8a -[20.526] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[20.527] write(): <13> Tx: $00000000#80 -[20.528] read(): <13> Rx: $m200002ac,4#b5 -[20.528] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[20.529] write(): <13> Tx: $00000000#80 -[20.530] read(): <13> Rx: $m200002a4,4#86 -[20.530] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[20.531] write(): <13> Tx: $0000c842#c1 -[20.532] read(): <13> Rx: $m200002a0,4#82 -[20.532] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[20.533] write(): <13> Tx: $0000c842#c1 -[20.735] read(): <13> Rx: $m40000024,4#57 -[20.735] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[20.735] write(): <13> Tx: $ffffff7f#01 -[20.737] read(): <13> Rx: $m200002a8,4#8a -[20.737] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[20.737] write(): <13> Tx: $00000000#80 -[20.738] read(): <13> Rx: $m200002ac,4#b5 -[20.738] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[20.739] write(): <13> Tx: $00000000#80 -[20.740] read(): <13> Rx: $m200002a4,4#86 -[20.740] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[20.740] write(): <13> Tx: $0000c842#c1 -[20.741] read(): <13> Rx: $m200002a0,4#82 -[20.741] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[20.742] write(): <13> Tx: $0000c842#c1 -[20.944] read(): <13> Rx: $m40000024,4#57 -[20.944] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[20.945] write(): <13> Tx: $ffffff7f#01 -[20.946] read(): <13> Rx: $m200002a8,4#8a -[20.946] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[20.947] write(): <13> Tx: $00000000#80 -[20.948] read(): <13> Rx: $m200002ac,4#b5 -[20.948] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[20.949] write(): <13> Tx: $00000000#80 -[20.950] read(): <13> Rx: $m200002a4,4#86 -[20.950] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[20.951] write(): <13> Tx: $0000c842#c1 -[20.952] read(): <13> Rx: $m200002a0,4#82 -[20.952] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[20.953] write(): <13> Tx: $0000c842#c1 -[21.154] read(): <13> Rx: $m40000024,4#57 -[21.154] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[21.155] write(): <13> Tx: $ffffff7f#01 -[21.156] read(): <13> Rx: $m200002a8,4#8a -[21.156] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[21.157] write(): <13> Tx: $00000000#80 -[21.158] read(): <13> Rx: $m200002ac,4#b5 -[21.158] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[21.159] write(): <13> Tx: $00000000#80 -[21.160] read(): <13> Rx: $m200002a4,4#86 -[21.160] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[21.160] write(): <13> Tx: $0000c842#c1 -[21.162] read(): <13> Rx: $m200002a0,4#82 -[21.162] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[21.162] write(): <13> Tx: $0000c842#c1 -[21.364] read(): <13> Rx: $m40000024,4#57 -[21.364] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[21.364] write(): <13> Tx: $ffffff7f#01 -[21.365] read(): <13> Rx: $m200002a8,4#8a -[21.365] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[21.365] write(): <13> Tx: $00000000#80 -[21.366] read(): <13> Rx: $m200002ac,4#b5 -[21.366] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[21.367] write(): <13> Tx: $00000000#80 -[21.367] read(): <13> Rx: $m200002a4,4#86 -[21.367] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[21.368] write(): <13> Tx: $0000c842#c1 -[21.369] read(): <13> Rx: $m200002a0,4#82 -[21.369] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[21.369] write(): <13> Tx: $0000c842#c1 -[21.570] read(): <13> Rx: $m40000024,4#57 -[21.570] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[21.570] write(): <13> Tx: $ffffff7f#01 -[21.571] read(): <13> Rx: $m200002a8,4#8a -[21.571] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[21.571] write(): <13> Tx: $00000000#80 -[21.572] read(): <13> Rx: $m200002ac,4#b5 -[21.572] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[21.572] write(): <13> Tx: $00000000#80 -[21.572] read(): <13> Rx: $m200002a4,4#86 -[21.572] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[21.573] write(): <13> Tx: $0000c842#c1 -[21.573] read(): <13> Rx: $m200002a0,4#82 -[21.573] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[21.573] write(): <13> Tx: $0000c842#c1 -[21.775] read(): <13> Rx: $m40000024,4#57 -[21.775] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[21.775] write(): <13> Tx: $ffffff7f#01 -[21.776] read(): <13> Rx: $m200002a8,4#8a -[21.776] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[21.777] write(): <13> Tx: $00000000#80 -[21.777] read(): <13> Rx: $m200002ac,4#b5 -[21.777] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[21.778] write(): <13> Tx: $00000000#80 -[21.778] read(): <13> Rx: $m200002a4,4#86 -[21.778] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[21.779] write(): <13> Tx: $0000c842#c1 -[21.779] read(): <13> Rx: $m200002a0,4#82 -[21.779] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[21.780] write(): <13> Tx: $0000c842#c1 -[21.981] read(): <13> Rx: $m40000024,4#57 -[21.981] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[21.982] write(): <13> Tx: $ffffff7f#01 -[21.983] read(): <13> Rx: $m200002a8,4#8a -[21.983] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[21.984] write(): <13> Tx: $00000000#80 -[21.985] read(): <13> Rx: $m200002ac,4#b5 -[21.985] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[21.985] write(): <13> Tx: $00000000#80 -[21.986] read(): <13> Rx: $m200002a4,4#86 -[21.986] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[21.987] write(): <13> Tx: $0000c842#c1 -[21.988] read(): <13> Rx: $m200002a0,4#82 -[21.988] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[21.989] write(): <13> Tx: $0000c842#c1 -[22.191] read(): <13> Rx: $m40000024,4#57 -[22.191] handlePacket(): Reading 0x4 bytes of memory from addr 0x40000024 -[22.191] write(): <13> Tx: $ffffff7f#01 -[22.193] read(): <13> Rx: $m200002a8,4#8a -[22.193] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[22.193] write(): <13> Tx: $00000000#80 -[22.195] read(): <13> Rx: $m200002ac,4#b5 -[22.195] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[22.195] write(): <13> Tx: $00000000#80 -[22.196] read(): <13> Rx: $m200002a4,4#86 -[22.197] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[22.197] write(): <13> Tx: $0000c842#c1 -[22.198] read(): <13> Rx: $m200002a0,4#82 -[22.198] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[22.199] write(): <13> Tx: $0000c842#c1 -[22.401] read(): <13> Rx: $m200002a8,4#8a -[22.401] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[22.401] write(): <13> Tx: $00000000#80 -[22.403] read(): <13> Rx: $m200002ac,4#b5 -[22.403] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[22.403] write(): <13> Tx: $00000000#80 -[22.404] read(): <13> Rx: $m200002a4,4#86 -[22.404] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[22.405] write(): <13> Tx: $0000c842#c1 -[22.406] read(): <13> Rx: $m200002a0,4#82 -[22.406] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[22.406] write(): <13> Tx: $0000c842#c1 -[22.608] read(): <13> Rx: $m200002a8,4#8a -[22.608] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[22.609] write(): <13> Tx: $00000000#80 -[22.610] read(): <13> Rx: $m200002ac,4#b5 -[22.610] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[22.610] write(): <13> Tx: $00000000#80 -[22.611] read(): <13> Rx: $m200002a4,4#86 -[22.611] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[22.612] write(): <13> Tx: $0000c842#c1 -[22.613] read(): <13> Rx: $m200002a0,4#82 -[22.613] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[22.614] write(): <13> Tx: $0000c842#c1 -[22.816] read(): <13> Rx: $m200002a8,4#8a -[22.816] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[22.817] write(): <13> Tx: $00000000#80 -[22.818] read(): <13> Rx: $m200002ac,4#b5 -[22.818] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[22.819] write(): <13> Tx: $00000000#80 -[22.820] read(): <13> Rx: $m200002a4,4#86 -[22.820] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[22.821] write(): <13> Tx: $0000c842#c1 -[22.822] read(): <13> Rx: $m200002a0,4#82 -[22.822] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[22.823] write(): <13> Tx: $0000c842#c1 -[23.025] read(): <13> Rx: $m200002a8,4#8a -[23.025] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[23.026] write(): <13> Tx: $00000000#80 -[23.027] read(): <13> Rx: $m200002ac,4#b5 -[23.027] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[23.028] write(): <13> Tx: $00000000#80 -[23.029] read(): <13> Rx: $m200002a4,4#86 -[23.029] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[23.030] write(): <13> Tx: $0000c842#c1 -[23.031] read(): <13> Rx: $m200002a0,4#82 -[23.031] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[23.032] write(): <13> Tx: $0000c842#c1 -[23.234] read(): <13> Rx: $m200002a8,4#8a -[23.234] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[23.235] write(): <13> Tx: $00000000#80 -[23.236] read(): <13> Rx: $m200002ac,4#b5 -[23.236] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[23.237] write(): <13> Tx: $00000000#80 -[23.238] read(): <13> Rx: $m200002a4,4#86 -[23.238] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[23.239] write(): <13> Tx: $0000c842#c1 -[23.240] read(): <13> Rx: $m200002a0,4#82 -[23.240] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[23.241] write(): <13> Tx: $0000c842#c1 -[23.443] read(): <13> Rx: $m200002a8,4#8a -[23.443] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[23.444] write(): <13> Tx: $00000000#80 -[23.445] read(): <13> Rx: $m200002ac,4#b5 -[23.445] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[23.446] write(): <13> Tx: $00000000#80 -[23.447] read(): <13> Rx: $m200002a4,4#86 -[23.447] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[23.448] write(): <13> Tx: $0000c842#c1 -[23.449] read(): <13> Rx: $m200002a0,4#82 -[23.449] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[23.450] write(): <13> Tx: $0000c842#c1 -[23.652] read(): <13> Rx: $m200002a8,4#8a -[23.652] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[23.653] write(): <13> Tx: $00000000#80 -[23.654] read(): <13> Rx: $m200002ac,4#b5 -[23.654] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[23.655] write(): <13> Tx: $00000000#80 -[23.656] read(): <13> Rx: $m200002a4,4#86 -[23.656] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[23.656] write(): <13> Tx: $0000c842#c1 -[23.657] read(): <13> Rx: $m200002a0,4#82 -[23.657] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[23.658] write(): <13> Tx: $0000c842#c1 -[23.860] read(): <13> Rx: $m200002a8,4#8a -[23.860] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[23.861] write(): <13> Tx: $00000000#80 -[23.862] read(): <13> Rx: $m200002ac,4#b5 -[23.862] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[23.862] write(): <13> Tx: $00000000#80 -[23.863] read(): <13> Rx: $m200002a4,4#86 -[23.863] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[23.864] write(): <13> Tx: $0000c842#c1 -[23.865] read(): <13> Rx: $m200002a0,4#82 -[23.865] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[23.865] write(): <13> Tx: $0000c842#c1 -[24.067] read(): <13> Rx: $m200002a8,4#8a -[24.067] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[24.068] write(): <13> Tx: $00000000#80 -[24.069] read(): <13> Rx: $m200002ac,4#b5 -[24.069] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[24.070] write(): <13> Tx: $00000000#80 -[24.072] read(): <13> Rx: $m200002a4,4#86 -[24.072] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[24.072] write(): <13> Tx: $0000c842#c1 -[24.073] read(): <13> Rx: $m200002a0,4#82 -[24.073] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[24.074] write(): <13> Tx: $0000c842#c1 -[24.276] read(): <13> Rx: $m200002a8,4#8a -[24.276] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[24.277] write(): <13> Tx: $00000000#80 -[24.278] read(): <13> Rx: $m200002ac,4#b5 -[24.278] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[24.279] write(): <13> Tx: $00000000#80 -[24.280] read(): <13> Rx: $m200002a4,4#86 -[24.280] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[24.281] write(): <13> Tx: $0000c842#c1 -[24.282] read(): <13> Rx: $m200002a0,4#82 -[24.282] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[24.283] write(): <13> Tx: $0000c842#c1 -[24.484] read(): <13> Rx: $m200002a8,4#8a -[24.484] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[24.485] write(): <13> Tx: $00000000#80 -[24.486] read(): <13> Rx: $m200002ac,4#b5 -[24.486] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[24.486] write(): <13> Tx: $00000000#80 -[24.487] read(): <13> Rx: $m200002a4,4#86 -[24.487] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[24.487] write(): <13> Tx: $0000c842#c1 -[24.488] read(): <13> Rx: $m200002a0,4#82 -[24.488] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[24.488] write(): <13> Tx: $0000c842#c1 -[24.689] read(): <13> Rx: $m200002a8,4#8a -[24.689] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[24.691] write(): <13> Tx: $00000000#80 -[24.692] read(): <13> Rx: $m200002ac,4#b5 -[24.692] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[24.692] write(): <13> Tx: $00000000#80 -[24.694] read(): <13> Rx: $m200002a4,4#86 -[24.694] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[24.694] write(): <13> Tx: $0000c842#c1 -[24.696] read(): <13> Rx: $m200002a0,4#82 -[24.696] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[24.696] write(): <13> Tx: $0000c842#c1 -[24.897] read(): <13> Rx: $m200002a8,4#8a -[24.897] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[24.898] write(): <13> Tx: $00000000#80 -[24.898] read(): <13> Rx: $m200002ac,4#b5 -[24.898] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[24.898] write(): <13> Tx: $00000000#80 -[24.899] read(): <13> Rx: $m200002a4,4#86 -[24.899] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[24.899] write(): <13> Tx: $0000c842#c1 -[24.899] read(): <13> Rx: $m200002a0,4#82 -[24.899] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[24.899] write(): <13> Tx: $0000c842#c1 -[25.100] read(): <13> Rx: $m200002a8,4#8a -[25.100] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[25.101] write(): <13> Tx: $00000000#80 -[25.102] read(): <13> Rx: $m200002ac,4#b5 -[25.102] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[25.103] write(): <13> Tx: $00000000#80 -[25.104] read(): <13> Rx: $m200002a4,4#86 -[25.104] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[25.105] write(): <13> Tx: $0000c842#c1 -[25.105] read(): <13> Rx: $m200002a0,4#82 -[25.105] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[25.106] write(): <13> Tx: $0000c842#c1 -[25.307] read(): <13> Rx: $m200002a8,4#8a -[25.307] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[25.308] write(): <13> Tx: $00000000#80 -[25.309] read(): <13> Rx: $m200002ac,4#b5 -[25.309] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[25.309] write(): <13> Tx: $00000000#80 -[25.310] read(): <13> Rx: $m200002a4,4#86 -[25.310] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[25.310] write(): <13> Tx: $0000c842#c1 -[25.311] read(): <13> Rx: $m200002a0,4#82 -[25.311] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[25.312] write(): <13> Tx: $0000c842#c1 -[25.513] read(): <13> Rx: $m200002a8,4#8a -[25.514] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[25.515] write(): <13> Tx: $00000000#80 -[25.516] read(): <13> Rx: $m200002ac,4#b5 -[25.516] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[25.517] write(): <13> Tx: $00000000#80 -[25.518] read(): <13> Rx: $m200002a4,4#86 -[25.518] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[25.519] write(): <13> Tx: $0000c842#c1 -[25.520] read(): <13> Rx: $m200002a0,4#82 -[25.520] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[25.521] write(): <13> Tx: $0000c842#c1 -[25.723] read(): <13> Rx: $m200002a8,4#8a -[25.723] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[25.724] write(): <13> Tx: $00000000#80 -[25.725] read(): <13> Rx: $m200002ac,4#b5 -[25.725] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[25.726] write(): <13> Tx: $00000000#80 -[25.727] read(): <13> Rx: $m200002a4,4#86 -[25.727] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[25.727] write(): <13> Tx: $0000c842#c1 -[25.729] read(): <13> Rx: $m200002a0,4#82 -[25.729] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[25.729] write(): <13> Tx: $0000c842#c1 -[25.931] read(): <13> Rx: $m200002a8,4#8a -[25.931] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[25.932] write(): <13> Tx: $00000000#80 -[25.933] read(): <13> Rx: $m200002ac,4#b5 -[25.933] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[25.934] write(): <13> Tx: $00000000#80 -[25.935] read(): <13> Rx: $m200002a4,4#86 -[25.935] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[25.935] write(): <13> Tx: $0000c842#c1 -[25.937] read(): <13> Rx: $m200002a0,4#82 -[25.937] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[25.937] write(): <13> Tx: $0000c842#c1 -[26.139] read(): <13> Rx: $m200002a8,4#8a -[26.139] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[26.140] write(): <13> Tx: $00000000#80 -[26.141] read(): <13> Rx: $m200002ac,4#b5 -[26.141] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[26.142] write(): <13> Tx: $00000000#80 -[26.143] read(): <13> Rx: $m200002a4,4#86 -[26.143] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[26.144] write(): <13> Tx: $0000c842#c1 -[26.145] read(): <13> Rx: $m200002a0,4#82 -[26.145] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[26.146] write(): <13> Tx: $0000c842#c1 -[26.347] read(): <13> Rx: $m200002a8,4#8a -[26.347] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[26.347] write(): <13> Tx: $00000000#80 -[26.348] read(): <13> Rx: $m200002ac,4#b5 -[26.348] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[26.349] write(): <13> Tx: $00000000#80 -[26.350] read(): <13> Rx: $m200002a4,4#86 -[26.350] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[26.350] write(): <13> Tx: $0000c842#c1 -[26.350] read(): <13> Rx: $m200002a0,4#82 -[26.350] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[26.351] write(): <13> Tx: $0000c842#c1 -[26.552] read(): <13> Rx: $m200002a8,4#8a -[26.552] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[26.552] write(): <13> Tx: $00000000#80 -[26.553] read(): <13> Rx: $m200002ac,4#b5 -[26.553] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[26.554] write(): <13> Tx: $00000000#80 -[26.555] read(): <13> Rx: $m200002a4,4#86 -[26.555] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[26.556] write(): <13> Tx: $0000c842#c1 -[26.557] read(): <13> Rx: $m200002a0,4#82 -[26.557] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[26.558] write(): <13> Tx: $0000c842#c1 -[26.760] read(): <13> Rx: $m200002a8,4#8a -[26.760] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[26.760] write(): <13> Tx: $00000000#80 -[26.762] read(): <13> Rx: $m200002ac,4#b5 -[26.762] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[26.762] write(): <13> Tx: $00000000#80 -[26.763] read(): <13> Rx: $m200002a4,4#86 -[26.763] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[26.764] write(): <13> Tx: $0000c842#c1 -[26.764] read(): <13> Rx: $m200002a0,4#82 -[26.764] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[26.765] write(): <13> Tx: $0000c842#c1 -[26.966] read(): <13> Rx: $m200002a8,4#8a -[26.966] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[26.968] write(): <13> Tx: $00000000#80 -[26.969] read(): <13> Rx: $m200002ac,4#b5 -[26.969] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[26.969] write(): <13> Tx: $00000000#80 -[26.970] read(): <13> Rx: $m200002a4,4#86 -[26.970] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[26.971] write(): <13> Tx: $0000c842#c1 -[26.972] read(): <13> Rx: $m200002a0,4#82 -[26.972] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[26.972] write(): <13> Tx: $0000c842#c1 -[27.174] read(): <13> Rx: $m200002a8,4#8a -[27.174] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[27.175] write(): <13> Tx: $00000000#80 -[27.176] read(): <13> Rx: $m200002ac,4#b5 -[27.176] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[27.176] write(): <13> Tx: $00000000#80 -[27.177] read(): <13> Rx: $m200002a4,4#86 -[27.178] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[27.178] write(): <13> Tx: $0000c842#c1 -[27.179] read(): <13> Rx: $m200002a0,4#82 -[27.179] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[27.179] write(): <13> Tx: $0000c842#c1 -[27.381] read(): <13> Rx: $m200002a8,4#8a -[27.381] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[27.381] write(): <13> Tx: $00000000#80 -[27.382] read(): <13> Rx: $m200002ac,4#b5 -[27.382] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[27.383] write(): <13> Tx: $00000000#80 -[27.384] read(): <13> Rx: $m200002a4,4#86 -[27.384] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[27.385] write(): <13> Tx: $0000c842#c1 -[27.386] read(): <13> Rx: $m200002a0,4#82 -[27.386] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[27.386] write(): <13> Tx: $0000c842#c1 -[27.587] read(): <13> Rx: $m200002a8,4#8a -[27.588] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[27.588] write(): <13> Tx: $00000000#80 -[27.588] read(): <13> Rx: $m200002ac,4#b5 -[27.588] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[27.589] write(): <13> Tx: $00000000#80 -[27.589] read(): <13> Rx: $m200002a4,4#86 -[27.589] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[27.589] write(): <13> Tx: $0000c842#c1 -[27.590] read(): <13> Rx: $m200002a0,4#82 -[27.590] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[27.590] write(): <13> Tx: $0000c842#c1 -[27.792] read(): <13> Rx: $m200002a8,4#8a -[27.792] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[27.792] write(): <13> Tx: $00000000#80 -[27.793] read(): <13> Rx: $m200002ac,4#b5 -[27.794] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[27.794] write(): <13> Tx: $00000000#80 -[27.795] read(): <13> Rx: $m200002a4,4#86 -[27.795] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[27.796] write(): <13> Tx: $0000c842#c1 -[27.797] read(): <13> Rx: $m200002a0,4#82 -[27.797] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[27.798] write(): <13> Tx: $0000c842#c1 -[27.999] read(): <13> Rx: $m200002a8,4#8a -[28.000] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[28.000] write(): <13> Tx: $00000000#80 -[28.001] read(): <13> Rx: $m200002ac,4#b5 -[28.001] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[28.002] write(): <13> Tx: $00000000#80 -[28.003] read(): <13> Rx: $m200002a4,4#86 -[28.003] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[28.004] write(): <13> Tx: $0000c842#c1 -[28.004] read(): <13> Rx: $m200002a0,4#82 -[28.004] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[28.005] write(): <13> Tx: $0000c842#c1 -[28.206] read(): <13> Rx: $m200002a8,4#8a -[28.206] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[28.206] write(): <13> Tx: $00000000#80 -[28.207] read(): <13> Rx: $m200002ac,4#b5 -[28.207] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[28.207] write(): <13> Tx: $00000000#80 -[28.207] read(): <13> Rx: $m200002a4,4#86 -[28.207] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[28.208] write(): <13> Tx: $0000c842#c1 -[28.208] read(): <13> Rx: $m200002a0,4#82 -[28.208] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[28.208] write(): <13> Tx: $0000c842#c1 -[28.409] read(): <13> Rx: $m200002a8,4#8a -[28.409] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[28.410] write(): <13> Tx: $00000000#80 -[28.411] read(): <13> Rx: $m200002ac,4#b5 -[28.411] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[28.412] write(): <13> Tx: $00000000#80 -[28.413] read(): <13> Rx: $m200002a4,4#86 -[28.413] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[28.414] write(): <13> Tx: $0000c842#c1 -[28.415] read(): <13> Rx: $m200002a0,4#82 -[28.415] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[28.416] write(): <13> Tx: $0000c842#c1 -[28.617] read(): <13> Rx: $m200002a8,4#8a -[28.617] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[28.618] write(): <13> Tx: $00000000#80 -[28.619] read(): <13> Rx: $m200002ac,4#b5 -[28.619] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[28.620] write(): <13> Tx: $00000000#80 -[28.621] read(): <13> Rx: $m200002a4,4#86 -[28.621] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[28.621] write(): <13> Tx: $0000c842#c1 -[28.623] read(): <13> Rx: $m200002a0,4#82 -[28.623] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[28.623] write(): <13> Tx: $0000c842#c1 -[28.824] read(): <13> Rx: $m200002a8,4#8a -[28.824] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[28.825] write(): <13> Tx: $00000000#80 -[28.825] read(): <13> Rx: $m200002ac,4#b5 -[28.825] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[28.825] write(): <13> Tx: $00000000#80 -[28.826] read(): <13> Rx: $m200002a4,4#86 -[28.826] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[28.826] write(): <13> Tx: $0000c842#c1 -[28.827] read(): <13> Rx: $m200002a0,4#82 -[28.827] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[28.827] write(): <13> Tx: $0000c842#c1 -[29.028] read(): <13> Rx: $m200002a8,4#8a -[29.028] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[29.029] write(): <13> Tx: $00000000#80 -[29.029] read(): <13> Rx: $m200002ac,4#b5 -[29.029] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[29.029] write(): <13> Tx: $00000000#80 -[29.030] read(): <13> Rx: $m200002a4,4#86 -[29.030] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[29.030] write(): <13> Tx: $0000c842#c1 -[29.030] read(): <13> Rx: $m200002a0,4#82 -[29.030] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[29.031] write(): <13> Tx: $0000c842#c1 -[29.232] read(): <13> Rx: $m200002a8,4#8a -[29.232] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[29.233] write(): <13> Tx: $00000000#80 -[29.234] read(): <13> Rx: $m200002ac,4#b5 -[29.234] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[29.235] write(): <13> Tx: $00000000#80 -[29.236] read(): <13> Rx: $m200002a4,4#86 -[29.236] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[29.236] write(): <13> Tx: $0000c842#c1 -[29.237] read(): <13> Rx: $m200002a0,4#82 -[29.237] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[29.238] write(): <13> Tx: $0000c842#c1 -[29.440] read(): <13> Rx: $m200002a8,4#8a -[29.440] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[29.440] write(): <13> Tx: $00000000#80 -[29.441] read(): <13> Rx: $m200002ac,4#b5 -[29.441] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[29.442] write(): <13> Tx: $00000000#80 -[29.443] read(): <13> Rx: $m200002a4,4#86 -[29.443] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[29.444] write(): <13> Tx: $0000c842#c1 -[29.444] read(): <13> Rx: $m200002a0,4#82 -[29.444] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[29.445] write(): <13> Tx: $0000c842#c1 -[29.647] read(): <13> Rx: $m200002a8,4#8a -[29.647] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[29.648] write(): <13> Tx: $00000000#80 -[29.649] read(): <13> Rx: $m200002ac,4#b5 -[29.649] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[29.650] write(): <13> Tx: $00000000#80 -[29.651] read(): <13> Rx: $m200002a4,4#86 -[29.651] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[29.652] write(): <13> Tx: $0000c842#c1 -[29.653] read(): <13> Rx: $m200002a0,4#82 -[29.653] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[29.653] write(): <13> Tx: $0000c842#c1 -[29.855] read(): <13> Rx: $m200002a8,4#8a -[29.855] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[29.855] write(): <13> Tx: $00000000#80 -[29.857] read(): <13> Rx: $m200002ac,4#b5 -[29.857] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[29.857] write(): <13> Tx: $00000000#80 -[29.858] read(): <13> Rx: $m200002a4,4#86 -[29.858] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[29.861] write(): <13> Tx: $0000c842#c1 -[29.862] read(): <13> Rx: $m200002a0,4#82 -[29.862] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[29.863] write(): <13> Tx: $0000c842#c1 -[30.065] read(): <13> Rx: $m200002a8,4#8a -[30.065] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[30.065] write(): <13> Tx: $00000000#80 -[30.067] read(): <13> Rx: $m200002ac,4#b5 -[30.067] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[30.067] write(): <13> Tx: $00000000#80 -[30.069] read(): <13> Rx: $m200002a4,4#86 -[30.069] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[30.069] write(): <13> Tx: $0000c842#c1 -[30.070] read(): <13> Rx: $m200002a0,4#82 -[30.070] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[30.070] write(): <13> Tx: $0000c842#c1 -[30.272] read(): <13> Rx: $m200002a8,4#8a -[30.272] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[30.272] write(): <13> Tx: $00000000#80 -[30.272] read(): <13> Rx: $m200002ac,4#b5 -[30.272] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[30.273] write(): <13> Tx: $00000000#80 -[30.273] read(): <13> Rx: $m200002a4,4#86 -[30.273] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[30.274] write(): <13> Tx: $0000c842#c1 -[30.274] read(): <13> Rx: $m200002a0,4#82 -[30.274] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[30.274] write(): <13> Tx: $0000c842#c1 -[30.475] read(): <13> Rx: $m200002a8,4#8a -[30.475] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[30.476] write(): <13> Tx: $00000000#80 -[30.476] read(): <13> Rx: $m200002ac,4#b5 -[30.476] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[30.477] write(): <13> Tx: $00000000#80 -[30.477] read(): <13> Rx: $m200002a4,4#86 -[30.477] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[30.477] write(): <13> Tx: $0000c842#c1 -[30.478] read(): <13> Rx: $m200002a0,4#82 -[30.478] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[30.478] write(): <13> Tx: $0000c842#c1 -[30.679] read(): <13> Rx: $m200002a8,4#8a -[30.680] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[30.680] write(): <13> Tx: $00000000#80 -[30.681] read(): <13> Rx: $m200002ac,4#b5 -[30.681] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[30.681] write(): <13> Tx: $00000000#80 -[30.682] read(): <13> Rx: $m200002a4,4#86 -[30.682] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[30.683] write(): <13> Tx: $0000c842#c1 -[30.684] read(): <13> Rx: $m200002a0,4#82 -[30.684] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[30.685] write(): <13> Tx: $0000c842#c1 -[30.886] read(): <13> Rx: $m200002a8,4#8a -[30.886] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[30.887] write(): <13> Tx: $00000000#80 -[30.887] read(): <13> Rx: $m200002ac,4#b5 -[30.887] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[30.887] write(): <13> Tx: $00000000#80 -[30.887] read(): <13> Rx: $m200002a4,4#86 -[30.887] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[30.888] write(): <13> Tx: $0000c842#c1 -[30.888] read(): <13> Rx: $m200002a0,4#82 -[30.888] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[30.888] write(): <13> Tx: $0000c842#c1 -[31.090] read(): <13> Rx: $m200002a8,4#8a -[31.090] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[31.090] write(): <13> Tx: $00000000#80 -[31.092] read(): <13> Rx: $m200002ac,4#b5 -[31.092] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[31.092] write(): <13> Tx: $00000000#80 -[31.093] read(): <13> Rx: $m200002a4,4#86 -[31.093] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[31.094] write(): <13> Tx: $0000c842#c1 -[31.095] read(): <13> Rx: $m200002a0,4#82 -[31.095] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[31.095] write(): <13> Tx: $0000c842#c1 -[31.297] read(): <13> Rx: $m200002a8,4#8a -[31.297] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[31.297] write(): <13> Tx: $00000000#80 -[31.299] read(): <13> Rx: $m200002ac,4#b5 -[31.299] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[31.299] write(): <13> Tx: $00000000#80 -[31.300] read(): <13> Rx: $m200002a4,4#86 -[31.300] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[31.301] write(): <13> Tx: $0000c842#c1 -[31.302] read(): <13> Rx: $m200002a0,4#82 -[31.302] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[31.302] write(): <13> Tx: $0000c842#c1 -[31.504] read(): <13> Rx: $m200002a8,4#8a -[31.504] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[31.505] write(): <13> Tx: $00000000#80 -[31.506] read(): <13> Rx: $m200002ac,4#b5 -[31.506] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[31.506] write(): <13> Tx: $00000000#80 -[31.507] read(): <13> Rx: $m200002a4,4#86 -[31.507] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[31.508] write(): <13> Tx: $0000c842#c1 -[31.509] read(): <13> Rx: $m200002a0,4#82 -[31.509] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[31.510] write(): <13> Tx: $0000c842#c1 -[31.711] read(): <13> Rx: $m200002a8,4#8a -[31.711] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[31.712] write(): <13> Tx: $00000000#80 -[31.713] read(): <13> Rx: $m200002ac,4#b5 -[31.713] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[31.714] write(): <13> Tx: $00000000#80 -[31.715] read(): <13> Rx: $m200002a4,4#86 -[31.715] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[31.716] write(): <13> Tx: $0000c842#c1 -[31.716] read(): <13> Rx: $m200002a0,4#82 -[31.717] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[31.717] write(): <13> Tx: $0000c842#c1 -[31.920] read(): <13> Rx: $m200002a8,4#8a -[31.920] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[31.920] write(): <13> Tx: $00000000#80 -[31.921] read(): <13> Rx: $m200002ac,4#b5 -[31.921] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[31.922] write(): <13> Tx: $00000000#80 -[31.923] read(): <13> Rx: $m200002a4,4#86 -[31.923] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[31.924] write(): <13> Tx: $0000c842#c1 -[31.925] read(): <13> Rx: $m200002a0,4#82 -[31.925] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[31.926] write(): <13> Tx: $0000c842#c1 -[32.128] read(): <13> Rx: $m200002a8,4#8a -[32.128] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[32.129] write(): <13> Tx: $00000000#80 -[32.130] read(): <13> Rx: $m200002ac,4#b5 -[32.130] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[32.131] write(): <13> Tx: $00000000#80 -[32.132] read(): <13> Rx: $m200002a4,4#86 -[32.132] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[32.133] write(): <13> Tx: $0000c842#c1 -[32.134] read(): <13> Rx: $m200002a0,4#82 -[32.134] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[32.135] write(): <13> Tx: $0000c842#c1 -[32.336] read(): <13> Rx: $m200002a8,4#8a -[32.336] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[32.337] write(): <13> Tx: $00000000#80 -[32.338] read(): <13> Rx: $m200002ac,4#b5 -[32.338] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[32.339] write(): <13> Tx: $00000000#80 -[32.340] read(): <13> Rx: $m200002a4,4#86 -[32.340] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[32.340] write(): <13> Tx: $0000c842#c1 -[32.342] read(): <13> Rx: $m200002a0,4#82 -[32.342] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[32.342] write(): <13> Tx: $0000c842#c1 -[32.544] read(): <13> Rx: $m200002a8,4#8a -[32.544] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[32.545] write(): <13> Tx: $00000000#80 -[32.546] read(): <13> Rx: $m200002ac,4#b5 -[32.546] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[32.547] write(): <13> Tx: $00000000#80 -[32.548] read(): <13> Rx: $m200002a4,4#86 -[32.548] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[32.549] write(): <13> Tx: $0000c842#c1 -[32.550] read(): <13> Rx: $m200002a0,4#82 -[32.550] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[32.551] write(): <13> Tx: $0000c842#c1 -[32.753] read(): <13> Rx: $m200002a8,4#8a -[32.753] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[32.753] write(): <13> Tx: $00000000#80 -[32.755] read(): <13> Rx: $m200002ac,4#b5 -[32.755] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[32.756] write(): <13> Tx: $00000000#80 -[32.757] read(): <13> Rx: $m200002a4,4#86 -[32.757] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[32.758] write(): <13> Tx: $0000c842#c1 -[32.759] read(): <13> Rx: $m200002a0,4#82 -[32.759] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[32.759] write(): <13> Tx: $0000c842#c1 -[32.961] read(): <13> Rx: $m200002a8,4#8a -[32.961] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[32.962] write(): <13> Tx: $00000000#80 -[32.964] read(): <13> Rx: $m200002ac,4#b5 -[32.964] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[32.965] write(): <13> Tx: $00000000#80 -[32.966] read(): <13> Rx: $m200002a4,4#86 -[32.966] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[32.967] write(): <13> Tx: $0000c842#c1 -[32.968] read(): <13> Rx: $m200002a0,4#82 -[32.968] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[32.969] write(): <13> Tx: $0000c842#c1 -[33.170] read(): <13> Rx: $m200002a8,4#8a -[33.170] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[33.170] write(): <13> Tx: $00000000#80 -[33.171] read(): <13> Rx: $m200002ac,4#b5 -[33.171] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[33.171] write(): <13> Tx: $00000000#80 -[33.171] read(): <13> Rx: $m200002a4,4#86 -[33.171] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[33.172] write(): <13> Tx: $0000c842#c1 -[33.172] read(): <13> Rx: $m200002a0,4#82 -[33.172] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[33.172] write(): <13> Tx: $0000c842#c1 -[33.373] read(): <13> Rx: $m200002a8,4#8a -[33.373] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[33.374] write(): <13> Tx: $00000000#80 -[33.374] read(): <13> Rx: $m200002ac,4#b5 -[33.374] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[33.374] write(): <13> Tx: $00000000#80 -[33.375] read(): <13> Rx: $m200002a4,4#86 -[33.375] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[33.375] write(): <13> Tx: $0000c842#c1 -[33.376] read(): <13> Rx: $m200002a0,4#82 -[33.376] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[33.376] write(): <13> Tx: $0000c842#c1 -[33.577] read(): <13> Rx: $m200002a8,4#8a -[33.577] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[33.578] write(): <13> Tx: $00000000#80 -[33.579] read(): <13> Rx: $m200002ac,4#b5 -[33.579] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[33.579] write(): <13> Tx: $00000000#80 -[33.580] read(): <13> Rx: $m200002a4,4#86 -[33.580] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[33.580] write(): <13> Tx: $0000c842#c1 -[33.581] read(): <13> Rx: $m200002a0,4#82 -[33.581] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[33.581] write(): <13> Tx: $0000c842#c1 -[33.783] read(): <13> Rx: $m200002a8,4#8a -[33.783] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[33.784] write(): <13> Tx: $00000000#80 -[33.785] read(): <13> Rx: $m200002ac,4#b5 -[33.785] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[33.786] write(): <13> Tx: $00000000#80 -[33.787] read(): <13> Rx: $m200002a4,4#86 -[33.787] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[33.788] write(): <13> Tx: $0000c842#c1 -[33.789] read(): <13> Rx: $m200002a0,4#82 -[33.789] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[33.790] write(): <13> Tx: $0000c842#c1 -[33.992] read(): <13> Rx: $m200002a8,4#8a -[33.992] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[33.993] write(): <13> Tx: $00000000#80 -[33.994] read(): <13> Rx: $m200002ac,4#b5 -[33.994] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[33.995] write(): <13> Tx: $00000000#80 -[33.997] read(): <13> Rx: $m200002a4,4#86 -[33.997] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[33.997] write(): <13> Tx: $0000c842#c1 -[33.999] read(): <13> Rx: $m200002a0,4#82 -[33.999] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[33.999] write(): <13> Tx: $0000c842#c1 -[34.201] read(): <13> Rx: $m200002a8,4#8a -[34.201] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[34.202] write(): <13> Tx: $00000000#80 -[34.203] read(): <13> Rx: $m200002ac,4#b5 -[34.203] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[34.204] write(): <13> Tx: $00000000#80 -[34.205] read(): <13> Rx: $m200002a4,4#86 -[34.205] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[34.206] write(): <13> Tx: $0000c842#c1 -[34.207] read(): <13> Rx: $m200002a0,4#82 -[34.207] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[34.208] write(): <13> Tx: $0000c842#c1 -[34.410] read(): <13> Rx: $m200002a8,4#8a -[34.410] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[34.410] write(): <13> Tx: $00000000#80 -[34.411] read(): <13> Rx: $m200002ac,4#b5 -[34.412] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[34.412] write(): <13> Tx: $00000000#80 -[34.413] read(): <13> Rx: $m200002a4,4#86 -[34.413] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[34.414] write(): <13> Tx: $0000c842#c1 -[34.415] read(): <13> Rx: $m200002a0,4#82 -[34.415] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[34.415] write(): <13> Tx: $0000c842#c1 -[34.617] read(): <13> Rx: $m200002a8,4#8a -[34.617] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[34.618] write(): <13> Tx: $00000000#80 -[34.619] read(): <13> Rx: $m200002ac,4#b5 -[34.620] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[34.621] write(): <13> Tx: $00000000#80 -[34.622] read(): <13> Rx: $m200002a4,4#86 -[34.622] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[34.623] write(): <13> Tx: $0000c842#c1 -[34.624] read(): <13> Rx: $m200002a0,4#82 -[34.624] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[34.625] write(): <13> Tx: $0000c842#c1 -[34.827] read(): <13> Rx: $m200002a8,4#8a -[34.827] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[34.827] write(): <13> Tx: $00000000#80 -[34.829] read(): <13> Rx: $m200002ac,4#b5 -[34.829] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[34.829] write(): <13> Tx: $00000000#80 -[34.830] read(): <13> Rx: $m200002a4,4#86 -[34.830] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[34.831] write(): <13> Tx: $0000c842#c1 -[34.831] read(): <13> Rx: $m200002a0,4#82 -[34.831] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[34.832] write(): <13> Tx: $0000c842#c1 -[35.034] read(): <13> Rx: $m200002a8,4#8a -[35.034] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[35.034] write(): <13> Tx: $00000000#80 -[35.036] read(): <13> Rx: $m200002ac,4#b5 -[35.036] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[35.036] write(): <13> Tx: $00000000#80 -[35.037] read(): <13> Rx: $m200002a4,4#86 -[35.037] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[35.038] write(): <13> Tx: $0000c842#c1 -[35.039] read(): <13> Rx: $m200002a0,4#82 -[35.039] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[35.039] write(): <13> Tx: $0000c842#c1 -[35.241] read(): <13> Rx: $m200002a8,4#8a -[35.241] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[35.242] write(): <13> Tx: $00000000#80 -[35.243] read(): <13> Rx: $m200002ac,4#b5 -[35.243] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[35.244] write(): <13> Tx: $00000000#80 -[35.245] read(): <13> Rx: $m200002a4,4#86 -[35.245] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[35.246] write(): <13> Tx: $0000c842#c1 -[35.247] read(): <13> Rx: $m200002a0,4#82 -[35.247] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[35.247] write(): <13> Tx: $0000c842#c1 -[35.449] read(): <13> Rx: $m200002a8,4#8a -[35.449] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[35.449] write(): <13> Tx: $00000000#80 -[35.450] read(): <13> Rx: $m200002ac,4#b5 -[35.450] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[35.451] write(): <13> Tx: $00000000#80 -[35.452] read(): <13> Rx: $m200002a4,4#86 -[35.452] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[35.452] write(): <13> Tx: $0000c842#c1 -[35.453] read(): <13> Rx: $m200002a0,4#82 -[35.453] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[35.454] write(): <13> Tx: $0000c842#c1 -[35.655] read(): <13> Rx: $m200002a8,4#8a -[35.656] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[35.656] write(): <13> Tx: $00000000#80 -[35.657] read(): <13> Rx: $m200002ac,4#b5 -[35.657] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[35.658] write(): <13> Tx: $00000000#80 -[35.659] read(): <13> Rx: $m200002a4,4#86 -[35.659] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[35.659] write(): <13> Tx: $0000c842#c1 -[35.660] read(): <13> Rx: $m200002a0,4#82 -[35.660] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[35.661] write(): <13> Tx: $0000c842#c1 -[35.863] read(): <13> Rx: $m200002a8,4#8a -[35.863] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[35.863] write(): <13> Tx: $00000000#80 -[35.865] read(): <13> Rx: $m200002ac,4#b5 -[35.865] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[35.866] write(): <13> Tx: $00000000#80 -[35.867] read(): <13> Rx: $m200002a4,4#86 -[35.867] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[35.868] write(): <13> Tx: $0000c842#c1 -[35.869] read(): <13> Rx: $m200002a0,4#82 -[35.869] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[35.870] write(): <13> Tx: $0000c842#c1 -[36.072] read(): <13> Rx: $m200002a8,4#8a -[36.072] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[36.073] write(): <13> Tx: $00000000#80 -[36.074] read(): <13> Rx: $m200002ac,4#b5 -[36.074] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[36.074] write(): <13> Tx: $00000000#80 -[36.075] read(): <13> Rx: $m200002a4,4#86 -[36.076] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[36.076] write(): <13> Tx: $0000c842#c1 -[36.078] read(): <13> Rx: $m200002a0,4#82 -[36.078] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[36.079] write(): <13> Tx: $0000c842#c1 -[36.281] read(): <13> Rx: $m200002a8,4#8a -[36.281] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[36.282] write(): <13> Tx: $00000000#80 -[36.283] read(): <13> Rx: $m200002ac,4#b5 -[36.283] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[36.284] write(): <13> Tx: $00000000#80 -[36.285] read(): <13> Rx: $m200002a4,4#86 -[36.285] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[36.286] write(): <13> Tx: $0000c842#c1 -[36.287] read(): <13> Rx: $m200002a0,4#82 -[36.287] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[36.287] write(): <13> Tx: $0000c842#c1 -[36.489] read(): <13> Rx: $m200002a8,4#8a -[36.489] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[36.490] write(): <13> Tx: $00000000#80 -[36.491] read(): <13> Rx: $m200002ac,4#b5 -[36.491] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[36.491] write(): <13> Tx: $00000000#80 -[36.493] read(): <13> Rx: $m200002a4,4#86 -[36.493] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[36.493] write(): <13> Tx: $0000c842#c1 -[36.494] read(): <13> Rx: $m200002a0,4#82 -[36.494] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[36.495] write(): <13> Tx: $0000c842#c1 -[36.697] read(): <13> Rx: $m200002a8,4#8a -[36.697] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[36.697] write(): <13> Tx: $00000000#80 -[36.699] read(): <13> Rx: $m200002ac,4#b5 -[36.699] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[36.700] write(): <13> Tx: $00000000#80 -[36.701] read(): <13> Rx: $m200002a4,4#86 -[36.701] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[36.702] write(): <13> Tx: $0000c842#c1 -[36.704] read(): <13> Rx: $m200002a0,4#82 -[36.704] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[36.705] write(): <13> Tx: $0000c842#c1 -[36.906] read(): <13> Rx: $m200002a8,4#8a -[36.906] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[36.907] write(): <13> Tx: $00000000#80 -[36.908] read(): <13> Rx: $m200002ac,4#b5 -[36.908] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[36.909] write(): <13> Tx: $00000000#80 -[36.910] read(): <13> Rx: $m200002a4,4#86 -[36.910] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[36.911] write(): <13> Tx: $0000c842#c1 -[36.912] read(): <13> Rx: $m200002a0,4#82 -[36.912] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[36.913] write(): <13> Tx: $0000c842#c1 -[37.114] read(): <13> Rx: $m200002a8,4#8a -[37.114] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[37.115] write(): <13> Tx: $00000000#80 -[37.116] read(): <13> Rx: $m200002ac,4#b5 -[37.116] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[37.117] write(): <13> Tx: $00000000#80 -[37.118] read(): <13> Rx: $m200002a4,4#86 -[37.118] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[37.118] write(): <13> Tx: $0000c842#c1 -[37.119] read(): <13> Rx: $m200002a0,4#82 -[37.119] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[37.120] write(): <13> Tx: $0000c842#c1 -[37.322] read(): <13> Rx: $m200002a8,4#8a -[37.322] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[37.322] write(): <13> Tx: $00000000#80 -[37.323] read(): <13> Rx: $m200002ac,4#b5 -[37.323] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[37.324] write(): <13> Tx: $00000000#80 -[37.325] read(): <13> Rx: $m200002a4,4#86 -[37.325] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[37.325] write(): <13> Tx: $0000c842#c1 -[37.326] read(): <13> Rx: $m200002a0,4#82 -[37.326] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[37.327] write(): <13> Tx: $0000c842#c1 -[37.528] read(): <13> Rx: $m200002a8,4#8a -[37.528] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[37.529] write(): <13> Tx: $00000000#80 -[37.530] read(): <13> Rx: $m200002ac,4#b5 -[37.530] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[37.531] write(): <13> Tx: $00000000#80 -[37.532] read(): <13> Rx: $m200002a4,4#86 -[37.532] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[37.532] write(): <13> Tx: $0000c842#c1 -[37.533] read(): <13> Rx: $m200002a0,4#82 -[37.533] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[37.534] write(): <13> Tx: $0000c842#c1 -[37.735] read(): <13> Rx: $m200002a8,4#8a -[37.735] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[37.736] write(): <13> Tx: $00000000#80 -[37.736] read(): <13> Rx: $m200002ac,4#b5 -[37.736] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[37.736] write(): <13> Tx: $00000000#80 -[37.737] read(): <13> Rx: $m200002a4,4#86 -[37.737] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[37.737] write(): <13> Tx: $0000c842#c1 -[37.738] read(): <13> Rx: $m200002a0,4#82 -[37.738] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[37.738] write(): <13> Tx: $0000c842#c1 -[37.939] read(): <13> Rx: $m200002a8,4#8a -[37.940] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[37.940] write(): <13> Tx: $00000000#80 -[37.941] read(): <13> Rx: $m200002ac,4#b5 -[37.941] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[37.942] write(): <13> Tx: $00000000#80 -[37.943] read(): <13> Rx: $m200002a4,4#86 -[37.943] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[37.943] write(): <13> Tx: $0000c842#c1 -[37.944] read(): <13> Rx: $m200002a0,4#82 -[37.944] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[37.945] write(): <13> Tx: $0000c842#c1 -[38.147] read(): <13> Rx: $m200002a8,4#8a -[38.147] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[38.147] write(): <13> Tx: $00000000#80 -[38.149] read(): <13> Rx: $m200002ac,4#b5 -[38.149] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[38.150] write(): <13> Tx: $00000000#80 -[38.151] read(): <13> Rx: $m200002a4,4#86 -[38.151] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[38.152] write(): <13> Tx: $0000c842#c1 -[38.153] read(): <13> Rx: $m200002a0,4#82 -[38.153] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[38.153] write(): <13> Tx: $0000c842#c1 -[38.355] read(): <13> Rx: $m200002a8,4#8a -[38.355] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[38.356] write(): <13> Tx: $00000000#80 -[38.357] read(): <13> Rx: $m200002ac,4#b5 -[38.357] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[38.358] write(): <13> Tx: $00000000#80 -[38.359] read(): <13> Rx: $m200002a4,4#86 -[38.359] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[38.359] write(): <13> Tx: $0000c842#c1 -[38.361] read(): <13> Rx: $m200002a0,4#82 -[38.361] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[38.361] write(): <13> Tx: $0000c842#c1 -[38.564] read(): <13> Rx: $m200002a8,4#8a -[38.564] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[38.565] write(): <13> Tx: $00000000#80 -[38.566] read(): <13> Rx: $m200002ac,4#b5 -[38.566] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[38.567] write(): <13> Tx: $00000000#80 -[38.568] read(): <13> Rx: $m200002a4,4#86 -[38.568] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[38.570] write(): <13> Tx: $0000c842#c1 -[38.570] read(): <13> Rx: $m200002a0,4#82 -[38.571] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[38.571] write(): <13> Tx: $0000c842#c1 -[38.773] read(): <13> Rx: $m200002a8,4#8a -[38.773] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[38.774] write(): <13> Tx: $00000000#80 -[38.776] read(): <13> Rx: $m200002ac,4#b5 -[38.776] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[38.777] write(): <13> Tx: $00000000#80 -[38.778] read(): <13> Rx: $m200002a4,4#86 -[38.778] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[38.778] write(): <13> Tx: $0000c842#c1 -[38.780] read(): <13> Rx: $m200002a0,4#82 -[38.780] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[38.780] write(): <13> Tx: $0000c842#c1 -[38.982] read(): <13> Rx: $m200002a8,4#8a -[38.982] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[38.983] write(): <13> Tx: $00000000#80 -[38.984] read(): <13> Rx: $m200002ac,4#b5 -[38.984] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[38.985] write(): <13> Tx: $00000000#80 -[38.986] read(): <13> Rx: $m200002a4,4#86 -[38.986] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[38.986] write(): <13> Tx: $0000c842#c1 -[38.988] read(): <13> Rx: $m200002a0,4#82 -[38.988] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[38.988] write(): <13> Tx: $0000c842#c1 -[39.190] read(): <13> Rx: $m200002a8,4#8a -[39.190] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[39.191] write(): <13> Tx: $00000000#80 -[39.192] read(): <13> Rx: $m200002ac,4#b5 -[39.192] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[39.193] write(): <13> Tx: $00000000#80 -[39.194] read(): <13> Rx: $m200002a4,4#86 -[39.194] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[39.195] write(): <13> Tx: $0000c842#c1 -[39.196] read(): <13> Rx: $m200002a0,4#82 -[39.196] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[39.197] write(): <13> Tx: $0000c842#c1 -[39.398] read(): <13> Rx: $m200002a8,4#8a -[39.398] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[39.399] write(): <13> Tx: $00000000#80 -[39.401] read(): <13> Rx: $m200002ac,4#b5 -[39.401] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[39.401] write(): <13> Tx: $00000000#80 -[39.403] read(): <13> Rx: $m200002a4,4#86 -[39.403] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[39.403] write(): <13> Tx: $0000c842#c1 -[39.404] read(): <13> Rx: $m200002a0,4#82 -[39.404] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[39.405] write(): <13> Tx: $0000c842#c1 -[39.607] read(): <13> Rx: $m200002a8,4#8a -[39.608] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[39.608] write(): <13> Tx: $00000000#80 -[39.610] read(): <13> Rx: $m200002ac,4#b5 -[39.610] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[39.610] write(): <13> Tx: $00000000#80 -[39.611] read(): <13> Rx: $m200002a4,4#86 -[39.611] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[39.612] write(): <13> Tx: $0000c842#c1 -[39.613] read(): <13> Rx: $m200002a0,4#82 -[39.613] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[39.614] write(): <13> Tx: $0000c842#c1 -[39.816] read(): <13> Rx: $m200002a8,4#8a -[39.816] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[39.817] write(): <13> Tx: $00000000#80 -[39.818] read(): <13> Rx: $m200002ac,4#b5 -[39.818] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[39.819] write(): <13> Tx: $00000000#80 -[39.820] read(): <13> Rx: $m200002a4,4#86 -[39.820] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[39.821] write(): <13> Tx: $0000c842#c1 -[39.822] read(): <13> Rx: $m200002a0,4#82 -[39.822] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[39.823] write(): <13> Tx: $0000c842#c1 -[40.024] read(): <13> Rx: $m200002a8,4#8a -[40.025] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[40.025] write(): <13> Tx: $00000000#80 -[40.026] read(): <13> Rx: $m200002ac,4#b5 -[40.026] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[40.027] write(): <13> Tx: $00000000#80 -[40.028] read(): <13> Rx: $m200002a4,4#86 -[40.029] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[40.029] write(): <13> Tx: $0000c842#c1 -[40.030] read(): <13> Rx: $m200002a0,4#82 -[40.030] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[40.030] write(): <13> Tx: $0000c842#c1 -[40.232] read(): <13> Rx: $m200002a8,4#8a -[40.232] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[40.233] write(): <13> Tx: $00000000#80 -[40.234] read(): <13> Rx: $m200002ac,4#b5 -[40.234] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[40.235] write(): <13> Tx: $00000000#80 -[40.237] read(): <13> Rx: $m200002a4,4#86 -[40.237] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[40.238] write(): <13> Tx: $0000c842#c1 -[40.239] read(): <13> Rx: $m200002a0,4#82 -[40.239] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[40.239] write(): <13> Tx: $0000c842#c1 -[40.441] read(): <13> Rx: $m200002a8,4#8a -[40.441] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[40.442] write(): <13> Tx: $00000000#80 -[40.443] read(): <13> Rx: $m200002ac,4#b5 -[40.443] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[40.444] write(): <13> Tx: $00000000#80 -[40.445] read(): <13> Rx: $m200002a4,4#86 -[40.445] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[40.446] write(): <13> Tx: $0000c842#c1 -[40.447] read(): <13> Rx: $m200002a0,4#82 -[40.447] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[40.447] write(): <13> Tx: $0000c842#c1 -[40.649] read(): <13> Rx: $m200002a8,4#8a -[40.649] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[40.650] write(): <13> Tx: $00000000#80 -[40.651] read(): <13> Rx: $m200002ac,4#b5 -[40.651] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[40.651] write(): <13> Tx: $00000000#80 -[40.652] read(): <13> Rx: $m200002a4,4#86 -[40.652] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[40.653] write(): <13> Tx: $0000c842#c1 -[40.655] read(): <13> Rx: $m200002a0,4#82 -[40.655] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[40.655] write(): <13> Tx: $0000c842#c1 -[40.857] read(): <13> Rx: $m200002a8,4#8a -[40.857] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[40.858] write(): <13> Tx: $00000000#80 -[40.859] read(): <13> Rx: $m200002ac,4#b5 -[40.859] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[40.860] write(): <13> Tx: $00000000#80 -[40.861] read(): <13> Rx: $m200002a4,4#86 -[40.861] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[40.861] write(): <13> Tx: $0000c842#c1 -[40.862] read(): <13> Rx: $m200002a0,4#82 -[40.862] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[40.863] write(): <13> Tx: $0000c842#c1 -[41.065] read(): <13> Rx: $m200002a8,4#8a -[41.065] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[41.065] write(): <13> Tx: $00000000#80 -[41.067] read(): <13> Rx: $m200002ac,4#b5 -[41.067] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[41.067] write(): <13> Tx: $00000000#80 -[41.068] read(): <13> Rx: $m200002a4,4#86 -[41.069] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[41.069] write(): <13> Tx: $0000c842#c1 -[41.070] read(): <13> Rx: $m200002a0,4#82 -[41.070] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[41.070] write(): <13> Tx: $0000c842#c1 -[41.272] read(): <13> Rx: $m200002a8,4#8a -[41.272] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[41.273] write(): <13> Tx: $00000000#80 -[41.274] read(): <13> Rx: $m200002ac,4#b5 -[41.274] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[41.274] write(): <13> Tx: $00000000#80 -[41.276] read(): <13> Rx: $m200002a4,4#86 -[41.276] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[41.277] write(): <13> Tx: $0000c842#c1 -[41.278] read(): <13> Rx: $m200002a0,4#82 -[41.278] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[41.278] write(): <13> Tx: $0000c842#c1 -[41.480] read(): <13> Rx: $m200002a8,4#8a -[41.480] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[41.481] write(): <13> Tx: $00000000#80 -[41.482] read(): <13> Rx: $m200002ac,4#b5 -[41.482] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[41.484] write(): <13> Tx: $00000000#80 -[41.485] read(): <13> Rx: $m200002a4,4#86 -[41.485] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[41.486] write(): <13> Tx: $0000c842#c1 -[41.487] read(): <13> Rx: $m200002a0,4#82 -[41.487] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[41.488] write(): <13> Tx: $0000c842#c1 -[41.690] read(): <13> Rx: $m200002a8,4#8a -[41.690] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[41.691] write(): <13> Tx: $00000000#80 -[41.692] read(): <13> Rx: $m200002ac,4#b5 -[41.692] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[41.693] write(): <13> Tx: $00000000#80 -[41.694] read(): <13> Rx: $m200002a4,4#86 -[41.694] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[41.695] write(): <13> Tx: $0000c842#c1 -[41.696] read(): <13> Rx: $m200002a0,4#82 -[41.696] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[41.697] write(): <13> Tx: $0000c842#c1 -[41.899] read(): <13> Rx: $m200002a8,4#8a -[41.899] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[41.900] write(): <13> Tx: $00000000#80 -[41.902] read(): <13> Rx: $m200002ac,4#b5 -[41.902] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[41.903] write(): <13> Tx: $00000000#80 -[41.904] read(): <13> Rx: $m200002a4,4#86 -[41.904] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[41.905] write(): <13> Tx: $0000c842#c1 -[41.906] read(): <13> Rx: $m200002a0,4#82 -[41.906] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[41.906] write(): <13> Tx: $0000c842#c1 -[42.109] read(): <13> Rx: $m200002a8,4#8a -[42.109] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[42.109] write(): <13> Tx: $00000000#80 -[42.111] read(): <13> Rx: $m200002ac,4#b5 -[42.111] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[42.111] write(): <13> Tx: $00000000#80 -[42.113] read(): <13> Rx: $m200002a4,4#86 -[42.113] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[42.113] write(): <13> Tx: $0000c842#c1 -[42.114] read(): <13> Rx: $m200002a0,4#82 -[42.114] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[42.115] write(): <13> Tx: $0000c842#c1 -[42.317] read(): <13> Rx: $m200002a8,4#8a -[42.317] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[42.318] write(): <13> Tx: $00000000#80 -[42.319] read(): <13> Rx: $m200002ac,4#b5 -[42.319] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[42.320] write(): <13> Tx: $00000000#80 -[42.321] read(): <13> Rx: $m200002a4,4#86 -[42.321] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[42.321] write(): <13> Tx: $0000c842#c1 -[42.321] read(): <13> Rx: $m200002a0,4#82 -[42.321] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[42.322] write(): <13> Tx: $0000c842#c1 -[42.524] read(): <13> Rx: $m200002a8,4#8a -[42.524] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[42.524] write(): <13> Tx: $00000000#80 -[42.525] read(): <13> Rx: $m200002ac,4#b5 -[42.525] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[42.526] write(): <13> Tx: $00000000#80 -[42.527] read(): <13> Rx: $m200002a4,4#86 -[42.527] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[42.528] write(): <13> Tx: $0000c842#c1 -[42.529] read(): <13> Rx: $m200002a0,4#82 -[42.529] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[42.530] write(): <13> Tx: $0000c842#c1 -[42.732] read(): <13> Rx: $m200002a8,4#8a -[42.732] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[42.733] write(): <13> Tx: $00000000#80 -[42.734] read(): <13> Rx: $m200002ac,4#b5 -[42.734] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[42.735] write(): <13> Tx: $00000000#80 -[42.736] read(): <13> Rx: $m200002a4,4#86 -[42.736] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[42.737] write(): <13> Tx: $0000c842#c1 -[42.738] read(): <13> Rx: $m200002a0,4#82 -[42.738] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[42.739] write(): <13> Tx: $0000c842#c1 -[42.940] read(): <13> Rx: $m200002a8,4#8a -[42.941] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[42.941] write(): <13> Tx: $00000000#80 -[42.943] read(): <13> Rx: $m200002ac,4#b5 -[42.943] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[42.943] write(): <13> Tx: $00000000#80 -[42.945] read(): <13> Rx: $m200002a4,4#86 -[42.945] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[42.945] write(): <13> Tx: $0000c842#c1 -[42.946] read(): <13> Rx: $m200002a0,4#82 -[42.946] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[42.947] write(): <13> Tx: $0000c842#c1 -[43.149] read(): <13> Rx: $m200002a8,4#8a -[43.149] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[43.150] write(): <13> Tx: $00000000#80 -[43.151] read(): <13> Rx: $m200002ac,4#b5 -[43.151] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[43.152] write(): <13> Tx: $00000000#80 -[43.153] read(): <13> Rx: $m200002a4,4#86 -[43.153] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[43.154] write(): <13> Tx: $0000c842#c1 -[43.156] read(): <13> Rx: $m200002a0,4#82 -[43.156] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[43.157] write(): <13> Tx: $0000c842#c1 -[43.359] read(): <13> Rx: $m200002a8,4#8a -[43.359] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[43.360] write(): <13> Tx: $00000000#80 -[43.361] read(): <13> Rx: $m200002ac,4#b5 -[43.361] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[43.362] write(): <13> Tx: $00000000#80 -[43.363] read(): <13> Rx: $m200002a4,4#86 -[43.363] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[43.364] write(): <13> Tx: $0000c842#c1 -[43.365] read(): <13> Rx: $m200002a0,4#82 -[43.365] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[43.366] write(): <13> Tx: $0000c842#c1 -[43.568] read(): <13> Rx: $m200002a8,4#8a -[43.568] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[43.569] write(): <13> Tx: $00000000#80 -[43.570] read(): <13> Rx: $m200002ac,4#b5 -[43.570] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[43.571] write(): <13> Tx: $00000000#80 -[43.572] read(): <13> Rx: $m200002a4,4#86 -[43.572] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[43.572] write(): <13> Tx: $0000c842#c1 -[43.573] read(): <13> Rx: $m200002a0,4#82 -[43.573] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[43.575] write(): <13> Tx: $0000c842#c1 -[43.777] read(): <13> Rx: $m200002a8,4#8a -[43.777] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[43.778] write(): <13> Tx: $00000000#80 -[43.779] read(): <13> Rx: $m200002ac,4#b5 -[43.779] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[43.780] write(): <13> Tx: $00000000#80 -[43.781] read(): <13> Rx: $m200002a4,4#86 -[43.781] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[43.782] write(): <13> Tx: $0000c842#c1 -[43.783] read(): <13> Rx: $m200002a0,4#82 -[43.783] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[43.783] write(): <13> Tx: $0000c842#c1 -[43.986] read(): <13> Rx: $m200002a8,4#8a -[43.986] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[43.986] write(): <13> Tx: $00000000#80 -[43.988] read(): <13> Rx: $m200002ac,4#b5 -[43.988] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[43.988] write(): <13> Tx: $00000000#80 -[43.989] read(): <13> Rx: $m200002a4,4#86 -[43.989] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[43.990] write(): <13> Tx: $0000c842#c1 -[43.991] read(): <13> Rx: $m200002a0,4#82 -[43.991] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[43.991] write(): <13> Tx: $0000c842#c1 -[44.193] read(): <13> Rx: $m200002a8,4#8a -[44.193] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[44.194] write(): <13> Tx: $00000000#80 -[44.196] read(): <13> Rx: $m200002ac,4#b5 -[44.196] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[44.197] write(): <13> Tx: $00000000#80 -[44.198] read(): <13> Rx: $m200002a4,4#86 -[44.198] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[44.199] write(): <13> Tx: $0000c842#c1 -[44.200] read(): <13> Rx: $m200002a0,4#82 -[44.200] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[44.201] write(): <13> Tx: $0000c842#c1 -[44.403] read(): <13> Rx: $m200002a8,4#8a -[44.403] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[44.404] write(): <13> Tx: $00000000#80 -[44.405] read(): <13> Rx: $m200002ac,4#b5 -[44.405] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[44.406] write(): <13> Tx: $00000000#80 -[44.407] read(): <13> Rx: $m200002a4,4#86 -[44.407] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[44.408] write(): <13> Tx: $0000c842#c1 -[44.409] read(): <13> Rx: $m200002a0,4#82 -[44.409] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[44.410] write(): <13> Tx: $0000c842#c1 -[44.612] read(): <13> Rx: $m200002a8,4#8a -[44.612] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[44.612] write(): <13> Tx: $00000000#80 -[44.614] read(): <13> Rx: $m200002ac,4#b5 -[44.614] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[44.614] write(): <13> Tx: $00000000#80 -[44.616] read(): <13> Rx: $m200002a4,4#86 -[44.616] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[44.616] write(): <13> Tx: $0000c842#c1 -[44.617] read(): <13> Rx: $m200002a0,4#82 -[44.617] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[44.617] write(): <13> Tx: $0000c842#c1 -[44.819] read(): <13> Rx: $m200002a8,4#8a -[44.820] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[44.820] write(): <13> Tx: $00000000#80 -[44.821] read(): <13> Rx: $m200002ac,4#b5 -[44.822] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[44.822] write(): <13> Tx: $00000000#80 -[44.823] read(): <13> Rx: $m200002a4,4#86 -[44.823] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[44.824] write(): <13> Tx: $0000c842#c1 -[44.825] read(): <13> Rx: $m200002a0,4#82 -[44.825] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[44.826] write(): <13> Tx: $0000c842#c1 -[45.028] read(): <13> Rx: $m200002a8,4#8a -[45.028] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[45.029] write(): <13> Tx: $00000000#80 -[45.030] read(): <13> Rx: $m200002ac,4#b5 -[45.030] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[45.030] write(): <13> Tx: $00000000#80 -[45.031] read(): <13> Rx: $m200002a4,4#86 -[45.032] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[45.032] write(): <13> Tx: $0000c842#c1 -[45.033] read(): <13> Rx: $m200002a0,4#82 -[45.033] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[45.034] write(): <13> Tx: $0000c842#c1 -[45.237] read(): <13> Rx: $m200002a8,4#8a -[45.237] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[45.238] write(): <13> Tx: $00000000#80 -[45.239] read(): <13> Rx: $m200002ac,4#b5 -[45.239] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[45.240] write(): <13> Tx: $00000000#80 -[45.241] read(): <13> Rx: $m200002a4,4#86 -[45.241] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[45.242] write(): <13> Tx: $0000c842#c1 -[45.243] read(): <13> Rx: $m200002a0,4#82 -[45.243] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[45.243] write(): <13> Tx: $0000c842#c1 -[45.445] read(): <13> Rx: $m200002a8,4#8a -[45.445] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[45.446] write(): <13> Tx: $00000000#80 -[45.447] read(): <13> Rx: $m200002ac,4#b5 -[45.447] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[45.448] write(): <13> Tx: $00000000#80 -[45.449] read(): <13> Rx: $m200002a4,4#86 -[45.449] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[45.449] write(): <13> Tx: $0000c842#c1 -[45.450] read(): <13> Rx: $m200002a0,4#82 -[45.450] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[45.451] write(): <13> Tx: $0000c842#c1 -[45.653] read(): <13> Rx: $m200002a8,4#8a -[45.653] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[45.654] write(): <13> Tx: $00000000#80 -[45.655] read(): <13> Rx: $m200002ac,4#b5 -[45.655] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[45.655] write(): <13> Tx: $00000000#80 -[45.656] read(): <13> Rx: $m200002a4,4#86 -[45.656] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[45.657] write(): <13> Tx: $0000c842#c1 -[45.658] read(): <13> Rx: $m200002a0,4#82 -[45.658] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[45.659] write(): <13> Tx: $0000c842#c1 -[45.861] read(): <13> Rx: $m200002a8,4#8a -[45.861] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[45.862] write(): <13> Tx: $00000000#80 -[45.863] read(): <13> Rx: $m200002ac,4#b5 -[45.863] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[45.864] write(): <13> Tx: $00000000#80 -[45.865] read(): <13> Rx: $m200002a4,4#86 -[45.865] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[45.866] write(): <13> Tx: $0000c842#c1 -[45.867] read(): <13> Rx: $m200002a0,4#82 -[45.867] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[45.867] write(): <13> Tx: $0000c842#c1 -[46.069] read(): <13> Rx: $m200002a8,4#8a -[46.069] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[46.070] write(): <13> Tx: $00000000#80 -[46.071] read(): <13> Rx: $m200002ac,4#b5 -[46.071] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[46.072] write(): <13> Tx: $00000000#80 -[46.074] read(): <13> Rx: $m200002a4,4#86 -[46.074] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[46.075] write(): <13> Tx: $0000c842#c1 -[46.076] read(): <13> Rx: $m200002a0,4#82 -[46.076] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[46.076] write(): <13> Tx: $0000c842#c1 -[46.279] read(): <13> Rx: $m200002a8,4#8a -[46.279] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[46.280] write(): <13> Tx: $00000000#80 -[46.281] read(): <13> Rx: $m200002ac,4#b5 -[46.281] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[46.282] write(): <13> Tx: $00000000#80 -[46.283] read(): <13> Rx: $m200002a4,4#86 -[46.283] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[46.284] write(): <13> Tx: $0000c842#c1 -[46.285] read(): <13> Rx: $m200002a0,4#82 -[46.285] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[46.286] write(): <13> Tx: $0000c842#c1 -[46.488] read(): <13> Rx: $m200002a8,4#8a -[46.488] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[46.489] write(): <13> Tx: $00000000#80 -[46.490] read(): <13> Rx: $m200002ac,4#b5 -[46.490] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[46.491] write(): <13> Tx: $00000000#80 -[46.492] read(): <13> Rx: $m200002a4,4#86 -[46.492] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[46.493] write(): <13> Tx: $0000c842#c1 -[46.494] read(): <13> Rx: $m200002a0,4#82 -[46.494] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[46.495] write(): <13> Tx: $0000c842#c1 -[46.697] read(): <13> Rx: $m200002a8,4#8a -[46.697] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[46.698] write(): <13> Tx: $00000000#80 -[46.699] read(): <13> Rx: $m200002ac,4#b5 -[46.699] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[46.700] write(): <13> Tx: $00000000#80 -[46.701] read(): <13> Rx: $m200002a4,4#86 -[46.701] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[46.702] write(): <13> Tx: $0000c842#c1 -[46.703] read(): <13> Rx: $m200002a0,4#82 -[46.703] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[46.703] write(): <13> Tx: $0000c842#c1 -[46.905] read(): <13> Rx: $m200002a8,4#8a -[46.905] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[46.906] write(): <13> Tx: $00000000#80 -[46.907] read(): <13> Rx: $m200002ac,4#b5 -[46.907] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[46.908] write(): <13> Tx: $00000000#80 -[46.909] read(): <13> Rx: $m200002a4,4#86 -[46.909] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[46.909] write(): <13> Tx: $0000c842#c1 -[46.910] read(): <13> Rx: $m200002a0,4#82 -[46.911] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[46.911] write(): <13> Tx: $0000c842#c1 -[47.113] read(): <13> Rx: $m200002a8,4#8a -[47.113] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[47.114] write(): <13> Tx: $00000000#80 -[47.115] read(): <13> Rx: $m200002ac,4#b5 -[47.115] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[47.116] write(): <13> Tx: $00000000#80 -[47.117] read(): <13> Rx: $m200002a4,4#86 -[47.117] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[47.118] write(): <13> Tx: $0000c842#c1 -[47.119] read(): <13> Rx: $m200002a0,4#82 -[47.119] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[47.119] write(): <13> Tx: $0000c842#c1 -[47.321] read(): <13> Rx: $m200002a8,4#8a -[47.321] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[47.322] write(): <13> Tx: $00000000#80 -[47.323] read(): <13> Rx: $m200002ac,4#b5 -[47.323] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[47.324] write(): <13> Tx: $00000000#80 -[47.325] read(): <13> Rx: $m200002a4,4#86 -[47.325] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[47.326] write(): <13> Tx: $0000c842#c1 -[47.327] read(): <13> Rx: $m200002a0,4#82 -[47.327] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[47.327] write(): <13> Tx: $0000c842#c1 -[47.529] read(): <13> Rx: $m200002a8,4#8a -[47.529] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[47.530] write(): <13> Tx: $00000000#80 -[47.531] read(): <13> Rx: $m200002ac,4#b5 -[47.531] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[47.532] write(): <13> Tx: $00000000#80 -[47.533] read(): <13> Rx: $m200002a4,4#86 -[47.533] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[47.534] write(): <13> Tx: $0000c842#c1 -[47.535] read(): <13> Rx: $m200002a0,4#82 -[47.535] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[47.535] write(): <13> Tx: $0000c842#c1 -[47.737] read(): <13> Rx: $m200002a8,4#8a -[47.737] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[47.737] write(): <13> Tx: $00000000#80 -[47.738] read(): <13> Rx: $m200002ac,4#b5 -[47.738] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[47.739] write(): <13> Tx: $00000000#80 -[47.739] read(): <13> Rx: $m200002a4,4#86 -[47.739] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[47.740] write(): <13> Tx: $0000c842#c1 -[47.740] read(): <13> Rx: $m200002a0,4#82 -[47.740] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[47.741] write(): <13> Tx: $0000c842#c1 -[47.942] read(): <13> Rx: $m200002a8,4#8a -[47.942] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[47.942] write(): <13> Tx: $00000000#80 -[47.944] read(): <13> Rx: $m200002ac,4#b5 -[47.944] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[47.944] write(): <13> Tx: $00000000#80 -[47.945] read(): <13> Rx: $m200002a4,4#86 -[47.945] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[47.945] write(): <13> Tx: $0000c842#c1 -[47.946] read(): <13> Rx: $m200002a0,4#82 -[47.946] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[47.947] write(): <13> Tx: $0000c842#c1 -[48.148] read(): <13> Rx: $m200002a8,4#8a -[48.148] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[48.149] write(): <13> Tx: $00000000#80 -[48.150] read(): <13> Rx: $m200002ac,4#b5 -[48.150] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[48.150] write(): <13> Tx: $00000000#80 -[48.151] read(): <13> Rx: $m200002a4,4#86 -[48.151] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[48.151] write(): <13> Tx: $0000c842#c1 -[48.152] read(): <13> Rx: $m200002a0,4#82 -[48.152] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[48.153] write(): <13> Tx: $0000c842#c1 -[48.354] read(): <13> Rx: $m200002a8,4#8a -[48.354] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[48.354] write(): <13> Tx: $00000000#80 -[48.355] read(): <13> Rx: $m200002ac,4#b5 -[48.355] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[48.355] write(): <13> Tx: $00000000#80 -[48.355] read(): <13> Rx: $m200002a4,4#86 -[48.355] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[48.356] write(): <13> Tx: $0000c842#c1 -[48.356] read(): <13> Rx: $m200002a0,4#82 -[48.356] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[48.357] write(): <13> Tx: $0000c842#c1 -[48.557] read(): <13> Rx: $m200002a8,4#8a -[48.557] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[48.558] write(): <13> Tx: $00000000#80 -[48.558] read(): <13> Rx: $m200002ac,4#b5 -[48.558] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[48.559] write(): <13> Tx: $00000000#80 -[48.559] read(): <13> Rx: $m200002a4,4#86 -[48.559] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[48.559] write(): <13> Tx: $0000c842#c1 -[48.560] read(): <13> Rx: $m200002a0,4#82 -[48.560] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[48.560] write(): <13> Tx: $0000c842#c1 -[48.761] read(): <13> Rx: $m200002a8,4#8a -[48.761] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[48.762] write(): <13> Tx: $00000000#80 -[48.763] read(): <13> Rx: $m200002ac,4#b5 -[48.763] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[48.763] write(): <13> Tx: $00000000#80 -[48.764] read(): <13> Rx: $m200002a4,4#86 -[48.764] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[48.765] write(): <13> Tx: $0000c842#c1 -[48.766] read(): <13> Rx: $m200002a0,4#82 -[48.766] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[48.767] write(): <13> Tx: $0000c842#c1 -[48.968] read(): <13> Rx: $m200002a8,4#8a -[48.968] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[48.969] write(): <13> Tx: $00000000#80 -[48.970] read(): <13> Rx: $m200002ac,4#b5 -[48.970] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[48.971] write(): <13> Tx: $00000000#80 -[48.972] read(): <13> Rx: $m200002a4,4#86 -[48.972] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[48.973] write(): <13> Tx: $0000c842#c1 -[48.974] read(): <13> Rx: $m200002a0,4#82 -[48.974] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[48.975] write(): <13> Tx: $0000c842#c1 -[49.177] read(): <13> Rx: $m200002a8,4#8a -[49.197] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[49.198] write(): <13> Tx: $00000000#80 -[49.199] read(): <13> Rx: $m200002ac,4#b5 -[49.199] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[49.200] write(): <13> Tx: $00000000#80 -[49.201] read(): <13> Rx: $m200002a4,4#86 -[49.201] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[49.202] write(): <13> Tx: $0000c842#c1 -[49.203] read(): <13> Rx: $m200002a0,4#82 -[49.203] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[49.203] write(): <13> Tx: $0000c842#c1 -[49.405] read(): <13> Rx: $m200002a8,4#8a -[49.405] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[49.405] write(): <13> Tx: $00000000#80 -[49.406] read(): <13> Rx: $m200002ac,4#b5 -[49.406] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[49.407] write(): <13> Tx: $00000000#80 -[49.408] read(): <13> Rx: $m200002a4,4#86 -[49.408] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[49.409] write(): <13> Tx: $0000c842#c1 -[49.410] read(): <13> Rx: $m200002a0,4#82 -[49.410] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[49.411] write(): <13> Tx: $0000c842#c1 -[49.613] read(): <13> Rx: $m200002a8,4#8a -[49.613] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[49.614] write(): <13> Tx: $00000000#80 -[49.615] read(): <13> Rx: $m200002ac,4#b5 -[49.615] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[49.615] write(): <13> Tx: $00000000#80 -[49.617] read(): <13> Rx: $m200002a4,4#86 -[49.617] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[49.617] write(): <13> Tx: $0000c842#c1 -[49.618] read(): <13> Rx: $m200002a0,4#82 -[49.618] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[49.618] write(): <13> Tx: $0000c842#c1 -[49.820] read(): <13> Rx: $m200002a8,4#8a -[49.820] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[49.821] write(): <13> Tx: $00000000#80 -[49.822] read(): <13> Rx: $m200002ac,4#b5 -[49.822] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[49.823] write(): <13> Tx: $00000000#80 -[49.824] read(): <13> Rx: $m200002a4,4#86 -[49.824] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[49.825] write(): <13> Tx: $0000c842#c1 -[49.826] read(): <13> Rx: $m200002a0,4#82 -[49.826] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[49.827] write(): <13> Tx: $0000c842#c1 -[50.029] read(): <13> Rx: $m200002a8,4#8a -[50.029] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[50.029] write(): <13> Tx: $00000000#80 -[50.031] read(): <13> Rx: $m200002ac,4#b5 -[50.031] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[50.031] write(): <13> Tx: $00000000#80 -[50.032] read(): <13> Rx: $m200002a4,4#86 -[50.032] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[50.033] write(): <13> Tx: $0000c842#c1 -[50.034] read(): <13> Rx: $m200002a0,4#82 -[50.034] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[50.034] write(): <13> Tx: $0000c842#c1 -[50.236] read(): <13> Rx: $m200002a8,4#8a -[50.236] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[50.237] write(): <13> Tx: $00000000#80 -[50.238] read(): <13> Rx: $m200002ac,4#b5 -[50.238] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[50.239] write(): <13> Tx: $00000000#80 -[50.240] read(): <13> Rx: $m200002a4,4#86 -[50.240] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[50.241] write(): <13> Tx: $0000c842#c1 -[50.242] read(): <13> Rx: $m200002a0,4#82 -[50.242] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[50.242] write(): <13> Tx: $0000c842#c1 -[50.444] read(): <13> Rx: $m200002a8,4#8a -[50.444] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[50.445] write(): <13> Tx: $00000000#80 -[50.446] read(): <13> Rx: $m200002ac,4#b5 -[50.446] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[50.447] write(): <13> Tx: $00000000#80 -[50.448] read(): <13> Rx: $m200002a4,4#86 -[50.448] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[50.449] write(): <13> Tx: $0000c842#c1 -[50.450] read(): <13> Rx: $m200002a0,4#82 -[50.450] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[50.451] write(): <13> Tx: $0000c842#c1 -[50.651] read(): <13> Rx: $m200002a8,4#8a -[50.652] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[50.652] write(): <13> Tx: $00000000#80 -[50.652] read(): <13> Rx: $m200002ac,4#b5 -[50.652] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[50.652] write(): <13> Tx: $00000000#80 -[50.653] read(): <13> Rx: $m200002a4,4#86 -[50.653] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[50.653] write(): <13> Tx: $0000c842#c1 -[50.653] read(): <13> Rx: $m200002a0,4#82 -[50.653] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[50.653] write(): <13> Tx: $0000c842#c1 -[50.854] read(): <13> Rx: $m200002a8,4#8a -[50.854] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[50.854] write(): <13> Tx: $00000000#80 -[50.855] read(): <13> Rx: $m200002ac,4#b5 -[50.855] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[50.855] write(): <13> Tx: $00000000#80 -[50.856] read(): <13> Rx: $m200002a4,4#86 -[50.856] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[50.856] write(): <13> Tx: $0000c842#c1 -[50.856] read(): <13> Rx: $m200002a0,4#82 -[50.856] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[50.857] write(): <13> Tx: $0000c842#c1 -[51.058] read(): <13> Rx: $m200002a8,4#8a -[51.058] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[51.059] write(): <13> Tx: $00000000#80 -[51.060] read(): <13> Rx: $m200002ac,4#b5 -[51.060] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[51.061] write(): <13> Tx: $00000000#80 -[51.062] read(): <13> Rx: $m200002a4,4#86 -[51.062] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[51.062] write(): <13> Tx: $0000c842#c1 -[51.063] read(): <13> Rx: $m200002a0,4#82 -[51.063] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[51.064] write(): <13> Tx: $0000c842#c1 -[51.266] read(): <13> Rx: $m200002a8,4#8a -[51.266] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[51.267] write(): <13> Tx: $00000000#80 -[51.268] read(): <13> Rx: $m200002ac,4#b5 -[51.268] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[51.269] write(): <13> Tx: $00000000#80 -[51.270] read(): <13> Rx: $m200002a4,4#86 -[51.270] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[51.271] write(): <13> Tx: $0000c842#c1 -[51.272] read(): <13> Rx: $m200002a0,4#82 -[51.272] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[51.272] write(): <13> Tx: $0000c842#c1 -[51.474] read(): <13> Rx: $m200002a8,4#8a -[51.474] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[51.474] write(): <13> Tx: $00000000#80 -[51.474] read(): <13> Rx: $m200002ac,4#b5 -[51.474] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[51.475] write(): <13> Tx: $00000000#80 -[51.475] read(): <13> Rx: $m200002a4,4#86 -[51.475] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[51.475] write(): <13> Tx: $0000c842#c1 -[51.476] read(): <13> Rx: $m200002a0,4#82 -[51.476] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[51.476] write(): <13> Tx: $0000c842#c1 -[51.677] read(): <13> Rx: $m200002a8,4#8a -[51.677] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[51.678] write(): <13> Tx: $00000000#80 -[51.679] read(): <13> Rx: $m200002ac,4#b5 -[51.679] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[51.680] write(): <13> Tx: $00000000#80 -[51.681] read(): <13> Rx: $m200002a4,4#86 -[51.681] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[51.682] write(): <13> Tx: $0000c842#c1 -[51.683] read(): <13> Rx: $m200002a0,4#82 -[51.683] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[51.683] write(): <13> Tx: $0000c842#c1 -[51.885] read(): <13> Rx: $m200002a8,4#8a -[51.885] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[51.886] write(): <13> Tx: $00000000#80 -[51.887] read(): <13> Rx: $m200002ac,4#b5 -[51.887] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[51.888] write(): <13> Tx: $00000000#80 -[51.890] read(): <13> Rx: $m200002a4,4#86 -[51.890] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[51.890] write(): <13> Tx: $0000c842#c1 -[51.891] read(): <13> Rx: $m200002a0,4#82 -[51.891] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[51.892] write(): <13> Tx: $0000c842#c1 -[52.094] read(): <13> Rx: $m200002a8,4#8a -[52.094] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[52.095] write(): <13> Tx: $00000000#80 -[52.096] read(): <13> Rx: $m200002ac,4#b5 -[52.096] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[52.096] write(): <13> Tx: $00000000#80 -[52.098] read(): <13> Rx: $m200002a4,4#86 -[52.098] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[52.098] write(): <13> Tx: $0000c842#c1 -[52.099] read(): <13> Rx: $m200002a0,4#82 -[52.099] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[52.100] write(): <13> Tx: $0000c842#c1 -[52.301] read(): <13> Rx: $m200002a8,4#8a -[52.301] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[52.302] write(): <13> Tx: $00000000#80 -[52.302] read(): <13> Rx: $m200002ac,4#b5 -[52.302] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[52.303] write(): <13> Tx: $00000000#80 -[52.304] read(): <13> Rx: $m200002a4,4#86 -[52.304] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[52.305] write(): <13> Tx: $0000c842#c1 -[52.305] read(): <13> Rx: $m200002a0,4#82 -[52.305] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[52.305] write(): <13> Tx: $0000c842#c1 -[52.507] read(): <13> Rx: $m200002a8,4#8a -[52.507] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[52.507] write(): <13> Tx: $00000000#80 -[52.509] read(): <13> Rx: $m200002ac,4#b5 -[52.509] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[52.509] write(): <13> Tx: $00000000#80 -[52.510] read(): <13> Rx: $m200002a4,4#86 -[52.510] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[52.510] write(): <13> Tx: $0000c842#c1 -[52.512] read(): <13> Rx: $m200002a0,4#82 -[52.512] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[52.512] write(): <13> Tx: $0000c842#c1 -[52.714] read(): <13> Rx: $m200002a8,4#8a -[52.714] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[52.714] write(): <13> Tx: $00000000#80 -[52.715] read(): <13> Rx: $m200002ac,4#b5 -[52.715] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[52.716] write(): <13> Tx: $00000000#80 -[52.716] read(): <13> Rx: $m200002a4,4#86 -[52.716] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[52.717] write(): <13> Tx: $0000c842#c1 -[52.718] read(): <13> Rx: $m200002a0,4#82 -[52.718] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[52.718] write(): <13> Tx: $0000c842#c1 -[52.920] read(): <13> Rx: $m200002a8,4#8a -[52.920] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[52.920] write(): <13> Tx: $00000000#80 -[52.922] read(): <13> Rx: $m200002ac,4#b5 -[52.922] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[52.922] write(): <13> Tx: $00000000#80 -[52.923] read(): <13> Rx: $m200002a4,4#86 -[52.923] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[52.924] write(): <13> Tx: $0000c842#c1 -[52.925] read(): <13> Rx: $m200002a0,4#82 -[52.925] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[52.926] write(): <13> Tx: $0000c842#c1 -[53.127] read(): <13> Rx: $m200002a8,4#8a -[53.127] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[53.128] write(): <13> Tx: $00000000#80 -[53.130] read(): <13> Rx: $m200002ac,4#b5 -[53.130] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[53.130] write(): <13> Tx: $00000000#80 -[53.132] read(): <13> Rx: $m200002a4,4#86 -[53.132] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[53.132] write(): <13> Tx: $0000c842#c1 -[53.134] read(): <13> Rx: $m200002a0,4#82 -[53.134] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[53.134] write(): <13> Tx: $0000c842#c1 -[53.336] read(): <13> Rx: $m200002a8,4#8a -[53.336] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[53.337] write(): <13> Tx: $00000000#80 -[53.338] read(): <13> Rx: $m200002ac,4#b5 -[53.338] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[53.339] write(): <13> Tx: $00000000#80 -[53.340] read(): <13> Rx: $m200002a4,4#86 -[53.340] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[53.341] write(): <13> Tx: $0000c842#c1 -[53.342] read(): <13> Rx: $m200002a0,4#82 -[53.342] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[53.343] write(): <13> Tx: $0000c842#c1 -[53.545] read(): <13> Rx: $m200002a8,4#8a -[53.545] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[53.546] write(): <13> Tx: $00000000#80 -[53.547] read(): <13> Rx: $m200002ac,4#b5 -[53.547] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[53.547] write(): <13> Tx: $00000000#80 -[53.549] read(): <13> Rx: $m200002a4,4#86 -[53.549] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[53.549] write(): <13> Tx: $0000c842#c1 -[53.550] read(): <13> Rx: $m200002a0,4#82 -[53.550] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[53.551] write(): <13> Tx: $0000c842#c1 -[53.752] read(): <13> Rx: $m200002a8,4#8a -[53.752] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[53.753] write(): <13> Tx: $00000000#80 -[53.754] read(): <13> Rx: $m200002ac,4#b5 -[53.754] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[53.755] write(): <13> Tx: $00000000#80 -[53.756] read(): <13> Rx: $m200002a4,4#86 -[53.756] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[53.757] write(): <13> Tx: $0000c842#c1 -[53.758] read(): <13> Rx: $m200002a0,4#82 -[53.758] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[53.759] write(): <13> Tx: $0000c842#c1 -[53.961] read(): <13> Rx: $m200002a8,4#8a -[53.961] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[53.962] write(): <13> Tx: $00000000#80 -[53.963] read(): <13> Rx: $m200002ac,4#b5 -[53.963] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[53.964] write(): <13> Tx: $00000000#80 -[53.965] read(): <13> Rx: $m200002a4,4#86 -[53.965] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[53.966] write(): <13> Tx: $0000c842#c1 -[53.967] read(): <13> Rx: $m200002a0,4#82 -[53.967] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[53.968] write(): <13> Tx: $0000c842#c1 -[54.170] read(): <13> Rx: $m200002a8,4#8a -[54.170] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[54.170] write(): <13> Tx: $00000000#80 -[54.172] read(): <13> Rx: $m200002ac,4#b5 -[54.172] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[54.172] write(): <13> Tx: $00000000#80 -[54.173] read(): <13> Rx: $m200002a4,4#86 -[54.173] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[54.174] write(): <13> Tx: $0000c842#c1 -[54.175] read(): <13> Rx: $m200002a0,4#82 -[54.175] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[54.175] write(): <13> Tx: $0000c842#c1 -[54.377] read(): <13> Rx: $m200002a8,4#8a -[54.377] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[54.377] write(): <13> Tx: $00000000#80 -[54.379] read(): <13> Rx: $m200002ac,4#b5 -[54.379] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[54.379] write(): <13> Tx: $00000000#80 -[54.380] read(): <13> Rx: $m200002a4,4#86 -[54.380] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[54.381] write(): <13> Tx: $0000c842#c1 -[54.381] read(): <13> Rx: $m200002a0,4#82 -[54.381] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[54.382] write(): <13> Tx: $0000c842#c1 -[54.584] read(): <13> Rx: $m200002a8,4#8a -[54.584] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[54.584] write(): <13> Tx: $00000000#80 -[54.585] read(): <13> Rx: $m200002ac,4#b5 -[54.585] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[54.586] write(): <13> Tx: $00000000#80 -[54.587] read(): <13> Rx: $m200002a4,4#86 -[54.587] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[54.587] write(): <13> Tx: $0000c842#c1 -[54.588] read(): <13> Rx: $m200002a0,4#82 -[54.588] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[54.589] write(): <13> Tx: $0000c842#c1 -[54.790] read(): <13> Rx: $m200002a8,4#8a -[54.790] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[54.791] write(): <13> Tx: $00000000#80 -[54.792] read(): <13> Rx: $m200002ac,4#b5 -[54.792] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[54.793] write(): <13> Tx: $00000000#80 -[54.794] read(): <13> Rx: $m200002a4,4#86 -[54.794] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[54.795] write(): <13> Tx: $0000c842#c1 -[54.796] read(): <13> Rx: $m200002a0,4#82 -[54.796] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[54.796] write(): <13> Tx: $0000c842#c1 -[54.998] read(): <13> Rx: $m200002a8,4#8a -[54.998] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[54.999] write(): <13> Tx: $00000000#80 -[55.000] read(): <13> Rx: $m200002ac,4#b5 -[55.000] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[55.001] write(): <13> Tx: $00000000#80 -[55.002] read(): <13> Rx: $m200002a4,4#86 -[55.002] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[55.003] write(): <13> Tx: $0000c842#c1 -[55.004] read(): <13> Rx: $m200002a0,4#82 -[55.004] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[55.005] write(): <13> Tx: $0000c842#c1 -[55.207] read(): <13> Rx: $m200002a8,4#8a -[55.207] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[55.208] write(): <13> Tx: $00000000#80 -[55.209] read(): <13> Rx: $m200002ac,4#b5 -[55.209] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[55.210] write(): <13> Tx: $00000000#80 -[55.211] read(): <13> Rx: $m200002a4,4#86 -[55.211] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[55.212] write(): <13> Tx: $0000c842#c1 -[55.213] read(): <13> Rx: $m200002a0,4#82 -[55.213] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[55.214] write(): <13> Tx: $0000c842#c1 -[55.416] read(): <13> Rx: $m200002a8,4#8a -[55.416] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[55.417] write(): <13> Tx: $00000000#80 -[55.418] read(): <13> Rx: $m200002ac,4#b5 -[55.418] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[55.419] write(): <13> Tx: $00000000#80 -[55.420] read(): <13> Rx: $m200002a4,4#86 -[55.420] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[55.421] write(): <13> Tx: $0000c842#c1 -[55.422] read(): <13> Rx: $m200002a0,4#82 -[55.422] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[55.423] write(): <13> Tx: $0000c842#c1 -[55.625] read(): <13> Rx: $m200002a8,4#8a -[55.625] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[55.625] write(): <13> Tx: $00000000#80 -[55.627] read(): <13> Rx: $m200002ac,4#b5 -[55.627] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[55.627] write(): <13> Tx: $00000000#80 -[55.628] read(): <13> Rx: $m200002a4,4#86 -[55.628] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[55.629] write(): <13> Tx: $0000c842#c1 -[55.630] read(): <13> Rx: $m200002a0,4#82 -[55.630] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[55.631] write(): <13> Tx: $0000c842#c1 -[55.832] read(): <13> Rx: $m200002a8,4#8a -[55.833] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[55.833] write(): <13> Tx: $00000000#80 -[55.834] read(): <13> Rx: $m200002ac,4#b5 -[55.834] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[55.835] write(): <13> Tx: $00000000#80 -[55.836] read(): <13> Rx: $m200002a4,4#86 -[55.836] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[55.837] write(): <13> Tx: $0000c842#c1 -[55.838] read(): <13> Rx: $m200002a0,4#82 -[55.838] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[55.839] write(): <13> Tx: $0000c842#c1 -[56.040] read(): <13> Rx: $m200002a8,4#8a -[56.040] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[56.040] write(): <13> Tx: $00000000#80 -[56.041] read(): <13> Rx: $m200002ac,4#b5 -[56.041] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[56.042] write(): <13> Tx: $00000000#80 -[56.042] read(): <13> Rx: $m200002a4,4#86 -[56.042] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[56.043] write(): <13> Tx: $0000c842#c1 -[56.044] read(): <13> Rx: $m200002a0,4#82 -[56.044] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[56.044] write(): <13> Tx: $0000c842#c1 -[56.246] read(): <13> Rx: $m200002a8,4#8a -[56.246] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[56.247] write(): <13> Tx: $00000000#80 -[56.248] read(): <13> Rx: $m200002ac,4#b5 -[56.248] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[56.249] write(): <13> Tx: $00000000#80 -[56.250] read(): <13> Rx: $m200002a4,4#86 -[56.250] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[56.251] write(): <13> Tx: $0000c842#c1 -[56.252] read(): <13> Rx: $m200002a0,4#82 -[56.252] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[56.253] write(): <13> Tx: $0000c842#c1 -[56.455] read(): <13> Rx: $m200002a8,4#8a -[56.455] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[56.456] write(): <13> Tx: $00000000#80 -[56.458] read(): <13> Rx: $m200002ac,4#b5 -[56.458] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[56.458] write(): <13> Tx: $00000000#80 -[56.459] read(): <13> Rx: $m200002a4,4#86 -[56.460] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[56.460] write(): <13> Tx: $0000c842#c1 -[56.462] read(): <13> Rx: $m200002a0,4#82 -[56.462] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[56.462] write(): <13> Tx: $0000c842#c1 -[56.664] read(): <13> Rx: $m200002a8,4#8a -[56.665] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[56.665] write(): <13> Tx: $00000000#80 -[56.666] read(): <13> Rx: $m200002ac,4#b5 -[56.666] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[56.667] write(): <13> Tx: $00000000#80 -[56.668] read(): <13> Rx: $m200002a4,4#86 -[56.668] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[56.669] write(): <13> Tx: $0000c842#c1 -[56.670] read(): <13> Rx: $m200002a0,4#82 -[56.670] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[56.671] write(): <13> Tx: $0000c842#c1 -[56.872] read(): <13> Rx: $m200002a8,4#8a -[56.873] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[56.874] write(): <13> Tx: $00000000#80 -[56.875] read(): <13> Rx: $m200002ac,4#b5 -[56.875] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[56.876] write(): <13> Tx: $00000000#80 -[56.877] read(): <13> Rx: $m200002a4,4#86 -[56.877] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[56.878] write(): <13> Tx: $0000c842#c1 -[56.879] read(): <13> Rx: $m200002a0,4#82 -[56.879] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[56.880] write(): <13> Tx: $0000c842#c1 -[57.081] read(): <13> Rx: $m200002a8,4#8a -[57.081] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[57.082] write(): <13> Tx: $00000000#80 -[57.083] read(): <13> Rx: $m200002ac,4#b5 -[57.083] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[57.084] write(): <13> Tx: $00000000#80 -[57.085] read(): <13> Rx: $m200002a4,4#86 -[57.085] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[57.086] write(): <13> Tx: $0000c842#c1 -[57.087] read(): <13> Rx: $m200002a0,4#82 -[57.087] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[57.087] write(): <13> Tx: $0000c842#c1 -[57.288] read(): <13> Rx: $m200002a8,4#8a -[57.288] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[57.289] write(): <13> Tx: $00000000#80 -[57.289] read(): <13> Rx: $m200002ac,4#b5 -[57.289] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[57.290] write(): <13> Tx: $00000000#80 -[57.290] read(): <13> Rx: $m200002a4,4#86 -[57.290] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[57.291] write(): <13> Tx: $0000c842#c1 -[57.291] read(): <13> Rx: $m200002a0,4#82 -[57.291] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[57.291] write(): <13> Tx: $0000c842#c1 -[57.493] read(): <13> Rx: $m200002a8,4#8a -[57.493] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[57.494] write(): <13> Tx: $00000000#80 -[57.495] read(): <13> Rx: $m200002ac,4#b5 -[57.495] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[57.495] write(): <13> Tx: $00000000#80 -[57.497] read(): <13> Rx: $m200002a4,4#86 -[57.497] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[57.497] write(): <13> Tx: $0000c842#c1 -[57.499] read(): <13> Rx: $m200002a0,4#82 -[57.499] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[57.499] write(): <13> Tx: $0000c842#c1 -[57.702] read(): <13> Rx: $m200002a8,4#8a -[57.702] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[57.702] write(): <13> Tx: $00000000#80 -[57.704] read(): <13> Rx: $m200002ac,4#b5 -[57.704] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[57.705] write(): <13> Tx: $00000000#80 -[57.706] read(): <13> Rx: $m200002a4,4#86 -[57.706] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[57.706] write(): <13> Tx: $0000c842#c1 -[57.708] read(): <13> Rx: $m200002a0,4#82 -[57.708] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[57.708] write(): <13> Tx: $0000c842#c1 -[57.910] read(): <13> Rx: $m200002a8,4#8a -[57.910] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[57.911] write(): <13> Tx: $00000000#80 -[57.912] read(): <13> Rx: $m200002ac,4#b5 -[57.912] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[57.912] write(): <13> Tx: $00000000#80 -[57.913] read(): <13> Rx: $m200002a4,4#86 -[57.913] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[57.913] write(): <13> Tx: $0000c842#c1 -[57.914] read(): <13> Rx: $m200002a0,4#82 -[57.914] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[57.914] write(): <13> Tx: $0000c842#c1 -[58.116] read(): <13> Rx: $m200002a8,4#8a -[58.116] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[58.117] write(): <13> Tx: $00000000#80 -[58.118] read(): <13> Rx: $m200002ac,4#b5 -[58.118] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[58.118] write(): <13> Tx: $00000000#80 -[58.119] read(): <13> Rx: $m200002a4,4#86 -[58.119] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[58.119] write(): <13> Tx: $0000c842#c1 -[58.120] read(): <13> Rx: $m200002a0,4#82 -[58.120] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[58.120] write(): <13> Tx: $0000c842#c1 -[58.322] read(): <13> Rx: $m200002a8,4#8a -[58.322] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[58.323] write(): <13> Tx: $00000000#80 -[58.324] read(): <13> Rx: $m200002ac,4#b5 -[58.324] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[58.325] write(): <13> Tx: $00000000#80 -[58.325] read(): <13> Rx: $m200002a4,4#86 -[58.325] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[58.326] write(): <13> Tx: $0000c842#c1 -[58.327] read(): <13> Rx: $m200002a0,4#82 -[58.327] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[58.328] write(): <13> Tx: $0000c842#c1 -[58.530] read(): <13> Rx: $m200002a8,4#8a -[58.530] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[58.530] write(): <13> Tx: $00000000#80 -[58.532] read(): <13> Rx: $m200002ac,4#b5 -[58.532] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[58.532] write(): <13> Tx: $00000000#80 -[58.533] read(): <13> Rx: $m200002a4,4#86 -[58.533] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[58.534] write(): <13> Tx: $0000c842#c1 -[58.535] read(): <13> Rx: $m200002a0,4#82 -[58.535] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[58.536] write(): <13> Tx: $0000c842#c1 -[58.737] read(): <13> Rx: $m200002a8,4#8a -[58.737] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[58.738] write(): <13> Tx: $00000000#80 -[58.740] read(): <13> Rx: $m200002ac,4#b5 -[58.740] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[58.741] write(): <13> Tx: $00000000#80 -[58.742] read(): <13> Rx: $m200002a4,4#86 -[58.742] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[58.742] write(): <13> Tx: $0000c842#c1 -[58.743] read(): <13> Rx: $m200002a0,4#82 -[58.743] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[58.744] write(): <13> Tx: $0000c842#c1 -[58.946] read(): <13> Rx: $m200002a8,4#8a -[58.946] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[58.947] write(): <13> Tx: $00000000#80 -[58.949] read(): <13> Rx: $m200002ac,4#b5 -[58.949] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[58.950] write(): <13> Tx: $00000000#80 -[58.951] read(): <13> Rx: $m200002a4,4#86 -[58.951] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[58.952] write(): <13> Tx: $0000c842#c1 -[58.953] read(): <13> Rx: $m200002a0,4#82 -[58.953] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[58.954] write(): <13> Tx: $0000c842#c1 -[59.156] read(): <13> Rx: $m200002a8,4#8a -[59.156] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[59.157] write(): <13> Tx: $00000000#80 -[59.158] read(): <13> Rx: $m200002ac,4#b5 -[59.158] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[59.159] write(): <13> Tx: $00000000#80 -[59.161] read(): <13> Rx: $m200002a4,4#86 -[59.161] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[59.161] write(): <13> Tx: $0000c842#c1 -[59.162] read(): <13> Rx: $m200002a0,4#82 -[59.162] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[59.163] write(): <13> Tx: $0000c842#c1 -[59.365] read(): <13> Rx: $m200002a8,4#8a -[59.365] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[59.366] write(): <13> Tx: $00000000#80 -[59.367] read(): <13> Rx: $m200002ac,4#b5 -[59.367] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[59.367] write(): <13> Tx: $00000000#80 -[59.368] read(): <13> Rx: $m200002a4,4#86 -[59.369] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[59.369] write(): <13> Tx: $0000c842#c1 -[59.370] read(): <13> Rx: $m200002a0,4#82 -[59.370] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[59.371] write(): <13> Tx: $0000c842#c1 -[59.573] read(): <13> Rx: $m200002a8,4#8a -[59.573] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[59.573] write(): <13> Tx: $00000000#80 -[59.574] read(): <13> Rx: $m200002ac,4#b5 -[59.574] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[59.575] write(): <13> Tx: $00000000#80 -[59.576] read(): <13> Rx: $m200002a4,4#86 -[59.576] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[59.576] write(): <13> Tx: $0000c842#c1 -[59.577] read(): <13> Rx: $m200002a0,4#82 -[59.577] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[59.578] write(): <13> Tx: $0000c842#c1 -[59.780] read(): <13> Rx: $m200002a8,4#8a -[59.780] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[59.781] write(): <13> Tx: $00000000#80 -[59.782] read(): <13> Rx: $m200002ac,4#b5 -[59.782] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[59.782] write(): <13> Tx: $00000000#80 -[59.784] read(): <13> Rx: $m200002a4,4#86 -[59.784] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[59.785] write(): <13> Tx: $0000c842#c1 -[59.786] read(): <13> Rx: $m200002a0,4#82 -[59.786] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[59.787] write(): <13> Tx: $0000c842#c1 -[59.989] read(): <13> Rx: $m200002a8,4#8a -[59.989] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[59.990] write(): <13> Tx: $00000000#80 -[59.991] read(): <13> Rx: $m200002ac,4#b5 -[59.991] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[59.992] write(): <13> Tx: $00000000#80 -[59.993] read(): <13> Rx: $m200002a4,4#86 -[59.993] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[59.994] write(): <13> Tx: $0000c842#c1 -[59.995] read(): <13> Rx: $m200002a0,4#82 -[59.995] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[59.996] write(): <13> Tx: $0000c842#c1 -[60.198] read(): <13> Rx: $m200002a8,4#8a -[60.198] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[60.199] write(): <13> Tx: $00000000#80 -[60.200] read(): <13> Rx: $m200002ac,4#b5 -[60.200] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[60.200] write(): <13> Tx: $00000000#80 -[60.202] read(): <13> Rx: $m200002a4,4#86 -[60.202] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[60.202] write(): <13> Tx: $0000c842#c1 -[60.203] read(): <13> Rx: $m200002a0,4#82 -[60.203] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[60.204] write(): <13> Tx: $0000c842#c1 -[60.405] read(): <13> Rx: $m200002a8,4#8a -[60.405] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[60.406] write(): <13> Tx: $00000000#80 -[60.406] read(): <13> Rx: $m200002ac,4#b5 -[60.406] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[60.407] write(): <13> Tx: $00000000#80 -[60.407] read(): <13> Rx: $m200002a4,4#86 -[60.407] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[60.408] write(): <13> Tx: $0000c842#c1 -[60.408] read(): <13> Rx: $m200002a0,4#82 -[60.408] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[60.409] write(): <13> Tx: $0000c842#c1 -[60.610] read(): <13> Rx: $m200002a8,4#8a -[60.610] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[60.611] write(): <13> Tx: $00000000#80 -[60.612] read(): <13> Rx: $m200002ac,4#b5 -[60.612] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[60.612] write(): <13> Tx: $00000000#80 -[60.613] read(): <13> Rx: $m200002a4,4#86 -[60.613] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[60.614] write(): <13> Tx: $0000c842#c1 -[60.615] read(): <13> Rx: $m200002a0,4#82 -[60.615] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[60.615] write(): <13> Tx: $0000c842#c1 -[60.817] read(): <13> Rx: $m200002a8,4#8a -[60.817] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[60.818] write(): <13> Tx: $00000000#80 -[60.819] read(): <13> Rx: $m200002ac,4#b5 -[60.819] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[60.820] write(): <13> Tx: $00000000#80 -[60.821] read(): <13> Rx: $m200002a4,4#86 -[60.821] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[60.822] write(): <13> Tx: $0000c842#c1 -[60.823] read(): <13> Rx: $m200002a0,4#82 -[60.823] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[60.823] write(): <13> Tx: $0000c842#c1 -[61.025] read(): <13> Rx: $m200002a8,4#8a -[61.025] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[61.025] write(): <13> Tx: $00000000#80 -[61.026] read(): <13> Rx: $m200002ac,4#b5 -[61.026] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[61.027] write(): <13> Tx: $00000000#80 -[61.027] read(): <13> Rx: $m200002a4,4#86 -[61.027] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[61.027] write(): <13> Tx: $0000c842#c1 -[61.028] read(): <13> Rx: $m200002a0,4#82 -[61.028] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[61.029] write(): <13> Tx: $0000c842#c1 -[61.230] read(): <13> Rx: $m200002a8,4#8a -[61.231] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[61.231] write(): <13> Tx: $00000000#80 -[61.233] read(): <13> Rx: $m200002ac,4#b5 -[61.233] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[61.234] write(): <13> Tx: $00000000#80 -[61.235] read(): <13> Rx: $m200002a4,4#86 -[61.235] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[61.236] write(): <13> Tx: $0000c842#c1 -[61.237] read(): <13> Rx: $m200002a0,4#82 -[61.237] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[61.238] write(): <13> Tx: $0000c842#c1 -[61.440] read(): <13> Rx: $m200002a8,4#8a -[61.440] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[61.441] write(): <13> Tx: $00000000#80 -[61.442] read(): <13> Rx: $m200002ac,4#b5 -[61.442] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[61.443] write(): <13> Tx: $00000000#80 -[61.444] read(): <13> Rx: $m200002a4,4#86 -[61.444] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[61.444] write(): <13> Tx: $0000c842#c1 -[61.445] read(): <13> Rx: $m200002a0,4#82 -[61.445] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[61.446] write(): <13> Tx: $0000c842#c1 -[61.648] read(): <13> Rx: $m200002a8,4#8a -[61.648] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[61.649] write(): <13> Tx: $00000000#80 -[61.649] read(): <13> Rx: $m200002ac,4#b5 -[61.650] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[61.650] write(): <13> Tx: $00000000#80 -[61.651] read(): <13> Rx: $m200002a4,4#86 -[61.651] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[61.652] write(): <13> Tx: $0000c842#c1 -[61.653] read(): <13> Rx: $m200002a0,4#82 -[61.653] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[61.654] write(): <13> Tx: $0000c842#c1 -[61.855] read(): <13> Rx: $m200002a8,4#8a -[61.855] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[61.855] write(): <13> Tx: $00000000#80 -[61.856] read(): <13> Rx: $m200002ac,4#b5 -[61.856] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[61.856] write(): <13> Tx: $00000000#80 -[61.856] read(): <13> Rx: $m200002a4,4#86 -[61.856] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[61.857] write(): <13> Tx: $0000c842#c1 -[61.857] read(): <13> Rx: $m200002a0,4#82 -[61.857] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[61.857] write(): <13> Tx: $0000c842#c1 -[62.058] read(): <13> Rx: $m200002a8,4#8a -[62.058] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[62.059] write(): <13> Tx: $00000000#80 -[62.059] read(): <13> Rx: $m200002ac,4#b5 -[62.059] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[62.060] write(): <13> Tx: $00000000#80 -[62.061] read(): <13> Rx: $m200002a4,4#86 -[62.061] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[62.061] write(): <13> Tx: $0000c842#c1 -[62.062] read(): <13> Rx: $m200002a0,4#82 -[62.062] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[62.062] write(): <13> Tx: $0000c842#c1 -[62.264] read(): <13> Rx: $m200002a8,4#8a -[62.264] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[62.264] write(): <13> Tx: $00000000#80 -[62.265] read(): <13> Rx: $m200002ac,4#b5 -[62.265] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[62.266] write(): <13> Tx: $00000000#80 -[62.267] read(): <13> Rx: $m200002a4,4#86 -[62.267] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[62.268] write(): <13> Tx: $0000c842#c1 -[62.268] read(): <13> Rx: $m200002a0,4#82 -[62.269] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[62.269] write(): <13> Tx: $0000c842#c1 -[62.471] read(): <13> Rx: $m200002a8,4#8a -[62.471] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[62.472] write(): <13> Tx: $00000000#80 -[62.473] read(): <13> Rx: $m200002ac,4#b5 -[62.473] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[62.473] write(): <13> Tx: $00000000#80 -[62.474] read(): <13> Rx: $m200002a4,4#86 -[62.474] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[62.475] write(): <13> Tx: $0000c842#c1 -[62.476] read(): <13> Rx: $m200002a0,4#82 -[62.476] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[62.477] write(): <13> Tx: $0000c842#c1 -[62.679] read(): <13> Rx: $m200002a8,4#8a -[62.679] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[62.679] write(): <13> Tx: $00000000#80 -[62.680] read(): <13> Rx: $m200002ac,4#b5 -[62.681] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[62.681] write(): <13> Tx: $00000000#80 -[62.682] read(): <13> Rx: $m200002a4,4#86 -[62.682] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[62.683] write(): <13> Tx: $0000c842#c1 -[62.684] read(): <13> Rx: $m200002a0,4#82 -[62.684] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[62.685] write(): <13> Tx: $0000c842#c1 -[62.886] read(): <13> Rx: $m200002a8,4#8a -[62.886] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[62.887] write(): <13> Tx: $00000000#80 -[62.888] read(): <13> Rx: $m200002ac,4#b5 -[62.888] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[62.889] write(): <13> Tx: $00000000#80 -[62.890] read(): <13> Rx: $m200002a4,4#86 -[62.890] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[62.891] write(): <13> Tx: $0000c842#c1 -[62.892] read(): <13> Rx: $m200002a0,4#82 -[62.892] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[62.892] write(): <13> Tx: $0000c842#c1 -[63.094] read(): <13> Rx: $m200002a8,4#8a -[63.094] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[63.095] write(): <13> Tx: $00000000#80 -[63.096] read(): <13> Rx: $m200002ac,4#b5 -[63.096] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[63.097] write(): <13> Tx: $00000000#80 -[63.098] read(): <13> Rx: $m200002a4,4#86 -[63.098] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[63.099] write(): <13> Tx: $0000c842#c1 -[63.100] read(): <13> Rx: $m200002a0,4#82 -[63.100] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[63.101] write(): <13> Tx: $0000c842#c1 -[63.303] read(): <13> Rx: $m200002a8,4#8a -[63.303] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[63.304] write(): <13> Tx: $00000000#80 -[63.305] read(): <13> Rx: $m200002ac,4#b5 -[63.305] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[63.305] write(): <13> Tx: $00000000#80 -[63.306] read(): <13> Rx: $m200002a4,4#86 -[63.306] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[63.307] write(): <13> Tx: $0000c842#c1 -[63.308] read(): <13> Rx: $m200002a0,4#82 -[63.308] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[63.308] write(): <13> Tx: $0000c842#c1 -[63.511] read(): <13> Rx: $m200002a8,4#8a -[63.511] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[63.511] write(): <13> Tx: $00000000#80 -[63.512] read(): <13> Rx: $m200002ac,4#b5 -[63.512] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[63.513] write(): <13> Tx: $00000000#80 -[63.514] read(): <13> Rx: $m200002a4,4#86 -[63.514] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[63.514] write(): <13> Tx: $0000c842#c1 -[63.515] read(): <13> Rx: $m200002a0,4#82 -[63.515] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[63.516] write(): <13> Tx: $0000c842#c1 -[63.718] read(): <13> Rx: $m200002a8,4#8a -[63.718] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[63.718] write(): <13> Tx: $00000000#80 -[63.719] read(): <13> Rx: $m200002ac,4#b5 -[63.719] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[63.720] write(): <13> Tx: $00000000#80 -[63.721] read(): <13> Rx: $m200002a4,4#86 -[63.721] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[63.721] write(): <13> Tx: $0000c842#c1 -[63.723] read(): <13> Rx: $m200002a0,4#82 -[63.723] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[63.723] write(): <13> Tx: $0000c842#c1 -[63.925] read(): <13> Rx: $m200002a8,4#8a -[63.925] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[63.926] write(): <13> Tx: $00000000#80 -[63.927] read(): <13> Rx: $m200002ac,4#b5 -[63.927] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[63.927] write(): <13> Tx: $00000000#80 -[63.928] read(): <13> Rx: $m200002a4,4#86 -[63.929] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[63.929] write(): <13> Tx: $0000c842#c1 -[63.930] read(): <13> Rx: $m200002a0,4#82 -[63.930] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[63.931] write(): <13> Tx: $0000c842#c1 -[64.133] read(): <13> Rx: $m200002a8,4#8a -[64.133] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[64.133] write(): <13> Tx: $00000000#80 -[64.135] read(): <13> Rx: $m200002ac,4#b5 -[64.135] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[64.135] write(): <13> Tx: $00000000#80 -[64.136] read(): <13> Rx: $m200002a4,4#86 -[64.136] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[64.137] write(): <13> Tx: $0000c842#c1 -[64.138] read(): <13> Rx: $m200002a0,4#82 -[64.139] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[64.139] write(): <13> Tx: $0000c842#c1 -[64.341] read(): <13> Rx: $m200002a8,4#8a -[64.341] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[64.342] write(): <13> Tx: $00000000#80 -[64.343] read(): <13> Rx: $m200002ac,4#b5 -[64.344] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[64.344] write(): <13> Tx: $00000000#80 -[64.346] read(): <13> Rx: $m200002a4,4#86 -[64.346] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[64.346] write(): <13> Tx: $0000c842#c1 -[64.347] read(): <13> Rx: $m200002a0,4#82 -[64.347] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[64.348] write(): <13> Tx: $0000c842#c1 -[64.550] read(): <13> Rx: $m200002a8,4#8a -[64.550] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[64.550] write(): <13> Tx: $00000000#80 -[64.552] read(): <13> Rx: $m200002ac,4#b5 -[64.552] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[64.552] write(): <13> Tx: $00000000#80 -[64.554] read(): <13> Rx: $m200002a4,4#86 -[64.554] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[64.554] write(): <13> Tx: $0000c842#c1 -[64.555] read(): <13> Rx: $m200002a0,4#82 -[64.555] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[64.556] write(): <13> Tx: $0000c842#c1 -[64.758] read(): <13> Rx: $m200002a8,4#8a -[64.758] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[64.758] write(): <13> Tx: $00000000#80 -[64.760] read(): <13> Rx: $m200002ac,4#b5 -[64.760] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[64.760] write(): <13> Tx: $00000000#80 -[64.761] read(): <13> Rx: $m200002a4,4#86 -[64.761] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[64.762] write(): <13> Tx: $0000c842#c1 -[64.763] read(): <13> Rx: $m200002a0,4#82 -[64.763] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[64.764] write(): <13> Tx: $0000c842#c1 -[64.965] read(): <13> Rx: $m200002a8,4#8a -[64.965] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[64.966] write(): <13> Tx: $00000000#80 -[64.967] read(): <13> Rx: $m200002ac,4#b5 -[64.967] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[64.968] write(): <13> Tx: $00000000#80 -[64.969] read(): <13> Rx: $m200002a4,4#86 -[64.969] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[64.970] write(): <13> Tx: $0000c842#c1 -[64.971] read(): <13> Rx: $m200002a0,4#82 -[64.971] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[64.971] write(): <13> Tx: $0000c842#c1 -[65.173] read(): <13> Rx: $m200002a8,4#8a -[65.173] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[65.174] write(): <13> Tx: $00000000#80 -[65.175] read(): <13> Rx: $m200002ac,4#b5 -[65.175] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[65.176] write(): <13> Tx: $00000000#80 -[65.177] read(): <13> Rx: $m200002a4,4#86 -[65.177] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[65.178] write(): <13> Tx: $0000c842#c1 -[65.179] read(): <13> Rx: $m200002a0,4#82 -[65.179] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[65.180] write(): <13> Tx: $0000c842#c1 -[65.382] read(): <13> Rx: $m200002a8,4#8a -[65.382] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[65.382] write(): <13> Tx: $00000000#80 -[65.384] read(): <13> Rx: $m200002ac,4#b5 -[65.384] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[65.384] write(): <13> Tx: $00000000#80 -[65.385] read(): <13> Rx: $m200002a4,4#86 -[65.385] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[65.386] write(): <13> Tx: $0000c842#c1 -[65.387] read(): <13> Rx: $m200002a0,4#82 -[65.387] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[65.387] write(): <13> Tx: $0000c842#c1 -[65.589] read(): <13> Rx: $m200002a8,4#8a -[65.589] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[65.589] write(): <13> Tx: $00000000#80 -[65.591] read(): <13> Rx: $m200002ac,4#b5 -[65.591] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[65.591] write(): <13> Tx: $00000000#80 -[65.592] read(): <13> Rx: $m200002a4,4#86 -[65.592] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[65.593] write(): <13> Tx: $0000c842#c1 -[65.594] read(): <13> Rx: $m200002a0,4#82 -[65.594] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[65.595] write(): <13> Tx: $0000c842#c1 -[65.797] read(): <13> Rx: $m200002a8,4#8a -[65.797] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[65.798] write(): <13> Tx: $00000000#80 -[65.799] read(): <13> Rx: $m200002ac,4#b5 -[65.799] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[65.799] write(): <13> Tx: $00000000#80 -[65.801] read(): <13> Rx: $m200002a4,4#86 -[65.801] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[65.801] write(): <13> Tx: $0000c842#c1 -[65.802] read(): <13> Rx: $m200002a0,4#82 -[65.802] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[65.803] write(): <13> Tx: $0000c842#c1 -[66.005] read(): <13> Rx: $m200002a8,4#8a -[66.005] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[66.006] write(): <13> Tx: $00000000#80 -[66.007] read(): <13> Rx: $m200002ac,4#b5 -[66.007] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[66.008] write(): <13> Tx: $00000000#80 -[66.009] read(): <13> Rx: $m200002a4,4#86 -[66.009] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[66.009] write(): <13> Tx: $0000c842#c1 -[66.010] read(): <13> Rx: $m200002a0,4#82 -[66.010] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[66.011] write(): <13> Tx: $0000c842#c1 -[66.212] read(): <13> Rx: $m200002a8,4#8a -[66.213] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[66.213] write(): <13> Tx: $00000000#80 -[66.214] read(): <13> Rx: $m200002ac,4#b5 -[66.214] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[66.214] write(): <13> Tx: $00000000#80 -[66.216] read(): <13> Rx: $m200002a4,4#86 -[66.216] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[66.216] write(): <13> Tx: $0000c842#c1 -[66.217] read(): <13> Rx: $m200002a0,4#82 -[66.217] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[66.218] write(): <13> Tx: $0000c842#c1 -[66.419] read(): <13> Rx: $m200002a8,4#8a -[66.419] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[66.419] write(): <13> Tx: $00000000#80 -[66.420] read(): <13> Rx: $m200002ac,4#b5 -[66.420] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[66.420] write(): <13> Tx: $00000000#80 -[66.420] read(): <13> Rx: $m200002a4,4#86 -[66.421] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[66.421] write(): <13> Tx: $0000c842#c1 -[66.421] read(): <13> Rx: $m200002a0,4#82 -[66.421] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[66.422] write(): <13> Tx: $0000c842#c1 -[66.623] read(): <13> Rx: $m200002a8,4#8a -[66.623] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[66.624] write(): <13> Tx: $00000000#80 -[66.626] read(): <13> Rx: $m200002ac,4#b5 -[66.626] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[66.626] write(): <13> Tx: $00000000#80 -[66.627] read(): <13> Rx: $m200002a4,4#86 -[66.627] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[66.628] write(): <13> Tx: $0000c842#c1 -[66.628] read(): <13> Rx: $m200002a0,4#82 -[66.628] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[66.629] write(): <13> Tx: $0000c842#c1 -[66.831] read(): <13> Rx: $m200002a8,4#8a -[66.831] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[66.832] write(): <13> Tx: $00000000#80 -[66.833] read(): <13> Rx: $m200002ac,4#b5 -[66.833] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[66.834] write(): <13> Tx: $00000000#80 -[66.835] read(): <13> Rx: $m200002a4,4#86 -[66.835] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[66.835] write(): <13> Tx: $0000c842#c1 -[66.836] read(): <13> Rx: $m200002a0,4#82 -[66.837] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[66.837] write(): <13> Tx: $0000c842#c1 -[67.039] read(): <13> Rx: $m200002a8,4#8a -[67.039] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[67.040] write(): <13> Tx: $00000000#80 -[67.041] read(): <13> Rx: $m200002ac,4#b5 -[67.041] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[67.042] write(): <13> Tx: $00000000#80 -[67.043] read(): <13> Rx: $m200002a4,4#86 -[67.043] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[67.043] write(): <13> Tx: $0000c842#c1 -[67.045] read(): <13> Rx: $m200002a0,4#82 -[67.045] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[67.045] write(): <13> Tx: $0000c842#c1 -[67.247] read(): <13> Rx: $m200002a8,4#8a -[67.247] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[67.248] write(): <13> Tx: $00000000#80 -[67.249] read(): <13> Rx: $m200002ac,4#b5 -[67.249] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[67.250] write(): <13> Tx: $00000000#80 -[67.251] read(): <13> Rx: $m200002a4,4#86 -[67.251] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[67.252] write(): <13> Tx: $0000c842#c1 -[67.253] read(): <13> Rx: $m200002a0,4#82 -[67.253] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[67.253] write(): <13> Tx: $0000c842#c1 -[67.455] read(): <13> Rx: $m200002a8,4#8a -[67.455] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[67.456] write(): <13> Tx: $00000000#80 -[67.458] read(): <13> Rx: $m200002ac,4#b5 -[67.458] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[67.458] write(): <13> Tx: $00000000#80 -[67.460] read(): <13> Rx: $m200002a4,4#86 -[67.460] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[67.460] write(): <13> Tx: $0000c842#c1 -[67.462] read(): <13> Rx: $m200002a0,4#82 -[67.462] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[67.462] write(): <13> Tx: $0000c842#c1 -[67.664] read(): <13> Rx: $m200002a8,4#8a -[67.665] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[67.665] write(): <13> Tx: $00000000#80 -[67.667] read(): <13> Rx: $m200002ac,4#b5 -[67.667] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[67.667] write(): <13> Tx: $00000000#80 -[67.669] read(): <13> Rx: $m200002a4,4#86 -[67.669] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[67.669] write(): <13> Tx: $0000c842#c1 -[67.670] read(): <13> Rx: $m200002a0,4#82 -[67.670] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[67.671] write(): <13> Tx: $0000c842#c1 -[67.873] read(): <13> Rx: $m200002a8,4#8a -[67.873] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[67.874] write(): <13> Tx: $00000000#80 -[67.875] read(): <13> Rx: $m200002ac,4#b5 -[67.875] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[67.875] write(): <13> Tx: $00000000#80 -[67.876] read(): <13> Rx: $m200002a4,4#86 -[67.877] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[67.877] write(): <13> Tx: $0000c842#c1 -[67.878] read(): <13> Rx: $m200002a0,4#82 -[67.878] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[67.879] write(): <13> Tx: $0000c842#c1 -[68.081] read(): <13> Rx: $m200002a8,4#8a -[68.081] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[68.082] write(): <13> Tx: $00000000#80 -[68.083] read(): <13> Rx: $m200002ac,4#b5 -[68.083] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[68.083] write(): <13> Tx: $00000000#80 -[68.085] read(): <13> Rx: $m200002a4,4#86 -[68.085] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[68.086] write(): <13> Tx: $0000c842#c1 -[68.087] read(): <13> Rx: $m200002a0,4#82 -[68.087] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[68.087] write(): <13> Tx: $0000c842#c1 -[68.289] read(): <13> Rx: $m200002a8,4#8a -[68.289] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[68.290] write(): <13> Tx: $00000000#80 -[68.291] read(): <13> Rx: $m200002ac,4#b5 -[68.291] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[68.292] write(): <13> Tx: $00000000#80 -[68.293] read(): <13> Rx: $m200002a4,4#86 -[68.293] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[68.294] write(): <13> Tx: $0000c842#c1 -[68.295] read(): <13> Rx: $m200002a0,4#82 -[68.295] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[68.296] write(): <13> Tx: $0000c842#c1 -[68.498] read(): <13> Rx: $m200002a8,4#8a -[68.498] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[68.499] write(): <13> Tx: $00000000#80 -[68.500] read(): <13> Rx: $m200002ac,4#b5 -[68.500] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[68.501] write(): <13> Tx: $00000000#80 -[68.502] read(): <13> Rx: $m200002a4,4#86 -[68.502] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[68.502] write(): <13> Tx: $0000c842#c1 -[68.503] read(): <13> Rx: $m200002a0,4#82 -[68.503] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[68.504] write(): <13> Tx: $0000c842#c1 -[68.705] read(): <13> Rx: $m200002a8,4#8a -[68.705] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[68.706] write(): <13> Tx: $00000000#80 -[68.707] read(): <13> Rx: $m200002ac,4#b5 -[68.707] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[68.707] write(): <13> Tx: $00000000#80 -[68.708] read(): <13> Rx: $m200002a4,4#86 -[68.708] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[68.709] write(): <13> Tx: $0000c842#c1 -[68.710] read(): <13> Rx: $m200002a0,4#82 -[68.710] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[68.710] write(): <13> Tx: $0000c842#c1 -[68.912] read(): <13> Rx: $m200002a8,4#8a -[68.912] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[68.913] write(): <13> Tx: $00000000#80 -[68.914] read(): <13> Rx: $m200002ac,4#b5 -[68.914] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[68.914] write(): <13> Tx: $00000000#80 -[68.916] read(): <13> Rx: $m200002a4,4#86 -[68.916] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[68.916] write(): <13> Tx: $0000c842#c1 -[68.917] read(): <13> Rx: $m200002a0,4#82 -[68.917] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[68.917] write(): <13> Tx: $0000c842#c1 -[69.119] read(): <13> Rx: $m200002a8,4#8a -[69.119] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[69.120] write(): <13> Tx: $00000000#80 -[69.121] read(): <13> Rx: $m200002ac,4#b5 -[69.121] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[69.122] write(): <13> Tx: $00000000#80 -[69.123] read(): <13> Rx: $m200002a4,4#86 -[69.123] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[69.123] write(): <13> Tx: $0000c842#c1 -[69.125] read(): <13> Rx: $m200002a0,4#82 -[69.125] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[69.125] write(): <13> Tx: $0000c842#c1 -[69.327] read(): <13> Rx: $m200002a8,4#8a -[69.327] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[69.328] write(): <13> Tx: $00000000#80 -[69.329] read(): <13> Rx: $m200002ac,4#b5 -[69.330] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[69.330] write(): <13> Tx: $00000000#80 -[69.331] read(): <13> Rx: $m200002a4,4#86 -[69.331] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[69.332] write(): <13> Tx: $0000c842#c1 -[69.333] read(): <13> Rx: $m200002a0,4#82 -[69.333] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[69.334] write(): <13> Tx: $0000c842#c1 -[69.536] read(): <13> Rx: $m200002a8,4#8a -[69.536] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[69.537] write(): <13> Tx: $00000000#80 -[69.538] read(): <13> Rx: $m200002ac,4#b5 -[69.539] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[69.539] write(): <13> Tx: $00000000#80 -[69.540] read(): <13> Rx: $m200002a4,4#86 -[69.540] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[69.541] write(): <13> Tx: $0000c842#c1 -[69.542] read(): <13> Rx: $m200002a0,4#82 -[69.542] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[69.543] write(): <13> Tx: $0000c842#c1 -[69.745] read(): <13> Rx: $m200002a8,4#8a -[69.745] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[69.746] write(): <13> Tx: $00000000#80 -[69.803] read(): <13> Rx: $m200002ac,4#b5 -[69.803] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[69.803] write(): <13> Tx: $00000000#80 -[69.805] read(): <13> Rx: $m200002a4,4#86 -[69.805] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[69.806] write(): <13> Tx: $0000c842#c1 -[69.807] read(): <13> Rx: $m200002a0,4#82 -[69.807] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[69.807] write(): <13> Tx: $0000c842#c1 -[70.009] read(): <13> Rx: $m200002a8,4#8a -[70.009] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[70.010] write(): <13> Tx: $00000000#80 -[70.011] read(): <13> Rx: $m200002ac,4#b5 -[70.011] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[70.012] write(): <13> Tx: $00000000#80 -[70.013] read(): <13> Rx: $m200002a4,4#86 -[70.013] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[70.013] write(): <13> Tx: $0000c842#c1 -[70.014] read(): <13> Rx: $m200002a0,4#82 -[70.014] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[70.015] write(): <13> Tx: $0000c842#c1 -[70.216] read(): <13> Rx: $m200002a8,4#8a -[70.216] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[70.217] write(): <13> Tx: $00000000#80 -[70.217] read(): <13> Rx: $m200002ac,4#b5 -[70.217] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[70.217] write(): <13> Tx: $00000000#80 -[70.218] read(): <13> Rx: $m200002a4,4#86 -[70.218] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[70.218] write(): <13> Tx: $0000c842#c1 -[70.218] read(): <13> Rx: $m200002a0,4#82 -[70.218] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[70.218] write(): <13> Tx: $0000c842#c1 -[70.420] read(): <13> Rx: $m200002a8,4#8a -[70.420] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[70.421] write(): <13> Tx: $00000000#80 -[70.422] read(): <13> Rx: $m200002ac,4#b5 -[70.422] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[70.422] write(): <13> Tx: $00000000#80 -[70.423] read(): <13> Rx: $m200002a4,4#86 -[70.423] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[70.423] write(): <13> Tx: $0000c842#c1 -[70.424] read(): <13> Rx: $m200002a0,4#82 -[70.424] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[70.425] write(): <13> Tx: $0000c842#c1 -[70.626] read(): <13> Rx: $m200002a8,4#8a -[70.627] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[70.627] write(): <13> Tx: $00000000#80 -[70.628] read(): <13> Rx: $m200002ac,4#b5 -[70.628] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[70.629] write(): <13> Tx: $00000000#80 -[70.630] read(): <13> Rx: $m200002a4,4#86 -[70.630] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[70.630] write(): <13> Tx: $0000c842#c1 -[70.631] read(): <13> Rx: $m200002a0,4#82 -[70.631] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[70.632] write(): <13> Tx: $0000c842#c1 -[70.833] read(): <13> Rx: $m200002a8,4#8a -[70.833] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[70.834] write(): <13> Tx: $00000000#80 -[70.835] read(): <13> Rx: $m200002ac,4#b5 -[70.835] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[70.835] write(): <13> Tx: $00000000#80 -[70.836] read(): <13> Rx: $m200002a4,4#86 -[70.836] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[70.837] write(): <13> Tx: $0000c842#c1 -[70.838] read(): <13> Rx: $m200002a0,4#82 -[70.838] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[70.838] write(): <13> Tx: $0000c842#c1 -[71.040] read(): <13> Rx: $m200002a8,4#8a -[71.040] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[71.040] write(): <13> Tx: $00000000#80 -[71.041] read(): <13> Rx: $m200002ac,4#b5 -[71.041] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[71.042] write(): <13> Tx: $00000000#80 -[71.043] read(): <13> Rx: $m200002a4,4#86 -[71.043] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[71.043] write(): <13> Tx: $0000c842#c1 -[71.044] read(): <13> Rx: $m200002a0,4#82 -[71.044] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[71.044] write(): <13> Tx: $0000c842#c1 -[71.247] read(): <13> Rx: $m200002a8,4#8a -[71.247] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[71.247] write(): <13> Tx: $00000000#80 -[71.249] read(): <13> Rx: $m200002ac,4#b5 -[71.249] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[71.249] write(): <13> Tx: $00000000#80 -[71.250] read(): <13> Rx: $m200002a4,4#86 -[71.250] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[71.251] write(): <13> Tx: $0000c842#c1 -[71.252] read(): <13> Rx: $m200002a0,4#82 -[71.252] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[71.252] write(): <13> Tx: $0000c842#c1 -[71.453] read(): <13> Rx: $m200002a8,4#8a -[71.453] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[71.454] write(): <13> Tx: $00000000#80 -[71.454] read(): <13> Rx: $m200002ac,4#b5 -[71.454] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[71.455] write(): <13> Tx: $00000000#80 -[71.455] read(): <13> Rx: $m200002a4,4#86 -[71.455] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[71.455] write(): <13> Tx: $0000c842#c1 -[71.456] read(): <13> Rx: $m200002a0,4#82 -[71.456] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[71.456] write(): <13> Tx: $0000c842#c1 -[71.658] read(): <13> Rx: $m200002a8,4#8a -[71.658] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[71.659] write(): <13> Tx: $00000000#80 -[71.660] read(): <13> Rx: $m200002ac,4#b5 -[71.660] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[71.661] write(): <13> Tx: $00000000#80 -[71.662] read(): <13> Rx: $m200002a4,4#86 -[71.662] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[71.663] write(): <13> Tx: $0000c842#c1 -[71.664] read(): <13> Rx: $m200002a0,4#82 -[71.664] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[71.665] write(): <13> Tx: $0000c842#c1 -[71.866] read(): <13> Rx: $m200002a8,4#8a -[71.867] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[71.868] write(): <13> Tx: $00000000#80 -[71.869] read(): <13> Rx: $m200002ac,4#b5 -[71.869] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[71.870] write(): <13> Tx: $00000000#80 -[71.871] read(): <13> Rx: $m200002a4,4#86 -[71.871] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[71.872] write(): <13> Tx: $0000c842#c1 -[71.873] read(): <13> Rx: $m200002a0,4#82 -[71.873] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[71.873] write(): <13> Tx: $0000c842#c1 -[72.075] read(): <13> Rx: $m200002a8,4#8a -[72.075] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[72.076] write(): <13> Tx: $00000000#80 -[72.077] read(): <13> Rx: $m200002ac,4#b5 -[72.077] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[72.078] write(): <13> Tx: $00000000#80 -[72.079] read(): <13> Rx: $m200002a4,4#86 -[72.079] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[72.079] write(): <13> Tx: $0000c842#c1 -[72.081] read(): <13> Rx: $m200002a0,4#82 -[72.081] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[72.081] write(): <13> Tx: $0000c842#c1 -[72.283] read(): <13> Rx: $m200002a8,4#8a -[72.283] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[72.283] write(): <13> Tx: $00000000#80 -[72.283] read(): <13> Rx: $m200002ac,4#b5 -[72.283] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[72.284] write(): <13> Tx: $00000000#80 -[72.284] read(): <13> Rx: $m200002a4,4#86 -[72.284] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[72.285] write(): <13> Tx: $0000c842#c1 -[72.285] read(): <13> Rx: $m200002a0,4#82 -[72.285] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[72.286] write(): <13> Tx: $0000c842#c1 -[72.487] read(): <13> Rx: $m200002a8,4#8a -[72.487] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[72.488] write(): <13> Tx: $00000000#80 -[72.489] read(): <13> Rx: $m200002ac,4#b5 -[72.489] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[72.490] write(): <13> Tx: $00000000#80 -[72.491] read(): <13> Rx: $m200002a4,4#86 -[72.491] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[72.492] write(): <13> Tx: $0000c842#c1 -[72.493] read(): <13> Rx: $m200002a0,4#82 -[72.493] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[72.494] write(): <13> Tx: $0000c842#c1 -[72.696] read(): <13> Rx: $m200002a8,4#8a -[72.696] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[72.697] write(): <13> Tx: $00000000#80 -[72.698] read(): <13> Rx: $m200002ac,4#b5 -[72.698] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[72.698] write(): <13> Tx: $00000000#80 -[72.700] read(): <13> Rx: $m200002a4,4#86 -[72.700] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[72.700] write(): <13> Tx: $0000c842#c1 -[72.701] read(): <13> Rx: $m200002a0,4#82 -[72.702] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[72.702] write(): <13> Tx: $0000c842#c1 -[72.903] read(): <13> Rx: $m200002a8,4#8a -[72.903] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[72.904] write(): <13> Tx: $00000000#80 -[72.904] read(): <13> Rx: $m200002ac,4#b5 -[72.904] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[72.905] write(): <13> Tx: $00000000#80 -[72.905] read(): <13> Rx: $m200002a4,4#86 -[72.905] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[72.905] write(): <13> Tx: $0000c842#c1 -[72.906] read(): <13> Rx: $m200002a0,4#82 -[72.906] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[72.906] write(): <13> Tx: $0000c842#c1 -[73.107] read(): <13> Rx: $m200002a8,4#8a -[73.107] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[73.108] write(): <13> Tx: $00000000#80 -[73.108] read(): <13> Rx: $m200002ac,4#b5 -[73.108] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[73.108] write(): <13> Tx: $00000000#80 -[73.109] read(): <13> Rx: $m200002a4,4#86 -[73.109] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[73.109] write(): <13> Tx: $0000c842#c1 -[73.109] read(): <13> Rx: $m200002a0,4#82 -[73.110] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[73.110] write(): <13> Tx: $0000c842#c1 -[73.311] read(): <13> Rx: $m200002a8,4#8a -[73.312] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[73.312] write(): <13> Tx: $00000000#80 -[73.313] read(): <13> Rx: $m200002ac,4#b5 -[73.313] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[73.314] write(): <13> Tx: $00000000#80 -[73.315] read(): <13> Rx: $m200002a4,4#86 -[73.315] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[73.315] write(): <13> Tx: $0000c842#c1 -[73.316] read(): <13> Rx: $m200002a0,4#82 -[73.316] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[73.317] write(): <13> Tx: $0000c842#c1 -[73.518] read(): <13> Rx: $m200002a8,4#8a -[73.519] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[73.519] write(): <13> Tx: $00000000#80 -[73.521] read(): <13> Rx: $m200002ac,4#b5 -[73.521] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[73.521] write(): <13> Tx: $00000000#80 -[73.522] read(): <13> Rx: $m200002a4,4#86 -[73.522] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[73.523] write(): <13> Tx: $0000c842#c1 -[73.524] read(): <13> Rx: $m200002a0,4#82 -[73.524] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[73.524] write(): <13> Tx: $0000c842#c1 -[73.726] read(): <13> Rx: $m200002a8,4#8a -[73.726] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[73.727] write(): <13> Tx: $00000000#80 -[73.728] read(): <13> Rx: $m200002ac,4#b5 -[73.728] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[73.729] write(): <13> Tx: $00000000#80 -[73.730] read(): <13> Rx: $m200002a4,4#86 -[73.730] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[73.730] write(): <13> Tx: $0000c842#c1 -[73.731] read(): <13> Rx: $m200002a0,4#82 -[73.732] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[73.732] write(): <13> Tx: $0000c842#c1 -[73.934] read(): <13> Rx: $m200002a8,4#8a -[73.934] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[73.935] write(): <13> Tx: $00000000#80 -[73.936] read(): <13> Rx: $m200002ac,4#b5 -[73.936] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[73.937] write(): <13> Tx: $00000000#80 -[73.938] read(): <13> Rx: $m200002a4,4#86 -[73.938] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[73.939] write(): <13> Tx: $0000c842#c1 -[73.940] read(): <13> Rx: $m200002a0,4#82 -[73.940] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[73.941] write(): <13> Tx: $0000c842#c1 -[74.143] read(): <13> Rx: $m200002a8,4#8a -[74.143] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[74.144] write(): <13> Tx: $00000000#80 -[74.146] read(): <13> Rx: $m200002ac,4#b5 -[74.146] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[74.146] write(): <13> Tx: $00000000#80 -[74.148] read(): <13> Rx: $m200002a4,4#86 -[74.148] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[74.149] write(): <13> Tx: $0000c842#c1 -[74.150] read(): <13> Rx: $m200002a0,4#82 -[74.150] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[74.150] write(): <13> Tx: $0000c842#c1 -[74.351] read(): <13> Rx: $m200002a8,4#8a -[74.351] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[74.352] write(): <13> Tx: $00000000#80 -[74.352] read(): <13> Rx: $m200002ac,4#b5 -[74.353] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[74.353] write(): <13> Tx: $00000000#80 -[74.354] read(): <13> Rx: $m200002a4,4#86 -[74.354] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[74.354] write(): <13> Tx: $0000c842#c1 -[74.355] read(): <13> Rx: $m200002a0,4#82 -[74.355] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[74.356] write(): <13> Tx: $0000c842#c1 -[74.557] read(): <13> Rx: $m200002a8,4#8a -[74.557] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[74.558] write(): <13> Tx: $00000000#80 -[74.559] read(): <13> Rx: $m200002ac,4#b5 -[74.559] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[74.560] write(): <13> Tx: $00000000#80 -[74.561] read(): <13> Rx: $m200002a4,4#86 -[74.561] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[74.561] write(): <13> Tx: $0000c842#c1 -[74.562] read(): <13> Rx: $m200002a0,4#82 -[74.562] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[74.563] write(): <13> Tx: $0000c842#c1 -[74.764] read(): <13> Rx: $m200002a8,4#8a -[74.765] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[74.765] write(): <13> Tx: $00000000#80 -[74.766] read(): <13> Rx: $m200002ac,4#b5 -[74.766] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[74.767] write(): <13> Tx: $00000000#80 -[74.768] read(): <13> Rx: $m200002a4,4#86 -[74.768] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[74.769] write(): <13> Tx: $0000c842#c1 -[74.770] read(): <13> Rx: $m200002a0,4#82 -[74.770] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[74.771] write(): <13> Tx: $0000c842#c1 -[74.972] read(): <13> Rx: $m200002a8,4#8a -[74.973] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[74.973] write(): <13> Tx: $00000000#80 -[74.974] read(): <13> Rx: $m200002ac,4#b5 -[74.974] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[74.975] write(): <13> Tx: $00000000#80 -[74.976] read(): <13> Rx: $m200002a4,4#86 -[74.976] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[74.977] write(): <13> Tx: $0000c842#c1 -[74.978] read(): <13> Rx: $m200002a0,4#82 -[74.978] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[74.979] write(): <13> Tx: $0000c842#c1 -[75.181] read(): <13> Rx: $m200002a8,4#8a -[75.181] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[75.181] write(): <13> Tx: $00000000#80 -[75.183] read(): <13> Rx: $m200002ac,4#b5 -[75.183] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[75.183] write(): <13> Tx: $00000000#80 -[75.184] read(): <13> Rx: $m200002a4,4#86 -[75.184] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[75.185] write(): <13> Tx: $0000c842#c1 -[75.186] read(): <13> Rx: $m200002a0,4#82 -[75.186] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[75.187] write(): <13> Tx: $0000c842#c1 -[75.388] read(): <13> Rx: $m200002a8,4#8a -[75.388] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[75.389] write(): <13> Tx: $00000000#80 -[75.390] read(): <13> Rx: $m200002ac,4#b5 -[75.390] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[75.390] write(): <13> Tx: $00000000#80 -[75.392] read(): <13> Rx: $m200002a4,4#86 -[75.392] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[75.392] write(): <13> Tx: $0000c842#c1 -[75.394] read(): <13> Rx: $m200002a0,4#82 -[75.394] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[75.394] write(): <13> Tx: $0000c842#c1 -[75.596] read(): <13> Rx: $m200002a8,4#8a -[75.596] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[75.597] write(): <13> Tx: $00000000#80 -[75.598] read(): <13> Rx: $m200002ac,4#b5 -[75.598] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[75.598] write(): <13> Tx: $00000000#80 -[75.600] read(): <13> Rx: $m200002a4,4#86 -[75.600] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[75.601] write(): <13> Tx: $0000c842#c1 -[75.602] read(): <13> Rx: $m200002a0,4#82 -[75.602] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[75.602] write(): <13> Tx: $0000c842#c1 -[75.804] read(): <13> Rx: $m200002a8,4#8a -[75.804] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[75.805] write(): <13> Tx: $00000000#80 -[75.806] read(): <13> Rx: $m200002ac,4#b5 -[75.807] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[75.807] write(): <13> Tx: $00000000#80 -[75.808] read(): <13> Rx: $m200002a4,4#86 -[75.808] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[75.809] write(): <13> Tx: $0000c842#c1 -[75.810] read(): <13> Rx: $m200002a0,4#82 -[75.810] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[75.811] write(): <13> Tx: $0000c842#c1 -[76.013] read(): <13> Rx: $m200002a8,4#8a -[76.013] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[76.014] write(): <13> Tx: $00000000#80 -[76.015] read(): <13> Rx: $m200002ac,4#b5 -[76.015] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[76.015] write(): <13> Tx: $00000000#80 -[76.016] read(): <13> Rx: $m200002a4,4#86 -[76.016] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[76.016] write(): <13> Tx: $0000c842#c1 -[76.017] read(): <13> Rx: $m200002a0,4#82 -[76.017] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[76.017] write(): <13> Tx: $0000c842#c1 -[76.218] read(): <13> Rx: $m200002a8,4#8a -[76.218] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a8 -[76.219] write(): <13> Tx: $00000000#80 -[76.220] read(): <13> Rx: $m200002ac,4#b5 -[76.220] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002ac -[76.220] write(): <13> Tx: $00000000#80 -[76.221] read(): <13> Rx: $m200002a4,4#86 -[76.221] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a4 -[76.221] write(): <13> Tx: $0000c842#c1 -[76.222] read(): <13> Rx: $m200002a0,4#82 -[76.222] handlePacket(): Reading 0x4 bytes of memory from addr 0x200002a0 -[76.223] write(): <13> Tx: $0000c842#c1 -[76.293] read(): <13> Rx: $vCont?#49 -[76.293] write(): <13> Tx: $vCont;c;s;t#05 -[76.293] read(): <13> Rx: $vCont;t:1#24 -[76.294] handle_vCont_t(): handle_vCont_t, Halt thread -[76.295] write(): <13> Tx: $OK#9a -[76.297] read(): <13> Rx: $vKill;a410#33 -[76.297] handlePacket(): Hidden/Unsupported v-command 'vKill', see RSP for details -[76.297] write(): <13> Tx: $#00 -[76.297] read(): <13> Rx: $k#6b -[76.297] stop(): Stopping port 61235 +[14.422] read(): <13> Rx: $m200004f0,4#89 +[14.422] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[14.422] write(): <13> Tx: $00000000#80 +[14.624] read(): <13> Rx: $m200004f0,4#89 +[14.624] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[14.625] write(): <13> Tx: $00000000#80 +[14.826] read(): <13> Rx: $m200004f0,4#89 +[14.826] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[14.827] write(): <13> Tx: $00000000#80 +[15.029] read(): <13> Rx: $m200004f0,4#89 +[15.029] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[15.030] write(): <13> Tx: $00000000#80 +[15.232] read(): <13> Rx: $m200004f0,4#89 +[15.232] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[15.232] write(): <13> Tx: $00000000#80 +[15.435] read(): <13> Rx: $m200004f0,4#89 +[15.435] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[15.436] write(): <13> Tx: $00000000#80 +[15.638] read(): <13> Rx: $m200004f0,4#89 +[15.638] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[15.639] write(): <13> Tx: $00000000#80 +[15.841] read(): <13> Rx: $m200004f0,4#89 +[15.841] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[15.842] write(): <13> Tx: $00000000#80 +[16.062] read(): <13> Rx: $m200004f0,4#89 +[16.062] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[16.062] write(): <13> Tx: $00000000#80 +[16.263] read(): <13> Rx: $m200004f0,4#89 +[16.263] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[16.263] write(): <13> Tx: $00000000#80 +[16.465] read(): <13> Rx: $m200004f0,4#89 +[16.465] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[16.466] write(): <13> Tx: $00000000#80 +[16.668] read(): <13> Rx: $m200004f0,4#89 +[16.668] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[16.669] write(): <13> Tx: $00000000#80 +[16.872] read(): <13> Rx: $m200004f0,4#89 +[16.872] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[16.872] write(): <13> Tx: $00000000#80 +[17.075] read(): <13> Rx: $m200004f0,4#89 +[17.075] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[17.076] write(): <13> Tx: $00000000#80 +[17.278] read(): <13> Rx: $m200004f0,4#89 +[17.278] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[17.279] write(): <13> Tx: $00000000#80 +[17.481] read(): <13> Rx: $m200004f0,4#89 +[17.481] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[17.482] write(): <13> Tx: $00000000#80 +[17.684] read(): <13> Rx: $m200004f0,4#89 +[17.684] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[17.685] write(): <13> Tx: $00000000#80 +[17.887] read(): <13> Rx: $m200004f0,4#89 +[17.887] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[17.888] write(): <13> Tx: $00000000#80 +[18.090] read(): <13> Rx: $m200004f0,4#89 +[18.090] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[18.091] write(): <13> Tx: $00000000#80 +[18.294] read(): <13> Rx: $m200004f0,4#89 +[18.294] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[18.295] write(): <13> Tx: $00000000#80 +[18.497] read(): <13> Rx: $m200004f0,4#89 +[18.497] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[18.498] write(): <13> Tx: $00000000#80 +[18.700] read(): <13> Rx: $m200004f0,4#89 +[18.700] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[18.700] write(): <13> Tx: $00000000#80 +[18.901] read(): <13> Rx: $m200004f0,4#89 +[18.901] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[18.902] write(): <13> Tx: $00000000#80 +[19.103] read(): <13> Rx: $m200004f0,4#89 +[19.103] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[19.104] write(): <13> Tx: $00000000#80 +[19.306] read(): <13> Rx: $m200004f0,4#89 +[19.306] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[19.307] write(): <13> Tx: $00000000#80 +[19.510] read(): <13> Rx: $m200004f0,4#89 +[19.510] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[19.511] write(): <13> Tx: $00000000#80 +[19.713] read(): <13> Rx: $m200004f0,4#89 +[19.713] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[19.713] write(): <13> Tx: $00000000#80 +[19.915] read(): <13> Rx: $m200004f0,4#89 +[19.915] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[19.915] write(): <13> Tx: $00000000#80 +[20.117] read(): <13> Rx: $m200004f0,4#89 +[20.117] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[20.118] write(): <13> Tx: $00000000#80 +[20.320] read(): <13> Rx: $m200004f0,4#89 +[20.321] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[20.321] write(): <13> Tx: $00000000#80 +[20.523] read(): <13> Rx: $m200004f0,4#89 +[20.523] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[20.524] write(): <13> Tx: $00000000#80 +[20.726] read(): <13> Rx: $m200004f0,4#89 +[20.727] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[20.728] write(): <13> Tx: $00000000#80 +[20.930] read(): <13> Rx: $m200004f0,4#89 +[20.930] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[20.931] write(): <13> Tx: $00000000#80 +[21.133] read(): <13> Rx: $m200004f0,4#89 +[21.133] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[21.134] write(): <13> Tx: $00000000#80 +[21.336] read(): <13> Rx: $m200004f0,4#89 +[21.336] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[21.337] write(): <13> Tx: $00000000#80 +[21.539] read(): <13> Rx: $m200004f0,4#89 +[21.539] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[21.540] write(): <13> Tx: $00000000#80 +[21.742] read(): <13> Rx: $m200004f0,4#89 +[21.742] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[21.743] write(): <13> Tx: $00000000#80 +[21.945] read(): <13> Rx: $m200004f0,4#89 +[21.945] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[21.946] write(): <13> Tx: $00000000#80 +[22.148] read(): <13> Rx: $m200004f0,4#89 +[22.148] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[22.148] write(): <13> Tx: $00000000#80 +[22.351] read(): <13> Rx: $m200004f0,4#89 +[22.351] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[22.352] write(): <13> Tx: $00000000#80 +[22.555] read(): <13> Rx: $m200004f0,4#89 +[22.555] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[22.555] write(): <13> Tx: $00000000#80 +[22.758] read(): <13> Rx: $m200004f0,4#89 +[22.758] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[22.758] write(): <13> Tx: $00000000#80 +[22.961] read(): <13> Rx: $m200004f0,4#89 +[22.961] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[22.962] write(): <13> Tx: $00000000#80 +[23.164] read(): <13> Rx: $m200004f0,4#89 +[23.164] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[23.165] write(): <13> Tx: $00000000#80 +[23.367] read(): <13> Rx: $m200004f0,4#89 +[23.367] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[23.368] write(): <13> Tx: $00000000#80 +[23.571] read(): <13> Rx: $m200004f0,4#89 +[23.571] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[23.572] write(): <13> Tx: $00000000#80 +[23.774] read(): <13> Rx: $m200004f0,4#89 +[23.774] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[23.775] write(): <13> Tx: $00000000#80 +[23.976] read(): <13> Rx: $m200004f0,4#89 +[23.976] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[23.977] write(): <13> Tx: $00000000#80 +[24.179] read(): <13> Rx: $m200004f0,4#89 +[24.179] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[24.180] write(): <13> Tx: $00000000#80 +[24.382] read(): <13> Rx: $m200004f0,4#89 +[24.382] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[24.383] write(): <13> Tx: $00000000#80 +[24.586] read(): <13> Rx: $m200004f0,4#89 +[24.586] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[24.586] write(): <13> Tx: $00000000#80 +[24.789] read(): <13> Rx: $m200004f0,4#89 +[24.789] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[24.790] write(): <13> Tx: $00000000#80 +[24.993] read(): <13> Rx: $m200004f0,4#89 +[24.993] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[24.994] write(): <13> Tx: $00000000#80 +[25.196] read(): <13> Rx: $m200004f0,4#89 +[25.196] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[25.197] write(): <13> Tx: $00000000#80 +[25.400] read(): <13> Rx: $m200004f0,4#89 +[25.400] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[25.401] write(): <13> Tx: $00000000#80 +[25.603] read(): <13> Rx: $m200004f0,4#89 +[25.603] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[25.604] write(): <13> Tx: $00000000#80 +[25.806] read(): <13> Rx: $m200004f0,4#89 +[25.806] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[25.807] write(): <13> Tx: $00000000#80 +[26.009] read(): <13> Rx: $m200004f0,4#89 +[26.009] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[26.010] write(): <13> Tx: $00000000#80 +[26.212] read(): <13> Rx: $m200004f0,4#89 +[26.212] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[26.212] write(): <13> Tx: $00000000#80 +[26.414] read(): <13> Rx: $m200004f0,4#89 +[26.414] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[26.415] write(): <13> Tx: $00000000#80 +[26.617] read(): <13> Rx: $m200004f0,4#89 +[26.617] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[26.617] write(): <13> Tx: $00000000#80 +[26.772] read(): <13> Rx: $vCont;t:1#24 +[26.772] handle_vCont_t(): handle_vCont_t, Halt thread +[26.773] write(): <13> Tx: $OK#9a +[26.783] Device_GetStatus(): ST-LINK device status: HALT_MODE +[26.783] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[26.783] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[26.789] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[26.790] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[26.790] read(): <13> Rx: $vStopped#55 +[26.790] write(): <13> Tx: $OK#9a +[26.790] read(): <13> Rx: $g#67 +[26.797] write(): <13> Tx: $3b4200007d000000e9030000a8030000000000000000000000000000c0ff07200000000000000000000000000000000000000000c0ff072031060008ec05000800000021000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083c0ca3d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000c0ff072000000000#ff +[26.797] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[26.797] write(): <13> Tx: $l#8b +[26.798] read(): <13> Rx: $m80005ec,4#92 +[26.798] handlePacket(): Reading 0x4 bytes of memory from addr 0x80005ec +[26.798] write(): <13> Tx: $80b400af#25 +[26.810] read(): <13> Rx: $m200004f0,4#89 +[26.810] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[26.810] write(): <13> Tx: $00000000#80 +[26.814] read(): <13> Rx: $m8000630,4#2e +[26.814] handlePacket(): Reading 0x4 bytes of memory from addr 0x8000630 +[26.814] write(): <13> Tx: $0246bb68#fe +[26.815] read(): <13> Rx: $m2007ffc0,40#25 +[26.815] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[26.815] write(): <13> Tx: $c8ff0720e8030000933e0000e9030000d8ff072091670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#b4 +[26.816] read(): <13> Rx: $m8006790,4#3b +[26.816] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006790 +[26.816] write(): <13> Tx: $eee700bf#8e +[26.816] read(): <13> Rx: $m8007fda,4#c7 +[26.817] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fda +[26.817] write(): <13> Tx: $70470000#92 +[26.818] read(): <13> Rx: $m8007f80,40#9a +[26.818] handlePacket(): Reading 0x40 bytes of memory from addr 0x8007f80 +[26.818] write(): <13> Tx: $1a68bb681a447b681a603b68fa681a6000bf1437bd465df8047b7047834b040000ca9a3bdff834d0002103e00c4b5b58435004310b480c4b42189a42f6d30b4a#cf +[26.819] read(): <13> Rx: $m8007fdc,4#c9 +[26.819] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fdc +[26.819] write(): <13> Tx: $00000820#8a +[26.942] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[26.942] write(): <13> Tx: $l#8b +[26.942] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[26.942] write(): <13> Tx: $l#8b +[28.784] read(): <13> Rx: $m8000630,2#2c +[28.784] handlePacket(): Reading 0x2 bytes of memory from addr 0x8000630 +[28.784] write(): <13> Tx: $0246#cc +[28.841] read(): <13> Rx: $Z1,8000630,2#76 +[28.842] write(): <13> Tx: $OK#9a +[28.842] read(): <13> Rx: $vCont;c#a8 +[28.842] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[28.848] handle_vCont_c(): handle_vCont_c, continue thread +[28.848] write(): <13> Tx: $OK#9a +[28.859] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[28.859] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[28.865] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000003 +[28.867] write(): <13> Tx: %Stop:T05hwbreak:;thread:1;core:0;#7e +[28.891] read(): <13> Rx: $vStopped#55 +[28.891] write(): <13> Tx: $OK#9a +[28.891] read(): <13> Rx: $g#67 +[28.898] write(): <13> Tx: $3c4200007d000000e90300003c420000000000000000000000000000c0ff07200000000000000000000000000000000000000000c0ff07203106000830060008000000210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cdcccc3c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000c0ff072000000000#2c +[28.899] read(): <13> Rx: $m8000630,4#2e +[28.899] handlePacket(): Reading 0x4 bytes of memory from addr 0x8000630 +[28.899] write(): <13> Tx: $0246bb68#fe +[28.900] read(): <13> Rx: $z1,8000630,2#96 +[28.900] write(): <13> Tx: $OK#9a +[28.900] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[28.900] write(): <13> Tx: $l#8b +[28.901] read(): <13> Rx: $m2007ffc0,40#25 +[28.901] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[28.902] write(): <13> Tx: $c8ff0720e8030000933e0000e9030000d8ff072091670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#b4 +[28.902] read(): <13> Rx: $m8006790,4#3b +[28.902] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006790 +[28.903] write(): <13> Tx: $eee700bf#8e +[28.911] read(): <13> Rx: $m2007ffc0,40#25 +[28.911] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[28.912] write(): <13> Tx: $c8ff0720e8030000933e0000e9030000d8ff072091670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#b4 +[28.912] read(): <13> Rx: $m200004f0,4#89 +[28.912] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[28.913] write(): <13> Tx: $00000000#80 +[28.923] read(): <13> Rx: $m2007ffc0,40#25 +[28.923] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[28.924] write(): <13> Tx: $c8ff0720e8030000933e0000e9030000d8ff072091670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#b4 +[28.924] read(): <13> Rx: $m8007fda,4#c7 +[28.924] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fda +[28.925] write(): <13> Tx: $70470000#92 +[28.926] read(): <13> Rx: $m8007f80,40#9a +[28.926] handlePacket(): Reading 0x40 bytes of memory from addr 0x8007f80 +[28.926] write(): <13> Tx: $1a68bb681a447b681a603b68fa681a6000bf1437bd465df8047b7047834b040000ca9a3bdff834d0002103e00c4b5b58435004310b480c4b42189a42f6d30b4a#cf +[28.927] read(): <13> Rx: $m8007fdc,4#c9 +[28.927] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fdc +[28.927] write(): <13> Tx: $00000820#8a +[28.978] read(): <13> Rx: $m2007ffc0,40#25 +[28.978] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[28.979] write(): <13> Tx: $c8ff0720e8030000933e0000e9030000d8ff072091670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#b4 +[28.979] read(): <13> Rx: $m2007ffc0,40#25 +[28.979] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[28.980] write(): <13> Tx: $c8ff0720e8030000933e0000e9030000d8ff072091670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#b4 +[28.980] read(): <13> Rx: $m2007ffc0,40#25 +[28.980] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[28.981] write(): <13> Tx: $c8ff0720e8030000933e0000e9030000d8ff072091670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#b4 +[29.005] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[29.006] write(): <13> Tx: $l#8b +[29.006] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[29.006] write(): <13> Tx: $l#8b +[29.006] read(): <13> Rx: $m2007ffc0,40#25 +[29.006] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[29.007] write(): <13> Tx: $c8ff0720e8030000933e0000e9030000d8ff072091670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#b4 +[30.239] read(): <13> Rx: $m8006790,2#39 +[30.239] handlePacket(): Reading 0x2 bytes of memory from addr 0x8006790 +[30.240] write(): <13> Tx: $eee7#66 +[30.240] read(): <13> Rx: $Z1,8006790,2#83 +[30.241] write(): <13> Tx: $OK#9a +[30.241] read(): <13> Rx: $vCont;c#a8 +[30.241] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[30.246] handle_vCont_c(): handle_vCont_c, continue thread +[30.247] write(): <13> Tx: $OK#9a +[30.257] Device_GetStatus(): ST-LINK device status: RUN_MODE +[30.320] Device_GetStatus(): ST-LINK device status: HALT_MODE +[30.320] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[30.320] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[30.327] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000003 +[30.329] write(): <13> Tx: %Stop:T05hwbreak:;thread:1;core:0;#7e +[30.329] read(): <13> Rx: $vStopped#55 +[30.329] write(): <13> Tx: $OK#9a +[30.329] read(): <13> Rx: $g#67 +[30.336] write(): <13> Tx: $7c4200007d000000e9030000e9030000000000000000000000000000d8ff07200000000000000000000000000000000000000000d8ff0720310600089067000800000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000096438b3c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000d8ff072000000000#78 +[30.336] read(): <13> Rx: $m8006790,4#3b +[30.336] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006790 +[30.337] write(): <13> Tx: $eee700bf#8e +[30.337] read(): <13> Rx: $z1,8006790,2#a3 +[30.338] write(): <13> Tx: $OK#9a +[30.338] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[30.338] write(): <13> Tx: $l#8b +[30.349] read(): <13> Rx: $m2007ffc0,40#25 +[30.349] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[30.350] write(): <13> Tx: $c8ff0720e8030000933e0000e9030000d8ff072091670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#b4 +[30.350] read(): <13> Rx: $m8007fda,4#c7 +[30.350] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fda +[30.351] write(): <13> Tx: $70470000#92 +[30.351] read(): <13> Rx: $m8007f80,40#9a +[30.351] handlePacket(): Reading 0x40 bytes of memory from addr 0x8007f80 +[30.352] write(): <13> Tx: $1a68bb681a447b681a603b68fa681a6000bf1437bd465df8047b7047834b040000ca9a3bdff834d0002103e00c4b5b58435004310b480c4b42189a42f6d30b4a#cf +[30.352] read(): <13> Rx: $m8007fdc,4#c9 +[30.352] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fdc +[30.352] write(): <13> Tx: $00000820#8a +[30.353] read(): <13> Rx: $m2007fff0,4#f8 +[30.353] handlePacket(): Reading 0x4 bytes of memory from addr 0x2007fff0 +[30.353] write(): <13> Tx: $b0860008#c8 +[30.353] read(): <13> Rx: $m80086a8,4#6c +[30.353] handlePacket(): Reading 0x4 bytes of memory from addr 0x80086a8 +[30.354] write(): <13> Tx: $00000000#80 +[30.354] read(): <13> Rx: $m20000008,8#5b +[30.354] handlePacket(): Reading 0x8 bytes of memory from addr 0x20000008 +[30.355] write(): <13> Tx: $48656c6c6f20776f#11 +[30.355] read(): <13> Rx: $m20000010,8#54 +[30.355] handlePacket(): Reading 0x8 bytes of memory from addr 0x20000010 +[30.355] write(): <13> Tx: $726c642100000000#4f +[30.356] read(): <13> Rx: $m800862c,8#6c +[30.356] handlePacket(): Reading 0x8 bytes of memory from addr 0x800862c +[30.356] write(): <13> Tx: $6368617474657200#48 +[30.357] read(): <13> Rx: $m200004f0,4#89 +[30.357] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[30.358] write(): <13> Tx: $00000000#80 +[30.505] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[30.506] write(): <13> Tx: $l#8b +[30.506] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[30.506] write(): <13> Tx: $l#8b +[31.652] read(): <13> Rx: $vCont;s:1;c#c1 +[31.652] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[31.658] handle_vCont_s(): handle_vCont_s, step thread +[31.659] write(): <13> Tx: $OK#9a +[31.669] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[31.669] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[31.675] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[31.675] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[31.675] read(): <13> Rx: $vStopped#55 +[31.676] write(): <13> Tx: $OK#9a +[31.676] read(): <13> Rx: $g#67 +[31.682] write(): <13> Tx: $7c4200007d000000e9030000e9030000000000000000000000000000d8ff07200000000000000000000000000000000000000000d8ff0720310600087067000800000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000096438b3c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000d8ff072000000000#76 +[31.683] read(): <13> Rx: $m8006770,4#39 +[31.683] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006770 +[31.683] write(): <13> Tx: $0d4bfb61#59 +[31.684] read(): <13> Rx: $vCont;s:1;c#c1 +[31.693] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[31.699] handle_vCont_s(): handle_vCont_s, step thread +[31.700] write(): <13> Tx: $OK#9a +[31.710] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[31.710] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[31.716] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[31.717] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[31.742] read(): <13> Rx: $vStopped#55 +[31.743] write(): <13> Tx: $OK#9a +[31.743] read(): <13> Rx: $g#67 +[31.750] write(): <13> Tx: $7c4200007d000000e903000008000020000000000000000000000000d8ff07200000000000000000000000000000000000000000d8ff0720310600087267000800000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000096438b3c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000d8ff072000000000#41 +[31.750] read(): <13> Rx: $vCont;s:1;c#c1 +[31.750] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[31.758] handle_vCont_s(): handle_vCont_s, step thread +[31.758] write(): <13> Tx: $OK#9a +[31.768] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[31.768] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[31.775] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[31.775] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[31.802] read(): <13> Rx: $vStopped#55 +[31.802] write(): <13> Tx: $OK#9a +[31.803] read(): <13> Rx: $g#67 +[31.810] write(): <13> Tx: $7c4200007d000000e903000008000020000000000000000000000000d8ff07200000000000000000000000000000000000000000d8ff0720310600087467000800000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000096438b3c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000d8ff072000000000#43 +[31.810] read(): <13> Rx: $m8006774,4#3d +[31.810] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006774 +[31.811] write(): <13> Tx: $07f11802#c9 +[31.811] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[31.811] write(): <13> Tx: $l#8b +[31.825] read(): <13> Rx: $m200004f0,4#89 +[31.825] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[31.826] write(): <13> Tx: $00000000#80 +[31.827] read(): <13> Rx: $m2007ffc0,40#25 +[31.827] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[31.828] write(): <13> Tx: $c8ff0720e8030000933e0000e9030000d8ff072091670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#b4 +[31.829] read(): <13> Rx: $m8007fda,4#c7 +[31.829] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fda +[31.829] write(): <13> Tx: $70470000#92 +[31.829] read(): <13> Rx: $m8007f80,40#9a +[31.829] handlePacket(): Reading 0x40 bytes of memory from addr 0x8007f80 +[31.830] write(): <13> Tx: $1a68bb681a447b681a603b68fa681a6000bf1437bd465df8047b7047834b040000ca9a3bdff834d0002103e00c4b5b58435004310b480c4b42189a42f6d30b4a#cf +[31.830] read(): <13> Rx: $m8007fdc,4#c9 +[31.830] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fdc +[31.831] write(): <13> Tx: $00000820#8a +[31.831] read(): <13> Rx: $m2007fff0,4#f8 +[31.831] handlePacket(): Reading 0x4 bytes of memory from addr 0x2007fff0 +[31.831] write(): <13> Tx: $b0860008#c8 +[31.831] read(): <13> Rx: $m80086a8,4#6c +[31.831] handlePacket(): Reading 0x4 bytes of memory from addr 0x80086a8 +[31.831] write(): <13> Tx: $00000000#80 +[31.831] read(): <13> Rx: $m20000008,8#5b +[31.831] handlePacket(): Reading 0x8 bytes of memory from addr 0x20000008 +[31.832] write(): <13> Tx: $48656c6c6f20776f#11 +[31.832] read(): <13> Rx: $m20000010,8#54 +[31.832] handlePacket(): Reading 0x8 bytes of memory from addr 0x20000010 +[31.832] write(): <13> Tx: $726c642100000000#4f +[31.832] read(): <13> Rx: $m800862c,8#6c +[31.832] handlePacket(): Reading 0x8 bytes of memory from addr 0x800862c +[31.833] write(): <13> Tx: $6368617474657200#48 +[31.893] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[31.893] write(): <13> Tx: $l#8b +[31.893] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[31.893] write(): <13> Tx: $l#8b +[32.432] read(): <13> Rx: $vCont;s:1;c#c1 +[32.432] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[32.440] handle_vCont_s(): handle_vCont_s, step thread +[32.440] write(): <13> Tx: $OK#9a +[32.451] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[32.451] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[32.457] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[32.457] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[32.457] read(): <13> Rx: $vStopped#55 +[32.458] write(): <13> Tx: $OK#9a +[32.458] read(): <13> Rx: $g#67 +[32.464] write(): <13> Tx: $7c4200007d000000f0ff072008000020000000000000000000000000d8ff07200000000000000000000000000000000000000000d8ff0720310600087867000800000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000096438b3c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000d8ff072000000000#b1 +[32.465] read(): <13> Rx: $vCont;s:1;c#c1 +[32.465] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[32.472] handle_vCont_s(): handle_vCont_s, step thread +[32.472] write(): <13> Tx: $OK#9a +[32.483] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[32.483] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[32.488] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[32.489] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[32.515] read(): <13> Rx: $vStopped#55 +[32.515] write(): <13> Tx: $OK#9a +[32.515] read(): <13> Rx: $g#67 +[32.522] write(): <13> Tx: $7c4200007d000000f0ff0720dcff0720000000000000000000000000d8ff07200000000000000000000000000000000000000000d8ff0720310600087a67000800000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000096438b3c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000d8ff072000000000#ac +[32.522] read(): <13> Rx: $vCont;s:1;c#c1 +[32.523] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[32.530] handle_vCont_s(): handle_vCont_s, step thread +[32.530] write(): <13> Tx: $OK#9a +[32.540] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[32.540] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[32.546] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[32.547] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[32.570] read(): <13> Rx: $vStopped#55 +[32.570] write(): <13> Tx: $OK#9a +[32.571] read(): <13> Rx: $g#67 +[32.578] write(): <13> Tx: $7c420000f0ff0720f0ff0720dcff0720000000000000000000000000d8ff07200000000000000000000000000000000000000000d8ff0720310600087c67000800000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000096438b3c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000d8ff072000000000#1e +[32.578] read(): <13> Rx: $vCont;s:1;c#c1 +[32.579] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[32.585] handle_vCont_s(): handle_vCont_s, step thread +[32.585] write(): <13> Tx: $OK#9a +[32.596] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[32.596] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[32.602] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[32.602] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[32.627] read(): <13> Rx: $vStopped#55 +[32.627] write(): <13> Tx: $OK#9a +[32.627] read(): <13> Rx: $g#67 +[32.634] write(): <13> Tx: $dcff0720f0ff0720f0ff0720dcff0720000000000000000000000000d8ff07200000000000000000000000000000000000000000d8ff0720310600087e67000800000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000096438b3c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000d8ff072000000000#bc +[32.635] read(): <13> Rx: $vCont;s:1;c#c1 +[32.635] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[32.642] handle_vCont_s(): handle_vCont_s, step thread +[32.642] write(): <13> Tx: $OK#9a +[32.653] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[32.653] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[32.659] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[32.659] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[32.686] read(): <13> Rx: $vStopped#55 +[32.686] write(): <13> Tx: $OK#9a +[32.687] read(): <13> Rx: $g#67 +[32.694] write(): <13> Tx: $dcff0720f0ff0720f0ff0720dcff0720000000000000000000000000d8ff07200000000000000000000000000000000000000000d8ff0720836700085263000800000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000096438b3c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000d8ff072000000000#91 +[32.694] read(): <13> Rx: $m8006352,4#35 +[32.694] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006352 +[32.695] write(): <13> Tx: $80b582b0#fb +[32.696] read(): <13> Rx: $m8006782,4#3c +[32.696] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006782 +[32.696] write(): <13> Tx: $084800f0#ca +[32.697] read(): <13> Rx: $m8006782,2#3a +[32.697] handlePacket(): Reading 0x2 bytes of memory from addr 0x8006782 +[32.697] write(): <13> Tx: $0848#d4 +[32.697] read(): <13> Rx: $Z1,8006782,2#84 +[32.698] write(): <13> Tx: $OK#9a +[32.698] read(): <13> Rx: $vCont;c#a8 +[32.698] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[32.704] handle_vCont_c(): handle_vCont_c, continue thread +[32.704] write(): <13> Tx: $OK#9a +[32.715] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[32.715] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[32.721] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000003 +[32.723] write(): <13> Tx: %Stop:T05hwbreak:;thread:1;core:0;#7e +[32.746] read(): <13> Rx: $vStopped#55 +[32.746] write(): <13> Tx: $OK#9a +[32.747] read(): <13> Rx: $g#67 +[32.754] write(): <13> Tx: $000000007d000000f0ff072000000000000000000000000000000000d8ff07200000000000000000000000000000000000000000d8ff072071630008826700080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001283403d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000d8ff072000000000#2c +[32.754] read(): <13> Rx: $m8006782,4#3c +[32.754] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006782 +[32.755] write(): <13> Tx: $084800f0#ca +[32.755] read(): <13> Rx: $z1,8006782,2#a4 +[32.756] write(): <13> Tx: $OK#9a +[32.756] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[32.756] write(): <13> Tx: $l#8b +[32.766] read(): <13> Rx: $m2007ffc0,40#25 +[32.767] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[32.767] write(): <13> Tx: $c8ff072071630008f0ff0720dcff0720d8ff072083670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#90 +[32.768] read(): <13> Rx: $m8007fda,4#c7 +[32.768] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fda +[32.769] write(): <13> Tx: $70470000#92 +[32.769] read(): <13> Rx: $m8007f80,40#9a +[32.769] handlePacket(): Reading 0x40 bytes of memory from addr 0x8007f80 +[32.770] write(): <13> Tx: $1a68bb681a447b681a603b68fa681a6000bf1437bd465df8047b7047834b040000ca9a3bdff834d0002103e00c4b5b58435004310b480c4b42189a42f6d30b4a#cf +[32.770] read(): <13> Rx: $m8007fdc,4#c9 +[32.770] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fdc +[32.770] write(): <13> Tx: $00000820#8a +[32.770] read(): <13> Rx: $m2007fff0,4#f8 +[32.770] handlePacket(): Reading 0x4 bytes of memory from addr 0x2007fff0 +[32.771] write(): <13> Tx: $b0860008#c8 +[32.771] read(): <13> Rx: $m80086a8,4#6c +[32.771] handlePacket(): Reading 0x4 bytes of memory from addr 0x80086a8 +[32.772] write(): <13> Tx: $00000000#80 +[32.772] read(): <13> Rx: $m20000008,8#5b +[32.772] handlePacket(): Reading 0x8 bytes of memory from addr 0x20000008 +[32.772] write(): <13> Tx: $48656c6c6f20776f#11 +[32.773] read(): <13> Rx: $m20000010,8#54 +[32.773] handlePacket(): Reading 0x8 bytes of memory from addr 0x20000010 +[32.773] write(): <13> Tx: $726c642100000000#4f +[32.773] read(): <13> Rx: $m800862c,8#6c +[32.774] handlePacket(): Reading 0x8 bytes of memory from addr 0x800862c +[32.774] write(): <13> Tx: $6368617474657200#48 +[32.781] read(): <13> Rx: $m200004f0,4#89 +[32.781] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[32.782] write(): <13> Tx: $00000000#80 +[32.834] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[32.834] write(): <13> Tx: $l#8b +[32.835] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[32.835] write(): <13> Tx: $l#8b +[33.684] read(): <13> Rx: $vCont;s:1;c#c1 +[33.685] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[33.691] handle_vCont_s(): handle_vCont_s, step thread +[33.691] write(): <13> Tx: $OK#9a +[33.702] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[33.702] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[33.707] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[33.708] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[33.708] read(): <13> Rx: $vStopped#55 +[33.708] write(): <13> Tx: $OK#9a +[33.708] read(): <13> Rx: $g#67 +[33.715] write(): <13> Tx: $f40400207d000000f0ff072000000000000000000000000000000000d8ff07200000000000000000000000000000000000000000d8ff072071630008846700080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001283403d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000d8ff072000000000#6e +[33.715] read(): <13> Rx: $vCont;s:1;c#c1 +[33.725] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[33.732] handle_vCont_s(): handle_vCont_s, step thread +[33.732] write(): <13> Tx: $OK#9a +[33.743] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[33.743] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[33.749] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[33.749] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[33.775] read(): <13> Rx: $vStopped#55 +[33.775] write(): <13> Tx: $OK#9a +[33.775] read(): <13> Rx: $g#67 +[33.782] write(): <13> Tx: $f40400207d000000f0ff072000000000000000000000000000000000d8ff07200000000000000000000000000000000000000000d8ff072089670008e27000080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001283403d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000d8ff072000000000#a0 +[33.782] read(): <13> Rx: $m80070e2,4#63 +[33.782] handlePacket(): Reading 0x4 bytes of memory from addr 0x80070e2 +[33.784] write(): <13> Tx: $80b584b0#fd +[33.784] read(): <13> Rx: $m8006788,4#42 +[33.784] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006788 +[33.784] write(): <13> Tx: $4ff47a70#33 +[33.785] read(): <13> Rx: $m8006788,2#40 +[33.785] handlePacket(): Reading 0x2 bytes of memory from addr 0x8006788 +[33.785] write(): <13> Tx: $4ff4#34 +[33.785] read(): <13> Rx: $Z1,8006788,2#8a +[33.786] write(): <13> Tx: $OK#9a +[33.786] read(): <13> Rx: $vCont;c#a8 +[33.786] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[33.792] handle_vCont_c(): handle_vCont_c, continue thread +[33.792] write(): <13> Tx: $OK#9a +[33.803] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[33.803] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[33.809] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000003 +[33.810] write(): <13> Tx: %Stop:T05hwbreak:;thread:1;core:0;#7e +[33.834] read(): <13> Rx: $vStopped#55 +[33.834] write(): <13> Tx: $OK#9a +[33.835] read(): <13> Rx: $g#67 +[33.842] write(): <13> Tx: $00000000080000008813000000000000000000000000000000000000d8ff07200000000000000000000000000000000000000000d8ff072041640008886700080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000d8ff072000000000#9b +[33.843] read(): <13> Rx: $m8006788,4#42 +[33.843] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006788 +[33.843] write(): <13> Tx: $4ff47a70#33 +[33.844] read(): <13> Rx: $z1,8006788,2#aa +[33.844] write(): <13> Tx: $OK#9a +[33.844] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[33.844] write(): <13> Tx: $l#8b +[33.870] read(): <13> Rx: $m2007ffc0,40#25 +[33.870] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[33.871] write(): <13> Tx: $f0ff0720f4040020ffffffff7e420000d8ff072089670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#23 +[33.871] read(): <13> Rx: $m8007fda,4#c7 +[33.871] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fda +[33.872] write(): <13> Tx: $70470000#92 +[33.872] read(): <13> Rx: $m8007f80,40#9a +[33.872] handlePacket(): Reading 0x40 bytes of memory from addr 0x8007f80 +[33.872] write(): <13> Tx: $1a68bb681a447b681a603b68fa681a6000bf1437bd465df8047b7047834b040000ca9a3bdff834d0002103e00c4b5b58435004310b480c4b42189a42f6d30b4a#cf +[33.872] read(): <13> Rx: $m8007fdc,4#c9 +[33.873] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fdc +[33.873] write(): <13> Tx: $00000820#8a +[33.873] read(): <13> Rx: $m2007fff0,4#f8 +[33.873] handlePacket(): Reading 0x4 bytes of memory from addr 0x2007fff0 +[33.873] write(): <13> Tx: $b0860008#c8 +[33.873] read(): <13> Rx: $m80086a8,4#6c +[33.873] handlePacket(): Reading 0x4 bytes of memory from addr 0x80086a8 +[33.873] write(): <13> Tx: $00000000#80 +[33.874] read(): <13> Rx: $m20000008,8#5b +[33.874] handlePacket(): Reading 0x8 bytes of memory from addr 0x20000008 +[33.874] write(): <13> Tx: $48656c6c6f20776f#11 +[33.874] read(): <13> Rx: $m20000010,8#54 +[33.874] handlePacket(): Reading 0x8 bytes of memory from addr 0x20000010 +[33.874] write(): <13> Tx: $726c642100000000#4f +[33.874] read(): <13> Rx: $m800862c,8#6c +[33.874] handlePacket(): Reading 0x8 bytes of memory from addr 0x800862c +[33.875] write(): <13> Tx: $6368617474657200#48 +[33.875] read(): <13> Rx: $m200004f0,4#89 +[33.875] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[33.875] write(): <13> Tx: $00000000#80 +[33.926] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[33.926] write(): <13> Tx: $l#8b +[33.926] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[33.926] write(): <13> Tx: $l#8b +[34.805] read(): <13> Rx: $vCont;s:1;c#c1 +[34.806] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[34.813] handle_vCont_s(): handle_vCont_s, step thread +[34.813] write(): <13> Tx: $OK#9a +[34.823] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[34.823] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[34.830] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[34.830] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[34.830] read(): <13> Rx: $vStopped#55 +[34.831] write(): <13> Tx: $OK#9a +[34.831] read(): <13> Rx: $g#67 +[34.838] write(): <13> Tx: $e8030000080000008813000000000000000000000000000000000000d8ff07200000000000000000000000000000000000000000d8ff0720416400088c6700080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000d8ff072000000000#06 +[34.838] read(): <13> Rx: $vCont;s:1;c#c1 +[34.849] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[34.856] handle_vCont_s(): handle_vCont_s, step thread +[34.856] write(): <13> Tx: $OK#9a +[34.867] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[34.867] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[34.872] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[34.873] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[34.899] read(): <13> Rx: $vStopped#55 +[34.899] write(): <13> Tx: $OK#9a +[34.899] read(): <13> Rx: $g#67 +[34.906] write(): <13> Tx: $e8030000080000008813000000000000000000000000000000000000d8ff07200000000000000000000000000000000000000000d8ff072091670008040600080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000d8ff072000000000#d0 +[34.906] read(): <13> Rx: $m8000604,4#2f +[34.906] handlePacket(): Reading 0x4 bytes of memory from addr 0x8000604 +[34.907] write(): <13> Tx: $80b584b0#fd +[34.907] read(): <13> Rx: $m8006790,4#3b +[34.907] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006790 +[34.908] write(): <13> Tx: $eee700bf#8e +[34.908] read(): <13> Rx: $m8006790,2#39 +[34.908] handlePacket(): Reading 0x2 bytes of memory from addr 0x8006790 +[34.908] write(): <13> Tx: $eee7#66 +[34.909] read(): <13> Rx: $Z1,8006790,2#83 +[34.909] write(): <13> Tx: $OK#9a +[34.909] read(): <13> Rx: $vCont;c#a8 +[34.910] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[34.915] handle_vCont_c(): handle_vCont_c, continue thread +[34.915] write(): <13> Tx: $OK#9a +[34.926] Device_GetStatus(): ST-LINK device status: RUN_MODE +[35.357] read(): <13> Rx: $T1#85 +[35.358] write(): <13> Tx: $OK#9a +[35.358] read(): <13> Rx: $T1#85 +[35.358] write(): <13> Tx: $OK#9a +[35.923] Device_GetStatus(): ST-LINK device status: HALT_MODE +[35.923] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[35.923] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[35.929] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000003 +[35.931] write(): <13> Tx: %Stop:T05hwbreak:;thread:1;core:0;#7e +[35.931] read(): <13> Rx: $vStopped#55 +[35.931] write(): <13> Tx: $OK#9a +[35.932] read(): <13> Rx: $g#67 +[35.939] write(): <13> Tx: $6846000008000000e9030000e9030000000000000000000000000000d8ff07200000000000000000000000000000000000000000d8ff07203106000890670008000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cdcccc3d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000d8ff072000000000#01 +[35.939] read(): <13> Rx: $m8006790,4#3b +[35.939] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006790 +[35.940] write(): <13> Tx: $eee700bf#8e +[35.940] read(): <13> Rx: $z1,8006790,2#a3 +[35.940] write(): <13> Tx: $OK#9a +[35.941] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[35.941] write(): <13> Tx: $l#8b +[35.950] read(): <13> Rx: $m200004f0,4#89 +[35.950] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[35.951] write(): <13> Tx: $00000000#80 +[35.962] read(): <13> Rx: $m2007ffc0,40#25 +[35.962] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[35.963] write(): <13> Tx: $88130000e80300007f420000e9030000d8ff072091670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#17 +[35.963] read(): <13> Rx: $m8007fda,4#c7 +[35.963] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fda +[35.964] write(): <13> Tx: $70470000#92 +[35.964] read(): <13> Rx: $m8007f80,40#9a +[35.964] handlePacket(): Reading 0x40 bytes of memory from addr 0x8007f80 +[35.964] write(): <13> Tx: $1a68bb681a447b681a603b68fa681a6000bf1437bd465df8047b7047834b040000ca9a3bdff834d0002103e00c4b5b58435004310b480c4b42189a42f6d30b4a#cf +[35.964] read(): <13> Rx: $m8007fdc,4#c9 +[35.964] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fdc +[35.965] write(): <13> Tx: $00000820#8a +[36.027] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[36.027] write(): <13> Tx: $l#8b +[36.027] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[36.027] write(): <13> Tx: $l#8b +[36.039] read(): <13> Rx: $m2007ffc0,40#25 +[36.039] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[36.040] write(): <13> Tx: $88130000e80300007f420000e9030000d8ff072091670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#17 +[36.040] read(): <13> Rx: $m2007fff0,4#f8 +[36.040] handlePacket(): Reading 0x4 bytes of memory from addr 0x2007fff0 +[36.040] write(): <13> Tx: $b0860008#c8 +[36.040] read(): <13> Rx: $m80086a8,4#6c +[36.040] handlePacket(): Reading 0x4 bytes of memory from addr 0x80086a8 +[36.041] write(): <13> Tx: $00000000#80 +[36.041] read(): <13> Rx: $m20000008,8#5b +[36.041] handlePacket(): Reading 0x8 bytes of memory from addr 0x20000008 +[36.041] write(): <13> Tx: $48656c6c6f20776f#11 +[36.041] read(): <13> Rx: $m20000010,8#54 +[36.041] handlePacket(): Reading 0x8 bytes of memory from addr 0x20000010 +[36.041] write(): <13> Tx: $726c642100000000#4f +[36.041] read(): <13> Rx: $m800862c,8#6c +[36.041] handlePacket(): Reading 0x8 bytes of memory from addr 0x800862c +[36.042] write(): <13> Tx: $6368617474657200#48 +[38.153] read(): <13> Rx: $vCont;s:1;c#c1 +[38.153] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[38.161] handle_vCont_s(): handle_vCont_s, step thread +[38.161] write(): <13> Tx: $OK#9a +[38.171] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[38.171] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[38.177] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[38.178] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[38.178] read(): <13> Rx: $vStopped#55 +[38.178] write(): <13> Tx: $OK#9a +[38.178] read(): <13> Rx: $g#67 +[38.185] write(): <13> Tx: $6846000008000000e9030000e9030000000000000000000000000000d8ff07200000000000000000000000000000000000000000d8ff07203106000870670008000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cdcccc3d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000d8ff072000000000#ff +[38.185] read(): <13> Rx: $m8006770,4#39 +[38.185] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006770 +[38.186] write(): <13> Tx: $0d4bfb61#59 +[38.186] read(): <13> Rx: $vCont;s:1;c#c1 +[38.186] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[38.194] handle_vCont_s(): handle_vCont_s, step thread +[38.194] write(): <13> Tx: $OK#9a +[38.204] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[38.204] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[38.210] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[38.210] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[38.234] read(): <13> Rx: $vStopped#55 +[38.234] write(): <13> Tx: $OK#9a +[38.235] read(): <13> Rx: $g#67 +[38.242] write(): <13> Tx: $6846000008000000e903000008000020000000000000000000000000d8ff07200000000000000000000000000000000000000000d8ff07203106000872670008000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cdcccc3d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000d8ff072000000000#ca +[38.242] read(): <13> Rx: $vCont;s:1;c#c1 +[38.243] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[38.250] handle_vCont_s(): handle_vCont_s, step thread +[38.250] write(): <13> Tx: $OK#9a +[38.261] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[38.261] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[38.267] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[38.267] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[38.294] read(): <13> Rx: $vStopped#55 +[38.294] write(): <13> Tx: $OK#9a +[38.294] read(): <13> Rx: $g#67 +[38.301] write(): <13> Tx: $6846000008000000e903000008000020000000000000000000000000d8ff07200000000000000000000000000000000000000000d8ff07203106000874670008000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cdcccc3d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000d8ff072000000000#cc +[38.301] read(): <13> Rx: $m8006774,4#3d +[38.301] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006774 +[38.302] write(): <13> Tx: $07f11802#c9 +[38.302] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[38.302] write(): <13> Tx: $l#8b +[38.307] read(): <13> Rx: $m200004f0,4#89 +[38.307] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[38.307] write(): <13> Tx: $00000000#80 +[38.316] read(): <13> Rx: $m2007ffc0,40#25 +[38.316] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[38.317] write(): <13> Tx: $88130000e80300007f420000e9030000d8ff072091670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#17 +[38.317] read(): <13> Rx: $m8007fda,4#c7 +[38.317] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fda +[38.318] write(): <13> Tx: $70470000#92 +[38.318] read(): <13> Rx: $m8007f80,40#9a +[38.318] handlePacket(): Reading 0x40 bytes of memory from addr 0x8007f80 +[38.319] write(): <13> Tx: $1a68bb681a447b681a603b68fa681a6000bf1437bd465df8047b7047834b040000ca9a3bdff834d0002103e00c4b5b58435004310b480c4b42189a42f6d30b4a#cf +[38.319] read(): <13> Rx: $m8007fdc,4#c9 +[38.319] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fdc +[38.319] write(): <13> Tx: $00000820#8a +[38.319] read(): <13> Rx: $m2007fff0,4#f8 +[38.320] handlePacket(): Reading 0x4 bytes of memory from addr 0x2007fff0 +[38.320] write(): <13> Tx: $b0860008#c8 +[38.320] read(): <13> Rx: $m80086a8,4#6c +[38.320] handlePacket(): Reading 0x4 bytes of memory from addr 0x80086a8 +[38.320] write(): <13> Tx: $00000000#80 +[38.321] read(): <13> Rx: $m20000008,8#5b +[38.321] handlePacket(): Reading 0x8 bytes of memory from addr 0x20000008 +[38.321] write(): <13> Tx: $48656c6c6f20776f#11 +[38.321] read(): <13> Rx: $m20000010,8#54 +[38.321] handlePacket(): Reading 0x8 bytes of memory from addr 0x20000010 +[38.321] write(): <13> Tx: $726c642100000000#4f +[38.322] read(): <13> Rx: $m800862c,8#6c +[38.322] handlePacket(): Reading 0x8 bytes of memory from addr 0x800862c +[38.322] write(): <13> Tx: $6368617474657200#48 +[38.374] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[38.374] write(): <13> Tx: $l#8b +[38.374] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[38.374] write(): <13> Tx: $l#8b +[38.856] read(): <13> Rx: $vCont;s:1;c#c1 +[38.857] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[38.864] handle_vCont_s(): handle_vCont_s, step thread +[38.864] write(): <13> Tx: $OK#9a +[38.874] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[38.875] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[38.880] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[38.881] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[38.881] read(): <13> Rx: $vStopped#55 +[38.881] write(): <13> Tx: $OK#9a +[38.881] read(): <13> Rx: $g#67 +[38.888] write(): <13> Tx: $6846000008000000f0ff072008000020000000000000000000000000d8ff07200000000000000000000000000000000000000000d8ff07203106000878670008000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cdcccc3d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000d8ff072000000000#3a +[38.888] read(): <13> Rx: $vCont;s:1;c#c1 +[38.890] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[38.897] handle_vCont_s(): handle_vCont_s, step thread +[38.897] write(): <13> Tx: $OK#9a +[38.907] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[38.907] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[38.913] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[38.913] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[38.939] read(): <13> Rx: $vStopped#55 +[38.939] write(): <13> Tx: $OK#9a +[38.939] read(): <13> Rx: $g#67 +[38.946] write(): <13> Tx: $6846000008000000f0ff0720dcff0720000000000000000000000000d8ff07200000000000000000000000000000000000000000d8ff0720310600087a670008000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cdcccc3d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000d8ff072000000000#35 +[38.946] read(): <13> Rx: $vCont;s:1;c#c1 +[38.947] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[38.954] handle_vCont_s(): handle_vCont_s, step thread +[38.954] write(): <13> Tx: $OK#9a +[38.964] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[38.964] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[38.970] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[38.971] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[38.994] read(): <13> Rx: $vStopped#55 +[38.994] write(): <13> Tx: $OK#9a +[38.995] read(): <13> Rx: $g#67 +[39.001] write(): <13> Tx: $68460000f0ff0720f0ff0720dcff0720000000000000000000000000d8ff07200000000000000000000000000000000000000000d8ff0720310600087c670008000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cdcccc3d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000d8ff072000000000#da +[39.002] read(): <13> Rx: $vCont;s:1;c#c1 +[39.002] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[39.009] handle_vCont_s(): handle_vCont_s, step thread +[39.009] write(): <13> Tx: $OK#9a +[39.020] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[39.020] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[39.025] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[39.026] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[39.050] read(): <13> Rx: $vStopped#55 +[39.050] write(): <13> Tx: $OK#9a +[39.051] read(): <13> Rx: $g#67 +[39.058] write(): <13> Tx: $dcff0720f0ff0720f0ff0720dcff0720000000000000000000000000d8ff07200000000000000000000000000000000000000000d8ff0720310600087e670008000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cdcccc3d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000d8ff072000000000#a0 +[39.058] read(): <13> Rx: $vCont;s:1;c#c1 +[39.058] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[39.065] handle_vCont_s(): handle_vCont_s, step thread +[39.065] write(): <13> Tx: $OK#9a +[39.076] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[39.076] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[39.081] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[39.082] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[39.106] read(): <13> Rx: $vStopped#55 +[39.106] write(): <13> Tx: $OK#9a +[39.106] read(): <13> Rx: $g#67 +[39.113] write(): <13> Tx: $dcff0720f0ff0720f0ff0720dcff0720000000000000000000000000d8ff07200000000000000000000000000000000000000000d8ff07208367000852630008000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cdcccc3d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000d8ff072000000000#75 +[39.113] read(): <13> Rx: $m8006352,4#35 +[39.113] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006352 +[39.114] write(): <13> Tx: $80b582b0#fb +[39.114] read(): <13> Rx: $m8006782,4#3c +[39.114] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006782 +[39.115] write(): <13> Tx: $084800f0#ca +[39.115] read(): <13> Rx: $m8006340,40#62 +[39.115] handlePacket(): Reading 0x40 bytes of memory from addr 0x8006340 +[39.116] write(): <13> Tx: $3a681a61fb6818461437bd465df8047b704780b582b000af786039607b68d8687b68db681b681b687a6891683a689847034618460837bd4680bd80b483b000af#ce +[39.116] read(): <13> Rx: $m800635c,2#64 +[39.116] handlePacket(): Reading 0x2 bytes of memory from addr 0x800635c +[39.116] write(): <13> Tx: $7b68#07 +[39.116] read(): <13> Rx: $Z1,800635c,2#ae +[39.116] write(): <13> Tx: $OK#9a +[39.116] read(): <13> Rx: $vCont;c#a8 +[39.116] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[39.122] handle_vCont_c(): handle_vCont_c, continue thread +[39.122] write(): <13> Tx: $OK#9a +[39.132] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[39.132] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[39.138] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000003 +[39.139] write(): <13> Tx: %Stop:T05hwbreak:;thread:1;core:0;#7e +[39.162] read(): <13> Rx: $vStopped#55 +[39.162] write(): <13> Tx: $OK#9a +[39.162] read(): <13> Rx: $g#67 +[39.169] write(): <13> Tx: $dcff0720f0ff0720f0ff0720dcff0720000000000000000000000000c8ff07200000000000000000000000000000000000000000c8ff0720836700085c6300080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008fc2f53c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000c8ff072000000000#1d +[39.170] read(): <13> Rx: $z1,800635c,2#ce +[39.170] write(): <13> Tx: $OK#9a +[39.170] read(): <13> Rx: $m800635c,4#66 +[39.170] handlePacket(): Reading 0x4 bytes of memory from addr 0x800635c +[39.170] write(): <13> Tx: $7b68d868#11 +[39.170] read(): <13> Rx: $m2007ffc0,40#25 +[39.170] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[39.171] write(): <13> Tx: $f0ff0720dcff0720f0ff0720dcff0720d8ff072083670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#4e +[39.171] read(): <13> Rx: $m8006782,4#3c +[39.171] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006782 +[39.172] write(): <13> Tx: $084800f0#ca +[39.172] read(): <13> Rx: $m8006340,40#62 +[39.172] handlePacket(): Reading 0x40 bytes of memory from addr 0x8006340 +[39.173] write(): <13> Tx: $3a681a61fb6818461437bd465df8047b704780b582b000af786039607b68d8687b68db681b681b687a6891683a689847034618460837bd4680bd80b483b000af#ce +[39.173] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[39.173] write(): <13> Tx: $l#8b +[39.177] read(): <13> Rx: $m200004f0,4#89 +[39.177] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[39.177] write(): <13> Tx: $00000000#80 +[39.402] read(): <13> Rx: $m2007ffc0,40#25 +[39.402] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[39.403] write(): <13> Tx: $f0ff0720dcff0720f0ff0720dcff0720d8ff072083670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#4e +[39.403] read(): <13> Rx: $m8007fda,4#c7 +[39.403] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fda +[39.403] write(): <13> Tx: $70470000#92 +[39.404] read(): <13> Rx: $m8007f80,40#9a +[39.404] handlePacket(): Reading 0x40 bytes of memory from addr 0x8007f80 +[39.404] write(): <13> Tx: $1a68bb681a447b681a603b68fa681a6000bf1437bd465df8047b7047834b040000ca9a3bdff834d0002103e00c4b5b58435004310b480c4b42189a42f6d30b4a#cf +[39.404] read(): <13> Rx: $m8007fdc,4#c9 +[39.404] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fdc +[39.404] write(): <13> Tx: $00000820#8a +[39.405] read(): <13> Rx: $m2007ffc0,40#25 +[39.405] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[39.406] write(): <13> Tx: $f0ff0720dcff0720f0ff0720dcff0720d8ff072083670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#4e +[39.406] read(): <13> Rx: $m2007ffc0,40#25 +[39.406] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[39.407] write(): <13> Tx: $f0ff0720dcff0720f0ff0720dcff0720d8ff072083670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#4e +[39.407] read(): <13> Rx: $m2007fff0,4#f8 +[39.407] handlePacket(): Reading 0x4 bytes of memory from addr 0x2007fff0 +[39.407] write(): <13> Tx: $b0860008#c8 +[39.407] read(): <13> Rx: $m80086a8,4#6c +[39.407] handlePacket(): Reading 0x4 bytes of memory from addr 0x80086a8 +[39.408] write(): <13> Tx: $00000000#80 +[39.408] read(): <13> Rx: $m2007fff0,4#f8 +[39.408] handlePacket(): Reading 0x4 bytes of memory from addr 0x2007fff0 +[39.408] write(): <13> Tx: $b0860008#c8 +[39.408] read(): <13> Rx: $m80086a8,4#6c +[39.408] handlePacket(): Reading 0x4 bytes of memory from addr 0x80086a8 +[39.408] write(): <13> Tx: $00000000#80 +[39.408] read(): <13> Rx: $m2007fff0,4#f8 +[39.408] handlePacket(): Reading 0x4 bytes of memory from addr 0x2007fff0 +[39.409] write(): <13> Tx: $b0860008#c8 +[39.409] read(): <13> Rx: $m80086a8,4#6c +[39.409] handlePacket(): Reading 0x4 bytes of memory from addr 0x80086a8 +[39.409] write(): <13> Tx: $00000000#80 +[39.409] read(): <13> Rx: $m2007fff0,4#f8 +[39.409] handlePacket(): Reading 0x4 bytes of memory from addr 0x2007fff0 +[39.409] write(): <13> Tx: $b0860008#c8 +[39.409] read(): <13> Rx: $m80086a8,4#6c +[39.409] handlePacket(): Reading 0x4 bytes of memory from addr 0x80086a8 +[39.410] write(): <13> Tx: $00000000#80 +[39.410] read(): <13> Rx: $m2007fff0,4#f8 +[39.410] handlePacket(): Reading 0x4 bytes of memory from addr 0x2007fff0 +[39.410] write(): <13> Tx: $b0860008#c8 +[39.410] read(): <13> Rx: $m80086a8,4#6c +[39.410] handlePacket(): Reading 0x4 bytes of memory from addr 0x80086a8 +[39.410] write(): <13> Tx: $00000000#80 +[39.435] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[39.435] write(): <13> Tx: $l#8b +[39.435] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[39.435] write(): <13> Tx: $l#8b +[39.435] read(): <13> Rx: $m2007ffc0,40#25 +[39.435] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[39.436] write(): <13> Tx: $f0ff0720dcff0720f0ff0720dcff0720d8ff072083670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#4e +[40.047] read(): <13> Rx: $vCont;s:1;c#c1 +[40.047] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[40.054] handle_vCont_s(): handle_vCont_s, step thread +[40.054] write(): <13> Tx: $OK#9a +[40.064] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[40.064] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[40.070] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[40.070] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[40.070] read(): <13> Rx: $vStopped#55 +[40.070] write(): <13> Tx: $OK#9a +[40.070] read(): <13> Rx: $g#67 +[40.077] write(): <13> Tx: $dcff0720f0ff0720f0ff0720dcff0720000000000000000000000000c8ff07200000000000000000000000000000000000000000c8ff0720836700085e6300080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008fc2f53c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000c8ff072000000000#1f +[40.077] read(): <13> Rx: $vCont;s:1;c#c1 +[40.077] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[40.084] handle_vCont_s(): handle_vCont_s, step thread +[40.084] write(): <13> Tx: $OK#9a +[40.095] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[40.095] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[40.101] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[40.101] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[40.126] read(): <13> Rx: $vStopped#55 +[40.126] write(): <13> Tx: $OK#9a +[40.127] read(): <13> Rx: $g#67 +[40.133] write(): <13> Tx: $f4040020f0ff0720f0ff0720dcff0720000000000000000000000000c8ff07200000000000000000000000000000000000000000c8ff072083670008606300080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008fc2f53c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000c8ff072000000000#4f +[40.134] read(): <13> Rx: $vCont;s:1;c#c1 +[40.134] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[40.141] handle_vCont_s(): handle_vCont_s, step thread +[40.141] write(): <13> Tx: $OK#9a +[40.151] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[40.151] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[40.157] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[40.157] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[40.183] read(): <13> Rx: $vStopped#55 +[40.183] write(): <13> Tx: $OK#9a +[40.183] read(): <13> Rx: $g#67 +[40.190] write(): <13> Tx: $f4040020f0ff0720f0ff0720dcff0720000000000000000000000000c8ff07200000000000000000000000000000000000000000c8ff072083670008626300080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008fc2f53c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000c8ff072000000000#51 +[40.190] read(): <13> Rx: $vCont;s:1;c#c1 +[40.190] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[40.197] handle_vCont_s(): handle_vCont_s, step thread +[40.197] write(): <13> Tx: $OK#9a +[40.207] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[40.207] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[40.213] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[40.214] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[40.242] read(): <13> Rx: $vStopped#55 +[40.242] write(): <13> Tx: $OK#9a +[40.243] read(): <13> Rx: $g#67 +[40.250] write(): <13> Tx: $f4040020f0ff0720f0ff0720f4040020000000000000000000000000c8ff07200000000000000000000000000000000000000000c8ff072083670008646300080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008fc2f53c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000c8ff072000000000#b7 +[40.250] read(): <13> Rx: $vCont;s:1;c#c1 +[40.250] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[40.257] handle_vCont_s(): handle_vCont_s, step thread +[40.257] write(): <13> Tx: $OK#9a +[40.268] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[40.268] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[40.273] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[40.274] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[40.298] read(): <13> Rx: $vStopped#55 +[40.298] write(): <13> Tx: $OK#9a +[40.299] read(): <13> Rx: $g#67 +[40.305] write(): <13> Tx: $f4040020f0ff0720f0ff07209c860008000000000000000000000000c8ff07200000000000000000000000000000000000000000c8ff072083670008666300080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008fc2f53c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000c8ff072000000000#cb +[40.306] read(): <13> Rx: $vCont;s:1;c#c1 +[40.306] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[40.313] handle_vCont_s(): handle_vCont_s, step thread +[40.313] write(): <13> Tx: $OK#9a +[40.323] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[40.323] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[40.329] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[40.330] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[40.355] read(): <13> Rx: $vStopped#55 +[40.355] write(): <13> Tx: $OK#9a +[40.355] read(): <13> Rx: $g#67 +[40.362] write(): <13> Tx: $f4040020f0ff0720f0ff07202d770008000000000000000000000000c8ff07200000000000000000000000000000000000000000c8ff072083670008686300080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008fc2f53c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000c8ff072000000000#c7 +[40.362] read(): <13> Rx: $vCont;s:1;c#c1 +[40.362] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[40.369] handle_vCont_s(): handle_vCont_s, step thread +[40.369] write(): <13> Tx: $OK#9a +[40.380] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[40.380] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[40.386] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[40.387] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[40.410] read(): <13> Rx: $vStopped#55 +[40.410] write(): <13> Tx: $OK#9a +[40.411] read(): <13> Rx: $g#67 +[40.417] write(): <13> Tx: $f4040020f0ff0720dcff07202d770008000000000000000000000000c8ff07200000000000000000000000000000000000000000c8ff0720836700086a6300080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008fc2f53c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000c8ff072000000000#21 +[40.418] read(): <13> Rx: $vCont;s:1;c#c1 +[40.418] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[40.425] handle_vCont_s(): handle_vCont_s, step thread +[40.425] write(): <13> Tx: $OK#9a +[40.436] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[40.436] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[40.442] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[40.442] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[40.466] read(): <13> Rx: $vStopped#55 +[40.466] write(): <13> Tx: $OK#9a +[40.467] read(): <13> Rx: $g#67 +[40.473] write(): <13> Tx: $f40400207d000000dcff07202d770008000000000000000000000000c8ff07200000000000000000000000000000000000000000c8ff0720836700086c6300080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008fc2f53c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000c8ff072000000000#b3 +[40.474] read(): <13> Rx: $vCont;s:1;c#c1 +[40.474] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[40.481] handle_vCont_s(): handle_vCont_s, step thread +[40.481] write(): <13> Tx: $OK#9a +[40.492] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[40.492] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[40.498] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[40.498] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[40.526] read(): <13> Rx: $vStopped#55 +[40.526] write(): <13> Tx: $OK#9a +[40.527] read(): <13> Rx: $g#67 +[40.533] write(): <13> Tx: $f40400207d000000f0ff07202d770008000000000000000000000000c8ff07200000000000000000000000000000000000000000c8ff0720836700086e6300080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008fc2f53c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000c8ff072000000000#84 +[40.534] read(): <13> Rx: $vCont;s:1;c#c1 +[40.534] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[40.541] handle_vCont_s(): handle_vCont_s, step thread +[40.541] write(): <13> Tx: $OK#9a +[40.552] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[40.552] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[40.558] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[40.558] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[40.586] read(): <13> Rx: $vStopped#55 +[40.586] write(): <13> Tx: $OK#9a +[40.586] read(): <13> Rx: $g#67 +[40.593] write(): <13> Tx: $f40400207d000000f0ff07202d770008000000000000000000000000c8ff07200000000000000000000000000000000000000000c8ff0720716300082c7700080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008fc2f53c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000c8ff072000000000#7c +[40.593] read(): <13> Rx: $m800772c,4#68 +[40.593] handlePacket(): Reading 0x4 bytes of memory from addr 0x800772c +[40.594] write(): <13> Tx: $80b588b0#01 +[40.594] read(): <13> Rx: $m8006370,4#35 +[40.594] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006370 +[40.594] write(): <13> Tx: $03461846#a0 +[40.594] read(): <13> Rx: $m8007700,40#63 +[40.594] handlePacket(): Reading 0x40 bytes of memory from addr 0x8007700 +[40.595] write(): <13> Tx: $1946786800f0a4f87b6804331846fef755ff02467b68c3f8882600bf1837bd4680bd00bfd34d621040420f0080b588b000aff860b9607a60bb68632b09ddfb68#f5 +[40.595] read(): <13> Rx: $m8007738,2#3c +[40.595] handlePacket(): Reading 0x2 bytes of memory from addr 0x8007738 +[40.596] write(): <13> Tx: $bb68#32 +[40.596] read(): <13> Rx: $Z1,8007738,2#86 +[40.596] write(): <13> Tx: $OK#9a +[40.596] read(): <13> Rx: $vCont;c#a8 +[40.596] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[40.602] handle_vCont_c(): handle_vCont_c, continue thread +[40.602] write(): <13> Tx: $OK#9a +[40.602] read(): <13> Rx: $T1#85 +[40.602] write(): <13> Tx: $OK#9a +[40.602] read(): <13> Rx: $T1#85 +[40.602] write(): <13> Tx: $OK#9a +[40.613] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[40.613] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[40.618] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000003 +[40.619] write(): <13> Tx: %Stop:T05hwbreak:;thread:1;core:0;#7e +[40.647] read(): <13> Rx: $vStopped#55 +[40.647] write(): <13> Tx: $OK#9a +[40.647] read(): <13> Rx: $g#67 +[40.654] write(): <13> Tx: $f40400207d000000f0ff07202d770008000000000000000000000000a0ff07200000000000000000000000000000000000000000a0ff072071630008387700080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000a0ff072000000000#ce +[40.654] read(): <13> Rx: $z1,8007738,2#a6 +[40.654] write(): <13> Tx: $OK#9a +[40.654] read(): <13> Rx: $m8007738,4#3e +[40.654] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007738 +[40.655] write(): <13> Tx: $bb68632b#2f +[40.655] read(): <13> Rx: $m2007ffc0,40#25 +[40.655] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[40.656] write(): <13> Tx: $c8ff072071630008f0ff0720dcff0720d8ff072083670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#90 +[40.656] read(): <13> Rx: $m8006370,4#35 +[40.656] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006370 +[40.656] write(): <13> Tx: $03461846#a0 +[40.656] read(): <13> Rx: $m8007700,40#63 +[40.656] handlePacket(): Reading 0x40 bytes of memory from addr 0x8007700 +[40.657] write(): <13> Tx: $1946786800f0a4f87b6804331846fef755ff02467b68c3f8882600bf1837bd4680bd00bfd34d621040420f0080b588b000aff860b9607a60bb68632b09ddfb68#f5 +[40.657] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[40.657] write(): <13> Tx: $l#8b +[40.657] read(): <13> Rx: $m2007ff80,40#fa +[40.657] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff80 +[40.658] write(): <13> Tx: $00000000e400002090ff07200b280008bcff0720e4000020a0ff0720a0ff0720c8ff0720f0ff07207d000000f4040020f0ff07202d7700080000000071630008#44 +[40.669] read(): <13> Rx: $m200004f0,4#89 +[40.669] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[40.669] write(): <13> Tx: $00000000#80 +[40.677] read(): <13> Rx: $m2007ffc0,40#25 +[40.677] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[40.677] write(): <13> Tx: $c8ff072071630008f0ff0720dcff0720d8ff072083670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#90 +[40.678] read(): <13> Rx: $m8006782,4#3c +[40.678] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006782 +[40.678] write(): <13> Tx: $084800f0#ca +[40.678] read(): <13> Rx: $m8007fda,4#c7 +[40.678] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fda +[40.679] write(): <13> Tx: $70470000#92 +[40.679] read(): <13> Rx: $m8007f80,40#9a +[40.679] handlePacket(): Reading 0x40 bytes of memory from addr 0x8007f80 +[40.679] write(): <13> Tx: $1a68bb681a447b681a603b68fa681a6000bf1437bd465df8047b7047834b040000ca9a3bdff834d0002103e00c4b5b58435004310b480c4b42189a42f6d30b4a#cf +[40.680] read(): <13> Rx: $m8007fdc,4#c9 +[40.680] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fdc +[40.680] write(): <13> Tx: $00000820#8a +[40.811] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[40.811] write(): <13> Tx: $l#8b +[40.812] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[40.812] write(): <13> Tx: $l#8b +[40.812] read(): <13> Rx: $m2007ff80,40#fa +[40.812] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff80 +[40.813] write(): <13> Tx: $00000000e400002090ff07200b280008bcff0720e4000020a0ff0720a0ff0720c8ff0720f0ff07207d000000f4040020f0ff07202d7700080000000071630008#44 +[40.815] read(): <13> Rx: $m2007ff80,40#fa +[40.815] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff80 +[40.816] write(): <13> Tx: $00000000e400002090ff07200b280008bcff0720e4000020a0ff0720a0ff0720c8ff0720f0ff07207d000000f4040020f0ff07202d7700080000000071630008#44 +[40.868] read(): <13> Rx: $m2007ff80,40#fa +[40.868] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff80 +[40.869] write(): <13> Tx: $00000000e400002090ff07200b280008bcff0720e4000020a0ff0720a0ff0720c8ff0720f0ff07207d000000f4040020f0ff07202d7700080000000071630008#44 +[40.869] read(): <13> Rx: $m200004f4,4#8d +[40.869] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f4 +[40.869] write(): <13> Tx: $9c860008#d2 +[40.869] read(): <13> Rx: $m8008694,4#40 +[40.869] handlePacket(): Reading 0x4 bytes of memory from addr 0x8008694 +[40.869] write(): <13> Tx: $00000000#80 +[40.869] read(): <13> Rx: $m200004f4,4#8d +[40.869] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f4 +[40.870] write(): <13> Tx: $9c860008#d2 +[40.870] read(): <13> Rx: $m8008694,4#40 +[40.870] handlePacket(): Reading 0x4 bytes of memory from addr 0x8008694 +[40.870] write(): <13> Tx: $00000000#80 +[40.870] read(): <13> Rx: $m200004f4,4#8d +[40.870] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f4 +[40.870] write(): <13> Tx: $9c860008#d2 +[40.870] read(): <13> Rx: $m8008694,4#40 +[40.870] handlePacket(): Reading 0x4 bytes of memory from addr 0x8008694 +[40.871] write(): <13> Tx: $00000000#80 +[40.871] read(): <13> Rx: $m2007ff80,40#fa +[40.871] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff80 +[40.872] write(): <13> Tx: $00000000e400002090ff07200b280008bcff0720e4000020a0ff0720a0ff0720c8ff0720f0ff07207d000000f4040020f0ff07202d7700080000000071630008#44 +[40.873] read(): <13> Rx: $m2007ff80,40#fa +[40.873] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff80 +[40.873] write(): <13> Tx: $00000000e400002090ff07200b280008bcff0720e4000020a0ff0720a0ff0720c8ff0720f0ff07207d000000f4040020f0ff07202d7700080000000071630008#44 +[40.873] read(): <13> Rx: $m2007fff0,4#f8 +[40.873] handlePacket(): Reading 0x4 bytes of memory from addr 0x2007fff0 +[40.874] write(): <13> Tx: $b0860008#c8 +[40.874] read(): <13> Rx: $m80086a8,4#6c +[40.874] handlePacket(): Reading 0x4 bytes of memory from addr 0x80086a8 +[40.874] write(): <13> Tx: $00000000#80 +[40.874] read(): <13> Rx: $m2007fff0,4#f8 +[40.874] handlePacket(): Reading 0x4 bytes of memory from addr 0x2007fff0 +[40.874] write(): <13> Tx: $b0860008#c8 +[40.874] read(): <13> Rx: $m80086a8,4#6c +[40.874] handlePacket(): Reading 0x4 bytes of memory from addr 0x80086a8 +[40.875] write(): <13> Tx: $00000000#80 +[40.875] read(): <13> Rx: $m2007fff0,4#f8 +[40.875] handlePacket(): Reading 0x4 bytes of memory from addr 0x2007fff0 +[40.875] write(): <13> Tx: $b0860008#c8 +[40.875] read(): <13> Rx: $m80086a8,4#6c +[40.875] handlePacket(): Reading 0x4 bytes of memory from addr 0x80086a8 +[40.875] write(): <13> Tx: $00000000#80 +[40.875] read(): <13> Rx: $m2007fff0,4#f8 +[40.875] handlePacket(): Reading 0x4 bytes of memory from addr 0x2007fff0 +[40.876] write(): <13> Tx: $b0860008#c8 +[40.876] read(): <13> Rx: $m80086a8,4#6c +[40.876] handlePacket(): Reading 0x4 bytes of memory from addr 0x80086a8 +[40.876] write(): <13> Tx: $00000000#80 +[40.876] read(): <13> Rx: $m2007fff0,4#f8 +[40.876] handlePacket(): Reading 0x4 bytes of memory from addr 0x2007fff0 +[40.876] write(): <13> Tx: $b0860008#c8 +[40.876] read(): <13> Rx: $m80086a8,4#6c +[40.876] handlePacket(): Reading 0x4 bytes of memory from addr 0x80086a8 +[40.877] write(): <13> Tx: $00000000#80 +[40.877] read(): <13> Rx: $m2007ff80,40#fa +[40.877] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff80 +[40.878] write(): <13> Tx: $00000000e400002090ff07200b280008bcff0720e4000020a0ff0720a0ff0720c8ff0720f0ff07207d000000f4040020f0ff07202d7700080000000071630008#44 +[40.878] read(): <13> Rx: $m2007ff80,40#fa +[40.878] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff80 +[40.879] write(): <13> Tx: $00000000e400002090ff07200b280008bcff0720e4000020a0ff0720a0ff0720c8ff0720f0ff07207d000000f4040020f0ff07202d7700080000000071630008#44 +[41.376] read(): <13> Rx: $vCont;s:1;c#c1 +[41.377] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[41.383] handle_vCont_s(): handle_vCont_s, step thread +[41.384] write(): <13> Tx: $OK#9a +[41.394] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[41.394] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[41.400] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[41.400] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[41.400] read(): <13> Rx: $vStopped#55 +[41.400] write(): <13> Tx: $OK#9a +[41.401] read(): <13> Rx: $g#67 +[41.407] write(): <13> Tx: $f40400207d000000f0ff07207d000000000000000000000000000000a0ff07200000000000000000000000000000000000000000a0ff0720716300083a7700080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000a0ff072000000000#e6 +[41.408] read(): <13> Rx: $vCont;s:1;c#c1 +[41.408] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[41.414] handle_vCont_s(): handle_vCont_s, step thread +[41.414] write(): <13> Tx: $OK#9a +[41.425] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[41.425] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[41.431] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[41.431] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[41.458] read(): <13> Rx: $vStopped#55 +[41.459] write(): <13> Tx: $OK#9a +[41.459] read(): <13> Rx: $g#67 +[41.465] write(): <13> Tx: $f40400207d000000f0ff07207d000000000000000000000000000000a0ff07200000000000000000000000000000000000000000a0ff0720716300083c7700080000002100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000a0ff072000000000#ea +[41.466] read(): <13> Rx: $vCont;s:1;c#c1 +[41.466] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[41.473] handle_vCont_s(): handle_vCont_s, step thread +[41.473] write(): <13> Tx: $OK#9a +[41.484] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[41.484] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[41.489] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[41.491] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[41.514] read(): <13> Rx: $vStopped#55 +[41.514] write(): <13> Tx: $OK#9a +[41.515] read(): <13> Rx: $g#67 +[41.521] write(): <13> Tx: $f40400207d000000f0ff07207d000000000000000000000000000000a0ff07200000000000000000000000000000000000000000a0ff0720716300083e7700080000002100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000a0ff072000000000#ec +[41.522] read(): <13> Rx: $vCont;s:1;c#c1 +[41.522] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[41.529] handle_vCont_s(): handle_vCont_s, step thread +[41.529] write(): <13> Tx: $OK#9a +[41.540] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[41.540] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[41.545] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[41.546] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[41.570] read(): <13> Rx: $vStopped#55 +[41.570] write(): <13> Tx: $OK#9a +[41.570] read(): <13> Rx: $g#67 +[41.577] write(): <13> Tx: $f40400207d000000f0ff0720f4040020000000000000000000000000a0ff07200000000000000000000000000000000000000000a0ff072071630008407700080000002100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000a0ff072000000000#bd +[41.577] read(): <13> Rx: $vCont;s:1;c#c1 +[41.577] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[41.584] handle_vCont_s(): handle_vCont_s, step thread +[41.584] write(): <13> Tx: $OK#9a +[41.595] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[41.595] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[41.601] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[41.601] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[41.626] read(): <13> Rx: $vStopped#55 +[41.626] write(): <13> Tx: $OK#9a +[41.627] read(): <13> Rx: $g#67 +[41.633] write(): <13> Tx: $f40400207d000000f0ff072000000000000000000000000000000000a0ff07200000000000000000000000000000000000000000a0ff072071630008447700080000002100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000a0ff072000000000#81 +[41.634] read(): <13> Rx: $vCont;s:1;c#c1 +[41.634] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[41.640] handle_vCont_s(): handle_vCont_s, step thread +[41.641] write(): <13> Tx: $OK#9a +[41.651] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[41.651] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[41.656] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[41.657] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[41.682] read(): <13> Rx: $vStopped#55 +[41.682] write(): <13> Tx: $OK#9a +[41.682] read(): <13> Rx: $g#67 +[41.689] write(): <13> Tx: $f40400207d000000f0ff072001000000000000000000000000000000a0ff07200000000000000000000000000000000000000000a0ff072071630008487700080000002100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000a0ff072000000000#86 +[41.689] read(): <13> Rx: $vCont;s:1;c#c1 +[41.689] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[41.695] handle_vCont_s(): handle_vCont_s, step thread +[41.695] write(): <13> Tx: $OK#9a +[41.706] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[41.706] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[41.711] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[41.712] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[41.738] read(): <13> Rx: $vStopped#55 +[41.738] write(): <13> Tx: $OK#9a +[41.738] read(): <13> Rx: $g#67 +[41.745] write(): <13> Tx: $f40400207d000000f0ff072001000000000000000000000000000000a0ff07200000000000000000000000000000000000000000a0ff0720716300084a7700080000002100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000a0ff072000000000#af +[41.745] read(): <13> Rx: $vCont;s:1;c#c1 +[41.745] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[41.751] handle_vCont_s(): handle_vCont_s, step thread +[41.751] write(): <13> Tx: $OK#9a +[41.762] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[41.762] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[41.767] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[41.768] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[41.794] read(): <13> Rx: $vStopped#55 +[41.794] write(): <13> Tx: $OK#9a +[41.794] read(): <13> Rx: $g#67 +[41.801] write(): <13> Tx: $f40400207d000000f0ff072001000000000000000000000000000000a0ff07200000000000000000000000000000000000000000a0ff0720716300084c7700080000002100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000a0ff072000000000#b1 +[41.801] read(): <13> Rx: $vCont;s:1;c#c1 +[41.801] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[41.808] handle_vCont_s(): handle_vCont_s, step thread +[41.808] write(): <13> Tx: $OK#9a +[41.818] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[41.818] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[41.824] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[41.824] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[41.850] read(): <13> Rx: $vStopped#55 +[41.850] write(): <13> Tx: $OK#9a +[41.851] read(): <13> Rx: $g#67 +[41.857] write(): <13> Tx: $f40400207d000000f0ff072001000000000000000000000000000000a0ff07200000000000000000000000000000000000000000a0ff0720716300084e7700080000002100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000a0ff072000000000#b3 +[41.857] read(): <13> Rx: $m800774e,4#6c +[41.857] handlePacket(): Reading 0x4 bytes of memory from addr 0x800774e +[41.858] write(): <13> Tx: $002377e0#c8 +[41.858] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[41.859] write(): <13> Tx: $l#8b +[41.859] read(): <13> Rx: $m2007ffc0,40#25 +[41.859] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[41.860] write(): <13> Tx: $c8ff072071630008f0ff0720dcff0720d8ff072083670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#90 +[41.860] read(): <13> Rx: $m8006370,4#35 +[41.860] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006370 +[41.861] write(): <13> Tx: $03461846#a0 +[41.861] read(): <13> Rx: $m2007ff80,40#fa +[41.861] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff80 +[41.862] write(): <13> Tx: $00000000e400002090ff07200b280008bcff0720e4000020a0ff0720a0ff0720c8ff0720f0ff07207d000000f4040020f0ff07202d7700080000000071630008#44 +[41.869] read(): <13> Rx: $m2007ff80,40#fa +[41.869] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff80 +[41.870] write(): <13> Tx: $00000000e400002090ff07200b280008bcff0720e4000020a0ff0720a0ff0720c8ff0720f0ff07207d000000f4040020f0ff07202d7700080000000071630008#44 +[41.870] read(): <13> Rx: $m200004f0,4#89 +[41.870] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[41.871] write(): <13> Tx: $00000000#80 +[41.886] read(): <13> Rx: $m2007ffc0,40#25 +[41.886] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[41.887] write(): <13> Tx: $c8ff072071630008f0ff0720dcff0720d8ff072083670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#90 +[41.887] read(): <13> Rx: $m8006782,4#3c +[41.887] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006782 +[41.889] write(): <13> Tx: $084800f0#ca +[41.889] read(): <13> Rx: $m8007fda,4#c7 +[41.889] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fda +[41.890] write(): <13> Tx: $70470000#92 +[41.890] read(): <13> Rx: $m8007f80,40#9a +[41.890] handlePacket(): Reading 0x40 bytes of memory from addr 0x8007f80 +[41.891] write(): <13> Tx: $1a68bb681a447b681a603b68fa681a6000bf1437bd465df8047b7047834b040000ca9a3bdff834d0002103e00c4b5b58435004310b480c4b42189a42f6d30b4a#cf +[41.891] read(): <13> Rx: $m8007fdc,4#c9 +[41.891] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fdc +[41.891] write(): <13> Tx: $00000820#8a +[41.962] read(): <13> Rx: $m2007ff80,40#fa +[41.963] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff80 +[41.963] write(): <13> Tx: $00000000e400002090ff07200b280008bcff0720e4000020a0ff0720a0ff0720c8ff0720f0ff07207d000000f4040020f0ff07202d7700080000000071630008#44 +[41.963] read(): <13> Rx: $m200004f4,4#8d +[41.963] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f4 +[41.964] write(): <13> Tx: $9c860008#d2 +[41.964] read(): <13> Rx: $m8008694,4#40 +[41.964] handlePacket(): Reading 0x4 bytes of memory from addr 0x8008694 +[41.964] write(): <13> Tx: $00000000#80 +[41.964] read(): <13> Rx: $m200004f4,4#8d +[41.964] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f4 +[41.964] write(): <13> Tx: $9c860008#d2 +[41.965] read(): <13> Rx: $m8008694,4#40 +[41.965] handlePacket(): Reading 0x4 bytes of memory from addr 0x8008694 +[41.965] write(): <13> Tx: $00000000#80 +[41.965] read(): <13> Rx: $m2007ff80,40#fa +[41.965] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff80 +[41.966] write(): <13> Tx: $00000000e400002090ff07200b280008bcff0720e4000020a0ff0720a0ff0720c8ff0720f0ff07207d000000f4040020f0ff07202d7700080000000071630008#44 +[41.966] read(): <13> Rx: $m2007ff80,40#fa +[41.966] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff80 +[41.966] write(): <13> Tx: $00000000e400002090ff07200b280008bcff0720e4000020a0ff0720a0ff0720c8ff0720f0ff07207d000000f4040020f0ff07202d7700080000000071630008#44 +[41.967] read(): <13> Rx: $m2007fff0,4#f8 +[41.967] handlePacket(): Reading 0x4 bytes of memory from addr 0x2007fff0 +[41.967] write(): <13> Tx: $b0860008#c8 +[41.967] read(): <13> Rx: $m80086a8,4#6c +[41.967] handlePacket(): Reading 0x4 bytes of memory from addr 0x80086a8 +[41.967] write(): <13> Tx: $00000000#80 +[41.967] read(): <13> Rx: $m2007fff0,4#f8 +[41.967] handlePacket(): Reading 0x4 bytes of memory from addr 0x2007fff0 +[41.967] write(): <13> Tx: $b0860008#c8 +[41.967] read(): <13> Rx: $m80086a8,4#6c +[41.967] handlePacket(): Reading 0x4 bytes of memory from addr 0x80086a8 +[41.968] write(): <13> Tx: $00000000#80 +[41.968] read(): <13> Rx: $m2007ff80,40#fa +[41.968] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff80 +[41.969] write(): <13> Tx: $00000000e400002090ff07200b280008bcff0720e4000020a0ff0720a0ff0720c8ff0720f0ff07207d000000f4040020f0ff07202d7700080000000071630008#44 +[41.969] read(): <13> Rx: $m2007ff80,40#fa +[41.969] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff80 +[41.969] write(): <13> Tx: $00000000e400002090ff07200b280008bcff0720e4000020a0ff0720a0ff0720c8ff0720f0ff07207d000000f4040020f0ff07202d7700080000000071630008#44 +[41.970] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[41.970] write(): <13> Tx: $l#8b +[41.970] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[41.970] write(): <13> Tx: $l#8b +[41.970] read(): <13> Rx: $m2007ff80,40#fa +[41.970] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff80 +[41.971] write(): <13> Tx: $00000000e400002090ff07200b280008bcff0720e4000020a0ff0720a0ff0720c8ff0720f0ff07207d000000f4040020f0ff07202d7700080000000071630008#44 +[42.311] read(): <13> Rx: $vCont;s:1;c#c1 +[42.312] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[42.319] handle_vCont_s(): handle_vCont_s, step thread +[42.319] write(): <13> Tx: $OK#9a +[42.329] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[42.330] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[42.335] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[42.336] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[42.336] read(): <13> Rx: $vStopped#55 +[42.336] write(): <13> Tx: $OK#9a +[42.336] read(): <13> Rx: $g#67 +[42.343] write(): <13> Tx: $f40400207d000000f0ff072000000000000000000000000000000000a0ff07200000000000000000000000000000000000000000a0ff072071630008507700080000006100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000a0ff072000000000#82 +[42.343] read(): <13> Rx: $vCont;s:1;c#c1 +[42.346] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[42.352] handle_vCont_s(): handle_vCont_s, step thread +[42.352] write(): <13> Tx: $OK#9a +[42.363] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[42.363] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[42.369] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[42.369] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[42.394] read(): <13> Rx: $vStopped#55 +[42.394] write(): <13> Tx: $OK#9a +[42.395] read(): <13> Rx: $g#67 +[42.401] write(): <13> Tx: $f40400207d000000f0ff072000000000000000000000000000000000a0ff07200000000000000000000000000000000000000000a0ff072071630008427800080000006100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000a0ff072000000000#84 +[42.402] read(): <13> Rx: $m8007842,4#3a +[42.402] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007842 +[42.403] write(): <13> Tx: $18462037#9f +[42.403] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[42.403] write(): <13> Tx: $l#8b +[42.404] read(): <13> Rx: $m2007ffc0,40#25 +[42.404] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[42.405] write(): <13> Tx: $c8ff072071630008f0ff0720dcff0720d8ff072083670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#90 +[42.405] read(): <13> Rx: $m8006370,4#35 +[42.405] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006370 +[42.406] write(): <13> Tx: $03461846#a0 +[42.406] read(): <13> Rx: $m2007ff80,40#fa +[42.406] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff80 +[42.407] write(): <13> Tx: $00000000e400002090ff07200b280008bcff0720e4000020a0ff0720a0ff0720c8ff0720f0ff07207d000000f4040020f0ff07202d7700080000000071630008#44 +[42.417] read(): <13> Rx: $m2007ff80,40#fa +[42.417] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff80 +[42.418] write(): <13> Tx: $00000000e400002090ff07200b280008bcff0720e4000020a0ff0720a0ff0720c8ff0720f0ff07207d000000f4040020f0ff07202d7700080000000071630008#44 +[42.439] read(): <13> Rx: $m200004f0,4#89 +[42.439] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[42.439] write(): <13> Tx: $00000000#80 +[42.481] read(): <13> Rx: $m2007ffc0,40#25 +[42.481] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[42.482] write(): <13> Tx: $c8ff072071630008f0ff0720dcff0720d8ff072083670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#90 +[42.482] read(): <13> Rx: $m8006782,4#3c +[42.482] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006782 +[42.483] write(): <13> Tx: $084800f0#ca +[42.483] read(): <13> Rx: $m8007fda,4#c7 +[42.483] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fda +[42.483] write(): <13> Tx: $70470000#92 +[42.483] read(): <13> Rx: $m8007f80,40#9a +[42.483] handlePacket(): Reading 0x40 bytes of memory from addr 0x8007f80 +[42.484] write(): <13> Tx: $1a68bb681a447b681a603b68fa681a6000bf1437bd465df8047b7047834b040000ca9a3bdff834d0002103e00c4b5b58435004310b480c4b42189a42f6d30b4a#cf +[42.484] read(): <13> Rx: $m8007fdc,4#c9 +[42.484] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fdc +[42.484] write(): <13> Tx: $00000820#8a +[42.507] read(): <13> Rx: $m2007ff80,40#fa +[42.507] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff80 +[42.507] write(): <13> Tx: $00000000e400002090ff07200b280008bcff0720e4000020a0ff0720a0ff0720c8ff0720f0ff07207d000000f4040020f0ff07202d7700080000000071630008#44 +[42.507] read(): <13> Rx: $m200004f4,4#8d +[42.507] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f4 +[42.508] write(): <13> Tx: $9c860008#d2 +[42.508] read(): <13> Rx: $m8008694,4#40 +[42.508] handlePacket(): Reading 0x4 bytes of memory from addr 0x8008694 +[42.508] write(): <13> Tx: $00000000#80 +[42.508] read(): <13> Rx: $m200004f4,4#8d +[42.508] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f4 +[42.509] write(): <13> Tx: $9c860008#d2 +[42.509] read(): <13> Rx: $m8008694,4#40 +[42.509] handlePacket(): Reading 0x4 bytes of memory from addr 0x8008694 +[42.509] write(): <13> Tx: $00000000#80 +[42.509] read(): <13> Rx: $m2007ff80,40#fa +[42.509] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff80 +[42.510] write(): <13> Tx: $00000000e400002090ff07200b280008bcff0720e4000020a0ff0720a0ff0720c8ff0720f0ff07207d000000f4040020f0ff07202d7700080000000071630008#44 +[42.510] read(): <13> Rx: $m2007ff80,40#fa +[42.510] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff80 +[42.511] write(): <13> Tx: $00000000e400002090ff07200b280008bcff0720e4000020a0ff0720a0ff0720c8ff0720f0ff07207d000000f4040020f0ff07202d7700080000000071630008#44 +[42.511] read(): <13> Rx: $m2007fff0,4#f8 +[42.511] handlePacket(): Reading 0x4 bytes of memory from addr 0x2007fff0 +[42.512] write(): <13> Tx: $b0860008#c8 +[42.512] read(): <13> Rx: $m80086a8,4#6c +[42.512] handlePacket(): Reading 0x4 bytes of memory from addr 0x80086a8 +[42.512] write(): <13> Tx: $00000000#80 +[42.512] read(): <13> Rx: $m2007fff0,4#f8 +[42.512] handlePacket(): Reading 0x4 bytes of memory from addr 0x2007fff0 +[42.513] write(): <13> Tx: $b0860008#c8 +[42.513] read(): <13> Rx: $m80086a8,4#6c +[42.513] handlePacket(): Reading 0x4 bytes of memory from addr 0x80086a8 +[42.513] write(): <13> Tx: $00000000#80 +[42.513] read(): <13> Rx: $m2007ff80,40#fa +[42.513] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff80 +[42.514] write(): <13> Tx: $00000000e400002090ff07200b280008bcff0720e4000020a0ff0720a0ff0720c8ff0720f0ff07207d000000f4040020f0ff07202d7700080000000071630008#44 +[42.514] read(): <13> Rx: $m2007ff80,40#fa +[42.514] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff80 +[42.515] write(): <13> Tx: $00000000e400002090ff07200b280008bcff0720e4000020a0ff0720a0ff0720c8ff0720f0ff07207d000000f4040020f0ff07202d7700080000000071630008#44 +[42.515] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[42.515] write(): <13> Tx: $l#8b +[42.515] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[42.515] write(): <13> Tx: $l#8b +[42.515] read(): <13> Rx: $m2007ff80,40#fa +[42.515] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff80 +[42.516] write(): <13> Tx: $00000000e400002090ff07200b280008bcff0720e4000020a0ff0720a0ff0720c8ff0720f0ff07207d000000f4040020f0ff07202d7700080000000071630008#44 +[43.359] read(): <13> Rx: $vCont;s:1;c#c1 +[43.359] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[43.366] handle_vCont_s(): handle_vCont_s, step thread +[43.366] write(): <13> Tx: $OK#9a +[43.377] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[43.377] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[43.383] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[43.384] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[43.384] read(): <13> Rx: $vStopped#55 +[43.384] write(): <13> Tx: $OK#9a +[43.384] read(): <13> Rx: $g#67 +[43.390] write(): <13> Tx: $000000007d000000f0ff072000000000000000000000000000000000a0ff07200000000000000000000000000000000000000000a0ff072071630008447800080000006100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000a0ff072000000000#46 +[43.391] read(): <13> Rx: $vCont;s:1;c#c1 +[43.401] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[43.408] handle_vCont_s(): handle_vCont_s, step thread +[43.408] write(): <13> Tx: $OK#9a +[43.419] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[43.419] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[43.425] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[43.425] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[43.450] read(): <13> Rx: $vStopped#55 +[43.450] write(): <13> Tx: $OK#9a +[43.450] read(): <13> Rx: $g#67 +[43.458] write(): <13> Tx: $000000007d000000f0ff072000000000000000000000000000000000c0ff07200000000000000000000000000000000000000000a0ff072071630008467800080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000a0ff072000000000#44 +[43.458] read(): <13> Rx: $vCont;s:1;c#c1 +[43.458] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[43.466] handle_vCont_s(): handle_vCont_s, step thread +[43.466] write(): <13> Tx: $OK#9a +[43.477] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[43.477] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[43.483] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[43.484] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[43.510] read(): <13> Rx: $vStopped#55 +[43.510] write(): <13> Tx: $OK#9a +[43.510] read(): <13> Rx: $g#67 +[43.517] write(): <13> Tx: $000000007d000000f0ff072000000000000000000000000000000000c0ff07200000000000000000000000000000000000000000c0ff072071630008487800080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000c0ff072000000000#4a +[43.517] read(): <13> Rx: $vCont;s:1;c#c1 +[43.518] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[43.524] handle_vCont_s(): handle_vCont_s, step thread +[43.525] write(): <13> Tx: $OK#9a +[43.535] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[43.535] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[43.541] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[43.542] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[43.566] read(): <13> Rx: $vStopped#55 +[43.566] write(): <13> Tx: $OK#9a +[43.567] read(): <13> Rx: $g#67 +[43.574] write(): <13> Tx: $000000007d000000f0ff072000000000000000000000000000000000c8ff07200000000000000000000000000000000000000000c8ff072071630008706300080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000c8ff072000000000#57 +[43.574] read(): <13> Rx: $m8006370,4#35 +[43.574] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006370 +[43.575] write(): <13> Tx: $03461846#a0 +[43.575] read(): <13> Rx: $m2007ffc0,40#25 +[43.575] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[43.576] write(): <13> Tx: $c8ff072071630008f0ff0720dcff0720d8ff072083670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#90 +[43.576] read(): <13> Rx: $m8006782,4#3c +[43.576] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006782 +[43.577] write(): <13> Tx: $084800f0#ca +[43.577] read(): <13> Rx: $vCont;s:1;c#c1 +[43.577] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[43.584] handle_vCont_s(): handle_vCont_s, step thread +[43.584] write(): <13> Tx: $OK#9a +[43.595] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[43.595] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[43.600] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[43.601] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[43.626] read(): <13> Rx: $vStopped#55 +[43.626] write(): <13> Tx: $OK#9a +[43.627] read(): <13> Rx: $g#67 +[43.634] write(): <13> Tx: $000000007d000000f0ff072000000000000000000000000000000000c8ff07200000000000000000000000000000000000000000c8ff072071630008726300080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000c8ff072000000000#59 +[43.634] read(): <13> Rx: $m8006372,4#37 +[43.634] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006372 +[43.635] write(): <13> Tx: $18460837#a5 +[43.635] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[43.635] write(): <13> Tx: $l#8b +[43.636] read(): <13> Rx: $m2007ffc0,40#25 +[43.636] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[43.637] write(): <13> Tx: $c8ff072071630008f0ff0720dcff0720d8ff072083670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#90 +[43.637] read(): <13> Rx: $m8006782,4#3c +[43.637] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006782 +[43.638] write(): <13> Tx: $084800f0#ca +[43.660] read(): <13> Rx: $m200004f0,4#89 +[43.660] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[43.661] write(): <13> Tx: $00000000#80 +[43.663] read(): <13> Rx: $m2007ffc0,40#25 +[43.663] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[43.663] write(): <13> Tx: $c8ff072071630008f0ff0720dcff0720d8ff072083670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#90 +[43.663] read(): <13> Rx: $m8007fda,4#c7 +[43.663] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fda +[43.664] write(): <13> Tx: $70470000#92 +[43.664] read(): <13> Rx: $m8007f80,40#9a +[43.664] handlePacket(): Reading 0x40 bytes of memory from addr 0x8007f80 +[43.665] write(): <13> Tx: $1a68bb681a447b681a603b68fa681a6000bf1437bd465df8047b7047834b040000ca9a3bdff834d0002103e00c4b5b58435004310b480c4b42189a42f6d30b4a#cf +[43.665] read(): <13> Rx: $m8007fdc,4#c9 +[43.665] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fdc +[43.665] write(): <13> Tx: $00000820#8a +[43.802] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[43.802] write(): <13> Tx: $l#8b +[43.802] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[43.802] write(): <13> Tx: $l#8b +[43.802] read(): <13> Rx: $m2007ffc0,40#25 +[43.802] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[43.803] write(): <13> Tx: $c8ff072071630008f0ff0720dcff0720d8ff072083670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#90 +[43.803] read(): <13> Rx: $m2007ffc0,40#25 +[43.803] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[43.804] write(): <13> Tx: $c8ff072071630008f0ff0720dcff0720d8ff072083670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#90 +[43.804] read(): <13> Rx: $m2007ffc0,40#25 +[43.804] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[43.805] write(): <13> Tx: $c8ff072071630008f0ff0720dcff0720d8ff072083670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#90 +[43.805] read(): <13> Rx: $m2007fff0,4#f8 +[43.805] handlePacket(): Reading 0x4 bytes of memory from addr 0x2007fff0 +[43.805] write(): <13> Tx: $b0860008#c8 +[43.805] read(): <13> Rx: $m80086a8,4#6c +[43.805] handlePacket(): Reading 0x4 bytes of memory from addr 0x80086a8 +[43.806] write(): <13> Tx: $00000000#80 +[43.806] read(): <13> Rx: $m2007fff0,4#f8 +[43.806] handlePacket(): Reading 0x4 bytes of memory from addr 0x2007fff0 +[43.806] write(): <13> Tx: $b0860008#c8 +[43.806] read(): <13> Rx: $m80086a8,4#6c +[43.806] handlePacket(): Reading 0x4 bytes of memory from addr 0x80086a8 +[43.806] write(): <13> Tx: $00000000#80 +[44.343] read(): <13> Rx: $vCont;s:1;c#c1 +[44.343] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[44.349] handle_vCont_s(): handle_vCont_s, step thread +[44.349] write(): <13> Tx: $OK#9a +[44.359] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[44.359] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[44.365] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[44.365] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[44.365] read(): <13> Rx: $vStopped#55 +[44.365] write(): <13> Tx: $OK#9a +[44.365] read(): <13> Rx: $g#67 +[44.372] write(): <13> Tx: $000000007d000000f0ff072000000000000000000000000000000000c8ff07200000000000000000000000000000000000000000c8ff072071630008746300080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000c8ff072000000000#5b +[44.372] read(): <13> Rx: $vCont;s:1;c#c1 +[44.375] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[44.381] handle_vCont_s(): handle_vCont_s, step thread +[44.382] write(): <13> Tx: $OK#9a +[44.392] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[44.392] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[44.397] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[44.398] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[44.422] read(): <13> Rx: $vStopped#55 +[44.422] write(): <13> Tx: $OK#9a +[44.422] read(): <13> Rx: $g#67 +[44.429] write(): <13> Tx: $000000007d000000f0ff072000000000000000000000000000000000d0ff07200000000000000000000000000000000000000000c8ff072071630008766300080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000c8ff072000000000#56 +[44.429] read(): <13> Rx: $vCont;s:1;c#c1 +[44.429] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[44.435] handle_vCont_s(): handle_vCont_s, step thread +[44.435] write(): <13> Tx: $OK#9a +[44.446] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[44.446] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[44.452] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[44.452] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[44.478] read(): <13> Rx: $vStopped#55 +[44.479] write(): <13> Tx: $OK#9a +[44.479] read(): <13> Rx: $g#67 +[44.485] write(): <13> Tx: $000000007d000000f0ff072000000000000000000000000000000000d0ff07200000000000000000000000000000000000000000d0ff072071630008786300080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000d0ff072000000000#4a +[44.486] read(): <13> Rx: $vCont;s:1;c#c1 +[44.486] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[44.493] handle_vCont_s(): handle_vCont_s, step thread +[44.493] write(): <13> Tx: $OK#9a +[44.504] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[44.504] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[44.510] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[44.510] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[44.534] read(): <13> Rx: $vStopped#55 +[44.534] write(): <13> Tx: $OK#9a +[44.535] read(): <13> Rx: $g#67 +[44.541] write(): <13> Tx: $000000007d000000f0ff072000000000000000000000000000000000d8ff07200000000000000000000000000000000000000000d8ff072071630008826700080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000d8ff072000000000#61 +[44.541] read(): <13> Rx: $m8006782,4#3c +[44.541] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006782 +[44.542] write(): <13> Tx: $084800f0#ca +[44.542] read(): <13> Rx: $m2007ffc0,40#25 +[44.542] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[44.543] write(): <13> Tx: $c8ff072071630008f0ff0720dcff0720d8ff072083670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#90 +[44.543] read(): <13> Rx: $m8007fda,4#c7 +[44.543] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fda +[44.544] write(): <13> Tx: $70470000#92 +[44.544] read(): <13> Rx: $m8007f80,40#9a +[44.544] handlePacket(): Reading 0x40 bytes of memory from addr 0x8007f80 +[44.545] write(): <13> Tx: $1a68bb681a447b681a603b68fa681a6000bf1437bd465df8047b7047834b040000ca9a3bdff834d0002103e00c4b5b58435004310b480c4b42189a42f6d30b4a#cf +[44.545] read(): <13> Rx: $m8007fdc,4#c9 +[44.545] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fdc +[44.545] write(): <13> Tx: $00000820#8a +[44.545] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[44.545] write(): <13> Tx: $l#8b +[44.550] read(): <13> Rx: $m2007ffc0,40#25 +[44.550] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[44.551] write(): <13> Tx: $c8ff072071630008f0ff0720dcff0720d8ff072083670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#90 +[44.551] read(): <13> Rx: $m2007fff0,4#f8 +[44.551] handlePacket(): Reading 0x4 bytes of memory from addr 0x2007fff0 +[44.551] write(): <13> Tx: $b0860008#c8 +[44.552] read(): <13> Rx: $m80086a8,4#6c +[44.552] handlePacket(): Reading 0x4 bytes of memory from addr 0x80086a8 +[44.552] write(): <13> Tx: $00000000#80 +[44.552] read(): <13> Rx: $m20000008,8#5b +[44.552] handlePacket(): Reading 0x8 bytes of memory from addr 0x20000008 +[44.552] write(): <13> Tx: $48656c6c6f20776f#11 +[44.552] read(): <13> Rx: $m20000010,8#54 +[44.552] handlePacket(): Reading 0x8 bytes of memory from addr 0x20000010 +[44.553] write(): <13> Tx: $726c642100000000#4f +[44.553] read(): <13> Rx: $m800862c,8#6c +[44.553] handlePacket(): Reading 0x8 bytes of memory from addr 0x800862c +[44.553] write(): <13> Tx: $6368617474657200#48 +[44.553] read(): <13> Rx: $m200004f0,4#89 +[44.553] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[44.554] write(): <13> Tx: $00000000#80 +[44.682] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[44.682] write(): <13> Tx: $l#8b +[44.683] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[44.683] write(): <13> Tx: $l#8b +[45.208] read(): <13> Rx: $vCont;s:1;c#c1 +[45.208] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[45.214] handle_vCont_s(): handle_vCont_s, step thread +[45.215] write(): <13> Tx: $OK#9a +[45.225] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[45.225] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[45.231] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[45.232] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[45.232] read(): <13> Rx: $vStopped#55 +[45.232] write(): <13> Tx: $OK#9a +[45.232] read(): <13> Rx: $g#67 +[45.239] write(): <13> Tx: $f40400207d000000f0ff072000000000000000000000000000000000d8ff07200000000000000000000000000000000000000000d8ff072071630008846700080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000d8ff072000000000#a3 +[45.239] read(): <13> Rx: $vCont;s:1;c#c1 +[45.240] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[45.247] handle_vCont_s(): handle_vCont_s, step thread +[45.247] write(): <13> Tx: $OK#9a +[45.258] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[45.258] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[45.263] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[45.264] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[45.290] read(): <13> Rx: $vStopped#55 +[45.290] write(): <13> Tx: $OK#9a +[45.291] read(): <13> Rx: $g#67 +[45.297] write(): <13> Tx: $f40400207d000000f0ff072000000000000000000000000000000000d8ff07200000000000000000000000000000000000000000d8ff072089670008e27000080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000d8ff072000000000#d5 +[45.298] read(): <13> Rx: $m80070e2,4#63 +[45.298] handlePacket(): Reading 0x4 bytes of memory from addr 0x80070e2 +[45.299] write(): <13> Tx: $80b584b0#fd +[45.300] read(): <13> Rx: $m8006788,4#42 +[45.300] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006788 +[45.300] write(): <13> Tx: $4ff47a70#33 +[45.300] read(): <13> Rx: $m80070c0,40#8f +[45.301] handlePacket(): Reading 0x40 bytes of memory from addr 0x80070c0 +[45.302] write(): <13> Tx: $9a607a683b68da60012304e0fb680133fb60dde7002318461437bd465df8047b704780b584b000af78607b6804331846fff764faf8607b68d3f88836fa68d31a#cd +[45.302] read(): <13> Rx: $m80070ea,2#90 +[45.302] handlePacket(): Reading 0x2 bytes of memory from addr 0x80070ea +[45.302] write(): <13> Tx: $7b68#07 +[45.303] read(): <13> Rx: $Z1,80070ea,2#da +[45.303] write(): <13> Tx: $OK#9a +[45.303] read(): <13> Rx: $vCont;c#a8 +[45.304] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[45.309] handle_vCont_c(): handle_vCont_c, continue thread +[45.309] write(): <13> Tx: $OK#9a +[45.320] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[45.320] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[45.326] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000003 +[45.328] write(): <13> Tx: %Stop:T05hwbreak:;thread:1;core:0;#7e +[45.350] read(): <13> Rx: $vStopped#55 +[45.350] write(): <13> Tx: $OK#9a +[45.351] read(): <13> Rx: $g#67 +[45.357] write(): <13> Tx: $f40400207d000000f0ff072000000000000000000000000000000000c0ff07200000000000000000000000000000000000000000c0ff072089670008ea7000080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000c0ff072000000000#e9 +[45.358] read(): <13> Rx: $z1,80070ea,2#fa +[45.358] write(): <13> Tx: $OK#9a +[45.358] read(): <13> Rx: $m80070ea,4#92 +[45.358] handlePacket(): Reading 0x4 bytes of memory from addr 0x80070ea +[45.360] write(): <13> Tx: $7b680433#d1 +[45.360] read(): <13> Rx: $m2007ffc0,40#25 +[45.360] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[45.361] write(): <13> Tx: $f0ff0720f40400200000000089670008d8ff072089670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#57 +[45.361] read(): <13> Rx: $m8006788,4#42 +[45.361] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006788 +[45.362] write(): <13> Tx: $4ff47a70#33 +[45.362] read(): <13> Rx: $m80070c0,40#8f +[45.362] handlePacket(): Reading 0x40 bytes of memory from addr 0x80070c0 +[45.363] write(): <13> Tx: $9a607a683b68da60012304e0fb680133fb60dde7002318461437bd465df8047b704780b584b000af78607b6804331846fff764faf8607b68d3f88836fa68d31a#cd +[45.364] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[45.364] write(): <13> Tx: $l#8b +[45.372] read(): <13> Rx: $m2007ffc0,40#25 +[45.372] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[45.372] write(): <13> Tx: $f0ff0720f40400200000000089670008d8ff072089670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#57 +[45.373] read(): <13> Rx: $m200004f0,4#89 +[45.373] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[45.374] write(): <13> Tx: $00000000#80 +[45.381] read(): <13> Rx: $m2007ffc0,40#25 +[45.381] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[45.382] write(): <13> Tx: $f0ff0720f40400200000000089670008d8ff072089670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#57 +[45.382] read(): <13> Rx: $m8007fda,4#c7 +[45.382] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fda +[45.383] write(): <13> Tx: $70470000#92 +[45.383] read(): <13> Rx: $m8007f80,40#9a +[45.383] handlePacket(): Reading 0x40 bytes of memory from addr 0x8007f80 +[45.383] write(): <13> Tx: $1a68bb681a447b681a603b68fa681a6000bf1437bd465df8047b7047834b040000ca9a3bdff834d0002103e00c4b5b58435004310b480c4b42189a42f6d30b4a#cf +[45.384] read(): <13> Rx: $m8007fdc,4#c9 +[45.384] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fdc +[45.384] write(): <13> Tx: $00000820#8a +[45.542] read(): <13> Rx: $m2007ffc0,40#25 +[45.542] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[45.543] write(): <13> Tx: $f0ff0720f40400200000000089670008d8ff072089670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#57 +[45.544] read(): <13> Rx: $m2007ffc0,40#25 +[45.544] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[45.545] write(): <13> Tx: $f0ff0720f40400200000000089670008d8ff072089670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#57 +[45.545] read(): <13> Rx: $m200004f4,4#8d +[45.545] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f4 +[45.545] write(): <13> Tx: $9c860008#d2 +[45.545] read(): <13> Rx: $m8008694,4#40 +[45.545] handlePacket(): Reading 0x4 bytes of memory from addr 0x8008694 +[45.546] write(): <13> Tx: $00000000#80 +[45.546] read(): <13> Rx: $m200004f4,4#8d +[45.546] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f4 +[45.546] write(): <13> Tx: $9c860008#d2 +[45.546] read(): <13> Rx: $m8008694,4#40 +[45.546] handlePacket(): Reading 0x4 bytes of memory from addr 0x8008694 +[45.546] write(): <13> Tx: $00000000#80 +[45.546] read(): <13> Rx: $m200004f4,4#8d +[45.546] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f4 +[45.547] write(): <13> Tx: $9c860008#d2 +[45.547] read(): <13> Rx: $m8008694,4#40 +[45.547] handlePacket(): Reading 0x4 bytes of memory from addr 0x8008694 +[45.547] write(): <13> Tx: $00000000#80 +[45.599] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[45.600] write(): <13> Tx: $l#8b +[45.600] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[45.600] write(): <13> Tx: $l#8b +[45.600] read(): <13> Rx: $m2007ffc0,40#25 +[45.600] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[45.601] write(): <13> Tx: $f0ff0720f40400200000000089670008d8ff072089670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#57 +[45.951] read(): <13> Rx: $vCont;s:1;c#c1 +[45.951] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[45.957] handle_vCont_s(): handle_vCont_s, step thread +[45.957] write(): <13> Tx: $OK#9a +[45.968] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[45.968] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[45.973] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[45.974] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[45.974] read(): <13> Rx: $vStopped#55 +[45.974] write(): <13> Tx: $OK#9a +[45.974] read(): <13> Rx: $g#67 +[45.980] write(): <13> Tx: $f40400207d000000f0ff0720f4040020000000000000000000000000c0ff07200000000000000000000000000000000000000000c0ff072089670008ec7000080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000c0ff072000000000#2b +[45.980] read(): <13> Rx: $vCont;s:1;c#c1 +[45.991] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[45.997] handle_vCont_s(): handle_vCont_s, step thread +[45.997] write(): <13> Tx: $OK#9a +[46.007] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[46.008] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[46.013] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[46.013] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[46.038] read(): <13> Rx: $vStopped#55 +[46.038] write(): <13> Tx: $OK#9a +[46.038] read(): <13> Rx: $g#67 +[46.045] write(): <13> Tx: $f40400207d000000f0ff0720f8040020000000000000000000000000c0ff07200000000000000000000000000000000000000000c0ff072089670008ee7000080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000c0ff072000000000#31 +[46.045] read(): <13> Rx: $vCont;s:1;c#c1 +[46.045] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[46.052] handle_vCont_s(): handle_vCont_s, step thread +[46.052] write(): <13> Tx: $OK#9a +[46.062] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[46.062] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[46.068] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[46.068] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[46.094] read(): <13> Rx: $vStopped#55 +[46.094] write(): <13> Tx: $OK#9a +[46.095] read(): <13> Rx: $g#67 +[46.102] write(): <13> Tx: $f80400207d000000f0ff0720f8040020000000000000000000000000c0ff07200000000000000000000000000000000000000000c0ff072089670008f07000080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000c0ff072000000000#01 +[46.102] read(): <13> Rx: $vCont;s:1;c#c1 +[46.103] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[46.109] handle_vCont_s(): handle_vCont_s, step thread +[46.109] write(): <13> Tx: $OK#9a +[46.120] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[46.120] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[46.125] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[46.126] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[46.151] read(): <13> Rx: $vStopped#55 +[46.151] write(): <13> Tx: $OK#9a +[46.151] read(): <13> Rx: $g#67 +[46.158] write(): <13> Tx: $f80400207d000000f0ff0720f8040020000000000000000000000000c0ff07200000000000000000000000000000000000000000c0ff0720f5700008bc6500080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000c0ff072000000000#58 +[46.158] read(): <13> Rx: $m80065bc,4#95 +[46.158] handlePacket(): Reading 0x4 bytes of memory from addr 0x80065bc +[46.159] write(): <13> Tx: $80b582b0#fb +[46.159] read(): <13> Rx: $m80070f4,4#66 +[46.159] handlePacket(): Reading 0x4 bytes of memory from addr 0x80070f4 +[46.160] write(): <13> Tx: $f8607b68#0b +[46.160] read(): <13> Rx: $m80065c0,40#93 +[46.160] handlePacket(): Reading 0x40 bytes of memory from addr 0x80065c0 +[46.161] write(): <13> Tx: $00af7860faf712f8034618460837bd4680bd000080b582b000af78607b681846fef74cf9054a7b681a607b68044a5a607b6818460837bd4680bd00bfb0860008#4f +[46.161] read(): <13> Rx: $m80065c4,2#65 +[46.161] handlePacket(): Reading 0x2 bytes of memory from addr 0x80065c4 +[46.161] write(): <13> Tx: $faf7#64 +[46.161] read(): <13> Rx: $Z1,80065c4,2#af +[46.162] write(): <13> Tx: $OK#9a +[46.162] read(): <13> Rx: $vCont;c#a8 +[46.162] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[46.168] handle_vCont_c(): handle_vCont_c, continue thread +[46.168] write(): <13> Tx: $OK#9a +[46.178] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[46.178] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[46.184] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000003 +[46.185] write(): <13> Tx: %Stop:T05hwbreak:;thread:1;core:0;#7e +[46.210] read(): <13> Rx: $vStopped#55 +[46.211] write(): <13> Tx: $OK#9a +[46.211] read(): <13> Rx: $g#67 +[46.218] write(): <13> Tx: $f80400207d000000f0ff0720f8040020000000000000000000000000b0ff07200000000000000000000000000000000000000000b0ff0720f5700008c46500080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000b0ff072000000000#27 +[46.218] read(): <13> Rx: $z1,80065c4,2#cf +[46.219] write(): <13> Tx: $OK#9a +[46.219] read(): <13> Rx: $m80065c4,4#67 +[46.219] handlePacket(): Reading 0x4 bytes of memory from addr 0x80065c4 +[46.219] write(): <13> Tx: $faf712f8#65 +[46.220] read(): <13> Rx: $m2007ff80,40#fa +[46.220] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff80 +[46.221] write(): <13> Tx: $88ff07200b28000890ff0720e400002098ff072098ff0720c0ff0720f9fffffff80400207d000000f0ff0720f804002000000000f8040020c0ff0720f5700008#5d +[46.221] read(): <13> Rx: $m80070f4,4#66 +[46.221] handlePacket(): Reading 0x4 bytes of memory from addr 0x80070f4 +[46.221] write(): <13> Tx: $f8607b68#0b +[46.222] read(): <13> Rx: $m80065c0,40#93 +[46.222] handlePacket(): Reading 0x40 bytes of memory from addr 0x80065c0 +[46.223] write(): <13> Tx: $00af7860faf712f8034618460837bd4680bd000080b582b000af78607b681846fef74cf9054a7b681a607b68044a5a607b6818460837bd4680bd00bfb0860008#4f +[46.223] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[46.223] write(): <13> Tx: $l#8b +[46.252] read(): <13> Rx: $m200004f0,4#89 +[46.252] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[46.252] write(): <13> Tx: $00000000#80 +[46.261] read(): <13> Rx: $m2007ffc0,40#25 +[46.261] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[46.261] write(): <13> Tx: $f0ff0720f40400200000000089670008d8ff072089670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#57 +[46.261] read(): <13> Rx: $m2007ff80,40#fa +[46.261] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff80 +[46.262] write(): <13> Tx: $88ff07200b28000890ff0720e400002098ff072098ff0720c0ff0720f9fffffff80400207d000000f0ff0720f804002000000000f8040020c0ff0720f5700008#5d +[46.262] read(): <13> Rx: $m8006788,4#42 +[46.262] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006788 +[46.263] write(): <13> Tx: $4ff47a70#33 +[46.263] read(): <13> Rx: $m8007fda,4#c7 +[46.263] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fda +[46.263] write(): <13> Tx: $70470000#92 +[46.263] read(): <13> Rx: $m8007f80,40#9a +[46.263] handlePacket(): Reading 0x40 bytes of memory from addr 0x8007f80 +[46.264] write(): <13> Tx: $1a68bb681a447b681a603b68fa681a6000bf1437bd465df8047b7047834b040000ca9a3bdff834d0002103e00c4b5b58435004310b480c4b42189a42f6d30b4a#cf +[46.264] read(): <13> Rx: $m8007fdc,4#c9 +[46.264] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fdc +[46.264] write(): <13> Tx: $00000820#8a +[46.308] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[46.308] write(): <13> Tx: $l#8b +[46.309] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[46.309] write(): <13> Tx: $l#8b +[46.309] read(): <13> Rx: $m2007ff80,40#fa +[46.309] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff80 +[46.309] write(): <13> Tx: $88ff07200b28000890ff0720e400002098ff072098ff0720c0ff0720f9fffffff80400207d000000f0ff0720f804002000000000f8040020c0ff0720f5700008#5d +[46.310] read(): <13> Rx: $m2007ff80,40#fa +[46.310] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff80 +[46.311] write(): <13> Tx: $88ff07200b28000890ff0720e400002098ff072098ff0720c0ff0720f9fffffff80400207d000000f0ff0720f804002000000000f8040020c0ff0720f5700008#5d +[47.045] read(): <13> Rx: $vCont;s:1;c#c1 +[47.045] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[47.051] handle_vCont_s(): handle_vCont_s, step thread +[47.051] write(): <13> Tx: $OK#9a +[47.062] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[47.062] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[47.067] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[47.068] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[47.068] read(): <13> Rx: $vStopped#55 +[47.068] write(): <13> Tx: $OK#9a +[47.068] read(): <13> Rx: $g#67 +[47.074] write(): <13> Tx: $f80400207d000000f0ff0720f8040020000000000000000000000000b0ff07200000000000000000000000000000000000000000b0ff0720c9650008ec0500080000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff1000000000000000000000000000000000000000b0ff072000000000#57 +[47.074] read(): <13> Rx: $m80005ec,4#92 +[47.074] handlePacket(): Reading 0x4 bytes of memory from addr 0x80005ec +[47.075] write(): <13> Tx: $80b400af#25 +[47.075] read(): <13> Rx: $m80065c8,4#6b +[47.075] handlePacket(): Reading 0x4 bytes of memory from addr 0x80065c8 +[47.075] write(): <13> Tx: $03461846#a0 +[47.075] read(): <13> Rx: $m80005c0,40#8d +[47.075] handlePacket(): Reading 0x40 bytes of memory from addr 0x80005c0 +[47.076] write(): <13> Tx: $0000002080b400af064b1b781a46064b1b681344044a136000bfbd465df8047b704700bf04000020bc0b002080b400af034b1b681846bd465df8047b704700bf#a2 +[47.076] read(): <13> Rx: $m8000600,4#2b +[47.076] handlePacket(): Reading 0x4 bytes of memory from addr 0x8000600 +[47.076] write(): <13> Tx: $bc0b0020#19 +[47.076] read(): <13> Rx: $m80005f0,2#5e +[47.076] handlePacket(): Reading 0x2 bytes of memory from addr 0x80005f0 +[47.077] write(): <13> Tx: $034b#f9 +[47.077] read(): <13> Rx: $Z1,80005f0,2#a8 +[47.077] write(): <13> Tx: $OK#9a +[47.077] read(): <13> Rx: $vCont;c#a8 +[47.085] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[47.090] handle_vCont_c(): handle_vCont_c, continue thread +[47.090] write(): <13> Tx: $OK#9a +[47.101] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[47.101] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[47.107] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000003 +[47.109] write(): <13> Tx: %Stop:T05hwbreak:;thread:1;core:0;#7e +[47.134] read(): <13> Rx: $vStopped#55 +[47.134] write(): <13> Tx: $OK#9a +[47.135] read(): <13> Rx: $g#67 +[47.142] write(): <13> Tx: $e40200207d0000006b460000e402002000000000000000000000000034ff0720000000000000000000000000000000000000000034ff0720e7450008f00500082d00006100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff100000000000000000000000000000000000000034ff072000000000#67 +[47.142] read(): <13> Rx: $z1,80005f0,2#c8 +[47.143] write(): <13> Tx: $OK#9a +[47.143] read(): <13> Rx: $m80005f0,4#60 +[47.143] handlePacket(): Reading 0x4 bytes of memory from addr 0x80005f0 +[47.144] write(): <13> Tx: $034b1b68#fa +[47.283] read(): <13> Rx: $m80045e6,4#69 +[47.283] handlePacket(): Reading 0x4 bytes of memory from addr 0x80045e6 +[47.284] write(): <13> Tx: $02467b68#d3 +[47.284] read(): <13> Rx: $m2007ff00,40#f2 +[47.284] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff00 +[47.285] write(): <13> Tx: $000000000000000000000000000000000000000000000000000000000000000064ff072028ff07204a46000030ff07206b46000038ff072040000000e4020020#b8 +[47.285] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[47.285] write(): <13> Tx: $l#8b +[47.288] read(): <13> Rx: $m200004f0,4#89 +[47.288] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[47.288] write(): <13> Tx: $00000000#80 +[47.355] read(): <13> Rx: $m2007ff40,40#f6 +[47.355] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff40 +[47.356] write(): <13> Tx: $48ff07201746000864000000e40200206400000017460c0008000020a401002068ff07202d6e000800000000e400002078ff07200b28000880ff0720e4000020#2a +[47.356] read(): <13> Rx: $m8004616,4#36 +[47.356] handlePacket(): Reading 0x4 bytes of memory from addr 0x8004616 +[47.357] write(): <13> Tx: $7b68db68#3b +[47.357] read(): <13> Rx: $m8006e2c,4#95 +[47.357] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006e2c +[47.357] write(): <13> Tx: $f0ee407a#5c +[47.378] read(): <13> Rx: $m800280a,4#60 +[47.378] handlePacket(): Reading 0x4 bytes of memory from addr 0x800280a +[47.379] write(): <13> Tx: $7b681b68#08 +[47.379] read(): <13> Rx: $m2007ff80,40#fa +[47.379] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff80 +[47.380] write(): <13> Tx: $88ff0720277e0008b0ff0720f9fffffff80400207d000000f0ff0720f804002000000000c9650008ec0500080000000100000000f8040020c0ff0720f5700008#65 +[47.401] read(): <13> Rx: $m8007e26,4#69 +[47.401] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007e26 +[47.402] write(): <13> Tx: $00bf80bd#56 +[47.402] read(): <13> Rx: $m2007ffac,4#26 +[47.402] handlePacket(): Reading 0x4 bytes of memory from addr 0x2007ffac +[47.402] write(): <13> Tx: $00000001#81 +[47.403] read(): <13> Rx: $m80005ec,4#92 +[47.403] handlePacket(): Reading 0x4 bytes of memory from addr 0x80005ec +[47.403] write(): <13> Tx: $80b400af#25 +[47.403] read(): <13> Rx: $m80065c8,4#6b +[47.403] handlePacket(): Reading 0x4 bytes of memory from addr 0x80065c8 +[47.403] write(): <13> Tx: $03461846#a0 +[47.403] read(): <13> Rx: $m80070f4,4#66 +[47.403] handlePacket(): Reading 0x4 bytes of memory from addr 0x80070f4 +[47.404] write(): <13> Tx: $f8607b68#0b +[47.404] read(): <13> Rx: $m2007ffc0,40#25 +[47.404] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[47.404] write(): <13> Tx: $f0ff0720f40400200000000089670008d8ff072089670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#57 +[47.405] read(): <13> Rx: $m8006788,4#42 +[47.405] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006788 +[47.405] write(): <13> Tx: $4ff47a70#33 +[47.405] read(): <13> Rx: $m8007fda,4#c7 +[47.405] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fda +[47.406] write(): <13> Tx: $70470000#92 +[47.406] read(): <13> Rx: $m8007f80,40#9a +[47.406] handlePacket(): Reading 0x40 bytes of memory from addr 0x8007f80 +[47.406] write(): <13> Tx: $1a68bb681a447b681a603b68fa681a6000bf1437bd465df8047b7047834b040000ca9a3bdff834d0002103e00c4b5b58435004310b480c4b42189a42f6d30b4a#cf +[47.406] read(): <13> Rx: $m8007fdc,4#c9 +[47.406] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fdc +[47.407] write(): <13> Tx: $00000820#8a +[47.423] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[47.424] write(): <13> Tx: $l#8b +[47.424] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[47.424] write(): <13> Tx: $l#8b +[47.850] read(): <13> Rx: $vCont;s:1;c#c1 +[47.851] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[47.857] handle_vCont_s(): handle_vCont_s, step thread +[47.858] write(): <13> Tx: $OK#9a +[47.868] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[47.868] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[47.874] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[47.874] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[47.875] read(): <13> Rx: $vStopped#55 +[47.875] write(): <13> Tx: $OK#9a +[47.875] read(): <13> Rx: $g#67 +[47.881] write(): <13> Tx: $e40200207d0000006b460000bc0b002000000000000000000000000034ff0720000000000000000000000000000000000000000034ff0720e7450008f20500082d00006100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff100000000000000000000000000000000000000034ff072000000000#c5 +[47.882] read(): <13> Rx: $vCont;s:1;c#c1 +[47.892] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[47.898] handle_vCont_s(): handle_vCont_s, step thread +[47.899] write(): <13> Tx: $OK#9a +[47.909] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[47.909] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[47.915] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[47.915] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[47.942] read(): <13> Rx: $vStopped#55 +[47.942] write(): <13> Tx: $OK#9a +[47.942] read(): <13> Rx: $g#67 +[47.949] write(): <13> Tx: $e40200207d0000006b4600006c46000000000000000000000000000034ff0720000000000000000000000000000000000000000034ff0720e7450008f40500082d00006100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff100000000000000000000000000000000000000034ff072000000000#71 +[47.949] read(): <13> Rx: $m80005f4,4#64 +[47.949] handlePacket(): Reading 0x4 bytes of memory from addr 0x80005f4 +[47.950] write(): <13> Tx: $1846bd46#03 +[47.950] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[47.950] write(): <13> Tx: $l#8b +[47.960] read(): <13> Rx: $m200004f0,4#89 +[47.960] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[47.961] write(): <13> Tx: $00000000#80 +[47.983] read(): <13> Rx: $m80045e6,4#69 +[47.983] handlePacket(): Reading 0x4 bytes of memory from addr 0x80045e6 +[47.983] write(): <13> Tx: $02467b68#d3 +[47.983] read(): <13> Rx: $m2007ff00,40#f2 +[47.983] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff00 +[47.984] write(): <13> Tx: $000000000000000000000000000000000000000000000000000000000000000064ff072028ff07204a46000030ff07206b46000038ff072040000000e4020020#b8 +[47.984] read(): <13> Rx: $m2007ff40,40#f6 +[47.984] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff40 +[47.985] write(): <13> Tx: $48ff07201746000864000000e40200206400000017460c0008000020a401002068ff07202d6e000800000000e400002078ff07200b28000880ff0720e4000020#2a +[47.985] read(): <13> Rx: $m8004616,4#36 +[47.985] handlePacket(): Reading 0x4 bytes of memory from addr 0x8004616 +[47.985] write(): <13> Tx: $7b68db68#3b +[47.986] read(): <13> Rx: $m8006e2c,4#95 +[47.986] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006e2c +[47.986] write(): <13> Tx: $f0ee407a#5c +[47.986] read(): <13> Rx: $m800280a,4#60 +[47.986] handlePacket(): Reading 0x4 bytes of memory from addr 0x800280a +[47.987] write(): <13> Tx: $7b681b68#08 +[47.987] read(): <13> Rx: $m2007ff80,40#fa +[47.987] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff80 +[47.987] write(): <13> Tx: $88ff0720277e0008b0ff0720f9fffffff80400207d000000f0ff0720f804002000000000c9650008ec0500080000000100000000f8040020c0ff0720f5700008#65 +[47.987] read(): <13> Rx: $m8007e26,4#69 +[47.987] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007e26 +[47.988] write(): <13> Tx: $00bf80bd#56 +[47.988] read(): <13> Rx: $m2007ffac,4#26 +[47.988] handlePacket(): Reading 0x4 bytes of memory from addr 0x2007ffac +[47.989] write(): <13> Tx: $00000001#81 +[47.989] read(): <13> Rx: $m80005ec,4#92 +[47.989] handlePacket(): Reading 0x4 bytes of memory from addr 0x80005ec +[47.989] write(): <13> Tx: $80b400af#25 +[47.989] read(): <13> Rx: $m80065c8,4#6b +[47.989] handlePacket(): Reading 0x4 bytes of memory from addr 0x80065c8 +[47.989] write(): <13> Tx: $03461846#a0 +[47.989] read(): <13> Rx: $m80070f4,4#66 +[47.989] handlePacket(): Reading 0x4 bytes of memory from addr 0x80070f4 +[47.990] write(): <13> Tx: $f8607b68#0b +[47.990] read(): <13> Rx: $m2007ffc0,40#25 +[47.990] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[47.990] write(): <13> Tx: $f0ff0720f40400200000000089670008d8ff072089670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#57 +[47.990] read(): <13> Rx: $m8006788,4#42 +[47.990] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006788 +[47.991] write(): <13> Tx: $4ff47a70#33 +[47.991] read(): <13> Rx: $m8007fda,4#c7 +[47.991] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fda +[47.991] write(): <13> Tx: $70470000#92 +[47.991] read(): <13> Rx: $m8007f80,40#9a +[47.991] handlePacket(): Reading 0x40 bytes of memory from addr 0x8007f80 +[47.992] write(): <13> Tx: $1a68bb681a447b681a603b68fa681a6000bf1437bd465df8047b7047834b040000ca9a3bdff834d0002103e00c4b5b58435004310b480c4b42189a42f6d30b4a#cf +[47.992] read(): <13> Rx: $m8007fdc,4#c9 +[47.992] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fdc +[47.992] write(): <13> Tx: $00000820#8a +[48.015] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[48.015] write(): <13> Tx: $l#8b +[48.015] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[48.015] write(): <13> Tx: $l#8b +[48.447] read(): <13> Rx: $vCont;s:1;c#c1 +[48.448] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[48.512] handle_vCont_s(): handle_vCont_s, step thread +[48.512] write(): <13> Tx: $OK#9a +[48.523] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[48.523] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[48.529] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[48.529] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[48.529] read(): <13> Rx: $vStopped#55 +[48.529] write(): <13> Tx: $OK#9a +[48.530] read(): <13> Rx: $g#67 +[48.536] write(): <13> Tx: $6c4600007d0000006b4600006c46000000000000000000000000000034ff0720000000000000000000000000000000000000000034ff0720e7450008f60500082d00006100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff100000000000000000000000000000000000000034ff072000000000#79 +[48.536] read(): <13> Rx: $vCont;s:1;c#c1 +[48.537] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[48.544] handle_vCont_s(): handle_vCont_s, step thread +[48.544] write(): <13> Tx: $OK#9a +[48.555] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[48.555] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[48.561] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[48.562] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[48.586] read(): <13> Rx: $vStopped#55 +[48.586] write(): <13> Tx: $OK#9a +[48.586] read(): <13> Rx: $g#67 +[48.593] write(): <13> Tx: $6c4600007d0000006b4600006c46000000000000000000000000000034ff0720000000000000000000000000000000000000000034ff0720e7450008f80500082d00006100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff100000000000000000000000000000000000000034ff072000000000#7b +[48.593] read(): <13> Rx: $vCont;s:1;c#c1 +[48.593] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[48.600] handle_vCont_s(): handle_vCont_s, step thread +[48.600] write(): <13> Tx: $OK#9a +[48.611] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[48.611] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[48.616] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[48.617] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[48.642] read(): <13> Rx: $vStopped#55 +[48.642] write(): <13> Tx: $OK#9a +[48.643] read(): <13> Rx: $g#67 +[48.650] write(): <13> Tx: $6c4600007d0000006b4600006c46000000000000000000000000000038ff0720000000000000000000000000000000000000000038ff0720e7450008fc0500082d00006100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff100000000000000000000000000000000000000038ff072000000000#b2 +[48.650] read(): <13> Rx: $vCont;s:1;c#c1 +[48.650] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[48.657] handle_vCont_s(): handle_vCont_s, step thread +[48.657] write(): <13> Tx: $OK#9a +[48.668] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[48.668] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[48.674] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[48.674] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[48.698] read(): <13> Rx: $vStopped#55 +[48.699] write(): <13> Tx: $OK#9a +[48.699] read(): <13> Rx: $g#67 +[48.705] write(): <13> Tx: $6c4600007d0000006b4600006c46000000000000000000000000000038ff0720000000000000000000000000000000000000000038ff0720e7450008e64500082d00006100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff100000000000000000000000000000000000000038ff072000000000#88 +[48.706] read(): <13> Rx: $m80045e6,4#69 +[48.706] handlePacket(): Reading 0x4 bytes of memory from addr 0x80045e6 +[48.707] write(): <13> Tx: $02467b68#d3 +[48.707] read(): <13> Rx: $m2007ff40,40#f6 +[48.707] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff40 +[48.708] write(): <13> Tx: $48ff07201746000864000000e40200206400000017460c0008000020a401002068ff07202d6e000800000000e400002078ff07200b28000880ff0720e4000020#2a +[48.708] read(): <13> Rx: $m8004616,4#36 +[48.708] handlePacket(): Reading 0x4 bytes of memory from addr 0x8004616 +[48.709] write(): <13> Tx: $7b68db68#3b +[48.709] read(): <13> Rx: $vCont;s:1;c#c1 +[48.710] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[48.717] handle_vCont_s(): handle_vCont_s, step thread +[48.717] write(): <13> Tx: $OK#9a +[48.728] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[48.728] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[48.734] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[48.735] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[48.759] read(): <13> Rx: $vStopped#55 +[48.759] write(): <13> Tx: $OK#9a +[48.759] read(): <13> Rx: $g#67 +[48.766] write(): <13> Tx: $6c4600007d0000006c4600006c46000000000000000000000000000038ff0720000000000000000000000000000000000000000038ff0720e7450008e84500082d00006100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff100000000000000000000000000000000000000038ff072000000000#8b +[48.766] read(): <13> Rx: $vCont;s:1;c#c1 +[48.767] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[48.774] handle_vCont_s(): handle_vCont_s, step thread +[48.774] write(): <13> Tx: $OK#9a +[48.785] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[48.786] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[48.791] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[48.792] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[48.818] read(): <13> Rx: $vStopped#55 +[48.819] write(): <13> Tx: $OK#9a +[48.819] read(): <13> Rx: $g#67 +[48.826] write(): <13> Tx: $6c4600007d0000006c460000e402002000000000000000000000000038ff0720000000000000000000000000000000000000000038ff0720e7450008ea4500082d00006100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff100000000000000000000000000000000000000038ff072000000000#ae +[48.826] read(): <13> Rx: $vCont;s:1;c#c1 +[48.826] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[48.834] handle_vCont_s(): handle_vCont_s, step thread +[48.834] write(): <13> Tx: $OK#9a +[48.845] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[48.845] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[48.851] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[48.852] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[48.874] read(): <13> Rx: $vStopped#55 +[48.874] write(): <13> Tx: $OK#9a +[48.875] read(): <13> Rx: $g#67 +[48.882] write(): <13> Tx: $6c4600007d0000006c460000e402002000000000000000000000000038ff0720000000000000000000000000000000000000000038ff0720e7450008ec4500082d00006100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff100000000000000000000000000000000000000038ff072000000000#b0 +[48.882] read(): <13> Rx: $m80045ec,4#96 +[48.882] handlePacket(): Reading 0x4 bytes of memory from addr 0x80045ec +[48.883] write(): <13> Tx: $7868fff7#46 +[48.884] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[48.884] write(): <13> Tx: $l#8b +[48.884] read(): <13> Rx: $m2007ff40,40#f6 +[48.884] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff40 +[48.885] write(): <13> Tx: $48ff07201746000864000000e40200206400000017460c0008000020a401002068ff07202d6e000800000000e400002078ff07200b28000880ff0720e4000020#2a +[48.886] read(): <13> Rx: $m8004616,4#36 +[48.886] handlePacket(): Reading 0x4 bytes of memory from addr 0x8004616 +[48.887] write(): <13> Tx: $7b68db68#3b +[48.887] read(): <13> Rx: $m2007ff00,40#f2 +[48.887] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff00 +[48.888] write(): <13> Tx: $000000000000000000000000000000000000000000000000000000000000000064ff072028ff07204a46000030ff07206b46000038ff072040000000e4020020#b8 +[48.902] read(): <13> Rx: $m200004f0,4#89 +[48.902] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[48.903] write(): <13> Tx: $00000000#80 +[48.906] read(): <13> Rx: $m2007ff40,40#f6 +[48.906] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff40 +[48.907] write(): <13> Tx: $48ff07201746000864000000e40200206400000017460c0008000020a401002068ff07202d6e000800000000e400002078ff07200b28000880ff0720e4000020#2a +[48.907] read(): <13> Rx: $m8006e2c,4#95 +[48.907] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006e2c +[48.908] write(): <13> Tx: $f0ee407a#5c +[48.908] read(): <13> Rx: $m800280a,4#60 +[48.908] handlePacket(): Reading 0x4 bytes of memory from addr 0x800280a +[48.910] write(): <13> Tx: $7b681b68#08 +[48.910] read(): <13> Rx: $m2007ff80,40#fa +[48.910] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff80 +[48.911] write(): <13> Tx: $88ff0720277e0008b0ff0720f9fffffff80400207d000000f0ff0720f804002000000000c9650008ec0500080000000100000000f8040020c0ff0720f5700008#65 +[48.911] read(): <13> Rx: $m8007e26,4#69 +[48.911] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007e26 +[48.912] write(): <13> Tx: $00bf80bd#56 +[48.912] read(): <13> Rx: $m2007ffac,4#26 +[48.912] handlePacket(): Reading 0x4 bytes of memory from addr 0x2007ffac +[48.913] write(): <13> Tx: $00000001#81 +[48.913] read(): <13> Rx: $m80005ec,4#92 +[48.913] handlePacket(): Reading 0x4 bytes of memory from addr 0x80005ec +[48.913] write(): <13> Tx: $80b400af#25 +[48.913] read(): <13> Rx: $m80065c8,4#6b +[48.913] handlePacket(): Reading 0x4 bytes of memory from addr 0x80065c8 +[48.914] write(): <13> Tx: $03461846#a0 +[48.914] read(): <13> Rx: $m80070f4,4#66 +[48.914] handlePacket(): Reading 0x4 bytes of memory from addr 0x80070f4 +[48.915] write(): <13> Tx: $f8607b68#0b +[48.915] read(): <13> Rx: $m2007ffc0,40#25 +[48.915] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[48.916] write(): <13> Tx: $f0ff0720f40400200000000089670008d8ff072089670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#57 +[48.916] read(): <13> Rx: $m8006788,4#42 +[48.916] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006788 +[48.916] write(): <13> Tx: $4ff47a70#33 +[48.917] read(): <13> Rx: $m8007fda,4#c7 +[48.917] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fda +[48.917] write(): <13> Tx: $70470000#92 +[48.917] read(): <13> Rx: $m8007f80,40#9a +[48.917] handlePacket(): Reading 0x40 bytes of memory from addr 0x8007f80 +[48.918] write(): <13> Tx: $1a68bb681a447b681a603b68fa681a6000bf1437bd465df8047b7047834b040000ca9a3bdff834d0002103e00c4b5b58435004310b480c4b42189a42f6d30b4a#cf +[48.918] read(): <13> Rx: $m8007fdc,4#c9 +[48.918] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fdc +[48.918] write(): <13> Tx: $00000820#8a +[49.109] read(): <13> Rx: $m2007ff00,40#f2 +[49.109] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff00 +[49.110] write(): <13> Tx: $000000000000000000000000000000000000000000000000000000000000000064ff072028ff07204a46000030ff07206b46000038ff072040000000e4020020#b8 +[49.117] read(): <13> Rx: $vCont;s:1;c#c1 +[49.118] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[49.124] handle_vCont_s(): handle_vCont_s, step thread +[49.124] write(): <13> Tx: $OK#9a +[49.135] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[49.135] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[49.140] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[49.140] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[49.166] read(): <13> Rx: $vStopped#55 +[49.166] write(): <13> Tx: $OK#9a +[49.166] read(): <13> Rx: $g#67 +[49.173] write(): <13> Tx: $e40200207d0000006c460000e402002000000000000000000000000038ff0720000000000000000000000000000000000000000038ff0720e7450008ee4500082d00006100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff100000000000000000000000000000000000000038ff072000000000#ac +[49.173] read(): <13> Rx: $vCont;s:1;c#c1 +[49.173] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[49.179] handle_vCont_s(): handle_vCont_s, step thread +[49.179] write(): <13> Tx: $OK#9a +[49.179] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[49.179] write(): <13> Tx: $l#8b +[49.180] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[49.180] write(): <13> Tx: $l#8b +[49.188] read(): <13> Rx: $T1#85 +[49.188] write(): <13> Tx: $OK#9a +[49.188] read(): <13> Rx: $T1#85 +[49.188] write(): <13> Tx: $OK#9a +[49.198] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[49.198] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[49.204] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[49.204] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[49.230] read(): <13> Rx: $vStopped#55 +[49.230] write(): <13> Tx: $OK#9a +[49.230] read(): <13> Rx: $g#67 +[49.237] write(): <13> Tx: $e40200207d0000006c460000e402002000000000000000000000000038ff0720000000000000000000000000000000000000000038ff0720f3450008164500082d00006100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff100000000000000000000000000000000000000038ff072000000000#46 +[49.237] read(): <13> Rx: $m8004516,4#35 +[49.237] handlePacket(): Reading 0x4 bytes of memory from addr 0x8004516 +[49.238] write(): <13> Tx: $80b485b0#fd +[49.238] read(): <13> Rx: $m80045f2,4#66 +[49.238] handlePacket(): Reading 0x4 bytes of memory from addr 0x80045f2 +[49.238] write(): <13> Tx: $02467b68#d3 +[49.239] read(): <13> Rx: $m8004500,40#5e +[49.239] handlePacket(): Reading 0x40 bytes of memory from addr 0x8004500 +[49.239] write(): <13> Tx: $5a677b6800225a66786802f0b9fc00bf0837bd4680bd80b485b000af78607b681b681b685a6a7b681b68db685b08d31afb60fb6818461437bd465df8047b7047#30 +[49.239] read(): <13> Rx: $m800451e,2#62 +[49.239] handlePacket(): Reading 0x2 bytes of memory from addr 0x800451e +[49.240] write(): <13> Tx: $7b68#07 +[49.240] read(): <13> Rx: $Z1,800451e,2#ac +[49.240] write(): <13> Tx: $OK#9a +[49.240] read(): <13> Rx: $vCont;c#a8 +[49.240] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[49.246] handle_vCont_c(): handle_vCont_c, continue thread +[49.246] write(): <13> Tx: $OK#9a +[49.256] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[49.256] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[49.261] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000003 +[49.262] write(): <13> Tx: %Stop:T05hwbreak:;thread:1;core:0;#7e +[49.286] read(): <13> Rx: $vStopped#55 +[49.286] write(): <13> Tx: $OK#9a +[49.286] read(): <13> Rx: $g#67 +[49.293] write(): <13> Tx: $e40200207d0000006c460000e402002000000000000000000000000020ff0720000000000000000000000000000000000000000020ff0720f34500081e4500082d00006100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff100000000000000000000000000000000000000020ff072000000000#5a +[49.293] read(): <13> Rx: $z1,800451e,2#cc +[49.293] write(): <13> Tx: $OK#9a +[49.293] read(): <13> Rx: $m800451e,4#64 +[49.293] handlePacket(): Reading 0x4 bytes of memory from addr 0x800451e +[49.294] write(): <13> Tx: $7b681b68#08 +[49.294] read(): <13> Rx: $m80045f2,4#66 +[49.294] handlePacket(): Reading 0x4 bytes of memory from addr 0x80045f2 +[49.295] write(): <13> Tx: $02467b68#d3 +[49.295] read(): <13> Rx: $m2007ff00,40#f2 +[49.295] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff00 +[49.295] write(): <13> Tx: $000000000000000000000000000000000000000000000000000000000000000064ff0720e40200204a46000030ff07206b46000038ff072040000000e4020020#76 +[49.295] read(): <13> Rx: $m8004500,40#5e +[49.295] handlePacket(): Reading 0x40 bytes of memory from addr 0x8004500 +[49.296] write(): <13> Tx: $5a677b6800225a66786802f0b9fc00bf0837bd4680bd80b485b000af78607b681b681b685a6a7b681b68db685b08d31afb60fb6818461437bd465df8047b7047#30 +[49.296] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[49.296] write(): <13> Tx: $l#8b +[49.312] read(): <13> Rx: $m200004f0,4#89 +[49.312] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[49.313] write(): <13> Tx: $00000000#80 +[49.324] read(): <13> Rx: $m2007ff40,40#f6 +[49.324] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff40 +[49.325] write(): <13> Tx: $48ff07201746000864000000e40200206400000017460c0008000020a401002068ff07202d6e000800000000e400002078ff07200b28000880ff0720e4000020#2a +[49.325] read(): <13> Rx: $m8004616,4#36 +[49.325] handlePacket(): Reading 0x4 bytes of memory from addr 0x8004616 +[49.327] write(): <13> Tx: $7b68db68#3b +[49.327] read(): <13> Rx: $m8006e2c,4#95 +[49.327] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006e2c +[49.327] write(): <13> Tx: $f0ee407a#5c +[49.328] read(): <13> Rx: $m800280a,4#60 +[49.328] handlePacket(): Reading 0x4 bytes of memory from addr 0x800280a +[49.328] write(): <13> Tx: $7b681b68#08 +[49.328] read(): <13> Rx: $m2007ff80,40#fa +[49.328] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff80 +[49.329] write(): <13> Tx: $88ff0720277e0008b0ff0720f9fffffff80400207d000000f0ff0720f804002000000000c9650008ec0500080000000100000000f8040020c0ff0720f5700008#65 +[49.329] read(): <13> Rx: $m8007e26,4#69 +[49.329] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007e26 +[49.329] write(): <13> Tx: $00bf80bd#56 +[49.330] read(): <13> Rx: $m2007ffac,4#26 +[49.330] handlePacket(): Reading 0x4 bytes of memory from addr 0x2007ffac +[49.330] write(): <13> Tx: $00000001#81 +[49.330] read(): <13> Rx: $m80005ec,4#92 +[49.330] handlePacket(): Reading 0x4 bytes of memory from addr 0x80005ec +[49.330] write(): <13> Tx: $80b400af#25 +[49.330] read(): <13> Rx: $m80065c8,4#6b +[49.330] handlePacket(): Reading 0x4 bytes of memory from addr 0x80065c8 +[49.331] write(): <13> Tx: $03461846#a0 +[49.331] read(): <13> Rx: $m80070f4,4#66 +[49.331] handlePacket(): Reading 0x4 bytes of memory from addr 0x80070f4 +[49.331] write(): <13> Tx: $f8607b68#0b +[49.331] read(): <13> Rx: $m2007ffc0,40#25 +[49.331] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[49.332] write(): <13> Tx: $f0ff0720f40400200000000089670008d8ff072089670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#57 +[49.332] read(): <13> Rx: $m8006788,4#42 +[49.332] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006788 +[49.332] write(): <13> Tx: $4ff47a70#33 +[49.332] read(): <13> Rx: $m8007fda,4#c7 +[49.332] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fda +[49.333] write(): <13> Tx: $70470000#92 +[49.333] read(): <13> Rx: $m8007f80,40#9a +[49.333] handlePacket(): Reading 0x40 bytes of memory from addr 0x8007f80 +[49.333] write(): <13> Tx: $1a68bb681a447b681a603b68fa681a6000bf1437bd465df8047b7047834b040000ca9a3bdff834d0002103e00c4b5b58435004310b480c4b42189a42f6d30b4a#cf +[49.333] read(): <13> Rx: $m8007fdc,4#c9 +[49.333] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fdc +[49.334] write(): <13> Tx: $00000820#8a +[49.360] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[49.360] write(): <13> Tx: $l#8b +[49.361] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[49.361] write(): <13> Tx: $l#8b +[49.361] read(): <13> Rx: $m2007ff00,40#f2 +[49.361] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff00 +[49.362] write(): <13> Tx: $000000000000000000000000000000000000000000000000000000000000000064ff0720e40200204a46000030ff07206b46000038ff072040000000e4020020#76 +[49.722] read(): <13> Rx: $m2007ff00,40#f2 +[49.722] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff00 +[49.722] write(): <13> Tx: $000000000000000000000000000000000000000000000000000000000000000064ff0720e40200204a46000030ff07206b46000038ff072040000000e4020020#76 +[49.751] read(): <13> Rx: $m2007ff00,40#f2 +[49.752] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff00 +[49.752] write(): <13> Tx: $000000000000000000000000000000000000000000000000000000000000000064ff0720e40200204a46000030ff07206b46000038ff072040000000e4020020#76 +[49.752] read(): <13> Rx: $m2007ff00,40#f2 +[49.752] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff00 +[49.753] write(): <13> Tx: $000000000000000000000000000000000000000000000000000000000000000064ff0720e40200204a46000030ff07206b46000038ff072040000000e4020020#76 +[50.195] read(): <13> Rx: $vCont;s:1;c#c1 +[50.195] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[50.201] handle_vCont_s(): handle_vCont_s, step thread +[50.201] write(): <13> Tx: $OK#9a +[50.212] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[50.212] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[50.217] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[50.218] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[50.218] read(): <13> Rx: $vStopped#55 +[50.218] write(): <13> Tx: $OK#9a +[50.218] read(): <13> Rx: $g#67 +[50.224] write(): <13> Tx: $e40200207d0000006c460000e402002000000000000000000000000020ff0720000000000000000000000000000000000000000020ff0720f3450008204500082d00006100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff100000000000000000000000000000000000000020ff072000000000#26 +[50.224] read(): <13> Rx: $vCont;s:1;c#c1 +[50.235] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[50.241] handle_vCont_s(): handle_vCont_s, step thread +[50.242] write(): <13> Tx: $OK#9a +[50.252] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[50.252] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[50.258] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[50.258] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[50.282] read(): <13> Rx: $vStopped#55 +[50.282] write(): <13> Tx: $OK#9a +[50.283] read(): <13> Rx: $g#67 +[50.289] write(): <13> Tx: $e40200207d0000006c460000a400002000000000000000000000000020ff0720000000000000000000000000000000000000000020ff0720f3450008224500082d00006100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff100000000000000000000000000000000000000020ff072000000000#22 +[50.289] read(): <13> Rx: $vCont;s:1;c#c1 +[50.290] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[50.296] handle_vCont_s(): handle_vCont_s, step thread +[50.297] write(): <13> Tx: $OK#9a +[50.307] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[50.307] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[50.313] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[50.314] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[50.338] read(): <13> Rx: $vStopped#55 +[50.339] write(): <13> Tx: $OK#9a +[50.339] read(): <13> Rx: $g#67 +[50.345] write(): <13> Tx: $e40200207d0000006c4600000000004000000000000000000000000020ff0720000000000000000000000000000000000000000020ff0720f3450008244500082d00006100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff100000000000000000000000000000000000000020ff072000000000#f1 +[50.346] read(): <13> Rx: $vCont;s:1;c#c1 +[50.346] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[50.353] handle_vCont_s(): handle_vCont_s, step thread +[50.353] write(): <13> Tx: $OK#9a +[50.364] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[50.364] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[50.370] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[50.371] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[50.394] read(): <13> Rx: $vStopped#55 +[50.394] write(): <13> Tx: $OK#9a +[50.395] read(): <13> Rx: $g#67 +[50.401] write(): <13> Tx: $e40200207d000000ffffff7f0000004000000000000000000000000020ff0720000000000000000000000000000000000000000020ff0720f3450008264500082d00006100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff100000000000000000000000000000000000000020ff072000000000#31 +[50.402] read(): <13> Rx: $vCont;s:1;c#c1 +[50.402] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[50.410] handle_vCont_s(): handle_vCont_s, step thread +[50.410] write(): <13> Tx: $OK#9a +[50.420] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[50.420] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[50.426] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[50.427] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[50.450] read(): <13> Rx: $vStopped#55 +[50.450] write(): <13> Tx: $OK#9a +[50.451] read(): <13> Rx: $g#67 +[50.457] write(): <13> Tx: $e40200207d000000ffffff7fe402002000000000000000000000000020ff0720000000000000000000000000000000000000000020ff0720f3450008284500082d00006100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff100000000000000000000000000000000000000020ff072000000000#6c +[50.458] read(): <13> Rx: $vCont;s:1;c#c1 +[50.458] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[50.465] handle_vCont_s(): handle_vCont_s, step thread +[50.465] write(): <13> Tx: $OK#9a +[50.476] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[50.476] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[50.482] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[50.483] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[50.506] read(): <13> Rx: $vStopped#55 +[50.506] write(): <13> Tx: $OK#9a +[50.507] read(): <13> Rx: $g#67 +[50.513] write(): <13> Tx: $e40200207d000000ffffff7fa400002000000000000000000000000020ff0720000000000000000000000000000000000000000020ff0720f34500082a4500082d00006100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff100000000000000000000000000000000000000020ff072000000000#8f +[50.514] read(): <13> Rx: $vCont;s:1;c#c1 +[50.514] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[50.521] handle_vCont_s(): handle_vCont_s, step thread +[50.521] write(): <13> Tx: $OK#9a +[50.532] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[50.532] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[50.537] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[50.538] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[50.562] read(): <13> Rx: $vStopped#55 +[50.562] write(): <13> Tx: $OK#9a +[50.563] read(): <13> Rx: $g#67 +[50.569] write(): <13> Tx: $e40200207d000000ffffff7fffffffff00000000000000000000000020ff0720000000000000000000000000000000000000000020ff0720f34500082c4500082d00006100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff100000000000000000000000000000000000000020ff072000000000#0a +[50.570] read(): <13> Rx: $vCont;s:1;c#c1 +[50.570] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[50.577] handle_vCont_s(): handle_vCont_s, step thread +[50.577] write(): <13> Tx: $OK#9a +[50.587] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[50.587] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[50.593] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[50.593] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[50.618] read(): <13> Rx: $vStopped#55 +[50.618] write(): <13> Tx: $OK#9a +[50.618] read(): <13> Rx: $g#67 +[50.625] write(): <13> Tx: $e40200207d000000ffffff7fffffff7f00000000000000000000000020ff0720000000000000000000000000000000000000000020ff0720f34500082e4500082d00002100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff100000000000000000000000000000000000000020ff072000000000#d9 +[50.625] read(): <13> Rx: $vCont;s:1;c#c1 +[50.625] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[50.632] handle_vCont_s(): handle_vCont_s, step thread +[50.632] write(): <13> Tx: $OK#9a +[50.642] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[50.642] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[50.648] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[50.648] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[50.675] read(): <13> Rx: $vStopped#55 +[50.675] write(): <13> Tx: $OK#9a +[50.675] read(): <13> Rx: $g#67 +[50.682] write(): <13> Tx: $e40200207d000000ffffff7f0000000000000000000000000000000020ff0720000000000000000000000000000000000000000020ff0720f3450008304500082d00006100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff100000000000000000000000000000000000000020ff072000000000#28 +[50.682] read(): <13> Rx: $vCont;s:1;c#c1 +[50.683] SWV_SetStatus(): SWV_SetStatus(true): stop_reply_pending == 0 +[50.689] handle_vCont_s(): handle_vCont_s, step thread +[50.689] write(): <13> Tx: $OK#9a +[50.699] SWV_SetStatus(): SWV_SetStatus(false): stop_reply_pending == 1 +[50.699] handleGDBConnection(): TraceCaptureStart and SWV event set to APP_FALSE (0) +[50.705] Device_GetHaltReason(): NVIC_DFSR_REG = 0x00000001 +[50.705] write(): <13> Tx: %Stop:T05thread:1;core:0;#25 +[50.730] read(): <13> Rx: $vStopped#55 +[50.730] write(): <13> Tx: $OK#9a +[50.730] read(): <13> Rx: $g#67 +[50.737] write(): <13> Tx: $e40200207d000000ffffff7f0000000000000000000000000000000020ff0720000000000000000000000000000000000000000020ff0720f3450008324500082d00006100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f12833a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff100000000000000000000000000000000000000020ff072000000000#2a +[50.737] read(): <13> Rx: $m8004532,4#33 +[50.737] handlePacket(): Reading 0x4 bytes of memory from addr 0x8004532 +[50.738] write(): <13> Tx: $fb681846#09 +[50.738] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[50.738] write(): <13> Tx: $l#8b +[50.738] read(): <13> Rx: $m80045f2,4#66 +[50.738] handlePacket(): Reading 0x4 bytes of memory from addr 0x80045f2 +[50.739] write(): <13> Tx: $02467b68#d3 +[50.739] read(): <13> Rx: $m2007ff00,40#f2 +[50.739] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff00 +[50.740] write(): <13> Tx: $000000000000000000000000000000000000000000000000000000000000000064ff0720e40200204a460000000000006b46000038ff072040000000e4020020#fe +[50.740] read(): <13> Rx: $T1#85 +[50.740] write(): <13> Tx: $OK#9a +[50.740] read(): <13> Rx: $T1#85 +[50.740] write(): <13> Tx: $OK#9a +[50.740] read(): <13> Rx: $m2007ff00,40#f2 +[50.740] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff00 +[50.741] write(): <13> Tx: $000000000000000000000000000000000000000000000000000000000000000064ff0720e40200204a460000000000006b46000038ff072040000000e4020020#fe +[50.760] read(): <13> Rx: $m200004f0,4#89 +[50.760] handlePacket(): Reading 0x4 bytes of memory from addr 0x200004f0 +[50.760] write(): <13> Tx: $00000000#80 +[50.762] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[50.763] write(): <13> Tx: $l#8b +[50.763] read(): <13> Rx: $m2007ff00,40#f2 +[50.763] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff00 +[50.764] write(): <13> Tx: $000000000000000000000000000000000000000000000000000000000000000064ff0720e40200204a460000000000006b46000038ff072040000000e4020020#fe +[50.765] read(): <13> Rx: $m2007ff40,40#f6 +[50.765] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff40 +[50.765] write(): <13> Tx: $48ff07201746000864000000e40200206400000017460c0008000020a401002068ff07202d6e000800000000e400002078ff07200b28000880ff0720e4000020#2a +[50.765] read(): <13> Rx: $m8004616,4#36 +[50.765] handlePacket(): Reading 0x4 bytes of memory from addr 0x8004616 +[50.766] write(): <13> Tx: $7b68db68#3b +[50.766] read(): <13> Rx: $m8006e2c,4#95 +[50.766] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006e2c +[50.766] write(): <13> Tx: $f0ee407a#5c +[50.767] read(): <13> Rx: $m800280a,4#60 +[50.767] handlePacket(): Reading 0x4 bytes of memory from addr 0x800280a +[50.767] write(): <13> Tx: $7b681b68#08 +[50.767] read(): <13> Rx: $m2007ff80,40#fa +[50.767] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff80 +[50.768] write(): <13> Tx: $88ff0720277e0008b0ff0720f9fffffff80400207d000000f0ff0720f804002000000000c9650008ec0500080000000100000000f8040020c0ff0720f5700008#65 +[50.768] read(): <13> Rx: $m8007e26,4#69 +[50.768] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007e26 +[50.769] write(): <13> Tx: $00bf80bd#56 +[50.769] read(): <13> Rx: $m2007ffac,4#26 +[50.769] handlePacket(): Reading 0x4 bytes of memory from addr 0x2007ffac +[50.769] write(): <13> Tx: $00000001#81 +[50.769] read(): <13> Rx: $m80005ec,4#92 +[50.769] handlePacket(): Reading 0x4 bytes of memory from addr 0x80005ec +[50.769] write(): <13> Tx: $80b400af#25 +[50.769] read(): <13> Rx: $m80065c8,4#6b +[50.769] handlePacket(): Reading 0x4 bytes of memory from addr 0x80065c8 +[50.770] write(): <13> Tx: $03461846#a0 +[50.770] read(): <13> Rx: $m80070f4,4#66 +[50.770] handlePacket(): Reading 0x4 bytes of memory from addr 0x80070f4 +[50.770] write(): <13> Tx: $f8607b68#0b +[50.770] read(): <13> Rx: $m2007ffc0,40#25 +[50.770] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ffc0 +[50.771] write(): <13> Tx: $f0ff0720f40400200000000089670008d8ff072089670008010000002c860008f0ff07207d000000f404002000000000b08600080800002000000000db7f0008#57 +[50.771] read(): <13> Rx: $m8006788,4#42 +[50.771] handlePacket(): Reading 0x4 bytes of memory from addr 0x8006788 +[50.771] write(): <13> Tx: $4ff47a70#33 +[50.771] read(): <13> Rx: $m8007fda,4#c7 +[50.771] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fda +[50.772] write(): <13> Tx: $70470000#92 +[50.772] read(): <13> Rx: $m8007f80,40#9a +[50.772] handlePacket(): Reading 0x40 bytes of memory from addr 0x8007f80 +[50.773] write(): <13> Tx: $1a68bb681a447b681a603b68fa681a6000bf1437bd465df8047b7047834b040000ca9a3bdff834d0002103e00c4b5b58435004310b480c4b42189a42f6d30b4a#cf +[50.773] read(): <13> Rx: $m8007fdc,4#c9 +[50.773] handlePacket(): Reading 0x4 bytes of memory from addr 0x8007fdc +[50.773] write(): <13> Tx: $00000820#8a +[50.815] read(): <13> Rx: $qXfer:threads:read::0,bfb#fb +[50.815] write(): <13> Tx: $l#8b +[50.862] read(): <13> Rx: $m2007ff00,40#f2 +[50.862] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff00 +[50.863] write(): <13> Tx: $000000000000000000000000000000000000000000000000000000000000000064ff0720e40200204a460000000000006b46000038ff072040000000e4020020#fe +[50.887] read(): <13> Rx: $m2007ff00,40#f2 +[50.887] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff00 +[50.888] write(): <13> Tx: $000000000000000000000000000000000000000000000000000000000000000064ff0720e40200204a460000000000006b46000038ff072040000000e4020020#fe +[50.888] read(): <13> Rx: $m2007ff00,40#f2 +[50.888] handlePacket(): Reading 0x40 bytes of memory from addr 0x2007ff00 +[50.889] write(): <13> Tx: $000000000000000000000000000000000000000000000000000000000000000064ff0720e40200204a460000000000006b46000038ff072040000000e4020020#fe +[52.343] read(): <13> Rx: $vKill;a410#33 +[52.343] handlePacket(): Hidden/Unsupported v-command 'vKill', see RSP for details +[52.343] write(): <13> Tx: $#00 +[52.343] read(): <13> Rx: $k#6b +[52.343] stop(): Stopping port 61235 diff --git a/otto_controller_source/Inc/stm32f7xx_it.h b/otto_controller_source/Inc/stm32f7xx_it.h index 7239bad..7fe970c 100644 --- a/otto_controller_source/Inc/stm32f7xx_it.h +++ b/otto_controller_source/Inc/stm32f7xx_it.h @@ -60,6 +60,8 @@ void DMA1_Stream1_IRQHandler(void); void DMA1_Stream3_IRQHandler(void); void TIM3_IRQHandler(void); void USART3_IRQHandler(void); +void DMA2_Stream1_IRQHandler(void); +void DMA2_Stream6_IRQHandler(void); /* USER CODE BEGIN EFP */ /* USER CODE END EFP */ diff --git a/otto_controller_source/Src/main.cpp b/otto_controller_source/Src/main.cpp index d5cc129..101ba40 100644 --- a/otto_controller_source/Src/main.cpp +++ b/otto_controller_source/Src/main.cpp @@ -24,6 +24,10 @@ /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ #include "encoder.h" +#include "odometry_calc.h" +#include "ros.h" +#include +#include /* USER CODE END Includes */ @@ -50,20 +54,33 @@ TIM_HandleTypeDef htim4; TIM_HandleTypeDef htim5; UART_HandleTypeDef huart3; +UART_HandleTypeDef huart6; DMA_HandleTypeDef hdma_usart3_rx; DMA_HandleTypeDef hdma_usart3_tx; +DMA_HandleTypeDef hdma_usart6_rx; +DMA_HandleTypeDef hdma_usart6_tx; /* USER CODE BEGIN PV */ +//Odometry Encoder left_encoder = Encoder(&htim2); Encoder right_encoder = Encoder(&htim5); +OdometryCalc odom = OdometryCalc(left_encoder, right_encoder); + +//test stuff float delta_r = 0; float delta_l = 0; - float velocity_l = 0; float velocity_r = 0; +// ROS stuff +ros::NodeHandle nh; +char hello[] = "Hello world!"; +std_msgs::String str_msg; +nav_msgs::Odometry odometry; +ros::Publisher chatter("chatter", &str_msg); +ros::Publisher odom_pub("odom_pub", &odometry); /* USER CODE END PV */ @@ -76,6 +93,7 @@ static void MX_TIM3_Init(void); static void MX_TIM4_Init(void); static void MX_TIM5_Init(void); static void MX_USART3_UART_Init(void); +static void MX_USART6_UART_Init(void); /* USER CODE BEGIN PFP */ /* USER CODE END PFP */ @@ -86,15 +104,13 @@ static void MX_USART3_UART_Init(void); /* USER CODE END 0 */ /** - * @brief The application entry point. - * @retval int - */ -int main(void) -{ + * @brief The application entry point. + * @retval int + */ +int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ - /* MCU Configuration--------------------------------------------------------*/ @@ -119,19 +135,29 @@ int main(void) MX_TIM4_Init(); MX_TIM5_Init(); MX_USART3_UART_Init(); + MX_USART6_UART_Init(); /* USER CODE BEGIN 2 */ - HAL_TIM_Base_Start_IT(&htim3); + nh.initNode(); + nh.advertise(chatter); + nh.advertise(odom_pub); + str_msg.data = hello; + left_encoder.Setup(); right_encoder.Setup(); + HAL_TIM_Base_Start_IT(&htim3); /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { - //HAL_Delay(1000); + +// HAL_UART_Transmit(&huart6, (uint8_t*) hello, strlen(hello), 100); + +// HAL_Delay(100); + /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ @@ -140,64 +166,61 @@ int main(void) } /** - * @brief System Clock Configuration - * @retval None - */ -void SystemClock_Config(void) -{ - RCC_OscInitTypeDef RCC_OscInitStruct = {0}; - RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; - RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; + * @brief System Clock Configuration + * @retval None + */ +void SystemClock_Config(void) { + RCC_OscInitTypeDef RCC_OscInitStruct = { 0 }; + RCC_ClkInitTypeDef RCC_ClkInitStruct = { 0 }; + RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = { 0 }; /** Configure the main internal regulator output voltage - */ + */ __HAL_RCC_PWR_CLK_ENABLE(); __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); /** Initializes the CPU, AHB and APB busses clocks - */ + */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; RCC_OscInitStruct.HSIState = RCC_HSI_ON; RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE; - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) - { + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { Error_Handler(); } /** Initializes the CPU, AHB and APB busses clocks - */ - RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK - |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK + | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2; RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI; RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8; RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; - if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) - { + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) { Error_Handler(); } - PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USART3; + PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USART3 + | RCC_PERIPHCLK_USART6; PeriphClkInitStruct.Usart3ClockSelection = RCC_USART3CLKSOURCE_PCLK1; - if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) - { + PeriphClkInitStruct.Usart6ClockSelection = RCC_USART6CLKSOURCE_PCLK2; + if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) { Error_Handler(); } } /** - * @brief TIM2 Initialization Function - * @param None - * @retval None - */ -static void MX_TIM2_Init(void) -{ + * @brief TIM2 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM2_Init(void) { /* USER CODE BEGIN TIM2_Init 0 */ /* USER CODE END TIM2_Init 0 */ - TIM_Encoder_InitTypeDef sConfig = {0}; - TIM_MasterConfigTypeDef sMasterConfig = {0}; + TIM_Encoder_InitTypeDef sConfig = { 0 }; + TIM_MasterConfigTypeDef sMasterConfig = { 0 }; /* USER CODE BEGIN TIM2_Init 1 */ @@ -217,14 +240,12 @@ static void MX_TIM2_Init(void) sConfig.IC2Selection = TIM_ICSELECTION_DIRECTTI; sConfig.IC2Prescaler = TIM_ICPSC_DIV1; sConfig.IC2Filter = 0; - if (HAL_TIM_Encoder_Init(&htim2, &sConfig) != HAL_OK) - { + if (HAL_TIM_Encoder_Init(&htim2, &sConfig) != HAL_OK) { Error_Handler(); } sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK) - { + if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK) { Error_Handler(); } /* USER CODE BEGIN TIM2_Init 2 */ @@ -234,19 +255,18 @@ static void MX_TIM2_Init(void) } /** - * @brief TIM3 Initialization Function - * @param None - * @retval None - */ -static void MX_TIM3_Init(void) -{ + * @brief TIM3 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM3_Init(void) { /* USER CODE BEGIN TIM3_Init 0 */ /* USER CODE END TIM3_Init 0 */ - TIM_ClockConfigTypeDef sClockSourceConfig = {0}; - TIM_MasterConfigTypeDef sMasterConfig = {0}; + TIM_ClockConfigTypeDef sClockSourceConfig = { 0 }; + TIM_MasterConfigTypeDef sMasterConfig = { 0 }; /* USER CODE BEGIN TIM3_Init 1 */ @@ -257,19 +277,16 @@ static void MX_TIM3_Init(void) htim3.Init.Period = 9; htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; htim3.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - if (HAL_TIM_Base_Init(&htim3) != HAL_OK) - { + if (HAL_TIM_Base_Init(&htim3) != HAL_OK) { Error_Handler(); } sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; - if (HAL_TIM_ConfigClockSource(&htim3, &sClockSourceConfig) != HAL_OK) - { + if (HAL_TIM_ConfigClockSource(&htim3, &sClockSourceConfig) != HAL_OK) { Error_Handler(); } sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - if (HAL_TIMEx_MasterConfigSynchronization(&htim3, &sMasterConfig) != HAL_OK) - { + if (HAL_TIMEx_MasterConfigSynchronization(&htim3, &sMasterConfig) != HAL_OK) { Error_Handler(); } /* USER CODE BEGIN TIM3_Init 2 */ @@ -279,19 +296,18 @@ static void MX_TIM3_Init(void) } /** - * @brief TIM4 Initialization Function - * @param None - * @retval None - */ -static void MX_TIM4_Init(void) -{ + * @brief TIM4 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM4_Init(void) { /* USER CODE BEGIN TIM4_Init 0 */ /* USER CODE END TIM4_Init 0 */ - TIM_MasterConfigTypeDef sMasterConfig = {0}; - TIM_OC_InitTypeDef sConfigOC = {0}; + TIM_MasterConfigTypeDef sMasterConfig = { 0 }; + TIM_OC_InitTypeDef sConfigOC = { 0 }; /* USER CODE BEGIN TIM4_Init 1 */ @@ -302,26 +318,22 @@ static void MX_TIM4_Init(void) htim4.Init.Period = 0; htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; htim4.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - if (HAL_TIM_PWM_Init(&htim4) != HAL_OK) - { + if (HAL_TIM_PWM_Init(&htim4) != HAL_OK) { Error_Handler(); } sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - if (HAL_TIMEx_MasterConfigSynchronization(&htim4, &sMasterConfig) != HAL_OK) - { + if (HAL_TIMEx_MasterConfigSynchronization(&htim4, &sMasterConfig) != HAL_OK) { Error_Handler(); } sConfigOC.OCMode = TIM_OCMODE_PWM1; sConfigOC.Pulse = 0; sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; - if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_3) != HAL_OK) - { + if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_3) != HAL_OK) { Error_Handler(); } - if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_4) != HAL_OK) - { + if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_4) != HAL_OK) { Error_Handler(); } /* USER CODE BEGIN TIM4_Init 2 */ @@ -332,19 +344,18 @@ static void MX_TIM4_Init(void) } /** - * @brief TIM5 Initialization Function - * @param None - * @retval None - */ -static void MX_TIM5_Init(void) -{ + * @brief TIM5 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM5_Init(void) { /* USER CODE BEGIN TIM5_Init 0 */ /* USER CODE END TIM5_Init 0 */ - TIM_Encoder_InitTypeDef sConfig = {0}; - TIM_MasterConfigTypeDef sMasterConfig = {0}; + TIM_Encoder_InitTypeDef sConfig = { 0 }; + TIM_MasterConfigTypeDef sMasterConfig = { 0 }; /* USER CODE BEGIN TIM5_Init 1 */ @@ -364,14 +375,12 @@ static void MX_TIM5_Init(void) sConfig.IC2Selection = TIM_ICSELECTION_DIRECTTI; sConfig.IC2Prescaler = TIM_ICPSC_DIV1; sConfig.IC2Filter = 0; - if (HAL_TIM_Encoder_Init(&htim5, &sConfig) != HAL_OK) - { + if (HAL_TIM_Encoder_Init(&htim5, &sConfig) != HAL_OK) { Error_Handler(); } sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - if (HAL_TIMEx_MasterConfigSynchronization(&htim5, &sMasterConfig) != HAL_OK) - { + if (HAL_TIMEx_MasterConfigSynchronization(&htim5, &sMasterConfig) != HAL_OK) { Error_Handler(); } /* USER CODE BEGIN TIM5_Init 2 */ @@ -381,12 +390,11 @@ static void MX_TIM5_Init(void) } /** - * @brief USART3 Initialization Function - * @param None - * @retval None - */ -static void MX_USART3_UART_Init(void) -{ + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) { /* USER CODE BEGIN USART3_Init 0 */ @@ -405,8 +413,7 @@ static void MX_USART3_UART_Init(void) huart3.Init.OverSampling = UART_OVERSAMPLING_16; huart3.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE; huart3.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT; - if (HAL_UART_Init(&huart3) != HAL_OK) - { + if (HAL_UART_Init(&huart3) != HAL_OK) { Error_Handler(); } /* USER CODE BEGIN USART3_Init 2 */ @@ -415,14 +422,47 @@ static void MX_USART3_UART_Init(void) } +/** + * @brief USART6 Initialization Function + * @param None + * @retval None + */ +static void MX_USART6_UART_Init(void) { + + /* USER CODE BEGIN USART6_Init 0 */ + + /* USER CODE END USART6_Init 0 */ + + /* USER CODE BEGIN USART6_Init 1 */ + + /* USER CODE END USART6_Init 1 */ + huart6.Instance = USART6; + huart6.Init.BaudRate = 115200; + huart6.Init.WordLength = UART_WORDLENGTH_8B; + huart6.Init.StopBits = UART_STOPBITS_1; + huart6.Init.Parity = UART_PARITY_NONE; + huart6.Init.Mode = UART_MODE_TX_RX; + huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart6.Init.OverSampling = UART_OVERSAMPLING_16; + huart6.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE; + huart6.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT; + if (HAL_UART_Init(&huart6) != HAL_OK) { + Error_Handler(); + } + /* USER CODE BEGIN USART6_Init 2 */ + + /* USER CODE END USART6_Init 2 */ + +} + /** - * Enable DMA controller clock - */ -static void MX_DMA_Init(void) -{ + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) { /* DMA controller clock enable */ __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); /* DMA interrupt init */ /* DMA1_Stream1_IRQn interrupt configuration */ @@ -431,17 +471,22 @@ static void MX_DMA_Init(void) /* DMA1_Stream3_IRQn interrupt configuration */ HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0); HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn); + /* DMA2_Stream1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); + /* DMA2_Stream6_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); } /** - * @brief GPIO Initialization Function - * @param None - * @retval None - */ -static void MX_GPIO_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStruct = {0}; + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) { + GPIO_InitTypeDef GPIO_InitStruct = { 0 }; /* GPIO Ports Clock Enable */ __HAL_RCC_GPIOC_CLK_ENABLE(); @@ -452,7 +497,8 @@ static void MX_GPIO_Init(void) __HAL_RCC_GPIOB_CLK_ENABLE(); /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOF, GPIO_PIN_12|dir_1_Pin|sleep_2_Pin|sleep_1_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOF, GPIO_PIN_12 | dir_1_Pin | sleep_2_Pin | sleep_1_Pin, + GPIO_PIN_RESET); /*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(GPIOB, GPIO_PIN_8, GPIO_PIN_RESET); @@ -476,7 +522,7 @@ static void MX_GPIO_Init(void) HAL_GPIO_Init(fault_2_GPIO_Port, &GPIO_InitStruct); /*Configure GPIO pins : PF12 dir_1_Pin sleep_2_Pin sleep_1_Pin */ - GPIO_InitStruct.Pin = GPIO_PIN_12|dir_1_Pin|sleep_2_Pin|sleep_1_Pin; + GPIO_InitStruct.Pin = GPIO_PIN_12 | dir_1_Pin | sleep_2_Pin | sleep_1_Pin; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; @@ -498,24 +544,40 @@ static void MX_GPIO_Init(void) } /* USER CODE BEGIN 4 */ -void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim){ - if (htim->Instance == TIM3){ - velocity_l = left_encoder.GetLinearVelocity(); - velocity_r = right_encoder.GetLinearVelocity(); +void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { + if (htim->Instance == TIM3) { +// velocity_l = left_encoder.GetLinearVelocity(); +// velocity_r = right_encoder.GetLinearVelocity(); +// delta_r = right_encoder.current_millis_ - right_encoder.previous_millis_; +// delta_l = left_encoder.current_millis_ - left_encoder.previous_millis_; + + odom.OdometryUpdateMessage(); + odometry = odom.odometry_; + odom_pub.publish(&odometry); + + chatter.publish(&str_msg); + nh.spinOnce(); + + //HAL_UART_Transmit(&huart3, (uint8_t*)hello, strlen(hello), 100); - delta_r = right_encoder.current_millis_ - right_encoder.previous_millis_; - delta_l = left_encoder.current_millis_ - left_encoder.previous_millis_; } } +void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart) { + nh.getHardware()->flush(); +} + +void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) { + nh.getHardware()->reset_rbuf(); +} + /* USER CODE END 4 */ /** - * @brief This function is executed in case of error occurrence. - * @retval None - */ -void Error_Handler(void) -{ + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) { /* USER CODE BEGIN Error_Handler_Debug */ /* User can add his own implementation to report the HAL error return state */ diff --git a/otto_controller_source/Src/odometry_calc.cpp b/otto_controller_source/Src/odometry_calc.cpp index c1e7d63..db1bdfe 100644 --- a/otto_controller_source/Src/odometry_calc.cpp +++ b/otto_controller_source/Src/odometry_calc.cpp @@ -16,7 +16,11 @@ void OdometryCalc::OdometryUpdateMessage(){ // calcoli vari float linear_velocity = (left_velocity + right_velocity) / 2; - float angular_velocity = (right_velocity - left_velocity) / kBaseline; + float angular_velocity; + if (right_velocity - left_velocity == 0) + angular_velocity = 0; + else + angular_velocity = (right_velocity - left_velocity) / kBaseline; float diff = angular_velocity / delta_time; float r = (kBaseline / 2) * ((right_velocity + left_velocity) / (right_velocity - left_velocity)); diff --git a/otto_controller_source/Src/stm32f7xx_hal_msp.c b/otto_controller_source/Src/stm32f7xx_hal_msp.c index bf52be3..4100bda 100644 --- a/otto_controller_source/Src/stm32f7xx_hal_msp.c +++ b/otto_controller_source/Src/stm32f7xx_hal_msp.c @@ -28,6 +28,10 @@ extern DMA_HandleTypeDef hdma_usart3_rx; extern DMA_HandleTypeDef hdma_usart3_tx; +extern DMA_HandleTypeDef hdma_usart6_rx; + +extern DMA_HandleTypeDef hdma_usart6_tx; + /* Private typedef -----------------------------------------------------------*/ /* USER CODE BEGIN TD */ @@ -393,6 +397,67 @@ void HAL_UART_MspInit(UART_HandleTypeDef* huart) /* USER CODE END USART3_MspInit 1 */ } + else if(huart->Instance==USART6) + { + /* USER CODE BEGIN USART6_MspInit 0 */ + + /* USER CODE END USART6_MspInit 0 */ + /* Peripheral clock enable */ + __HAL_RCC_USART6_CLK_ENABLE(); + + __HAL_RCC_GPIOC_CLK_ENABLE(); + /**USART6 GPIO Configuration + PC6 ------> USART6_TX + PC7 ------> USART6_RX + */ + GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; + GPIO_InitStruct.Alternate = GPIO_AF8_USART6; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /* USART6 DMA Init */ + /* USART6_RX Init */ + hdma_usart6_rx.Instance = DMA2_Stream1; + hdma_usart6_rx.Init.Channel = DMA_CHANNEL_5; + hdma_usart6_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; + hdma_usart6_rx.Init.PeriphInc = DMA_PINC_DISABLE; + hdma_usart6_rx.Init.MemInc = DMA_MINC_ENABLE; + hdma_usart6_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; + hdma_usart6_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; + hdma_usart6_rx.Init.Mode = DMA_NORMAL; + hdma_usart6_rx.Init.Priority = DMA_PRIORITY_HIGH; + hdma_usart6_rx.Init.FIFOMode = DMA_FIFOMODE_DISABLE; + if (HAL_DMA_Init(&hdma_usart6_rx) != HAL_OK) + { + Error_Handler(); + } + + __HAL_LINKDMA(huart,hdmarx,hdma_usart6_rx); + + /* USART6_TX Init */ + hdma_usart6_tx.Instance = DMA2_Stream6; + hdma_usart6_tx.Init.Channel = DMA_CHANNEL_5; + hdma_usart6_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; + hdma_usart6_tx.Init.PeriphInc = DMA_PINC_DISABLE; + hdma_usart6_tx.Init.MemInc = DMA_MINC_ENABLE; + hdma_usart6_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; + hdma_usart6_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; + hdma_usart6_tx.Init.Mode = DMA_NORMAL; + hdma_usart6_tx.Init.Priority = DMA_PRIORITY_HIGH; + hdma_usart6_tx.Init.FIFOMode = DMA_FIFOMODE_DISABLE; + if (HAL_DMA_Init(&hdma_usart6_tx) != HAL_OK) + { + Error_Handler(); + } + + __HAL_LINKDMA(huart,hdmatx,hdma_usart6_tx); + + /* USER CODE BEGIN USART6_MspInit 1 */ + + /* USER CODE END USART6_MspInit 1 */ + } } @@ -428,6 +493,27 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* huart) /* USER CODE END USART3_MspDeInit 1 */ } + else if(huart->Instance==USART6) + { + /* USER CODE BEGIN USART6_MspDeInit 0 */ + + /* USER CODE END USART6_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_USART6_CLK_DISABLE(); + + /**USART6 GPIO Configuration + PC6 ------> USART6_TX + PC7 ------> USART6_RX + */ + HAL_GPIO_DeInit(GPIOC, GPIO_PIN_6|GPIO_PIN_7); + + /* USART6 DMA DeInit */ + HAL_DMA_DeInit(huart->hdmarx); + HAL_DMA_DeInit(huart->hdmatx); + /* USER CODE BEGIN USART6_MspDeInit 1 */ + + /* USER CODE END USART6_MspDeInit 1 */ + } } diff --git a/otto_controller_source/Src/stm32f7xx_it.c b/otto_controller_source/Src/stm32f7xx_it.c index 10dd10c..c47b9b1 100644 --- a/otto_controller_source/Src/stm32f7xx_it.c +++ b/otto_controller_source/Src/stm32f7xx_it.c @@ -59,6 +59,8 @@ extern TIM_HandleTypeDef htim3; extern DMA_HandleTypeDef hdma_usart3_rx; extern DMA_HandleTypeDef hdma_usart3_tx; +extern DMA_HandleTypeDef hdma_usart6_rx; +extern DMA_HandleTypeDef hdma_usart6_tx; extern UART_HandleTypeDef huart3; /* USER CODE BEGIN EV */ @@ -256,6 +258,34 @@ void USART3_IRQHandler(void) /* USER CODE END USART3_IRQn 1 */ } +/** + * @brief This function handles DMA2 stream1 global interrupt. + */ +void DMA2_Stream1_IRQHandler(void) +{ + /* USER CODE BEGIN DMA2_Stream1_IRQn 0 */ + + /* USER CODE END DMA2_Stream1_IRQn 0 */ + HAL_DMA_IRQHandler(&hdma_usart6_rx); + /* USER CODE BEGIN DMA2_Stream1_IRQn 1 */ + + /* USER CODE END DMA2_Stream1_IRQn 1 */ +} + +/** + * @brief This function handles DMA2 stream6 global interrupt. + */ +void DMA2_Stream6_IRQHandler(void) +{ + /* USER CODE BEGIN DMA2_Stream6_IRQn 0 */ + + /* USER CODE END DMA2_Stream6_IRQn 0 */ + HAL_DMA_IRQHandler(&hdma_usart6_tx); + /* USER CODE BEGIN DMA2_Stream6_IRQn 1 */ + + /* USER CODE END DMA2_Stream6_IRQn 1 */ +} + /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ diff --git a/otto_controller_source/otto_controller_source Debug.cfg b/otto_controller_source/otto_controller_source Debug.cfg new file mode 100644 index 0000000..12d525f --- /dev/null +++ b/otto_controller_source/otto_controller_source Debug.cfg @@ -0,0 +1,40 @@ +# This is an genericBoard board with a single STM32F767ZITx chip +# +# Generated by STM32CubeIDE +# Take care that such file, as generated, may be overridden without any early notice. Please have a look to debug launch configuration setup(s) + +source [find interface/stlink.cfg] + +set WORKAREASIZE 0x8000 + +transport select "hla_swd" + +set CHIPNAME STM32F767ZITx +set BOARDNAME genericBoard + +# Enable debug when in low power modes +set ENABLE_LOW_POWER 1 + +# Stop Watchdog counters when halt +set STOP_WATCHDOG 1 + +# STlink Debug clock frequency +set CLOCK_FREQ 8000 + +# Reset configuration +# use hardware reset, connect under reset +# connect_assert_srst needed if low power mode application running (WFI...) +reset_config srst_only srst_nogate connect_assert_srst +set CONNECT_UNDER_RESET 1 +set CORE_RESET 0 + + + +# BCTM CPU variables + + + +source [find target/stm32f7x.cfg] + + + diff --git a/otto_controller_source/otto_controller_source Debug.launch b/otto_controller_source/otto_controller_source Debug.launch index 3a6549b..280e229 100644 --- a/otto_controller_source/otto_controller_source Debug.launch +++ b/otto_controller_source/otto_controller_source Debug.launch @@ -2,7 +2,7 @@ - + @@ -18,10 +18,21 @@ + + + + + + + + + + + - + @@ -68,6 +79,6 @@ - + diff --git a/otto_controller_source/otto_controller_source.ioc b/otto_controller_source/otto_controller_source.ioc index fd3b02d..da4c20b 100644 --- a/otto_controller_source/otto_controller_source.ioc +++ b/otto_controller_source/otto_controller_source.ioc @@ -1,7 +1,9 @@ #MicroXplorer Configuration settings - do not modify Dma.Request0=USART3_RX Dma.Request1=USART3_TX -Dma.RequestsNb=2 +Dma.Request2=USART6_RX +Dma.Request3=USART6_TX +Dma.RequestsNb=4 Dma.USART3_RX.0.Direction=DMA_PERIPH_TO_MEMORY Dma.USART3_RX.0.FIFOMode=DMA_FIFOMODE_DISABLE Dma.USART3_RX.0.Instance=DMA1_Stream1 @@ -22,11 +24,32 @@ Dma.USART3_TX.1.PeriphDataAlignment=DMA_PDATAALIGN_BYTE Dma.USART3_TX.1.PeriphInc=DMA_PINC_DISABLE Dma.USART3_TX.1.Priority=DMA_PRIORITY_HIGH Dma.USART3_TX.1.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode +Dma.USART6_RX.2.Direction=DMA_PERIPH_TO_MEMORY +Dma.USART6_RX.2.FIFOMode=DMA_FIFOMODE_DISABLE +Dma.USART6_RX.2.Instance=DMA2_Stream1 +Dma.USART6_RX.2.MemDataAlignment=DMA_MDATAALIGN_BYTE +Dma.USART6_RX.2.MemInc=DMA_MINC_ENABLE +Dma.USART6_RX.2.Mode=DMA_NORMAL +Dma.USART6_RX.2.PeriphDataAlignment=DMA_PDATAALIGN_BYTE +Dma.USART6_RX.2.PeriphInc=DMA_PINC_DISABLE +Dma.USART6_RX.2.Priority=DMA_PRIORITY_HIGH +Dma.USART6_RX.2.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode +Dma.USART6_TX.3.Direction=DMA_MEMORY_TO_PERIPH +Dma.USART6_TX.3.FIFOMode=DMA_FIFOMODE_DISABLE +Dma.USART6_TX.3.Instance=DMA2_Stream6 +Dma.USART6_TX.3.MemDataAlignment=DMA_MDATAALIGN_BYTE +Dma.USART6_TX.3.MemInc=DMA_MINC_ENABLE +Dma.USART6_TX.3.Mode=DMA_NORMAL +Dma.USART6_TX.3.PeriphDataAlignment=DMA_PDATAALIGN_BYTE +Dma.USART6_TX.3.PeriphInc=DMA_PINC_DISABLE +Dma.USART6_TX.3.Priority=DMA_PRIORITY_HIGH +Dma.USART6_TX.3.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode File.Version=6 KeepUserPlacement=false Mcu.Family=STM32F7 Mcu.IP0=CORTEX_M7 Mcu.IP1=DMA +Mcu.IP10=USART6 Mcu.IP2=NVIC Mcu.IP3=RCC Mcu.IP4=SYS @@ -35,7 +58,7 @@ Mcu.IP6=TIM3 Mcu.IP7=TIM4 Mcu.IP8=TIM5 Mcu.IP9=USART3 -Mcu.IPNb=10 +Mcu.IPNb=11 Mcu.Name=STM32F767ZITx Mcu.Package=LQFP144 Mcu.Pin0=PC0 @@ -45,11 +68,13 @@ Mcu.Pin11=PD8 Mcu.Pin12=PD9 Mcu.Pin13=PD14 Mcu.Pin14=PD15 -Mcu.Pin15=PB3 -Mcu.Pin16=PB8 -Mcu.Pin17=VP_SYS_VS_Systick -Mcu.Pin18=VP_TIM3_VS_ClockSourceINT +Mcu.Pin15=PC6 +Mcu.Pin16=PC7 +Mcu.Pin17=PB3 +Mcu.Pin18=PB8 +Mcu.Pin19=VP_SYS_VS_Systick Mcu.Pin2=PA1 +Mcu.Pin20=VP_TIM3_VS_ClockSourceINT Mcu.Pin3=PA3 Mcu.Pin4=PA5 Mcu.Pin5=PA6 @@ -57,7 +82,7 @@ Mcu.Pin6=PF12 Mcu.Pin7=PF13 Mcu.Pin8=PF14 Mcu.Pin9=PF15 -Mcu.PinsNb=19 +Mcu.PinsNb=21 Mcu.ThirdPartyNb=0 Mcu.UserConstants= Mcu.UserName=STM32F767ZITx @@ -66,6 +91,8 @@ MxDb.Version=DB.5.0.40 NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false NVIC.DMA1_Stream1_IRQn=true\:0\:0\:false\:false\:true\:false\:true NVIC.DMA1_Stream3_IRQn=true\:0\:0\:false\:false\:true\:false\:true +NVIC.DMA2_Stream1_IRQn=true\:0\:0\:false\:false\:true\:false\:true +NVIC.DMA2_Stream6_IRQn=true\:0\:0\:false\:false\:true\:false\:true NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false NVIC.ForceEnableDMAVector=true NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false @@ -98,6 +125,12 @@ PB8.Locked=true PB8.Signal=GPIO_Output PC0.Locked=true PC0.Signal=GPIO_Analog +PC6.Locked=true +PC6.Mode=Asynchronous +PC6.Signal=USART6_TX +PC7.Locked=true +PC7.Mode=Asynchronous +PC7.Signal=USART6_RX PCC.Checker=false PCC.Line=STM32F7x7 PCC.MCU=STM32F767ZITx @@ -245,6 +278,8 @@ TIM5.EncoderMode=TIM_ENCODERMODE_TI12 TIM5.IPParameters=EncoderMode USART3.IPParameters=VirtualMode-Asynchronous USART3.VirtualMode-Asynchronous=VM_ASYNC +USART6.IPParameters=VirtualMode-Asynchronous +USART6.VirtualMode-Asynchronous=VM_ASYNC VP_SYS_VS_Systick.Mode=SysTick VP_SYS_VS_Systick.Signal=SYS_VS_Systick VP_TIM3_VS_ClockSourceINT.Mode=Internal -- 2.52.0