JongYong Park / Mbed 2 deprecated NUCLEO-F767_LIFI_4CH_os2_v2

Dependencies:   mbed

Committer:
JongYongPark
Date:
Sat Apr 06 04:17:35 2019 +0000
Revision:
11:8ffa8a36126f
Parent:
3:ae1f53883bc0
11

Who changed what in which revision?

UserRevisionLine numberNew contents of line
JongYongPark 0:488aa8153e15 1 /*
JongYongPark 0:488aa8153e15 2 * Copyright (c) Nordic Semiconductor ASA
JongYongPark 0:488aa8153e15 3 * All rights reserved.
JongYongPark 0:488aa8153e15 4 *
JongYongPark 0:488aa8153e15 5 * Redistribution and use in source and binary forms, with or without modification,
JongYongPark 0:488aa8153e15 6 * are permitted provided that the following conditions are met:
JongYongPark 0:488aa8153e15 7 *
JongYongPark 0:488aa8153e15 8 * 1. Redistributions of source code must retain the above copyright notice, this
JongYongPark 0:488aa8153e15 9 * list of conditions and the following disclaimer.
JongYongPark 0:488aa8153e15 10 *
JongYongPark 0:488aa8153e15 11 * 2. Redistributions in binary form must reproduce the above copyright notice, this
JongYongPark 0:488aa8153e15 12 * list of conditions and the following disclaimer in the documentation and/or
JongYongPark 0:488aa8153e15 13 * other materials provided with the distribution.
JongYongPark 0:488aa8153e15 14 *
JongYongPark 0:488aa8153e15 15 * 3. Neither the name of Nordic Semiconductor ASA nor the names of other
JongYongPark 0:488aa8153e15 16 * contributors to this software may be used to endorse or promote products
JongYongPark 0:488aa8153e15 17 * derived from this software without specific prior written permission.
JongYongPark 0:488aa8153e15 18 *
JongYongPark 0:488aa8153e15 19 *
JongYongPark 0:488aa8153e15 20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
JongYongPark 0:488aa8153e15 21 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
JongYongPark 0:488aa8153e15 22 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
JongYongPark 0:488aa8153e15 23 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
JongYongPark 0:488aa8153e15 24 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
JongYongPark 0:488aa8153e15 25 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
JongYongPark 0:488aa8153e15 26 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
JongYongPark 0:488aa8153e15 27 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
JongYongPark 0:488aa8153e15 28 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
JongYongPark 0:488aa8153e15 29 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
JongYongPark 0:488aa8153e15 30 *
JongYongPark 0:488aa8153e15 31 */
JongYongPark 0:488aa8153e15 32 #ifndef _COMPILER_ABSTRACTION_H
JongYongPark 0:488aa8153e15 33 #define _COMPILER_ABSTRACTION_H
JongYongPark 0:488aa8153e15 34
JongYongPark 0:488aa8153e15 35 /*lint ++flb "Enter library region" */
JongYongPark 0:488aa8153e15 36
JongYongPark 0:488aa8153e15 37 #if defined ( __CC_ARM )
JongYongPark 11:8ffa8a36126f 38
JongYongPark 11:8ffa8a36126f 39 #ifndef __ASM
JongYongPark 11:8ffa8a36126f 40 #define __ASM __asm
JongYongPark 11:8ffa8a36126f 41 #endif
JongYongPark 11:8ffa8a36126f 42
JongYongPark 11:8ffa8a36126f 43 #ifndef __INLINE
JongYongPark 11:8ffa8a36126f 44 #define __INLINE __inline
JongYongPark 11:8ffa8a36126f 45 #endif
JongYongPark 11:8ffa8a36126f 46
JongYongPark 11:8ffa8a36126f 47 #ifndef __WEAK
JongYongPark 11:8ffa8a36126f 48 #define __WEAK __weak
JongYongPark 11:8ffa8a36126f 49 #endif
JongYongPark 11:8ffa8a36126f 50
JongYongPark 11:8ffa8a36126f 51 #ifndef __ALIGN
JongYongPark 11:8ffa8a36126f 52 #define __ALIGN(n) __align(n)
JongYongPark 11:8ffa8a36126f 53 #endif
JongYongPark 11:8ffa8a36126f 54
JongYongPark 11:8ffa8a36126f 55 #define GET_SP() __current_sp()
JongYongPark 11:8ffa8a36126f 56
JongYongPark 0:488aa8153e15 57 #elif defined ( __ICCARM__ )
JongYongPark 11:8ffa8a36126f 58
JongYongPark 11:8ffa8a36126f 59 #ifndef __ASM
JongYongPark 11:8ffa8a36126f 60 #define __ASM __asm
JongYongPark 11:8ffa8a36126f 61 #endif
JongYongPark 11:8ffa8a36126f 62
JongYongPark 11:8ffa8a36126f 63 #ifndef __INLINE
JongYongPark 11:8ffa8a36126f 64 #define __INLINE inline
JongYongPark 11:8ffa8a36126f 65 #endif
JongYongPark 11:8ffa8a36126f 66
JongYongPark 11:8ffa8a36126f 67 #ifndef __WEAK
JongYongPark 11:8ffa8a36126f 68 #define __WEAK __weak
JongYongPark 11:8ffa8a36126f 69 #endif
JongYongPark 3:ae1f53883bc0 70
JongYongPark 11:8ffa8a36126f 71 /* Not defined for IAR since it requires a new line to work, and C preprocessor does not allow that. */
JongYongPark 11:8ffa8a36126f 72 #ifndef __ALIGN
JongYongPark 11:8ffa8a36126f 73 #define __ALIGN(n)
JongYongPark 11:8ffa8a36126f 74 #endif
JongYongPark 11:8ffa8a36126f 75
JongYongPark 11:8ffa8a36126f 76 #define GET_SP() __get_SP()
JongYongPark 11:8ffa8a36126f 77
JongYongPark 11:8ffa8a36126f 78 #elif defined ( __GNUC__ )
JongYongPark 11:8ffa8a36126f 79
JongYongPark 11:8ffa8a36126f 80 #ifndef __ASM
JongYongPark 11:8ffa8a36126f 81 #define __ASM __asm
JongYongPark 11:8ffa8a36126f 82 #endif
JongYongPark 11:8ffa8a36126f 83
JongYongPark 11:8ffa8a36126f 84 #ifndef __INLINE
JongYongPark 11:8ffa8a36126f 85 #define __INLINE inline
JongYongPark 11:8ffa8a36126f 86 #endif
JongYongPark 11:8ffa8a36126f 87
JongYongPark 11:8ffa8a36126f 88 #ifndef __WEAK
JongYongPark 11:8ffa8a36126f 89 #define __WEAK __attribute__((weak))
JongYongPark 11:8ffa8a36126f 90 #endif
JongYongPark 11:8ffa8a36126f 91
JongYongPark 11:8ffa8a36126f 92 #ifndef __ALIGN
JongYongPark 11:8ffa8a36126f 93 #define __ALIGN(n) __attribute__((aligned(n)))
JongYongPark 11:8ffa8a36126f 94 #endif
JongYongPark 11:8ffa8a36126f 95
JongYongPark 11:8ffa8a36126f 96 #define GET_SP() gcc_current_sp()
JongYongPark 0:488aa8153e15 97
JongYongPark 11:8ffa8a36126f 98 static inline unsigned int gcc_current_sp(void)
JongYongPark 11:8ffa8a36126f 99 {
JongYongPark 11:8ffa8a36126f 100 register unsigned sp __ASM("sp");
JongYongPark 11:8ffa8a36126f 101 return sp;
JongYongPark 11:8ffa8a36126f 102 }
JongYongPark 11:8ffa8a36126f 103
JongYongPark 0:488aa8153e15 104 #elif defined ( __TASKING__ )
JongYongPark 11:8ffa8a36126f 105
JongYongPark 11:8ffa8a36126f 106 #ifndef __ASM
JongYongPark 11:8ffa8a36126f 107 #define __ASM __asm
JongYongPark 11:8ffa8a36126f 108 #endif
JongYongPark 11:8ffa8a36126f 109
JongYongPark 11:8ffa8a36126f 110 #ifndef __INLINE
JongYongPark 11:8ffa8a36126f 111 #define __INLINE inline
JongYongPark 11:8ffa8a36126f 112 #endif
JongYongPark 11:8ffa8a36126f 113
JongYongPark 11:8ffa8a36126f 114 #ifndef __WEAK
JongYongPark 11:8ffa8a36126f 115 #define __WEAK __attribute__((weak))
JongYongPark 11:8ffa8a36126f 116 #endif
JongYongPark 11:8ffa8a36126f 117
JongYongPark 11:8ffa8a36126f 118 #ifndef __ALIGN
JongYongPark 11:8ffa8a36126f 119 #define __ALIGN(n) __align(n)
JongYongPark 11:8ffa8a36126f 120 #endif
JongYongPark 11:8ffa8a36126f 121
JongYongPark 11:8ffa8a36126f 122 #define GET_SP() __get_MSP()
JongYongPark 11:8ffa8a36126f 123
JongYongPark 0:488aa8153e15 124 #endif
JongYongPark 0:488aa8153e15 125
JongYongPark 0:488aa8153e15 126 /*lint --flb "Leave library region" */
JongYongPark 0:488aa8153e15 127
JongYongPark 0:488aa8153e15 128 #endif