Building an application for RAM is straight forward: Under the Settings/Linker/"Managed Linker Script" tab check "Plain load image"->SRAM. This will produce an .axf (ELF) file with all the addresses in RAM.
When you try to debug this file you get a busfault. This is to be expected since the interrupt vector table is not at the default address. In the past I've used an OnSemi/RSL10 part which has an IDE also based on Eclipse. To debug a program in RAM I had to add
set {int} &__VTOR = ISR_Vector_Table;
set $sp = *((int *) &ISR_Vector_Table)
in the RunCommands field for J-Link debug.
I can debug my QN9030 RAM application if I add
arm-none-eabi-objcopy -v -O ihex --change-addresses 0x04000000 "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.hex"
to generate an iHex file and then run JLinkExe and manually load the hex file, set the IVT, MSP and start point and then run it. This only allows me to debug in assembler with no references to my source C code.
What do I need to do to debug a RAM application from the Eclipse IDE?