Forum Discussion
Hi,
Can you try with that?
Meanwhile regarding to this, what do you mean by doesnt work? What is the response you got after executing the command?
Unfortunately this doesn't work.
I set the register = 0x00007038 since 0x70 = Read Flag Status Register opcode and 0x38 = 4-byte write opcode.
Regards,
Bruce
- Zak5 years ago
New Contributor
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.
- Zak5 years ago
New Contributor
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.