summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/libc/libc_ioctl.h2
-rw-r--r--include/rtdef.h12
-rw-r--r--src/components.c9
3 files changed, 19 insertions, 4 deletions
diff --git a/include/libc/libc_ioctl.h b/include/libc/libc_ioctl.h
index 812a119507..516c56b1f4 100644
--- a/include/libc/libc_ioctl.h
+++ b/include/libc/libc_ioctl.h
@@ -16,7 +16,7 @@
#define _IOC_WRITE 1U
#define _IOC_READ 2U
-#ifndef _WIN32
+#if !defined (_WIN32) && !defined (__TASKING__)
#define _IO(a,b) _IOC(_IOC_NONE,(a),(b),0)
#define _IOW(a,b,c) _IOC(_IOC_WRITE,(a),(b),sizeof(c))
#define _IOR(a,b,c) _IOC(_IOC_READ,(a),(b),sizeof(c))
diff --git a/include/rtdef.h b/include/rtdef.h
index e4ddbd37d3..1226b43020 100644
--- a/include/rtdef.h
+++ b/include/rtdef.h
@@ -192,6 +192,18 @@ typedef rt_base_t rt_off_t; /**< Type for offset */
#define RT_WEAK
#define rt_inline static inline
#define RTT_API
+#elif defined (__TASKING__)
+
+ #include <stdarg.h>
+ #define SECTION(x)
+ #define RT_UNUSED
+ #define RT_USED
+ #define PRAGMA(x) _Pragma(#x)
+ #define ALIGN(n)
+ #define RT_WEAK
+ #define rt_inline static inline
+ #define RTT_API
+
#else
#error not supported tool chain
#endif
diff --git a/src/components.c b/src/components.c
index e7824b65ef..8ea5654d0c 100644
--- a/src/components.c
+++ b/src/components.c
@@ -173,19 +173,22 @@ struct rt_thread main_thread;
void main_thread_entry(void *parameter)
{
extern int main(void);
- extern int $Super$$main(void);
#ifdef RT_USING_COMPONENTS_INIT
/* RT-Thread components initialization */
rt_components_init();
#endif
+
#ifdef RT_USING_SMP
rt_hw_secondary_cpu_up();
#endif
/* invoke system main function */
#if defined(__CC_ARM) || defined(__CLANG_ARM)
- $Super$$main(); /* for ARMCC. */
-#elif defined(__ICCARM__) || defined(__GNUC__)
+ {
+ extern int $Super$$main(void);
+ $Super$$main(); /* for ARMCC. */
+ }
+#elif defined(__ICCARM__) || defined(__GNUC__) || defined(__TASKING__)
main();
#endif
}