1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- /*******************************************************************************
- * (c) Copyright 2009-2013 Microsemi SoC Products Group. All rights reserved.
- *
- * Assertion implementation.
- *
- * This file provides the implementation of the ASSERT macro. This file can be
- * modified to cater for project specific requirements regarding the way
- * assertions are handled.
- *
- * SVN $Revision: 6422 $
- * SVN $Date: 2014-05-14 14:37:56 +0100 (Wed, 14 May 2014) $
- */
- #ifndef __MSS_ASSERT_H_
- #define __MSS_ASSERT_H_
- #if defined(NDEBUG)
- #define ASSERT(CHECK)
- #else /* NDEBUG */
- #include <assert.h>
- #if defined ( __GNUC__ )
- /*
- * SoftConsole assertion handling
- */
- #define ASSERT(CHECK) \
- do { \
- if (!(CHECK)) \
- { \
- __asm volatile ("BKPT\n\t"); \
- } \
- } while (0);
-
- #elif defined ( __ICCARM__ )
- /*
- * IAR Embedded Workbench assertion handling.
- * Call C library assert function which should result in error message
- * displayed in debugger.
- */
- #define ASSERT(X) assert(X)
- #else
- /*
- * Keil assertion handling.
- * Call C library assert function which should result in error message
- * displayed in debugger.
- */
- #ifndef __MICROLIB
- #define ASSERT(X) assert(X)
- #else
- #define ASSERT(X)
- #endif
- #endif /* Tool Chain */
- #endif /* NDEBUG */
- #endif /* __MSS_ASSERT_H_ */
|