+                       #if !defined(MIN) || defined(__DOXYGEN__)
+                               #define MIN(x, y)               (((x) < (y)) ? (x) : (y))
+                       #endif
+
+                       #if !defined(STRINGIFY) || defined(__DOXYGEN__)
+                               /** Converts the given input into a string, via the C Preprocessor. This macro puts literal quotation
+                                *  marks around the input, converting the source into a string literal.
+                                *
+                                *  \param[in] x  Input to convert into a string literal.
+                                *
+                                *  \return String version of the input.
+                                */
+                               #define STRINGIFY(x)            #x
+
+                               /** Converts the given input into a string after macro expansion, via the C Preprocessor. This macro puts
+                                *  literal quotation marks around the expanded input, converting the source into a string literal.
+                                *
+                                *  \param[in] x  Input to expand and convert into a string literal.
+                                *
+                                *  \return String version of the expanded input.
+                                */
+                               #define STRINGIFY_EXPANDED(x)   STRINGIFY(x)
+                       #endif
+
+                       #if !defined(CONCAT) || defined(__DOXYGEN__)
+                               /** Concatenates the given input into a single token, via the C Preprocessor.
+                                *
+                                *  \param[in] x  First item to concatenate.
+                                *  \param[in] y  Second item to concatenate.
+                                *
+                                *  \return Concatenated version of the input.
+                                */
+                               #define CONCAT(x, y)            x ## y
+
+                               /** CConcatenates the given input into a single token after macro expansion, via the C Preprocessor.
+                                *
+                                *  \param[in] x  First item to concatenate.
+                                *  \param[in] y  Second item to concatenate.
+                                *
+                                *  \return Concatenated version of the expanded input.
+                                */
+                               #define CONCAT_EXPANDED(x, y)   CONCAT(x, y)
+                       #endif
+
+                       #if !defined(ISR) || defined(__DOXYGEN__)
+                               /** Macro for the definition of interrupt service routines, so that the compiler can insert the required
+                                *  prologue and epilogue code to properly manage the interrupt routine without affecting the main thread's
+                                *  state with unintentional side-effects.
+                                *
+                                *  Interrupt handlers written using this macro may still need to be registered with the microcontroller's
+                                *  Interrupt Controller (if present) before they will properly handle incoming interrupt events.
+                                *
+                                *  \note This macro is only supplied on some architectures, where the standard library does not include a valid
+                                *        definition. If an existing definition exists, the alternative definition here will be ignored.
+                                *
+                                *  \ingroup Group_GlobalInt
+                                *
+                                *  \param[in] Name  Unique name of the interrupt service routine.
+                                */
+                               #define ISR(Name, ...)          void Name (void) __attribute__((__interrupt__)) __VA_ARGS__; void Name (void)
+                       #endif