|
boot.bib是在mboot这个文件夹下找到的。我也用viewbin看了mboo.bin是0x0开头的。
在bsp\files下还有config.bib,platform.bib。那是0x8开头的。用viewbin看nk.bin是0x8开头的。
----------------------------------------------------------------------------
下面是mboot的部分代码
----------------------------------------------------------------------------
Start.s的代码会跳到这个函数。
void BootMain(DWORD addresstable)
{
OALCacheGlobalsInit();
OALClearITLB();
OALClearDTLB();
OALFlushICache();
OALFlushDCache();
MakePageTable (addresstable);
mmuOn( PTs, (unsigned int)(main));//mmuOn是个汇编函数,在里边才会打开MMU
while(1);
}
----------------------------------------------------------------------
start.s 部分代码
----------------------------------------------------------------------
STARTUPTEXT
LEAF_ENTRY StartUp
b ResetHandler ;第一句代码就用了跳转
ldr pc, Undef_addr ; undefined instruction
ldr pc, SWI_addr ; SWI
ldr pc, Prefetch_addr ; Prefetch abort
ldr pc, Dabort_addr ; Data abort
ldr pc, reset_addr ; reserved
ldr pc, IRQ_addr ; IRQ
ldr pc, FIQ_addr ; FIQ
......
ResetHandler
......
mov r0, r10 ; addressTable
b BootMain |
|