2020-02-07 12:15 PM
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
2020-02-07 12:51 PM
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.
2020-02-07 12:56 PM
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)
2020-02-07 01:14 PM
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.
2020-02-07 01:15 PM
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
2020-02-10 11:28 AM
Do you know how I can get the linker to bring it up in my SDRAM? Sorry I'm new to all of this.
2020-02-10 01:11 PM
>>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
2020-02-11 06:39 AM
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...
2020-10-11 09:11 PM
Hi,
did you fix the problem? I have the same board and same problem like you