2022-11-09 01:15 AM
Edit: This error is fixed in STM32CubeProgrammer v2.11.0. Just update.
I have written a custom external loader for our H7 board. It can access QSPI flash that is connected to an H7 MCU that is connected with SWD to an STLink. Most seems to work, but read from the external flash is limited to approximately 100 kB. The same problem can be replicated on STM32H735G-DK. I use STM32CubeProgrammer v2.5.0.
I have used this command to read the external flash:
STM32_Programmer_CLI -c port=SWD -el /usr/local/STMicroelectronics/STM32Cube/STM32CubeProgrammer/bin/ExternalLoader/MX25LM51245G_STM32H735G-DK.stldr -u 0x90000000 0x30000 ./temp.bin -vb 3
It initializes the external loader to enable memory mapping and reads:
r ap 0 @0x90000000 0x0001B000 bytes Data 0x00000025
It reads only 0x1b000 and not 0x30000 that I wanted. Without verbose it shows a percentage and then success.
The resulting file is 0x30000 big, but contains only 0x1b000 of data and then is filled with zeros.
If I read another chunk with an offset, I can read another 0x1b000. It shows that the data are in the flash, but I cannot do it in one read.
The value 0x1b000 is different for the discovery kit and for our custom H7 board.
Any ideas? My guess is an error in STM32CubeProgrammer.
Solved! Go to Solution.
2022-11-09 01:53 AM
Sorry, I didn't check how old my software is.
Apparently in STM32CubeProgrammer v2.11.0 it works well.
Thanks for the observation :thumbs_up:.
2022-11-09 01:44 AM
Why use such an old version of STM32 Cube Programmer?
Size of read may depend on the RAM that is used and how large that is vs the size of the loader itself.
2022-11-09 01:53 AM
Sorry, I didn't check how old my software is.
Apparently in STM32CubeProgrammer v2.11.0 it works well.
Thanks for the observation :thumbs_up:.