The IAR Embedded Workbench tools gives a message about too much code instead of the expected/desired executable.
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
There are two possible scenarios.
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".
The correct IAR Embedded Workbench version is "in use", but the problem persist.
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. Since most products have made the transition to LMS2, we focus on this case. (If you are using the older system, please see the 'LMS1' sections 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, please select this instead. If not, you need to get one.
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:
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).
With LMS1, different binaries provides different functionality. Thus, the sign-on message shows if it is a Kickstart, Baseline etc. Example: IAR C/C++ Compiler V220.127.116.11500, Base-line Version for Atmel AVR
The sign-on message can be seen, for example, in
If there is also a proper edition installed on your PC, please start that instead.
If not, you need to install one.
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.