Fork of the official mbed C/C SDK provides the software platform and libraries to build your applications for RenBED.

Dependents:   1-RenBuggyTimed RenBED_RGB RenBED_RGB_PWM RenBED_RGB

Fork of mbed by mbed official

Committer:
Kojto
Date:
Mon Feb 16 16:32:49 2015 +0000
Revision:
94:9ad691361fac
Parent:
TARGET_BLE_SMURFS/compiler_abstraction.h@93:e188a91d3eaa
Child:
97:433970e64889
Release 94 of the mbed library

Main changes:

- LPC11U68 - ARM toolchain addition
- Nordic - IAR toolchain addition
- LPC8xx - I2c Slave functionality addition
- fix for HRM1017 regarding clock init
- new target - MicroNFCBoard
- exit() move to retarget

Who changed what in which revision?

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