2020-07-16 01:13 PM
Hi I used STM32CubeMX to create a new project for STM32F030F4 + STM32CubeIDE.
The project was created, but when I compile, all the data by default is mapped to address 0x00008000, just after the valid range of the flash mirror. How strange...
Problem one: The file STM32F030F3Px_FLASH.ld was never created in my project, so I found one online and put it into my project folder
Problem two: The linker argument builder is not able to resolve the ${workspace_loc:/${ProjName}/STM32F030F4PX_FLASH.ld} path, so no -T "c:\foo\bar\STM32F030F4PX_FLASH.ld" is added to the linker command-line.
Work-around for problem two:
Added under other flags for the linker: -T "${workspace_loc:/${ProjName}/STM32F030F4PX_FLASH.ld}" - The quatation marks are important, else \ for windows paths turns into escape characters...
Windows 10, English language, Norwegian locale
STM32CubeMX: 5.6.1
STM32CubeIDE: 1.3.1
com.st.stm32cube.ide.feature.mcu.linker.ui 1.3.0.202002181050
com.st.stm32cube.ide.feature.mcu.toolchain.arm_none 1.3.0.202002181050
(The missing linker script causes all kinds of funky errors when trying to load the resulting file with the different softwares for the hardware dongles)
2020-07-17 09:41 AM
So is null heap size root source of your issue ?
2020-07-18 12:56 AM
Heap Zero is indeed the root-cause of the defect:
Heap=Zero causes
Src/syscalls.c to be removed, ok
Src/sysmem.c to be removed, ok
STM32F030F4PX_FLASH.ld to be removed, NOT ok
Why -T in general is omitted, I am not sure. The fresh generated projects works, and diff becomes a mess, since the project has been used and eclipse quickly changes details in the XML space
2020-07-28 11:49 AM
Null (0x0) heap size sounds supported now relying on fresh STM32CubeIDE release. At least works for me.
Please tag as "Answered" will help Community.