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

Dependents:   Assignment_3__Embedded_Software

Fork of mbed-rtos by mbed official

Revision:
112:53ace74b190c
Parent:
86:58c3b7759abf
--- a/rtx/TARGET_CORTEX_M/TARGET_M3/TOOLCHAIN_GCC/HAL_CM3.S	Tue May 03 00:15:52 2016 +0100
+++ b/rtx/TARGET_CORTEX_M/TARGET_M3/TOOLCHAIN_GCC/HAL_CM3.S	Thu May 05 20:45:13 2016 +0100
@@ -1,12 +1,12 @@
 /*----------------------------------------------------------------------------
- *      RL-ARM - RTX
+ *      CMSIS-RTOS  -  RTX
  *----------------------------------------------------------------------------
  *      Name:    HAL_CM3.S
  *      Purpose: Hardware Abstraction Layer for Cortex-M3
- *      Rev.:    V4.60
+ *      Rev.:    V4.70
  *----------------------------------------------------------------------------
  *
- * Copyright (c) 1999-2009 KEIL, 2009-2012 ARM Germany GmbH
+ * Copyright (c) 1999-2009 KEIL, 2009-2013 ARM Germany GmbH
  * All rights reserved.
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
@@ -35,7 +35,7 @@
         .file   "HAL_CM3.S"
         .syntax unified
 
-        .equ    TCB_TSTACK, 40
+        .equ    TCB_TSTACK, 44
 
 
 /*----------------------------------------------------------------------------
@@ -141,7 +141,7 @@
 
 /*--------------------------- _free_box -------------------------------------*/
 
-#       int _free_box (void *box_mem, void *box);
+#       U32 _free_box (void *box_mem, void *box);
         /* Function wrapper for Unprivileged/Privileged mode. */
 
         .thumb_func
@@ -175,6 +175,10 @@
         .type   SVC_Handler, %function
         .global SVC_Handler
 SVC_Handler:
+        .ifdef  IFX_XMC4XXX
+        .global SVC_Handler_Veneer
+SVC_Handler_Veneer:
+        .endif
         .fnstart
         .cantunwind
 
@@ -211,7 +215,12 @@
 
 SVC_Exit:
         MVN     LR,#~0xFFFFFFFD         /* set EXC_RETURN value */
+        .ifdef  IFX_XMC4XXX
+        PUSH    {LR}
+        POP     {PC}
+        .else
         BX      LR
+        .endif
 
         /*------------------- User SVC ------------------------------*/
 
@@ -246,6 +255,10 @@
         .global PendSV_Handler
         .global Sys_Switch
 PendSV_Handler:
+        .ifdef  IFX_XMC4XXX
+        .global PendSV_Handler_Veneer
+PendSV_Handler_Veneer:
+        .endif
         .fnstart
         .cantunwind
 
@@ -273,7 +286,12 @@
 
 Sys_Exit:
         MVN     LR,#~0xFFFFFFFD         /* set EXC_RETURN value */
+        .ifdef  IFX_XMC4XXX
+        PUSH    {LR}
+        POP     {PC}
+        .else
         BX      LR                      /* Return to Thread Mode */
+        .endif
 
         .fnend
         .size   PendSV_Handler, .-PendSV_Handler
@@ -287,6 +305,10 @@
         .type   SysTick_Handler, %function
         .global SysTick_Handler
 SysTick_Handler:
+        .ifdef  IFX_XMC4XXX
+        .global SysTick_Handler_Veneer
+SysTick_Handler_Veneer:
+        .endif
         .fnstart
         .cantunwind