First of all use search box at the bottom of this page.
FADDR and FDATA registers are of no use in normal chip modes
Most probably your program dies because flash is not readable while being programmed, and program routine should run from RAM. Also interrupts should be disabled while programming, because vectors also are sitting in flash and CPU won't read them properly while flash is being programmed.