This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Segger Embedded Studio Code Size Limit?


I recently downloaded Segger's Embedded Studio to compare its performance and ease of use with IAR Embedded Workbench. We have a kickstarter version of IAR for ARM which has a 32K code size limit. Segger's site mentioned that the free evaluation license has no code size limit, but when I compile my now-slightly-over-32K project with the Segger, I get an error that the size limit of 0x8000 (32K) has been exceeded. Could this be related to the fact that I originally imported the Segger project from a project that was created on the IAR Kickstarter version and somehow inherited the 32K code size limit from IAR? I can't find anything under the Segger project options that sets the code size limit.

Thanks,

Mike

Parents
  • No the size limit didn't come over from IAR. What's the ACTUAL error message? Have you registered your copy of SES to get the free Nordic license which allows full access and even commercial use, even though I believe that SES has no size limit either. 

  • Exact error is "Error [Li016]: size limit exceeded.  The application needs 0x864c (34380) bytes, which is greater than the limit of 0x8000 (32768) bytes."  When I check the Tools -> License Manager and choose Manage Activations, I see that the product is licensed to Mike Marks - Avid Technologies.

  • Compiler settings shows gcc as the compiler.  The only choices listed are gcc and clang if I chooise the pull-down under Compiler.  The project was imported using File -> Import IAR EWARM / Keil MDK Project... and then selecting the .eww file from the project directory.

  • This is making no sense at all. When you build the project in SES you should get a build transcript, can you see it actually running the GCC compile and link commands? What command does it run at the point it emits the error message? GCC just doesn't emit that error message, it's entirely an IAR thing. The import project makes an entirely native project from the original one so .. there should be nowhere to put such an error. 

    The only other possibility I can think of, not that I've EVER seen it, is that the export of the project exported a linker file with that error message in it.  You could look at (grep) the converted project source to see if that happened. 

  • I also noticed that the Additional Assembler Options shows the following: "--cpu;$(CoreType);--fpu;$(FPU3);-S" from solution in External IAR configuration

  • don't see anything wrong with those assembler options. Sure they wouldn't be causing GCC to emit an IAR error message. 

  • The command that generates the error is "Linking <project name>.out".  Prior to that the commands are "Compiling <filename>".  Attempting to search through the project files (<name>.emProject" and <name>.emSession" does not show the size limit error message.   From earlier messages, it sounds like I could somehow be using the IAR compiler?  Could one of the linker options be wrong?  

Reply
  • The command that generates the error is "Linking <project name>.out".  Prior to that the commands are "Compiling <filename>".  Attempting to search through the project files (<name>.emProject" and <name>.emSession" does not show the size limit error message.   From earlier messages, it sounds like I could somehow be using the IAR compiler?  Could one of the linker options be wrong?  

Children
No Data