(TMS570 LC43, CCS 5.5, FreeRtos)
Hello,
As soon as I enter a FIQ interrupt, I have a ESM error. This is not the case if I configure the same interrupt in IRQ. I don't see any other ESM error for the rest of the code.
I have configured my linker with 8 bits padding and filling 0xfff...
--heap_size=0x0100
--retain="*(.intvects)"
MEMORY
{
BOOTLOADER (RX) : origin = 0x00000000 length = 0x00080000
VECTORS (X) : origin = 0x00080000 length = 0x00000040 vfill=0xFFFFFFFF
CODECRC (R) : origin = 0x00080040 length = 0x00000004 vfill=0xFFFFFFFF
CODELENGTH (R) : origin = 0x00080044 length = 0x00000004 vfill=0xFFFFFFFF
APPLCAN1_SPD (R) : origin = 0x00080048 length = 0x00000004 vfill=0xFFFFFFFF
APPLCAN1_CRC (R) : origin = 0x0008004C length = 0x00000004 vfill=0xFFFFFFFF
APPLCAN2_SPD (R) : origin = 0x00080050 length = 0x00000004 vfill=0xFFFFFFFF
APPLCAN2_CRC (R) : origin = 0x00080054 length = 0x00000004 vfill=0xFFFFFFFF
CODE2ADDR (R) : origin = 0x00080058 length = 0x00000004 vfill=0xFFFFFFFF
CODE2LENGTH (R) : origin = 0x0008005C length = 0x00000004 vfill=0xFFFFFFFF
FLASHMO (RX) : origin = 0x00080060 length = 0x0037FFA0 vfill=0xFFFFFFFF
RAM_DATA_EXCHANGE_ID : origin = 0x08000000 length = 0x00000010 /* New meory map unique ID */
RAM_BOOT_VER (R) : origin = 0x08000010 length = 0x00000010
RAM_CAN1_ADR (R) : origin = 0x08000020 length = 0x00000004
RAM_CAN2_ADR (R) : origin = 0x08000024 length = 0x00000004
RAM_CAN_SPD (R) : origin = 0x08000030 length = 0x00000004
RAM_CANPORT_USED (R) : origin = 0x08000034 length = 0x00000004
RAM_UDS_RX_ADDR (R) : origin = 0x08000038 length = 0x00000004
RAM_UDS_TX_ADDR (R) : origin = 0x0800003C length = 0x00000004
RAM_UDS_BOOT_MODE (RW): origin = 0x08000040 length = 0x00000004
RAM_FREE (R) : origin = 0x08000044 length = 0x000000BC
STACKS (RW) : origin = 0x08000100 length = 0x00002000
RAM_NOINIT (RW) : origin = 0x08002100 length = 0x00000100
IRAM (RW) : origin = 0x08002200 length = 0x0007DE00
}
SECTIONS
{
.intvecs : {} palign=8 > VECTORS
.text : {} palign=8 > FLASHMO
.const : {} palign=8 > FLASHMO
.cinit : {} palign=8 > FLASHMO
.pinit : {} palign=8 > FLASHMO
.init_array : {} palign=8 LOAD = FLASHMO,
RUN_START(__TI_INIT_ARRAY_Base),
RUN_END( __TI_INIT_ARRAY_Limit)
.bss : {} > IRAM
.data : {} > IRAM
.sysmem : {} > IRAM
.stack : {} > STACKS,
RUN_START(__STACK_BASE),
RUN_END( __STACK_END)
codecrc : {} > CODECRC
codelength : {} > CODELENGTH
applcan1_crc : {} > APPLCAN1_CRC
applcan1_spd : {} > APPLCAN1_SPD
applcan2_crc : {} > APPLCAN2_CRC
applcan2_spd : {} > APPLCAN2_SPD
bootversion : {} > RAM_BOOT_VER, type=NOINIT
can1address : {} > RAM_CAN1_ADR, type=NOINIT
can2address : {} > RAM_CAN2_ADR, type=NOINIT
udsbootmode : {} > RAM_UDS_BOOT_MODE, type=NOINIT
ramNoInit : {} > RAM_NOINIT, type=NOINIT
ramfuncs : {
}
LOAD = FLASHMO,
RUN = IRAM,
LOAD_START(_RamfuncsLoadStart),
LOAD_END(_RamfuncsLoadEnd),
RUN_START(_RamfuncsRunStart)
}
Simon