Reply by John Speth September 12, 20182018-09-12
Hi Folks-

I'm having a problem in which the OpenSTM32 System Workbench debugger 
reports “Warn : no flash bank found for address 20000000” when I flash 
my STM32 target using System Workbench. The debugger then fails the 
binary compare process and prevents me from debugging.

My linker script defines a memory region called DTCM which is mapped to 
RAM starting at 0x20000000 for 64K bytes:

MEMORY
{
RAM (xrw)	: ORIGIN = 0x20010000, LENGTH = 256K
DTCM(xrw)	 : ORIGIN = 0x20000000, LENGTH = 64K
ROM (rx)	: ORIGIN = 0x8000000, LENGTH = 1024K
}

The tool is trying to treat DTCM as a flash targeted block but it’s 
really RAM. It’s guaranteed to fail verification because it’s not flash 
(that is, not ROM).

Can anyone please tell me how to exclude this memory region from the set 
of bytes written to flash memory?  I don't know if it's a linker script 
problem, openocd configuration problem, GDB configuration problem, or 
something else.

Thanks - John Speth