ARM Technical Support Knowledge Articles


Applies to: C51 C Compiler


Information in this article applies to:


I would like to use the Advanced Linker Level Optimization available in the LX51 linker. How do I invoke this level of optimization?


The OBJECTADVANCED compiler directive instructs the compiler to include information in the object file for for linker-level optimizations. This directive is used in conjunction with the OPTIMIZE directive to shrink program size and decrease execution speed.

When enabled, the OBJECTADVANCED directive instructs the LX51 linker/locater to perform the following Linker Optimizations:

The OBJECTADVANCED requires the extended LX51 linker/locater and cannot be used with the BL51 linker/locater.

µVision Control for OBJECTADVANCED : Project ->C51-> Code optimization -> Linker Code Packing

µVision Control for OPTIMIZE : Options -> C51 ->Code Optimization -> Level 0-9

Note in µVision Control : When the OBJECTADVANCED is enabled after the LX51 linker/locater is enabled when selecting Device, then the OMF2 directive is deleted from the C51 compiler command string. The OBJECTADVANCED enables another format, different from the OMF2 format.


Article last edited on: 2004-04-16 14:42:32

Rate this article

Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential