We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I am using the STM32F439 which has 64K of CCM (Core-Coupled memory) at address 0x10000000. At the moment I use this for a few variables but I plan to use it for more later. I am having a problem which I believe is caused by the Keil Debugger (ULINK Pro).
If I start a debug session via “Debug->Start/Stop Debug Session” ('Run to main()' is ticked) and examine the CCM memory in the debugger, none of my variables have been pre-initialised and sometimes the RAM just contains a pattern. However, if I then select “Debug->Reset CPU” then everything becomes OK and the variables are all pre-initialised. The problem only occurs when I first start the debug session. Subsequent resets are OK.
Any ideas?
Thanks Gary
I have found the problem. The RCC AHB1 register has a CCM clock enable (b20) which is not shown in the "System Viewer->RCC". However, it defaults to 1 (enable) following a reset but is 0 (disable) when I first start the debug session due to a bug in my debug script file (.ini).