Hi,
This is possible because there is a small piece of code executed out of RAM.
/* == Should be in the RAM ==*/
#if FNET_CFG_COMP_CW
#pragma define_section FNET_RAM ".FNET_RAM" ".FNET_RAM" ".FNET_RAM" far_abs RX
__declspec(FNET_RAM)
#endif
#if FNET_CFG_COMP_IAR
__ramfunc
#endif
static
#if FNET_CFG_COMP_UV
__attribute__((section("FNET_RAM"))) __attribute__((used))
#endif
void fnet_ftfl_command_lunch_inram(void)
{
FNET_MK_FTFL_FSTAT = FNET_MK_FTFL_FSTAT_CCIF_MASK;
while (!(FNET_MK_FTFL_FSTAT & FNET_MK_FTFL_FSTAT_CCIF_MASK))
{};
}
It is not executing from block 0 while flashing the block.
I hope this helps,
Alejandro