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


Align all linker sections on 16 bytes

Dear STM32 support team,
I am trying to align all my code on 16 bytes using the linkerscript directives.

Unfortunately .ARM section is resisting all my attempts (and it’s the only one :/ )

The linkerscript directive:
.ARM : {
. = ALIGN(16);
__exidx_start = .;
. = ALIGN(16);
*(.ARM.exidx*)
. = ALIGN(16);
__exidx_end = .;
. = ALIGN(16);
}

results after compilation in the following error:
./lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/bin/ld: .ARM has both ordered and unordered sections
/$MY_HOMEPATH/fr.ac6.mcu.externaltools.arm-none.linux64_1.15.0.201708311556/tools/compiler/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/bin/ld: final link failed: Bad value

I also tried to include this section using a *.text wild card like this:
.text :
{
. = ALIGN(16);
*(*.text*)
. = ALIGN(16);
}
but the result is the same.

Could you help me to sort this issue out? Is it a way to align this section on 16 bytes.

Thank you and best regards,
Sylvain