Hi,
I have my boot code which after configuring SRAM TLBs etc. calls function for setting the IFC interface for the flash (which copies flash code to SRAM and execute it from SRAM).
Since it calls .c function I see that there are calls to save64gpr_27 (which I found out to be used for saving the stack data).
For some reason, when debugging and entering the assembly of this function, seems that getting an exception.
The function is implemented in the libc_E500V2.a
Following is my .lcf file (still running from the rom_4k section)
/* Based on default linker command file for PPC EABI */
MEMORY {
ram : org = 0x00019000
rom : org = 0xeff80000
rom_4k : org = 0xeffff000
}
//FORCEACTIVE { gInterruptVectorTable, reset }
SECTIONS {
GROUP : {
.= 0xeff80000;
.entrytext :{}
.intvec: {}
.rodata (CONST) : {
*(.rdata)
*(.rodata)
}
.ctors : {}
.dtors : {}
extab : {}
extabindex : {}
} > rom
GROUP : {
.data : {}
.sdata : {}
.sbss : {}
.sdata2 : {}
.sbss2 : {}
.bss : {}
.PPC.EMB.sdata0 : {}
.PPC.EMB.sbss0 : {}
} > ram
GROUP : {
.= 0xeFFFF000;
.boottext :{}// LOAD(0xeFFFF000): {}
.text (TEXT): {}
.= 0xeFFFFFFC;
.reset LOAD(0xeFFFFFFC): {}
} > rom_4k
// The dummy section is just a placeholder. The linker automatically
// generates an address for it in the ROM image, which tells us
// where the end of the ROM image is.
.dummy : {
}
}
Any idea what I am missing?