Loading...
 

STM32MP1 support available in SW4STM32

   With System Workbench for Linux, Embedded Linux on the STM32MP1 family of MPUs from ST was never as simple to build and maintain, even for newcomers in the Linux world.
And, if you install System Workbench for Linux in System Workbench for STM32 you can seamlessly develop and debug asymmetric applications running partly on Linux, partly on the Cortex-M4; you can download a short video showcasing this on the ac6-tools website (registration required).

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