cancel
Showing results for 
Search instead for 
Did you mean: 

Linker error after adding some coder to example application Using STM32F769I-Discovery board

ICohe.1
Associate III

Customizing the Cloud application from the STM32CubeExpansion_Cloud_AWS_V1.4.1

causes the following link errors, where line 1 is the CubeIde generated linker command:

I haven't change anything in the configuration. Just added code

Attached is the linker script that is being used and is part of the original example.

How do I maximize the amount of RAM available for the application.

If the STM32F769 is too small (which I can't imagine) What is the next mcu I can use ?

I don't care about memory protection and other advanced options(MPU etc.).

arm-none-eabi-gcc -z max-page-size=0x200 -o "STM32F769I-Discovery_AWS.elf" @"objects.list"  -l:se_interface_app.o -mcpu=cortex-m7 -T"../STM32F769NIHx_FLASH.ld" --specs=nosys.specs -Wl,-Map="STM32F769I-Discovery_AWS.map" -Wl,--gc-sections -static -L../../../../../BootLoader_OSC/2_Images_SBSFU/SW4STM32/STM32F769I_Discovery_2_Images_SBSFU/Debug -Xlinker -L../../../../../BootLoader_OSC/Linker_Common/SW4STM32 --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -u _printf_float -Wl,--start-group -lc -lm -Wl,--end-group
c:\st\stm32cubeide_1.3.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208\tools\arm-none-eabi\bin\ld.exe: STM32F769I-Discovery_AWS.elf section `._user_heap_stack' will not fit in region `APPLI_region_RAM'
c:\st\stm32cubeide_1.3.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208\tools\arm-none-eabi\bin\ld.exe: section .sram2_non_cached_device VMA [000000002007c000,000000002007c0ff] overlaps section ._user_heap_stack VMA [00000000200695ec,00000000200835ef]
c:\st\stm32cubeide_1.3.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.4.0.202007081208\tools\arm-none-eabi\bin\ld.exe: region `APPLI_region_RAM' overflowed by 30192 bytes
collect2.exe: error: ld returned 1 exit status
make[1]: *** [makefile:107: STM32F769I-Discovery_AWS.elf] Error 1
make: *** [makefile:100: all] Error 2
"make all" terminated with exit code 2. Build might be incomplete.

2 REPLIES 2

How much RAM do you actually need?

The STM32F769I-DISCO should have SDRAM you can initialize and utilize. This memory will be somewhat slower, the cache will mask some of that, but I wouldn't use it for stack space.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
ICohe.1
Associate III

Not sure How much RAM I need. My added software to the original example, when runs in it's own application reports about 235 KB usage which is 46% of the total on chip RAM. I expect that some of the code is common to both modules. However if I want to utilize the SDRAM How can I do it(example/manual/link)?

Thanks