Last active
August 26, 2016 23:09
-
-
Save eggman/2f6e020d4a999fcf86f1b71fff9185c6 to your computer and use it in GitHub Desktop.
disassembled code of ameba startup.o
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
10003260 <InfraStart>: | |
10003260: b508 push {r3, lr} | |
10003262: 4b15 ldr r3, [pc, #84] ; (100032b8 <InfraStart+0x58>) | |
10003264: 681b ldr r3, [r3, #0] | |
10003266: 005b lsls r3, r3, #1 | |
10003268: d422 bmi.n 100032b0 <InfraStart+0x50> | |
1000326a: 4814 ldr r0, [pc, #80] ; (100032bc <InfraStart+0x5c>) | |
1000326c: 4a14 ldr r2, [pc, #80] ; (100032c0 <InfraStart+0x60>) | |
1000326e: 2100 movs r1, #0 | |
10003270: 1a12 subs r2, r2, r0 | |
10003272: 4b14 ldr r3, [pc, #80] ; (100032c4 <InfraStart+0x64>) | |
10003274: 4798 blx r3 | |
10003276: f000 f8cb bl 10003410 <SystemCoreClockUpdate> | |
1000327a: 4913 ldr r1, [pc, #76] ; (100032c8 <InfraStart+0x68>) | |
1000327c: 4a13 ldr r2, [pc, #76] ; (100032cc <InfraStart+0x6c>) | |
1000327e: 6808 ldr r0, [r1, #0] | |
10003280: 4b13 ldr r3, [pc, #76] ; (100032d0 <InfraStart+0x70>) | |
10003282: f020 6070 bic.w r0, r0, #251658240 ; 0xf000000 | |
10003286: f040 60c0 orr.w r0, r0, #100663296 ; 0x6000000 | |
1000328a: 6008 str r0, [r1, #0] | |
1000328c: 6811 ldr r1, [r2, #0] | |
1000328e: f421 6170 bic.w r1, r1, #3840 ; 0xf00 | |
10003292: 6011 str r1, [r2, #0] | |
10003294: 681a ldr r2, [r3, #0] | |
10003296: f022 0218 bic.w r2, r2, #24 | |
1000329a: f042 0208 orr.w r2, r2, #8 | |
1000329e: 601a str r2, [r3, #0] | |
100032a0: f000 f866 bl 10003370 <En32KCalibration> | |
100032a4: f000 f85c bl 10003360 <SpicDisableRtl8195A> | |
100032a8: e8bd 4008 ldmia.w sp!, {r3, lr} | |
100032ac: f000 b844 b.w 10003338 <_AppStart> | |
100032b0: 4b08 ldr r3, [pc, #32] ; (100032d4 <InfraStart+0x74>) | |
100032b2: 4809 ldr r0, [pc, #36] ; (100032d8 <InfraStart+0x78>) | |
100032b4: 4798 blx r3 | |
100032b6: e7d8 b.n 1000326a <InfraStart+0xa> | |
100032b8: 10000314 .word 0x10000314 | |
100032bc: 10003470 .word 0x10003470 | |
100032c0: 1000348c .word 0x1000348c | |
100032c4: 0000f511 .word 0x0000f511 ; _memset() | |
100032c8: 40000020 .word 0x40000020 | |
100032cc: 4000004c .word 0x4000004c | |
100032d0: 40000064 .word 0x40000064 | |
100032d4: 0000f39d .word 0x0000f39d ; DiagPrintf() | |
100032d8: 10002e5c .word 0x10002e5c | |
# printf string | |
10002e4c <__func__.7235>: | |
10002e4c: 43535953 6c437570 6e6f436b 00676966 SYSCpuClkConfig. | |
10002e5c: 3d3d3d0d 45203d3d 7265746e 616d4920 .===== Enter Ima | |
10002e6c: 32206567 3d3d3d20 00000a3d 50535b0d ge 2 ====....[SP | |
10002e7c: 49204649 255d666e 78302873 0a297825 IF Inf]%s(0x%x). | |
10002e8c: 00000000 3d3d3d0d 45203d3d 7265746e .....===== Enter | |
10002e9c: 616d4920 31206567 3d3d3d20 00000a3d Image 1 ====... | |
10002eac: 616d490d 20326567 78302040 78383025 .Image2 @ 0x%08x | |
10002ebc: 0000000a 616d490d 20326567 676e656c .....Image2 leng | |
10002ecc: 203a6874 202c6425 67616d49 64412065 th: %d, Image Ad | |
10002edc: 203a7264 30257830 000a7838 206f4e0d dr: 0x%08x...No | |
10002eec: 67616d49 0d0a3365 00000000 616d490d Image3.......Ima | |
10002efc: 20336567 676e656c 203a6874 78257830 ge3 length: 0x%x | |
10002f0c: 6d49202c 33656761 64644120 30203a72 , Image3 Addr: 0 | |
10002f1c: 0a782578 00000000 676d490d 69532032 x%x......Img2 Si | |
10002f2c: 203a6e67 202c7325 61666e49 72617453 gn: %s, InfaStar | |
10002f3c: 20402074 30257830 000a7838 574b5452 t @ 0x%08x..RTKW | |
10002f4c: 00006e69 766e490d 64696c61 616d4920 in...Invalid Ima | |
10002f5c: 20326567 6e676953 72757461 00000a65 ge2 Signature... | |
# | |
# arm-none-eabi-objdump -d sdk/lib/startup.o | |
# | |
sdk/lib/startup.o: file format elf32-littlearm | |
Disassembly of section .infra.ram.start: | |
00000000 <InfraStart>: | |
0: b508 push {r3, lr} | |
2: 4b15 ldr r3, [pc, #84] ; (58 <InfraStart+0x58>) | |
4: 681b ldr r3, [r3, #0] | |
6: 005b lsls r3, r3, #1 | |
8: d422 bmi.n 50 <InfraStart+0x50> | |
a: 4814 ldr r0, [pc, #80] ; (5c <InfraStart+0x5c>) | |
c: 4a14 ldr r2, [pc, #80] ; (60 <InfraStart+0x60>) | |
e: 2100 movs r1, #0 | |
10: 1a12 subs r2, r2, r0 | |
12: 4b14 ldr r3, [pc, #80] ; (64 <InfraStart+0x64>) | |
14: 4798 blx r3 | |
16: f7ff fffe bl 0 <SystemCoreClockUpdate> | |
1a: 4913 ldr r1, [pc, #76] ; (68 <InfraStart+0x68>) | |
1c: 4a13 ldr r2, [pc, #76] ; (6c <InfraStart+0x6c>) | |
1e: 6808 ldr r0, [r1, #0] | |
20: 4b13 ldr r3, [pc, #76] ; (70 <InfraStart+0x70>) | |
22: f020 6070 bic.w r0, r0, #251658240 ; 0xf000000 | |
26: f040 60c0 orr.w r0, r0, #100663296 ; 0x6000000 | |
2a: 6008 str r0, [r1, #0] | |
2c: 6811 ldr r1, [r2, #0] | |
2e: f421 6170 bic.w r1, r1, #3840 ; 0xf00 | |
32: 6011 str r1, [r2, #0] | |
34: 681a ldr r2, [r3, #0] | |
36: f022 0218 bic.w r2, r2, #24 | |
3a: f042 0208 orr.w r2, r2, #8 | |
3e: 601a str r2, [r3, #0] | |
40: f7ff fffe bl 0 <En32KCalibration> | |
44: f7ff fffe bl 0 <SpicDisableRtl8195A> | |
48: e8bd 4008 ldmia.w sp!, {r3, lr} | |
4c: f7ff bffe b.w 0 <_AppStart> | |
50: 4b08 ldr r3, [pc, #32] ; (74 <InfraStart+0x74>) | |
52: 4809 ldr r0, [pc, #36] ; (78 <InfraStart+0x78>) | |
54: 4798 blx r3 | |
56: e7d8 b.n a <InfraStart+0xa> | |
... | |
68: 40000020 .word 0x40000020 | |
6c: 4000004c .word 0x4000004c | |
70: 40000064 .word 0x40000064 | |
... | |
Disassembly of section .hal.ram.text: | |
00000000 <StartupHalInitPlatformLogUart>: | |
0: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} | |
4: 4a2c ldr r2, [pc, #176] ; (b8 <StartupHalInitPlatformLogUart+0xb8>) | |
6: 4b2d ldr r3, [pc, #180] ; (bc <StartupHalInitPlatformLogUart+0xbc>) | |
8: 6812 ldr r2, [r2, #0] | |
a: 6819 ldr r1, [r3, #0] | |
c: 4a2c ldr r2, [pc, #176] ; (c0 <StartupHalInitPlatformLogUart+0xc0>) | |
e: f421 5180 bic.w r1, r1, #4096 ; 0x1000 | |
12: 6019 str r1, [r3, #0] | |
14: 6819 ldr r1, [r3, #0] | |
16: 482b ldr r0, [pc, #172] ; (c4 <StartupHalInitPlatformLogUart+0xc4>) | |
18: f441 5180 orr.w r1, r1, #4096 ; 0x1000 | |
1c: 6019 str r1, [r3, #0] | |
1e: 6815 ldr r5, [r2, #0] | |
20: f503 5337 add.w r3, r3, #11712 ; 0x2dc0 | |
24: 2180 movs r1, #128 ; 0x80 | |
26: 333c adds r3, #60 ; 0x3c | |
28: f445 5580 orr.w r5, r5, #4096 ; 0x1000 | |
2c: 2400 movs r4, #0 | |
2e: 6015 str r5, [r2, #0] | |
30: 6004 str r4, [r0, #0] | |
32: 6019 str r1, [r3, #0] | |
34: f7ff fffe bl 0 <HalGetCpuClk> | |
38: 4a23 ldr r2, [pc, #140] ; (c8 <StartupHalInitPlatformLogUart+0xc8>) | |
3a: 0880 lsrs r0, r0, #2 | |
3c: fba2 1300 umull r1, r3, r2, r0 | |
40: eb00 0080 add.w r0, r0, r0, lsl #2 | |
44: 0040 lsls r0, r0, #1 | |
46: fba2 1200 umull r1, r2, r2, r0 | |
4a: 0c1b lsrs r3, r3, #16 | |
4c: eb03 0183 add.w r1, r3, r3, lsl #2 | |
50: 0049 lsls r1, r1, #1 | |
52: ebc1 4212 rsb r2, r1, r2, lsr #16 | |
56: 2a04 cmp r2, #4 | |
58: bf88 it hi | |
5a: 3301 addhi r3, #1 | |
5c: 4a19 ldr r2, [pc, #100] ; (c4 <StartupHalInitPlatformLogUart+0xc4>) | |
5e: 491b ldr r1, [pc, #108] ; (cc <StartupHalInitPlatformLogUart+0xcc>) | |
60: 4c1b ldr r4, [pc, #108] ; (d0 <StartupHalInitPlatformLogUart+0xd0>) | |
62: f8df 9054 ldr.w r9, [pc, #84] ; b8 <StartupHalInitPlatformLogUart+0xb8> | |
66: 4f1b ldr r7, [pc, #108] ; (d4 <StartupHalInitPlatformLogUart+0xd4>) | |
68: fa5f fa83 uxtb.w sl, r3 | |
6c: ea4f 2b13 mov.w fp, r3, lsr #8 | |
70: 4819 ldr r0, [pc, #100] ; (d8 <StartupHalInitPlatformLogUart+0xd8>) | |
72: 23c1 movs r3, #193 ; 0xc1 | |
74: f04f 0800 mov.w r8, #0 | |
78: f04f 0c03 mov.w ip, #3 | |
7c: 2605 movs r6, #5 | |
7e: f04f 7580 mov.w r5, #16777216 ; 0x1000000 | |
82: f8c9 a000 str.w sl, [r9] | |
86: f8c2 b000 str.w fp, [r2] | |
8a: f8c1 8000 str.w r8, [r1] | |
8e: f8c1 c000 str.w ip, [r1] | |
92: 603b str r3, [r7, #0] | |
94: 6016 str r6, [r2, #0] | |
96: 6025 str r5, [r4, #0] | |
98: 68c1 ldr r1, [r0, #12] | |
9a: f64f 02ff movw r2, #63743 ; 0xf8ff | |
9e: 4b0f ldr r3, [pc, #60] ; (dc <StartupHalInitPlatformLogUart+0xdc>) | |
a0: 400a ands r2, r1 | |
a2: 490f ldr r1, [pc, #60] ; (e0 <StartupHalInitPlatformLogUart+0xe0>) | |
a4: 4313 orrs r3, r2 | |
a6: 24e0 movs r4, #224 ; 0xe0 | |
a8: 60c3 str r3, [r0, #12] | |
aa: f44f 2200 mov.w r2, #524288 ; 0x80000 | |
ae: f881 4313 strb.w r4, [r1, #787] ; 0x313 | |
b2: 600a str r2, [r1, #0] | |
b4: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} | |
b8: 40003000 .word 0x40003000 | |
bc: 40000210 .word 0x40000210 | |
c0: 40000230 .word 0x40000230 | |
c4: 40003004 .word 0x40003004 | |
c8: 1b4e81b5 .word 0x1b4e81b5 | |
cc: 4000300c .word 0x4000300c | |
d0: 4000280c .word 0x4000280c | |
d4: 40003008 .word 0x40003008 | |
d8: e000ed00 .word 0xe000ed00 | |
dc: 05fa0300 .word 0x05fa0300 | |
e0: e000e100 .word 0xe000e100 | |
10001d88 <SYSCpuClkConfig>: | |
10001d88: 4b0c ldr r3, [pc, #48] ; (10001dbc <SYSCpuClkConfig+0x34>) | |
10001d8a: b510 push {r4, lr} | |
10001d8c: 681b ldr r3, [r3, #0] | |
10001d8e: 4604 mov r4, r0 | |
10001d90: 04db lsls r3, r3, #19 | |
10001d92: d40d bmi.n 10001db0 <SYSCpuClkConfig+0x28> | |
10001d94: 4620 mov r0, r4 | |
10001d96: f001 f837 bl 10002e08 <__HalCpuClkConfig_veneer> | |
10001d9a: f44f 707a mov.w r0, #1000 ; 0x3e8 | |
10001d9e: f001 f823 bl 10002de8 <__HalDelayUs_veneer> | |
10001da2: f7ff ff7f bl 10001ca4 <StartupHalInitPlatformLogUart> | |
10001da6: 4620 mov r0, r4 | |
10001da8: e8bd 4010 ldmia.w sp!, {r4, lr} | |
10001dac: f000 bce4 b.w 10002778 <SpicOneBitCalibrationRtl8195A> | |
10001db0: 4903 ldr r1, [pc, #12] ; (10001dc0 <SYSCpuClkConfig+0x38>) | |
10001db2: 4622 mov r2, r4 | |
10001db4: 4b03 ldr r3, [pc, #12] ; (10001dc4 <SYSCpuClkConfig+0x3c>) | |
10001db6: 4804 ldr r0, [pc, #16] ; (10001dc8 <SYSCpuClkConfig+0x40>) | |
10001db8: 4798 blx r3 | |
10001dba: e7eb b.n 10001d94 <SYSCpuClkConfig+0xc> | |
10001dbc: 10000310 .word 0x10000310 | |
10001dc0: 10002e4c .word 0x10002e4c | |
10001dc4: 0000f39d .word 0x0000f39d | |
10001dc8: 10002e78 .word 0x10002e78 | |
000000e4 <SYSCpuClkConfig>: | |
e4: 4b0c ldr r3, [pc, #48] ; (118 <SYSCpuClkConfig+0x34>) | |
e6: b510 push {r4, lr} | |
e8: 681b ldr r3, [r3, #0] | |
ea: 4604 mov r4, r0 | |
ec: 04db lsls r3, r3, #19 | |
ee: d40d bmi.n 10c <SYSCpuClkConfig+0x28> | |
f0: 4620 mov r0, r4 | |
f2: f7ff fffe bl 0 <HalCpuClkConfig> | |
f6: f44f 707a mov.w r0, #1000 ; 0x3e8 | |
fa: f7ff fffe bl 0 <HalDelayUs> | |
fe: f7ff ff7f bl 0 <StartupHalInitPlatformLogUart> | |
102: 4620 mov r0, r4 | |
104: e8bd 4010 ldmia.w sp!, {r4, lr} | |
108: f7ff bffe b.w 0 <SpicOneBitCalibrationRtl8195A> | |
10c: 4903 ldr r1, [pc, #12] ; (11c <SYSCpuClkConfig+0x38>) | |
10e: 4622 mov r2, r4 | |
110: 4b03 ldr r3, [pc, #12] ; (120 <SYSCpuClkConfig+0x3c>) | |
112: 4804 ldr r0, [pc, #16] ; (124 <SYSCpuClkConfig+0x40>) | |
114: 4798 blx r3 | |
116: e7eb b.n f0 <SYSCpuClkConfig+0xc> | |
... | |
124: 0000001c .word 0x0000001c | |
10001dcc <PreProcessForVendor>: | |
10001dcc: 4853 ldr r0, [pc, #332] ; (10001f1c <PreProcessForVendor+0x150>) | |
10001dce: 4a54 ldr r2, [pc, #336] ; (10001f20 <PreProcessForVendor+0x154>) | |
10001dd0: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} | |
10001dd4: 4b53 ldr r3, [pc, #332] ; (10001f24 <PreProcessForVendor+0x158>) | |
10001dd6: 1a12 subs r2, r2, r0 | |
10001dd8: 2100 movs r1, #0 | |
10001dda: 4798 blx r3 | |
10001ddc: 2100 movs r1, #0 | |
10001dde: 2201 movs r2, #1 | |
10001de0: 20d8 movs r0, #216 ; 0xd8 | |
10001de2: f001 f819 bl 10002e18 <__HalPinCtrlRtl8195A_veneer> | |
10001de6: f44f 60fa mov.w r0, #2000 ; 0x7d0 | |
10001dea: f001 f80d bl 10002e08 <__HalDelayUs_veneer> | |
10001dee: 2000 movs r0, #0 | |
10001df0: f7ff ffca bl 10001d88 <SYSCpuClkConfig> | |
10001df4: 4c4c ldr r4, [pc, #304] ; (10001f28 <PreProcessForVendor+0x15c>) | |
10001df6: 494d ldr r1, [pc, #308] ; (10001f2c <PreProcessForVendor+0x160>) | |
10001df8: 4a4d ldr r2, [pc, #308] ; (10001f30 <PreProcessForVendor+0x164>) | |
10001dfa: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff | |
10001dfe: 6023 str r3, [r4, #0] | |
10001e00: 600b str r3, [r1, #0] | |
10001e02: 6013 str r3, [r2, #0] | |
10001e04: f7ff ff4e bl 10001ca4 <StartupHalInitPlatformLogUart> | |
10001e08: 6823 ldr r3, [r4, #0] | |
10001e0a: 0058 lsls r0, r3, #1 | |
10001e0c: d47a bmi.n 10001f04 <PreProcessForVendor+0x138> | |
10001e0e: 2001 movs r0, #1 | |
10001e10: f000 fc5a bl 100026c8 <SpicFlashInitRtl8195A> | |
10001e14: 4b47 ldr r3, [pc, #284] ; (10001f34 <PreProcessForVendor+0x168>) | |
10001e16: 681b ldr r3, [r3, #0] | |
10001e18: 0299 lsls r1, r3, #10 | |
10001e1a: d53f bpl.n 10001e9c <PreProcessForVendor+0xd0> | |
10001e1c: 4b46 ldr r3, [pc, #280] ; (10001f38 <PreProcessForVendor+0x16c>) | |
10001e1e: 681b ldr r3, [r3, #0] | |
10001e20: b29b uxth r3, r3 | |
10001e22: 029d lsls r5, r3, #10 | |
10001e24: b913 cbnz r3, 10001e2c <PreProcessForVendor+0x60> | |
10001e26: 4b45 ldr r3, [pc, #276] ; (10001f3c <PreProcessForVendor+0x170>) | |
10001e28: 681d ldr r5, [r3, #0] | |
10001e2a: 3520 adds r5, #32 | |
10001e2c: 6823 ldr r3, [r4, #0] | |
10001e2e: 4e3e ldr r6, [pc, #248] ; (10001f28 <PreProcessForVendor+0x15c>) | |
10001e30: 005a lsls r2, r3, #1 | |
10001e32: d456 bmi.n 10001ee2 <PreProcessForVendor+0x116> | |
10001e34: f105 4318 add.w r3, r5, #2550136832 ; 0x98000000 | |
10001e38: 681e ldr r6, [r3, #0] | |
10001e3a: 685f ldr r7, [r3, #4] | |
10001e3c: 442e add r6, r5 | |
10001e3e: f106 0010 add.w r0, r6, #16 | |
10001e42: f105 0310 add.w r3, r5, #16 | |
10001e46: 4283 cmp r3, r0 | |
10001e48: d20a bcs.n 10001e60 <PreProcessForVendor+0x94> | |
10001e4a: f06f 010f mvn.w r1, #15 | |
10001e4e: 1b49 subs r1, r1, r5 | |
10001e50: 4439 add r1, r7 | |
10001e52: f103 4218 add.w r2, r3, #2550136832 ; 0x98000000 | |
10001e56: 6812 ldr r2, [r2, #0] | |
10001e58: 50ca str r2, [r1, r3] | |
10001e5a: 3304 adds r3, #4 | |
10001e5c: 4283 cmp r3, r0 | |
10001e5e: d3f8 bcc.n 10001e52 <PreProcessForVendor+0x86> | |
10001e60: f106 4318 add.w r3, r6, #2550136832 ; 0x98000000 | |
10001e64: 691d ldr r5, [r3, #16] | |
10001e66: 695a ldr r2, [r3, #20] | |
10001e68: 1e6b subs r3, r5, #1 | |
10001e6a: 3303 adds r3, #3 | |
10001e6c: d802 bhi.n 10001e74 <PreProcessForVendor+0xa8> | |
10001e6e: f1b2 5f40 cmp.w r2, #805306368 ; 0x30000000 | |
10001e72: d016 beq.n 10001ea2 <PreProcessForVendor+0xd6> | |
10001e74: 6823 ldr r3, [r4, #0] | |
10001e76: 0058 lsls r0, r3, #1 | |
10001e78: d44c bmi.n 10001f14 <PreProcessForVendor+0x148> | |
10001e7a: 4d31 ldr r5, [pc, #196] ; (10001f40 <PreProcessForVendor+0x174>) | |
10001e7c: 4831 ldr r0, [pc, #196] ; (10001f44 <PreProcessForVendor+0x178>) | |
10001e7e: 4932 ldr r1, [pc, #200] ; (10001f48 <PreProcessForVendor+0x17c>) | |
10001e80: 4b32 ldr r3, [pc, #200] ; (10001f4c <PreProcessForVendor+0x180>) | |
10001e82: 4798 blx r3 | |
10001e84: b130 cbz r0, 10001e94 <PreProcessForVendor+0xc8> | |
10001e86: 6823 ldr r3, [r4, #0] | |
10001e88: 005b lsls r3, r3, #1 | |
10001e8a: d43f bmi.n 10001f0c <PreProcessForVendor+0x140> | |
10001e8c: f44f 707a mov.w r0, #1000 ; 0x3e8 | |
10001e90: f000 ffca bl 10002e28 <__RtlConsolRom_veneer> | |
10001e94: 682b ldr r3, [r5, #0] | |
10001e96: 4798 blx r3 | |
10001e98: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} | |
10001e9c: f000 ff5c bl 10002d58 <SdrControllerInit> | |
10001ea0: e7bc b.n 10001e1c <PreProcessForVendor+0x50> | |
10001ea2: 6823 ldr r3, [r4, #0] | |
10001ea4: 0059 lsls r1, r3, #1 | |
10001ea6: d417 bmi.n 10001ed8 <PreProcessForVendor+0x10c> | |
10001ea8: f106 0320 add.w r3, r6, #32 | |
10001eac: 441d add r5, r3 | |
10001eae: 429d cmp r5, r3 | |
10001eb0: d908 bls.n 10001ec4 <PreProcessForVendor+0xf8> | |
10001eb2: 4927 ldr r1, [pc, #156] ; (10001f50 <PreProcessForVendor+0x184>) | |
10001eb4: 1b89 subs r1, r1, r6 | |
10001eb6: f103 4218 add.w r2, r3, #2550136832 ; 0x98000000 | |
10001eba: 6812 ldr r2, [r2, #0] | |
10001ebc: 50ca str r2, [r1, r3] | |
10001ebe: 3304 adds r3, #4 | |
10001ec0: 429d cmp r5, r3 | |
10001ec2: d8f8 bhi.n 10001eb6 <PreProcessForVendor+0xea> | |
10001ec4: 6823 ldr r3, [r4, #0] | |
10001ec6: 4d1e ldr r5, [pc, #120] ; (10001f40 <PreProcessForVendor+0x174>) | |
10001ec8: 005a lsls r2, r3, #1 | |
10001eca: d5d7 bpl.n 10001e7c <PreProcessForVendor+0xb0> | |
10001ecc: 682a ldr r2, [r5, #0] | |
10001ece: 491d ldr r1, [pc, #116] ; (10001f44 <PreProcessForVendor+0x178>) | |
10001ed0: 4b20 ldr r3, [pc, #128] ; (10001f54 <PreProcessForVendor+0x188>) | |
10001ed2: 4821 ldr r0, [pc, #132] ; (10001f58 <PreProcessForVendor+0x18c>) | |
10001ed4: 4798 blx r3 | |
10001ed6: e7d1 b.n 10001e7c <PreProcessForVendor+0xb0> | |
10001ed8: 4629 mov r1, r5 | |
10001eda: 4b1e ldr r3, [pc, #120] ; (10001f54 <PreProcessForVendor+0x188>) | |
10001edc: 481f ldr r0, [pc, #124] ; (10001f5c <PreProcessForVendor+0x190>) | |
10001ede: 4798 blx r3 | |
10001ee0: e7e2 b.n 10001ea8 <PreProcessForVendor+0xdc> | |
10001ee2: 481f ldr r0, [pc, #124] ; (10001f60 <PreProcessForVendor+0x194>) | |
10001ee4: 4629 mov r1, r5 | |
10001ee6: f8df 806c ldr.w r8, [pc, #108] ; 10001f54 <PreProcessForVendor+0x188> | |
10001eea: 47c0 blx r8 | |
10001eec: 6832 ldr r2, [r6, #0] | |
10001eee: f105 4318 add.w r3, r5, #2550136832 ; 0x98000000 | |
10001ef2: 681e ldr r6, [r3, #0] | |
10001ef4: 685f ldr r7, [r3, #4] | |
10001ef6: 0053 lsls r3, r2, #1 | |
10001ef8: d5a0 bpl.n 10001e3c <PreProcessForVendor+0x70> | |
10001efa: 4631 mov r1, r6 | |
10001efc: 463a mov r2, r7 | |
10001efe: 4819 ldr r0, [pc, #100] ; (10001f64 <PreProcessForVendor+0x198>) | |
10001f00: 47c0 blx r8 | |
10001f02: e79b b.n 10001e3c <PreProcessForVendor+0x70> | |
10001f04: 4b13 ldr r3, [pc, #76] ; (10001f54 <PreProcessForVendor+0x188>) | |
10001f06: 4818 ldr r0, [pc, #96] ; (10001f68 <PreProcessForVendor+0x19c>) | |
10001f08: 4798 blx r3 | |
10001f0a: e780 b.n 10001e0e <PreProcessForVendor+0x42> | |
10001f0c: 4b11 ldr r3, [pc, #68] ; (10001f54 <PreProcessForVendor+0x188>) | |
10001f0e: 4817 ldr r0, [pc, #92] ; (10001f6c <PreProcessForVendor+0x1a0>) | |
10001f10: 4798 blx r3 | |
10001f12: e7bb b.n 10001e8c <PreProcessForVendor+0xc0> | |
10001f14: 4b0f ldr r3, [pc, #60] ; (10001f54 <PreProcessForVendor+0x188>) | |
10001f16: 4816 ldr r0, [pc, #88] ; (10001f70 <PreProcessForVendor+0x1a4>) | |
10001f18: 4798 blx r3 | |
10001f1a: e7d3 b.n 10001ec4 <PreProcessForVendor+0xf8> | |
10001f1c: 10001c5c .word 0x10001c5c | |
10001f20: 10001ca4 .word 0x10001ca4 | |
10001f24: 0000f511 .word 0x0000f511 | |
10001f28: 10000314 .word 0x10000314 | |
10001f2c: 10000310 .word 0x10000310 | |
10001f30: 1000030c .word 0x1000030c | |
10001f34: 40000210 .word 0x40000210 | |
10001f38: 98000018 .word 0x98000018 | |
10001f3c: 98000010 .word 0x98000010 | |
10001f40: 10003254 .word 0x10003254 | |
10001f44: 10003258 .word 0x10003258 | |
10001f48: 10002f50 .word 0x10002f50 | |
10001f4c: 0000f6b1 .word 0x0000f6b1 | |
10001f50: 2fffffe0 .word 0x2fffffe0 | |
10001f54: 0000f39d .word 0x0000f39d | |
10001f58: 10002f2c .word 0x10002f2c | |
10001f5c: 10002f00 .word 0x10002f00 | |
10001f60: 10002eb4 .word 0x10002eb4 | |
10001f64: 10002ec8 .word 0x10002ec8 | |
10001f68: 10002e98 .word 0x10002e98 | |
10001f6c: 10002f58 .word 0x10002f58 | |
10001f70: 10002ef0 .word 0x10002ef0 | |
00000128 <PreProcessForVendor>: | |
128: 4853 ldr r0, [pc, #332] ; (278 <PreProcessForVendor+0x150>) | |
12a: 4a54 ldr r2, [pc, #336] ; (27c <PreProcessForVendor+0x154>) | |
12c: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} | |
130: 4b53 ldr r3, [pc, #332] ; (280 <PreProcessForVendor+0x158>) | |
132: 1a12 subs r2, r2, r0 | |
134: 2100 movs r1, #0 | |
136: 4798 blx r3 | |
138: 2100 movs r1, #0 | |
13a: 2201 movs r2, #1 | |
13c: 20d8 movs r0, #216 ; 0xd8 | |
13e: f7ff fffe bl 0 <HalPinCtrlRtl8195A> | |
142: f44f 60fa mov.w r0, #2000 ; 0x7d0 | |
146: f7ff fffe bl 0 <HalDelayUs> | |
14a: 2000 movs r0, #0 | |
14c: f7ff fffe bl e4 <SYSCpuClkConfig> | |
150: 4c4c ldr r4, [pc, #304] ; (284 <PreProcessForVendor+0x15c>) | |
152: 494d ldr r1, [pc, #308] ; (288 <PreProcessForVendor+0x160>) | |
154: 4a4d ldr r2, [pc, #308] ; (28c <PreProcessForVendor+0x164>) | |
156: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff | |
15a: 6023 str r3, [r4, #0] | |
15c: 600b str r3, [r1, #0] | |
15e: 6013 str r3, [r2, #0] | |
160: f7ff ff4e bl 0 <StartupHalInitPlatformLogUart> | |
164: 6823 ldr r3, [r4, #0] | |
166: 0058 lsls r0, r3, #1 | |
168: d47a bmi.n 260 <PreProcessForVendor+0x138> | |
16a: 2001 movs r0, #1 | |
16c: f7ff fffe bl 0 <SpicFlashInitRtl8195A> | |
170: 4b47 ldr r3, [pc, #284] ; (290 <PreProcessForVendor+0x168>) | |
172: 681b ldr r3, [r3, #0] | |
174: 0299 lsls r1, r3, #10 | |
176: d53f bpl.n 1f8 <PreProcessForVendor+0xd0> | |
178: 4b46 ldr r3, [pc, #280] ; (294 <PreProcessForVendor+0x16c>) | |
17a: 681b ldr r3, [r3, #0] | |
17c: b29b uxth r3, r3 | |
17e: 029d lsls r5, r3, #10 | |
180: b913 cbnz r3, 188 <PreProcessForVendor+0x60> | |
182: 4b45 ldr r3, [pc, #276] ; (298 <PreProcessForVendor+0x170>) | |
184: 681d ldr r5, [r3, #0] | |
186: 3520 adds r5, #32 | |
188: 6823 ldr r3, [r4, #0] | |
18a: 4e3e ldr r6, [pc, #248] ; (284 <PreProcessForVendor+0x15c>) | |
18c: 005a lsls r2, r3, #1 | |
18e: d456 bmi.n 23e <PreProcessForVendor+0x116> | |
190: f105 4318 add.w r3, r5, #2550136832 ; 0x98000000 | |
194: 681e ldr r6, [r3, #0] | |
196: 685f ldr r7, [r3, #4] | |
198: 442e add r6, r5 | |
19a: f106 0010 add.w r0, r6, #16 | |
19e: f105 0310 add.w r3, r5, #16 | |
1a2: 4283 cmp r3, r0 | |
1a4: d20a bcs.n 1bc <PreProcessForVendor+0x94> | |
1a6: f06f 010f mvn.w r1, #15 | |
1aa: 1b49 subs r1, r1, r5 | |
1ac: 4439 add r1, r7 | |
1ae: f103 4218 add.w r2, r3, #2550136832 ; 0x98000000 | |
1b2: 6812 ldr r2, [r2, #0] | |
1b4: 50ca str r2, [r1, r3] | |
1b6: 3304 adds r3, #4 | |
1b8: 4283 cmp r3, r0 | |
1ba: d3f8 bcc.n 1ae <PreProcessForVendor+0x86> | |
1bc: f106 4318 add.w r3, r6, #2550136832 ; 0x98000000 | |
1c0: 691d ldr r5, [r3, #16] | |
1c2: 695a ldr r2, [r3, #20] | |
1c4: 1e6b subs r3, r5, #1 | |
1c6: 3303 adds r3, #3 | |
1c8: d802 bhi.n 1d0 <PreProcessForVendor+0xa8> | |
1ca: f1b2 5f40 cmp.w r2, #805306368 ; 0x30000000 | |
1ce: d016 beq.n 1fe <PreProcessForVendor+0xd6> | |
1d0: 6823 ldr r3, [r4, #0] | |
1d2: 0058 lsls r0, r3, #1 | |
1d4: d44c bmi.n 270 <PreProcessForVendor+0x148> | |
1d6: 4d31 ldr r5, [pc, #196] ; (29c <PreProcessForVendor+0x174>) | |
1d8: 4831 ldr r0, [pc, #196] ; (2a0 <PreProcessForVendor+0x178>) | |
1da: 4932 ldr r1, [pc, #200] ; (2a4 <PreProcessForVendor+0x17c>) | |
1dc: 4b32 ldr r3, [pc, #200] ; (2a8 <PreProcessForVendor+0x180>) | |
1de: 4798 blx r3 | |
1e0: b130 cbz r0, 1f0 <PreProcessForVendor+0xc8> | |
1e2: 6823 ldr r3, [r4, #0] | |
1e4: 005b lsls r3, r3, #1 | |
1e6: d43f bmi.n 268 <PreProcessForVendor+0x140> | |
1e8: f44f 707a mov.w r0, #1000 ; 0x3e8 | |
1ec: f7ff fffe bl 0 <RtlConsolRom> | |
1f0: 682b ldr r3, [r5, #0] | |
1f2: 4798 blx r3 | |
1f4: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} | |
1f8: f7ff fffe bl 0 <SdrControllerInit> | |
1fc: e7bc b.n 178 <PreProcessForVendor+0x50> | |
1fe: 6823 ldr r3, [r4, #0] | |
200: 0059 lsls r1, r3, #1 | |
202: d417 bmi.n 234 <PreProcessForVendor+0x10c> | |
204: f106 0320 add.w r3, r6, #32 | |
208: 441d add r5, r3 | |
20a: 429d cmp r5, r3 | |
20c: d908 bls.n 220 <PreProcessForVendor+0xf8> | |
20e: 4927 ldr r1, [pc, #156] ; (2ac <PreProcessForVendor+0x184>) | |
210: 1b89 subs r1, r1, r6 | |
212: f103 4218 add.w r2, r3, #2550136832 ; 0x98000000 | |
216: 6812 ldr r2, [r2, #0] | |
218: 50ca str r2, [r1, r3] | |
21a: 3304 adds r3, #4 | |
21c: 429d cmp r5, r3 | |
21e: d8f8 bhi.n 212 <PreProcessForVendor+0xea> | |
220: 6823 ldr r3, [r4, #0] | |
222: 4d1e ldr r5, [pc, #120] ; (29c <PreProcessForVendor+0x174>) | |
224: 005a lsls r2, r3, #1 | |
226: d5d7 bpl.n 1d8 <PreProcessForVendor+0xb0> | |
228: 682a ldr r2, [r5, #0] | |
22a: 491d ldr r1, [pc, #116] ; (2a0 <PreProcessForVendor+0x178>) | |
22c: 4b20 ldr r3, [pc, #128] ; (2b0 <PreProcessForVendor+0x188>) | |
22e: 4821 ldr r0, [pc, #132] ; (2b4 <PreProcessForVendor+0x18c>) | |
230: 4798 blx r3 | |
232: e7d1 b.n 1d8 <PreProcessForVendor+0xb0> | |
234: 4629 mov r1, r5 | |
236: 4b1e ldr r3, [pc, #120] ; (2b0 <PreProcessForVendor+0x188>) | |
238: 481f ldr r0, [pc, #124] ; (2b8 <PreProcessForVendor+0x190>) | |
23a: 4798 blx r3 | |
23c: e7e2 b.n 204 <PreProcessForVendor+0xdc> | |
23e: 481f ldr r0, [pc, #124] ; (2bc <PreProcessForVendor+0x194>) | |
240: 4629 mov r1, r5 | |
242: f8df 806c ldr.w r8, [pc, #108] ; 2b0 <PreProcessForVendor+0x188> | |
246: 47c0 blx r8 | |
248: 6832 ldr r2, [r6, #0] | |
24a: f105 4318 add.w r3, r5, #2550136832 ; 0x98000000 | |
24e: 681e ldr r6, [r3, #0] | |
250: 685f ldr r7, [r3, #4] | |
252: 0053 lsls r3, r2, #1 | |
254: d5a0 bpl.n 198 <PreProcessForVendor+0x70> | |
256: 4631 mov r1, r6 | |
258: 463a mov r2, r7 | |
25a: 4819 ldr r0, [pc, #100] ; (2c0 <PreProcessForVendor+0x198>) | |
25c: 47c0 blx r8 | |
25e: e79b b.n 198 <PreProcessForVendor+0x70> | |
260: 4b13 ldr r3, [pc, #76] ; (2b0 <PreProcessForVendor+0x188>) | |
262: 4818 ldr r0, [pc, #96] ; (2c4 <PreProcessForVendor+0x19c>) | |
264: 4798 blx r3 | |
266: e780 b.n 16a <PreProcessForVendor+0x42> | |
268: 4b11 ldr r3, [pc, #68] ; (2b0 <PreProcessForVendor+0x188>) | |
26a: 4817 ldr r0, [pc, #92] ; (2c8 <PreProcessForVendor+0x1a0>) | |
26c: 4798 blx r3 | |
26e: e7bb b.n 1e8 <PreProcessForVendor+0xc0> | |
270: 4b0f ldr r3, [pc, #60] ; (2b0 <PreProcessForVendor+0x188>) | |
272: 4816 ldr r0, [pc, #88] ; (2cc <PreProcessForVendor+0x1a4>) | |
274: 4798 blx r3 | |
276: e7d3 b.n 220 <PreProcessForVendor+0xf8> | |
... | |
290: 40000210 .word 0x40000210 | |
294: 98000018 .word 0x98000018 | |
298: 98000010 .word 0x98000010 | |
... | |
2a4: 000000ec .word 0x000000ec | |
2a8: 00000000 .word 0x00000000 | |
2ac: 2fffffe0 .word 0x2fffffe0 | |
2b0: 00000000 .word 0x00000000 | |
2b4: 000000c8 .word 0x000000c8 | |
2b8: 0000009c .word 0x0000009c | |
2bc: 00000050 .word 0x00000050 | |
2c0: 00000064 .word 0x00000064 | |
2c4: 00000034 .word 0x00000034 | |
2c8: 000000f4 .word 0x000000f4 | |
2cc: 0000008c .word 0x0000008c | |
Disassembly of section .text.SYSPlatformInit: | |
00000000 <SYSPlatformInit>: | |
0: 4909 ldr r1, [pc, #36] ; (28 <SYSPlatformInit+0x28>) | |
2: 4a0a ldr r2, [pc, #40] ; (2c <SYSPlatformInit+0x2c>) | |
4: 6808 ldr r0, [r1, #0] | |
6: 4b0a ldr r3, [pc, #40] ; (30 <SYSPlatformInit+0x30>) | |
8: f020 6070 bic.w r0, r0, #251658240 ; 0xf000000 | |
c: f040 60c0 orr.w r0, r0, #100663296 ; 0x6000000 | |
10: 6008 str r0, [r1, #0] | |
12: 6811 ldr r1, [r2, #0] | |
14: f421 6170 bic.w r1, r1, #3840 ; 0xf00 | |
18: 6011 str r1, [r2, #0] | |
1a: 681a ldr r2, [r3, #0] | |
1c: f022 0218 bic.w r2, r2, #24 | |
20: f042 0208 orr.w r2, r2, #8 | |
24: 601a str r2, [r3, #0] | |
26: 4770 bx lr | |
28: 40000020 .word 0x40000020 | |
2c: 4000004c .word 0x4000004c | |
30: 40000064 .word 0x40000064 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment