Forum Discussion
Hi,
as I said, I already tried and I see no difference.
I wrote a test code which writes 2 blocks of data.
After I write a block of data into the flash memory, the peripheral is supposed to poll the Flag Status Register and wait for the write completion. I wrote 0x00007038 in register 6 of the peripheral as specified in the GSFI user guide:
Debugging the code I see that the peripheral doesn't wait and jump straight to the next write instruction, failing it (since it's too soon to write other data). I can see that the next block is not programmed.
So I added a software polling cycle which wait for the BUSY bit into Flag Status Register to clear. This works, but it's not the right way to do it.
Maybe I was not so clear...I CAN set the 0x6 register with 0x00007038, with no errors. I do it when I initialize the GSFI peripheral.
It's the write instruction which fail to wait for the BUSY flag of the flash memory to clear.