# HG changeset patch # User Mychaela Falconia # Date 1516262583 0 # Node ID d15f701b143497a26adc3995660498f72ed74a7c # Parent e4a596bbb2bf9e6427fd50b2e4ab3ae825c10772 dsample-fw-disasm: beginning to locate tpudrv10 code diff -r e4a596bbb2bf -r d15f701b1434 dsample-fw-disasm --- a/dsample-fw-disasm Thu Jan 18 05:39:53 2018 +0000 +++ b/dsample-fw-disasm Thu Jan 18 08:03:03 2018 +0000 @@ -714,6 +714,12 @@ 25049a: 469b mov r11, r3 25049c: bdf0 pop {r4, r5, r6, r7, pc} +IRAM code flash address = 0x20508 +IRAM code run start address = 0x800004 +IRAM code run end address = 0x81944c + +Run address = load address + 0x7DFAFC + $INC_Initialize: 254654: b530 push {r4, r5, lr} 254656: 1c05 add r5, r0, #0 @@ -832,3 +838,259 @@ 25578c: 4778 bx pc 25578e: 46c0 nop (mov r8, r8) 255790: e8bd8000 ldmia sp!, {pc} + +; $Cust_Init_Layer1 call trampoline + 2566f8: b082 sub sp, #8 + 2566fa: 9400 str r4, [sp, #0] + 2566fc: 4c01 ldr r4, =0x803bf8 ; via 0x256704 + 2566fe: 9401 str r4, [sp, #4] + 256700: bd10 pop {r4, pc} + 256702: 0000 + +IRAM code: + +$Cust_get_pwr_data: + 803b5c: b5f0 push {r4, r5, r6, r7, lr} + 803b5e: 4642 mov r2, r8 + 803b60: b404 push {r2} + 803b62: 1c0e add r6, r1, #0 + 803b64: 1c05 add r5, r0, #0 + 803b66: 1c30 add r0, r6, #0 + 803b68: f7ff ff66 bl 0x803a38 ; $Cust_is_band_high + 803b6c: 1c04 add r4, r0, #0 + 803b6e: 1c30 add r0, r6, #0 + 803b70: f00e fa45 bl 0x811ffe ; $Convert_l1_radio_freq + 803b74: 0400 lsl r0, r0, #16 + 803b76: 0c06 lsr r6, r0, #16 + 803b78: 20dd mov r0, #221 ; 0xdd + 803b7a: 0080 lsl r0, r0, #2 + 803b7c: 4360 mul r0, r4 + 803b7e: 4680 mov r8, r0 + 803b80: 20dd mov r0, #221 ; 0xdd + 803b82: 4360 mul r0, r4 + 803b84: 1828 add r0, r5, r0 + 803b86: 0080 lsl r0, r0, #2 + 803b88: 4b9e ldr r3, =0x83a2f0 ; via 0x803e04 + 803b8a: 1819 add r1, r3, r0 + 803b8c: 315c add r1, #92 ; 0x5c + 803b8e: 8809 ldrh r1, [r1, #0] + 803b90: 468c mov r12, r1 + 803b92: 499e ldr r1, =0x83a34f ; via 0x803e0c + 803b94: 5c08 ldrb r0, [r1, r0] + 803b96: 0141 lsl r1, r0, #5 + 803b98: 4640 mov r0, r8 + 803b9a: 1845 add r5, r0, r1 + 803b9c: 2400 mov r4, #0 + 803b9e: e002 b 0x803ba6 + 803ba0: 1c60 add r0, r4, #1 + 803ba2: 0400 lsl r0, r0, #16 + 803ba4: 0c04 lsr r4, r0, #16 + 803ba6: 00a2 lsl r2, r4, #2 + 803ba8: 18a8 add r0, r5, r2 + 803baa: 1819 add r1, r3, r0 + 803bac: 31dc add r1, #220 ; 0xdc + 803bae: 2702 mov r7, #2 + 803bb0: 1950 add r0, r2, r5 + 803bb2: 181a add r2, r3, r0 + 803bb4: 20dc mov r0, #220 ; 0xdc + 803bb6: 5a80 ldrh r0, [r0, r2] + 803bb8: 4286 cmp r6, r0 + 803bba: dcf1 bgt 0x803ba0 + 803bbc: 5e79 ldrsh r1, [r7, r1] + 803bbe: 4660 mov r0, r12 + 803bc0: 4341 mul r1, r0 + 803bc2: 09c8 lsr r0, r1, #7 + 803bc4: 0400 lsl r0, r0, #16 + 803bc6: 0c00 lsr r0, r0, #16 + 803bc8: 4684 mov r12, r0 + 803bca: 4640 mov r0, r8 + 803bcc: 18c0 add r0, r0, r3 + 803bce: 21d7 mov r1, #215 ; 0xd7 + 803bd0: 0089 lsl r1, r1, #2 + 803bd2: 1808 add r0, r1, r0 + 803bd4: 4a8a ldr r2, =0x83a2da ; via 0x803e00 + 803bd6: 2100 mov r1, #0 + 803bd8: 5e51 ldrsh r1, [r2, r1] + 803bda: e000 b 0x803bde + 803bdc: 3004 add r0, #4 + 803bde: 2200 mov r2, #0 + 803be0: 5e82 ldrsh r2, [r0, r2] + 803be2: 4291 cmp r1, r2 + 803be4: dcfa bgt 0x803bdc + 803be6: 2102 mov r1, #2 + 803be8: 5e09 ldrsh r1, [r1, r0] + 803bea: 4660 mov r0, r12 + 803bec: 1808 add r0, r1, r0 + 803bee: 0400 lsl r0, r0, #16 + 803bf0: 0c00 lsr r0, r0, #16 + 803bf2: bc04 pop {r2} + 803bf4: 4690 mov r8, r2 + 803bf6: bdf0 pop {r4, r5, r6, r7, pc} + +$Cust_Init_Layer1: + 803bf8: b500 push {lr} + 803bfa: b084 sub sp, #16 ; 0x10 + 803bfc: 4669 mov r1, sp + 803bfe: 2006 mov r0, #6 + 803c00: 7008 strb r0, [r1, #0] + 803c02: 4668 mov r0, sp + 803c04: 2101 mov r1, #1 + 803c06: 7101 strb r1, [r0, #4] + 803c08: 2000 mov r0, #0 + 803c0a: 4669 mov r1, sp + 803c0c: 70c8 strb r0, [r1, #3] + 803c0e: 7208 strb r0, [r1, #8] + 803c10: 487f ldr r0, =0x5ff ; via 0x803e10 + 803c12: 9003 str r0, [sp, #12] ; 0xc + 803c14: 2001 mov r0, #1 + 803c16: 80c8 strh r0, [r1, #6] + 803c18: 4668 mov r0, sp + 803c1a: f03b f9bb bl 0x83ef94 ; $l1_initialize + 803c1e: 480b ldr r0, =0x839ea8 ; via 0x803c4c + 803c20: 21ff mov r1, #255 ; 0xff + 803c22: 319d add r1, #157 ; 0x9d + 803c24: 2200 mov r2, #0 + 803c26: f000 f868 bl 0x803cfa + 803c2a: 487a ldr r0, =0x83a09c ; via 0x803e14 + 803c2c: 2124 mov r1, #36 ; 0x24 + 803c2e: 2201 mov r2, #1 + 803c30: f000 f863 bl 0x803cfa + 803c34: b004 add sp, #16 ; 0x10 + 803c36: bd00 pop {pc} + +$Convert_l1_radio_freq: + 811ffe: b081 sub sp, #4 + 812000: 4669 mov r1, sp + 812002: 8008 strh r0, [r1, #0] + 812004: e06c b 0x8120e0 + 812006: 4668 mov r0, sp + 812008: 8800 ldrh r0, [r0, #0] + 81200a: e083 b 0x812114 + 81200c: 4668 mov r0, sp + 81200e: 8801 ldrh r1, [r0, #0] + 812010: 4849 ldr r0, =0x83cdc0 ; via 0x812138 + 812012: 6800 ldr r0, [r0, #0] + 812014: 4281 cmp r1, r0 + 812016: d202 bcs 0x81201e + 812018: 4668 mov r0, sp + 81201a: 8800 ldrh r0, [r0, #0] + 81201c: e07a b 0x812114 + 81201e: 4668 mov r0, sp + 812020: 8800 ldrh r0, [r0, #0] + 812022: 4945 ldr r1, =0x83cdc0 ; via 0x812138 + 812024: 6809 ldr r1, [r1, #0] + 812026: 1a41 sub r1, r0, r1 + 812028: 2001 mov r0, #1 + 81202a: 0240 lsl r0, r0, #9 + 81202c: 1840 add r0, r0, r1 + 81202e: 0400 lsl r0, r0, #16 + 812030: 0c00 lsr r0, r0, #16 + 812032: e06f b 0x812114 + 812034: 4668 mov r0, sp + 812036: 8801 ldrh r1, [r0, #0] + 812038: 483f ldr r0, =0x83cdc0 ; via 0x812138 + 81203a: 6800 ldr r0, [r0, #0] + 81203c: 4281 cmp r1, r0 + 81203e: d213 bcs 0x812068 + 812040: 4668 mov r0, sp + 812042: 8800 ldrh r0, [r0, #0] + 812044: 287c cmp r0, #124 ; 0x7c + 812046: dc02 bgt 0x81204e + 812048: 4668 mov r0, sp + 81204a: 8800 ldrh r0, [r0, #0] + 81204c: e062 b 0x812114 + 81204e: 4668 mov r0, sp + 812050: 8800 ldrh r0, [r0, #0] + 812052: 28ae cmp r0, #174 ; 0xae + 812054: da06 bge 0x812064 + 812056: 4939 ldr r1, =0x352 ; via 0x81213c + 812058: 4668 mov r0, sp + 81205a: 8800 ldrh r0, [r0, #0] + 81205c: 1808 add r0, r1, r0 + 81205e: 0400 lsl r0, r0, #16 + 812060: 0c00 lsr r0, r0, #16 + 812062: e057 b 0x812114 + 812064: 2000 mov r0, #0 + 812066: e055 b 0x812114 + 812068: 4668 mov r0, sp + 81206a: 8801 ldrh r1, [r0, #0] + 81206c: 4832 ldr r0, =0x83cdc0 ; via 0x812138 + 81206e: 6800 ldr r0, [r0, #0] + 812070: 1a09 sub r1, r1, r0 + 812072: 2001 mov r0, #1 + 812074: 0240 lsl r0, r0, #9 + 812076: 1840 add r0, r0, r1 + 812078: 0400 lsl r0, r0, #16 + 81207a: 0c00 lsr r0, r0, #16 + 81207c: e04a b 0x812114 + 81207e: 4668 mov r0, sp + 812080: 8800 ldrh r0, [r0, #0] + 812082: 287c cmp r0, #124 ; 0x7c + 812084: dc02 bgt 0x81208c + 812086: 4668 mov r0, sp + 812088: 8800 ldrh r0, [r0, #0] + 81208a: e043 b 0x812114 + 81208c: 4668 mov r0, sp + 81208e: 8800 ldrh r0, [r0, #0] + 812090: 28ae cmp r0, #174 ; 0xae + 812092: da06 bge 0x8120a2 + 812094: 4929 ldr r1, =0x352 ; via 0x81213c + 812096: 4668 mov r0, sp + 812098: 8800 ldrh r0, [r0, #0] + 81209a: 1808 add r0, r1, r0 + 81209c: 0400 lsl r0, r0, #16 + 81209e: 0c00 lsr r0, r0, #16 + 8120a0: e038 b 0x812114 + 8120a2: 2000 mov r0, #0 + 8120a4: e036 b 0x812114 + 8120a6: 4668 mov r0, sp + 8120a8: 8800 ldrh r0, [r0, #0] + 8120aa: 4923 ldr r1, =0x83cdc0 ; via 0x812138 + 8120ac: 6809 ldr r1, [r1, #0] + 8120ae: 4288 cmp r0, r1 + 8120b0: d208 bcs 0x8120c4 + 8120b2: 4668 mov r0, sp + 8120b4: 8801 ldrh r1, [r0, #0] + 8120b6: 4822 ldr r0, =0x83cdbc ; via 0x812140 + 8120b8: 6800 ldr r0, [r0, #0] + 8120ba: 1a08 sub r0, r1, r0 + 8120bc: 3080 add r0, #128 ; 0x80 + 8120be: 0400 lsl r0, r0, #16 + 8120c0: 0c00 lsr r0, r0, #16 + 8120c2: e027 b 0x812114 + 8120c4: 4668 mov r0, sp + 8120c6: 8801 ldrh r1, [r0, #0] + 8120c8: 481b ldr r0, =0x83cdc0 ; via 0x812138 + 8120ca: 6800 ldr r0, [r0, #0] + 8120cc: 1a08 sub r0, r1, r0 + 8120ce: 2101 mov r1, #1 + 8120d0: 0249 lsl r1, r1, #9 + 8120d2: 1808 add r0, r1, r0 + 8120d4: 0400 lsl r0, r0, #16 + 8120d6: 0c00 lsr r0, r0, #16 + 8120d8: e01c b 0x812114 + 8120da: 4668 mov r0, sp + 8120dc: 8800 ldrh r0, [r0, #0] + 8120de: e019 b 0x812114 + 8120e0: 4818 ldr r0, =0x83cdb4 ; via 0x812144 + 8120e2: 7800 ldrb r0, [r0, #0] + 8120e4: 1e40 sub r0, r0, #1 + 8120e6: 2807 cmp r0, #7 + 8120e8: d8f7 bhi 0x8120da + 8120ea: a102 add r1, pc, #8 + 8120ec: 0080 lsl r0, r0, #2 + 8120ee: 5808 ldr r0, [r1, r0] + 8120f0: 4687 mov pc, r0 + 8120f2: 46c0 nop (mov r8, r8) + + 8120f4: 00812006 + 8120f8: 0081207e + 8120fc: 00812006 + 812100: 00812006 + 812104: 0081200c + 812108: 00812034 + 81210c: 00812006 + 812110: 008120a6 + + 812114: b001 add sp, #4 + 812116: 4770 bx lr