2024-08-04 08:21 PM
MCU: STM32H743IIT6
When using Cubemx on Mac M1, enable "Apply Application Regions Settings to Linker Files", the generated .ld file error
2024-08-09 02:24 AM - edited 2024-08-09 02:28 AM
Hello @luke gong
Which CubeMx version used? Did you have this issue with latest release of CubeMx (v6.12.0)?
Could you please attach your ioc file, this will help our team to reproduce the issue.
2024-08-13 08:51 AM
Hi @luke gong ,
We are currently in the process of investigating the issue.
Could you kindly provide us with more information about the version of macOS and CubeMX that was used?
2024-09-19 06:38 AM
same on cubemx v6.12.1 when using a stm32f103c8t6. the line
_estack = ORIGIN(RAM) + LENGTH(RAM);
is mistakenly generated as
_estack = ORIGIN() + LENGTH();
in flash.ld
2024-09-19 08:11 AM
Hello,
After checking, it seems that the issue is only observed when generating a CMake project, moreover when disabling the Code Generation Config in MMT, the .ld file is generated correctly.
Actually, the Cmake toolchain was added recently in CubeMX, but it currently does not support MMT.
The support of MMT with the Cmake project in STM32CubeMX is planned for the coming releases.
2024-10-16 01:54 PM
Well, just updated CubeMX (Windows) and ran into the same issue.
diff between STM32L432KCUx_FLASH.ld (generated after update, faulty)
and ACP14_STM32L432KCUx_FLASH.ld (the previous version of that file, working)
10c10
< ** 256Kbytes FLASH and 80Kbytes RAM
---
> ** 256Kbytes FLASH and 64Kbytes RAM
56c56
< _estack = ORIGIN(RAM) + LENGTH(RAM); /* end of RAM */
---
> _estack = ORIGIN() + LENGTH(); /* end of RAM */
64c64
< RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 64K
---
> RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 48K
161c161
< } >RAM AT> FLASH
---
> } > AT> FLASH
178c178
< } >RAM
---
> } >
189c189
< } >RAM
---
> } >
201d200
< .ARM.attributes 0 : { *(.ARM.attributes) }
nothing changed in the cubeMX project, also tried to fall back to a previous firmware, no success
(STM32Cube FW_L4 V1.18.0 vs STM32Cube FW_L4 V1.18.1)
project type is Makefile.
Also just created a fresh project with defaults, same issue with the .ld file.
Downloading CubeMX 6.12.0 to see if I see a difference.
attached are the ld files of the same project, the one with ACP14 at the beginning is the working one, the other is the one generated with CubeMX 6.12.1 and faulty.
2024-10-16 02:13 PM
update:
code and .ld file is generated correctly with 6.12.0 but not with 6.12.1 (for a makefile project)
Tested with the existing project* and a new one.
does not seem to relate to the firmware package version, even with 'STM32Cube FW_L4 V1.18.1' it works.
I did however not update any embedded software packages.
attached are default-peripheral projects for the NUCLEO-L432KC, filename states which cubemx version (and if its BAD or GOOD)
sticking with 6.12.0 for now.
* downgrading the .ioc file to load in an older version of CubeMX (older than 6.12.1)
change
MxCube.Version=6.12.1
MxDb.Version=DB.6.0.121
to
MxCube.Version=6.12.0
MxDb.Version=DB.6.0.120