Birkbeck College Mobile and Ubiquitous Computing IoT Lab Exercise 2

Dependencies:   BLE_API_Native_blog

Committer:
gkroussos
Date:
Sat Mar 07 16:34:53 2015 +0000
Revision:
0:e8fdba0ed044
MUC IoT Workshop v1.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gkroussos 0:e8fdba0ed044 1 /* Copyright (c) 2009 Nordic Semiconductor. All Rights Reserved.
gkroussos 0:e8fdba0ed044 2 *
gkroussos 0:e8fdba0ed044 3 * The information contained herein is confidential property of Nordic
gkroussos 0:e8fdba0ed044 4 * Semiconductor ASA.Terms and conditions of usage are described in detail
gkroussos 0:e8fdba0ed044 5 * in NORDIC SEMICONDUCTOR STANDARD SOFTWARE LICENSE AGREEMENT.
gkroussos 0:e8fdba0ed044 6 *
gkroussos 0:e8fdba0ed044 7 * Licensees are granted free, non-transferable use of the information. NO
gkroussos 0:e8fdba0ed044 8 * WARRANTY of ANY KIND is provided. This heading must NOT be removed from
gkroussos 0:e8fdba0ed044 9 * the file.
gkroussos 0:e8fdba0ed044 10 *
gkroussos 0:e8fdba0ed044 11 */
gkroussos 0:e8fdba0ed044 12
gkroussos 0:e8fdba0ed044 13 #ifndef _COMPILER_ABSTRACTION_H
gkroussos 0:e8fdba0ed044 14 #define _COMPILER_ABSTRACTION_H
gkroussos 0:e8fdba0ed044 15
gkroussos 0:e8fdba0ed044 16 /*lint ++flb "Enter library region" */
gkroussos 0:e8fdba0ed044 17
gkroussos 0:e8fdba0ed044 18 #if defined ( __CC_ARM )
gkroussos 0:e8fdba0ed044 19 #define __ASM __asm /*!< asm keyword for ARM Compiler */
gkroussos 0:e8fdba0ed044 20 #define __INLINE __inline /*!< inline keyword for ARM Compiler */
gkroussos 0:e8fdba0ed044 21 #define __STATIC_INLINE static __inline
gkroussos 0:e8fdba0ed044 22
gkroussos 0:e8fdba0ed044 23 #elif defined ( __ICCARM__ )
gkroussos 0:e8fdba0ed044 24 #define __ASM __asm /*!< asm keyword for IAR Compiler */
gkroussos 0:e8fdba0ed044 25 #define __INLINE inline /*!< inline keyword for IAR Compiler. Only available in High optimization mode! */
gkroussos 0:e8fdba0ed044 26 #define __STATIC_INLINE static inline
gkroussos 0:e8fdba0ed044 27 #define __current_sp() __get_SP()
gkroussos 0:e8fdba0ed044 28
gkroussos 0:e8fdba0ed044 29 #elif defined ( __GNUC__ )
gkroussos 0:e8fdba0ed044 30 #define __ASM __asm /*!< asm keyword for GNU Compiler */
gkroussos 0:e8fdba0ed044 31 #define __INLINE inline /*!< inline keyword for GNU Compiler */
gkroussos 0:e8fdba0ed044 32 #define __STATIC_INLINE static inline
gkroussos 0:e8fdba0ed044 33
gkroussos 0:e8fdba0ed044 34 static __INLINE unsigned int __current_sp(void)
gkroussos 0:e8fdba0ed044 35 {
gkroussos 0:e8fdba0ed044 36 register unsigned sp asm("sp");
gkroussos 0:e8fdba0ed044 37 return sp;
gkroussos 0:e8fdba0ed044 38 }
gkroussos 0:e8fdba0ed044 39
gkroussos 0:e8fdba0ed044 40 #elif defined ( __TASKING__ )
gkroussos 0:e8fdba0ed044 41 #define __ASM __asm /*!< asm keyword for TASKING Compiler */
gkroussos 0:e8fdba0ed044 42 #define __INLINE inline /*!< inline keyword for TASKING Compiler */
gkroussos 0:e8fdba0ed044 43 #define __STATIC_INLINE static inline
gkroussos 0:e8fdba0ed044 44
gkroussos 0:e8fdba0ed044 45 #endif
gkroussos 0:e8fdba0ed044 46
gkroussos 0:e8fdba0ed044 47 /*lint --flb "Leave library region" */
gkroussos 0:e8fdba0ed044 48
gkroussos 0:e8fdba0ed044 49 #endif