| |||||||||||||||||||
ARM Development Tools
Evaluation Boards
Operating Systems Emulators & Debuggers Other ARM-Related Info | CARM C Compiler | ||||||||||||||||||
| Feature | Benefit |
|---|---|
| ARM Mode and Thumb Mode Code Generation | You can mix ARM and Thumb code in the same source file. ARM mode is required for interrupt handlers and fast signal-processing algorithms while Thumb mode provides the smallest code size. |
| Function Attributes for Hardware Support | The Keil C compiler provides function attributes that give you access to ARM hardware features For example:
|
| Inline Assembler | You may insert assembler code into C functions with assembler-level access to C variables. This capability is necessary for fast DSP and other signal-processing algorithms. The Keil compiler supports full program optimization even when inline assembler is used. |
| Function In-lining | You may speed-up execution of frequently called functions by using function in-lining. Inline functions are expanded inline without the overhead associated with function call, parameter passing, and return. |
| Absolute Variable Placement | The _at_ keyword may be used to specify the physical address for a variable. This allows you to easily define shared memory areas or hardware peripherals. |
| Parameter Passing in CPU Registers | The Keil compiler automatically uses CPU registers to pass function arguments. It can even pass and return small C structs in registers. |
| Reentrant Run-time Library | Most library routines are reentrant (refer to the library reference in the Compiler User's Guide) and may be invoked from the main program thread and from interrupts. There is no need to include special protection schemes for library calls. |
| Thread-safe Floating-point Operations | All floating-point operations are reentrant. Floating-point may be used in the main program thread and interrupts. No interrupt blocking or special protection schemes are required. |
| Contact Site Map Press Privacy | Copyright © 2008 Keil™, An ARM® Company. All rights reserved. |