CARM User's Guide

Discontinued

Function Declarations

The CARM Compiler provides a number of extensions for standard C function declarations. These extensions allow you to:

  • Declare a function as an interrupt (irq), fast interrupt (fiq), or software interrupt (swi).
  • Select the memory area (ROM or RAM) where the function is stored.
  • Declare a real-time task function.
  • Specify an absolute memory address for a function.

You may include these extensions or attributes (some of which may be combined) in the function declaration.

Function TypeDescription
AbsoluteAbsolute functions are located at a specific address.
ARMARM functions are coded using the ARM instruction set.
Fast InterruptFast interrupt functions are invoked by the MCU when the fast interrupt is triggered.
InlineIn-line functions are expanded into the caller function. The call and parameter passing overhead is removed.
InterruptInterupt functions are invoked by the MCU when the interrupt is triggered.
RAMRAM functions are copied to RAM for execution.
Real-Time TaskReal-Time Task functions are coded without prolog or epilog and must be invoked from an RTOS.
Software InterruptSoftware Interrupt functions are invoked using the SWI instruction.
THUMBThumb functions are coded using the Thumb instruction set.