When using the MCUXpresso SDK 2.5 with arm embedded GCC compiler I believe there is a bug in the LPC54606 linker file.
The following memory areas are declared:
/* Specify the memory areas */
m_interrupts (RX) : ORIGIN = 0x00000000, LENGTH = 0x00000400
m_text (RX) : ORIGIN = 0x00000400, LENGTH = 0x0007FC00
m_data (RW) : ORIGIN = 0x20000000, LENGTH = 0x00028000
m_sramx (RW) : ORIGIN = 0x04000000, LENGTH = 0x00008000
m_usb_sram (RW) : ORIGIN = 0x40100000, LENGTH = 0x00002000
But there is a mapping to the memory area "m_data_3" that does not exist:
/* Initializes stack on the end of block */
__StackTop = ORIGIN(m_data_3) + LENGTH(m_data_3);
__StackLimit = __StackTop - STACK_SIZE;
PROVIDE(__stack = __StackTop);
This results in the following GCC linker warning:
LPC54606J512_flash.ld:183: warning: memory region `m_data_3' not declared
The code does not work since the stack is now undefined. As workaround I use the LPC54608J512 linker file which works but it is not the best solution.