Thank you for your reply
Hmmmm,
in first case, I sets wr_buf as {0x5A, 0x5A, 0xFF, 0xFF,.... }
uint8_t wr_buf[512];
void NVDATA_Write() {
memset(wr_buf, 0xFF, 512*sizeof(uint8_t));
memset(wr_buf, 0x5A, 2*sizeof(uint8_t))
flexspi_nor_flash_page_program(FLEXSPI, (uint32_t)0x100000, (void *)wr_buf, 512));
FLEXSPI_SoftwareReset(EXAMPLE_FLEXSPI);
}
and after writing it to flash I saw that it had a value of 0xFFFF5A5A when the address 0x60100000 was dumped
It does work well.
However, in second case, I make a code as below
uint8_t wr_buf[512];
void NVDATA_Write(uint8_t* data) {
memset(wr_buf, 0xFF, 512*sizeof(uint8_t));
memset(wr_buf, data, 2*sizeof(uint8_t))
flexspi_nor_flash_page_program(FLEXSPI, (uint32_t)0x100000, (void *)wr_buf, 512));
FLEXSPI_SoftwareReset(EXAMPLE_FLEXSPI);
}
and I call NVDATA_Write() function as below
uint8_t buffer[2] = {0x5A, 0x5A}
NVDATA_Write(buffer);
And with mcuxpresso debugger, I saw that wr_buf was set to {0x5A, 0x5A, 0xFF, 0xFF,.... }
But after writing it to flash I saw that it had a value of 0xFFFF5E7A when the address 0x60100000 was dumped
It doesn't work well
I don't know what difference is.
Could you tell me why it is different?