Skip to main content
SBort.1
Associate II
May 26, 2022
Question

How do I resolve this Building issue with the following message - linking... GFX01M1_HelloWorld\GFX01M1_HelloWorld.axf: error: L6047U: The size of this image (824520 bytes) exceeds the maximum allowed for this version of the linker

  • May 26, 2022
  • 14 replies
  • 7391 views

..

This topic has been closed for replies.

14 replies

Andrew Neil
Super User
May 26, 2022
  1. Get a version of the linker which supports images as large as 824520 bytes;
  2. Reduce the image size so that your current linker will allow it.

You haven't said what tools (Compiler, Linker, etc) you are using - but, at a guess, is it the free evaluation version of Keil?

https://www2.keil.com/limits

BTW: Please don't put the entire question in the title.

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.
SBort.1
SBort.1Author
Associate II
May 26, 2022

Thank for your answer. Yes I am using Keil.

jiangfan
ST Employee
May 26, 2022

What STM32 MCU you use ?

it is possible that the STM32 Flash memory size is <= size of this image (824520 bytes).

for example, if using MB1360-G071RB (MB1360C) + GFX01M1 board, STM32G071RB only has up to 128kB flash, it can't contain the image.

To resolve it, you may use a smaller image, such as size about 100kB.

Andrew Neil
Super User
May 26, 2022

@jiangfan​ "To resolve it, you may use a smaller image, such as size about 100kB"

But the message says it's exceeding the Linker's capability - not the memory size.

Thus I suspect that @SBort.1​ is using the free evaluation version - which has a clearly-stated limit of 32K.

Therefore 100K would still be too big for this Linker.

To be able to use this linker, the image size would need to be reduced below 32K

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.
SBort.1
SBort.1Author
Associate II
May 27, 2022

Good afternoon but understand the following - I'm using the example suggested on the ST website for initial development... follow the link - TouchGFXDesigner - TouchGFX is delivered as an X-Cube-TouchGFX package - STMicroelectronics and has the suggestion to run the firmware with the (X-NUCLEO-GFX01M1 expansion board connected to the NUCLEO-G071RB). I believe that the problem must not be excess flash capacity and maybe the image data is loaded via SPI Flash to the Display.

SBort.1
SBort.1Author
Associate II
May 26, 2022

I'm using STM32G071RB and its size flash memory is 128K

jiangfan
ST Employee
May 26, 2022

As mentioned, the easiest way is to use a small image with size <= 100kB.

If big image like 800kB size is mandatory, it can't be used directly, it should be put in external memory, and show part of it on GFX01M1 LCD at a time only, I suppose, by using SRAM buffer.

Andrew Neil
Super User
May 26, 2022

see above: even 100K is still way too big for the free evaluation version of the Keil tools.

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.
SBort.1
SBort.1Author
Associate II
May 26, 2022

Thanks for the help for now but I just want you to run the demo software from the ST website for the Touch Display application that writes "Hello Word". Memory size issue should not be problem as it describes for ST G071RB kit to apply to X-NUCLEO-GFX01M1

Tesla DeLorean
Guru
May 26, 2022
Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
SBort.1
SBort.1Author
Associate II
May 26, 2022

I already have it installed. Incidentally the error message had been shown in the "Build Output" window