} else {
           uint32_t page_n = (flash_address - ((uint32_t)flash_mem)) / AT91C_IFLASH_PAGE_SIZE;
           /* Translate address to flash page and do flash, update here for the 512k part */
           AT91C_BASE_EFC0->EFC_FCR = MC_FLASH_COMMAND_KEY |
           MC_FLASH_COMMAND_PAGEN(page_n) |
           AT91C_MC_FCMD_START_PROG;
         } else {
           uint32_t page_n = (flash_address - ((uint32_t)flash_mem)) / AT91C_IFLASH_PAGE_SIZE;
           /* Translate address to flash page and do flash, update here for the 512k part */
           AT91C_BASE_EFC0->EFC_FCR = MC_FLASH_COMMAND_KEY |
           MC_FLASH_COMMAND_PAGEN(page_n) |
           AT91C_MC_FCMD_START_PROG;