2024-07-29 01:22 AM
Hello everyone, i'm starting a baremetal project on a MP135 and i'm facing a issue when I tried to configure ThreadX.
I've already saw the issue in another post :
But when I add the following code in the linker :
.stack : { _stack_bottom = ABSOLUTE(.) ; /* Allocate room for stack. This must be big enough for the IRQ, FIQ, and SYS stack if nested interrupts are enabled.*/ . = ALIGN(8) ; . += 32768 ; _sp = . - 16 ; _stack_top = ABSOLUTE(.) ; } >RAM _end = .;
I get another error :
/opt/st/stm32cubeide_1.15.1/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.100.202403111256/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/bin/ld: emap_bareos_Application.elf section `.stack' will not fit in region `SYSRAM_BASE'
/opt/st/stm32cubeide_1.15.1/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.100.202403111256/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/bin/ld: region `SYSRAM_BASE' overflowed by 22016 bytes
I understand that i'm running out of memory but I don't know what to do more about it.
Thank you all for your time
2024-07-31 02:16 PM
Hello @Manu31 ,
SYSRAM have a limited size, that is quite quickly reached when you make an application with AzureRTOS.
The solution so is to put your application in DDR instead of SYSRAM, but you also need a first firmware that initialize the DDR.
All these steps are explained in the wiki here : https://wiki.st.com/stm32mpu/wiki/STM32CubeMP13_Package_-_Getting_started#Integrating_AzureRTOS_middleware
I hope it will help you to go forward,
Kind regards,
Erwan.