cancel
Showing results for 
Search instead for 
Did you mean: 

'RAM' overflow and 'FLASH' overflow STM32F7508-DK

DMeis.1
Associate III

I followed the tutorial online. I started a cubeIDE project and used the ST32F7508 template to set up my project. I followed the online setup help to setup. Then I created a touchGFX from the file but when i go to build I keep getting this error and can not figure out how to get pass this.

arm-none-eabi-g++ -o "TouchTestFive.elf" @"objects.list"  -l:libtouchgfx-float-abi-hard.a -mcpu=cortex-m7 -T"C:\Users\dmeissner.VR-SIMSBURY\STM32CubeIDE\TouchGFXtest\TouchTestFive\STM32F750N8HX_FLASH.ld" --specs=nosys.specs -Wl,-Map="TouchTestFive.map" -Wl,--gc-sections -static -L"C:\Users\dmeissner.VR-SIMSBURY\STM32CubeIDE\TouchGFXtest\TouchTestFive\Middlewares\ST\touchgfx\lib\core\cortex_m7\gcc" --specs=nano.specs -mfpu=fpv5-sp-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -lstdc++ -lsupc++ -Wl,--end-group
c:\st\stm32cubeide_1.2.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.0.0.201904181610\tools\arm-none-eabi\bin\ld.exe: TouchTestFive.elf section `.text' will not fit in region `FLASH'
c:\st\stm32cubeide_1.2.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.0.0.201904181610\tools\arm-none-eabi\bin\ld.exe: TouchTestFive.elf section `TouchGFX_Framebuffer' will not fit in region `RAM'
c:\st\stm32cubeide_1.2.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.0.0.201904181610\tools\arm-none-eabi\bin\ld.exe: region `RAM' overflowed by 109752 bytes
c:\st\stm32cubeide_1.2.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.0.0.201904181610\tools\arm-none-eabi\bin\ld.exe: region `FLASH' overflowed by 487812 bytes

8 REPLIES 8

The STM32F750N8 has a relatively small reported FLASH, 64KB vs 1MB on die. You could pretend you have an F756

You're expected to bring up the SDRAM for larger RAM space and frame buffers, and use the external QSPI FLASH for graphic images and resources. You'd need to describe these in your linker script, and bring up the interfaces in your startup code.

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

Now I am only getting the RAM error

c:\st\stm32cubeide_1.2.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.0.0.201904181610\tools\arm-none-eabi\bin\ld.exe: TouchTestFive.elf section `TouchGFX_Framebuffer' will not fit in region `RAM'
c:\st\stm32cubeide_1.2.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.0.0.201904181610\tools\arm-none-eabi\bin\ld.exe: region `RAM' overflowed by 109752 bytes
collect2.exe: error: ld returned 1 exit status
make: *** [makefile:89: TouchTestFive.elf] Error 1
"make -j8 all" terminated with exit code 2. Build might be incomplete.
 
15:55:41 Build Failed. 1 errors, 0 warnings. (took 53s.273ms)

If described properly in your linker script you should have 320 KB of Internal SRAM to work with.

Right now the linker is complaining you need 108KB more than you've described to it.

There is 8MB of SDRAM if you tell the linker, and bring it up on your hardware.

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

Ok I Just had to update the both FLASH and RAM Id files. It builds now. but now when i try to debug I get

Error in final launch sequence:

Failed to execute MI command:

load C:\\Users\\dmeissner.VR-SIMSBURY\\STM32CubeIDE\\TouchGFXtest\\TouchTestFive\\Debug\\TouchTestFive.elf 

Error message from debugger back end:

Load failed

Failed to execute MI command:

load C:\\Users\\dmeissner.VR-SIMSBURY\\STM32CubeIDE\\TouchGFXtest\\TouchTestFive\\Debug\\TouchTestFive.elf 

Error message from debugger back end:

Load failed

Failed to execute MI command:

load C:\\Users\\dmeissner.VR-SIMSBURY\\STM32CubeIDE\\TouchGFXtest\\TouchTestFive\\Debug\\TouchTestFive.elf 

Error message from debugger back end:

Load failed

Load failed

Do you know how I can get the linker to bring it up in my SDRAM? Sorry I'm new to all of this.

>>Sorry I'm new to all of this.

Which part, the embedded programming, or the assembler, compiler, linker stuff?

You need to bring up the SDRAM in your startup code. You'd describe the SDRAM memory section in the linker script (.LD) file.

See DATA_IN_ExtSDRAM define/code, called from SystemInit()

STM32Cube_FW_F7_V1.15.0\Projects\STM32746G-Discovery\Examples\BSP\Src\system_stm32f7xx.c

STM32Cube_FW_F7_V1.15.0\Projects\STM32F7508-DISCO\Examples\BSP\Src\system_stm32f7xx.c

Might also review

STM32Cube_FW_F7_V1.15.0\Projects\STM32F769I_EVAL\Examples\FMC\FMC_SDRAM_MemRemap\SW4STM32\startup_stm32f769xx.s

STM32Cube_FW_F7_V1.15.0\Projects\STM32F769I_EVAL\Examples\FMC\FMC_SDRAM_MemRemap\SW4STM32\STM32F769I_EVAL\STM32F769NIHx_FLASH.ld

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

OK so I followed all of that. I am still getting RAM overflow. Do you know anyone that has gotten the STM32F7508-DISCO board to work with TouchGFX and Cube IDE? I've found a couple of tutorials for the F746G files. But the template in CubeIDE is making a main.c file and touchGFX is making a main.cpp file. I feel like there might be inconsistencies somewhere.Also my TouchGFX doesn't generate a CubeIDE folder when I try to make a create a blank template using the 7508 board...

ANguy.3
Associate II

Hi,

did you fix the problem? I have the same board and same problem like you