1*5fd0122aSMatthias Ringwald /**************************************************************************//** 2*5fd0122aSMatthias Ringwald * @file core_cmInstr.h 3*5fd0122aSMatthias Ringwald * @brief CMSIS Cortex-M Core Instruction Access Header File 4*5fd0122aSMatthias Ringwald * @version V4.20 5*5fd0122aSMatthias Ringwald * @date 02. July 2015 6*5fd0122aSMatthias Ringwald ******************************************************************************/ 7*5fd0122aSMatthias Ringwald /* Copyright (c) 2009 - 2015 ARM LIMITED 8*5fd0122aSMatthias Ringwald 9*5fd0122aSMatthias Ringwald All rights reserved. 10*5fd0122aSMatthias Ringwald Redistribution and use in source and binary forms, with or without 11*5fd0122aSMatthias Ringwald modification, are permitted provided that the following conditions are met: 12*5fd0122aSMatthias Ringwald - Redistributions of source code must retain the above copyright 13*5fd0122aSMatthias Ringwald notice, this list of conditions and the following disclaimer. 14*5fd0122aSMatthias Ringwald - Redistributions in binary form must reproduce the above copyright 15*5fd0122aSMatthias Ringwald notice, this list of conditions and the following disclaimer in the 16*5fd0122aSMatthias Ringwald documentation and/or other materials provided with the distribution. 17*5fd0122aSMatthias Ringwald - Neither the name of ARM nor the names of its contributors may be used 18*5fd0122aSMatthias Ringwald to endorse or promote products derived from this software without 19*5fd0122aSMatthias Ringwald specific prior written permission. 20*5fd0122aSMatthias Ringwald * 21*5fd0122aSMatthias Ringwald THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 22*5fd0122aSMatthias Ringwald AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23*5fd0122aSMatthias Ringwald IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24*5fd0122aSMatthias Ringwald ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE 25*5fd0122aSMatthias Ringwald LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 26*5fd0122aSMatthias Ringwald CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 27*5fd0122aSMatthias Ringwald SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 28*5fd0122aSMatthias Ringwald INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29*5fd0122aSMatthias Ringwald CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 30*5fd0122aSMatthias Ringwald ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 31*5fd0122aSMatthias Ringwald POSSIBILITY OF SUCH DAMAGE. 32*5fd0122aSMatthias Ringwald ---------------------------------------------------------------------------*/ 33*5fd0122aSMatthias Ringwald 34*5fd0122aSMatthias Ringwald 35*5fd0122aSMatthias Ringwald #if defined ( __ICCARM__ ) 36*5fd0122aSMatthias Ringwald #pragma system_include /* treat file as system include file for MISRA check */ 37*5fd0122aSMatthias Ringwald #elif (__ARMCC_VERSION >= 6010050) 38*5fd0122aSMatthias Ringwald #pragma clang system_header /* treat file as system include file */ 39*5fd0122aSMatthias Ringwald #endif 40*5fd0122aSMatthias Ringwald 41*5fd0122aSMatthias Ringwald #ifndef __CORE_CMINSTR_H 42*5fd0122aSMatthias Ringwald #define __CORE_CMINSTR_H 43*5fd0122aSMatthias Ringwald 44*5fd0122aSMatthias Ringwald 45*5fd0122aSMatthias Ringwald /* ########################## Core Instruction Access ######################### */ 46*5fd0122aSMatthias Ringwald /** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface 47*5fd0122aSMatthias Ringwald Access to dedicated instructions 48*5fd0122aSMatthias Ringwald @{ 49*5fd0122aSMatthias Ringwald */ 50*5fd0122aSMatthias Ringwald 51*5fd0122aSMatthias Ringwald #if defined ( __CC_ARM ) /*------------------ RealView Compiler -----------------*/ 52*5fd0122aSMatthias Ringwald #include <cmsis_armcc.h> 53*5fd0122aSMatthias Ringwald 54*5fd0122aSMatthias Ringwald #elif (__ARMCC_VERSION >= 6010050) /*------------------ ARM Compiler V6 -------------------*/ 55*5fd0122aSMatthias Ringwald #include <cmsis_armcc_V6.h> 56*5fd0122aSMatthias Ringwald 57*5fd0122aSMatthias Ringwald #elif defined ( __GNUC__ ) /*------------------ GNU Compiler ----------------------*/ 58*5fd0122aSMatthias Ringwald #include <cmsis_gcc.h> 59*5fd0122aSMatthias Ringwald 60*5fd0122aSMatthias Ringwald #elif defined ( __ICCARM__ ) /*------------------ ICC Compiler ----------------------*/ 61*5fd0122aSMatthias Ringwald #include <cmsis_iar.h> 62*5fd0122aSMatthias Ringwald 63*5fd0122aSMatthias Ringwald #elif defined ( __TMS470__ ) /*------------------ TI CCS Compiler -------------------*/ 64*5fd0122aSMatthias Ringwald #include <cmsis_ccs.h> 65*5fd0122aSMatthias Ringwald 66*5fd0122aSMatthias Ringwald #elif defined ( __TASKING__ ) /*------------------ TASKING Compiler ------------------*/ 67*5fd0122aSMatthias Ringwald /* 68*5fd0122aSMatthias Ringwald * The CMSIS functions have been implemented as intrinsics in the compiler. 69*5fd0122aSMatthias Ringwald * Please use "carm -?i" to get an up to date list of all intrinsics, 70*5fd0122aSMatthias Ringwald * Including the CMSIS ones. 71*5fd0122aSMatthias Ringwald */ 72*5fd0122aSMatthias Ringwald 73*5fd0122aSMatthias Ringwald #elif defined ( __CSMC__ ) /*------------------ COSMIC Compiler -------------------*/ 74*5fd0122aSMatthias Ringwald #include <cmsis_csm.h> 75*5fd0122aSMatthias Ringwald 76*5fd0122aSMatthias Ringwald #endif 77*5fd0122aSMatthias Ringwald 78*5fd0122aSMatthias Ringwald /*@}*/ /* end of group CMSIS_Core_InstructionInterface */ 79*5fd0122aSMatthias Ringwald 80*5fd0122aSMatthias Ringwald #endif /* __CORE_CMINSTR_H */ 81