error: L6050U: The code size of this image (86760 bytes) exceeds the maximum allowed for this version of the linker.

I have install
Keil MDK Community Version 5.41.0.0
User Based License Keil MDK Community (non-commercial free of charge) valid until May 31 2033 and cached until Mar 16 2026
Compiler Version 5.06 update 6 (build 750)

Rebuild started: Project: proj
*** Warning: The configured compiler version '5.06 update 6 (build 750)' does not support the selected User Based Licensing technology.
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'C:\Users\user.name\AppData\Local\Keil_v5\ARM\ARM_Compiler_5.06u6\Bin'
Rebuild target 'proj Configuration'

linking...
proj Configuration\proj Configuration.axf: error: L6050U: The code size of this image (86760 bytes) exceeds the maximum allowed for this version of the linker.
Finished: 0 information, 0 warning, 0 error and 1 fatal error messages.
"proj Configuration\proj Configuration.axf" - 1 Error(s), 0 Warning(s).
Target not created.
Build Time Elapsed: 00:00:24

How to resolve this code size limit issue for the linker?

Parents
  • That error usually means the project exceeded the code-size limit of the free/community edition of Keil MDK. Your image size is about 86 KB, while the older ARM Compiler 5 toolchain is still enforcing the classic limit. The important clue is this warning: “does not support the selected User Based Licensing technology”

    So even though you installed the newer Community license, the project is still building with the old Compiler 5 setup, which keeps the size restriction.

    try switching the project to ARM Compiler 6 instead of Compiler 5. In many cases that removes the old linker limitation for Community Edition users.

    You can check it under:
    Project → Options for Target → Target / Code Generation → ARM Compiler

    Also make sure the newer license is actually activated in the Keil License Management tool.

    If changing compiler versions is difficult because of compatibility, then the other option is reducing firmware size temporarily by disabling debug logs, unused middleware, large libraries, etc., until it builds under the limit.

Reply
  • That error usually means the project exceeded the code-size limit of the free/community edition of Keil MDK. Your image size is about 86 KB, while the older ARM Compiler 5 toolchain is still enforcing the classic limit. The important clue is this warning: “does not support the selected User Based Licensing technology”

    So even though you installed the newer Community license, the project is still building with the old Compiler 5 setup, which keeps the size restriction.

    try switching the project to ARM Compiler 6 instead of Compiler 5. In many cases that removes the old linker limitation for Community Edition users.

    You can check it under:
    Project → Options for Target → Target / Code Generation → ARM Compiler

    Also make sure the newer license is actually activated in the Keil License Management tool.

    If changing compiler versions is difficult because of compatibility, then the other option is reducing firmware size temporarily by disabling debug logs, unused middleware, large libraries, etc., until it builds under the limit.

Children
No data