Hello I'm not sure where I can submit a Bugreport, so I do it on this forums.
Related Files: system_stm32f10x.c, startup_stm32f10x_hd.s (True Studio)
There is a problem when you want to use the external RAM as HEAP/STACK Memory, explained in example "SRAM_DataMemory".
In the startup_stm32f10x_hd.s on line 72 we perform a branche to "SystemInit_ExtMemCtl" this function can't be called from this code because it is declared as static in system_stm32f10x.c on line 153. This will result in a branche to "SystemInit_ExtMemCtl_Dummy" which is doing nothing but jumping back to the call function.
Now the code starts to copy stuff into RAM which is not initialized! When we branche (in assembler file) in line 107 to __libc_init_array we will have a crash due to push and pop of registers on the stack which is in not initialized memory!
What I've seen the function "SystemInit" calls the Function SystemInit_ExtMemCtl. But since we never reach this code, it's useless.
Your readme file says that you have tested this with several boards. I can't believe that you really have tested it; since this code can't work... it's impossible.
Solution: Don't make the SystemInit_ExtMemCtl static! Or call the SysInit at the very beginning of the startup code.
All right, is there an official way to report this bug?
Retrieving data ...