When I use EB to configure MEM andFLS , run the official demo provided by EB to write 8192 data points, after running the code, the verification of the read and sent data fails. By observing the flash content through memory, I can see that there are errors in the rxBuffer and the data written to the flash is also incorrect.
Hi @TWL,
Is there Cache enabled in the MPU region at the address?
Can you disable MPU in the startup of the project and test it again?
Regards,
Daniel
Hi! .@danielmartynek
I checked the functions you mentioned and their return values are all "ok", but when performing ExampleCheckData, the return value is false. I modified the sector being operated on, and it's currently 0x10002000. When I checked the memory, I found that the value at 0x10003600 is 0xff, but the corresponding txbuffer value is 0, so the check between txbuffer and rxbuffer returns false.
Hi @TWL,
I reviewed main.c and noticed that status errors from the MemAcc APIs are not being checked.
The code just loops while operations are pending, but it doesn’t seem to handle error conditions.
Can you confirm whether any error codes are returned by MemAcc_GetJobStatus() of these calls: MemAcc_Erase(), MemAcc_BlankCheck(), or MemAcc_Write()?
Regards,
Daniel
Hi @TWL,
Could you please verify whether the sector is erased before programming?
Also, which S32K3xx device are you using, and what version of the RTD driver is currently in use?
To help us investigate further, please share the .xdm files from your Tresos configuration, along with the main.c file containing all the FLS-related function calls.
Regards,
Daniel