|
| Keil Cx51 CompilerPreprocessor Symbols- Define
- Sets preprocessor symbols which may be checked with #if, #ifdef and #ifndef. The defined names are copied exactly as they are entered (case-sensitive). Each name may get optionally a value. Define: Check, NoExtRam, X1=1+5 is identical to the following C preprocessor #define statements:
#define Check #define NoExtRam #define X1 1+5 - Undefine
- Undefine clears previous Define assignments that are entered in the options dialog of a higher Target or Group level.
Code Optimization- Level
- Set the optimization level the Compiler uses when generating object code.
- Emphasis
- Specify whether the Compiler should optimize for code size or execution speed.
- Global Register Coloring
- Enable application wide register optimization. When set the c51 compiler knows the registers used by external functions and µVision performs automatically iterative re-translations of C source files to improve the register allocation.
- Linker Code Packing (max. AJMP / ACALL)
- Instructs the compiler to include information in the object file for the linker-level program optimizations. When enabled, the LX51 linker/locater performs this optimizations.
- Don't use absolute register accesses
- Disables absolute register addressing for registers R0 through R7 which allows function calls from different register banks. The code will be slightly longer, since C compiler cannot use ARx symbols, i.e. in PUSH or POP instructions and needs to insert replacement code. However the code will be independent of the selected register bank.
Other Controls- Warnings
- Lets you to suppress compiler warnings.
- Bits to round for float compare
- Determines the number of bits rounded before a floating-point compare is executed. The default value of 3 specifies that the three least significant bits of a float value are rounded before the floating-point compare is executed.
- Interrupt vectors at address
- Instructs the C Compiler to generate interrupt vectors for interrupt functions and specifies the base address for the interrupt vector table.
- Keep Variables in Order
- Order all variables in memory according to their order of definition in the C source file.
- Enable ANSI integer promotion rules
- Expressions are promoted from smaller types to integer expressions before the operation is performed. Integer promotion is normally enabled to provide the greatest compatibility between Cx51 and other ANSI compilers
- Include Paths
- Allows you to supply one or more (separated by semi-colon) paths to search for header files. For #include "filename.h" the Compiler searches first the current folder and then folder of the source file. When this fails or when #include <filename.h> is used, the paths specified in the include paths box are searched. When this still fails, the paths specified in for the INC folder under Project - Components, Environment, Books ... are used.
- Misc Controls
- Specify any directive for which there is no individual dialog control.
- Compiler Control String
- Display the current directives at the Compiler command line.
|
|