annotate dsample-fw-disasm @ 261:61e0be63559c

pirelli/fw-disasm: pwr_start_CV_charging() analyzed
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 26 Dec 2017 07:13:21 +0000
parents d12a3207b1aa
children 7b679943b57d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
207
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
1 ; The present work is a disassembly analysis of the 20020917 firmware image
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
2 ; read out of our vintage D-Sample C05 board.
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
3
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
4 0: ea0004e7 b 0x13a4
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
5 4: ea003ffd b 0x10000
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
6 8: ea003ffd b 0x10004
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
7 c: ea003ffd b 0x10008
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
8 10: ea003ffd b 0x1000c
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
9 14: ea003ffd b 0x10010
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
10 18: ea003ffd b 0x10014
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
11 1c: ea003ffd b 0x10018
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
12
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
13 ; constant pool before _INT_Bootloader_Start matches TCS211
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
14 1378: fffffb00
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
15 137c: 02a102a1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
16 1380: 028302a1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
17 1384: 00c00281
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
18 1388: 002a0040
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
19 138c: fffffd00
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
20 1390: ffff9800
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
21 1394: fffffb10
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
22 1398: ffffff08
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
23 139c: 20061081
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
24 13a0: 00000800
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
25
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
26 _INT_Bootloader_Start: ; code fully matches TCS211
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
27 13a4: e51f101c ldr r1, =0xffff9800 ; via 0x1390
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
28 13a8: e15f21b2 ldrh r2, =0x2006 ; via 0x139e
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
29 13ac: e1c120b0 strh r2, [r1]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
30 13b0: e5912000 ldr r2, [r1]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
31 13b4: e2022001 and r2, r2, #1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
32 13b8: e3520001 cmp r2, #1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
33 13bc: 0afffffb beq 0x13b0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
34 13c0: e51f103c ldr r1, =0xfffffd00 ; via 0x138c
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
35 13c4: e15f23b0 ldrh r2, =0x1081 ; via 0x139c
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
36 13c8: e1c120b0 strh r2, [r1]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
37 13cc: e51f1040 ldr r1, =0xfffffb10 ; via 0x1394
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
38 13d0: e15f23b8 ldrh r2, =0x800 ; via 0x13a0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
39 13d4: e1d100b0 ldrh r0, [r1]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
40 13d8: e1800002 orr r0, r0, r2
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
41 13dc: e1c100b0 strh r0, [r1]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
42 13e0: e51f1050 ldr r1, =0xffffff08 ; via 0x1398
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
43 13e4: e15f24ba ldrh r2, =0x0 ; via 0x13a2
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
44 13e8: e1c120b0 strh r2, [r1]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
45 13ec: e51f107c ldr r1, =0xfffffb00 ; via 0x1378
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
46 13f0: e15f27bc ldrh r2, =0x2a1 ; via 0x137c
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
47 13f4: e1c120b0 strh r2, [r1]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
48 13f8: e15f28b2 ldrh r2, =0x2a1 ; via 0x137e
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
49 13fc: e1c120b2 strh r2, [r1, #2]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
50 1400: e15f28b8 ldrh r2, =0x2a1 ; via 0x1380
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
51 1404: e1c120b4 strh r2, [r1, #4]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
52 1408: e15f28be ldrh r2, =0x283 ; via 0x1382
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
53 140c: e1c120b6 strh r2, [r1, #6]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
54 1410: e15f29b4 ldrh r2, =0x281 ; via 0x1384
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
55 1414: e1c120ba strh r2, [r1, #10] ; 0xa
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
56 1418: e15f29ba ldrh r2, =0xc0 ; via 0x1386
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
57 141c: e1c120bc strh r2, [r1, #12] ; 0xc
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
58 1420: e15f2ab0 ldrh r2, =0x40 ; via 0x1388
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
59 1424: e1c120b8 strh r2, [r1, #8]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
60 1428: e15f2ab6 ldrh r2, =0x2a ; via 0x138a
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
61 142c: e1c120be strh r2, [r1, #14] ; 0xe
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
62 1430: e59f0020 ldr r0, =0x107921c ; via 0x1458
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
63 1434: e3a01b01 mov r1, #1024 ; 0x400
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
64 1438: e2411004 sub r1, r1, #4
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
65 143c: e0802001 add r2, r0, r1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
66 1440: e3c22003 bic r2, r2, #3
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
67 1444: e1a0d002 mov sp, r2
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
68 1448: e92d100f stmdb sp!, {r0, r1, r2, r3, r12}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
69 144c: eb000046 bl 0x156c
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
70 1450: e8bd100f ldmia sp!, {r0, r1, r2, r3, r12}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
71 1454: ea003afd b 0x10050
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
72 1458: 0107921c
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
73
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
74 _sta_select_application: (ARM->Thumb veneer)
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
75 156c: e92d4000 stmdb sp!, {lr}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
76 1570: e28fe001 add lr, pc, #1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
77 1574: e12fff1e bx lr
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
78 1578: f7ff fd63 bl 0x1042
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
79 157c: 4778 bx pc
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
80 157e: 46c0 nop (mov r8, r8)
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
81 1580: e8bd8000 ldmia sp!, {pc}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
82
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
83 ; branch target addresses differ from TCS211
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
84 10000: ea0000bf b 0x10304
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
85 10004: ea0000c4 b 0x1031c
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
86 10008: ea0000c9 b 0x10334
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
87 1000c: ea0000ce b 0x1034c
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
88 10010: ea0000d3 b 0x10364
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
89 10014: ea0000b0 b 0x102dc
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
90 10018: ea0000b4 b 0x102f0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
91
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
92 ; Constant pool
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
93 ; Difference between this version and TCS211: the newer TCS211 version
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
94 ; includes constants 0xFFFEF006 and 0x00000008 for the 8 MiB
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
95 ; memory bank setup. This difference must be responsible for the
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
96 ; 0x10050 vs. 0x10058 discrepancy.
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
97
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
98 1001c: 02a102a1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
99 10020: 028302a1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
100 10024: 02c00e85
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
101 10028: 002a0040
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
102 1002c: fffffb00
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
103 10030: fffffd00
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
104 10034: ffff9800
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
105 10038: fffffb10
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
106 1003c: ffffff08
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
107 10040: 20021081
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
108 10044: f7ff0800
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
109 10048: 00000000
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
110 1004c: 0001047c ; .cinit base
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
111
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
112 _INT_Initialize:
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
113 ; beginning matches TCS211
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
114 10050: e51f1024 ldr r1, =0xffff9800 ; via 0x10034
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
115 10054: e15f21ba ldrh r2, =0x2002 ; via 0x10042
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
116 10058: e1c120b0 strh r2, [r1]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
117 1005c: e5912000 ldr r2, [r1]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
118 10060: e2022001 and r2, r2, #1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
119 10064: e3520001 cmp r2, #1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
120 10068: 0afffffb beq 0x1005c
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
121 1006c: e51f1044 ldr r1, =0xfffffd00 ; via 0x10030
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
122 10070: e15f23b8 ldrh r2, =0x1081 ; via 0x10040
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
123 10074: e1c120b0 strh r2, [r1]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
124 10078: e51f1048 ldr r1, =0xfffffb10 ; via 0x10038
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
125 1007c: e15f23be ldrh r2, =0xf7ff ; via 0x10046
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
126 10080: e1d100b0 ldrh r0, [r1]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
127 10084: e0000002 and r0, r0, r2
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
128 10088: e1c100b0 strh r0, [r1]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
129 1008c: e51f1058 ldr r1, =0xffffff08 ; via 0x1003c
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
130 10090: e15f25b0 ldrh r2, =0x0 ; via 0x10048
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
131 10094: e1c120b0 strh r2, [r1]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
132 10098: e51f1074 ldr r1, =0xfffffb00 ; via 0x1002c
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
133 1009c: e15f28b8 ldrh r2, =0x2a1 ; via 0x1001c
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
134 100a0: e1c120b0 strh r2, [r1]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
135 100a4: e15f28be ldrh r2, =0x2a1 ; via 0x1001e
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
136 100a8: e1c120b2 strh r2, [r1, #2]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
137 100ac: e15f29b4 ldrh r2, =0x2a1 ; via 0x10020
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
138 100b0: e1c120b4 strh r2, [r1, #4]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
139 100b4: e15f29ba ldrh r2, =0x283 ; via 0x10022
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
140 100b8: e1c120b6 strh r2, [r1, #6]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
141 100bc: e15f2ab0 ldrh r2, =0xe85 ; via 0x10024
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
142 100c0: e1c120ba strh r2, [r1, #10] ; 0xa
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
143 100c4: e15f2ab6 ldrh r2, =0x2c0 ; via 0x10026
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
144 100c8: e1c120bc strh r2, [r1, #12] ; 0xc
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
145 100cc: e15f2abc ldrh r2, =0x40 ; via 0x10028
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
146 100d0: e1c120b8 strh r2, [r1, #8]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
147 100d4: e15f2bb2 ldrh r2, =0x2a ; via 0x1002a
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
148 100d8: e1c120be strh r2, [r1, #14] ; 0xe
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
149 ; TCS211 version does the 8 MiB memory bank setup at this point
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
150 100dc: e10f0000 mrs r0, CPSR
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
151 100e0: e3c0001f bic r0, r0, #31 ; 0x1f
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
152 100e4: e3800013 orr r0, r0, #19 ; 0x13
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
153 100e8: e38000c0 orr r0, r0, #192 ; 0xc0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
154 100ec: e129f000 msr CPSR_fc, r0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
155 ; bss clearing is done inline here, whereas TCS211 version calls _INT_memset
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
156 100f0: e59f0304 ldr r0, =0x1000cf4 ; via 0x103fc
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
157 100f4: e3a02000 mov r2, #0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
158 100f8: e59f1300 ldr r1, =0x107921c ; via 0x10400
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
159 100fc: e4802004 str r2, [r0], #4
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
160 10100: e1500001 cmp r0, r1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
161 10104: 1afffffc bne 0x100fc
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
162 10108: e59f02f4 ldr r0, =0x819450 ; via 0x10404
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
163 1010c: e3a02000 mov r2, #0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
164 10110: e59f12f0 ldr r1, =0x83eda0 ; via 0x10408
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
165 10114: e4802004 str r2, [r0], #4
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
166 10118: e1500001 cmp r0, r1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
167 1011c: 1afffffc bne 0x10114
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
168 ; setting _INT_Loaded_Flag?
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
169 ; code matches TCS211 0x10150 from this point onward
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
170 10120: e3a00001 mov r0, #1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
171 10124: e59f12e4 ldr r1, =0x107916c ; via 0x10410
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
172 10128: e5810000 str r0, [r1]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
173 ; stack setup matching 0x1015c in TCS211
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
174 1012c: e59f02d8 ldr r0, =0x1079308 ; via 0x1040c
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
175 10130: e3a01b01 mov r1, #1024 ; 0x400
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
176 10134: e2411004 sub r1, r1, #4
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
177 10138: e0802001 add r2, r0, r1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
178 1013c: e1a0a000 mov r10, r0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
179 10140: e59f32cc ldr r3, =0x83c148 ; via 0x10414
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
180 10144: e583a000 str r10, [r3]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
181 10148: e1a0d002 mov sp, r2
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
182 1014c: e59f32c4 ldr r3, =0x83c26c ; via 0x10418
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
183 10150: e583d000 str sp, [r3]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
184 10154: e3a01080 mov r1, #128 ; 0x80
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
185 10158: e0822001 add r2, r2, r1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
186 1015c: e10f0000 mrs r0, CPSR
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
187 10160: e3c0001f bic r0, r0, #31 ; 0x1f
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
188 10164: e3800012 orr r0, r0, #18 ; 0x12
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
189 10168: e129f000 msr CPSR_fc, r0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
190 1016c: e1a0d002 mov sp, r2
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
191 10170: e3a01c02 mov r1, #512 ; 0x200
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
192 10174: e0822001 add r2, r2, r1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
193 10178: e10f0000 mrs r0, CPSR
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
194 1017c: e3c0001f bic r0, r0, #31 ; 0x1f
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
195 10180: e3800011 orr r0, r0, #17 ; 0x11
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
196 10184: e129f000 msr CPSR_fc, r0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
197 10188: e1a0d002 mov sp, r2
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
198 1018c: e10f0000 mrs r0, CPSR
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
199 10190: e3c0001f bic r0, r0, #31 ; 0x1f
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
200 10194: e3800017 orr r0, r0, #23 ; 0x17
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
201 10198: e129f000 msr CPSR_fc, r0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
202 1019c: e59fd288 ldr sp, =0x1079270 ; via 0x1042c
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
203 101a0: e10f0000 mrs r0, CPSR
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
204 101a4: e3c0001f bic r0, r0, #31 ; 0x1f
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
205 101a8: e380001b orr r0, r0, #27 ; 0x1b
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
206 101ac: e129f000 msr CPSR_fc, r0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
207 101b0: e59fd274 ldr sp, =0x1079270 ; via 0x1042c
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
208 101b4: e10f0000 mrs r0, CPSR
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
209 101b8: e3c0001f bic r0, r0, #31 ; 0x1f
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
210 101bc: e3800013 orr r0, r0, #19 ; 0x13
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
211 101c0: e129f000 msr CPSR_fc, r0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
212 101c4: e59f3250 ldr r3, =0x83c0b0 ; via 0x1041c
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
213 101c8: e2822004 add r2, r2, #4
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
214 101cc: e5832000 str r2, [r3]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
215 101d0: e3a01b01 mov r1, #1024 ; 0x400
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
216 101d4: e3c11003 bic r1, r1, #3
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
217 101d8: e0822001 add r2, r2, r1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
218 101dc: e59f323c ldr r3, =0x83c134 ; via 0x10420
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
219 101e0: e5831000 str r1, [r3]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
220 101e4: e3a01002 mov r1, #2
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
221 101e8: e59f3234 ldr r3, =0x83c144 ; via 0x10424
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
222 101ec: e5831000 str r1, [r3]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
223 101f0: e1a04002 mov r4, r2
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
224 101f4: eb09153c bl 0x2556ec ; _f_load_int_mem
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
225 101f8: e1a02004 mov r2, r4
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
226 101fc: e59f1210 ldr r1, =0x83c148 ; via 0x10414
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
227 10200: e5910000 ldr r0, [r1]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
228 10204: e3a030fe mov r3, #254 ; 0xfe
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
229 10208: e5c03000 strb r3, [r0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
230 1020c: e5c03001 strb r3, [r0, #1]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
231 10210: e5c03002 strb r3, [r0, #2]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
232 10214: e5c03003 strb r3, [r0, #3]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
233 10218: e4903004 ldr r3, [r0], #4
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
234 1021c: e4803004 str r3, [r0], #4
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
235 10220: e1500002 cmp r0, r2
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
236 10224: bafffffc blt 0x1021c
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
237 10228: e51f01e4 ldr r0, =0x1047c ; via 0x1004c
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
238 1022c: e3700001 cmn r0, #1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
239 10230: 1b00007f blne 0x10434 ; _auto_init
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
240 10234: e59f01ec ldr r0, =0x1078744 ; via 0x10428
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
241 10238: ea09151f b 0x2556bc ; _INC_Initialize
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
242
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
243 ; $Init_Target:
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
244 2458f0: b570 push {r4, r5, r6, lr}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
245 2458f2: b081 sub sp, #4
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
246 ; write 0x6000 into FFFE:F008 like TCS211
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
247 2458f4: 4d62 ldr r5, =0xfffef006 ; via 0x245a80
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
248 2458f6: 2003 mov r0, #3
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
249 2458f8: 0340 lsl r0, r0, #13
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
250 2458fa: 8068 strh r0, [r5, #2]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
251 ; TM_DisableWatchdog() ?
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
252 2458fc: f006 fd03 bl 0x24c306
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
253 ; 8 MiB memory bank setup
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
254 245900: 2008 mov r0, #8
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
255 245902: 8829 ldrh r1, [r5, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
256 245904: 4308 orr r0, r1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
257 245906: 8028 strh r0, [r5, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
258
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
259 ; CNTL_CLK (FFFF:FD02) register setup
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
260 ;
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
261 ; TCS211 does this:
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
262 ; CNTL_CLK |= 0x0005;
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
263 ; CNTL_CLK &= 0xFF3F;
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
264 ; CNTL_CLK |= 0x0080;
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
265 ; CNTL_CLK &= 0xFFDF;
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
266 ;
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
267 ; The present version does this:
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
268 ; CNTL_CLK = 0x0005;
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
269 ; CNTL_CLK &= 0xFF3F;
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
270 ; CNTL_CLK &= 0xFFDF;
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
271 ;
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
272 ; Difference 1: initial straight write vs. OR: it must be the effect
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
273 ; of the change in the definition of the CLKM_INITCNTL()
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
274 ; macro seen in the diff between MV100 and Sotovik versions.
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
275 ;
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
276 ; Difference 2: VTCXO_DIV2 bit setting for Clara (13 MHz) vs. Rita (26 MHz)
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
277
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
278 245908: 485e ldr r0, =0xfffffd02 ; via 0x245a84
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
279 24590a: 2105 mov r1, #5
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
280 24590c: 8001 strh r1, [r0, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
281 24590e: 495e ldr r1, =0xff3f ; via 0x245a88
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
282 245910: 8802 ldrh r2, [r0, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
283 245912: 4011 and r1, r2
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
284 245914: 8001 strh r1, [r0, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
285 245916: 495d ldr r1, =0xffdf ; via 0x245a8c
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
286 245918: 8802 ldrh r2, [r0, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
287 24591a: 4011 and r1, r2
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
288 24591c: 8001 strh r1, [r0, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
289
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
290 ; RHEA_CNTL_REG setup: this version writes 0x7F00, TCS211 writes 0xFF00
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
291 24591e: 4e5c ldr r6, =0xfffff900 ; via 0x245a90
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
292 245920: 207f mov r0, #127 ; 0x7f
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
293 245922: 0200 lsl r0, r0, #8
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
294 245924: 8030 strh r0, [r6, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
295
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
296 ; PLL setup: the code structure (sequence of steps) is the same as in TCS211,
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
297 ; but the PLL multiplier is set to 6 instead of 8. Thus the DSP runs at
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
298 ; 78 MHz and the ARM runs at 39 MHz.
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
299 245926: 4c5b ldr r4, =0xffff9800 ; via 0x245a94
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
300 245928: 485b ldr r0, =0xfff3 ; via 0x245a98
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
301 24592a: 8821 ldrh r1, [r4, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
302 24592c: 4008 and r0, r1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
303 24592e: 8020 strh r0, [r4, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
304 245930: 8820 ldrh r0, [r4, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
305 245932: 8020 strh r0, [r4, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
306 245934: 4859 ldr r0, =0xf01f ; via 0x245a9c
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
307 245936: 8821 ldrh r1, [r4, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
308 245938: 4008 and r0, r1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
309 24593a: 8020 strh r0, [r4, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
310 24593c: 2003 mov r0, #3
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
311 24593e: 0200 lsl r0, r0, #8
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
312 245940: 8821 ldrh r1, [r4, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
313 245942: 4308 orr r0, r1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
314 245944: 8020 strh r0, [r4, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
315
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
316 ; ARM clock setup: divide by 2 like in TCS211
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
317 245946: 2000 mov r0, #0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
318 245948: 2102 mov r1, #2
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
319 24594a: 2200 mov r2, #0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
320 24594c: f007 fe00 bl 0x24d550
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
321
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
322 ; Memory timings: definitely peculiar
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
323 245950: 4953 ldr r1, =0xfffffb00 ; via 0x245aa0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
324 245952: 20a5 mov r0, #165 ; 0xa5
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
325 245954: 8008 strh r0, [r1, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
326 245956: 8048 strh r0, [r1, #2]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
327 245958: 20a2 mov r0, #162 ; 0xa2
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
328 24595a: 8088 strh r0, [r1, #4]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
329 24595c: 2085 mov r0, #133 ; 0x85
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
330 24595e: 80c8 strh r0, [r1, #6]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
331 245960: 2080 mov r0, #128 ; 0x80
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
332 245962: 8148 strh r0, [r1, #10] ; 0xa
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
333 245964: 200b mov r0, #11 ; 0xb
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
334 245966: 0180 lsl r0, r0, #6
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
335 245968: 8188 strh r0, [r1, #12] ; 0xc
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
336 24596a: 2040 mov r0, #64 ; 0x40
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
337 24596c: 8108 strh r0, [r1, #8]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
338
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
339 ; FFFF:F902 and FFFF:F904 registers set up exactly the same as in TCS211
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
340 24596e: 2020 mov r0, #32 ; 0x20
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
341 245970: 8070 strh r0, [r6, #2]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
342 245972: 2000 mov r0, #0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
343 245974: 80b0 strh r0, [r6, #4]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
344
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
345 ; PLL turn-on just like in TCS211
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
346 245976: 2010 mov r0, #16 ; 0x10
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
347 245978: 8821 ldrh r1, [r4, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
348 24597a: 4308 orr r0, r1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
349 24597c: 8020 strh r0, [r4, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
350
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
351 ; remaining Target_Init() code not studied yet
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
352 24597e: 4849 ldr r0, =0xfffffa08 ; via 0x245aa4
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
353 245980: 4949 ldr r1, =0xffff ; via 0x245aa8
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
354 245982: 8001 strh r1, [r0, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
355 245984: 241f mov r4, #31 ; 0x1f
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
356 245986: 8044 strh r4, [r0, #2]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
357 245988: 2103 mov r1, #3
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
358 24598a: 8181 strh r1, [r0, #12] ; 0xc
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
359 24598c: f005 fc28 bl 0x24b1e0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
360 245990: 4846 ldr r0, =0xfffffc00 ; via 0x245aac
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
361 245992: 2124 mov r1, #36 ; 0x24
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
362 245994: 8001 strh r1, [r0, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
363 245996: 210d mov r1, #13 ; 0xd
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
364 245998: 8041 strh r1, [r0, #2]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
365 24599a: 2300 mov r3, #0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
366 24599c: 4844 ldr r0, =0xfffe2016 ; via 0x245ab0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
367 24599e: 8003 strh r3, [r0, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
368 2459a0: 4844 ldr r0, =0xfffe2014 ; via 0x245ab4
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
369 2459a2: 2102 mov r1, #2
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
370 2459a4: 8001 strh r1, [r0, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
371 2459a6: 4844 ldr r0, =0xfffe2002 ; via 0x245ab8
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
372 2459a8: 2184 mov r1, #132 ; 0x84
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
373 2459aa: 8001 strh r1, [r0, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
374 2459ac: 4943 ldr r1, =0xfffe2000 ; via 0x245abc
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
375 2459ae: 4844 ldr r0, =0x3de0 ; via 0x245ac0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
376 2459b0: 8008 strh r0, [r1, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
377 2459b2: 4a44 ldr r2, =0xfffe2022 ; via 0x245ac4
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
378 2459b4: 2009 mov r0, #9
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
379 2459b6: 8010 strh r0, [r2, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
380 2459b8: 4843 ldr r0, =0xfffe2020 ; via 0x245ac8
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
381 2459ba: 4a44 ldr r2, =0x45a ; via 0x245acc
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
382 2459bc: 8002 strh r2, [r0, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
383 2459be: 4844 ldr r0, =0xfffe201e ; via 0x245ad0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
384 2459c0: 22b4 mov r2, #180 ; 0xb4
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
385 2459c2: 8002 strh r2, [r0, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
386 2459c4: 4843 ldr r0, =0xfffe201c ; via 0x245ad4
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
387 2459c6: 8004 strh r4, [r0, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
388 2459c8: 1c1c add r4, r3, #0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
389 2459ca: 4843 ldr r0, =0xfffe2024 ; via 0x245ad8
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
390 2459cc: 8004 strh r4, [r0, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
391 2459ce: 4b43 ldr r3, =0xfffe2010 ; via 0x245adc
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
392 2459d0: 2002 mov r0, #2
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
393 2459d2: 881a ldrh r2, [r3, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
394 2459d4: 4310 orr r0, r2
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
395 2459d6: 8018 strh r0, [r3, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
396 2459d8: 4840 ldr r0, =0xfffe2010 ; via 0x245adc
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
397 2459da: 2304 mov r3, #4
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
398 2459dc: 8802 ldrh r2, [r0, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
399 2459de: 4313 orr r3, r2
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
400 2459e0: 8003 strh r3, [r0, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
401 2459e2: 2027 mov r0, #39 ; 0x27
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
402 2459e4: 80e8 strh r0, [r5, #6]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
403 2459e6: 8a08 ldrh r0, [r1, #16] ; 0x10
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
404 2459e8: 0840 lsr r0, r0, #1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
405 2459ea: d310 bcc 0x245a0e
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
406 2459ec: 8a08 ldrh r0, [r1, #16] ; 0x10
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
407 2459ee: 0400 lsl r0, r0, #16
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
408 2459f0: 0c40 lsr r0, r0, #17
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
409 2459f2: 0040 lsl r0, r0, #1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
410 2459f4: 8208 strh r0, [r1, #16] ; 0x10
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
411 2459f6: 2001 mov r0, #1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
412 2459f8: 9000 str r0, [sp, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
413 2459fa: e002 b 0x245a02
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
414 2459fc: 9800 ldr r0, [sp, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
415 2459fe: 3001 add r0, #1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
416 245a00: 9000 str r0, [sp, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
417 245a02: 9800 ldr r0, [sp, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
418 245a04: 2832 cmp r0, #50 ; 0x32
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
419 245a06: d3f9 bcc 0x2459fc
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
420 245a08: 8a48 ldrh r0, [r1, #18] ; 0x12
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
421 245a0a: 2800 cmp r0, #0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
422 245a0c: d0fc beq 0x245a08
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
423 245a0e: f006 fdbf bl 0x24c590
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
424 245a12: f006 fdc3 bl 0x24c59c
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
425 245a16: 2027 mov r0, #39 ; 0x27
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
426 245a18: 0500 lsl r0, r0, #20
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
427 245a1a: 8004 strh r4, [r0, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
428 245a1c: 2001 mov r0, #1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
429 245a1e: f006 fc80 bl 0x24c322
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
430 245a22: 2002 mov r0, #2
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
431 245a24: f006 fc7d bl 0x24c322
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
432 245a28: b001 add sp, #4
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
433 245a2a: bd70 pop {r4, r5, r6, pc}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
434
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
435 ; $Init_Drivers:
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
436 245a2c: b500 push {lr}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
437 245a2e: f7ce f9b0 bl 0x213d92
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
438 245a32: f7af fb41 bl 0x1f50b8
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
439 245a36: f7da fd20 bl 0x22047a
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
440 245a3a: f755 fc4f bl 0x19b2dc
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
441 245a3e: bd00 pop {pc}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
442
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
443 ; $Init_Serial_Flows:
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
444 245a40: b500 push {lr}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
445 245a42: 4827 ldr r0, =0x10786fc ; via 0x245ae0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
446 245a44: f795 f98e bl 0x1dad64
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
447 245a48: 2000 mov r0, #0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
448 245a4a: 2102 mov r1, #2
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
449 245a4c: 2200 mov r2, #0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
450 245a4e: f795 fbdc bl 0x1db20a
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
451 245a52: f795 fc51 bl 0x1db2f8
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
452 245a56: bd00 pop {pc}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
453
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
454 ; $Init_Unmask_IT:
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
455 245a58: b500 push {lr}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
456 245a5a: 2004 mov r0, #4
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
457 245a5c: f005 fc21 bl 0x24b2a2
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
458 245a60: 2012 mov r0, #18 ; 0x12
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
459 245a62: f005 fc1e bl 0x24b2a2
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
460 245a66: 2007 mov r0, #7
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
461 245a68: f005 fc1b bl 0x24b2a2
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
462 245a6c: 2008 mov r0, #8
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
463 245a6e: f005 fc18 bl 0x24b2a2
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
464 245a72: bd00 pop {pc}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
465
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
466 ; The following BX LR instructions must be empty functions in the same init
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
467 ; module as the recognizable functions above, as they lie between the previous
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
468 ; code and its associated literal pool.
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
469 245a74: 4770 bx lr
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
470 245a76: 4770 bx lr
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
471 245a78: 4770 bx lr
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
472 245a7a: 4770 bx lr
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
473 245a7c: 4770 bx lr
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
474 245a7e: 4770 bx lr
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
475
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
476 ; Appears to the old Thumb implementation of f_load_int_mem(),
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
477 ; differs from TCS211 version which is ARM and appears to be assembly
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
478 250408: b5f0 push {r4, r5, r6, r7, lr}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
479 25040a: 4640 mov r0, r8
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
480 25040c: 4649 mov r1, r9
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
481 25040e: 4652 mov r2, r10
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
482 250410: 465b mov r3, r11
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
483 250412: b40f push {r0, r1, r2, r3}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
484 250414: 4f22 ldr r7, =0x1079168 ; via 0x2504a0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
485 250416: 2000 mov r0, #0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
486 250418: 8038 strh r0, [r7, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
487 25041a: 4922 ldr r1, =0x107916a ; via 0x2504a4
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
488 25041c: 4688 mov r8, r1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
489 25041e: 8008 strh r0, [r1, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
490 250420: 4821 ldr r0, =0x800000 ; via 0x2504a8
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
491 250422: 4922 ldr r1, =0x81944c ; via 0x2504ac
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
492 250424: 1a09 sub r1, r1, r0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
493 250426: 3904 sub r1, #4
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
494 250428: 468c mov r12, r1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
495 25042a: 2104 mov r1, #4
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
496 25042c: 180e add r6, r1, r0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
497 25042e: 1c30 add r0, r6, #0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
498 250430: 4661 mov r1, r12
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
499 250432: f7ff ffe0 bl 0x2503f6
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
500 250436: 4c1e ldr r4, =0x83eda4 ; via 0x2504b0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
501 250438: 481e ldr r0, =0x83f294 ; via 0x2504b4
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
502 25043a: 1b05 sub r5, r0, r4
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
503 25043c: 1c20 add r0, r4, #0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
504 25043e: 1c29 add r1, r5, #0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
505 250440: f7ff ffd9 bl 0x2503f6
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
506 250444: 481c ldr r0, =0x20508 ; via 0x2504b8
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
507 250446: 4681 mov r9, r0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
508 250448: 4661 mov r1, r12
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
509 25044a: f7ff ffc7 bl 0x2503dc
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
510 25044e: 4682 mov r10, r0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
511 250450: 8038 strh r0, [r7, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
512 250452: 481a ldr r0, =0x155e8 ; via 0x2504bc
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
513 250454: 4683 mov r11, r0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
514 250456: 1c29 add r1, r5, #0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
515 250458: f7ff ffc0 bl 0x2503dc
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
516 25045c: 4651 mov r1, r10
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
517 25045e: 1808 add r0, r1, r0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
518 250460: 8038 strh r0, [r7, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
519 250462: 4648 mov r0, r9
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
520 250464: 4661 mov r1, r12
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
521 250466: 1c32 add r2, r6, #0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
522 250468: f7ff ffae bl 0x2503c8
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
523 25046c: 4658 mov r0, r11
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
524 25046e: 1c29 add r1, r5, #0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
525 250470: 1c22 add r2, r4, #0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
526 250472: f7ff ffa9 bl 0x2503c8
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
527 250476: 1c30 add r0, r6, #0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
528 250478: 4661 mov r1, r12
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
529 25047a: f7ff ffaf bl 0x2503dc
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
530 25047e: 1c06 add r6, r0, #0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
531 250480: 4640 mov r0, r8
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
532 250482: 8006 strh r6, [r0, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
533 250484: 1c20 add r0, r4, #0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
534 250486: 1c29 add r1, r5, #0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
535 250488: f7ff ffa8 bl 0x2503dc
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
536 25048c: 1830 add r0, r6, r0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
537 25048e: 4641 mov r1, r8
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
538 250490: 8008 strh r0, [r1, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
539 250492: bc0f pop {r0, r1, r2, r3}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
540 250494: 4680 mov r8, r0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
541 250496: 4689 mov r9, r1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
542 250498: 4692 mov r10, r2
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
543 25049a: 469b mov r11, r3
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
544 25049c: bdf0 pop {r4, r5, r6, r7, pc}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
545
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
546 ; $INC_Initialize:
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
547 254654: b530 push {r4, r5, lr}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
548 254656: 1c05 add r5, r0, #0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
549 254658: 4c13 ldr r4, =0x1079150 ; via 0x2546a8
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
550 25465a: 2001 mov r0, #1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
551 25465c: 6020 str r0, [r4, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
552 25465e: f001 f9eb bl 0x255a38
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
553 254662: f001 f9ed bl 0x255a40
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
554 254666: f001 f9ad bl 0x2559c4
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
555 25466a: f000 fd45 bl 0x2550f8
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
556 25466e: f7fb ffa3 bl 0x2505b8
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
557 254672: f000 ff0d bl 0x255490
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
558 254676: f000 fedb bl 0x255430
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
559 25467a: f000 fef9 bl 0x255470
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
560 25467e: f000 fec7 bl 0x255410
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
561 254682: f000 ff25 bl 0x2554d0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
562 254686: f000 fee3 bl 0x255450
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
563 25468a: f000 ff31 bl 0x2554f0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
564 25468e: f7fe faef bl 0x252c70
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
565 254692: f000 ff0d bl 0x2554b0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
566 254696: 1c28 add r0, r5, #0
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
567 254698: f000 fda5 bl 0x2551e6 ; app init
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
568 25469c: 2002 mov r0, #2
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
569 25469e: 6020 str r0, [r4, #0]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
570 2546a0: f001 fefa bl 0x256498 ; $TCT_Schedule veneer
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
571 2546a4: bd30 pop {r4, r5, pc}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
572
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
573 ; $Application_Initialize:
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
574 2551e6: b500 push {lr}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
575 2551e8: f7f0 fb82 bl 0x2458f0 ; $Init_Target
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
576 2551ec: f7f0 fc1e bl 0x245a2c ; $Init_Drivers
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
577 2551f0: f001 fa82 bl 0x2566f8 ; $Cust_Init_Layer1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
578 2551f4: f7f0 fc24 bl 0x245a40 ; $Init_Serial_Flows
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
579 2551f8: f7a0 fba6 bl 0x1f5948 ; $StartFrame
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
580 2551fc: f7f0 fc2c bl 0x245a58 ; $Init_Unmask_IT
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
581 255200: bd00 pop {pc}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
582
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
583 2556a4: e58de004 str lr, [sp, #4]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
584 2556a8: e28fe001 add lr, pc, #1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
585 2556ac: e12fff1e bx lr
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
586 2556b0: f7e8 f8e6 bl 0x23d880
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
587 2556b4: 4778 bx pc
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
588 2556b6: 46c0 nop (mov r8, r8)
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
589 2556b8: e59df004 ldr pc, [sp, #4]
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
590
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
591 ; _INC_Initialize call veneer
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
592 2556bc: e92d4000 stmdb sp!, {lr}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
593 2556c0: e28fe001 add lr, pc, #1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
594 2556c4: e12fff1e bx lr
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
595 2556c8: f7fe ffc4 bl 0x254654
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
596 2556cc: 4778 bx pc
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
597 2556ce: 46c0 nop (mov r8, r8)
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
598 2556d0: e8bd8000 ldmia sp!, {pc}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
599
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
600 2556d4: e92d4000 stmdb sp!, {lr}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
601 2556d8: e28fe001 add lr, pc, #1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
602 2556dc: e12fff1e bx lr
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
603 2556e0: f7e7 fb27 bl 0x23cd32
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
604 2556e4: 4778 bx pc
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
605 2556e6: 46c0 nop (mov r8, r8)
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
606 2556e8: e8bd8000 ldmia sp!, {pc}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
607
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
608 ; _f_load_int_mem call veneer
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
609 2556ec: e92d4000 stmdb sp!, {lr}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
610 2556f0: e28fe001 add lr, pc, #1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
611 2556f4: e12fff1e bx lr
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
612 2556f8: f7fa fe86 bl 0x250408
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
613 2556fc: 4778 bx pc
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
614 2556fe: 46c0 nop (mov r8, r8)
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
615 255700: e8bd8000 ldmia sp!, {pc}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
616
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
617 255704: e92d4000 stmdb sp!, {lr}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
618 255708: e28fe001 add lr, pc, #1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
619 25570c: e12fff1e bx lr
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
620 255710: f7ff fd69 bl 0x2551e6
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
621 255714: 4778 bx pc
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
622 255716: 46c0 nop (mov r8, r8)
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
623 255718: e8bd8000 ldmia sp!, {pc}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
624
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
625 25571c: e92d4000 stmdb sp!, {lr}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
626 255720: e28fe001 add lr, pc, #1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
627 255724: e12fff1e bx lr
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
628 255728: f76e f932 bl 0x1c3990
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
629 25572c: 4778 bx pc
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
630 25572e: 46c0 nop (mov r8, r8)
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
631 255730: e8bd8000 ldmia sp!, {pc}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
632
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
633 255734: e92d4000 stmdb sp!, {lr}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
634 255738: e28fe001 add lr, pc, #1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
635 25573c: e12fff1e bx lr
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
636 255740: f7a6 fe10 bl 0x1fc364
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
637 255744: 4778 bx pc
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
638 255746: 46c0 nop (mov r8, r8)
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
639 255748: e8bd8000 ldmia sp!, {pc}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
640
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
641 25574c: e92d4000 stmdb sp!, {lr}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
642 255750: e28fe001 add lr, pc, #1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
643 255754: e12fff1e bx lr
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
644 255758: f6f4 fa10 bl 0x149b7c
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
645 25575c: 4778 bx pc
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
646 25575e: 46c0 nop (mov r8, r8)
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
647 255760: e8bd8000 ldmia sp!, {pc}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
648
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
649 255764: e92d4000 stmdb sp!, {lr}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
650 255768: e28fe001 add lr, pc, #1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
651 25576c: e12fff1e bx lr
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
652 255770: f785 ff3b bl 0x1db5ea
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
653 255774: 4778 bx pc
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
654 255776: 46c0 nop (mov r8, r8)
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
655 255778: e8bd8000 ldmia sp!, {pc}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
656
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
657 25577c: e92d4000 stmdb sp!, {lr}
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
658 255780: e28fe001 add lr, pc, #1
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
659 255784: e12fff1e bx lr
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
660 255788: f785 ff10 bl 0x1db5ac
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
661 25578c: 4778 bx pc
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
662 25578e: 46c0 nop (mov r8, r8)
d12a3207b1aa D-Sample 20020917 firmware analysis
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents:
diff changeset
663 255790: e8bd8000 ldmia sp!, {pc}