编译的工程文件(mcp文件)用AXD打开后把PC值设为:0
得到如下的汇编文件,请问这是不是传说中的BootRom固化程序,那么它怎么去调用boot.s来启动呢?
[0xe59ff018] ldr pc,0x00000020 ; = #0x000001c0 [0xe59ff018] ldr pc,0x00000024 ; = #0x01000004 [0xe59ff018] ldr pc,0x00000028 ; = #0x01000008 [0xe59ff018] ldr pc,0x0000002c ; = #0x0100000c [0xe59ff018] ldr pc,0x00000030 ; = #0x01000010 [0xe59ff018] ldr pc,0x00000034 ; = #0x01000014 [0xe59ff018] ldr pc,0x00000038 ; = #0x01000018 [0xe59ff018] ldr pc,0x0000003c ; = #0x0100001c [0x000001c0] andeq r0,r0,r0,asr #3 [0x01000004] dci 0x1000004 ; ? undefined [0x01000008] dci 0x1000008 ; ? undefined [0x0100000c] dci 0x100000c ; ? undefined [0x01000010] dci 0x1000010 ; ? undefined [0x01000014] dci 0x1000014 ; ? undefined [0x01000018] dci 0x1000018 ; ? undefined [0x0100001c] dci 0x100001c ; ? undefined [0x00000000] andeq r0,r0,r0 [0x00000000] andeq r0,r0,r0 [0x00000000] andeq r0,r0,r0 [0x00000000] andeq r0,r0,r0 [0x10030003] andne r0,r3,r3 [0x00000000] andeq r0,r0,r0 [0x00000000] andeq r0,r0,r0 [0x00000000] andeq r0,r0,r0 [0x01000000] dci 0x1000000 ; ? undefined [0x01000000] dci 0x1000000 ; ? undefined [0x007f0000] rsbeqs r0,pc,r0 [0x007f0000] rsbeqs r0,pc,r0 [0x10050005] andne r0,r5,r5 [0x01000000] dci 0x1000000 ; ? undefined [0x00000000] andeq r0,r0,r0 [0x00000000] andeq r0,r0,r0 [0x02000000] andeq r0,r0,#0 [0x02000000] andeq r0,r0,#0 [0x000f0000] andeq r0,pc,r0 [0x000f0000] andeq r0,pc,r0 [0x10050005] andne r0,r5,r5 [0x00000000] andeq r0,r0,r0 [0x00000000] andeq r0,r0,r0 [0x00000000] andeq r0,r0,r0 [0x02100000] andeqs r0,r0,#0 [0x02100000] andeqs r0,r0,#0 [0x000f0000] andeq r0,pc,r0 [0x000f0000] andeq r0,pc,r0 [0x10050005] andne r0,r5,r5 [0x00000000] andeq r0,r0,r0 [0x00000000] andeq r0,r0,r0 [0x00000000] andeq r0,r0,r0 [0x02200000] eoreq r0,r0,#0 [0x02200000] eoreq r0,r0,#0 [0x000f0000] andeq r0,pc,r0 [0x000f0000] andeq r0,pc,r0 [0x10050005] andne r0,r5,r5 [0x00000000] andeq r0,r0,r0 [0x00000000] andeq r0,r0,r0 [0x00000000] andeq r0,r0,r0 [0x02300000] eoreqs r0,r0,#0 [0x02300000] eoreqs r0,r0,#0 [0x000f0000] andeq r0,pc,r0 [0x000f0000] andeq r0,pc,r0 [0x10050005] andne r0,r5,r5 [0x00000000] andeq r0,r0,r0 [0x00000000] andeq r0,r0,r0 [0x00000000] andeq r0,r0,r0 [0x02400000] subeq r0,r0,#0 [0x02400000] subeq r0,r0,#0 [0x000f0000] andeq r0,pc,r0 [0x000f0000] andeq r0,pc,r0 [0x10050005] andne r0,r5,r5 [0x00000000] andeq r0,r0,r0 [0x00000000] andeq r0,r0,r0 [0x00000000] andeq r0,r0,r0 [0x02500000] subeqs r0,r0,#0 [0x02500000] subeqs r0,r0,#0 [0x000f0000] andeq r0,pc,r0 [0x000f0000] andeq r0,pc,r0 [0x10050005] andne r0,r5,r5 [0x00000000] andeq r0,r0,r0 [0x00000000] andeq r0,r0,r0 [0x00000000] andeq r0,r0,r0 [0x00130000] andeqs r0,r3,r0 [0x00130000] andeqs r0,r3,r0 [0x00000000] andeq r0,r0,r0 [0x00000000] andeq r0,r0,r0 [0x20050005] andcs r0,r5,r5 [0x00000000] andeq r0,r0,r0 [0x00000000] andeq r0,r0,r0 [0x00000000] andeq r0,r0,r0 [0x00120000] andeqs r0,r2,r0 [0x00120000] andeqs r0,r2,r0 [0x00000000] andeq r0,r0,r0 [0x00000000] andeq r0,r0,r0 [0x20080007] andcs r0,r8,r7 [0x00000000] andeq r0,r0,r0 [0x00000000] andeq r0,r0,r0 [0x00000000] andeq r0,r0,r0 [0x00110000] andeqs r0,r1,r0 [0x00110000] andeqs r0,r1,r0 [0x00000000] andeq r0,r0,r0 [0x00000000] andeq r0,r0,r0 [0x10040004] andne r0,r4,r4 [0x00000000] andeq r0,r0,r0 [0x00000000] andeq r0,r0,r0 [0x00000000] andeq r0,r0,r0 [0x00100000] andeqs r0,r0,r0 [0x00100000] andeqs r0,r0,r0 [0x00000000] andeq r0,r0,r0 [0x00000000] andeq r0,r0,r0 [0x20040004] andcs r0,r4,r4 [0x00000000] andeq r0,r0,r0 [0x00000000] andeq r0,r0,r0 [0x00000000] andeq r0,r0,r0 [0xe59fd104] ldr r13,0x000002cc ; = #0x00002050 [0xe59f8104] ldr r8,0x000002d0 ; = #0x00000040 [0xe3a0948c] mov r9,#0x8c000000 [0xe8b800ff] ldmia r8!,{r0-r7} [0xe8a900ff] stmia r9!,{r0-r7} [0xe8b800ff] ldmia r8!,{r0-r7} [0xe8a900ff] stmia r9!,{r0-r7} [0xe8b800ff] ldmia r8!,{r0-r7} [0xe8a900ff] stmia r9!,{r0-r7} [0xe8b800ff] ldmia r8!,{r0-r7} [0xe8a900ff] stmia r9!,{r0-r7} [0xe8b800ff] ldmia r8!,{r0-r7} [0xe8a900ff] stmia r9!,{r0-r7} [0xe8b800ff] ldmia r8!,{r0-r7} [0xe8a900ff] stmia r9!,{r0-r7} [0xe8b800ff] ldmia r8!,{r0-r7} [0xe8a900ff] stmia r9!,{r0-r7} [0xe8b800ff] ldmia r8!,{r0-r7} [0xe8a900ff] stmia r9!,{r0-r7} [0xe8b800ff] ldmia r8!,{r0-r7} [0xe8a900ff] stmia r9!,{r0-r7} [0xe8b800ff] ldmia r8!,{r0-r7} [0xe8a900ff] stmia r9!,{r0-r7} [0xe8b800ff] ldmia r8!,{r0-r7} [0xe8a900ff] stmia r9!,{r0-r7} [0xe8b800ff] ldmia r8!,{r0-r7} [0xe8a900ff] stmia r9!,{r0-r7} [0xe59f00a0] ldr r0,0x000002d4 ; = #0x00100f97 [0xe59f10a0] ldr r1,0x000002d8 ; = #0x00100b00 [0xe59f80a0] ldr r8,0x000002dc ; = #0x00100681 [0xe3a09001] mov r9,#1 [0xe5c89000] strb r9,[r8,#0] [0xe59f8098] ldr r8,0x000002e0 ; = #0x0010068b [0xe3a09001] mov r9,#1 [0xe5c89000] strb r9,[r8,#0] [0xe59f8090] ldr r8,0x000002e4 ; = #0x0010068c [0xe3a09001] mov r9,#1 [0xe5c89000] strb r9,[r8,#0] [0xe59f8080] ldr r8,0x000002e0 ; = #0x0010068b [0xe3a09002] mov r9,#2 [0xe5c89000] strb r9,[r8,#0] [0xe59f8078] ldr r8,0x000002e4 ; = #0x0010068c [0xe3a09002] mov r9,#2 [0xe5c89000] strb r9,[r8,#0] [0xe59f8068] ldr r8,0x000002e0 ; = #0x0010068b [0xe3a09004] mov r9,#4 [0xe5c89000] strb r9,[r8,#0] [0xe59f8060] ldr r8,0x000002e4 ; = #0x0010068c [0xe3a09004] mov r9,#4 [0xe5c89000] strb r9,[r8,#0] [0xe28f3001] add r3,pc,#1 ; #0x291 [0xe12fff13] bx r3 [0x2a0e7802] bcs 0x39e2a0 ; (FIQStack + 0x37f2a0) [0x0712d016] dci 0x712d016 ; ? undefined [0x2a000fd2] bcs 0x41e8 ; (gIconAttrs + 0x2dc) [0x780ad00d] stmvcda r10,{r0,r2,r3,r12,r14,pc} [0x0e920692] mrceq p6,0x4,r0,c2,c2,4 [0xd1032a00] dci 0xd1032a00 ; ? undefined [0xf87af000] dci 0xf87af000 ; ? undefined [0x46c046c0] strmib r4,[r0],r0,asr #13 [0xf82ef000] dci 0xf82ef000 ; ? undefined [0x46c04687] strmib r4,[r0],r7,lsl #13 [0x200146c0] andcs r4,r1,r0,asr #13 [0x46870600] strmi r0,[r7],r0,lsl #12 [0x46c046c0] strmib r4,[r0],r0,asr #13 [0xf8dcf000] dci 0xf8dcf000 ; ? undefined [0x46c046c0] strmib r4,[r0],r0,asr #13 [0x00002050] andeq r2,r0,r0,asr r0 [0x00000040] andeq r0,r0,r0,asr #32 [0x00100f97] muleqs r0,r7,pc [0x00100b00] andeqs r0,r0,r0,lsl #22 [0x00100681] andeqs r0,r0,r1,lsl #13 [0x0010068b] andeqs r0,r0,r11,lsl #13 [0x0010068c] andeqs r0,r0,r12,lsl #13 [0x04402009] streqb r2,[r0],#-9 [0x07c97941] streqb r7,[r9,r1,asr #18] [0x7800d5fc] stmvcda r0,{r2-r8,r10,r12,r14,pc} [0x20094770] andcs r4,r9,r0,ror r7 [0x22800440] addcs r0,r0,#0x40000000 [0x21007202] dci 0x21007202 ; ? undefined [0x71017041] dci 0x71017041 ; ? undefined [0x210c70c2] smlabtcs r12,r2,r0,r7 [0x21037001] dci 0x21037001 ; ? undefined [0x477070c1] ldrmib r7,[r0,-r1,asr #1]! [0x4918b530] ldmmidb r8,{r4,r5,r8,r10,r12,r13,pc} [0x7088203f] addvc r2,r8,pc,lsr r0 [0x20034916] andcs r4,r3,r6,lsl r9 [0x70883120] addvc r3,r8,r0,lsr #2 [0x03642401] dci 0x3642401 ; ? undefined [0xffe7f7ff] dci 0xffe7f7ff ; ? undefined [0xf7ff2200] dci 0xf7ff2200 ; ? undefined [0x54a0ffdd] strplt pc,[r0],#0xfdd [0x04123201] ldreq r3,[r2],#-0x201 [0x2a060c12] bcs 0x183384 ; (FIQStack + 0x164384) [0x7820d3f7] stmvcda r0!,{r0-r2,r4-r9,r12,r14,pc} [0x02097861] andeq r7,r9,#0x610000 [0x78a14308] stmvcia r1!,{r3,r8,r9,r14} [0x43080409] dci 0x43080409 ; ? undefined [0x060978e1] streq r7,[r9],-r1,ror #17 [0x79204301] stmvcdb r0!,{r0,r8,r9,r14} [0x79611c0a] stmvcdb r1!,{r1,r3,r10-r12}^ [0x43080209] dci 0x43080209 ; ? undefined [0x24001c05] strcs r1,[r0],#-0xc05 [0xf7ffe005] dci 0xf7ffe005 ; ? undefined [0x5510ffc3] ldrpl pc,[r0,#-0xfc3] [0x04243401] streqt r3,[r4],#-0x401 [0x42ac0c24] adcmi r0,r12,#0x2400 [0x1c10d3f7] dci 0x1c10d3f7 ; ? undefined [0x0000bd30] andeq r11,r0,r0,lsr r13 [0x00100b00] andeqs r0,r0,r0,lsl #22 [0x22014814] andcs r4,r1,#0x140000 [0x49147102] ldmmidb r4,{r1,r8,r12-r14} [0x71082000] dci 0x71082000 ; ? undefined [0x49127388] ldmmidb r2,{r3,r7-r9,r12-r14} [0x72083110] andvc r3,r8,#4 [0x21034b11] dci 0x21034b11 ; ? undefined [0x490e7019] stmmidb r14,{r0,r3,r4,r12-r14} [0x70c83940] sbcvc r3,r8,r0,asr #18 [0x06c02011] dci 0x6c02011 ; ? undefined [0xe7fe6002] ldrb r6,[r14,r2]! [0x2001490a] andcs r4,r1,r10,lsl #18 [0xb5803940] strlt r3,[r0,#0x940] [0x490b7008] stmmidb r11,{r3,r12-r14} [0x22f07a09] rsccss r7,r0,#0x9000 [0x4a094011] bmi 0x2503fc ; (FIQStack + 0x2313fc) [0x29f03240] ldmcsib r0!,{r6,r9,r12,r13}^ [0x2002d102] andcs r13,r2,r2,lsl #2 [0xe0027050] and r7,r2,r0,asr r0 [0xf0007050] dci 0xf0007050 ; ? undefined [0xf7fff95d] dci 0xf7fff95d ; ? undefined [0xe7feffd7] dci 0xe7feffd7 ; ? undefined [0x001006c0] andeqs r0,r0,r0,asr #13 [0x00100020] andeqs r0,r0,r0,lsr #32 [0x00100f60] andeqs r0,r0,r0,ror #30 [0x00100b00] andeqs r0,r0,r0,lsl #22 [0x2000496d] andcs r4,r0,r13,ror #18 [0x4a6d7088] bmi 0x1b5c608 ; (FIQStack + 0x1b3d608) [0x70912110] addvcs r2,r1,r0,lsl r1 [0x71112120] tstvc r1,r0,lsr #2 ; ? rd = 0x2 [0x21804a6a] orrcs r4,r0,r10,ror #20 [0x70113210] andvcs r3,r1,r0,lsl r2 [0x70532301] subvcs r2,r3,r1,lsl #6 [0x70d07091] smullvcs r7,r0,r1,r0 [0x32204a66] eorcc r4,r0,#0x66000