diff options
Diffstat (limited to 'os/rt/ports/ARMCMx/cmsis_os/cmsis_os.c')
-rw-r--r-- | os/rt/ports/ARMCMx/cmsis_os/cmsis_os.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/os/rt/ports/ARMCMx/cmsis_os/cmsis_os.c b/os/rt/ports/ARMCMx/cmsis_os/cmsis_os.c index 454a77d1f..f8c8c3311 100644 --- a/os/rt/ports/ARMCMx/cmsis_os/cmsis_os.c +++ b/os/rt/ports/ARMCMx/cmsis_os/cmsis_os.c @@ -35,16 +35,12 @@ /* Module local definitions. */
/*===========================================================================*/
-static memory_pool_t sempool;
-static semaphore_t semaphores[CMSIS_CFG_NUM_SEMAPHORES];
-
-static memory_pool_t timpool;
-static struct os_timer_cb timers[CMSIS_CFG_NUM_TIMERS];
-
/*===========================================================================*/
/* Module exported variables. */
/*===========================================================================*/
+int32_t cmsis_os_started;
+
/*===========================================================================*/
/* Module local types. */
/*===========================================================================*/
@@ -53,6 +49,12 @@ static struct os_timer_cb timers[CMSIS_CFG_NUM_TIMERS]; /* Module local variables. */
/*===========================================================================*/
+static memory_pool_t sempool;
+static semaphore_t semaphores[CMSIS_CFG_NUM_SEMAPHORES];
+
+static memory_pool_t timpool;
+static struct os_timer_cb timers[CMSIS_CFG_NUM_TIMERS];
+
/*===========================================================================*/
/* Module local functions. */
/*===========================================================================*/
@@ -80,6 +82,8 @@ static void timer_cb(void *arg) { */
osStatus osKernelInitialize(void) {
+ cmsis_os_started = 0;
+
chSysInit();
chThdSetPriority(HIGHPRIO);
@@ -97,6 +101,8 @@ osStatus osKernelInitialize(void) { */
osStatus osKernelStart(void) {
+ cmsis_os_started = 1;
+
chThdSetPriority(NORMALPRIO);
return osOK;
|