CMSIS-RTOS2: Updated TrustZone Examples startup code to set MSPLIM correctly.

In order to allow MSPLIM to be set at the beginning of the reset handler one need to provide __user_setup_stackheap instead of deprecated __user_initial_stackheap. The latter one temporarily reconfigures the stack pointer which leads to a STKOF usage fault.
diff --git a/ARM.CMSIS.pdsc b/ARM.CMSIS.pdsc
index 20efacb..0336e93 100644
--- a/ARM.CMSIS.pdsc
+++ b/ARM.CMSIS.pdsc
@@ -8,6 +8,10 @@
   <url>http://www.keil.com/pack/</url>
 
   <releases>
+    <release version="5.0.2-dev6">
+      CMSIS-RTOS2:
+      - Updated ARMv8-M startup code to provide __user_setup_stackheap and setup main stack limit.
+    </release>
     <release version="5.0.2-dev5">
       CMSIS-Core(M):
       - Added MPU Management Functions for CM0+/3/4/7
diff --git a/CMSIS/RTOS2/RTX/Examples/TrustZoneV8M/NoRTOS/CM33_ns/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.s b/CMSIS/RTOS2/RTX/Examples/TrustZoneV8M/NoRTOS/CM33_ns/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.s
index 1e28f2e..6fa96fd 100644
--- a/CMSIS/RTOS2/RTX/Examples/TrustZoneV8M/NoRTOS/CM33_ns/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.s
+++ b/CMSIS/RTOS2/RTX/Examples/TrustZoneV8M/NoRTOS/CM33_ns/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.s
@@ -2,11 +2,11 @@
 ; * @file     startup_ARMCM33.s
 ; * @brief    CMSIS Core Device Startup File for
 ; *           ARMCM33 Device Series
-; * @version  V5.00
-; * @date     21. October 2016
+; * @version  V5.1
+; * @date     31. July 2017
 ; ******************************************************************************/
 ;/*
-; * Copyright (c) 2009-2016 ARM Limited. All rights reserved.
+; * Copyright (c) 2009-2017 ARM Limited. All rights reserved.
 ; *
 ; * SPDX-License-Identifier: Apache-2.0
 ; *
@@ -125,6 +125,8 @@
                 EXPORT  Reset_Handler             [WEAK]
                 IMPORT  SystemInit
                 IMPORT  __main
+				LDR		R0, =Stack_Mem
+				MSR		MSPLIM, R0
                 LDR     R0, =SystemInit
                 BLX     R0
                 LDR     R0, =__main
@@ -248,10 +250,9 @@
 
                 ELSE
 
-                IMPORT  __use_two_region_memory
-                EXPORT  __user_initial_stackheap
+                EXPORT  __user_setup_stackheap
 
-__user_initial_stackheap PROC
+__user_setup_stackheap PROC
                 LDR     R0, =  Heap_Mem
                 LDR     R1, =(Stack_Mem + Stack_Size)
                 LDR     R2, = (Heap_Mem +  Heap_Size)
diff --git a/CMSIS/RTOS2/RTX/Examples/TrustZoneV8M/NoRTOS/CM33_s/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.s b/CMSIS/RTOS2/RTX/Examples/TrustZoneV8M/NoRTOS/CM33_s/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.s
index 1e28f2e..6fa96fd 100644
--- a/CMSIS/RTOS2/RTX/Examples/TrustZoneV8M/NoRTOS/CM33_s/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.s
+++ b/CMSIS/RTOS2/RTX/Examples/TrustZoneV8M/NoRTOS/CM33_s/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.s
@@ -2,11 +2,11 @@
 ; * @file     startup_ARMCM33.s
 ; * @brief    CMSIS Core Device Startup File for
 ; *           ARMCM33 Device Series
-; * @version  V5.00
-; * @date     21. October 2016
+; * @version  V5.1
+; * @date     31. July 2017
 ; ******************************************************************************/
 ;/*
-; * Copyright (c) 2009-2016 ARM Limited. All rights reserved.
+; * Copyright (c) 2009-2017 ARM Limited. All rights reserved.
 ; *
 ; * SPDX-License-Identifier: Apache-2.0
 ; *
@@ -125,6 +125,8 @@
                 EXPORT  Reset_Handler             [WEAK]
                 IMPORT  SystemInit
                 IMPORT  __main
+				LDR		R0, =Stack_Mem
+				MSR		MSPLIM, R0
                 LDR     R0, =SystemInit
                 BLX     R0
                 LDR     R0, =__main
@@ -248,10 +250,9 @@
 
                 ELSE
 
-                IMPORT  __use_two_region_memory
-                EXPORT  __user_initial_stackheap
+                EXPORT  __user_setup_stackheap
 
-__user_initial_stackheap PROC
+__user_setup_stackheap PROC
                 LDR     R0, =  Heap_Mem
                 LDR     R1, =(Stack_Mem + Stack_Size)
                 LDR     R2, = (Heap_Mem +  Heap_Size)
diff --git a/CMSIS/RTOS2/RTX/Examples/TrustZoneV8M/RTOS/CM33_ns/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.s b/CMSIS/RTOS2/RTX/Examples/TrustZoneV8M/RTOS/CM33_ns/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.s
index 1e28f2e..6fa96fd 100644
--- a/CMSIS/RTOS2/RTX/Examples/TrustZoneV8M/RTOS/CM33_ns/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.s
+++ b/CMSIS/RTOS2/RTX/Examples/TrustZoneV8M/RTOS/CM33_ns/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.s
@@ -2,11 +2,11 @@
 ; * @file     startup_ARMCM33.s
 ; * @brief    CMSIS Core Device Startup File for
 ; *           ARMCM33 Device Series
-; * @version  V5.00
-; * @date     21. October 2016
+; * @version  V5.1
+; * @date     31. July 2017
 ; ******************************************************************************/
 ;/*
-; * Copyright (c) 2009-2016 ARM Limited. All rights reserved.
+; * Copyright (c) 2009-2017 ARM Limited. All rights reserved.
 ; *
 ; * SPDX-License-Identifier: Apache-2.0
 ; *
@@ -125,6 +125,8 @@
                 EXPORT  Reset_Handler             [WEAK]
                 IMPORT  SystemInit
                 IMPORT  __main
+				LDR		R0, =Stack_Mem
+				MSR		MSPLIM, R0
                 LDR     R0, =SystemInit
                 BLX     R0
                 LDR     R0, =__main
@@ -248,10 +250,9 @@
 
                 ELSE
 
-                IMPORT  __use_two_region_memory
-                EXPORT  __user_initial_stackheap
+                EXPORT  __user_setup_stackheap
 
-__user_initial_stackheap PROC
+__user_setup_stackheap PROC
                 LDR     R0, =  Heap_Mem
                 LDR     R1, =(Stack_Mem + Stack_Size)
                 LDR     R2, = (Heap_Mem +  Heap_Size)
diff --git a/CMSIS/RTOS2/RTX/Examples/TrustZoneV8M/RTOS/CM33_s/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.s b/CMSIS/RTOS2/RTX/Examples/TrustZoneV8M/RTOS/CM33_s/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.s
index 1e28f2e..6fa96fd 100644
--- a/CMSIS/RTOS2/RTX/Examples/TrustZoneV8M/RTOS/CM33_s/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.s
+++ b/CMSIS/RTOS2/RTX/Examples/TrustZoneV8M/RTOS/CM33_s/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.s
@@ -2,11 +2,11 @@
 ; * @file     startup_ARMCM33.s
 ; * @brief    CMSIS Core Device Startup File for
 ; *           ARMCM33 Device Series
-; * @version  V5.00
-; * @date     21. October 2016
+; * @version  V5.1
+; * @date     31. July 2017
 ; ******************************************************************************/
 ;/*
-; * Copyright (c) 2009-2016 ARM Limited. All rights reserved.
+; * Copyright (c) 2009-2017 ARM Limited. All rights reserved.
 ; *
 ; * SPDX-License-Identifier: Apache-2.0
 ; *
@@ -125,6 +125,8 @@
                 EXPORT  Reset_Handler             [WEAK]
                 IMPORT  SystemInit
                 IMPORT  __main
+				LDR		R0, =Stack_Mem
+				MSR		MSPLIM, R0
                 LDR     R0, =SystemInit
                 BLX     R0
                 LDR     R0, =__main
@@ -248,10 +250,9 @@
 
                 ELSE
 
-                IMPORT  __use_two_region_memory
-                EXPORT  __user_initial_stackheap
+                EXPORT  __user_setup_stackheap
 
-__user_initial_stackheap PROC
+__user_setup_stackheap PROC
                 LDR     R0, =  Heap_Mem
                 LDR     R1, =(Stack_Mem + Stack_Size)
                 LDR     R2, = (Heap_Mem +  Heap_Size)
diff --git a/CMSIS/RTOS2/RTX/Examples/TrustZoneV8M/RTOS_Faults/CM33_ns/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.s b/CMSIS/RTOS2/RTX/Examples/TrustZoneV8M/RTOS_Faults/CM33_ns/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.s
index 1e28f2e..6fa96fd 100644
--- a/CMSIS/RTOS2/RTX/Examples/TrustZoneV8M/RTOS_Faults/CM33_ns/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.s
+++ b/CMSIS/RTOS2/RTX/Examples/TrustZoneV8M/RTOS_Faults/CM33_ns/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.s
@@ -2,11 +2,11 @@
 ; * @file     startup_ARMCM33.s
 ; * @brief    CMSIS Core Device Startup File for
 ; *           ARMCM33 Device Series
-; * @version  V5.00
-; * @date     21. October 2016
+; * @version  V5.1
+; * @date     31. July 2017
 ; ******************************************************************************/
 ;/*
-; * Copyright (c) 2009-2016 ARM Limited. All rights reserved.
+; * Copyright (c) 2009-2017 ARM Limited. All rights reserved.
 ; *
 ; * SPDX-License-Identifier: Apache-2.0
 ; *
@@ -125,6 +125,8 @@
                 EXPORT  Reset_Handler             [WEAK]
                 IMPORT  SystemInit
                 IMPORT  __main
+				LDR		R0, =Stack_Mem
+				MSR		MSPLIM, R0
                 LDR     R0, =SystemInit
                 BLX     R0
                 LDR     R0, =__main
@@ -248,10 +250,9 @@
 
                 ELSE
 
-                IMPORT  __use_two_region_memory
-                EXPORT  __user_initial_stackheap
+                EXPORT  __user_setup_stackheap
 
-__user_initial_stackheap PROC
+__user_setup_stackheap PROC
                 LDR     R0, =  Heap_Mem
                 LDR     R1, =(Stack_Mem + Stack_Size)
                 LDR     R2, = (Heap_Mem +  Heap_Size)
diff --git a/CMSIS/RTOS2/RTX/Examples/TrustZoneV8M/RTOS_Faults/CM33_s/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.s b/CMSIS/RTOS2/RTX/Examples/TrustZoneV8M/RTOS_Faults/CM33_s/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.s
index 1e28f2e..6fa96fd 100644
--- a/CMSIS/RTOS2/RTX/Examples/TrustZoneV8M/RTOS_Faults/CM33_s/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.s
+++ b/CMSIS/RTOS2/RTX/Examples/TrustZoneV8M/RTOS_Faults/CM33_s/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.s
@@ -2,11 +2,11 @@
 ; * @file     startup_ARMCM33.s
 ; * @brief    CMSIS Core Device Startup File for
 ; *           ARMCM33 Device Series
-; * @version  V5.00
-; * @date     21. October 2016
+; * @version  V5.1
+; * @date     31. July 2017
 ; ******************************************************************************/
 ;/*
-; * Copyright (c) 2009-2016 ARM Limited. All rights reserved.
+; * Copyright (c) 2009-2017 ARM Limited. All rights reserved.
 ; *
 ; * SPDX-License-Identifier: Apache-2.0
 ; *
@@ -125,6 +125,8 @@
                 EXPORT  Reset_Handler             [WEAK]
                 IMPORT  SystemInit
                 IMPORT  __main
+				LDR		R0, =Stack_Mem
+				MSR		MSPLIM, R0
                 LDR     R0, =SystemInit
                 BLX     R0
                 LDR     R0, =__main
@@ -248,10 +250,9 @@
 
                 ELSE
 
-                IMPORT  __use_two_region_memory
-                EXPORT  __user_initial_stackheap
+                EXPORT  __user_setup_stackheap
 
-__user_initial_stackheap PROC
+__user_setup_stackheap PROC
                 LDR     R0, =  Heap_Mem
                 LDR     R1, =(Stack_Mem + Stack_Size)
                 LDR     R2, = (Heap_Mem +  Heap_Size)
diff --git a/Device/ARM/ARMCM23/Source/ARM/startup_ARMCM23.s b/Device/ARM/ARMCM23/Source/ARM/startup_ARMCM23.s
index 3f2eb00..07cc6f1 100644
--- a/Device/ARM/ARMCM23/Source/ARM/startup_ARMCM23.s
+++ b/Device/ARM/ARMCM23/Source/ARM/startup_ARMCM23.s
@@ -2,11 +2,11 @@
 ; * @file     startup_ARMCM23.s
 ; * @brief    CMSIS Core Device Startup File for
 ; *           ARMCM23 Device Series
-; * @version  V5.00
-; * @date     21. October 2016
+; * @version  V5.1
+; * @date     31. July 2017
 ; ******************************************************************************/
 ;/*
-; * Copyright (c) 2009-2016 ARM Limited. All rights reserved.
+; * Copyright (c) 2009-2017 ARM Limited. All rights reserved.
 ; *
 ; * SPDX-License-Identifier: Apache-2.0
 ; *
@@ -125,6 +125,8 @@
                 EXPORT  Reset_Handler             [WEAK]
                 IMPORT  SystemInit
                 IMPORT  __main
+				LDR		R0, =Stack_Mem
+				MSR		MSPLIM, R0
                 LDR     R0, =SystemInit
                 BLX     R0
                 LDR     R0, =__main
@@ -223,10 +225,9 @@
 
                 ELSE
 
-                IMPORT  __use_two_region_memory
-                EXPORT  __user_initial_stackheap
+                EXPORT  __user_setup_stackheap
 
-__user_initial_stackheap PROC
+__user_setup_stackheap PROC
                 LDR     R0, =  Heap_Mem
                 LDR     R1, =(Stack_Mem + Stack_Size)
                 LDR     R2, = (Heap_Mem +  Heap_Size)
diff --git a/Device/ARM/ARMCM33/Source/ARM/startup_ARMCM33.s b/Device/ARM/ARMCM33/Source/ARM/startup_ARMCM33.s
index 1e28f2e..6fa96fd 100644
--- a/Device/ARM/ARMCM33/Source/ARM/startup_ARMCM33.s
+++ b/Device/ARM/ARMCM33/Source/ARM/startup_ARMCM33.s
@@ -2,11 +2,11 @@
 ; * @file     startup_ARMCM33.s
 ; * @brief    CMSIS Core Device Startup File for
 ; *           ARMCM33 Device Series
-; * @version  V5.00
-; * @date     21. October 2016
+; * @version  V5.1
+; * @date     31. July 2017
 ; ******************************************************************************/
 ;/*
-; * Copyright (c) 2009-2016 ARM Limited. All rights reserved.
+; * Copyright (c) 2009-2017 ARM Limited. All rights reserved.
 ; *
 ; * SPDX-License-Identifier: Apache-2.0
 ; *
@@ -125,6 +125,8 @@
                 EXPORT  Reset_Handler             [WEAK]
                 IMPORT  SystemInit
                 IMPORT  __main
+				LDR		R0, =Stack_Mem
+				MSR		MSPLIM, R0
                 LDR     R0, =SystemInit
                 BLX     R0
                 LDR     R0, =__main
@@ -248,10 +250,9 @@
 
                 ELSE
 
-                IMPORT  __use_two_region_memory
-                EXPORT  __user_initial_stackheap
+                EXPORT  __user_setup_stackheap
 
-__user_initial_stackheap PROC
+__user_setup_stackheap PROC
                 LDR     R0, =  Heap_Mem
                 LDR     R1, =(Stack_Mem + Stack_Size)
                 LDR     R2, = (Heap_Mem +  Heap_Size)
diff --git a/Device/ARM/ARMv8MBL/Source/ARM/startup_ARMv8MBL.s b/Device/ARM/ARMv8MBL/Source/ARM/startup_ARMv8MBL.s
index 5b9352a..0ec76e7 100644
--- a/Device/ARM/ARMv8MBL/Source/ARM/startup_ARMv8MBL.s
+++ b/Device/ARM/ARMv8MBL/Source/ARM/startup_ARMv8MBL.s
@@ -2,11 +2,11 @@
 ; * @file     startup_ARMv8MBL.s
 ; * @brief    CMSIS Core Device Startup File for
 ; *           ARMv8MBL Device Series
-; * @version  V5.00
-; * @date     25. April 2016
+; * @version  V5.1
+; * @date     31. July 2017
 ; ******************************************************************************/
 ;/*
-; * Copyright (c) 2009-2016 ARM Limited. All rights reserved.
+; * Copyright (c) 2009-2017 ARM Limited. All rights reserved.
 ; *
 ; * SPDX-License-Identifier: Apache-2.0
 ; *
@@ -125,6 +125,8 @@
                 EXPORT  Reset_Handler             [WEAK]
                 IMPORT  SystemInit
                 IMPORT  __main
+				LDR		R0, =Stack_Mem
+				MSR		MSPLIM, R0
                 LDR     R0, =SystemInit
                 BLX     R0
                 LDR     R0, =__main
@@ -223,10 +225,9 @@
 
                 ELSE
 
-                IMPORT  __use_two_region_memory
-                EXPORT  __user_initial_stackheap
+                EXPORT  __user_setup_stackheap
 
-__user_initial_stackheap PROC
+__user_setup_stackheap PROC
                 LDR     R0, =  Heap_Mem
                 LDR     R1, =(Stack_Mem + Stack_Size)
                 LDR     R2, = (Heap_Mem +  Heap_Size)
diff --git a/Device/ARM/ARMv8MML/Source/ARM/startup_ARMv8MML.s b/Device/ARM/ARMv8MML/Source/ARM/startup_ARMv8MML.s
index 68d56a7..4ae2ed3 100644
--- a/Device/ARM/ARMv8MML/Source/ARM/startup_ARMv8MML.s
+++ b/Device/ARM/ARMv8MML/Source/ARM/startup_ARMv8MML.s
@@ -2,11 +2,11 @@
 ; * @file     startup_ARMv8MML.s
 ; * @brief    CMSIS Core Device Startup File for
 ; *           ARMv8MML Device Series
-; * @version  V5.00
-; * @date     02. March 2016
+; * @version  V5.1
+; * @date     31. July 2017
 ; ******************************************************************************/
 ;/*
-; * Copyright (c) 2009-2016 ARM Limited. All rights reserved.
+; * Copyright (c) 2009-2017 ARM Limited. All rights reserved.
 ; *
 ; * SPDX-License-Identifier: Apache-2.0
 ; *
@@ -125,6 +125,8 @@
                 EXPORT  Reset_Handler             [WEAK]
                 IMPORT  SystemInit
                 IMPORT  __main
+				LDR		R0, =Stack_Mem
+				MSR		MSPLIM, R0
                 LDR     R0, =SystemInit
                 BLX     R0
                 LDR     R0, =__main
@@ -248,10 +250,9 @@
 
                 ELSE
 
-                IMPORT  __use_two_region_memory
-                EXPORT  __user_initial_stackheap
+                EXPORT  __user_setup_stackheap
 
-__user_initial_stackheap PROC
+__user_setup_stackheap PROC
                 LDR     R0, =  Heap_Mem
                 LDR     R1, =(Stack_Mem + Stack_Size)
                 LDR     R2, = (Heap_Mem +  Heap_Size)