小菜被这个问题困扰了一个晚上, 有哪位知道原因啊? 跪求...
以下部分反汇编出来的代码:
b ResetHandler
[0x00000000] andeq r0,r0,r0
]
b HandlerUndef ;handler for Undefined mode
[0x00000000] andeq r0,r0,r0
b HandlerSWI ;handler for SWI interrupt
[0x00000000] andeq r0,r0,r0
b HandlerPabort ;handler for PAbort
[0x00000000] andeq r0,r0,r0
b HandlerDabort ;handler for DAbort
[0x00000000] andeq r0,r0,r0
b . ;reserved
[0x00000000] andeq r0,r0,r0
b HandlerIRQ ;handler for IRQ interrupt
[0x00000000] andeq r0,r0,r0
b HandlerFIQ ;handler for FIQ interrupt
[0x00000000] andeq r0,r0,r0
;@0x20
b EnterPWDN ; Must be @0x20.
[0x00000000] andeq r0,r0,r0
ChangeBigEndian
;@0x24
[ ENTRY_BUS_WIDTH=32
DCD 0xee110f10 ;0xee110f10 => mrc p15,0,r0,c1,c0,0
DCD 0xe3800080 ;0xe3800080 => orr r0,r0,#0x80; //Big-endian
DCD 0xee010f10 ;0xee010f10 => mcr p15,0,r0,c1,c0,0
]
[ ENTRY_BUS_WIDTH=16
DCD 0x0f10ee11
[0x00000000] dcd 0x00000000 ....
DCD 0x0080e380
[0x00000000] dcd 0x00000000 ....
DCD 0x0f10ee01
[0x00000000] dcd 0x00000000 ....
]
[ ENTRY_BUS_WIDTH=8
DCD 0x100f11ee
DCD 0x800080e3
DCD 0x100f01ee
]
DCD 0xffffffff ;swinv 0xffffff is similar with NOP and run well in both endian mode.
[0x00000000] dcd 0x00000000 ....
DCD 0xffffffff
[0x00000000] dcd 0x00000000 ....
DCD 0xffffffff
[0x00000000] dcd 0x00000000 ....
DCD 0xffffffff
[0x00000000] dcd 0x00000000 ....
DCD 0xffffffff
[0x00000000] dcd 0x00000000 ....
b ResetHandler
[0x00000000] andeq r0,r0,r0