
Philippe,
One issue I've encoutered is flash write timeout of a big chunk of data (> 128KB). Write always times out no matter how big the value of CFG_FLASH_WRITE_TOUT is. The issue hasn't been solved yet. Any hints are appreciated.
I have tried with removing the test for timeout in the write_data() routine, just looping on the status:
while (((status = *addr) & (FPW) 0x00800080) != (FPW) 0x00800080) ;
This worked fine for large amounts of data so the timeout value is probably too low. Let me know if this is the same with your setting.
Good try. I'm not sure if this is a decent fix. It's possible that Flash write gets stuck in while loop if there is a real problem. It may be other factor(s) that cause this problem. For example, timer is not accurate?
Best regards, -Shawn.