|
|||||||||||||||||||
ARM Development Tools ULINK™ Debug Adapters Evaluation Boards Resources
Verification Tools Development Tools by ARM |
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. |
ProductsDevelopment Tools |
Hardware & Collateral |
Downloads |
Support |
Contact |
![]() |
Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.