cancel
Showing results for 
Search instead for 
Did you mean: 

Must I compare external Flash content every time when flashing ?

bully
Senior

Hello,

we have a GUI project running on STM32. Graphics is save in external Flash.

Now , every time I rebuild the project, flasher for external flash compares the content

and in our case this takes 8mins...

Can we somehow manually control this option and iuse it only ,when somethiing in GUI part of the code changes ?

Thanks in advance,

regards.

7 REPLIES 7
HP
Senior III

you can uncheck the verify flash in the debug configuration

that should help quite a bit!0693W000000WOFTQA4.png

Hello,

thanks for response... It doesn't seem to helpo much, because there is external flasher first Comparing content...

And this is by far the most time consuming part of flashing.

I'm basically after how to limit this external (QSPI) flash loader on each debug iteration...

Regards.

you can try to disable the loader (checkmark a bit further down). then you would skip that step altogether - you just need to load the flash at some point.

Hello, thanks for reponse... It seems I don't have that option in my CubeIDE... Also, external loader is configured in .xml config files...

But I'd just like to say "don't load content on external flash" to the project....

Of course, these 8min are not amusing, no doubt. But I can't figure this amount of time. As far as I see from your screenshot, you're using STM32F746-Disco mit 16 MByte external flash, right? A verify should take less than 2 minutes then. So probably what happens is:

External flash is erased, then reprogrammed, and finally verified. For this full turnaround 8min are quite much, too, but still plausible.

So it's clear that skipping the verify only doesn't help that much ..

Not reprogramming the external flash every time is calling for trouble. You change some compiler or linker option, and ...

Then you're going to hunt down mysterious crashes until after hours you realize some data in the external flash moved some bytes.

The simplest option would be to attach an STLink-V3, but on this Disco I'm not sure whether the PCB traces are easily accessible

(unfortunately ST didn't think of external debugger here ...). This would cut down the time to 2 or 3 minutes, I guess.

Thanks for response. I agree, but right now I'm loosing hours when reflashing the project even when I work on non related code. We have only graphical elements in external flash and so far I haven't made any change, because GUI is more or less finished...

But now I loose 8mins on every flashing iteration when developing totally unrelated code... I've read somewhere that Atollic has this option...

Maybe I'll swtch because have nothing else but trouble working in CubeIDE...

If it gets sufficiently annoying I suppose you could write a script to take the .HEX file an cleave off the external portion, and then use the command line STM32 Cube Programmer to program the internal image.

The other might to be to post-link the .ELF, removing the external memory object/section

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..