FreeCalypso > hg > freecalypso-reveng
annotate dsample-fw-disasm @ 231:27c269e408af
arm7dis/armdis: bug in the decoding of SWP instructions
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 21 Dec 2017 22:15:00 +0000 |
parents | d12a3207b1aa |
children | 7b679943b57d |
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} |