Loading...
 

SW4STM32 and SW4Linux fully supports the STM32MP1 asymmetric multicore Cortex/A7+M4 MPUs

   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 get more information from the ac6-tools website and download (registration required) various documents highlighting:

System Workbench for STM32


BSS section overlay - static variables

Dear openSTM32 support,

I feel like this question is related to any ld implementation but we use openSTM32 for our developments and I am asking my question here:

We use an overlay section in our linkerscript to allocate different file bss sections at the same memory address.
example: ld linkerscript excerpt:
OVERLAY :
{
.ovly0:
{
.bss: file*.o (.bss)
.bss: file_1*.o (.bss)
}
.ovly1:
{
.bss: file_2*.o (.bss)
}
}
file and file_1 bss sections are at the same location as file_2 bss section.
file and file_1 bss section are not overlapped with each other as expected from this linkerscript declaration.


Nevertheless this does not work if the global variables declared in my_file_1 and my_file are declared static.
In this case, the static variables of my_file and my_file_1 are allocated at the same memory address (this can be seen in debug mode).

Could you help me to clarify what happens here?
Should we forbid the use of the keyword “static” when using a file included in an overlay section?

Thank you,
Best regards,
Sylvain

Dear support,
this is embarrassing,
the problem with the static variables was due to a linkerscript error...
The behavior of the linker is all good to me regarding the overlay management.

You can forget this post.
Best regards,
Sylvain