2013-05-24 15:26:52 +00:00
|
|
|
/*
|
2013-06-15 11:37:22 +00:00
|
|
|
* This file is subject to the terms of the GFX License. If a copy of
|
|
|
|
* the license was not distributed with this file, you can obtain one at:
|
|
|
|
*
|
2013-07-21 20:20:37 +00:00
|
|
|
* http://ugfx.org/license.html
|
2013-06-15 11:37:22 +00:00
|
|
|
*/
|
2013-05-24 15:26:52 +00:00
|
|
|
|
|
|
|
/**
|
2015-01-21 07:26:24 +00:00
|
|
|
* @file src/gos/gos_options.h
|
2013-05-24 15:26:52 +00:00
|
|
|
* @brief GOS - Operating System options header file.
|
|
|
|
*
|
|
|
|
* @addtogroup GOS
|
|
|
|
* @{
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _GOS_OPTIONS_H
|
|
|
|
#define _GOS_OPTIONS_H
|
|
|
|
|
|
|
|
/**
|
2014-11-28 19:01:34 +00:00
|
|
|
* @name The operating system to use. One (and only one) of these must be defined.
|
2013-05-24 15:26:52 +00:00
|
|
|
* @{
|
|
|
|
*/
|
|
|
|
/**
|
|
|
|
* @brief Use ChibiOS
|
|
|
|
* @details Defaults to FALSE
|
|
|
|
*/
|
|
|
|
#ifndef GFX_USE_OS_CHIBIOS
|
|
|
|
#define GFX_USE_OS_CHIBIOS FALSE
|
|
|
|
#endif
|
2014-02-01 16:08:14 +00:00
|
|
|
/**
|
|
|
|
* @brief Use FreeRTOS
|
|
|
|
* @details Defaults to FALSE
|
|
|
|
*/
|
|
|
|
#ifndef GFX_USE_OS_FREERTOS
|
|
|
|
#define GFX_USE_OS_FREERTOS FALSE
|
|
|
|
#endif
|
|
|
|
/**
|
|
|
|
* @brief Use Win32
|
|
|
|
* @details Defaults to FALSE
|
|
|
|
*/
|
|
|
|
#ifndef GFX_USE_OS_WIN32
|
|
|
|
#define GFX_USE_OS_WIN32 FALSE
|
|
|
|
#endif
|
|
|
|
/**
|
2014-05-04 14:52:58 +00:00
|
|
|
* @brief Use a linux based system running X11
|
2013-05-24 15:26:52 +00:00
|
|
|
* @details Defaults to FALSE
|
|
|
|
*/
|
2013-07-23 00:12:52 +00:00
|
|
|
#ifndef GFX_USE_OS_LINUX
|
|
|
|
#define GFX_USE_OS_LINUX FALSE
|
|
|
|
#endif
|
|
|
|
/**
|
|
|
|
* @brief Use a Mac OS-X based system
|
|
|
|
* @details Defaults to FALSE
|
|
|
|
*/
|
|
|
|
#ifndef GFX_USE_OS_OSX
|
|
|
|
#define GFX_USE_OS_OSX FALSE
|
2013-05-24 15:26:52 +00:00
|
|
|
#endif
|
2013-12-10 14:40:03 +00:00
|
|
|
/**
|
2015-10-29 10:19:00 +00:00
|
|
|
* @brief Use a Raw 32-bit CPU based system (Bare Metal)
|
2013-12-10 14:40:03 +00:00
|
|
|
* @details Defaults to FALSE
|
|
|
|
*/
|
|
|
|
#ifndef GFX_USE_OS_RAW32
|
|
|
|
#define GFX_USE_OS_RAW32 FALSE
|
|
|
|
#endif
|
2014-06-24 14:51:05 +00:00
|
|
|
/**
|
|
|
|
* @brief Use a eCos
|
|
|
|
* @details Defaults to FALSE
|
|
|
|
*/
|
|
|
|
#ifndef GFX_USE_OS_ECOS
|
|
|
|
#define GFX_USE_OS_ECOS FALSE
|
|
|
|
#endif
|
2015-10-29 10:20:22 +00:00
|
|
|
/**
|
|
|
|
* @brief Use RAWRTOS
|
|
|
|
* @details Defaults to FALSE
|
|
|
|
*/
|
|
|
|
#ifndef GFX_USE_OS_RAWRTOS
|
|
|
|
#define GFX_USE_OS_RAWRTOS FALSE
|
|
|
|
#endif
|
2015-04-07 13:21:19 +00:00
|
|
|
/**
|
|
|
|
* @brief Use Arduino
|
|
|
|
* @details Defaults to FALSE
|
|
|
|
*/
|
|
|
|
#ifndef GFX_USE_OS_ARDUINO
|
2015-07-16 09:02:59 +00:00
|
|
|
#define GFX_USE_OS_ARDUINO FALSE
|
2015-04-07 13:21:19 +00:00
|
|
|
#endif
|
2015-10-19 20:22:13 +00:00
|
|
|
/**
|
|
|
|
* @brief Use CMSIS RTOS compatible OS
|
|
|
|
* @details Defaults to FALSE
|
|
|
|
*/
|
|
|
|
#ifndef GFX_USE_OS_CMSIS
|
|
|
|
#define GFX_USE_OS_CMSIS FALSE
|
|
|
|
#endif
|
2015-10-12 10:52:42 +00:00
|
|
|
/**
|
|
|
|
* @brief Use Keil CMSIS
|
|
|
|
* @details Defaults to FALSE
|
|
|
|
*/
|
|
|
|
#ifndef GFX_USE_OS_KEIL
|
2015-10-19 20:22:13 +00:00
|
|
|
#define GFX_USE_OS_KEIL FALSE
|
2015-10-12 10:52:42 +00:00
|
|
|
#endif
|
2013-05-24 15:26:52 +00:00
|
|
|
/**
|
|
|
|
* @}
|
|
|
|
*
|
2014-05-10 16:13:51 +00:00
|
|
|
* @name GOS Optional Parameters
|
2013-05-24 15:26:52 +00:00
|
|
|
* @{
|
|
|
|
*/
|
2015-11-04 14:58:54 +00:00
|
|
|
/**
|
|
|
|
* @brief Should various inline ugfx functions be non-inline.
|
|
|
|
* @details Defaults to FALSE
|
|
|
|
* @note Generally there is no need to set this to TRUE as it will have huge performance impacts
|
|
|
|
* in the driver level.
|
|
|
|
*/
|
|
|
|
#ifndef GFX_NO_INLINE
|
|
|
|
#define GFX_NO_INLINE FALSE
|
|
|
|
#endif
|
2015-07-08 03:53:54 +00:00
|
|
|
/**
|
|
|
|
* @brief Enable compiler specific code
|
|
|
|
* @details Defaults to GFX_COMPILER_UNKNOWN
|
|
|
|
* @note This is setting enables optimisations that are compiler specific. It does
|
|
|
|
* not need to be specified as reasonable defaults and various auto-detection
|
|
|
|
* will happen as required.
|
2015-07-16 09:02:59 +00:00
|
|
|
* @note Currently only used by ugfx generic thread handling (GOS_USE_OS_RAW32 and GOS_USE_OS_ARDUINO)
|
2015-07-08 03:53:54 +00:00
|
|
|
*/
|
|
|
|
#ifndef GFX_COMPILER
|
|
|
|
#define GFX_COMPILER GFX_COMPILER_UNKNOWN
|
|
|
|
#endif
|
|
|
|
#define GFX_COMPILER_UNKNOWN 0 // Unknown compiler
|
|
|
|
#define GFX_COMPILER_MINGW32 1 // MingW32 (x86) compiler for windows
|
2015-07-16 09:02:59 +00:00
|
|
|
/**
|
|
|
|
* @brief Enable cpu specific code
|
|
|
|
* @details Defaults to GFX_CPU_UNKNOWN
|
|
|
|
* @note This is setting enables optimisations that are cpu specific. It does
|
|
|
|
* not need to be specified as reasonable defaults and various auto-detection
|
|
|
|
* will happen as required.
|
|
|
|
* @note Currently only used by ugfx generic thread handling (GOS_USE_OS_RAW32 and GOS_USE_OS_ARDUINO)
|
|
|
|
* @{
|
|
|
|
*/
|
|
|
|
#ifndef GFX_CPU
|
|
|
|
#define GFX_CPU GFX_CPU_UNKNOWN
|
|
|
|
#endif
|
|
|
|
#define GFX_CPU_UNKNOWN 0 //**< Unknown cpu
|
|
|
|
#define GFX_CPU_CORTEX_M0 1 //**< Cortex M0
|
|
|
|
#define GFX_CPU_CORTEX_M1 2 //**< Cortex M1
|
|
|
|
#define GFX_CPU_CORTEX_M2 3 //**< Cortex M2
|
|
|
|
#define GFX_CPU_CORTEX_M3 4 //**< Cortex M3
|
|
|
|
#define GFX_CPU_CORTEX_M4 5 //**< Cortex M4
|
|
|
|
#define GFX_CPU_CORTEX_M4_FP 6 //**< Cortex M4 with hardware floating point
|
|
|
|
#define GFX_CPU_CORTEX_M7 7 //**< Cortex M7
|
|
|
|
#define GFX_CPU_CORTEX_M7_FP 8 //**< Cortex M7 with hardware floating point
|
|
|
|
/** @} */
|
2014-07-29 02:00:47 +00:00
|
|
|
/**
|
|
|
|
* @brief Should uGFX avoid initializing the operating system
|
|
|
|
* @details Defaults to FALSE
|
|
|
|
* @note This is not relevant to all operating systems eg Win32 never initializes the
|
|
|
|
* operating system as uGFX runs as an application outside the boot process.
|
|
|
|
* @note Operating system initialization is not necessarily implemented for all
|
|
|
|
* operating systems yet even when it is relevant. These operating systems
|
|
|
|
* will display a compile warning reminding you to initialize the operating
|
|
|
|
* system in your application code. Note that on these operating systems the
|
|
|
|
* demo applications will not work without modification.
|
|
|
|
*/
|
2015-08-16 15:21:01 +00:00
|
|
|
#ifndef GFX_OS_NO_INIT
|
|
|
|
#define GFX_OS_NO_INIT FALSE
|
2014-07-29 02:00:47 +00:00
|
|
|
#endif
|
2015-07-16 09:02:59 +00:00
|
|
|
/**
|
|
|
|
* @brief Turn off warnings about initializing the operating system
|
|
|
|
* @details Defaults to FALSE
|
|
|
|
* @note This is only relevant where GOS cannot initialise the operating
|
|
|
|
* system automatically or the operating system initialisation has been
|
|
|
|
* explicitly turned off.
|
|
|
|
*/
|
|
|
|
#ifndef GFX_OS_INIT_NO_WARNING
|
|
|
|
#define GFX_OS_INIT_NO_WARNING FALSE
|
|
|
|
#endif
|
2014-05-10 16:13:51 +00:00
|
|
|
/**
|
|
|
|
* @brief Should uGFX stuff be added to the FreeRTOS+Tracer
|
|
|
|
* @details Defaults to FALSE
|
|
|
|
*/
|
|
|
|
#ifndef GFX_FREERTOS_USE_TRACE
|
|
|
|
#define GFX_FREERTOS_USE_TRACE FALSE
|
|
|
|
#endif
|
2014-07-03 07:28:20 +00:00
|
|
|
/**
|
|
|
|
* @brief How much RAM should uGFX use for the heap
|
2015-07-16 09:02:59 +00:00
|
|
|
* @details Defaults to 0.
|
|
|
|
* @note Only used when the generic ugfx heap code is used (GFX_USE_OS_RAW32 and GFX_USE_OS_ARDUINO)
|
2014-07-03 07:28:20 +00:00
|
|
|
* @note If 0 then the standard C runtime malloc(), free() and realloc()
|
|
|
|
* are used.
|
|
|
|
* @note If it is non-zero then this is the number of bytes of RAM
|
|
|
|
* to use for the heap (gfxAlloc() and gfxFree()). No C
|
|
|
|
* runtime routines will be used and a new routine @p gfxAddHeapBlock()
|
|
|
|
* is added allowing the user to add extra memory blocks to the heap.
|
|
|
|
*/
|
2015-07-16 09:02:59 +00:00
|
|
|
#ifndef GFX_OS_HEAP_SIZE
|
|
|
|
#define GFX_OS_HEAP_SIZE 0
|
2014-07-03 07:28:20 +00:00
|
|
|
#endif
|
2013-05-24 15:26:52 +00:00
|
|
|
/** @} */
|
|
|
|
|
|
|
|
#endif /* _GOS_OPTIONS_H */
|
|
|
|
/** @} */
|