diff options
| author | hathach <[email protected]> | 2014-03-19 16:50:49 +0700 |
|---|---|---|
| committer | hathach <[email protected]> | 2014-03-19 16:50:49 +0700 |
| commit | 61657f6751ce96dd2b0c260729061ac0eb2adab4 (patch) | |
| tree | ca36ec255a8e7a1e38393cca2e2151bf6112011f /tinyusb/osal | |
| parent | e8138df6a3ffab99fa75ced7d03534d65a2aadaf (diff) | |
change OSAL_TASK_FUNCTION to adapt with cmsis rtx
Diffstat (limited to 'tinyusb/osal')
| -rw-r--r-- | tinyusb/osal/osal.h | 17 | ||||
| -rw-r--r-- | tinyusb/osal/osal_cmsis_rtx.h | 2 | ||||
| -rw-r--r-- | tinyusb/osal/osal_common.h | 8 | ||||
| -rw-r--r-- | tinyusb/osal/osal_freeRTOS.h | 2 | ||||
| -rw-r--r-- | tinyusb/osal/osal_none.h | 3 |
5 files changed, 21 insertions, 11 deletions
diff --git a/tinyusb/osal/osal.h b/tinyusb/osal/osal.h index 4bb28c1fb..d5faba68e 100644 --- a/tinyusb/osal/osal.h +++ b/tinyusb/osal/osal.h @@ -66,8 +66,15 @@ #include "osal_none.h"
#else
+ #if TUSB_CFG_OS == TUSB_OS_FREERTOS
+ #include "osal_freeRTOS.h"
+ #elif TUSB_CFG_OS == TUSB_OS_CMSIS_RTX
+ #include "osal_cmsis_rtx.h"
+ #else
+ #error TUSB_CFG_OS is not defined or OS is not supported yet
+ #endif
+
#define OSAL_VAR
- #define OSAL_TASK_FUNCTION(task_func) void task_func
#define OSAL_TASK_LOOP_BEGIN \
while(1) {
@@ -98,14 +105,6 @@ #define SUBTASK_ASSERT_WITH_HANDLER(condition, func_call) \
ASSERT_DEFINE_WITH_HANDLER(_SUBTASK_ASSERT_ERROR_HANDLER, func_call, ,\
condition, TUSB_ERROR_OSAL_TASK_FAILED, "%s", "evaluated to false")
-
- #if TUSB_CFG_OS == TUSB_OS_FREERTOS
- #include "osal_freeRTOS.h"
- #elif TUSB_CFG_OS == TUSB_OS_CMSIS_RTX
- #include "osal_cmsis_rtx.h"
- #else
- #error TUSB_CFG_OS is not defined or OS is not supported yet
- #endif
#endif
//------------- OSAL API for cmock -------------//
diff --git a/tinyusb/osal/osal_cmsis_rtx.h b/tinyusb/osal/osal_cmsis_rtx.h index c65dc911c..3e6297eeb 100644 --- a/tinyusb/osal/osal_cmsis_rtx.h +++ b/tinyusb/osal/osal_cmsis_rtx.h @@ -59,6 +59,8 @@ //--------------------------------------------------------------------+ // TASK API //--------------------------------------------------------------------+ +#define OSAL_TASK_FUNCTION(task_func, p_para) void task_func(void const * p_para) + typedef osThreadDef_t osal_task_t; #define OSAL_TASK_DEF(task_code, task_stack_depth, task_prio) \ diff --git a/tinyusb/osal/osal_common.h b/tinyusb/osal/osal_common.h index 3f1bfe08e..4c551126c 100644 --- a/tinyusb/osal/osal_common.h +++ b/tinyusb/osal/osal_common.h @@ -52,6 +52,10 @@ #include "common/common.h"
+#ifdef __CC_ARM
+#pragma diag_suppress 66 // Suppress Keil warnings #66-D: enumeration value is out of "int" range
+#endif
+
enum
{
OSAL_TIMEOUT_NOTIMEOUT = 0, // for use within ISR, return immediately
@@ -59,6 +63,10 @@ enum OSAL_TIMEOUT_WAIT_FOREVER = 0xFFFFFFFF
};
+#ifdef __CC_ARM
+#pragma diag_default 66 // return Keil 66 to normal severity
+#endif
+
static inline uint32_t osal_tick_from_msec(uint32_t msec) ATTR_CONST ATTR_ALWAYS_INLINE;
static inline uint32_t osal_tick_from_msec(uint32_t msec)
{
diff --git a/tinyusb/osal/osal_freeRTOS.h b/tinyusb/osal/osal_freeRTOS.h index 5a904736f..3a99589d0 100644 --- a/tinyusb/osal/osal_freeRTOS.h +++ b/tinyusb/osal/osal_freeRTOS.h @@ -64,6 +64,8 @@ extern "C" { //--------------------------------------------------------------------+ // TASK API //--------------------------------------------------------------------+ +#define OSAL_TASK_FUNCTION portTASK_FUNCTION + typedef struct { char const * name; pdTASK_CODE code; diff --git a/tinyusb/osal/osal_none.h b/tinyusb/osal/osal_none.h index 0d4bee1b1..435493586 100644 --- a/tinyusb/osal/osal_none.h +++ b/tinyusb/osal/osal_none.h @@ -77,8 +77,7 @@ uint32_t tusb_tick_get(void); #define OSAL_TASK_REF
#define osal_task_create(x) TUSB_ERROR_NONE
-#define OSAL_TASK_FUNCTION(task_func) \
- tusb_error_t task_func
+#define OSAL_TASK_FUNCTION(task_func, p_para) tusb_error_t task_func(void * p_para)
#define TASK_RESTART \
state = 0
|
