Write data into internal flash on Zephyr

Hi, I want to write data into internal flash.

I used these code, but it not work(Reboot infinitely)

uint32_t *readAddress = (uint32_t *)(NRF_FICR->CODEPAGESIZE * 68);
        NRF_NVMC->ICACHECNF = 0x01;
        NRF_NVMC->CONFIG=0x03;
        NRF_NVMC->ERASEPAGE = (uint32_t)(NRF_FICR->CODEPAGESIZE * 68);
        while(NRF_NVMC->READY == NVMC_READY_READY_Busy){
	}
        printk("TEST %02X %02X\n", NRF_FICR->CODEPAGESIZE, NRF_NVMC->CONFIG);
        readAddress[0] = 0x01;
        printk("TEST DATA : %02X\n", *readAddress);
        NRF_NVMC->CONFIG=0x00;
        printk("[%08d] ERROR : Fail to read offset.\n", rtc.getCounter());

Reading data is okay, but writing part has problems.

When cpu execute 

readAddress[0] = 0x01;
to write data into flash, device has reboot.
 
How can I use flash write?
Thank you.
Related