mspgcc: A port of the GNU tools to the Texas Instruments MSP430 microcontrollers | ||
---|---|---|
<<< Previous | MSP430 specific extensions to the GNU toolchain | Next >>> |
A number of special function attributes are supported, to provide access to the special features of the MSP430, and the special needs of embedded programming.
reserve(x) | When applied to main(), this reserves "x" bytes of RAM above the stack. This cannot be used with C++ (if C++ is supported later on). |
interrupt(x) | Make the function an interrupt service routine for interrupt "x". |
signal | Make an interrupt service routine allow further nested interrupts. |
wakeup | When applied to an interrupt service routine, wake the processor from any low power state as the routine exits. When applied to other routines, this attribute is silently ignored. |
naked | Do not generate a prologue or epilogue for the function. |
critical | Disable interrupts on entry, and restore the previous interrupt state on exit. |
reentrant | Disable interrupts on entry, and always enable them on exit. |
saveprologue | Use a subroutine for the function prologue, to save memory. |
noint_hwmul | Supress the generation of disable and enable interrupt instructions around hardware multiplier code. |
The header file "signal.h" defines a number of alternative names for some of these attributes. In the sections below, some of these alternative names are used in more detailed discussions of the use of these attributes.
<<< Previous | Home | Next >>> |
The mspgcc header files | Up | Writing interrupt service routines |