0

I want to try a TouchGFX. I've created a simple example. I use CubeMX and select X-Cube-TouchGFX 4.13.0 for additional software. I configure everything fine, using and example and webinar. I then used the TouchGFX designer to insert a simple UI for my example, all of which worked well.

I generate a IAR project with CubeIDE, using Application structure: Advanced and linker Settings : Heap = 200 ; Stack = 800;

Now if I compile the project I don't have problem but if I Make the project I see this error:

Error[Lp011]: section placement failed   unable to allocate space for
sections/blocks with a total estimated minimum size of 0x17'd129 bytes
(max align 0x4) in <[0x800'0000-0x80f'ffff]> (total uncommitted space
0xf'fe38).

Later I generate the project for STM32CubeIDE and see this 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: region `FLASH' overflowed by 596908 bytes

collect2.exe: error: ld returned 1 exit status

make: *** [makefile:74: TEST_1.elf] Error 1 "make -j8 all" terminated
with exit code 2. Build might be incomplete.
Florian
  • 2,796
  • 1
  • 15
  • 25
AntonioB
  • 1
  • 1
  • IAR error code is linker telling you that your program is too big to fit the available free space. You have not configured free space correctly (edit linker script if that is the case), or your target hardware simply doesn'y have enough memory to fit your program. – user694733 Feb 14 '20 at 14:46
  • hi thanks for your answer, i use STM32F746G-DISCO, I think that is have the space for a little graphic example, can you tell me how to change the linker setting? or do you know a how-to that can help me? best regards – AntonioB Feb 17 '20 at 08:51
  • @AntonioB in the future, if you have any questions about TouchGFX I suggest using the official ST Microelectronics community site [link](https://community.st.com/s/topic/0TO0X0000003iw6WAA/touchgfx) – Victor Gram Mar 12 '20 at 19:30

1 Answers1

0

CubeMX (and CubeIDE) will not generate a linker script for you that works because they do not know which Flash chip you're using and where the memory region for assets begins.

You can check out some of the application templates from the TouchGFX designer to see how the linker scripts (For IAR, CubeIDE, Keil) are constructed in terms of memory map (ExtFlashSection is the important region here, for TouchGFX applications).

You're overflowing because your linker is trying to put everything in internal flash (since the linker script does not define the region exposed by TouchGFX assets).

zrrbite
  • 1,180
  • 10
  • 22