Loading...
 

System Workbench for STM32


Linker script, exclude memory sections for flash download

I am having a problem in which the 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). I’ve attached my linker script and complete debugger log for reference.

Can anyone please tell me how to exclude this memory region from the set of bytes written to flash memory?

Thanks - John Speth