Hello Team,
I have a function that logs 16-bytes long record into the flash. It does the following:
1) Gathers the next record pointer from Bank1, Sector 10 - reads the first 16 bytes.
2) Writes the actual record to the provided address from step 1: in a loop it writes one byte per iteration and verifies it with Fapi_doVerifyByByte().
3) Updates the pointer - erases sector 10 and 11 and then writes in the first 16 bytes of sector 10 and 11 (same as step 2).
I use only Bank 1 for these operations.
When I invoke the function for 6 records, the observed time for execution is about 600-700ms. As per the documentation, this big delay is caused by the erase operation that I use before updating the pointers with their new values in both sector 10 and sector 11.
Since this timing is not quite good for our project, I would like to know how I can reduce it:
1) Is it possible to erase the flash at smaller units, instead of the whole sector?
2) Or can I keep the pointers in another place, where it would be faster to read, erase and update them?
3) Also, what does the Fapi_doVerifyByByte() function actually do ?
Thank you in advance for your help.
Kind regards,
Varban