Hi,
I am using MDK-ARM V5.24 and using C++11 for STM32F4. I can compiler and download. Howerver, when I tested on my board, I found that it can't work unless using debug.
In fact, it happends only if I use vector or string class.
So what's the reason caused this? And any ideas?
Best regards.
Please clarify exactly what you mean by that.
Briefly speaking,if I declare a variable(string,vector),no matter whether it is used or not,the program seems to be blocked. I used jlink to debug. I found that the program can't run to the main() and if I used “step over” to make the program run to the main(),it can worked.
OK, I get it. It seems that I used the semihosting mode.
Hello Yi,
This might be useful for you, if you can start a debug session but not run to your main() program:
http://www.keil.com/support/docs/3614.htm
That article explains how to solve semihosting issues.
===
If you can debug just fine, but you can't run stand-alone, check your boot pin settings on your board.
www.st.com/.../cd00167594.pdf www.st.com/.../cd00264342.pdf
The debugger can force the program to jump to a certain location, if you are using an initialization file, but the device will boot as it wants to without the debugger.