Code size limitation persist

Technical Note 24687



9/9/2015 12:19 PM


The IAR Embedded Workbench tools gives a message about too much code instead of the expected/desired executable.

Applicable diagnostic messages

Error[Li016]: size limit exceeded
Error[Li016]: size limit exceeded ##### > 12288
Fatal Error[e89]: Too much object code produced (more than x bytes) for this package

Possible causes

There are two possible scenarios.

Scenario A

There is also a "code size limited" license (for example a KickStart) installed on the PC, and this "code size limited" license is "in use".

Scenario B

The correct IAR Embedded Workbench version is "in use", but the problem persist.

Possible solutions

Scenario A

Check that you are indeed using a proper IAR Embedded Workbench variant (that is, without the size-limitation).

This procedure differs depending on the License Management System used. (If you are using the legacy system (in use till 2012-2013), please see further below.)

Open the license manager by selecting "License Manager" in the Help menu in the IAR Embedded Workbench IDE.

If you see something like "32K Kickstart" in the "selected license", the license is size limited. Ditto if you see features ending in "_KS" or "_BL" (e.g., ARM_EW_COMPILER_KS).

  • If there is an OK license available in the drop-down list, select this instead.
  • If not, you need to get one. (You might have to contact Sales.)

Scenario B

Ensure all object code in your project is properly built (that is, without size limitation). Once you have verified you are using a proper edition:

  • Compile / assemble all source code in your project
  • Menu: Project -> Clean
  • Menu: Project -> Rebuild All
  • Also object code without source code (for example 3rd party libraries) must have been built with a proper edition.
  • If IAR Embedded Workbench for ARM is used and the exceeded limit is 12288 bytes, then disable C-RUN (enabled in size-limited mode): 
    Project > Options > Runtime Checking - unmark the 'Enable' checkbox.


Mixing object code from editions of IAR Embedded Workbench with and without size limitation for linked code, the limitation stays in effect (higher priority/precedence).

Legacy versions (older than 2012-2013)

Scenario A

With License Management System version 1, different binaries provides different functionality. Thus, the sign-on message shows if it is a Kickstart, Baseline etc. Example: IAR C/C++ Compiler V6.12.1.40500, Base-line Version for Atmel AVR

The sign-on message can be found in:

  • Compiler list file header
  • Build log window in IAR Embedded Workbench
  • Standard out, if running the command line compiler

If there is also a proper edition installed on your PC, please start that instead.

If not, you need to install one.

Scenario B

The actions are the same as above, that is as in Scenario B for LMS2.

All product names are trademarks or registered trademarks of their respective owners.

Related Tech Notes

© IAR Systems 1995-2021 - All rights reserved.

We use cookies on this website to provide you with a better experience. You need to accept cookies to continue using this site. Cookies