+ #if CONFIG_FAST_MEM
+ /**
+ * Function attribute for use with performance critical code.
+ *
+ * On the AT91 family, code residing in flash has wait states.
+ * Moving functions to the data section is a quick & dirty way
+ * to get them transparently copied to SRAM for zero-wait-state
+ * operation.
+ */
+ #define FAST_FUNC __attribute__((section(".data")))
+
+ /**
+ * Data attribute to move constant data to fast memory storage.
+ *
+ * \see FAST_FUNC
+ */
+ #define FAST_RODATA __attribute__((section(".data")))
+
+ #else // !CONFIG_FAST_MEM
+ #define FAST_RODATA /**/
+ #define FAST_FUNC /**/
+ #endif
+
+ /**
+ * Function attribute to declare an interrupt service routine.
+ */
+ #define ISR_FUNC __attribute__((interrupt))
+