-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfirmware.asm
More file actions
1230 lines (1109 loc) · 44.6 KB
/
Copy pathfirmware.asm
File metadata and controls
1230 lines (1109 loc) · 44.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
canbox_decoder.elf: file format elf32-littlearm
Disassembly of section .text:
0800006c <main>:
800006c: b508 push {r3, lr}
800006e: f000 f835 bl 80000dc <rcu_init>
8000072: f000 f83f bl 80000f4 <gpio_init>
8000076: f000 f853 bl 8000120 <uart_init>
800007a: f000 f8a1 bl 80001c0 <scheduler_init>
800007e: 480a ldr r0, [pc, #40] @ (80000a8 <main+0x3c>)
8000080: f000 f894 bl 80001ac <delay>
8000084: 4809 ldr r0, [pc, #36] @ (80000ac <main+0x40>)
8000086: f000 f86f bl 8000168 <uart_send_string>
800008a: 4809 ldr r0, [pc, #36] @ (80000b0 <main+0x44>)
800008c: f000 f86c bl 8000168 <uart_send_string>
8000090: 4808 ldr r0, [pc, #32] @ (80000b4 <main+0x48>)
8000092: f000 f869 bl 8000168 <uart_send_string>
8000096: 4808 ldr r0, [pc, #32] @ (80000b8 <main+0x4c>)
8000098: f000 f866 bl 8000168 <uart_send_string>
800009c: 4804 ldr r0, [pc, #16] @ (80000b0 <main+0x44>)
800009e: f000 f863 bl 8000168 <uart_send_string>
80000a2: f000 f8db bl 800025c <scheduler_run>
80000a6: e7fc b.n 80000a2 <main+0x36>
80000a8: 000f4240 .word 0x000f4240
80000ac: 08000ac6 .word 0x08000ac6
80000b0: 08000a28 .word 0x08000a28
80000b4: 08000a4b .word 0x08000a4b
80000b8: 08000a6a .word 0x08000a6a
080000bc <SystemInit>:
80000bc: 4b06 ldr r3, [pc, #24] @ (80000d8 <SystemInit+0x1c>)
80000be: 681a ldr r2, [r3, #0]
80000c0: f042 0201 orr.w r2, r2, #1
80000c4: 601a str r2, [r3, #0]
80000c6: 681a ldr r2, [r3, #0]
80000c8: 0792 lsls r2, r2, #30
80000ca: d5fc bpl.n 80000c6 <SystemInit+0xa>
80000cc: 685a ldr r2, [r3, #4]
80000ce: f022 0203 bic.w r2, r2, #3
80000d2: 605a str r2, [r3, #4]
80000d4: 4770 bx lr
80000d6: bf00 nop
80000d8: 40021000 .word 0x40021000
080000dc <rcu_init>:
80000dc: 4b04 ldr r3, [pc, #16] @ (80000f0 <rcu_init+0x14>)
80000de: 699a ldr r2, [r3, #24]
80000e0: f042 0204 orr.w r2, r2, #4
80000e4: 619a str r2, [r3, #24]
80000e6: 699a ldr r2, [r3, #24]
80000e8: f442 4280 orr.w r2, r2, #16384 @ 0x4000
80000ec: 619a str r2, [r3, #24]
80000ee: 4770 bx lr
80000f0: 40021000 .word 0x40021000
080000f4 <gpio_init>:
80000f4: 4b09 ldr r3, [pc, #36] @ (800011c <gpio_init+0x28>)
80000f6: f8d3 2804 ldr.w r2, [r3, #2052] @ 0x804
80000fa: f422 627f bic.w r2, r2, #4080 @ 0xff0
80000fe: f8c3 2804 str.w r2, [r3, #2052] @ 0x804
8000102: f8d3 2804 ldr.w r2, [r3, #2052] @ 0x804
8000106: f042 02b0 orr.w r2, r2, #176 @ 0xb0
800010a: f8c3 2804 str.w r2, [r3, #2052] @ 0x804
800010e: f8d3 2804 ldr.w r2, [r3, #2052] @ 0x804
8000112: f442 6280 orr.w r2, r2, #1024 @ 0x400
8000116: f8c3 2804 str.w r2, [r3, #2052] @ 0x804
800011a: 4770 bx lr
800011c: 40010000 .word 0x40010000
08000120 <uart_init>:
8000120: f240 2271 movw r2, #625 @ 0x271
8000124: 4b0a ldr r3, [pc, #40] @ (8000150 <uart_init+0x30>)
8000126: f8c3 2808 str.w r2, [r3, #2056] @ 0x808
800012a: f8d3 280c ldr.w r2, [r3, #2060] @ 0x80c
800012e: f442 5200 orr.w r2, r2, #8192 @ 0x2000
8000132: f8c3 280c str.w r2, [r3, #2060] @ 0x80c
8000136: f8d3 280c ldr.w r2, [r3, #2060] @ 0x80c
800013a: f042 0208 orr.w r2, r2, #8
800013e: f8c3 280c str.w r2, [r3, #2060] @ 0x80c
8000142: f8d3 280c ldr.w r2, [r3, #2060] @ 0x80c
8000146: f042 0204 orr.w r2, r2, #4
800014a: f8c3 280c str.w r2, [r3, #2060] @ 0x80c
800014e: 4770 bx lr
8000150: 40013000 .word 0x40013000
08000154 <uart_send_char>:
8000154: 4b03 ldr r3, [pc, #12] @ (8000164 <uart_send_char+0x10>)
8000156: f8d3 2800 ldr.w r2, [r3, #2048] @ 0x800
800015a: 0612 lsls r2, r2, #24
800015c: d5fb bpl.n 8000156 <uart_send_char+0x2>
800015e: f8c3 0804 str.w r0, [r3, #2052] @ 0x804
8000162: 4770 bx lr
8000164: 40013000 .word 0x40013000
08000168 <uart_send_string>:
8000168: b508 push {r3, lr}
800016a: 1e41 subs r1, r0, #1
800016c: f811 0f01 ldrb.w r0, [r1, #1]!
8000170: b900 cbnz r0, 8000174 <uart_send_string+0xc>
8000172: bd08 pop {r3, pc}
8000174: f7ff ffee bl 8000154 <uart_send_char>
8000178: e7f8 b.n 800016c <uart_send_string+0x4>
0800017a <timer_init>:
800017a: f04f 4380 mov.w r3, #1073741824 @ 0x40000000
800017e: 2247 movs r2, #71 @ 0x47
8000180: 629a str r2, [r3, #40] @ 0x28
8000182: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff
8000186: 62da str r2, [r3, #44] @ 0x2c
8000188: 681a ldr r2, [r3, #0]
800018a: f042 0201 orr.w r2, r2, #1
800018e: 601a str r2, [r3, #0]
8000190: 4770 bx lr
08000192 <timer_get_us>:
8000192: f04f 4380 mov.w r3, #1073741824 @ 0x40000000
8000196: 6a58 ldr r0, [r3, #36] @ 0x24
8000198: 4770 bx lr
0800019a <NMI_Handler>:
800019a: 4770 bx lr
0800019c <HardFault_Handler>:
800019c: 2005 movs r0, #5
800019e: f000 b94f b.w 8000440 <panic_handler>
080001a2 <SVC_Handler>:
80001a2: 4770 bx lr
080001a4 <PendSV_Handler>:
80001a4: 4770 bx lr
080001a6 <SysTick_Handler>:
80001a6: 4770 bx lr
080001a8 <USART0_IRQHandler>:
80001a8: 4770 bx lr
080001aa <TIMER1_IRQHandler>:
80001aa: 4770 bx lr
080001ac <delay>:
80001ac: b082 sub sp, #8
80001ae: 9001 str r0, [sp, #4]
80001b0: 9b01 ldr r3, [sp, #4]
80001b2: 1e5a subs r2, r3, #1
80001b4: 9201 str r2, [sp, #4]
80001b6: b90b cbnz r3, 80001bc <delay+0x10>
80001b8: b002 add sp, #8
80001ba: 4770 bx lr
80001bc: bf00 nop
80001be: e7f7 b.n 80001b0 <delay+0x4>
080001c0 <scheduler_init>:
80001c0: b508 push {r3, lr}
80001c2: f7ff ffda bl 800017a <timer_init>
80001c6: f000 f889 bl 80002dc <watchdog_init>
80001ca: f000 f8a1 bl 8000310 <events_init>
80001ce: f000 f8a9 bl 8000324 <debug_init>
80001d2: f000 f8aa bl 800032a <logger_init>
80001d6: f000 f8cf bl 8000378 <runtime_stats_init>
80001da: f000 f8e3 bl 80003a4 <health_monitor_init>
80001de: f000 f907 bl 80003f0 <boot_diag_init>
80001e2: f000 f911 bl 8000408 <power_manager_init>
80001e6: f000 f917 bl 8000418 <nv_stats_init>
80001ea: f000 f923 bl 8000434 <panic_init>
80001ee: f000 f95d bl 80004ac <memory_init>
80001f2: f000 f967 bl 80004c4 <task_init>
80001f6: f000 f98f bl 8000518 <soft_timer_init>
80001fa: f000 fbef bl 80009dc <config_storage_init>
80001fe: f000 f9ca bl 8000596 <avclan_init>
8000202: f000 f9cb bl 800059c <avclan_phy_init>
8000206: f000 f9db bl 80005c0 <avclan_frame_init>
800020a: f000 f9db bl 80005c4 <avclan_timing_init>
800020e: f000 fb29 bl 8000864 <avclan_arbitration_init>
8000212: f000 fb41 bl 8000898 <avclan_retry_init>
8000216: f000 fb49 bl 80008ac <avclan_ack_init>
800021a: f000 fb5d bl 80008d8 <avclan_state_init>
800021e: f000 fa51 bl 80006c4 <avclan_tx_init>
8000222: f000 fa91 bl 8000748 <avclan_rx_init>
8000226: f000 faad bl 8000784 <avclan_keys_init>
800022a: f000 fac1 bl 80007b0 <avclan_amp_init>
800022e: f000 fac1 bl 80007b4 <avclan_cdchanger_init>
8000232: f000 fac2 bl 80007ba <avclan_devices_init>
8000236: f000 fb09 bl 800084c <avclan_diag_init>
800023a: f000 fb61 bl 8000900 <bridge_uart_init>
800023e: f000 fb8a bl 8000956 <bridge_android_init>
8000242: f000 fb8c bl 800095e <bridge_protocol_init>
8000246: f000 fbbb bl 80009c0 <bridge_commands_init>
800024a: e8bd 4008 ldmia.w sp!, {r3, lr}
800024e: 2000 movs r0, #0
8000250: 4901 ldr r1, [pc, #4] @ (8000258 <scheduler_init+0x98>)
8000252: f000 b86d b.w 8000330 <logger_write>
8000256: bf00 nop
8000258: 08000a7e .word 0x08000a7e
0800025c <scheduler_run>:
800025c: b508 push {r3, lr}
800025e: f000 f899 bl 8000394 <runtime_stats_scheduler_loop>
8000262: f000 f84d bl 8000300 <watchdog_kick>
8000266: f000 f967 bl 8000538 <soft_timer_process>
800026a: f000 f93b bl 80004e4 <task_process>
800026e: f000 f8c9 bl 8000404 <boot_diag_process>
8000272: f000 f8cf bl 8000414 <power_manager_process>
8000276: f000 fb35 bl 80008e4 <avclan_state_process>
800027a: f000 f98e bl 800059a <avclan_process>
800027e: f000 f994 bl 80005aa <avclan_phy_process>
8000282: f000 f99e bl 80005c2 <avclan_frame_process>
8000286: f000 f99e bl 80005c6 <avclan_timing_process>
800028a: f000 faf7 bl 800087c <avclan_arbitration_process>
800028e: f000 fb0b bl 80008a8 <avclan_retry_process>
8000292: f000 fb11 bl 80008b8 <avclan_ack_process>
8000296: f000 fa2b bl 80006f0 <avclan_tx_process>
800029a: f000 fa5f bl 800075c <avclan_rx_process>
800029e: f000 fa72 bl 8000786 <avclan_keys_process>
80002a2: f000 fa86 bl 80007b2 <avclan_amp_process>
80002a6: f000 fa87 bl 80007b8 <avclan_cdchanger_process>
80002aa: f000 fa87 bl 80007bc <avclan_devices_process>
80002ae: f000 fad7 bl 8000860 <avclan_diag_process>
80002b2: f000 fb33 bl 800091c <bridge_uart_process>
80002b6: f000 fb50 bl 800095a <bridge_android_process>
80002ba: f000 fb51 bl 8000960 <bridge_protocol_process>
80002be: f000 fb80 bl 80009c2 <bridge_commands_process>
80002c2: f000 f865 bl 8000390 <runtime_stats_process>
80002c6: f000 f877 bl 80003b8 <health_monitor_process>
80002ca: f000 f8b1 bl 8000430 <nv_stats_process>
80002ce: f000 f8f7 bl 80004c0 <memory_process>
80002d2: e8bd 4008 ldmia.w sp!, {r3, lr}
80002d6: f000 b829 b.w 800032c <logger_process>
...
080002dc <watchdog_init>:
80002dc: f245 5255 movw r2, #21845 @ 0x5555
80002e0: 4b06 ldr r3, [pc, #24] @ (80002fc <watchdog_init+0x20>)
80002e2: 601a str r2, [r3, #0]
80002e4: 2206 movs r2, #6
80002e6: 605a str r2, [r3, #4]
80002e8: f640 72ff movw r2, #4095 @ 0xfff
80002ec: 609a str r2, [r3, #8]
80002ee: f64a 22aa movw r2, #43690 @ 0xaaaa
80002f2: 601a str r2, [r3, #0]
80002f4: f64c 42cc movw r2, #52428 @ 0xcccc
80002f8: 601a str r2, [r3, #0]
80002fa: 4770 bx lr
80002fc: 40003000 .word 0x40003000
08000300 <watchdog_kick>:
8000300: f64a 22aa movw r2, #43690 @ 0xaaaa
8000304: 4b01 ldr r3, [pc, #4] @ (800030c <watchdog_kick+0xc>)
8000306: 601a str r2, [r3, #0]
8000308: 4770 bx lr
800030a: bf00 nop
800030c: 40003000 .word 0x40003000
08000310 <events_init>:
8000310: 2300 movs r3, #0
8000312: 4a02 ldr r2, [pc, #8] @ (800031c <events_init+0xc>)
8000314: 7013 strb r3, [r2, #0]
8000316: 4a02 ldr r2, [pc, #8] @ (8000320 <events_init+0x10>)
8000318: 7013 strb r3, [r2, #0]
800031a: 4770 bx lr
800031c: 20000001 .word 0x20000001
8000320: 20000000 .word 0x20000000
08000324 <debug_init>:
8000324: 4770 bx lr
08000326 <debug_log>:
8000326: f7ff bf1f b.w 8000168 <uart_send_string>
0800032a <logger_init>:
800032a: 4770 bx lr
0800032c <logger_process>:
800032c: 4770 bx lr
...
08000330 <logger_write>:
8000330: b510 push {r4, lr}
8000332: 460c mov r4, r1
8000334: 2803 cmp r0, #3
8000336: d806 bhi.n 8000346 <logger_write+0x16>
8000338: e8df f000 tbb [pc, r0]
800033c: 110f0d02 .word 0x110f0d02
8000340: 4808 ldr r0, [pc, #32] @ (8000364 <logger_write+0x34>)
8000342: f7ff fff0 bl 8000326 <debug_log>
8000346: 4620 mov r0, r4
8000348: f7ff ffed bl 8000326 <debug_log>
800034c: e8bd 4010 ldmia.w sp!, {r4, lr}
8000350: 4805 ldr r0, [pc, #20] @ (8000368 <logger_write+0x38>)
8000352: f7ff bfe8 b.w 8000326 <debug_log>
8000356: 4805 ldr r0, [pc, #20] @ (800036c <logger_write+0x3c>)
8000358: e7f3 b.n 8000342 <logger_write+0x12>
800035a: 4805 ldr r0, [pc, #20] @ (8000370 <logger_write+0x40>)
800035c: e7f1 b.n 8000342 <logger_write+0x12>
800035e: 4805 ldr r0, [pc, #20] @ (8000374 <logger_write+0x44>)
8000360: e7ef b.n 8000342 <logger_write+0x12>
8000362: bf00 nop
8000364: 08000a90 .word 0x08000a90
8000368: 08000ac6 .word 0x08000ac6
800036c: 08000a98 .word 0x08000a98
8000370: 08000aa0 .word 0x08000aa0
8000374: 08000aa9 .word 0x08000aa9
08000378 <runtime_stats_init>:
8000378: 2200 movs r2, #0
800037a: 4b04 ldr r3, [pc, #16] @ (800038c <runtime_stats_init+0x14>)
800037c: e9c3 2200 strd r2, r2, [r3]
8000380: e9c3 2202 strd r2, r2, [r3, #8]
8000384: e9c3 2204 strd r2, r2, [r3, #16]
8000388: 4770 bx lr
800038a: bf00 nop
800038c: 20000004 .word 0x20000004
08000390 <runtime_stats_process>:
8000390: 4770 bx lr
...
08000394 <runtime_stats_scheduler_loop>:
8000394: 4a02 ldr r2, [pc, #8] @ (80003a0 <runtime_stats_scheduler_loop+0xc>)
8000396: 6813 ldr r3, [r2, #0]
8000398: 3301 adds r3, #1
800039a: 6013 str r3, [r2, #0]
800039c: 4770 bx lr
800039e: bf00 nop
80003a0: 20000004 .word 0x20000004
080003a4 <health_monitor_init>:
80003a4: 2200 movs r2, #0
80003a6: 4b03 ldr r3, [pc, #12] @ (80003b4 <health_monitor_init+0x10>)
80003a8: 701a strb r2, [r3, #0]
80003aa: 705a strb r2, [r3, #1]
80003ac: 709a strb r2, [r3, #2]
80003ae: 70da strb r2, [r3, #3]
80003b0: 711a strb r2, [r3, #4]
80003b2: 4770 bx lr
80003b4: 2000001c .word 0x2000001c
080003b8 <health_monitor_process>:
80003b8: 4770 bx lr
080003ba <timeout_start>:
80003ba: b538 push {r3, r4, r5, lr}
80003bc: 4604 mov r4, r0
80003be: 460d mov r5, r1
80003c0: f7ff fee7 bl 8000192 <timer_get_us>
80003c4: 2301 movs r3, #1
80003c6: 7223 strb r3, [r4, #8]
80003c8: e9c4 0500 strd r0, r5, [r4]
80003cc: bd38 pop {r3, r4, r5, pc}
080003ce <timeout_expired>:
80003ce: b510 push {r4, lr}
80003d0: 7a03 ldrb r3, [r0, #8]
80003d2: 4604 mov r4, r0
80003d4: b90b cbnz r3, 80003da <timeout_expired+0xc>
80003d6: 2000 movs r0, #0
80003d8: bd10 pop {r4, pc}
80003da: f7ff feda bl 8000192 <timer_get_us>
80003de: 6823 ldr r3, [r4, #0]
80003e0: 1ac0 subs r0, r0, r3
80003e2: 6863 ldr r3, [r4, #4]
80003e4: 4298 cmp r0, r3
80003e6: d3f6 bcc.n 80003d6 <timeout_expired+0x8>
80003e8: 2300 movs r3, #0
80003ea: 2001 movs r0, #1
80003ec: 7223 strb r3, [r4, #8]
80003ee: e7f3 b.n 80003d8 <timeout_expired+0xa>
080003f0 <boot_diag_init>:
80003f0: 2201 movs r2, #1
80003f2: 4b03 ldr r3, [pc, #12] @ (8000400 <boot_diag_init+0x10>)
80003f4: 701a strb r2, [r3, #0]
80003f6: 705a strb r2, [r3, #1]
80003f8: 709a strb r2, [r3, #2]
80003fa: 70da strb r2, [r3, #3]
80003fc: 711a strb r2, [r3, #4]
80003fe: 4770 bx lr
8000400: 20000021 .word 0x20000021
08000404 <boot_diag_process>:
8000404: 4770 bx lr
...
08000408 <power_manager_init>:
8000408: 2200 movs r2, #0
800040a: 4b01 ldr r3, [pc, #4] @ (8000410 <power_manager_init+0x8>)
800040c: 701a strb r2, [r3, #0]
800040e: 4770 bx lr
8000410: 20000026 .word 0x20000026
08000414 <power_manager_process>:
8000414: 4770 bx lr
...
08000418 <nv_stats_init>:
8000418: 4b04 ldr r3, [pc, #16] @ (800042c <nv_stats_init+0x14>)
800041a: 681a ldr r2, [r3, #0]
800041c: 3201 adds r2, #1
800041e: 601a str r2, [r3, #0]
8000420: 2200 movs r2, #0
8000422: e9c3 2201 strd r2, r2, [r3, #4]
8000426: 60da str r2, [r3, #12]
8000428: 4770 bx lr
800042a: bf00 nop
800042c: 20000028 .word 0x20000028
08000430 <nv_stats_process>:
8000430: 4770 bx lr
...
08000434 <panic_init>:
8000434: 2200 movs r2, #0
8000436: 4b01 ldr r3, [pc, #4] @ (800043c <panic_init+0x8>)
8000438: 701a strb r2, [r3, #0]
800043a: 4770 bx lr
800043c: 20000038 .word 0x20000038
08000440 <panic_handler>:
8000440: 4604 mov r4, r0
8000442: b508 push {r3, lr}
8000444: 4b11 ldr r3, [pc, #68] @ (800048c <panic_handler+0x4c>)
8000446: 3c01 subs r4, #1
8000448: 7018 strb r0, [r3, #0]
800044a: 4811 ldr r0, [pc, #68] @ (8000490 <panic_handler+0x50>)
800044c: f7ff ff6b bl 8000326 <debug_log>
8000450: 4810 ldr r0, [pc, #64] @ (8000494 <panic_handler+0x54>)
8000452: f7ff ff68 bl 8000326 <debug_log>
8000456: 2c03 cmp r4, #3
8000458: d813 bhi.n 8000482 <panic_handler+0x42>
800045a: e8df f004 tbb [pc, r4]
800045e: 0602 .short 0x0602
8000460: 0e0a .short 0x0e0a
8000462: 480d ldr r0, [pc, #52] @ (8000498 <panic_handler+0x58>)
8000464: f7ff ff5f bl 8000326 <debug_log>
8000468: e7fe b.n 8000468 <panic_handler+0x28>
800046a: 480c ldr r0, [pc, #48] @ (800049c <panic_handler+0x5c>)
800046c: f7ff ff5b bl 8000326 <debug_log>
8000470: e7fa b.n 8000468 <panic_handler+0x28>
8000472: 480b ldr r0, [pc, #44] @ (80004a0 <panic_handler+0x60>)
8000474: f7ff ff57 bl 8000326 <debug_log>
8000478: e7f6 b.n 8000468 <panic_handler+0x28>
800047a: 480a ldr r0, [pc, #40] @ (80004a4 <panic_handler+0x64>)
800047c: f7ff ff53 bl 8000326 <debug_log>
8000480: e7f2 b.n 8000468 <panic_handler+0x28>
8000482: 4809 ldr r0, [pc, #36] @ (80004a8 <panic_handler+0x68>)
8000484: f7ff ff4f bl 8000326 <debug_log>
8000488: e7ee b.n 8000468 <panic_handler+0x28>
800048a: bf00 nop
800048c: 20000038 .word 0x20000038
8000490: 08000ac6 .word 0x08000ac6
8000494: 08000ab2 .word 0x08000ab2
8000498: 08000ac9 .word 0x08000ac9
800049c: 08000ae0 .word 0x08000ae0
80004a0: 08000af3 .word 0x08000af3
80004a4: 08000b0b .word 0x08000b0b
80004a8: 08000b1c .word 0x08000b1c
080004ac <memory_init>:
80004ac: 2200 movs r2, #0
80004ae: 4b03 ldr r3, [pc, #12] @ (80004bc <memory_init+0x10>)
80004b0: e9c3 2200 strd r2, r2, [r3]
80004b4: e9c3 2202 strd r2, r2, [r3, #8]
80004b8: 4770 bx lr
80004ba: bf00 nop
80004bc: 2000003c .word 0x2000003c
080004c0 <memory_process>:
80004c0: 4770 bx lr
...
080004c4 <task_init>:
80004c4: 2200 movs r2, #0
80004c6: 4611 mov r1, r2
80004c8: 4b05 ldr r3, [pc, #20] @ (80004e0 <task_init+0x1c>)
80004ca: 3204 adds r2, #4
80004cc: 2a40 cmp r2, #64 @ 0x40
80004ce: e9c3 1100 strd r1, r1, [r3]
80004d2: 6099 str r1, [r3, #8]
80004d4: 7319 strb r1, [r3, #12]
80004d6: f103 0310 add.w r3, r3, #16
80004da: d1f6 bne.n 80004ca <task_init+0x6>
80004dc: 4770 bx lr
80004de: bf00 nop
80004e0: 2000004c .word 0x2000004c
080004e4 <task_process>:
80004e4: b570 push {r4, r5, r6, lr}
80004e6: f7ff fe54 bl 8000192 <timer_get_us>
80004ea: 2600 movs r6, #0
80004ec: 4605 mov r5, r0
80004ee: 4c09 ldr r4, [pc, #36] @ (8000514 <task_process+0x30>)
80004f0: 7b23 ldrb r3, [r4, #12]
80004f2: b143 cbz r3, 8000506 <task_process+0x22>
80004f4: 6822 ldr r2, [r4, #0]
80004f6: b132 cbz r2, 8000506 <task_process+0x22>
80004f8: 68a3 ldr r3, [r4, #8]
80004fa: 6861 ldr r1, [r4, #4]
80004fc: 1aeb subs r3, r5, r3
80004fe: 428b cmp r3, r1
8000500: d301 bcc.n 8000506 <task_process+0x22>
8000502: 60a5 str r5, [r4, #8]
8000504: 4790 blx r2
8000506: 3604 adds r6, #4
8000508: 2e40 cmp r6, #64 @ 0x40
800050a: f104 0410 add.w r4, r4, #16
800050e: d1ef bne.n 80004f0 <task_process+0xc>
8000510: bd70 pop {r4, r5, r6, pc}
8000512: bf00 nop
8000514: 2000004c .word 0x2000004c
08000518 <soft_timer_init>:
8000518: 2200 movs r2, #0
800051a: 4611 mov r1, r2
800051c: 4b05 ldr r3, [pc, #20] @ (8000534 <soft_timer_init+0x1c>)
800051e: 3203 adds r2, #3
8000520: 2a30 cmp r2, #48 @ 0x30
8000522: e9c3 1100 strd r1, r1, [r3]
8000526: 7219 strb r1, [r3, #8]
8000528: 7259 strb r1, [r3, #9]
800052a: f103 030c add.w r3, r3, #12
800052e: d1f6 bne.n 800051e <soft_timer_init+0x6>
8000530: 4770 bx lr
8000532: bf00 nop
8000534: 2000014c .word 0x2000014c
08000538 <soft_timer_process>:
8000538: b570 push {r4, r5, r6, lr}
800053a: f7ff fe2a bl 8000192 <timer_get_us>
800053e: 2200 movs r2, #0
8000540: 2401 movs r4, #1
8000542: 4615 mov r5, r2
8000544: 4b07 ldr r3, [pc, #28] @ (8000564 <soft_timer_process+0x2c>)
8000546: 7a19 ldrb r1, [r3, #8]
8000548: b131 cbz r1, 8000558 <soft_timer_process+0x20>
800054a: 6819 ldr r1, [r3, #0]
800054c: 685e ldr r6, [r3, #4]
800054e: 1a41 subs r1, r0, r1
8000550: 42b1 cmp r1, r6
8000552: bf24 itt cs
8000554: 725c strbcs r4, [r3, #9]
8000556: 721d strbcs r5, [r3, #8]
8000558: 3203 adds r2, #3
800055a: 2a30 cmp r2, #48 @ 0x30
800055c: f103 030c add.w r3, r3, #12
8000560: d1f1 bne.n 8000546 <soft_timer_process+0xe>
8000562: bd70 pop {r4, r5, r6, pc}
8000564: 2000014c .word 0x2000014c
08000568 <ringbuffer_init>:
8000568: 2300 movs r3, #0
800056a: 8003 strh r3, [r0, #0]
800056c: 8043 strh r3, [r0, #2]
800056e: 4770 bx lr
08000570 <ringbuffer_read>:
8000570: 8802 ldrh r2, [r0, #0]
8000572: 8843 ldrh r3, [r0, #2]
8000574: b292 uxth r2, r2
8000576: b29b uxth r3, r3
8000578: 429a cmp r2, r3
800057a: d00a beq.n 8000592 <ringbuffer_read+0x22>
800057c: 8843 ldrh r3, [r0, #2]
800057e: b29b uxth r3, r3
8000580: 4403 add r3, r0
8000582: 791b ldrb r3, [r3, #4]
8000584: 700b strb r3, [r1, #0]
8000586: 8843 ldrh r3, [r0, #2]
8000588: 3301 adds r3, #1
800058a: b2db uxtb r3, r3
800058c: 8043 strh r3, [r0, #2]
800058e: 2001 movs r0, #1
8000590: 4770 bx lr
8000592: 2000 movs r0, #0
8000594: 4770 bx lr
08000596 <avclan_init>:
8000596: f000 b877 b.w 8000688 <avclan_gpio_init>
0800059a <avclan_process>:
800059a: 4770 bx lr
0800059c <avclan_phy_init>:
800059c: b508 push {r3, lr}
800059e: f000 f813 bl 80005c8 <avclan_capture_init>
80005a2: e8bd 4008 ldmia.w sp!, {r3, lr}
80005a6: f000 b825 b.w 80005f4 <avclan_fsm_init>
080005aa <avclan_phy_process>:
80005aa: b508 push {r3, lr}
80005ac: f000 f81c bl 80005e8 <avclan_capture_available>
80005b0: b128 cbz r0, 80005be <avclan_phy_process+0x14>
80005b2: f000 f811 bl 80005d8 <avclan_capture_get_pulse>
80005b6: e8bd 4008 ldmia.w sp!, {r3, lr}
80005ba: f000 b825 b.w 8000608 <avclan_fsm_process>
80005be: bd08 pop {r3, pc}
080005c0 <avclan_frame_init>:
80005c0: 4770 bx lr
080005c2 <avclan_frame_process>:
80005c2: 4770 bx lr
080005c4 <avclan_timing_init>:
80005c4: 4770 bx lr
080005c6 <avclan_timing_process>:
80005c6: 4770 bx lr
080005c8 <avclan_capture_init>:
80005c8: 2200 movs r2, #0
80005ca: 4b02 ldr r3, [pc, #8] @ (80005d4 <avclan_capture_init+0xc>)
80005cc: e9c3 2200 strd r2, r2, [r3]
80005d0: 721a strb r2, [r3, #8]
80005d2: 4770 bx lr
80005d4: 2000020c .word 0x2000020c
080005d8 <avclan_capture_get_pulse>:
80005d8: 2200 movs r2, #0
80005da: 4b02 ldr r3, [pc, #8] @ (80005e4 <avclan_capture_get_pulse+0xc>)
80005dc: 6858 ldr r0, [r3, #4]
80005de: 721a strb r2, [r3, #8]
80005e0: 4770 bx lr
80005e2: bf00 nop
80005e4: 2000020c .word 0x2000020c
080005e8 <avclan_capture_available>:
80005e8: 4b01 ldr r3, [pc, #4] @ (80005f0 <avclan_capture_available+0x8>)
80005ea: 7a18 ldrb r0, [r3, #8]
80005ec: 4770 bx lr
80005ee: bf00 nop
80005f0: 2000020c .word 0x2000020c
080005f4 <avclan_fsm_init>:
80005f4: 2300 movs r3, #0
80005f6: 4a02 ldr r2, [pc, #8] @ (8000600 <avclan_fsm_init+0xc>)
80005f8: 7013 strb r3, [r2, #0]
80005fa: 4a02 ldr r2, [pc, #8] @ (8000604 <avclan_fsm_init+0x10>)
80005fc: 7013 strb r3, [r2, #0]
80005fe: 4770 bx lr
8000600: 20000219 .word 0x20000219
8000604: 20000218 .word 0x20000218
08000608 <avclan_fsm_process>:
8000608: 4b13 ldr r3, [pc, #76] @ (8000658 <avclan_fsm_process+0x50>)
800060a: 781a ldrb r2, [r3, #0]
800060c: 2a03 cmp r2, #3
800060e: d820 bhi.n 8000652 <avclan_fsm_process+0x4a>
8000610: e8df f002 tbb [pc, r2]
8000614: 0f0d0802 .word 0x0f0d0802
8000618: 3805 subs r0, #5
800061a: 2804 cmp r0, #4
800061c: d801 bhi.n 8000622 <avclan_fsm_process+0x1a>
800061e: 2201 movs r2, #1
8000620: 701a strb r2, [r3, #0]
8000622: 4770 bx lr
8000624: 3810 subs r0, #16
8000626: 2808 cmp r0, #8
8000628: d813 bhi.n 8000652 <avclan_fsm_process+0x4a>
800062a: 2202 movs r2, #2
800062c: e7f8 b.n 8000620 <avclan_fsm_process+0x18>
800062e: 2203 movs r2, #3
8000630: e7f6 b.n 8000620 <avclan_fsm_process+0x18>
8000632: 380a subs r0, #10
8000634: 2806 cmp r0, #6
8000636: 4a09 ldr r2, [pc, #36] @ (800065c <avclan_fsm_process+0x54>)
8000638: d807 bhi.n 800064a <avclan_fsm_process+0x42>
800063a: 7813 ldrb r3, [r2, #0]
800063c: 3301 adds r3, #1
800063e: b2db uxtb r3, r3
8000640: 2b07 cmp r3, #7
8000642: bf88 it hi
8000644: 2300 movhi r3, #0
8000646: 7013 strb r3, [r2, #0]
8000648: 4770 bx lr
800064a: 2100 movs r1, #0
800064c: 7019 strb r1, [r3, #0]
800064e: 7011 strb r1, [r2, #0]
8000650: 4770 bx lr
8000652: 2200 movs r2, #0
8000654: e7e4 b.n 8000620 <avclan_fsm_process+0x18>
8000656: bf00 nop
8000658: 20000219 .word 0x20000219
800065c: 20000218 .word 0x20000218
08000660 <avclan_tx_enable>:
8000660: 4a03 ldr r2, [pc, #12] @ (8000670 <avclan_tx_enable+0x10>)
8000662: f8d2 3c0c ldr.w r3, [r2, #3084] @ 0xc0c
8000666: f043 0308 orr.w r3, r3, #8
800066a: f8c2 3c0c str.w r3, [r2, #3084] @ 0xc0c
800066e: 4770 bx lr
8000670: 40010000 .word 0x40010000
08000674 <avclan_tx_disable>:
8000674: 4a03 ldr r2, [pc, #12] @ (8000684 <avclan_tx_disable+0x10>)
8000676: f8d2 3c0c ldr.w r3, [r2, #3084] @ 0xc0c
800067a: f023 0308 bic.w r3, r3, #8
800067e: f8c2 3c0c str.w r3, [r2, #3084] @ 0xc0c
8000682: 4770 bx lr
8000684: 40010000 .word 0x40010000
08000688 <avclan_gpio_init>:
8000688: 4b0d ldr r3, [pc, #52] @ (80006c0 <avclan_gpio_init+0x38>)
800068a: f8d3 2c00 ldr.w r2, [r3, #3072] @ 0xc00
800068e: f422 4270 bic.w r2, r2, #61440 @ 0xf000
8000692: f8c3 2c00 str.w r2, [r3, #3072] @ 0xc00
8000696: f8d3 2c00 ldr.w r2, [r3, #3072] @ 0xc00
800069a: f442 5240 orr.w r2, r2, #12288 @ 0x3000
800069e: f8c3 2c00 str.w r2, [r3, #3072] @ 0xc00
80006a2: f8d3 2c00 ldr.w r2, [r3, #3072] @ 0xc00
80006a6: f422 2270 bic.w r2, r2, #983040 @ 0xf0000
80006aa: f8c3 2c00 str.w r2, [r3, #3072] @ 0xc00
80006ae: f8d3 2c00 ldr.w r2, [r3, #3072] @ 0xc00
80006b2: f442 2280 orr.w r2, r2, #262144 @ 0x40000
80006b6: f8c3 2c00 str.w r2, [r3, #3072] @ 0xc00
80006ba: f7ff bfdb b.w 8000674 <avclan_tx_disable>
80006be: bf00 nop
80006c0: 40010000 .word 0x40010000
080006c4 <avclan_tx_init>:
80006c4: 2200 movs r2, #0
80006c6: b508 push {r3, lr}
80006c8: 4b03 ldr r3, [pc, #12] @ (80006d8 <avclan_tx_init+0x14>)
80006ca: 701a strb r2, [r3, #0]
80006cc: f000 f878 bl 80007c0 <avclan_queue_init>
80006d0: e8bd 4008 ldmia.w sp!, {r3, lr}
80006d4: f7ff bfce b.w 8000674 <avclan_tx_disable>
80006d8: 2000023b .word 0x2000023b
080006dc <avclan_tx_send_byte>:
80006dc: b510 push {r4, lr}
80006de: 2408 movs r4, #8
80006e0: 200a movs r0, #10
80006e2: 3c01 subs r4, #1
80006e4: f7ff fd62 bl 80001ac <delay>
80006e8: f014 04ff ands.w r4, r4, #255 @ 0xff
80006ec: d1f8 bne.n 80006e0 <avclan_tx_send_byte+0x4>
80006ee: bd10 pop {r4, pc}
080006f0 <avclan_tx_process>:
80006f0: b5f8 push {r3, r4, r5, r6, r7, lr}
80006f2: 4e13 ldr r6, [pc, #76] @ (8000740 <avclan_tx_process+0x50>)
80006f4: 7834 ldrb r4, [r6, #0]
80006f6: b9ec cbnz r4, 8000734 <avclan_tx_process+0x44>
80006f8: 4d12 ldr r5, [pc, #72] @ (8000744 <avclan_tx_process+0x54>)
80006fa: 4628 mov r0, r5
80006fc: f000 f86a bl 80007d4 <avclan_queue_pop>
8000700: b1c0 cbz r0, 8000734 <avclan_tx_process+0x44>
8000702: 2301 movs r3, #1
8000704: f895 1020 ldrb.w r1, [r5, #32]
8000708: 4628 mov r0, r5
800070a: 7033 strb r3, [r6, #0]
800070c: f000 f890 bl 8000830 <avclan_checksum_calculate>
8000710: 4607 mov r7, r0
8000712: f7ff ffa5 bl 8000660 <avclan_tx_enable>
8000716: 200a movs r0, #10
8000718: f7ff fd48 bl 80001ac <delay>
800071c: f895 2020 ldrb.w r2, [r5, #32]
8000720: b2e3 uxtb r3, r4
8000722: 429a cmp r2, r3
8000724: d807 bhi.n 8000736 <avclan_tx_process+0x46>
8000726: 4638 mov r0, r7
8000728: f7ff ffd8 bl 80006dc <avclan_tx_send_byte>
800072c: f7ff ffa2 bl 8000674 <avclan_tx_disable>
8000730: 2300 movs r3, #0
8000732: 7033 strb r3, [r6, #0]
8000734: bdf8 pop {r3, r4, r5, r6, r7, pc}
8000736: 5ce8 ldrb r0, [r5, r3]
8000738: f7ff ffd0 bl 80006dc <avclan_tx_send_byte>
800073c: 3401 adds r4, #1
800073e: e7ed b.n 800071c <avclan_tx_process+0x2c>
8000740: 2000023b .word 0x2000023b
8000744: 2000021a .word 0x2000021a
08000748 <avclan_rx_init>:
8000748: 2300 movs r3, #0
800074a: 4a02 ldr r2, [pc, #8] @ (8000754 <avclan_rx_init+0xc>)
800074c: 7013 strb r3, [r2, #0]
800074e: 4a02 ldr r2, [pc, #8] @ (8000758 <avclan_rx_init+0x10>)
8000750: 7013 strb r3, [r2, #0]
8000752: 4770 bx lr
8000754: 2000023d .word 0x2000023d
8000758: 2000023c .word 0x2000023c
0800075c <avclan_rx_process>:
800075c: b510 push {r4, lr}
800075e: 4c06 ldr r4, [pc, #24] @ (8000778 <avclan_rx_process+0x1c>)
8000760: 7823 ldrb r3, [r4, #0]
8000762: b13b cbz r3, 8000774 <avclan_rx_process+0x18>
8000764: 4b05 ldr r3, [pc, #20] @ (800077c <avclan_rx_process+0x20>)
8000766: 7818 ldrb r0, [r3, #0]
8000768: f000 f80e bl 8000788 <avclan_keys_input>
800076c: 2300 movs r3, #0
800076e: 4a04 ldr r2, [pc, #16] @ (8000780 <avclan_rx_process+0x24>)
8000770: 7023 strb r3, [r4, #0]
8000772: 7013 strb r3, [r2, #0]
8000774: bd10 pop {r4, pc}
8000776: bf00 nop
8000778: 2000023c .word 0x2000023c
800077c: 2000023e .word 0x2000023e
8000780: 2000023d .word 0x2000023d
08000784 <avclan_keys_init>:
8000784: 4770 bx lr
08000786 <avclan_keys_process>:
8000786: 4770 bx lr
08000788 <avclan_keys_input>:
8000788: 3801 subs r0, #1
800078a: 2804 cmp r0, #4
800078c: d80f bhi.n 80007ae <avclan_keys_input+0x26>
800078e: e8df f000 tbb [pc, r0]
8000792: 0603 .short 0x0603
8000794: 0a08 .short 0x0a08
8000796: 0c .byte 0x0c
8000797: 00 .byte 0x00
8000798: 2001 movs r0, #1
800079a: f000 b8e3 b.w 8000964 <bridge_protocol_send_key>
800079e: 2002 movs r0, #2
80007a0: e7fb b.n 800079a <avclan_keys_input+0x12>
80007a2: 2003 movs r0, #3
80007a4: e7f9 b.n 800079a <avclan_keys_input+0x12>
80007a6: 2004 movs r0, #4
80007a8: e7f7 b.n 800079a <avclan_keys_input+0x12>
80007aa: 2005 movs r0, #5
80007ac: e7f5 b.n 800079a <avclan_keys_input+0x12>
80007ae: 4770 bx lr
080007b0 <avclan_amp_init>:
80007b0: 4770 bx lr
080007b2 <avclan_amp_process>:
80007b2: 4770 bx lr
080007b4 <avclan_cdchanger_init>:
80007b4: f000 b848 b.w 8000848 <avclan_builder_init>
080007b8 <avclan_cdchanger_process>:
80007b8: 4770 bx lr
080007ba <avclan_devices_init>:
80007ba: 4770 bx lr
080007bc <avclan_devices_process>:
80007bc: 4770 bx lr
...
080007c0 <avclan_queue_init>:
80007c0: 2200 movs r2, #0
80007c2: 4b03 ldr r3, [pc, #12] @ (80007d0 <avclan_queue_init+0x10>)
80007c4: f883 2210 strb.w r2, [r3, #528] @ 0x210
80007c8: f883 2211 strb.w r2, [r3, #529] @ 0x211
80007cc: 4770 bx lr
80007ce: bf00 nop
80007d0: 2000025e .word 0x2000025e
080007d4 <avclan_queue_pop>:
80007d4: b510 push {r4, lr}
80007d6: 4b15 ldr r3, [pc, #84] @ (800082c <avclan_queue_pop+0x58>)
80007d8: f893 1210 ldrb.w r1, [r3, #528] @ 0x210
80007dc: f893 2211 ldrb.w r2, [r3, #529] @ 0x211
80007e0: 4291 cmp r1, r2
80007e2: d020 beq.n 8000826 <avclan_queue_pop+0x52>
80007e4: 2400 movs r4, #0
80007e6: f893 2211 ldrb.w r2, [r3, #529] @ 0x211
80007ea: b2e1 uxtb r1, r4
80007ec: eb02 1242 add.w r2, r2, r2, lsl #5
80007f0: 441a add r2, r3
80007f2: f892 2020 ldrb.w r2, [r2, #32]
80007f6: 428a cmp r2, r1
80007f8: f893 2211 ldrb.w r2, [r3, #529] @ 0x211
80007fc: eb02 1242 add.w r2, r2, r2, lsl #5
8000800: 441a add r2, r3
8000802: d80c bhi.n 800081e <avclan_queue_pop+0x4a>
8000804: f892 2020 ldrb.w r2, [r2, #32]
8000808: f880 2020 strb.w r2, [r0, #32]
800080c: 2001 movs r0, #1
800080e: f893 2211 ldrb.w r2, [r3, #529] @ 0x211
8000812: 3201 adds r2, #1
8000814: f002 020f and.w r2, r2, #15
8000818: f883 2211 strb.w r2, [r3, #529] @ 0x211
800081c: bd10 pop {r4, pc}
800081e: 5c52 ldrb r2, [r2, r1]
8000820: 3401 adds r4, #1
8000822: 5442 strb r2, [r0, r1]
8000824: e7df b.n 80007e6 <avclan_queue_pop+0x12>
8000826: 2000 movs r0, #0
8000828: e7f8 b.n 800081c <avclan_queue_pop+0x48>
800082a: bf00 nop
800082c: 2000025e .word 0x2000025e
08000830 <avclan_checksum_calculate>:
8000830: 2300 movs r3, #0
8000832: 4401 add r1, r0
8000834: 4288 cmp r0, r1
8000836: d102 bne.n 800083e <avclan_checksum_calculate+0xe>
8000838: 43d8 mvns r0, r3
800083a: b2c0 uxtb r0, r0
800083c: 4770 bx lr
800083e: f810 2b01 ldrb.w r2, [r0], #1
8000842: 4413 add r3, r2
8000844: b2db uxtb r3, r3
8000846: e7f5 b.n 8000834 <avclan_checksum_calculate+0x4>
08000848 <avclan_builder_init>:
8000848: 4770 bx lr
...
0800084c <avclan_diag_init>:
800084c: 2200 movs r2, #0
800084e: 4b03 ldr r3, [pc, #12] @ (800085c <avclan_diag_init+0x10>)
8000850: e9c3 2200 strd r2, r2, [r3]
8000854: e9c3 2202 strd r2, r2, [r3, #8]
8000858: 611a str r2, [r3, #16]
800085a: 4770 bx lr
800085c: 20000470 .word 0x20000470
08000860 <avclan_diag_process>:
8000860: 4770 bx lr
...
08000864 <avclan_arbitration_init>:
8000864: 2200 movs r2, #0
8000866: 4b03 ldr r3, [pc, #12] @ (8000874 <avclan_arbitration_init+0x10>)
8000868: f44f 71fa mov.w r1, #500 @ 0x1f4
800086c: 4802 ldr r0, [pc, #8] @ (8000878 <avclan_arbitration_init+0x14>)
800086e: 701a strb r2, [r3, #0]
8000870: f7ff bda3 b.w 80003ba <timeout_start>
8000874: 20000490 .word 0x20000490
8000878: 20000484 .word 0x20000484
0800087c <avclan_arbitration_process>:
800087c: b508 push {r3, lr}
800087e: 4804 ldr r0, [pc, #16] @ (8000890 <avclan_arbitration_process+0x14>)
8000880: f7ff fda5 bl 80003ce <timeout_expired>
8000884: b110 cbz r0, 800088c <avclan_arbitration_process+0x10>
8000886: 2200 movs r2, #0
8000888: 4b02 ldr r3, [pc, #8] @ (8000894 <avclan_arbitration_process+0x18>)
800088a: 701a strb r2, [r3, #0]
800088c: bd08 pop {r3, pc}
800088e: bf00 nop
8000890: 20000484 .word 0x20000484
8000894: 20000490 .word 0x20000490
08000898 <avclan_retry_init>:
8000898: 2200 movs r2, #0
800089a: 4b02 ldr r3, [pc, #8] @ (80008a4 <avclan_retry_init+0xc>)
800089c: 701a strb r2, [r3, #0]
800089e: 705a strb r2, [r3, #1]
80008a0: 4770 bx lr
80008a2: bf00 nop
80008a4: 20000491 .word 0x20000491
080008a8 <avclan_retry_process>:
80008a8: 4770 bx lr
...
080008ac <avclan_ack_init>:
80008ac: 2200 movs r2, #0
80008ae: 4b01 ldr r3, [pc, #4] @ (80008b4 <avclan_ack_init+0x8>)
80008b0: 701a strb r2, [r3, #0]
80008b2: 4770 bx lr
80008b4: 200004a0 .word 0x200004a0
080008b8 <avclan_ack_process>:
80008b8: b510 push {r4, lr}
80008ba: 4c05 ldr r4, [pc, #20] @ (80008d0 <avclan_ack_process+0x18>)
80008bc: 7823 ldrb r3, [r4, #0]
80008be: 2b01 cmp r3, #1
80008c0: d105 bne.n 80008ce <avclan_ack_process+0x16>
80008c2: 4804 ldr r0, [pc, #16] @ (80008d4 <avclan_ack_process+0x1c>)
80008c4: f7ff fd83 bl 80003ce <timeout_expired>
80008c8: b108 cbz r0, 80008ce <avclan_ack_process+0x16>
80008ca: 2303 movs r3, #3
80008cc: 7023 strb r3, [r4, #0]
80008ce: bd10 pop {r4, pc}
80008d0: 200004a0 .word 0x200004a0
80008d4: 20000494 .word 0x20000494
080008d8 <avclan_state_init>:
80008d8: 2200 movs r2, #0
80008da: 4b01 ldr r3, [pc, #4] @ (80008e0 <avclan_state_init+0x8>)
80008dc: 701a strb r2, [r3, #0]
80008de: 4770 bx lr
80008e0: 200004a1 .word 0x200004a1
080008e4 <avclan_state_process>:
80008e4: 4a05 ldr r2, [pc, #20] @ (80008fc <avclan_state_process+0x18>)
80008e6: 7813 ldrb r3, [r2, #0]
80008e8: b123 cbz r3, 80008f4 <avclan_state_process+0x10>
80008ea: 3b01 subs r3, #1
80008ec: 2b02 cmp r3, #2
80008ee: d903 bls.n 80008f8 <avclan_state_process+0x14>
80008f0: 2303 movs r3, #3
80008f2: e000 b.n 80008f6 <avclan_state_process+0x12>
80008f4: 2301 movs r3, #1