]> git.donarmstrong.com Git - qmk_firmware.git/blob - tool/mbed/mbed-sdk/libraries/mbed/targets/cmsis/TARGET_NXP/TARGET_LPC23XX/core_arm7.c
Squashed 'tmk_core/' changes from 7967731..b9e0ea0
[qmk_firmware.git] / tool / mbed / mbed-sdk / libraries / mbed / targets / cmsis / TARGET_NXP / TARGET_LPC23XX / core_arm7.c
1 /* mbed Microcontroller Library
2  * Copyright (C) 2008-2009 ARM Limited. All rights reserved.
3  *
4  * ARM7 version of CMSIS-like functionality - not advised for use outside mbed!
5  * based on core_cm3.h, V1.20
6  */
7
8 #include <stdint.h>
9
10
11 /* define compiler specific symbols */
12 #if defined   ( __CC_ARM   )
13   #define __ASM            __asm           /*!< asm keyword for armcc           */
14   #define __INLINE         __inline        /*!< inline keyword for armcc        */
15
16 #elif defined ( __ICCARM__ )
17   #define __ASM           __asm            /*!< asm keyword for iarcc           */
18   #define __INLINE        inline           /*!< inline keyword for iarcc. Only avaiable in High optimization mode! */
19
20 #elif defined (  __GNUC__  )
21   #define __ASM             __asm          /*!< asm keyword for gcc            */
22   #define __INLINE          inline         /*!< inline keyword for gcc         */
23
24 #elif defined   (  __TASKING__  )
25   #define __ASM            __asm           /*!< asm keyword for TASKING Compiler          */
26   #define __INLINE         inline          /*!< inline keyword for TASKING Compiler       */
27
28 #endif
29
30 #if defined ( __CC_ARM   )
31 /**
32  * @brief  Return the Main Stack Pointer (return current ARM7 stack)
33  *
34  * @param  none
35  * @return uint32_t Main Stack Pointer
36  *
37  * Return the current value of the MSP (main stack pointer)
38  * Cortex processor register
39  */
40 uint32_t __get_MSP(void)
41 {
42     return __current_sp();
43 }
44 #endif