Code size limitation persist

Technical Note 24687

Arkitekturer:

All

Komponent:

general

Uppdaterad:

2020-11-03 16:32

Introduction

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

Correct IAR Embedded Workbench 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.

Background

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.

Det här innehållet finns tyvärr inte på svenska.

Vår webbplats finns främst på vårt koncernspråk engelska, förutom det innehåll för investerare som vi är lagstadgade att kommunicera på svenska. Vi rekommenderar att du besöker vår globala webbplats på engelska för att få en bättre upplevelse.

Vi stöder inte längre Internet Explorer. För att få bästa möjliga upplevelse av iar.com rekommenderar vi att du uppgraderar till en modern webbläsare som Chrome eller Edge.