From 96d6da4e252b06dcfdc041e7df23e86161c33007 Mon Sep 17 00:00:00 2001 From: rihab kouki Date: Tue, 28 Jul 2020 11:24:49 +0100 Subject: Official ARM version: v5.6.0 --- docs/RTOS2/html/pStackRequirements.html | 160 ++++++++++++++++++++++++++++++++ 1 file changed, 160 insertions(+) create mode 100644 docs/RTOS2/html/pStackRequirements.html (limited to 'docs/RTOS2/html/pStackRequirements.html') diff --git a/docs/RTOS2/html/pStackRequirements.html b/docs/RTOS2/html/pStackRequirements.html new file mode 100644 index 0000000..4d67adb --- /dev/null +++ b/docs/RTOS2/html/pStackRequirements.html @@ -0,0 +1,160 @@ + + + + + +Stack Requirements +CMSIS-RTOS2: Stack Requirements + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
CMSIS-RTOS2 +  Version 2.1.3 +
+
Real-Time Operating System: API and RTX Reference Implementation
+
+
+ +
+
    + +
+
+ + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
Stack Requirements
+
+
+

Keil RTX v5 kernel functions are executed in handler mode (using PendSV/SysTick/SVC) and the tables below lists the maximum stack requirements for the Main Stack (MSP) that the user should consider.

+

The stack for the osKernelStart function is referred as "Startup" and RTX v5 uses 32 bytes (with Arm Compiler). However the user should also consider additional stack that might be allocated by the 'main' function of the embedded application. The following picture shows a worst-case memory allocation of the Main Stack.

+
+KernelStackUsage.png +
+Main Stack usage of RTX v5 applications
+

The stack requirements depend on the compiler and the optimization level. RTX v5 supports event annotations and this configuration impacts also the stack requirement.

+

Arm Compiler ARMCC V6.10: Main Stack requirements for PendSV/SysTick/SVC

+ + + + + + + + + +
Optimization RTX Kernel RTX Kernel + Event Recorder
-O1 (Debug) 152 bytes 280 bytes
-Os (Balanced) 120 bytes 256 bytes
-Oz (Size) 112 bytes 248 bytes
+

Arm Compiler ARMCC V5.06: Main Stack requirements for PendSV/SysTick/SVC

+ + + + + + + + + + + +
Optimization RTX Kernel RTX Kernel + Event Recorder
-O0 (Debug) 176 bytes 360 bytes
-O1 112 bytes 248 bytes
-O2 112 bytes 256 bytes
-O3 112 bytes 248 bytes
+
+
+ + + + -- cgit