Hi,
I am having a custom board designed with two NOR Flshes, one having boot code and other having application code:-
Now my uC boots from NOR Boot Flash, jumps to NOR App Flash but generates a dead loop when an interrupt is enabled in the app flash. Where is that I make mistake.
The .cmd file of the boot code is:-
/* SPECIFY THE SYSTEM MEMORY MAP */
MEMORY
{
NOR_MEM : org = 0x08000000 len = 0x4FFF // 0x10000 changed /* RAM */
IRAM_MEM : org = 0x402F0400 len = 0x1FBFF /* RAM */
}
/* SPECIFY THE SECTIONS ALLOCATION INTO MEMORY */
SECTIONS
{
.init : {
bl_init.obj (.text)
} load > 0x08000000
.const : load > NOR_MEM /* GLOBAL CONSTANTS */
.cinit : load > NOR_MEM
.text : load > NOR_MEM /* CODE */
.ram_code: { bl_norexec.obj(.text)} load > NOR_MEM, run > 0x40300000
LOAD_START(ram_code_load_start)
RUN_START(ram_code_run_start)
SIZE(ram_code_size)
.data : load > IRAM_MEM /* INITIALIZED GLOBAL AND STATIC VARIABLES. */
.bss : load > IRAM_MEM /* UNINITIALIZED OR ZERO INITIALIZED */
/* GLOBAL & STATIC VARIABLES. */
RUN_START(bss_start)
RUN_END(bss_end)
.stack : load > 0x4030FF00 /* SOFTWARE SYSTEM STACK */
}
The .cmd file of app code:-
//MEMORY
{
NOR_MEM : org = 0x10000000 len = 0xFFFFF // 0x10000 changed /* RAM */
DDR_MEM : org = 0x80000000 len = 0x7FFFFFF /* RAM */
}
/* SPECIFY THE SECTIONS ALLOCATION INTO MEMORY */
//SECTIONS
{
.init : {uartEcho.obj (.text)} load > 0x10000000
.text : load > NOR_MEM /* CODE */
.const : load > NOR_MEM /* GLOBAL CONSTANTS */
.data : load > NOR_MEM /* INITIALIZED GLOBAL AND STATIC VARIABLES */
//// .data : load > 0x80000000 /* INITIALIZED GLOBAL AND STATIC VARIABLES */
.bss : load > DDR_MEM /* UNINITIALIZED OR ZERO INITIALIZED */
/* GLOBAL & STATIC VARIABLES */
RUN_START(bss_start)
RUN_END(bss_end)
//// .stack : load > 0x87FFFFF0 /* SOFTWARE SYSTEM STACK */
.stack : load > 0x87FFFFF0 /* SOFTWARE SYSTEM STACK */
}
NOW WHEN AN INTERRUPT COMES FOLLOWING HAPPENS:- IT JUMPS TO IRQ LOCATION IN NATIVE BOOT LOADER AND STUCKS WHY IS IT SO????????????? WHY DOES IT GO TO NATIVE BOOT LOADER AT ALL... WHERE AM I WRONG??