Hello,
I am working on a custom bootloader using KEIL for TM4C, so my start up is bl_startup_rvmdk.s. My bootloader is to do some checks, and then jump to 0x8000 in flash where the main application locates.
However I cannot jump to 0x8000, so to debug this, I take out all the checks, put only the jump in the BL_HW_INIT_FN_HOOK function hook, and the jump function is:
__asm void jump_to_application(void)
{
; program stack pointer of application
LDR R0, =0x8000
LDR SP, [R0]
; extract entry point into application
LDR R0, =0x8004
; jump
LDR PC, [R0]
}
and my BL_HW_INIT_FN_HOOK function, which is MyHwInitFunc is:
void MyHwInitFunc()
{
IntMasterDisable( );
jump_to_application();
}
I try the jump_to_application to other projects with other standard start up assembly, they all can jump to 0x8000, only except this bl_startup_rvmdk.S, any possible reason?
Thank you very much.
Khaled