comparison pirelli/fw-disasm @ 234:5b530eea8f4e

pirelli/fw-disasm: IRAM code loading located
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 22 Dec 2017 02:10:56 +0000
parents 4cd01d1458df
children 78be85145f33
comparison
equal deleted inserted replaced
233:4cd01d1458df 234:5b530eea8f4e
79 40120: e92d000f stmdb sp!, {r0, r1, r2, r3} 79 40120: e92d000f stmdb sp!, {r0, r1, r2, r3}
80 40124: e59f0318 ldr r0, =0x1000be8 ; via 0x40444 80 40124: e59f0318 ldr r0, =0x1000be8 ; via 0x40444
81 40128: e59f2318 ldr r2, =0x17751ec ; via 0x40448 81 40128: e59f2318 ldr r2, =0x17751ec ; via 0x40448
82 4012c: e0422000 sub r2, r2, r0 82 4012c: e0422000 sub r2, r2, r0
83 40130: e3a01000 mov r1, #0 83 40130: e3a01000 mov r1, #0
84 40134: eb0000e1 bl 0x404c0 84 40134: eb0000e1 bl 0x404c0 ; _INT_memset
85 40138: e59f030c ldr r0, =0x800000 ; via 0x4044c 85 40138: e59f030c ldr r0, =0x800000 ; via 0x4044c
86 4013c: e59f230c ldr r2, =0x82d1ec ; via 0x40450 86 4013c: e59f230c ldr r2, =0x82d1ec ; via 0x40450
87 40140: e0422000 sub r2, r2, r0 87 40140: e0422000 sub r2, r2, r0
88 40144: e3a01000 mov r1, #0 88 40144: e3a01000 mov r1, #0
89 40148: eb0000dc bl 0x404c0 89 40148: eb0000dc bl 0x404c0 ; _INT_memset
90 4014c: e8bd000f ldmia sp!, {r0, r1, r2, r3} 90 4014c: e8bd000f ldmia sp!, {r0, r1, r2, r3}
91 40150: e3a00001 mov r0, #1 91 40150: e3a00001 mov r0, #1
92 40154: e59f12fc ldr r1, =0x1775074 ; via 0x40458 92 40154: e59f12fc ldr r1, =0x1775074 ; via 0x40458
93 40158: e5810000 str r0, [r1] 93 40158: e5810000 str r0, [r1]
94 4015c: e59f02f0 ldr r0, =0x10000e8 ; via 0x40454 94 4015c: e59f02f0 ldr r0, =0x10000e8 ; via 0x40454
760 3bba28: 200f mov r0, #15 ; 0xf 760 3bba28: 200f mov r0, #15 ; 0xf
761 3bba2a: f024 f940 bl 0x3dfcae ; $IQ_Unmask 761 3bba2a: f024 f940 bl 0x3dfcae ; $IQ_Unmask
762 3bba2e: f484 fc2d bl 0x4028c ; $INT_EnableIRQ 762 3bba2e: f484 fc2d bl 0x4028c ; $INT_EnableIRQ
763 3bba32: bd00 pop {pc} 763 3bba32: bd00 pop {pc}
764 764
765 _f_checksum:
766 3e6990: e1a0c000 mov r12, r0
767 3e6994: e3a00000 mov r0, #0
768 3e6998: e3510000 cmp r1, #0
769 3e699c: 012fff1e bxeq lr
770 3e69a0: e4dc2001 ldrb r2, [r12], #1
771 3e69a4: e0820000 add r0, r2, r0
772 3e69a8: e1a00800 mov r0, r0, lsl #16
773 3e69ac: e1a00820 mov r0, r0, lsr #16
774 3e69b0: e2511001 subs r1, r1, #1
775 3e69b4: 1afffff9 bne 0x3e69a0
776 3e69b8: e12fff1e bx lr
777
778 _f_load_int_mem:
779 3e69bc: e92d4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr}
780 3e69c0: e59f90c8 ldr r9, =0x1775070 ; via 0x3e6a90
781 3e69c4: e3a0c000 mov r12, #0
782 3e69c8: e1c9c0b0 strh r12, [r9]
783 3e69cc: e59fa0c0 ldr r10, =0x1775072 ; via 0x3e6a94
784 3e69d0: e1cac0b0 strh r12, [r10]
785 3e69d4: e59fc0bc ldr r12, =0x82d1f0 ; via 0x3e6a98
786 3e69d8: e59f00bc ldr r0, =0x848788 ; via 0x3e6a9c
787 3e69dc: e040000c sub r0, r0, r12
788 3e69e0: e2408004 sub r8, r0, #4
789 3e69e4: e28c7004 add r7, r12, #4
790 3e69e8: e1a00007 mov r0, r7
791 3e69ec: e3a01000 mov r1, #0
792 3e69f0: e1a02008 mov r2, r8
793 3e69f4: ebf166b1 bl 0x404c0 ; _INT_memset
794 3e69f8: e59f40a0 ldr r4, =0x84878c ; via 0x3e6aa0
795 3e69fc: e59fc0a0 ldr r12, =0x848d1c ; via 0x3e6aa4
796 3e6a00: e04c6004 sub r6, r12, r4
797 3e6a04: e1a00004 mov r0, r4
798 3e6a08: e3a01000 mov r1, #0
799 3e6a0c: e1a02006 mov r2, r6
800 3e6a10: ebf166aa bl 0x404c0 ; _INT_memset
801 3e6a14: e59fb08c ldr r11, =0x40708 ; via 0x3e6aa8
802 3e6a18: e1a0000b mov r0, r11
803 3e6a1c: e1a01008 mov r1, r8
804 3e6a20: ebffffda bl 0x3e6990 ; _f_checksum
805 3e6a24: e1a03000 mov r3, r0
806 3e6a28: e1c930b0 strh r3, [r9]
807 3e6a2c: e59f5078 ldr r5, =0x5bca0 ; via 0x3e6aac
808 3e6a30: e1a00005 mov r0, r5
809 3e6a34: e1a01006 mov r1, r6
810 3e6a38: ebffffd4 bl 0x3e6990 ; _f_checksum
811 3e6a3c: e083c000 add r12, r3, r0
812 3e6a40: e1c9c0b0 strh r12, [r9]
813 3e6a44: e1a00007 mov r0, r7
814 3e6a48: e1a0100b mov r1, r11
815 3e6a4c: e1a02008 mov r2, r8
816 3e6a50: ebf166c0 bl 0x40558 ; _INT_memcpy
817 3e6a54: e1a00004 mov r0, r4
818 3e6a58: e1a01005 mov r1, r5
819 3e6a5c: e1a02006 mov r2, r6
820 3e6a60: ebf166bc bl 0x40558 ; _INT_memcpy
821 3e6a64: e1a00007 mov r0, r7
822 3e6a68: e1a01008 mov r1, r8
823 3e6a6c: ebffffc7 bl 0x3e6990 ; _f_checksum
824 3e6a70: e1a03000 mov r3, r0
825 3e6a74: e1ca30b0 strh r3, [r10]
826 3e6a78: e1a00004 mov r0, r4
827 3e6a7c: e1a01006 mov r1, r6
828 3e6a80: ebffffc2 bl 0x3e6990 ; _f_checksum
829 3e6a84: e083c000 add r12, r3, r0
830 3e6a88: e1cac0b0 strh r12, [r10]
831 3e6a8c: e8bd8ff0 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
832
833 3e6a90: 01775070 _d_checksum1
834 3e6a94: 01775072 _d_checksum2
835 3e6a98: 0082d1f0 _d_application_run_start
836 3e6a9c: 00848788 _d_application_run_end
837 3e6aa0: 0084878c __470_S_MEM_out_call_run_start
838 3e6aa4: 00848d1c __470_S_MEM_out_call_run_end
839 3e6aa8: 00040708 .ldfl+8
840 3e6aac: 0005bca0 __470_S_MEM_out_call_load_start
841
765 $Application_Initialize: 842 $Application_Initialize:
766 3f11f8: b500 push {lr} 843 3f11f8: b500 push {lr}
767 3f11fa: f7ca faeb bl 0x3bb7d4 ; $Init_Target 844 3f11fa: f7ca faeb bl 0x3bb7d4 ; $Init_Target
768 3f11fe: f7ca fbe4 bl 0x3bb9ca ; $Init_Drivers 845 3f11fe: f7ca fbe4 bl 0x3bb9ca ; $Init_Drivers
769 3f1202: f686 f8eb bl 0x2773dc 846 3f1202: f686 f8eb bl 0x2773dc