Fixing Keil RTOX port. Now compiling (untested)
This commit is contained in:
parent
9d3fc8b36c
commit
1f8b5efc21
2 changed files with 22 additions and 12 deletions
|
@ -10,6 +10,8 @@
|
|||
|
||||
#if GFX_USE_OS_KEIL
|
||||
|
||||
void _gosHeapInit(void);
|
||||
|
||||
void _gosInit(void)
|
||||
{
|
||||
#if !GFX_OS_NO_INIT
|
||||
|
@ -30,12 +32,12 @@ void _gosDeinit(void)
|
|||
|
||||
void gfxMutexInit(gfxMutex* pmutex)
|
||||
{
|
||||
pmutex->id = osMutexCreate(pmutex->osMutex(id));
|
||||
pmutex->id = osMutexCreate(&(pmutex->def));
|
||||
}
|
||||
|
||||
void gfxSemInit(gfxSem* psem, semcount_t val, semcount_t limit)
|
||||
{
|
||||
psem->id = osSemaphoreCreate(psem->osSemaphore(id), limit);
|
||||
psem->id = osSemaphoreCreate(&(psem->def), limit);
|
||||
while(val--)
|
||||
osSemaphoreRelease(psem->id);
|
||||
}
|
||||
|
@ -67,9 +69,13 @@ void gfxSemSignalI(gfxSem* psem)
|
|||
|
||||
gfxThreadHandle gfxThreadCreate(void* stackarea, size_t stacksz, threadpriority_t prio, DECLARE_THREAD_FUNCTION((*fn),p), void* param)
|
||||
{
|
||||
osThreadDef(ugfx_thread, prio, 1, stacksz);
|
||||
osThreadDef_t def;
|
||||
def.pthread = fn;
|
||||
def.tpriority = prio;
|
||||
def.instances = 1;
|
||||
def.stacksize = stacksz;
|
||||
|
||||
return osThreadCreate(osThread(ugfx_thread), param);
|
||||
return osThreadCreate(&def, param);
|
||||
}
|
||||
|
||||
threadreturn_t gfxThreadWait(gfxThreadHandle thread) {
|
||||
|
|
|
@ -15,6 +15,8 @@
|
|||
|
||||
#if GFX_USE_OS_KEIL
|
||||
|
||||
#include "cmsis_os.h"
|
||||
|
||||
#ifndef GFX_OS_HEAP_SIZE
|
||||
#define GFX_OS_HEAP_SIZE 10240
|
||||
#endif
|
||||
|
@ -23,6 +25,8 @@
|
|||
/* Type definitions */
|
||||
/*===========================================================================*/
|
||||
|
||||
typedef uint8_t bool_t;
|
||||
|
||||
#define TIME_IMMEDIATE 0
|
||||
#define TIME_INFINITE osWaitForever
|
||||
typedef uint32_t delaytime_t;
|
||||
|
@ -37,14 +41,14 @@ typedef osPriority threadpriority_t;
|
|||
#define HIGH_PRIORITY osPriorityHigh
|
||||
|
||||
typedef struct gfxSem {
|
||||
osSemaphoreDef_t def;
|
||||
osSemaphoreId id;
|
||||
osSemaphoreDef(id);
|
||||
} gfxSem;
|
||||
} gfxSem;
|
||||
|
||||
typedef struct gfxMutex {
|
||||
osMutexDef_t def;
|
||||
osMutexId id;
|
||||
osMutexDef(id);
|
||||
} gfxMutex;
|
||||
} gfxMutex;
|
||||
|
||||
typedef osThreadId gfxThreadHandle;
|
||||
|
||||
|
@ -89,7 +93,7 @@ gfxThreadHandle gfxThreadCreate(void* stackarea, size_t stacksz, threadpriority_
|
|||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Use the generic thread handling and heap handling */
|
||||
/* Use the generic heap handling */
|
||||
/*===========================================================================*/
|
||||
|
||||
#define GOS_NEED_X_HEAP TRUE
|
||||
|
|
Loading…
Add table
Reference in a new issue