AntonioB
AntonioB

Reputation: 1

STM32F746G and touchGFX problem whit IAR and CubeIDE

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.

Upvotes: 0

Views: 1937

Answers (1)

zrrbite
zrrbite

Reputation: 1260

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).

Upvotes: 0

Related Questions