> I do not want to lose the RAM data
I assume you mean the internal SRAM and not some other memory attached to the chip. I can't find anything in the manual that says that the SRAM contents don't survive a CPU Reset. Have you found otherwise?
If your problem is that your Bootstrap code clears all the RAM when it starts, then that's a software problem. Change it so it doesn't.. When your Bootstrap starts it should check "11.5.2 Reset Status Register (RSR)". If the reason was a SOFT reset it should check to see if there's a signature/command and data left at a fixed location in RAM to burn to program FLASH, and then burn it. For any other type of Reset (or a SOFT one without the right data left in RAM) it should start normally.
> I want to shutdown all peripherals as well.
If you don't want to perform a reset, then just write code that reverses all the actions of the code that started the peripherals. Disable CPU interrupts, write all the interrupt controller registers back to their documented reset states, return all peripheral registers to default states (after shutting down the "smart ones" like Ethernet, DMA and so on). Good luck with the Watchdogs, they can be tricky.
If your code is well written with separate code modules for each peripheral, then you can have both "open" and "close" functions written for all of them.
Or as Michael suggested, update the App from a small part of the App copied to RAM and run from there.
Tom