Program your flash.bin to an offset of 0x0, with working memory as block RAM.
Click Xilinx Tools ->Program FPGA.
Select your volatile.elf.
Your application should be running out of flash, with small exceptions for the mandatory non-volatile parts.
You can also connect via XMD ("connect mb mdm" and "dow volatile.elf") to debug out of flash. Some extra steps required are:
Open Debug Configurations (Run -> Debug configurations).
Under the Main tab, ensure the "C/C++ application" is your "volatile.elf".
Under the Device Initialization tab, "Do not download program to memory" needs to be selected (download via XMD).
Under the Remote Debug tab, you need to connect to "localhost" at whatever port you see in XMD when you "connect mb mdm". The default is 1234.
You can now debug, setting as many breakpoints as you configured in XPS.
If you want to bootload this application:
You will need to use the "." (location counter) operand for linker-scripts to offset the address where you programyour "flash.bin", as described above. This is beyond the scope of this answer record. For more information, see: Red Hat GNU Linker help.
You will then program the flash.bin to a different location, and use your download.bit (containing your volatile.elf) as mentioned in (Xilinx Answer 46518).