-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathfreertos_bcm2835.list
2862 lines (2699 loc) · 109 KB
/
freertos_bcm2835.list
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
freertos_bcm2835.elf: file format elf32-littlearm
Disassembly of section .init:
00008000 <_start>:
8000: e59ff018 ldr pc, [pc, #24] ; 8020 <reset_handler>
8004: e59ff018 ldr pc, [pc, #24] ; 8024 <undefined_handler>
8008: e59ff018 ldr pc, [pc, #24] ; 8028 <swi_handler>
800c: e59ff018 ldr pc, [pc, #24] ; 802c <prefetch_handler>
8010: e59ff018 ldr pc, [pc, #24] ; 8030 <data_handler>
8014: e59ff018 ldr pc, [pc, #24] ; 8034 <unused_handler>
8018: e59ff018 ldr pc, [pc, #24] ; 8038 <irq_handler>
801c: e59ff018 ldr pc, [pc, #24] ; 803c <fiq_handler>
00008020 <reset_handler>:
8020: 00008040 andeq r8, r0, r0, asr #32
00008024 <undefined_handler>:
8024: 00010000 andeq r0, r1, r0
00008028 <swi_handler>:
8028: 000106c8 andeq r0, r1, r8, asr #13
0000802c <prefetch_handler>:
802c: 00010004 andeq r0, r1, r4
00008030 <data_handler>:
8030: 00010008 andeq r0, r1, r8
00008034 <unused_handler>:
8034: 0001000c andeq r0, r1, ip
00008038 <irq_handler>:
8038: 00010770 andeq r0, r1, r0, ror r7
0000803c <fiq_handler>:
803c: 00010010 andeq r0, r1, r0, lsl r0
00008040 <reset>:
8040: e3a00902 mov r0, #32768 ; 0x8000
8044: e3a01000 mov r1, #0
8048: e8b003fc ldm r0!, {r2, r3, r4, r5, r6, r7, r8, r9}
804c: e8a103fc stmia r1!, {r2, r3, r4, r5, r6, r7, r8, r9}
8050: e8b003fc ldm r0!, {r2, r3, r4, r5, r6, r7, r8, r9}
8054: e8a103fc stmia r1!, {r2, r3, r4, r5, r6, r7, r8, r9}
8058: e3a000d2 mov r0, #210 ; 0xd2
805c: e121f000 msr CPSR_c, r0
8060: e3a0d902 mov sp, #32768 ; 0x8000
8064: e3a000d1 mov r0, #209 ; 0xd1
8068: e121f000 msr CPSR_c, r0
806c: e3a0d901 mov sp, #16384 ; 0x4000
8070: e3a000d3 mov r0, #211 ; 0xd3
8074: e121f000 msr CPSR_c, r0
8078: e3a0d302 mov sp, #134217728 ; 0x8000000
807c: e59f0018 ldr r0, [pc, #24] ; 809c <zero_loop+0x14>
8080: e59f1018 ldr r1, [pc, #24] ; 80a0 <zero_loop+0x18>
8084: e3a02000 mov r2, #0
00008088 <zero_loop>:
8088: e1500001 cmp r0, r1
808c: b4802004 strlt r2, [r0], #4
8090: bafffffc blt 8088 <zero_loop>
8094: eb00201d bl 10110 <irqBlock>
8098: ea002910 b 124e0 <main>
809c: 000125c8 andeq r2, r1, r8, asr #11
80a0: 000139b0 ; <UNDEFINED> instruction: 0x000139b0
Disassembly of section .text:
00010000 <undefined_instruction>:
10000: eafffffe b 10000 <undefined_instruction>
00010004 <prefetch_abort>:
10004: eafffffe b 10004 <prefetch_abort>
00010008 <data_abort>:
10008: eafffffe b 10008 <data_abort>
0001000c <unused>:
1000c: eafffffe b 1000c <unused>
00010010 <fiq>:
10010: eafffffe b 10010 <fiq>
00010014 <hang>:
10014: eafffffe b 10014 <hang>
00010018 <PUT32>:
10018: e5801000 str r1, [r0]
1001c: e12fff1e bx lr
00010020 <GET32>:
10020: e5900000 ldr r0, [r0]
10024: e12fff1e bx lr
00010028 <handleRange>:
10028: e92d41f0 push {r4, r5, r6, r7, r8, lr}
1002c: e2504000 subs r4, r0, #0
10030: e1a06001 mov r6, r1
10034: 08bd81f0 popeq {r4, r5, r6, r7, r8, pc}
10038: e59f5038 ldr r5, [pc, #56] ; 10078 <handleRange+0x50>
1003c: e3a08001 mov r8, #1
10040: e1a07005 mov r7, r5
10044: e16f0f14 clz r0, r4
10048: e260001f rsb r0, r0, #31
1004c: e1c44018 bic r4, r4, r8, lsl r0
10050: e0800006 add r0, r0, r6
10054: e7953180 ldr r3, [r5, r0, lsl #3]
10058: e0872180 add r2, r7, r0, lsl #3
1005c: e3530000 cmp r3, #0
10060: 0a000001 beq 1006c <handleRange+0x44>
10064: e5921004 ldr r1, [r2, #4]
10068: e12fff33 blx r3
1006c: e3540000 cmp r4, #0
10070: 1afffff3 bne 10044 <handleRange+0x1c>
10074: e8bd81f0 pop {r4, r5, r6, r7, r8, pc}
10078: 000125c8 andeq r2, r1, r8, asr #11
0001007c <irqHandler>:
1007c: e59f307c ldr r3, [pc, #124] ; 10100 <irqHandler+0x84>
10080: e92d4010 push {r4, lr}
10084: e5934200 ldr r4, [r3, #512] ; 0x200
10088: e3140c01 tst r4, #256 ; 0x100
1008c: 1a000014 bne 100e4 <irqHandler+0x68>
10090: e3140c02 tst r4, #512 ; 0x200
10094: 1a000008 bne 100bc <irqHandler+0x40>
10098: e31400ff tst r4, #255 ; 0xff
1009c: 08bd8010 popeq {r4, pc}
100a0: e59f305c ldr r3, [pc, #92] ; 10104 <irqHandler+0x88>
100a4: e3a01040 mov r1, #64 ; 0x40
100a8: e5933248 ldr r3, [r3, #584] ; 0x248
100ac: e0040003 and r0, r4, r3
100b0: e6ef0070 uxtb r0, r0
100b4: e8bd4010 pop {r4, lr}
100b8: eaffffda b 10028 <handleRange>
100bc: e59f303c ldr r3, [pc, #60] ; 10100 <irqHandler+0x84>
100c0: e3a01020 mov r1, #32
100c4: e5930208 ldr r0, [r3, #520] ; 0x208
100c8: e59f3034 ldr r3, [pc, #52] ; 10104 <irqHandler+0x88>
100cc: e5933244 ldr r3, [r3, #580] ; 0x244
100d0: e0000003 and r0, r0, r3
100d4: ebffffd3 bl 10028 <handleRange>
100d8: e31400ff tst r4, #255 ; 0xff
100dc: 08bd8010 popeq {r4, pc}
100e0: eaffffee b 100a0 <irqHandler+0x24>
100e4: e5930204 ldr r0, [r3, #516] ; 0x204
100e8: e59f3014 ldr r3, [pc, #20] ; 10104 <irqHandler+0x88>
100ec: e3a01000 mov r1, #0
100f0: e5933240 ldr r3, [r3, #576] ; 0x240
100f4: e0000003 and r0, r0, r3
100f8: ebffffca bl 10028 <handleRange>
100fc: eaffffe3 b 10090 <irqHandler+0x14>
10100: 2000b000 andcs fp, r0, r0
10104: 000125c8 andeq r2, r1, r8, asr #11
00010108 <irqUnblock>:
10108: f1080080 cpsie i
1010c: e12fff1e bx lr
00010110 <irqBlock>:
10110: f10c0080 cpsid i
10114: e12fff1e bx lr
00010118 <irqRegister>:
10118: e3500047 cmp r0, #71 ; 0x47
1011c: 812fff1e bxhi lr
10120: f10c0080 cpsid i
10124: e59f3010 ldr r3, [pc, #16] ; 1013c <irqRegister+0x24>
10128: e083c180 add ip, r3, r0, lsl #3
1012c: e7831180 str r1, [r3, r0, lsl #3]
10130: e58c2004 str r2, [ip, #4]
10134: f1080080 cpsie i
10138: e12fff1e bx lr
1013c: 000125c8 andeq r2, r1, r8, asr #11
00010140 <irqEnable>:
10140: e200301f and r3, r0, #31
10144: e3a02001 mov r2, #1
10148: e350001f cmp r0, #31
1014c: e1a03312 lsl r3, r2, r3
10150: 9a000011 bls 1019c <irqEnable+0x5c>
10154: e350003f cmp r0, #63 ; 0x3f
10158: 9a000008 bls 10180 <irqEnable+0x40>
1015c: e3500047 cmp r0, #71 ; 0x47
10160: 812fff1e bxhi lr
10164: e59f204c ldr r2, [pc, #76] ; 101b8 <irqEnable+0x78>
10168: e59f004c ldr r0, [pc, #76] ; 101bc <irqEnable+0x7c>
1016c: e5921248 ldr r1, [r2, #584] ; 0x248
10170: e5803218 str r3, [r0, #536] ; 0x218
10174: e1833001 orr r3, r3, r1
10178: e5823248 str r3, [r2, #584] ; 0x248
1017c: e12fff1e bx lr
10180: e59f2030 ldr r2, [pc, #48] ; 101b8 <irqEnable+0x78>
10184: e59f0030 ldr r0, [pc, #48] ; 101bc <irqEnable+0x7c>
10188: e5921244 ldr r1, [r2, #580] ; 0x244
1018c: e5803214 str r3, [r0, #532] ; 0x214
10190: e1833001 orr r3, r3, r1
10194: e5823244 str r3, [r2, #580] ; 0x244
10198: e12fff1e bx lr
1019c: e59f2014 ldr r2, [pc, #20] ; 101b8 <irqEnable+0x78>
101a0: e59f0014 ldr r0, [pc, #20] ; 101bc <irqEnable+0x7c>
101a4: e5921240 ldr r1, [r2, #576] ; 0x240
101a8: e5803210 str r3, [r0, #528] ; 0x210
101ac: e1833001 orr r3, r3, r1
101b0: e5823240 str r3, [r2, #576] ; 0x240
101b4: e12fff1e bx lr
101b8: 000125c8 andeq r2, r1, r8, asr #11
101bc: 2000b000 andcs fp, r0, r0
000101c0 <irqDisable>:
101c0: e200301f and r3, r0, #31
101c4: e3a02001 mov r2, #1
101c8: e350001f cmp r0, #31
101cc: e1a03312 lsl r3, r2, r3
101d0: 9a000011 bls 1021c <irqDisable+0x5c>
101d4: e350003f cmp r0, #63 ; 0x3f
101d8: 9a000008 bls 10200 <irqDisable+0x40>
101dc: e3500047 cmp r0, #71 ; 0x47
101e0: 812fff1e bxhi lr
101e4: e59f204c ldr r2, [pc, #76] ; 10238 <irqDisable+0x78>
101e8: e59f004c ldr r0, [pc, #76] ; 1023c <irqDisable+0x7c>
101ec: e5921248 ldr r1, [r2, #584] ; 0x248
101f0: e5803224 str r3, [r0, #548] ; 0x224
101f4: e1c13003 bic r3, r1, r3
101f8: e5823248 str r3, [r2, #584] ; 0x248
101fc: e12fff1e bx lr
10200: e59f2030 ldr r2, [pc, #48] ; 10238 <irqDisable+0x78>
10204: e59f0030 ldr r0, [pc, #48] ; 1023c <irqDisable+0x7c>
10208: e5921244 ldr r1, [r2, #580] ; 0x244
1020c: e5803220 str r3, [r0, #544] ; 0x220
10210: e1c13003 bic r3, r1, r3
10214: e5823244 str r3, [r2, #580] ; 0x244
10218: e12fff1e bx lr
1021c: e59f2014 ldr r2, [pc, #20] ; 10238 <irqDisable+0x78>
10220: e59f0014 ldr r0, [pc, #20] ; 1023c <irqDisable+0x7c>
10224: e5921240 ldr r1, [r2, #576] ; 0x240
10228: e580321c str r3, [r0, #540] ; 0x21c
1022c: e1c13003 bic r3, r1, r3
10230: e5823240 str r3, [r2, #576] ; 0x240
10234: e12fff1e bx lr
10238: 000125c8 andeq r2, r1, r8, asr #11
1023c: 2000b000 andcs fp, r0, r0
00010240 <init_uart>:
10240: e92d4038 push {r3, r4, r5, lr}
10244: e59f5088 ldr r5, [pc, #136] ; 102d4 <init_uart+0x94>
10248: e59f4088 ldr r4, [pc, #136] ; 102d8 <init_uart+0x98>
1024c: e1a00005 mov r0, r5
10250: e3a01000 mov r1, #0
10254: ebffff6f bl 10018 <PUT32>
10258: e59f007c ldr r0, [pc, #124] ; 102dc <init_uart+0x9c>
1025c: e3a01000 mov r1, #0
10260: ebffff6c bl 10018 <PUT32>
10264: e1a00004 mov r0, r4
10268: e3a01903 mov r1, #49152 ; 0xc000
1026c: ebffff69 bl 10018 <PUT32>
10270: e1a00004 mov r0, r4
10274: e3a01000 mov r1, #0
10278: ebffff66 bl 10018 <PUT32>
1027c: e59f005c ldr r0, [pc, #92] ; 102e0 <init_uart+0xa0>
10280: e59f105c ldr r1, [pc, #92] ; 102e4 <init_uart+0xa4>
10284: ebffff63 bl 10018 <PUT32>
10288: e59f0058 ldr r0, [pc, #88] ; 102e8 <init_uart+0xa8>
1028c: e3a01001 mov r1, #1
10290: ebffff60 bl 10018 <PUT32>
10294: e59f0050 ldr r0, [pc, #80] ; 102ec <init_uart+0xac>
10298: e3a01028 mov r1, #40 ; 0x28
1029c: ebffff5d bl 10018 <PUT32>
102a0: e59f0048 ldr r0, [pc, #72] ; 102f0 <init_uart+0xb0>
102a4: e3a01070 mov r1, #112 ; 0x70
102a8: ebffff5a bl 10018 <PUT32>
102ac: e59f1040 ldr r1, [pc, #64] ; 102f4 <init_uart+0xb4>
102b0: e59f0040 ldr r0, [pc, #64] ; 102f8 <init_uart+0xb8>
102b4: ebffff57 bl 10018 <PUT32>
102b8: e1a00005 mov r0, r5
102bc: e59f1038 ldr r1, [pc, #56] ; 102fc <init_uart+0xbc>
102c0: ebffff54 bl 10018 <PUT32>
102c4: e59f0034 ldr r0, [pc, #52] ; 10300 <init_uart+0xc0>
102c8: e3a01402 mov r1, #33554432 ; 0x2000000
102cc: e8bd4038 pop {r3, r4, r5, lr}
102d0: eaffff50 b 10018 <PUT32>
102d4: 20201030 eorcs r1, r0, r0, lsr r0
102d8: 20200098 mlacs r0, r8, r0, r0
102dc: 20200094 mlacs r0, r4, r0, r0
102e0: 20201044 eorcs r1, r0, r4, asr #32
102e4: 000007ff strdeq r0, [r0], -pc ; <UNPREDICTABLE>
102e8: 20201024 eorcs r1, r0, r4, lsr #32
102ec: 20201028 eorcs r1, r0, r8, lsr #32
102f0: 2020102c eorcs r1, r0, ip, lsr #32
102f4: 000007d2 ldrdeq r0, [r0], -r2
102f8: 20201038 eorcs r1, r0, r8, lsr r0
102fc: 00000301 andeq r0, r0, r1, lsl #6
10300: 2000b214 andcs fp, r0, r4, lsl r2
00010304 <uart_send>:
10304: e92d4010 push {r4, lr}
10308: e1a04000 mov r4, r0
1030c: e59f0018 ldr r0, [pc, #24] ; 1032c <uart_send+0x28>
10310: ebffff42 bl 10020 <GET32>
10314: e3100020 tst r0, #32
10318: 1afffffb bne 1030c <uart_send+0x8>
1031c: e59f000c ldr r0, [pc, #12] ; 10330 <uart_send+0x2c>
10320: e1a01004 mov r1, r4
10324: e8bd4010 pop {r4, lr}
10328: eaffff3a b 10018 <PUT32>
1032c: 20201018 eorcs r1, r0, r8, lsl r0
10330: 20201000 eorcs r1, r0, r0
00010334 <uart_getchar>:
10334: e92d4008 push {r3, lr}
10338: e59f0014 ldr r0, [pc, #20] ; 10354 <uart_getchar+0x20>
1033c: ebffff37 bl 10020 <GET32>
10340: e3100010 tst r0, #16
10344: 1afffffb bne 10338 <uart_getchar+0x4>
10348: e59f0008 ldr r0, [pc, #8] ; 10358 <uart_getchar+0x24>
1034c: e8bd4008 pop {r3, lr}
10350: eaffff32 b 10020 <GET32>
10354: 20201018 eorcs r1, r0, r8, lsl r0
10358: 20201000 eorcs r1, r0, r0
0001035c <hexstrings>:
1035c: e92d4038 push {r3, r4, r5, lr}
10360: e1a05000 mov r5, r0
10364: e3a04020 mov r4, #32
10368: e2444004 sub r4, r4, #4
1036c: e1a03435 lsr r3, r5, r4
10370: e203300f and r3, r3, #15
10374: e3530009 cmp r3, #9
10378: 82830037 addhi r0, r3, #55 ; 0x37
1037c: 92830030 addls r0, r3, #48 ; 0x30
10380: ebffffdf bl 10304 <uart_send>
10384: e3540000 cmp r4, #0
10388: 1afffff6 bne 10368 <hexstrings+0xc>
1038c: e3a00020 mov r0, #32
10390: e8bd4038 pop {r3, r4, r5, lr}
10394: eaffffda b 10304 <uart_send>
00010398 <hexstring>:
10398: e92d4008 push {r3, lr}
1039c: ebffffee bl 1035c <hexstrings>
103a0: e3a0000d mov r0, #13
103a4: ebffffd6 bl 10304 <uart_send>
103a8: e3a0000a mov r0, #10
103ac: e8bd4008 pop {r3, lr}
103b0: eaffffd3 b 10304 <uart_send>
000103b4 <print>:
103b4: e92d4010 push {r4, lr}
103b8: e1a04000 mov r4, r0
103bc: e5d00000 ldrb r0, [r0]
103c0: e3500000 cmp r0, #0
103c4: 0a000003 beq 103d8 <print+0x24>
103c8: ebffffcd bl 10304 <uart_send>
103cc: e5f40001 ldrb r0, [r4, #1]!
103d0: e3500000 cmp r0, #0
103d4: 1afffffb bne 103c8 <print+0x14>
103d8: e3a0000d mov r0, #13
103dc: ebffffc8 bl 10304 <uart_send>
103e0: e3a0000a mov r0, #10
103e4: e8bd4010 pop {r4, lr}
103e8: eaffffc5 b 10304 <uart_send>
000103ec <LED_Init>:
103ec: e92d4038 push {r3, r4, r5, lr}
103f0: e59f5034 ldr r5, [pc, #52] ; 1042c <LED_Init+0x40>
103f4: e59f4034 ldr r4, [pc, #52] ; 10430 <LED_Init+0x44>
103f8: e1a00005 mov r0, r5
103fc: ebffff07 bl 10020 <GET32>
10400: e3c0160e bic r1, r0, #14680064 ; 0xe00000
10404: e3811602 orr r1, r1, #2097152 ; 0x200000
10408: e1a00005 mov r0, r5
1040c: ebffff01 bl 10018 <PUT32>
10410: e1a00004 mov r0, r4
10414: ebffff01 bl 10020 <GET32>
10418: e3c0190e bic r1, r0, #229376 ; 0x38000
1041c: e3811902 orr r1, r1, #32768 ; 0x8000
10420: e1a00004 mov r0, r4
10424: e8bd4038 pop {r3, r4, r5, lr}
10428: eafffefa b 10018 <PUT32>
1042c: 20200010 eorcs r0, r0, r0, lsl r0
10430: 2020000c eorcs r0, r0, ip
00010434 <Green_Led_ON>:
10434: e59f0004 ldr r0, [pc, #4] ; 10440 <Green_Led_ON+0xc>
10438: e3a01902 mov r1, #32768 ; 0x8000
1043c: eafffef5 b 10018 <PUT32>
10440: 20200020 eorcs r0, r0, r0, lsr #32
00010444 <Green_Led_OFF>:
10444: e59f0004 ldr r0, [pc, #4] ; 10450 <Green_Led_OFF+0xc>
10448: e3a01902 mov r1, #32768 ; 0x8000
1044c: eafffef1 b 10018 <PUT32>
10450: 2020002c eorcs r0, r0, ip, lsr #32
00010454 <task2>:
10454: e92d4008 push {r3, lr}
10458: e59f0024 ldr r0, [pc, #36] ; 10484 <task2+0x30>
1045c: ebffffd4 bl 103b4 <print>
10460: e59f0020 ldr r0, [pc, #32] ; 10488 <task2+0x34>
10464: ebffffd2 bl 103b4 <print>
10468: e59f001c ldr r0, [pc, #28] ; 1048c <task2+0x38>
1046c: eb000711 bl 120b8 <vTaskDelay>
10470: ebffffef bl 10434 <Green_Led_ON>
10474: e59f0010 ldr r0, [pc, #16] ; 1048c <task2+0x38>
10478: eb00070e bl 120b8 <vTaskDelay>
1047c: ebfffff0 bl 10444 <Green_Led_OFF>
10480: eafffff6 b 10460 <task2+0xc>
10484: 00012560 andeq r2, r1, r0, ror #10
10488: 00012568 andeq r2, r1, r8, ror #10
1048c: 00000bb8 ; <UNDEFINED> instruction: 0x00000bb8
00010490 <Red_Led_ON>:
10490: e59f0004 ldr r0, [pc, #4] ; 1049c <Red_Led_ON+0xc>
10494: e3a01008 mov r1, #8
10498: eafffede b 10018 <PUT32>
1049c: 20200020 eorcs r0, r0, r0, lsr #32
000104a0 <Red_Led_OFF>:
104a0: e59f0004 ldr r0, [pc, #4] ; 104ac <Red_Led_OFF+0xc>
104a4: e3a01008 mov r1, #8
104a8: eafffeda b 10018 <PUT32>
104ac: 2020002c eorcs r0, r0, ip, lsr #32
000104b0 <task1>:
104b0: e92d4008 push {r3, lr}
104b4: e59f0024 ldr r0, [pc, #36] ; 104e0 <task1+0x30>
104b8: ebffffbd bl 103b4 <print>
104bc: e59f0020 ldr r0, [pc, #32] ; 104e4 <task1+0x34>
104c0: ebffffbb bl 103b4 <print>
104c4: e3a00ffa mov r0, #1000 ; 0x3e8
104c8: eb0006fa bl 120b8 <vTaskDelay>
104cc: ebffffef bl 10490 <Red_Led_ON>
104d0: e3a00ffa mov r0, #1000 ; 0x3e8
104d4: eb0006f7 bl 120b8 <vTaskDelay>
104d8: ebfffff0 bl 104a0 <Red_Led_OFF>
104dc: eafffff6 b 104bc <task1+0xc>
104e0: 00012574 andeq r2, r1, r4, ror r5
104e4: 0001257c andeq r2, r1, ip, ror r5
000104e8 <vTickISR>:
104e8: e92d4008 push {r3, lr}
104ec: eb000631 bl 11db8 <vTaskIncrementTick>
104f0: eb000748 bl 12218 <vTaskSwitchContext>
104f4: e59f3008 ldr r3, [pc, #8] ; 10504 <vTickISR+0x1c>
104f8: e3a02000 mov r2, #0
104fc: e583240c str r2, [r3, #1036] ; 0x40c
10500: e8bd8008 pop {r3, pc}
10504: 2000b000 andcs fp, r0, r0
00010508 <pxPortInitialiseStack>:
10508: e1a03000 mov r3, r0
1050c: e3110001 tst r1, #1
10510: e2811004 add r1, r1, #4
10514: e5031004 str r1, [r3, #-4]
10518: e59f1080 ldr r1, [pc, #128] ; 105a0 <pxPortInitialiseStack+0x98>
1051c: 03a0c01f moveq ip, #31
10520: 13a0c03f movne ip, #63 ; 0x3f
10524: e5031008 str r1, [r3, #-8]
10528: e59f1074 ldr r1, [pc, #116] ; 105a4 <pxPortInitialiseStack+0x9c>
1052c: e503300c str r3, [r3, #-12]
10530: e5031010 str r1, [r3, #-16]
10534: e59f106c ldr r1, [pc, #108] ; 105a8 <pxPortInitialiseStack+0xa0>
10538: e5032040 str r2, [r3, #-64] ; 0x40
1053c: e5031014 str r1, [r3, #-20]
10540: e59f1064 ldr r1, [pc, #100] ; 105ac <pxPortInitialiseStack+0xa4>
10544: e503c044 str ip, [r3, #-68] ; 0x44
10548: e5031018 str r1, [r3, #-24]
1054c: e59f105c ldr r1, [pc, #92] ; 105b0 <pxPortInitialiseStack+0xa8>
10550: e503101c str r1, [r3, #-28]
10554: e59f1058 ldr r1, [pc, #88] ; 105b4 <pxPortInitialiseStack+0xac>
10558: e5031020 str r1, [r3, #-32]
1055c: e59f1054 ldr r1, [pc, #84] ; 105b8 <pxPortInitialiseStack+0xb0>
10560: e5031024 str r1, [r3, #-36] ; 0x24
10564: e59f1050 ldr r1, [pc, #80] ; 105bc <pxPortInitialiseStack+0xb4>
10568: e5031028 str r1, [r3, #-40] ; 0x28
1056c: e59f104c ldr r1, [pc, #76] ; 105c0 <pxPortInitialiseStack+0xb8>
10570: e503102c str r1, [r3, #-44] ; 0x2c
10574: e59f1048 ldr r1, [pc, #72] ; 105c4 <pxPortInitialiseStack+0xbc>
10578: e5031030 str r1, [r3, #-48] ; 0x30
1057c: e59f1044 ldr r1, [pc, #68] ; 105c8 <pxPortInitialiseStack+0xc0>
10580: e5031034 str r1, [r3, #-52] ; 0x34
10584: e59f1040 ldr r1, [pc, #64] ; 105cc <pxPortInitialiseStack+0xc4>
10588: e5031038 str r1, [r3, #-56] ; 0x38
1058c: e59f103c ldr r1, [pc, #60] ; 105d0 <pxPortInitialiseStack+0xc8>
10590: e503103c str r1, [r3, #-60] ; 0x3c
10594: e3a03000 mov r3, #0
10598: e5203048 str r3, [r0, #-72]! ; 0x48
1059c: e12fff1e bx lr
105a0: aaaaaaaa bge feabb050 <_estack+0xf6aab050>
105a4: 12121212 andsne r1, r2, #536870913 ; 0x20000001
105a8: 11111111 tstne r1, r1, lsl r1
105ac: 10101010 andsne r1, r0, r0, lsl r0
105b0: 09090909 stmdbeq r9, {r0, r3, r8, fp}
105b4: 08080808 stmdaeq r8, {r3, fp}
105b8: 07070707 streq r0, [r7, -r7, lsl #14]
105bc: 06060606 streq r0, [r6], -r6, lsl #12
105c0: 05050505 streq r0, [r5, #-1285] ; 0x505
105c4: 04040404 streq r0, [r4], #-1028 ; 0x404
105c8: 03030303 movweq r0, #13059 ; 0x3303
105cc: 02020202 andeq r0, r2, #536870912 ; 0x20000000
105d0: 01010101 tsteq r1, r1, lsl #2
000105d4 <xPortStartScheduler>:
105d4: e92d4010 push {r4, lr}
105d8: ebfffecc bl 10110 <irqBlock>
105dc: e59f3050 ldr r3, [pc, #80] ; 10634 <xPortStartScheduler+0x60>
105e0: e59fc050 ldr ip, [pc, #80] ; 10638 <xPortStartScheduler+0x64>
105e4: e3a0e83e mov lr, #4063232 ; 0x3e0000
105e8: e583e408 str lr, [r3, #1032] ; 0x408
105ec: e583c400 str ip, [r3, #1024] ; 0x400
105f0: e583c418 str ip, [r3, #1048] ; 0x418
105f4: e3a0c0f9 mov ip, #249 ; 0xf9
105f8: e583c41c str ip, [r3, #1052] ; 0x41c
105fc: e59fc038 ldr ip, [pc, #56] ; 1063c <xPortStartScheduler+0x68>
10600: e3a04000 mov r4, #0
10604: e583440c str r4, [r3, #1036] ; 0x40c
10608: e59f1030 ldr r1, [pc, #48] ; 10640 <xPortStartScheduler+0x6c>
1060c: e1a02004 mov r2, r4
10610: e583c408 str ip, [r3, #1032] ; 0x408
10614: e3a00040 mov r0, #64 ; 0x40
10618: ebfffebe bl 10118 <irqRegister>
1061c: e3a00040 mov r0, #64 ; 0x40
10620: ebfffec6 bl 10140 <irqEnable>
10624: ebfffeb7 bl 10108 <irqUnblock>
10628: eb000006 bl 10648 <vPortISRStartFirstTask>
1062c: e1a00004 mov r0, r4
10630: e8bd8010 pop {r4, pc}
10634: 2000b000 andcs fp, r0, r0
10638: 000003e7 andeq r0, r0, r7, ror #7
1063c: 003e00a2 eorseq r0, lr, r2, lsr #1
10640: 000104e8 andeq r0, r1, r8, ror #9
00010644 <vPortEndScheduler>:
10644: e12fff1e bx lr
00010648 <vPortISRStartFirstTask>:
10648: e59f306c ldr r3, [pc, #108] ; 106bc <vPortISRStartFirstTask+0x74>
1064c: e5932000 ldr r2, [r3]
10650: e2822001 add r2, r2, #1
10654: e5832000 str r2, [r3]
10658: e10f0000 mrs r0, CPSR
1065c: e3c00080 bic r0, r0, #128 ; 0x80
10660: e121f000 msr CPSR_c, r0
10664: e59f0218 ldr r0, [pc, #536] ; 10884 <vPortExitCritical+0x44>
10668: e5900000 ldr r0, [r0]
1066c: e590e000 ldr lr, [r0]
10670: e59f0210 ldr r0, [pc, #528] ; 10888 <vPortExitCritical+0x48>
10674: e8be0002 ldm lr!, {r1}
10678: e5801000 str r1, [r0]
1067c: e8be0001 ldm lr!, {r0}
10680: e16ff000 msr SPSR_fsxc, r0
10684: e8de7fff ldm lr, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, sp, lr}^
10688: e320f000 nop {0}
1068c: e59ee03c ldr lr, [lr, #60] ; 0x3c
10690: e25ef004 subs pc, lr, #4
10694: e320f000 nop {0}
10698: e320f000 nop {0}
1069c: e59f301c ldr r3, [pc, #28] ; 106c0 <vPortISRStartFirstTask+0x78>
106a0: e5933000 ldr r3, [r3]
106a4: e59f3018 ldr r3, [pc, #24] ; 106c4 <vPortISRStartFirstTask+0x7c>
106a8: e5933000 ldr r3, [r3]
106ac: e8bd4000 pop {lr}
106b0: e24ee004 sub lr, lr, #4
106b4: e12fff1e bx lr
106b8: e12fff1e bx lr
106bc: 00012814 andeq r2, r1, r4, lsl r8
106c0: 000125b8 ; <UNDEFINED> instruction: 0x000125b8
106c4: 000138b0 ; <UNDEFINED> instruction: 0x000138b0
000106c8 <vPortYieldProcessor>:
106c8: e28ee004 add lr, lr, #4
106cc: e92d0001 push {r0}
106d0: e94d2000 stmdb sp, {sp}^
106d4: e24dd004 sub sp, sp, #4
106d8: e8bd0001 pop {r0}
106dc: e9204000 stmdb r0!, {lr}
106e0: e1a0e000 mov lr, r0
106e4: e8bd0001 pop {r0}
106e8: e94e7fff stmdb lr, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, sp, lr}^
106ec: e320f000 nop {0}
106f0: e24ee03c sub lr, lr, #60 ; 0x3c
106f4: e14f0000 mrs r0, SPSR
106f8: e92e0001 stmdb lr!, {r0}
106fc: e59f0184 ldr r0, [pc, #388] ; 10888 <vPortExitCritical+0x48>
10700: e5900000 ldr r0, [r0]
10704: e92e0001 stmdb lr!, {r0}
10708: e59f0174 ldr r0, [pc, #372] ; 10884 <vPortExitCritical+0x44>
1070c: e5900000 ldr r0, [r0]
10710: e580e000 str lr, [r0]
10714: e59f204c ldr r2, [pc, #76] ; 10768 <vPortYieldProcessor+0xa0>
10718: e59f304c ldr r3, [pc, #76] ; 1076c <vPortYieldProcessor+0xa4>
1071c: e5921000 ldr r1, [r2]
10720: e5931000 ldr r1, [r3]
10724: eb0006bb bl 12218 <vTaskSwitchContext>
10728: e59f0154 ldr r0, [pc, #340] ; 10884 <vPortExitCritical+0x44>
1072c: e5900000 ldr r0, [r0]
10730: e590e000 ldr lr, [r0]
10734: e59f014c ldr r0, [pc, #332] ; 10888 <vPortExitCritical+0x48>
10738: e8be0002 ldm lr!, {r1}
1073c: e5801000 str r1, [r0]
10740: e8be0001 ldm lr!, {r0}
10744: e16ff000 msr SPSR_fsxc, r0
10748: e8de7fff ldm lr, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, sp, lr}^
1074c: e320f000 nop {0}
10750: e59ee03c ldr lr, [lr, #60] ; 0x3c
10754: e25ef004 subs pc, lr, #4
10758: e320f000 nop {0}
1075c: e320f000 nop {0}
10760: e5922000 ldr r2, [r2]
10764: e5933000 ldr r3, [r3]
10768: 000125b8 ; <UNDEFINED> instruction: 0x000125b8
1076c: 000138b0 ; <UNDEFINED> instruction: 0x000138b0
00010770 <vFreeRTOS_ISR>:
10770: e92d0001 push {r0}
10774: e94d2000 stmdb sp, {sp}^
10778: e24dd004 sub sp, sp, #4
1077c: e8bd0001 pop {r0}
10780: e9204000 stmdb r0!, {lr}
10784: e1a0e000 mov lr, r0
10788: e8bd0001 pop {r0}
1078c: e94e7fff stmdb lr, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, sp, lr}^
10790: e320f000 nop {0}
10794: e24ee03c sub lr, lr, #60 ; 0x3c
10798: e14f0000 mrs r0, SPSR
1079c: e92e0001 stmdb lr!, {r0}
107a0: e59f00e0 ldr r0, [pc, #224] ; 10888 <vPortExitCritical+0x48>
107a4: e5900000 ldr r0, [r0]
107a8: e92e0001 stmdb lr!, {r0}
107ac: e59f00d0 ldr r0, [pc, #208] ; 10884 <vPortExitCritical+0x44>
107b0: e5900000 ldr r0, [r0]
107b4: e580e000 str lr, [r0]
107b8: e59f504c ldr r5, [pc, #76] ; 1080c <vFreeRTOS_ISR+0x9c>
107bc: e59f404c ldr r4, [pc, #76] ; 10810 <vFreeRTOS_ISR+0xa0>
107c0: e5953000 ldr r3, [r5]
107c4: e5943000 ldr r3, [r4]
107c8: ebfffe2b bl 1007c <irqHandler>
107cc: e59f00b0 ldr r0, [pc, #176] ; 10884 <vPortExitCritical+0x44>
107d0: e5900000 ldr r0, [r0]
107d4: e590e000 ldr lr, [r0]
107d8: e59f00a8 ldr r0, [pc, #168] ; 10888 <vPortExitCritical+0x48>
107dc: e8be0002 ldm lr!, {r1}
107e0: e5801000 str r1, [r0]
107e4: e8be0001 ldm lr!, {r0}
107e8: e16ff000 msr SPSR_fsxc, r0
107ec: e8de7fff ldm lr, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, sp, lr}^
107f0: e320f000 nop {0}
107f4: e59ee03c ldr lr, [lr, #60] ; 0x3c
107f8: e25ef004 subs pc, lr, #4
107fc: e320f000 nop {0}
10800: e320f000 nop {0}
10804: e5953000 ldr r3, [r5]
10808: e5943000 ldr r3, [r4]
1080c: 000125b8 ; <UNDEFINED> instruction: 0x000125b8
10810: 000138b0 ; <UNDEFINED> instruction: 0x000138b0
00010814 <vPortEnterCritical>:
10814: e92d0001 push {r0}
10818: e10f0000 mrs r0, CPSR
1081c: e38000c0 orr r0, r0, #192 ; 0xc0
10820: e129f000 msr CPSR_fc, r0
10824: e8bd0001 pop {r0}
10828: e59f300c ldr r3, [pc, #12] ; 1083c <vPortEnterCritical+0x28>
1082c: e5932000 ldr r2, [r3]
10830: e2822001 add r2, r2, #1
10834: e5832000 str r2, [r3]
10838: e12fff1e bx lr
1083c: 000125b8 ; <UNDEFINED> instruction: 0x000125b8
00010840 <vPortExitCritical>:
10840: e59f3038 ldr r3, [pc, #56] ; 10880 <vPortExitCritical+0x40>
10844: e5932000 ldr r2, [r3]
10848: e3520000 cmp r2, #0
1084c: 012fff1e bxeq lr
10850: e5932000 ldr r2, [r3]
10854: e2422001 sub r2, r2, #1
10858: e5832000 str r2, [r3]
1085c: e5933000 ldr r3, [r3]
10860: e3530000 cmp r3, #0
10864: 112fff1e bxne lr
10868: e92d0001 push {r0}
1086c: e10f0000 mrs r0, CPSR
10870: e3c000c0 bic r0, r0, #192 ; 0xc0
10874: e129f000 msr CPSR_fc, r0
10878: e8bd0001 pop {r0}
1087c: e12fff1e bx lr
10880: 000125b8 ; <UNDEFINED> instruction: 0x000125b8
10884: 000138b0 ; <UNDEFINED> instruction: 0x000138b0
10888: 000125b8 ; <UNDEFINED> instruction: 0x000125b8
0001088c <prvInsertBlockIntoFreeList>:
1088c: e59fc078 ldr ip, [pc, #120] ; 1090c <prvInsertBlockIntoFreeList+0x80>
10890: e52d4004 push {r4} ; (str r4, [sp, #-4]!)
10894: e1a0200c mov r2, ip
10898: ea000000 b 108a0 <prvInsertBlockIntoFreeList+0x14>
1089c: e1a02003 mov r2, r3
108a0: e5923000 ldr r3, [r2]
108a4: e1530000 cmp r3, r0
108a8: 3afffffb bcc 1089c <prvInsertBlockIntoFreeList+0x10>
108ac: e5921004 ldr r1, [r2, #4]
108b0: e0824001 add r4, r2, r1
108b4: e1540000 cmp r4, r0
108b8: 05904004 ldreq r4, [r0, #4]
108bc: 15901004 ldrne r1, [r0, #4]
108c0: 00811004 addeq r1, r1, r4
108c4: 01a00002 moveq r0, r2
108c8: e0804001 add r4, r0, r1
108cc: 05821004 streq r1, [r2, #4]
108d0: e1530004 cmp r3, r4
108d4: 0a000004 beq 108ec <prvInsertBlockIntoFreeList+0x60>
108d8: e5803000 str r3, [r0]
108dc: e1500002 cmp r0, r2
108e0: 15820000 strne r0, [r2]
108e4: e8bd0010 pop {r4}
108e8: e12fff1e bx lr
108ec: e59cc008 ldr ip, [ip, #8]
108f0: e153000c cmp r3, ip
108f4: 0afffff7 beq 108d8 <prvInsertBlockIntoFreeList+0x4c>
108f8: e8931008 ldm r3, {r3, ip}
108fc: e081100c add r1, r1, ip
10900: e5801004 str r1, [r0, #4]
10904: e5803000 str r3, [r0]
10908: eafffff3 b 108dc <prvInsertBlockIntoFreeList+0x50>
1090c: 00012818 andeq r2, r1, r8, lsl r8
00010910 <pvPortMalloc>:
10910: e92d4070 push {r4, r5, r6, lr}
10914: e1a05000 mov r5, r0
10918: eb000510 bl 11d60 <vTaskSuspendAll>
1091c: e59f111c ldr r1, [pc, #284] ; 10a40 <pvPortMalloc+0x130>
10920: e5913008 ldr r3, [r1, #8]
10924: e3530000 cmp r3, #0
10928: 0a000031 beq 109f4 <pvPortMalloc+0xe4>
1092c: e3550000 cmp r5, #0
10930: 01a06005 moveq r6, r5
10934: 0a000021 beq 109c0 <pvPortMalloc+0xb0>
10938: e2855010 add r5, r5, #16
1093c: e3150007 tst r5, #7
10940: 13c55007 bicne r5, r5, #7
10944: 12855008 addne r5, r5, #8
10948: e59f30f4 ldr r3, [pc, #244] ; 10a44 <pvPortMalloc+0x134>
1094c: e2452001 sub r2, r5, #1
10950: e1520003 cmp r2, r3
10954: 8a000037 bhi 10a38 <pvPortMalloc+0x128>
10958: e5914000 ldr r4, [r1]
1095c: e59f10dc ldr r1, [pc, #220] ; 10a40 <pvPortMalloc+0x130>
10960: e1a0c001 mov ip, r1
10964: ea000001 b 10970 <pvPortMalloc+0x60>
10968: e1a0c004 mov ip, r4
1096c: e1a04003 mov r4, r3
10970: e5942004 ldr r2, [r4, #4]
10974: e1550002 cmp r5, r2
10978: 9a000002 bls 10988 <pvPortMalloc+0x78>
1097c: e5943000 ldr r3, [r4]
10980: e3530000 cmp r3, #0
10984: 1afffff7 bne 10968 <pvPortMalloc+0x58>
10988: e5913008 ldr r3, [r1, #8]
1098c: e1540003 cmp r4, r3
10990: 0a000028 beq 10a38 <pvPortMalloc+0x128>
10994: e59c6000 ldr r6, [ip]
10998: e5941000 ldr r1, [r4]
1099c: e0653002 rsb r3, r5, r2
109a0: e3530020 cmp r3, #32
109a4: e2866010 add r6, r6, #16
109a8: e58c1000 str r1, [ip]
109ac: 8a00000a bhi 109dc <pvPortMalloc+0xcc>
109b0: e59f3090 ldr r3, [pc, #144] ; 10a48 <pvPortMalloc+0x138>
109b4: e5931000 ldr r1, [r3]
109b8: e0622001 rsb r2, r2, r1
109bc: e5832000 str r2, [r3]
109c0: eb000553 bl 11f14 <xTaskResumeAll>
109c4: e59f3080 ldr r3, [pc, #128] ; 10a4c <pvPortMalloc+0x13c>
109c8: e1a00006 mov r0, r6
109cc: e5132fe8 ldr r2, [r3, #-4072] ; 0xfe8
109d0: e0855002 add r5, r5, r2
109d4: e5035fe8 str r5, [r3, #-4072] ; 0xfe8
109d8: e8bd8070 pop {r4, r5, r6, pc}
109dc: e0840005 add r0, r4, r5
109e0: e5803004 str r3, [r0, #4]
109e4: e5845004 str r5, [r4, #4]
109e8: ebffffa7 bl 1088c <prvInsertBlockIntoFreeList>
109ec: e5942004 ldr r2, [r4, #4]
109f0: eaffffee b 109b0 <pvPortMalloc+0xa0>
109f4: e59f204c ldr r2, [pc, #76] ; 10a48 <pvPortMalloc+0x138>
109f8: e281e010 add lr, r1, #16
109fc: e581e000 str lr, [r1]
10a00: e59fe048 ldr lr, [pc, #72] ; 10a50 <pvPortMalloc+0x140>
10a04: e592c000 ldr ip, [r2]
10a08: e781300e str r3, [r1, lr]
10a0c: e3a0ea01 mov lr, #4096 ; 0x1000
10a10: e2810a01 add r0, r1, #4096 ; 0x1000
10a14: e24cc010 sub ip, ip, #16
10a18: e5813004 str r3, [r1, #4]
10a1c: e781300e str r3, [r1, lr]
10a20: e3a03eff mov r3, #4080 ; 0xff0
10a24: e5810008 str r0, [r1, #8]
10a28: e5813014 str r3, [r1, #20]
10a2c: e5810010 str r0, [r1, #16]
10a30: e582c000 str ip, [r2]
10a34: eaffffbc b 1092c <pvPortMalloc+0x1c>
10a38: e3a06000 mov r6, #0
10a3c: eaffffdf b 109c0 <pvPortMalloc+0xb0>
10a40: 00012818 andeq r2, r1, r8, lsl r8
10a44: 00000ffe strdeq r0, [r0], -lr
10a48: 000125bc ; <UNDEFINED> instruction: 0x000125bc
10a4c: 00014810 andeq r4, r1, r0, lsl r8
10a50: 00001004 andeq r1, r0, r4
00010a54 <vPortFree>:
10a54: e92d4010 push {r4, lr}
10a58: e2504000 subs r4, r0, #0
10a5c: 08bd8010 popeq {r4, pc}
10a60: eb0004be bl 11d60 <vTaskSuspendAll>
10a64: e59f301c ldr r3, [pc, #28] ; 10a88 <vPortFree+0x34>
10a68: e514200c ldr r2, [r4, #-12]
10a6c: e5931000 ldr r1, [r3]
10a70: e2440010 sub r0, r4, #16
10a74: e0812002 add r2, r1, r2
10a78: e5832000 str r2, [r3]
10a7c: ebffff82 bl 1088c <prvInsertBlockIntoFreeList>
10a80: e8bd4010 pop {r4, lr}
10a84: ea000522 b 11f14 <xTaskResumeAll>
10a88: 000125bc ; <UNDEFINED> instruction: 0x000125bc
00010a8c <xPortGetFreeHeapSize>:
10a8c: e59f3004 ldr r3, [pc, #4] ; 10a98 <xPortGetFreeHeapSize+0xc>
10a90: e5930000 ldr r0, [r3]
10a94: e12fff1e bx lr
10a98: 000125bc ; <UNDEFINED> instruction: 0x000125bc
00010a9c <vPortInitialiseBlocks>:
10a9c: e12fff1e bx lr
00010aa0 <memcpy>:
10aa0: e3520000 cmp r2, #0
10aa4: 012fff1e bxeq lr
10aa8: e2411001 sub r1, r1, #1
10aac: e080c002 add ip, r0, r2
10ab0: e1a03000 mov r3, r0
10ab4: e5f12001 ldrb r2, [r1, #1]!
10ab8: e4c32001 strb r2, [r3], #1
10abc: e153000c cmp r3, ip
10ac0: 1afffffb bne 10ab4 <memcpy+0x14>
10ac4: e12fff1e bx lr
00010ac8 <memset>:
10ac8: e3520000 cmp r2, #0
10acc: 012fff1e bxeq lr
10ad0: e6ef1071 uxtb r1, r1
10ad4: e0802002 add r2, r0, r2
10ad8: e1a03000 mov r3, r0
10adc: e4c31001 strb r1, [r3], #1
10ae0: e1530002 cmp r3, r2
10ae4: 1afffffc bne 10adc <memset+0x14>
10ae8: e12fff1e bx lr
00010aec <strncpy>:
10aec: e92d0030 push {r4, r5}
10af0: e2411001 sub r1, r1, #1
10af4: e1a0c000 mov ip, r0
10af8: e0825000 add r5, r2, r0
10afc: e15c0005 cmp ip, r5
10b00: e1a0300c mov r3, ip
10b04: e2422001 sub r2, r2, #1
10b08: 0a00000a beq 10b38 <strncpy+0x4c>
10b0c: e5f14001 ldrb r4, [r1, #1]!
10b10: e4c34001 strb r4, [r3], #1
10b14: e3540000 cmp r4, #0
10b18: e1a0c003 mov ip, r3
10b1c: 1afffff6 bne 10afc <strncpy+0x10>
10b20: e3520000 cmp r2, #0
10b24: 0a000003 beq 10b38 <strncpy+0x4c>
10b28: e0832002 add r2, r3, r2
10b2c: e4c34001 strb r4, [r3], #1
10b30: e1530002 cmp r3, r2
10b34: 1afffffc bne 10b2c <strncpy+0x40>
10b38: e8bd0030 pop {r4, r5}
10b3c: e12fff1e bx lr
00010b40 <xCoRoutineCreate>:
10b40: e92d4ff8 push {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr}
10b44: e1a0a000 mov sl, r0
10b48: e3a00038 mov r0, #56 ; 0x38
10b4c: e1a07001 mov r7, r1
10b50: e1a09002 mov r9, r2
10b54: ebffff6d bl 10910 <pvPortMalloc>
10b58: e2504000 subs r4, r0, #0
10b5c: 0a000030 beq 10c24 <xCoRoutineCreate+0xe4>
10b60: e59f60c4 ldr r6, [pc, #196] ; 10c2c <xCoRoutineCreate+0xec>
10b64: e5963000 ldr r3, [r6]
10b68: e3530000 cmp r3, #0
10b6c: 0a00001b beq 10be0 <xCoRoutineCreate+0xa0>
10b70: e2868004 add r8, r6, #4
10b74: e1a05004 mov r5, r4
10b78: e485a004 str sl, [r5], #4
10b7c: e3a03000 mov r3, #0
10b80: e3570001 cmp r7, #1
10b84: 23a07001 movcs r7, #1
10b88: e1c433b4 strh r3, [r4, #52] ; 0x34
10b8c: e1a00005 mov r0, r5
10b90: e584702c str r7, [r4, #44] ; 0x2c
10b94: e5849030 str r9, [r4, #48] ; 0x30
10b98: eb0000ea bl 10f48 <vListInitialiseItem>
10b9c: e2840018 add r0, r4, #24
10ba0: eb0000e8 bl 10f48 <vListInitialiseItem>
10ba4: e594302c ldr r3, [r4, #44] ; 0x2c
10ba8: e5962070 ldr r2, [r6, #112] ; 0x70
10bac: e0830103 add r0, r3, r3, lsl #2
10bb0: e1530002 cmp r3, r2
10bb4: 859f2070 ldrhi r2, [pc, #112] ; 10c2c <xCoRoutineCreate+0xec>
10bb8: e2677005 rsb r7, r7, #5
10bbc: e0880100 add r0, r8, r0, lsl #2
10bc0: e5844010 str r4, [r4, #16]
10bc4: e5844024 str r4, [r4, #36] ; 0x24
10bc8: e5847018 str r7, [r4, #24]
10bcc: e1a01005 mov r1, r5
10bd0: 85823070 strhi r3, [r2, #112] ; 0x70
10bd4: eb0000de bl 10f54 <vListInsertEnd>
10bd8: e3a00001 mov r0, #1
10bdc: e8bd8ff8 pop {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc}
10be0: e1a08006 mov r8, r6
10be4: e4884004 str r4, [r8], #4
10be8: e1a00008 mov r0, r8
10bec: eb0000cc bl 10f24 <vListInitialise>
10bf0: e286b02c add fp, r6, #44 ; 0x2c
10bf4: e2860018 add r0, r6, #24
10bf8: eb0000c9 bl 10f24 <vListInitialise>
10bfc: e2865040 add r5, r6, #64 ; 0x40
10c00: e1a0000b mov r0, fp
10c04: eb0000c6 bl 10f24 <vListInitialise>
10c08: e1a00005 mov r0, r5
10c0c: eb0000c4 bl 10f24 <vListInitialise>
10c10: e2860054 add r0, r6, #84 ; 0x54
10c14: eb0000c2 bl 10f24 <vListInitialise>
10c18: e586b068 str fp, [r6, #104] ; 0x68
10c1c: e586506c str r5, [r6, #108] ; 0x6c
10c20: eaffffd3 b 10b74 <xCoRoutineCreate+0x34>
10c24: e3e00000 mvn r0, #0
10c28: e8bd8ff8 pop {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc}
10c2c: 00013830 andeq r3, r1, r0, lsr r8
00010c30 <vCoRoutineAddToDelayedList>:
10c30: e92d4070 push {r4, r5, r6, lr}
10c34: e59f4050 ldr r4, [pc, #80] ; 10c8c <vCoRoutineAddToDelayedList+0x5c>
10c38: e1a06001 mov r6, r1
10c3c: e5943000 ldr r3, [r4]
10c40: e5945074 ldr r5, [r4, #116] ; 0x74
10c44: e0805005 add r5, r0, r5
10c48: e2830004 add r0, r3, #4
10c4c: eb0000e4 bl 10fe4 <vListRemove>
10c50: e5942074 ldr r2, [r4, #116] ; 0x74
10c54: e5941000 ldr r1, [r4]
10c58: e1550002 cmp r5, r2
10c5c: e5815004 str r5, [r1, #4]
10c60: 3594006c ldrcc r0, [r4, #108] ; 0x6c
10c64: 25940068 ldrcs r0, [r4, #104] ; 0x68
10c68: e2811004 add r1, r1, #4
10c6c: eb0000c4 bl 10f84 <vListInsert>
10c70: e3560000 cmp r6, #0
10c74: 08bd8070 popeq {r4, r5, r6, pc}
10c78: e5941000 ldr r1, [r4]
10c7c: e1a00006 mov r0, r6
10c80: e2811018 add r1, r1, #24
10c84: e8bd4070 pop {r4, r5, r6, lr}
10c88: ea0000bd b 10f84 <vListInsert>
10c8c: 00013830 andeq r3, r1, r0, lsr r8
00010c90 <vCoRoutineSchedule>:
10c90: e92d41f0 push {r4, r5, r6, r7, r8, lr}
10c94: e59f6238 ldr r6, [pc, #568] ; 10ed4 <vCoRoutineSchedule+0x244>
10c98: e5963054 ldr r3, [r6, #84] ; 0x54
10c9c: e3530000 cmp r3, #0
10ca0: 0a00001d beq 10d1c <vCoRoutineSchedule+0x8c>
10ca4: e2867004 add r7, r6, #4
10ca8: e1a08006 mov r8, r6
10cac: e92d0001 push {r0}
10cb0: e10f0000 mrs r0, CPSR
10cb4: e38000c0 orr r0, r0, #192 ; 0xc0
10cb8: e129f000 msr CPSR_fc, r0
10cbc: e8bd0001 pop {r0}
10cc0: e5963060 ldr r3, [r6, #96] ; 0x60
10cc4: e593400c ldr r4, [r3, #12]
10cc8: e2840018 add r0, r4, #24
10ccc: eb0000c4 bl 10fe4 <vListRemove>
10cd0: e92d0001 push {r0}
10cd4: e10f0000 mrs r0, CPSR
10cd8: e3c000c0 bic r0, r0, #192 ; 0xc0
10cdc: e129f000 msr CPSR_fc, r0
10ce0: e8bd0001 pop {r0}
10ce4: e2845004 add r5, r4, #4
10ce8: e1a00005 mov r0, r5
10cec: eb0000bc bl 10fe4 <vListRemove>
10cf0: e594302c ldr r3, [r4, #44] ; 0x2c
10cf4: e5962070 ldr r2, [r6, #112] ; 0x70
10cf8: e0830103 add r0, r3, r3, lsl #2
10cfc: e1530002 cmp r3, r2
10d00: e1a01005 mov r1, r5
10d04: e0870100 add r0, r7, r0, lsl #2