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.
What is necessary to simulate or debug a STM32 program that is intended to run in RAM?
In µVision4 the program is located and loaded in RAM, but start debugging results in a jump to 0x00000000. Setting the SP and PC registers manually doesn't solve the problem. Is it necessary to define a minimal vector table that resides at 0x00000000 to make debugging possible?
sorry, not the framebuffer, the ExtRam Example :-)
You load the program into RAM and set the PC - normally done by an init scipt. A number of Keil examples have RAM targets and a startup script for this.
When the program starts, no interrupts are enabled, so it doesn't matter if the interrupt vector table has been remapped or not. But your code (or the startup file) must perform the remapping of the interrupt vector table before any interrupt handler is configured.
Thanks, this was the important hint. Using the *.ini file it's possible to prepare the context before debugging.