(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