STM32F746 In-circuit Flash writing problem
Hi
I am using the Nucleo STM32F746 and have a problem with in-circuit flash programming. The flash drivers used have been in various other STM32 M3, M4 and M7 parts without any issues (since about 2010) but with the F746 the effect that I see is that not all written data is programmed.
For example, I write new data via FTP (using Ethernet and TCP/IP stack) and find that if I write a short test file (as example) of just a few bytes the following occurs at the low level (addresses and write ordering controlled by file system level):
- 1 byte is written at 0x8040005 - written OK
- two bytes (as short word write) are written to 0x8040006 - written OK
- two bytes (as short word write) are written to 0x8040008 - write completes without any error but the flash is still 0xffff
- 1 byte is written at 0x804000a - written OK
- four bytes (as long word write) are written to 0x8040000 - written OK
- 1 bytes is written at 0x8040004 - written OK
If I add a 10us delay to the code after each write operation there are no issues and I can write many files with small or large amounts of data without any errors.
I use data cache workarounds in F4 case but I find no errata for the F746 - also the F4 data cache workaroud doesn't change anything.
Is any problem known? Although the 10us delay makes it reliable it would be best to know what is different with this part.
Note that the core is running at 168MHz in the tested case (APB1 42MHz, 84MHz AHB2)
Thanks
Regards
Mark
