Part Number: AM2432
Other Parts Discussed in Thread: SYSCONFIG
Hi,
I am using AM2432 with the Industrial SDK 11.00.00.08.
Our project involves using the S28HS512T flash memory. We are conducting power-off and power-on tests on our device to verify its behavior. We have observed that if power is removed during a flash write operation, and then power is restored after a second, the flash memory does not function correctly upon reboot.
Specifically, reading works correctly, in fact the SBL and the application are loaded correctly, but erasing lead into a state of excessive waiting (lasting more than minutes).
The task executes Flash_eraseBlk() -> Flash_norOspiErase() -> Flash_norOspiWaitReady() and gets stuck in the while loop at flash_nor_ospi.c:149-157, because readStatus is always 0x41. I noticed that the timeOut value used is associated to the value in Sysconfig called Flash Busy Timeout, which is set to 256000000 in the examples as well.
Why was such a long timeout chosen? What would be a shorter, equally reliable value? Having a shorter timeout would allow us to exit the erase function sooner and try to resolve the issue without waiting minutes.
Thank you,
Best Regards,
Andrea