The reason is that when booting in NOR mode, the BootROM might not find a valid image.
It then goes on a non-secure-lockdown and puts all of the MIO in 3-state.
As a result flash_writer cannot configure the NOR properly.
The work-around is to force the NOR MIO to the correct settings.
Because flash_writer requires an FSBL to configure NOR, you will need to add XSmc_NorInit() to the nor.c in FSBL
* Set up the base address for access
FlashReadBaseAddress = XPS_NOR_BASEADDR;
XSmc_NorInit(); /* <--Add this line */
Note: This is not a silicon requirement, it is a tool limitation.