From 21de312fb1b1acd95bc640f406845ff90be91da7 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 6 Aug 2013 13:28:48 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/kernel_3_dev@6091 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/kernel/ports/ARMCMx/compilers/GCC/chtypes.h | 68 ++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 os/kernel/ports/ARMCMx/compilers/GCC/chtypes.h (limited to 'os/kernel/ports/ARMCMx/compilers/GCC/chtypes.h') diff --git a/os/kernel/ports/ARMCMx/compilers/GCC/chtypes.h b/os/kernel/ports/ARMCMx/compilers/GCC/chtypes.h new file mode 100644 index 000000000..26a1e5c81 --- /dev/null +++ b/os/kernel/ports/ARMCMx/compilers/GCC/chtypes.h @@ -0,0 +1,68 @@ +/* + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010, + 2011,2012,2013 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + ChibiOS/RT is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +/** + * @file ARMCMx/GCC/chtypes.h + * @brief ARM Cortex-Mx port system types. + * + * @addtogroup ARMCMx_CORE + * @{ + */ + +#ifndef _CHTYPES_H_ +#define _CHTYPES_H_ + +#include +#include +#include + +typedef bool bool_t; /**< Fast boolean type. */ +typedef uint32_t systime_t; /**< System time. */ +typedef uint32_t rtcnt_t; /**< Realtime counter. */ +typedef uint64_t rttime_t; /**< Time accumulator. */ +typedef uint32_t syssts_t; /**< System status word. */ +typedef uint8_t tmode_t; /**< Thread flags. */ +typedef uint8_t tstate_t; /**< Thread state. */ +typedef uint8_t trefs_t; /**< Thread references counter. */ +typedef uint8_t tslices_t; /**< Thread time slices counter. */ +typedef uint32_t tprio_t; /**< Thread priority. */ +typedef int32_t msg_t; /**< Inter-thread message. */ +typedef int32_t eventid_t; /**< Numeric event identifier. */ +typedef uint32_t eventmask_t; /**< Mask of event identifiers. */ +typedef uint32_t eventflags_t; /**< Mask of event flags. */ +typedef int32_t cnt_t; /**< Generic signed counter. */ +typedef uint32_t ucnt_t; /**< Generic unsigned counter. */ + +/** + * @brief ROM constant modifier. + * @note It is set to use the "const" keyword in this port. + */ +#define ROMCONST const + +/** + * @brief Makes functions not inlineable. + * @note If the compiler does not support such attribute then the + * realtime counter precision could be degraded. + */ +#define NOINLINE __attribute__((noinline)) + +#endif /* _CHTYPES_H_ */ + +/** @} */ -- cgit v1.2.3