Browse Source

[toolchain] Added support for the TASKING toolchain.

tangweikang 4 years ago
parent
commit
b1cdc3a2cb
3 changed files with 19 additions and 4 deletions
  1. 1 1
      include/libc/libc_ioctl.h
  2. 12 0
      include/rtdef.h
  3. 6 3
      src/components.c

+ 1 - 1
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))

+ 12 - 0
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

+ 6 - 3
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
 }