aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorinmarket <inmarket@ugfx.io>2017-08-16 16:50:04 +1000
committerinmarket <inmarket@ugfx.io>2017-08-16 16:50:04 +1000
commit2b4bd12ffa7239f81a85cea1183a1a13b36fc7c0 (patch)
tree3a71d4367e0f76fe79fb6e8eed7ab1f38ccc1d8c
parentd7b083da1e3fbc9355422bc29470c387e88389d7 (diff)
downloaduGFX-2b4bd12ffa7239f81a85cea1183a1a13b36fc7c0.tar.gz
uGFX-2b4bd12ffa7239f81a85cea1183a1a13b36fc7c0.tar.bz2
uGFX-2b4bd12ffa7239f81a85cea1183a1a13b36fc7c0.zip
Add support for CMSIS V2 OS's eg RTX5
-rw-r--r--changelog.txt2
-rw-r--r--gfxconf.example.h2
-rw-r--r--src/gos/gos.h4
-rw-r--r--src/gos/gos_options.h16
-rw-r--r--src/gos/gos_rules.h6
5 files changed, 26 insertions, 4 deletions
diff --git a/changelog.txt b/changelog.txt
index b50aff90..4bc85283 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -42,6 +42,8 @@ CHANGE: Upgrade GFILE FATFS support from V0.10b to V0.13
FEATURE: Added UC1610 driver
FIX: Fixed to allow gwinSetText with static text on a TextEdit control
FIX: Fixed to ChibiOS realloc on a TextEdit control
+FEATURE: Added support for CMSIS V2.0 operating systems (eg RTX5)
+REMOVED: Removed long deprecated functions gfxSemCounter() and gfxSemCounterI()
*** Release 2.7 ***
diff --git a/gfxconf.example.h b/gfxconf.example.h
index b278ed70..e32dd19f 100644
--- a/gfxconf.example.h
+++ b/gfxconf.example.h
@@ -36,7 +36,9 @@
//#define GFX_USE_OS_RAWRTOS FALSE
//#define GFX_USE_OS_ARDUINO FALSE
//#define GFX_USE_OS_KEIL FALSE
+//#define GFX_USE_OS_RTX5 FALSE
//#define GFX_USE_OS_CMSIS FALSE
+//#define GFX_USE_OS_CMSIS2 FALSE
//#define GFX_USE_OS_RAW32 FALSE
//#define GFX_USE_OS_NIOS FALSE
//#define GFX_USE_OS_QT FALSE
diff --git a/src/gos/gos.h b/src/gos/gos.h
index 2db896af..dedfcdda 100644
--- a/src/gos/gos.h
+++ b/src/gos/gos.h
@@ -476,8 +476,12 @@
#include "gos_arduino.h"
#elif GFX_USE_OS_CMSIS
#include "gos_cmsis.h"
+#elif GFX_USE_OS_CMSIS2
+ #include "gos_cmsis2.h"
#elif GFX_USE_OS_KEIL
#include "gos_keil.h"
+#elif GFX_USE_OS_RTX5
+ #include "gos_rtx5.h"
#elif GFX_USE_OS_NIOS
#include "gos_nios.h"
#elif GFX_USE_OS_QT
diff --git a/src/gos/gos_options.h b/src/gos/gos_options.h
index e8ce12e7..1c6dc8b1 100644
--- a/src/gos/gos_options.h
+++ b/src/gos/gos_options.h
@@ -91,13 +91,27 @@
#define GFX_USE_OS_CMSIS FALSE
#endif
/**
- * @brief Use Keil CMSIS
+ * @brief Use CMSIS2 RTOS compatible OS
+ * @details Defaults to FALSE
+ */
+ #ifndef GFX_USE_OS_CMSIS2
+ #define GFX_USE_OS_CMSIS2 FALSE
+ #endif
+ /**
+ * @brief Use Keil CMSIS 1.x (RTOS, RTX4)
* @details Defaults to FALSE
*/
#ifndef GFX_USE_OS_KEIL
#define GFX_USE_OS_KEIL FALSE
#endif
/**
+ * @brief Use Keil RTX5
+ * @details Defaults to FALSE
+ */
+ #ifndef GFX_USE_OS_RTX5
+ #define GFX_USE_OS_RTX5 FALSE
+ #endif
+ /**
* @brief Use NIOS-II
* @details Defaults to FALSE
*/
diff --git a/src/gos/gos_rules.h b/src/gos/gos_rules.h
index 6779045d..08de1f3f 100644
--- a/src/gos/gos_rules.h
+++ b/src/gos/gos_rules.h
@@ -16,11 +16,11 @@
#ifndef _GOS_RULES_H
#define _GOS_RULES_H
-#if !GFX_USE_OS_CHIBIOS && !GFX_USE_OS_WIN32 && !GFX_USE_OS_LINUX && !GFX_USE_OS_OSX && !GFX_USE_OS_RAW32 && !GFX_USE_OS_FREERTOS && !GFX_USE_OS_ECOS && !GFX_USE_OS_RAWRTOS && !GFX_USE_OS_ARDUINO && !GFX_USE_OS_CMSIS && !GFX_USE_OS_KEIL && !GFX_USE_OS_NIOS && !GFX_USE_OS_QT
+#if !GFX_USE_OS_CHIBIOS && !GFX_USE_OS_WIN32 && !GFX_USE_OS_LINUX && !GFX_USE_OS_OSX && !GFX_USE_OS_RAW32 && !GFX_USE_OS_FREERTOS && !GFX_USE_OS_ECOS && !GFX_USE_OS_RAWRTOS && !GFX_USE_OS_ARDUINO && !GFX_USE_OS_CMSIS && !GFX_USE_OS_CMSIS2 && !GFX_USE_OS_KEIL && !GFX_USE_OS_RTX5 && !GFX_USE_OS_NIOS && !GFX_USE_OS_QT
#error "GOS: No operating system has been defined."
#endif
-#if GFX_USE_OS_CHIBIOS + GFX_USE_OS_WIN32 + GFX_USE_OS_LINUX + GFX_USE_OS_OSX + GFX_USE_OS_RAW32 + GFX_USE_OS_FREERTOS + GFX_USE_OS_ECOS + GFX_USE_OS_RAWRTOS + GFX_USE_OS_ARDUINO + GFX_USE_OS_CMSIS + GFX_USE_OS_KEIL + GFX_USE_OS_NIOS + GFX_USE_OS_QT != 1 * TRUE
+#if GFX_USE_OS_CHIBIOS + GFX_USE_OS_WIN32 + GFX_USE_OS_LINUX + GFX_USE_OS_OSX + GFX_USE_OS_RAW32 + GFX_USE_OS_FREERTOS + GFX_USE_OS_ECOS + GFX_USE_OS_RAWRTOS + GFX_USE_OS_ARDUINO + GFX_USE_OS_CMSIS + GFX_USE_OS_CMSIS2 + GFX_USE_OS_KEIL + GFX_USE_OS_RTX5 + GFX_USE_OS_NIOS + GFX_USE_OS_QT != 1 * TRUE
#error "GOS: More than one operation system has been defined as TRUE."
#endif
@@ -30,7 +30,7 @@
#if GFX_EMULATE_MALLOC
#if GFX_USE_OS_WIN32 || GFX_USE_OS_LINUX || GFX_USE_OS_OSX || GFX_USE_OS_ECOS || \
- (GFX_OS_HEAP_SIZE == 0 && (GFX_USE_OS_RAW32 || GFX_USE_OS_ARDUINO || GFX_USE_OS_CMSIS || GFX_USE_OS_KEIL))
+ (GFX_OS_HEAP_SIZE == 0 && (GFX_USE_OS_RAW32 || GFX_USE_OS_ARDUINO || GFX_USE_OS_CMSIS || GFX_USE_OS_CMSIS2 || GFX_USE_OS_KEIL || GFX_USE_OS_RTX5))
#if GFX_DISPLAY_RULE_WARNINGS
#if GFX_COMPILER_WARNING_TYPE == GFX_COMPILER_WARNING_DIRECT
#warning "GOS: Cannot emulate malloc as gfxAlloc() internally uses malloc on this platform"