10.2.5 Data Memory Allocation Macros

The sys/attribs.h header file provides many macros for commonly used attributes in order to enhance code readability.

__section__(s) Apply the section attribute with section name s.
__unique_section__ Apply the unique_section attribute.
__ramfunc__ Locate the attributed function in the RAM function code section.
__longramfunc__ Locate the attributed function in the RAM function code section and apply the longcall attribute.
__longcall__ Apply the longcall attribute.
__ISR(v,ipl) Apply the interrupt attribute with priority level ipl and the vector attribute with vector number v.
__ISR_AT_VECTOR(v,ipl) Apply the interrupt attribute with priority level ipl and the at_vector attribute with vector number v. This macro is especially useful on PIC32 devices that feature variable vector offsets.
__ISR_SINGLE__ Specifies a function as an Interrupt Service Routine in single-vector mode. This places a jump at the single-vector location to the interrupt handler.
__ISR_SINGLE_AT_VECTOR__ Places the entire single-vector interrupt handler at the vector 0 location. When used, ensure that the vector spacing is set to accommodate the size of the handler.