Official mbed Real Time Operating System based on the RTX implementation of the CMSIS-RTOS API open standard.

Dependents:   denki-yohou_b TestY201 Network-RTOS NTPClient_HelloWorld ... more

Deprecated

This is the mbed 2 rtos library. mbed OS 5 integrates the mbed library with mbed-rtos. With this, we have provided thread safety for all mbed APIs. If you'd like to learn about using mbed OS 5, please see the docs.

Revision:
121:3da5f554d8bf
Parent:
120:4dc938e301cc
Child:
123:58563e6cba1e
--- a/rtx/TARGET_CORTEX_M/RTX_CM_lib.h	Thu Aug 18 14:38:56 2016 +0100
+++ b/rtx/TARGET_CORTEX_M/RTX_CM_lib.h	Thu Sep 01 15:13:42 2016 +0100
@@ -351,7 +351,8 @@
 /* Main Thread definition */
 extern void pre_main (void);
 
-#if defined(TARGET_MCU_NRF51822) || defined(TARGET_MCU_NRF52832)
+#if defined(TARGET_MCU_NRF51822) || defined(TARGET_MCU_NRF52832) || defined (TARGET_STM32F334R8) ||\
+    defined(TARGET_STM32F302R8) || defined(TARGET_STM32F303K8) || defined (TARGET_STM32F334C8)
 static uint32_t thread_stack_main[DEFAULT_STACK_SIZE / sizeof(uint32_t)];
 #else
 static uint32_t thread_stack_main[DEFAULT_STACK_SIZE * 2 / sizeof(uint32_t)];
@@ -420,12 +421,8 @@
 #define INITIAL_SP            (0x20003000UL)
 
 #elif defined(TARGET_K64F)
-#if defined(__GNUC__) && !defined(__CC_ARM)     /* GCC */
-extern uint32_t __StackTop[];
-#define INITIAL_SP            (__StackTop)
-#else
 #define INITIAL_SP            (0x20030000UL)
-#endif
+
 #if defined(__CC_ARM) || defined(__GNUC__)
 #define ISR_STACK_SIZE        (0x1000)
 #endif
@@ -523,7 +520,7 @@
 #elif (defined(TARGET_STM32F746NG) || defined(TARGET_STM32F746ZG))
 #define INITIAL_SP            (0x20050000UL)
 
-#elif defined(TARGET_MAX32610) || defined(TARGET_MAX32600)
+#elif defined(TARGET_MAX32610) || defined(TARGET_MAX32600) || defined(TARGET_MAX32620)
 #define INITIAL_SP            (0x20008000UL)
 
 #elif defined(TARGET_TEENSY3_1)
@@ -602,6 +599,9 @@
 #error "no toolchain defined"
 #   endif
 
+#elif defined(TARGET_NCS36510)
+#define INITIAL_SP            (0x40000000UL)
+
 #else
 #error "no target defined"
 
@@ -789,6 +789,7 @@
 osMutexDef(env_mutex);
 static osMutexId env_mutex_id;
 
+extern int atexit(void (*func)(void));
 extern void __libc_fini_array(void);
 extern void __libc_init_array (void);
 extern int main(int argc, char **argv);