Have exported an project from STM32CubeMX to the Kiel ARM MDK. It builds with no problems, but hits the HardFault _Handler as it tries to jump to a cleared address, oxFFFFFFF, in R3 after hitting the __main and setting up the __scatterload assembler. I must need to set something , but cannot find any references in any of the help or application options. Note it is a 400K application and I have verified the stack and heap sizes in the STM32CubeMX.
.
Nevel said:it is a 400K application
So, before leaping into all that, have you verified the process of getting a basic blinky from Cube to uVision?
Yes
. We have exported from the CubeMX to the CubeIDE and IAR uVision IDE and the program runs OK.
Nevel said:IAR uVision
No, uVision is an ARM product - nothing to do with IAR
Yes, my mistake.
Will clarify:
We have exported our 400K program from the STM32CubeMX to the iAR IDE and the Stm32CubeIDE and the program runs.
When we do the same steps and export to the ARM MDK, it fails as described.
So, going back a step, have you successfully exported a simple blinky from Cube to uVision?
Again, Yes.
So maybe start with that base, and gradually merge-in sections of your big application? That would make it easier to isolate when the fault occurs and, thus, how to fix it...
The problem was caused by a bug in STM32CubeMX exporting the wrong flash and RAM size for the STM32552 Nucleo.
FIX:
In the Project->Options->Debug TAB “Use ST-Link Debugger” Settings->Flash Download TAB…you must change the Flash size from 0x40000 to 0x80000 and the ram from 0x1000 to 0x40000
Thanks for feeding back.
Has that been reported to ST?
Yep