diff --git a/.ci/Board/Board.clayer.yml b/.ci/Board/Board.clayer.yml
index cfba27e6..4222678f 100644
--- a/.ci/Board/Board.clayer.yml
+++ b/.ci/Board/Board.clayer.yml
@@ -18,8 +18,8 @@ layer:
packs:
- pack: ARM::Cortex_DFP
- - pack: ARM::CMSIS@>=6.1.0
- - pack: ARM::CMSIS-Compiler@>=2.1.0
+ - pack: ARM::CMSIS@^6.2.0
+ - pack: ARM::CMSIS-Compiler@^2.1.0
components:
- component: Device:Startup
diff --git a/.ci/Board/RTE/Device/ARMCM4/ARMCM4_gcc.ld b/.ci/Board/RTE/Device/ARMCM4/ARMCM4_gcc.ld
new file mode 100644
index 00000000..815bc6f0
--- /dev/null
+++ b/.ci/Board/RTE/Device/ARMCM4/ARMCM4_gcc.ld
@@ -0,0 +1,263 @@
+/*
+ *-------- <<< Use Configuration Wizard in Context Menu >>> -------------------
+ */
+
+/*---------------------- Flash Configuration ----------------------------------
+ Flash Configuration
+ Flash Base Address <0x0-0xFFFFFFFF:8>
+ Flash Size (in Bytes) <0x0-0xFFFFFFFF:8>
+
+ -----------------------------------------------------------------------------*/
+__ROM_BASE = 0x00000000;
+__ROM_SIZE = 0x00080000;
+
+/*--------------------- Embedded RAM Configuration ----------------------------
+ RAM Configuration
+ RAM Base Address <0x0-0xFFFFFFFF:8>
+ RAM Size (in Bytes) <0x0-0xFFFFFFFF:8>
+
+ -----------------------------------------------------------------------------*/
+__RAM_BASE = 0x20000000;
+__RAM_SIZE = 0x00020000;
+
+/*--------------------- Stack / Heap Configuration ----------------------------
+ Stack / Heap Configuration
+ Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
+ Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
+
+ -----------------------------------------------------------------------------*/
+__STACK_SIZE = 0x00000400;
+__HEAP_SIZE = 0x00000C00;
+
+/*
+ *-------------------- <<< end of configuration section >>> -------------------
+ */
+
+MEMORY
+{
+ FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE
+ RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE
+}
+
+/* Linker script to place sections and symbol values. Should be used together
+ * with other linker script that defines memory regions FLASH and RAM.
+ * It references following symbols, which must be defined in code:
+ * Reset_Handler : Entry of reset handler
+ *
+ * It defines following symbols, which code can use without definition:
+ * __exidx_start
+ * __exidx_end
+ * __copy_table_start__
+ * __copy_table_end__
+ * __zero_table_start__
+ * __zero_table_end__
+ * __etext (deprecated)
+ * __data_start__
+ * __preinit_array_start
+ * __preinit_array_end
+ * __init_array_start
+ * __init_array_end
+ * __fini_array_start
+ * __fini_array_end
+ * __data_end__
+ * __bss_start__
+ * __bss_end__
+ * __end__
+ * end
+ * __HeapLimit
+ * __StackLimit
+ * __StackTop
+ * __stack
+ */
+ENTRY(Reset_Handler)
+
+SECTIONS
+{
+ .text :
+ {
+ KEEP(*(.vectors))
+ *(.text*)
+
+ KEEP(*(.init))
+ KEEP(*(.fini))
+
+ /* .ctors */
+ *crtbegin.o(.ctors)
+ *crtbegin?.o(.ctors)
+ *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
+ *(SORT(.ctors.*))
+ *(.ctors)
+
+ /* .dtors */
+ *crtbegin.o(.dtors)
+ *crtbegin?.o(.dtors)
+ *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
+ *(SORT(.dtors.*))
+ *(.dtors)
+
+ *(.rodata*)
+
+ KEEP(*(.eh_frame*))
+ } > FLASH
+
+ .ARM.extab :
+ {
+ *(.ARM.extab* .gnu.linkonce.armextab.*)
+ } > FLASH
+
+ __exidx_start = .;
+ .ARM.exidx :
+ {
+ *(.ARM.exidx* .gnu.linkonce.armexidx.*)
+ } > FLASH
+ __exidx_end = .;
+
+ .copy.table :
+ {
+ . = ALIGN(4);
+ __copy_table_start__ = .;
+
+ LONG (LOADADDR(.data))
+ LONG (ADDR(.data))
+ LONG (SIZEOF(.data) / 4)
+
+ /* Add each additional data section here */
+/*
+ LONG (LOADADDR(.data2))
+ LONG (ADDR(.data2))
+ LONG (SIZEOF(.data2) / 4)
+*/
+ __copy_table_end__ = .;
+ } > FLASH
+
+ .zero.table :
+ {
+ . = ALIGN(4);
+ __zero_table_start__ = .;
+
+/* .bss initialization to zero is already done during C Run-Time Startup.
+ LONG (ADDR(.bss))
+ LONG (SIZEOF(.bss) / 4)
+*/
+
+ /* Add each additional bss section here */
+/*
+ LONG (ADDR(.bss2))
+ LONG (SIZEOF(.bss2) / 4)
+*/
+ __zero_table_end__ = .;
+ } > FLASH
+
+ /*
+ * This __etext variable is kept for backward compatibility with older,
+ * ASM based startup files.
+ */
+ PROVIDE(__etext = LOADADDR(.data));
+
+ .data : ALIGN(4)
+ {
+ __data_start__ = .;
+ *(vtable)
+ *(.data)
+ *(.data.*)
+
+ . = ALIGN(4);
+ /* preinit data */
+ PROVIDE_HIDDEN (__preinit_array_start = .);
+ KEEP(*(.preinit_array))
+ PROVIDE_HIDDEN (__preinit_array_end = .);
+
+ . = ALIGN(4);
+ /* init data */
+ PROVIDE_HIDDEN (__init_array_start = .);
+ KEEP(*(SORT(.init_array.*)))
+ KEEP(*(.init_array))
+ PROVIDE_HIDDEN (__init_array_end = .);
+
+ . = ALIGN(4);
+ /* finit data */
+ PROVIDE_HIDDEN (__fini_array_start = .);
+ KEEP(*(SORT(.fini_array.*)))
+ KEEP(*(.fini_array))
+ PROVIDE_HIDDEN (__fini_array_end = .);
+
+ KEEP(*(.jcr*))
+ . = ALIGN(4);
+ /* All data end */
+ __data_end__ = .;
+
+ } > RAM AT > FLASH
+
+ /*
+ * Secondary data section, optional
+ *
+ * Remember to add each additional data section
+ * to the .copy.table above to assure proper
+ * initialization during startup.
+ */
+/*
+ .data2 : ALIGN(4)
+ {
+ . = ALIGN(4);
+ __data2_start__ = .;
+ *(.data2)
+ *(.data2.*)
+ . = ALIGN(4);
+ __data2_end__ = .;
+
+ } > RAM2 AT > FLASH
+*/
+
+ .bss :
+ {
+ . = ALIGN(4);
+ __bss_start__ = .;
+ *(.bss)
+ *(.bss.*)
+ *(COMMON)
+ . = ALIGN(4);
+ __bss_end__ = .;
+ } > RAM AT > RAM
+
+ /*
+ * Secondary bss section, optional
+ *
+ * Remember to add each additional bss section
+ * to the .zero.table above to assure proper
+ * initialization during startup.
+ */
+/*
+ .bss2 :
+ {
+ . = ALIGN(4);
+ __bss2_start__ = .;
+ *(.bss2)
+ *(.bss2.*)
+ . = ALIGN(4);
+ __bss2_end__ = .;
+ } > RAM2 AT > RAM2
+*/
+
+ .heap (NOLOAD) :
+ {
+ . = ALIGN(8);
+ __end__ = .;
+ PROVIDE(end = .);
+ . = . + __HEAP_SIZE;
+ . = ALIGN(8);
+ __HeapLimit = .;
+ } > RAM
+
+ .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE) (NOLOAD) :
+ {
+ . = ALIGN(8);
+ __StackLimit = .;
+ . = . + __STACK_SIZE;
+ . = ALIGN(8);
+ __StackTop = .;
+ } > RAM
+ PROVIDE(__stack = __StackTop);
+
+ /* Check if data + heap + stack exceeds RAM limit */
+ ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack")
+}
diff --git a/.ci/Board/RTE/Device/ARMCM4/ARMCM4_gcc.ld.base@2.2.0 b/.ci/Board/RTE/Device/ARMCM4/ARMCM4_gcc.ld.base@2.2.0
new file mode 100644
index 00000000..93ed813c
--- /dev/null
+++ b/.ci/Board/RTE/Device/ARMCM4/ARMCM4_gcc.ld.base@2.2.0
@@ -0,0 +1,263 @@
+/*
+ *-------- <<< Use Configuration Wizard in Context Menu >>> -------------------
+ */
+
+/*---------------------- Flash Configuration ----------------------------------
+ Flash Configuration
+ Flash Base Address <0x0-0xFFFFFFFF:8>
+ Flash Size (in Bytes) <0x0-0xFFFFFFFF:8>
+
+ -----------------------------------------------------------------------------*/
+__ROM_BASE = 0x00000000;
+__ROM_SIZE = 0x00040000;
+
+/*--------------------- Embedded RAM Configuration ----------------------------
+ RAM Configuration
+ RAM Base Address <0x0-0xFFFFFFFF:8>
+ RAM Size (in Bytes) <0x0-0xFFFFFFFF:8>
+
+ -----------------------------------------------------------------------------*/
+__RAM_BASE = 0x20000000;
+__RAM_SIZE = 0x00020000;
+
+/*--------------------- Stack / Heap Configuration ----------------------------
+ Stack / Heap Configuration
+ Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
+ Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
+
+ -----------------------------------------------------------------------------*/
+__STACK_SIZE = 0x00000400;
+__HEAP_SIZE = 0x00000C00;
+
+/*
+ *-------------------- <<< end of configuration section >>> -------------------
+ */
+
+MEMORY
+{
+ FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE
+ RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE
+}
+
+/* Linker script to place sections and symbol values. Should be used together
+ * with other linker script that defines memory regions FLASH and RAM.
+ * It references following symbols, which must be defined in code:
+ * Reset_Handler : Entry of reset handler
+ *
+ * It defines following symbols, which code can use without definition:
+ * __exidx_start
+ * __exidx_end
+ * __copy_table_start__
+ * __copy_table_end__
+ * __zero_table_start__
+ * __zero_table_end__
+ * __etext (deprecated)
+ * __data_start__
+ * __preinit_array_start
+ * __preinit_array_end
+ * __init_array_start
+ * __init_array_end
+ * __fini_array_start
+ * __fini_array_end
+ * __data_end__
+ * __bss_start__
+ * __bss_end__
+ * __end__
+ * end
+ * __HeapLimit
+ * __StackLimit
+ * __StackTop
+ * __stack
+ */
+ENTRY(Reset_Handler)
+
+SECTIONS
+{
+ .text :
+ {
+ KEEP(*(.vectors))
+ *(.text*)
+
+ KEEP(*(.init))
+ KEEP(*(.fini))
+
+ /* .ctors */
+ *crtbegin.o(.ctors)
+ *crtbegin?.o(.ctors)
+ *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
+ *(SORT(.ctors.*))
+ *(.ctors)
+
+ /* .dtors */
+ *crtbegin.o(.dtors)
+ *crtbegin?.o(.dtors)
+ *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
+ *(SORT(.dtors.*))
+ *(.dtors)
+
+ *(.rodata*)
+
+ KEEP(*(.eh_frame*))
+ } > FLASH
+
+ .ARM.extab :
+ {
+ *(.ARM.extab* .gnu.linkonce.armextab.*)
+ } > FLASH
+
+ __exidx_start = .;
+ .ARM.exidx :
+ {
+ *(.ARM.exidx* .gnu.linkonce.armexidx.*)
+ } > FLASH
+ __exidx_end = .;
+
+ .copy.table :
+ {
+ . = ALIGN(4);
+ __copy_table_start__ = .;
+
+ LONG (LOADADDR(.data))
+ LONG (ADDR(.data))
+ LONG (SIZEOF(.data) / 4)
+
+ /* Add each additional data section here */
+/*
+ LONG (LOADADDR(.data2))
+ LONG (ADDR(.data2))
+ LONG (SIZEOF(.data2) / 4)
+*/
+ __copy_table_end__ = .;
+ } > FLASH
+
+ .zero.table :
+ {
+ . = ALIGN(4);
+ __zero_table_start__ = .;
+
+/* .bss initialization to zero is already done during C Run-Time Startup.
+ LONG (ADDR(.bss))
+ LONG (SIZEOF(.bss) / 4)
+*/
+
+ /* Add each additional bss section here */
+/*
+ LONG (ADDR(.bss2))
+ LONG (SIZEOF(.bss2) / 4)
+*/
+ __zero_table_end__ = .;
+ } > FLASH
+
+ /*
+ * This __etext variable is kept for backward compatibility with older,
+ * ASM based startup files.
+ */
+ PROVIDE(__etext = LOADADDR(.data));
+
+ .data : ALIGN(4)
+ {
+ __data_start__ = .;
+ *(vtable)
+ *(.data)
+ *(.data.*)
+
+ . = ALIGN(4);
+ /* preinit data */
+ PROVIDE_HIDDEN (__preinit_array_start = .);
+ KEEP(*(.preinit_array))
+ PROVIDE_HIDDEN (__preinit_array_end = .);
+
+ . = ALIGN(4);
+ /* init data */
+ PROVIDE_HIDDEN (__init_array_start = .);
+ KEEP(*(SORT(.init_array.*)))
+ KEEP(*(.init_array))
+ PROVIDE_HIDDEN (__init_array_end = .);
+
+ . = ALIGN(4);
+ /* finit data */
+ PROVIDE_HIDDEN (__fini_array_start = .);
+ KEEP(*(SORT(.fini_array.*)))
+ KEEP(*(.fini_array))
+ PROVIDE_HIDDEN (__fini_array_end = .);
+
+ KEEP(*(.jcr*))
+ . = ALIGN(4);
+ /* All data end */
+ __data_end__ = .;
+
+ } > RAM AT > FLASH
+
+ /*
+ * Secondary data section, optional
+ *
+ * Remember to add each additional data section
+ * to the .copy.table above to assure proper
+ * initialization during startup.
+ */
+/*
+ .data2 : ALIGN(4)
+ {
+ . = ALIGN(4);
+ __data2_start__ = .;
+ *(.data2)
+ *(.data2.*)
+ . = ALIGN(4);
+ __data2_end__ = .;
+
+ } > RAM2 AT > FLASH
+*/
+
+ .bss :
+ {
+ . = ALIGN(4);
+ __bss_start__ = .;
+ *(.bss)
+ *(.bss.*)
+ *(COMMON)
+ . = ALIGN(4);
+ __bss_end__ = .;
+ } > RAM AT > RAM
+
+ /*
+ * Secondary bss section, optional
+ *
+ * Remember to add each additional bss section
+ * to the .zero.table above to assure proper
+ * initialization during startup.
+ */
+/*
+ .bss2 :
+ {
+ . = ALIGN(4);
+ __bss2_start__ = .;
+ *(.bss2)
+ *(.bss2.*)
+ . = ALIGN(4);
+ __bss2_end__ = .;
+ } > RAM2 AT > RAM2
+*/
+
+ .heap (NOLOAD) :
+ {
+ . = ALIGN(8);
+ __end__ = .;
+ PROVIDE(end = .);
+ . = . + __HEAP_SIZE;
+ . = ALIGN(8);
+ __HeapLimit = .;
+ } > RAM
+
+ .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE) (NOLOAD) :
+ {
+ . = ALIGN(8);
+ __StackLimit = .;
+ . = . + __STACK_SIZE;
+ . = ALIGN(8);
+ __StackTop = .;
+ } > RAM
+ PROVIDE(__stack = __StackTop);
+
+ /* Check if data + heap + stack exceeds RAM limit */
+ ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack")
+}
diff --git a/.ci/Network/Network.cproject.yml b/.ci/Network/Network.cproject.yml
index b297d848..5e50764b 100644
--- a/.ci/Network/Network.cproject.yml
+++ b/.ci/Network/Network.cproject.yml
@@ -2,10 +2,10 @@ project:
description: Network Build Test
packs:
- - pack: Keil::MDK-Middleware@>=8.0.0-0
- - pack: ARM::CMSIS@>=6.1.0
- - pack: ARM::CMSIS-View@>=1.1.0
- - pack: ARM::CMSIS-RTX@>=5.9.0
+ - pack: Keil::MDK-Middleware@^8.2.0-0
+ - pack: ARM::CMSIS@^6.1.0
+ - pack: ARM::CMSIS-View@^1.1.0
+ - pack: ARM::CMSIS-RTX@^5.9.0
components:
- component: ARM::CMSIS:CORE
diff --git a/.ci/Network/RTE/CMSIS/RTX_Config.h b/.ci/Network/RTE/CMSIS/RTX_Config.h
index fe0c57b6..f8756c5b 100644
--- a/.ci/Network/RTE/CMSIS/RTX_Config.h
+++ b/.ci/Network/RTE/CMSIS/RTX_Config.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013-2023 Arm Limited. All rights reserved.
+ * Copyright (c) 2013-2026 Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -17,7 +17,7 @@
*
* -----------------------------------------------------------------------------
*
- * $Revision: V5.6.0
+ * $Revision: V5.6.1
*
* Project: CMSIS-RTOS RTX
* Title: RTX Configuration definitions
@@ -228,9 +228,9 @@
// Default Processor mode for Thread execution
// <0=> Unprivileged mode
// <1=> Privileged mode
-// Default: Unprivileged mode
+// Default: Privileged mode
#ifndef OS_PRIVILEGE_MODE
-#define OS_PRIVILEGE_MODE 0
+#define OS_PRIVILEGE_MODE 1
#endif
//
diff --git a/.ci/Network/RTE/CMSIS/RTX_Config.h.base@5.6.0 b/.ci/Network/RTE/CMSIS/RTX_Config.h.base@5.6.1
similarity index 99%
rename from .ci/Network/RTE/CMSIS/RTX_Config.h.base@5.6.0
rename to .ci/Network/RTE/CMSIS/RTX_Config.h.base@5.6.1
index fe0c57b6..f8756c5b 100644
--- a/.ci/Network/RTE/CMSIS/RTX_Config.h.base@5.6.0
+++ b/.ci/Network/RTE/CMSIS/RTX_Config.h.base@5.6.1
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013-2023 Arm Limited. All rights reserved.
+ * Copyright (c) 2013-2026 Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -17,7 +17,7 @@
*
* -----------------------------------------------------------------------------
*
- * $Revision: V5.6.0
+ * $Revision: V5.6.1
*
* Project: CMSIS-RTOS RTX
* Title: RTX Configuration definitions
@@ -228,9 +228,9 @@
// Default Processor mode for Thread execution
// <0=> Unprivileged mode
// <1=> Privileged mode
-// Default: Unprivileged mode
+// Default: Privileged mode
#ifndef OS_PRIVILEGE_MODE
-#define OS_PRIVILEGE_MODE 0
+#define OS_PRIVILEGE_MODE 1
#endif
//
diff --git a/Components/Network/Interface/TLS_mbed.c b/Components/Network/Interface/TLS_mbed.c
index 447d45c3..55ab3662 100644
--- a/Components/Network/Interface/TLS_mbed.c
+++ b/Components/Network/Interface/TLS_mbed.c
@@ -1,38 +1,55 @@
/*------------------------------------------------------------------------------
* MDK Middleware - Component ::Network
- * Copyright (c) 2004-2024 Arm Limited (or its affiliates). All rights reserved.
+ * Copyright (c) 2004-2026 Arm Limited (or its affiliates). All rights reserved.
*------------------------------------------------------------------------------
* Name: TLS_mbed.c
* Purpose: TLS Interface for mbedTLS
*----------------------------------------------------------------------------*/
#include
-#include "mbedTLS_config.h"
+
+/* Check mbedTLS library version */
+#ifdef MBEDTLS_CONFIG_FILE
+ #define MBEDTLS_DECLARE_PRIVATE_IDENTIFIERS
+ #include "mbedtls/build_info.h"
+ #if (MBEDTLS_VERSION_MAJOR != 4)
+ #error "Invalid mbedTLS version, version 4 needed"
+ #endif
+ #include "mbedtls/private/entropy.h"
+ #include "mbedtls/private/ctr_drbg.h"
+#else
+ #include "mbedtls/build_info.h"
+ #if (MBEDTLS_VERSION_MAJOR != 3)
+ #error "Invalid mbedTLS version, version 3 needed"
+ #endif
+ #include "mbedtls/entropy.h"
+ #include "mbedtls/ctr_drbg.h"
+#endif
+
#include "mbedtls/debug.h"
+#include "mbedtls/x509.h"
#include "mbedtls/ssl.h"
-#include "mbedtls/entropy.h"
-#include "mbedtls/ctr_drbg.h"
#include "mbedtls/net_sockets.h"
#if defined(MBEDTLS_SSL_CACHE_C)
-#include "mbedtls/ssl_cache.h"
+ #include "mbedtls/ssl_cache.h"
#endif
#if defined(MBEDTLS_DEBUG_C)
-#include
+ #include
#endif
#include "TLS_mbed.h"
#ifndef TLS_THREAD_STACK_SIZE
-#define TLS_THREAD_STACK_SIZE 4096
+ #define TLS_THREAD_STACK_SIZE 4096
#endif
#ifndef TLS_THREAD_PRIORITY
-#define TLS_THREAD_PRIORITY osPriorityNormal
+ #define TLS_THREAD_PRIORITY osPriorityNormal
#endif
/* mbedTLS debug level */
#ifndef DEBUG_LEVEL
-#define DEBUG_LEVEL 1
+ #define DEBUG_LEVEL 1
#endif
/* Local variables */
@@ -363,7 +380,15 @@ static int32_t tls_init (void) {
#endif
#endif
-/* Configure mbedTLS debug */
+#if (MBEDTLS_VERSION_MAJOR == 4)
+ ret = psa_crypto_init();
+ if (ret != PSA_SUCCESS) {
+ /* PSA Crypto initialization failed */
+ return (ret);
+ }
+#endif
+
+ /* Configure mbedTLS debug */
#if defined(MBEDTLS_DEBUG_C)
mbedtls_debug_set_threshold (DEBUG_LEVEL);
#ifdef __TLS_SERVER
@@ -406,17 +431,28 @@ static int32_t tls_init (void) {
buf = netTLS_GetServerKey (&buf_len);
if (buf == NULL) {
+#if (MBEDTLS_VERSION_MAJOR == 3)
ret = mbedtls_pk_parse_key (&pkey_srv, NetSecurity_ServerKey,
NetSecurity_ServerKey_Len,
NULL, 0,
- mbedtls_ctr_drbg_random,
- &ctr_drbg);
+ mbedtls_ctr_drbg_random, &ctr_drbg);
+#endif
+#if (MBEDTLS_VERSION_MAJOR == 4)
+ ret = mbedtls_pk_parse_key (&pkey_srv, NetSecurity_ServerKey,
+ NetSecurity_ServerKey_Len,
+ NULL, 0);
+#endif
}
else {
+#if (MBEDTLS_VERSION_MAJOR == 3)
ret = mbedtls_pk_parse_key (&pkey_srv, buf, buf_len,
NULL, 0,
- mbedtls_ctr_drbg_random,
- &ctr_drbg);
+ mbedtls_ctr_drbg_random, &ctr_drbg);
+#endif
+#if (MBEDTLS_VERSION_MAJOR == 4)
+ ret = mbedtls_pk_parse_key (&pkey_srv, buf, buf_len,
+ NULL, 0);
+#endif
netTLS_ReleaseMemory (buf);
}
if (ret != 0) {
@@ -476,14 +512,14 @@ static int32_t tls_init (void) {
#endif
#ifdef __TLS_SERVER
+#if (MBEDTLS_VERSION_MAJOR == 3)
mbedtls_ssl_conf_rng (&conf_srv, mbedtls_ctr_drbg_random, &ctr_drbg);
-
+#endif
#if defined(MBEDTLS_SSL_CACHE_C)
mbedtls_ssl_conf_session_cache (&conf_srv, &cache,
mbedtls_ssl_cache_get,
mbedtls_ssl_cache_set);
#endif
-
mbedtls_ssl_conf_ca_chain (&conf_srv, srvcert.next, NULL);
ret = mbedtls_ssl_conf_own_cert (&conf_srv, &srvcert, &pkey_srv);
if (ret != 0) {
@@ -493,7 +529,9 @@ static int32_t tls_init (void) {
#endif
#ifdef __TLS_CLIENT
+#if (MBEDTLS_VERSION_MAJOR == 3)
mbedtls_ssl_conf_rng (&conf_cli, mbedtls_ctr_drbg_random, &ctr_drbg);
+#endif
#ifdef __TLS_CLIENT_CA
mbedtls_ssl_conf_ca_chain (&conf_cli, &cacert, NULL);
#endif
diff --git a/Components/Network/Network.scvd b/Components/Network/Network.scvd
index b0ed57e5..c05f6bcc 100644
--- a/Components/Network/Network.scvd
+++ b/Components/Network/Network.scvd
@@ -1198,7 +1198,7 @@
- -
+
-
-
diff --git a/Examples/Network/SMTPS_Client/RTE/Security/mbedTLS_crypto_config.h b/Components/Network/Template/app_crypto_config_HTTPS.h
similarity index 78%
rename from Examples/Network/SMTPS_Client/RTE/Security/mbedTLS_crypto_config.h
rename to Components/Network/Template/app_crypto_config_HTTPS.h
index 5ff378b1..bebed365 100644
--- a/Examples/Network/SMTPS_Client/RTE/Security/mbedTLS_crypto_config.h
+++ b/Components/Network/Template/app_crypto_config_HTTPS.h
@@ -1,11 +1,14 @@
/**
- * PSA crypto configuration template
+ * PSA crypto configuration template for HTTPS
*/
/*
* Copyright The Mbed TLS Contributors
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
*/
+#define TF_PSA_CRYPTO_CONFIG_VERSION 0x01000000
+
+/* Cryptographic mechanism selection (PSA API) */
#define PSA_WANT_ALG_CBC_NO_PADDING 1
#define PSA_WANT_ALG_CBC_PKCS7 1
#define PSA_WANT_ALG_CCM 1
@@ -53,12 +56,8 @@
#define PSA_WANT_ECC_BRAINPOOL_P_R1_512 1
#define PSA_WANT_ECC_MONTGOMERY_255 1
#define PSA_WANT_ECC_MONTGOMERY_448 1
-#define PSA_WANT_ECC_SECP_K1_192 1
#define PSA_WANT_ECC_SECP_K1_256 1
-#define PSA_WANT_ECC_SECP_R1_192 1
-#define PSA_WANT_ECC_SECP_R1_224 1
-/* For secp256r1, consider enabling #MBEDTLS_PSA_P256M_DRIVER_ENABLED
- * (see the description in mbedtls/mbedtls_config.h for details). */
+
#define PSA_WANT_ECC_SECP_R1_256 1
#define PSA_WANT_ECC_SECP_R1_384 1
#define PSA_WANT_ECC_SECP_R1_521 1
@@ -77,35 +76,54 @@
#define PSA_WANT_KEY_TYPE_ARIA 1
#define PSA_WANT_KEY_TYPE_CAMELLIA 1
#define PSA_WANT_KEY_TYPE_CHACHA20 1
-#define PSA_WANT_KEY_TYPE_DES 1
-//#define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR 1 /* Deprecated */
#define PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY 1
#define PSA_WANT_KEY_TYPE_DH_PUBLIC_KEY 1
#define PSA_WANT_KEY_TYPE_RAW_DATA 1
-//#define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR 1 /* Deprecated */
#define PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY 1
-/*
- * The following symbols extend and deprecate the legacy
- * PSA_WANT_KEY_TYPE_xxx_KEY_PAIR ones. They include the usage of that key in
- * the name's suffix. "_USE" is the most generic and it can be used to describe
- * a generic suport, whereas other ones add more features on top of that and
- * they are more specific.
- */
-#define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC 1
+#define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC 1
#define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_IMPORT 1
#define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_EXPORT 1
#define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_GENERATE 1
#define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_DERIVE 1
-#define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC 1
+#define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC 1
#define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_IMPORT 1
#define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_EXPORT 1
#define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_GENERATE 1
-//#define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_DERIVE 1 /* Not supported */
-#define PSA_WANT_KEY_TYPE_DH_KEY_PAIR_BASIC 1
+#define PSA_WANT_KEY_TYPE_DH_KEY_PAIR_BASIC 1
#define PSA_WANT_KEY_TYPE_DH_KEY_PAIR_IMPORT 1
#define PSA_WANT_KEY_TYPE_DH_KEY_PAIR_EXPORT 1
#define PSA_WANT_KEY_TYPE_DH_KEY_PAIR_GENERATE 1
-//#define PSA_WANT_KEY_TYPE_DH_KEY_PAIR_DERIVE 1 /* Not supported */
+
+/* Platform abstraction layer */
+#define MBEDTLS_PLATFORM_C
+
+/* General and test configuration options */
+#define MBEDTLS_SELF_TEST
+
+/* Cryptographic mechanism selection (extended API) */
+#define MBEDTLS_MD_C
+#define MBEDTLS_PK_C
+#define MBEDTLS_PKCS5_C
+#define MBEDTLS_PK_PARSE_C
+#define MBEDTLS_PK_PARSE_EC_EXTENDED
+#define MBEDTLS_PK_WRITE_C
+
+/* Data format support */
+#define MBEDTLS_ASN1_PARSE_C
+#define MBEDTLS_ASN1_WRITE_C
+#define MBEDTLS_BASE64_C
+#define MBEDTLS_PEM_PARSE_C
+#define MBEDTLS_PEM_WRITE_C
+
+/* PSA core */
+#define MBEDTLS_CTR_DRBG_C
+#define MBEDTLS_HMAC_DRBG_C
+#define MBEDTLS_PSA_CRYPTO_C
+#define MBEDTLS_PSA_DRIVER_GET_ENTROPY
+
+/* Builtin drivers */
+#define MBEDTLS_AES_ROM_TABLES
+#define MBEDTLS_ECP_NIST_OPTIM
diff --git a/Examples/Network/HTTPS_Server/RTE/Security/mbedTLS_crypto_config.h.base@3.6.3 b/Components/Network/Template/app_crypto_config_SMTPS.h
similarity index 77%
rename from Examples/Network/HTTPS_Server/RTE/Security/mbedTLS_crypto_config.h.base@3.6.3
rename to Components/Network/Template/app_crypto_config_SMTPS.h
index 5ff378b1..737d839a 100644
--- a/Examples/Network/HTTPS_Server/RTE/Security/mbedTLS_crypto_config.h.base@3.6.3
+++ b/Components/Network/Template/app_crypto_config_SMTPS.h
@@ -1,11 +1,14 @@
/**
- * PSA crypto configuration template
+ * PSA crypto configuration template for SMTPS
*/
/*
* Copyright The Mbed TLS Contributors
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
*/
+#define TF_PSA_CRYPTO_CONFIG_VERSION 0x01000000
+
+/* Cryptographic mechanism selection (PSA API) */
#define PSA_WANT_ALG_CBC_NO_PADDING 1
#define PSA_WANT_ALG_CBC_PKCS7 1
#define PSA_WANT_ALG_CCM 1
@@ -53,12 +56,8 @@
#define PSA_WANT_ECC_BRAINPOOL_P_R1_512 1
#define PSA_WANT_ECC_MONTGOMERY_255 1
#define PSA_WANT_ECC_MONTGOMERY_448 1
-#define PSA_WANT_ECC_SECP_K1_192 1
#define PSA_WANT_ECC_SECP_K1_256 1
-#define PSA_WANT_ECC_SECP_R1_192 1
-#define PSA_WANT_ECC_SECP_R1_224 1
-/* For secp256r1, consider enabling #MBEDTLS_PSA_P256M_DRIVER_ENABLED
- * (see the description in mbedtls/mbedtls_config.h for details). */
+
#define PSA_WANT_ECC_SECP_R1_256 1
#define PSA_WANT_ECC_SECP_R1_384 1
#define PSA_WANT_ECC_SECP_R1_521 1
@@ -77,35 +76,47 @@
#define PSA_WANT_KEY_TYPE_ARIA 1
#define PSA_WANT_KEY_TYPE_CAMELLIA 1
#define PSA_WANT_KEY_TYPE_CHACHA20 1
-#define PSA_WANT_KEY_TYPE_DES 1
-//#define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR 1 /* Deprecated */
#define PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY 1
#define PSA_WANT_KEY_TYPE_DH_PUBLIC_KEY 1
#define PSA_WANT_KEY_TYPE_RAW_DATA 1
-//#define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR 1 /* Deprecated */
#define PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY 1
-/*
- * The following symbols extend and deprecate the legacy
- * PSA_WANT_KEY_TYPE_xxx_KEY_PAIR ones. They include the usage of that key in
- * the name's suffix. "_USE" is the most generic and it can be used to describe
- * a generic suport, whereas other ones add more features on top of that and
- * they are more specific.
- */
-#define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC 1
+#define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC 1
#define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_IMPORT 1
#define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_EXPORT 1
#define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_GENERATE 1
#define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_DERIVE 1
-#define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC 1
+#define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC 1
#define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_IMPORT 1
#define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_EXPORT 1
#define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_GENERATE 1
-//#define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_DERIVE 1 /* Not supported */
-#define PSA_WANT_KEY_TYPE_DH_KEY_PAIR_BASIC 1
+#define PSA_WANT_KEY_TYPE_DH_KEY_PAIR_BASIC 1
#define PSA_WANT_KEY_TYPE_DH_KEY_PAIR_IMPORT 1
#define PSA_WANT_KEY_TYPE_DH_KEY_PAIR_EXPORT 1
#define PSA_WANT_KEY_TYPE_DH_KEY_PAIR_GENERATE 1
-//#define PSA_WANT_KEY_TYPE_DH_KEY_PAIR_DERIVE 1 /* Not supported */
+
+/* Platform abstraction layer */
+#define MBEDTLS_PLATFORM_C
+
+/* Cryptographic mechanism selection (extended API) */
+#define MBEDTLS_MD_C
+#define MBEDTLS_PK_C
+#define MBEDTLS_PK_PARSE_C
+
+/* Data format support */
+#define MBEDTLS_ASN1_PARSE_C
+#define MBEDTLS_ASN1_WRITE_C
+#define MBEDTLS_BASE64_C
+#define MBEDTLS_PEM_PARSE_C
+
+/* PSA core */
+#define MBEDTLS_CTR_DRBG_C
+#define MBEDTLS_HMAC_DRBG_C
+#define MBEDTLS_PSA_CRYPTO_C
+#define MBEDTLS_PSA_DRIVER_GET_ENTROPY
+
+/* Builtin drivers */
+#define MBEDTLS_AES_ROM_TABLES
+#define MBEDTLS_ECP_NIST_OPTIM
diff --git a/Components/Network/Template/app_mbedtls_config_HTTPS.h b/Components/Network/Template/app_mbedtls_config_HTTPS.h
new file mode 100644
index 00000000..54aa15a4
--- /dev/null
+++ b/Components/Network/Template/app_mbedtls_config_HTTPS.h
@@ -0,0 +1,47 @@
+/**
+ * Configuration template for HTTPS
+ */
+/*
+ * Copyright The Mbed TLS Contributors
+ * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
+ */
+
+#define MBEDTLS_CONFIG_VERSION 0x04000000
+
+/* General configuration options */
+#define MBEDTLS_ERROR_C
+#define MBEDTLS_ERROR_STRERROR_DUMMY
+#define MBEDTLS_VERSION_C
+#define MBEDTLS_VERSION_FEATURES
+
+/* TLS feature selection */
+//#define MBEDTLS_DEBUG_C
+#define MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
+#define MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
+#define MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
+#define MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
+#define MBEDTLS_SSL_ALL_ALERT_MESSAGES
+#define MBEDTLS_SSL_ALPN
+#define MBEDTLS_SSL_CACHE_C
+#define MBEDTLS_SSL_ENCRYPT_THEN_MAC
+#define MBEDTLS_SSL_EXTENDED_MASTER_SECRET
+#define MBEDTLS_SSL_MAX_FRAGMENT_LENGTH
+#define MBEDTLS_SSL_PROTO_TLS1_2
+#define MBEDTLS_SSL_SERVER_NAME_INDICATION
+#define MBEDTLS_SSL_SESSION_TICKETS
+#define MBEDTLS_SSL_SRV_C
+#define MBEDTLS_SSL_TICKET_C
+#define MBEDTLS_SSL_TLS_C
+#define MBEDTLS_SSL_IN_CONTENT_LEN 4096
+#define MBEDTLS_SSL_OUT_CONTENT_LEN 4096
+
+/* X.509 feature selection */
+#define MBEDTLS_PKCS7_C
+#define MBEDTLS_X509_CREATE_C
+#define MBEDTLS_X509_CRL_PARSE_C
+#define MBEDTLS_X509_CRT_PARSE_C
+#define MBEDTLS_X509_CRT_WRITE_C
+#define MBEDTLS_X509_CSR_PARSE_C
+#define MBEDTLS_X509_CSR_WRITE_C
+#define MBEDTLS_X509_RSASSA_PSS_SUPPORT
+#define MBEDTLS_X509_USE_C
diff --git a/Components/Network/Template/app_mbedtls_config_SMTPS.h b/Components/Network/Template/app_mbedtls_config_SMTPS.h
new file mode 100644
index 00000000..2ab83761
--- /dev/null
+++ b/Components/Network/Template/app_mbedtls_config_SMTPS.h
@@ -0,0 +1,39 @@
+/**
+ * Configuration template for SMTPS
+ */
+/*
+ * Copyright The Mbed TLS Contributors
+ * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
+ */
+
+#define MBEDTLS_CONFIG_VERSION 0x04000000
+
+/* General configuration options */
+#define MBEDTLS_ERROR_C
+#define MBEDTLS_ERROR_STRERROR_DUMMY
+#define MBEDTLS_VERSION_C
+#define MBEDTLS_VERSION_FEATURES
+
+/* TLS feature selection */
+//#define MBEDTLS_DEBUG_C
+#define MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
+#define MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
+#define MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
+#define MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
+#define MBEDTLS_SSL_ALL_ALERT_MESSAGES
+#define MBEDTLS_SSL_ALPN
+#define MBEDTLS_SSL_CACHE_C
+#define MBEDTLS_SSL_CLI_C
+#define MBEDTLS_SSL_ENCRYPT_THEN_MAC
+#define MBEDTLS_SSL_EXTENDED_MASTER_SECRET
+#define MBEDTLS_SSL_MAX_FRAGMENT_LENGTH
+#define MBEDTLS_SSL_PROTO_TLS1_2
+#define MBEDTLS_SSL_SERVER_NAME_INDICATION
+#define MBEDTLS_SSL_TLS_C
+#define MBEDTLS_SSL_IN_CONTENT_LEN 4096
+#define MBEDTLS_SSL_OUT_CONTENT_LEN 4096
+
+/* X.509 feature selection */
+#define MBEDTLS_X509_CRL_PARSE_C
+#define MBEDTLS_X509_CRT_PARSE_C
+#define MBEDTLS_X509_USE_C
diff --git a/Components/Network/Template/mbedTLS_config_HTTPS.h b/Components/Network/Template/mbedTLS_config_HTTPS.h
deleted file mode 100644
index e15e1e2c..00000000
--- a/Components/Network/Template/mbedTLS_config_HTTPS.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/**
- * Configuration template for HTTPS
- */
-/*
- * Copyright The Mbed TLS Contributors
- * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
- */
-
-#define MBEDTLS_CONFIG_VERSION 0x03060000
-
-/* System support */
-
-/* mbed TLS feature support */
-#define MBEDTLS_ENTROPY_HARDWARE_ALT
-#define MBEDTLS_AES_ROM_TABLES
-#define MBEDTLS_CIPHER_MODE_CBC
-#define MBEDTLS_CIPHER_MODE_CFB
-#define MBEDTLS_CIPHER_MODE_CTR
-#define MBEDTLS_CIPHER_PADDING_PKCS7
-#define MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS
-#define MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN
-#define MBEDTLS_CIPHER_PADDING_ZEROS
-#define MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
-#define MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED
-#define MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED
-#define MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
-#define MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED
-#define MBEDTLS_GENPRIME
-#define MBEDTLS_NO_PLATFORM_ENTROPY
-#define MBEDTLS_PK_RSA_ALT_SUPPORT
-#define MBEDTLS_PKCS1_V15
-#define MBEDTLS_PKCS1_V21
-#define MBEDTLS_SSL_ALL_ALERT_MESSAGES
-#define MBEDTLS_SSL_ENCRYPT_THEN_MAC
-#define MBEDTLS_SSL_EXTENDED_MASTER_SECRET
-#define MBEDTLS_SSL_RENEGOTIATION
-#define MBEDTLS_SSL_MAX_FRAGMENT_LENGTH
-#define MBEDTLS_SSL_PROTO_TLS1_2
-#define MBEDTLS_SSL_ALPN
-#define MBEDTLS_SSL_SESSION_TICKETS
-#define MBEDTLS_SSL_SERVER_NAME_INDICATION
-#define MBEDTLS_X509_RSASSA_PSS_SUPPORT
-
-/* mbed TLS modules */
-#define MBEDTLS_AES_C
-#define MBEDTLS_ASN1_PARSE_C
-#define MBEDTLS_ASN1_WRITE_C
-#define MBEDTLS_BASE64_C
-#define MBEDTLS_BIGNUM_C
-#define MBEDTLS_CAMELLIA_C
-#define MBEDTLS_CCM_C
-#define MBEDTLS_CIPHER_C
-#define MBEDTLS_CTR_DRBG_C
-//#define MBEDTLS_DEBUG_C
-#define MBEDTLS_DES_C
-#define MBEDTLS_DHM_C
-#define MBEDTLS_ENTROPY_C
-#define MBEDTLS_GCM_C
-#define MBEDTLS_HMAC_DRBG_C
-#define MBEDTLS_MD_C
-#define MBEDTLS_MD5_C
-#define MBEDTLS_OID_C
-#define MBEDTLS_PEM_PARSE_C
-#define MBEDTLS_PK_C
-#define MBEDTLS_PK_PARSE_C
-#define MBEDTLS_PKCS5_C
-#define MBEDTLS_PKCS12_C
-#define MBEDTLS_PLATFORM_C
-#define MBEDTLS_RIPEMD160_C
-#define MBEDTLS_RSA_C
-#define MBEDTLS_SHA1_C
-#define MBEDTLS_SHA224_C
-#define MBEDTLS_SHA256_C
-#define MBEDTLS_SHA512_C
-#define MBEDTLS_SSL_CACHE_C
-#define MBEDTLS_SSL_COOKIE_C
-#define MBEDTLS_SSL_TICKET_C
-#define MBEDTLS_SSL_SRV_C
-#define MBEDTLS_SSL_TLS_C
-#define MBEDTLS_X509_USE_C
-#define MBEDTLS_X509_CRT_PARSE_C
-#define MBEDTLS_X509_CSR_PARSE_C
-
-/* SSL options */
-#define MBEDTLS_SSL_IN_CONTENT_LEN 4096 /**< Maximum length (in bytes) of incoming plaintext fragments. */
-#define MBEDTLS_SSL_OUT_CONTENT_LEN 4096 /**< Maximum length (in bytes) of outgoing plaintext fragments. */
diff --git a/Documentation/Doxygen/Network/src/example_https_server.md b/Documentation/Doxygen/Network/src/example_https_server.md
index 67da3c4b..c0d48782 100644
--- a/Documentation/Doxygen/Network/src/example_https_server.md
+++ b/Documentation/Doxygen/Network/src/example_https_server.md
@@ -43,11 +43,12 @@ Following configuration files are provided with this example:
- `Net_Config.h`: \ref nw_Network_Core "Network Core configuration"
- `Net_Security.c`: file with keys and certificates. Default values are used by default, for changing them refer to \ref cert_creation
- `Net_Debug.h`: \ref netDebugConfig "Network Debug configuration"
- - For mbedTLS component, in `./RTE/Security/` folder:
- - `mbedTLS_config.h`, `mbedTLS_crypto_config.h`: [mbedTLS configuration files](https://github.com/ARM-software/CMSIS-mbedTLS).
- For the CMSIS components, in the `./RTE/CMSIS/` folder:
- `RTX_Config.h` and `RTX_Config.c`: [CMSIS-RTX Configuration files](https://arm-software.github.io/CMSIS-RTX/latest/config_rtx5.html) for the RTOS Kernel
+ Configuration files for the mbedTLS (version 4) are available in the `./` folder:
+ - `app_mbedtls_config.h` and `app_crypto_config.h`: [mbedTLS configuration files](https://github.com/ARM-software/CMSIS-mbedTLS).
+
When a board layer is added to the project, corresponding configuration files for the board and device components will become available in the local `./Board/` directory.
Board Layer
diff --git a/Documentation/Doxygen/Network/src/example_smtps_client.md b/Documentation/Doxygen/Network/src/example_smtps_client.md
index 7abccecd..b5d5af74 100644
--- a/Documentation/Doxygen/Network/src/example_smtps_client.md
+++ b/Documentation/Doxygen/Network/src/example_smtps_client.md
@@ -39,11 +39,12 @@ Following configuration files are provided with this example:
- `Net_Config.h`: \ref nw_Network_Core "Network Core configuration"
- `Net_Security.c`: file with keys and certificates. Default values are used by default, for changing them refer to \ref cert_adding
- `Net_Debug.h`: \ref netDebugConfig "Network Debug configuration"
- - For mbedTLS component, in `./RTE/Security/` folder:
- - `mbedTLS_config.h`, `mbedTLS_crypto_config.h`: [mbedTLS configuration files](https://github.com/ARM-software/CMSIS-mbedTLS)
- For the CMSIS components, in the `./RTE/CMSIS/` folder:
- `RTX_Config.h` and `RTX_Config.c`: [CMSIS-RTX Configuration files](https://arm-software.github.io/CMSIS-RTX/latest/config_rtx5.html) for the RTOS Kernel
+Configuration files for the mbedTLS (version 4) are available in the `./` folder:
+ - `app_mbedtls_config.h` and `app_crypto_config.h`: [mbedTLS configuration files](https://github.com/ARM-software/CMSIS-mbedTLS).
+
When a board layer is added to the project, corresponding configuration files for the board and device components will become available in the local `./Board/` directory.
Board Layer
diff --git a/Documentation/Doxygen/Network/src/secure_communication.md b/Documentation/Doxygen/Network/src/secure_communication.md
index 73834f2e..4902ddef 100644
--- a/Documentation/Doxygen/Network/src/secure_communication.md
+++ b/Documentation/Doxygen/Network/src/secure_communication.md
@@ -80,6 +80,22 @@ To use the Mbed TLS library in your own projects, follow these steps:
\note You can use the Mbed TLS API in parallel to any of the \ref use_secure_components "secure services" that are
part of the Network Component.
+#### Configuration of mbed TLS version 4 {#mbedtls_v4}
+
+Mbed TLS version 4 requires specific configuration macros to be defined in your `cproject.yml` file to ensure the correct
+application-level configuration files are used.
+
+Add the following entries to your project configuration:
+
+```yml
+ define:
+ - MBEDTLS_CONFIG_FILE: \"app_mbedtls_config.h\"
+ - TF_PSA_CRYPTO_CONFIG_FILE: \"app_crypto_config.h\"
+
+ add-path:
+ - ./
+```
+
## Using Secure Services {#use_secure_components}
The Network Component offers secure software components that are using \ref use_mbed_tls "Mbed TLS". The user of the
diff --git a/Examples/Network/BSD_Client/BSD_Client.cproject.yml b/Examples/Network/BSD_Client/BSD_Client.cproject.yml
index f4bccf4d..68af49a9 100644
--- a/Examples/Network/BSD_Client/BSD_Client.cproject.yml
+++ b/Examples/Network/BSD_Client/BSD_Client.cproject.yml
@@ -2,7 +2,7 @@ project:
description: BSD Client example
packs:
- - pack: Keil::MDK-Middleware@^8.0.0-0
+ - pack: Keil::MDK-Middleware@^8.2.0-0
- pack: ARM::CMSIS@^6.1.0
- pack: ARM::CMSIS-RTX@^5.9.0
diff --git a/Examples/Network/BSD_Client/RTE/CMSIS/RTX_Config.h b/Examples/Network/BSD_Client/RTE/CMSIS/RTX_Config.h
index f8672bae..22ee62fe 100644
--- a/Examples/Network/BSD_Client/RTE/CMSIS/RTX_Config.h
+++ b/Examples/Network/BSD_Client/RTE/CMSIS/RTX_Config.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013-2023 Arm Limited. All rights reserved.
+ * Copyright (c) 2013-2026 Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -17,7 +17,7 @@
*
* -----------------------------------------------------------------------------
*
- * $Revision: V5.6.0
+ * $Revision: V5.6.1
*
* Project: CMSIS-RTOS RTX
* Title: RTX Configuration definitions
@@ -228,7 +228,7 @@
// Default Processor mode for Thread execution
// <0=> Unprivileged mode
// <1=> Privileged mode
-// Default: Unprivileged mode
+// Default: Privileged mode
#ifndef OS_PRIVILEGE_MODE
#define OS_PRIVILEGE_MODE 1
#endif
diff --git a/Examples/Network/FTP_Server/RTE/CMSIS/RTX_Config.h.base@5.6.0 b/Examples/Network/BSD_Client/RTE/CMSIS/RTX_Config.h.base@5.6.1
similarity index 99%
rename from Examples/Network/FTP_Server/RTE/CMSIS/RTX_Config.h.base@5.6.0
rename to Examples/Network/BSD_Client/RTE/CMSIS/RTX_Config.h.base@5.6.1
index fe0c57b6..f8756c5b 100644
--- a/Examples/Network/FTP_Server/RTE/CMSIS/RTX_Config.h.base@5.6.0
+++ b/Examples/Network/BSD_Client/RTE/CMSIS/RTX_Config.h.base@5.6.1
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013-2023 Arm Limited. All rights reserved.
+ * Copyright (c) 2013-2026 Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -17,7 +17,7 @@
*
* -----------------------------------------------------------------------------
*
- * $Revision: V5.6.0
+ * $Revision: V5.6.1
*
* Project: CMSIS-RTOS RTX
* Title: RTX Configuration definitions
@@ -228,9 +228,9 @@
// Default Processor mode for Thread execution
// <0=> Unprivileged mode
// <1=> Privileged mode
-// Default: Unprivileged mode
+// Default: Privileged mode
#ifndef OS_PRIVILEGE_MODE
-#define OS_PRIVILEGE_MODE 0
+#define OS_PRIVILEGE_MODE 1
#endif
//
diff --git a/Examples/Network/BSD_Server/BSD_Server.cproject.yml b/Examples/Network/BSD_Server/BSD_Server.cproject.yml
index f747eee9..a287d1dd 100644
--- a/Examples/Network/BSD_Server/BSD_Server.cproject.yml
+++ b/Examples/Network/BSD_Server/BSD_Server.cproject.yml
@@ -2,7 +2,7 @@ project:
description: BSD Server example
packs:
- - pack: Keil::MDK-Middleware@^8.0.0-0
+ - pack: Keil::MDK-Middleware@^8.2.0-0
- pack: ARM::CMSIS@^6.1.0
- pack: ARM::CMSIS-RTX@^5.9.0
diff --git a/Examples/Network/BSD_Server/RTE/CMSIS/RTX_Config.h b/Examples/Network/BSD_Server/RTE/CMSIS/RTX_Config.h
index f8672bae..22ee62fe 100644
--- a/Examples/Network/BSD_Server/RTE/CMSIS/RTX_Config.h
+++ b/Examples/Network/BSD_Server/RTE/CMSIS/RTX_Config.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013-2023 Arm Limited. All rights reserved.
+ * Copyright (c) 2013-2026 Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -17,7 +17,7 @@
*
* -----------------------------------------------------------------------------
*
- * $Revision: V5.6.0
+ * $Revision: V5.6.1
*
* Project: CMSIS-RTOS RTX
* Title: RTX Configuration definitions
@@ -228,7 +228,7 @@
// Default Processor mode for Thread execution
// <0=> Unprivileged mode
// <1=> Privileged mode
-// Default: Unprivileged mode
+// Default: Privileged mode
#ifndef OS_PRIVILEGE_MODE
#define OS_PRIVILEGE_MODE 1
#endif
diff --git a/Examples/Network/BSD_Client/RTE/CMSIS/RTX_Config.h.base@5.6.0 b/Examples/Network/BSD_Server/RTE/CMSIS/RTX_Config.h.base@5.6.1
similarity index 99%
rename from Examples/Network/BSD_Client/RTE/CMSIS/RTX_Config.h.base@5.6.0
rename to Examples/Network/BSD_Server/RTE/CMSIS/RTX_Config.h.base@5.6.1
index fe0c57b6..f8756c5b 100644
--- a/Examples/Network/BSD_Client/RTE/CMSIS/RTX_Config.h.base@5.6.0
+++ b/Examples/Network/BSD_Server/RTE/CMSIS/RTX_Config.h.base@5.6.1
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013-2023 Arm Limited. All rights reserved.
+ * Copyright (c) 2013-2026 Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -17,7 +17,7 @@
*
* -----------------------------------------------------------------------------
*
- * $Revision: V5.6.0
+ * $Revision: V5.6.1
*
* Project: CMSIS-RTOS RTX
* Title: RTX Configuration definitions
@@ -228,9 +228,9 @@
// Default Processor mode for Thread execution
// <0=> Unprivileged mode
// <1=> Privileged mode
-// Default: Unprivileged mode
+// Default: Privileged mode
#ifndef OS_PRIVILEGE_MODE
-#define OS_PRIVILEGE_MODE 0
+#define OS_PRIVILEGE_MODE 1
#endif
//
diff --git a/Examples/Network/FTP_Server/FTP_Server.cproject.yml b/Examples/Network/FTP_Server/FTP_Server.cproject.yml
index 920e5fcd..29ed8455 100644
--- a/Examples/Network/FTP_Server/FTP_Server.cproject.yml
+++ b/Examples/Network/FTP_Server/FTP_Server.cproject.yml
@@ -2,7 +2,7 @@ project:
description: FTP Server example
packs:
- - pack: Keil::MDK-Middleware@^8.0.0-0
+ - pack: Keil::MDK-Middleware@^8.2.0-0
- pack: ARM::CMSIS@^6.1.0
- pack: ARM::CMSIS-Compiler@^2.1.0
- pack: ARM::CMSIS-RTX@^5.9.0
diff --git a/Examples/Network/FTP_Server/RTE/CMSIS/RTX_Config.h b/Examples/Network/FTP_Server/RTE/CMSIS/RTX_Config.h
index f8672bae..22ee62fe 100644
--- a/Examples/Network/FTP_Server/RTE/CMSIS/RTX_Config.h
+++ b/Examples/Network/FTP_Server/RTE/CMSIS/RTX_Config.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013-2023 Arm Limited. All rights reserved.
+ * Copyright (c) 2013-2026 Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -17,7 +17,7 @@
*
* -----------------------------------------------------------------------------
*
- * $Revision: V5.6.0
+ * $Revision: V5.6.1
*
* Project: CMSIS-RTOS RTX
* Title: RTX Configuration definitions
@@ -228,7 +228,7 @@
// Default Processor mode for Thread execution
// <0=> Unprivileged mode
// <1=> Privileged mode
-// Default: Unprivileged mode
+// Default: Privileged mode
#ifndef OS_PRIVILEGE_MODE
#define OS_PRIVILEGE_MODE 1
#endif
diff --git a/Examples/Network/BSD_Server/RTE/CMSIS/RTX_Config.h.base@5.6.0 b/Examples/Network/FTP_Server/RTE/CMSIS/RTX_Config.h.base@5.6.1
similarity index 99%
rename from Examples/Network/BSD_Server/RTE/CMSIS/RTX_Config.h.base@5.6.0
rename to Examples/Network/FTP_Server/RTE/CMSIS/RTX_Config.h.base@5.6.1
index fe0c57b6..f8756c5b 100644
--- a/Examples/Network/BSD_Server/RTE/CMSIS/RTX_Config.h.base@5.6.0
+++ b/Examples/Network/FTP_Server/RTE/CMSIS/RTX_Config.h.base@5.6.1
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013-2023 Arm Limited. All rights reserved.
+ * Copyright (c) 2013-2026 Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -17,7 +17,7 @@
*
* -----------------------------------------------------------------------------
*
- * $Revision: V5.6.0
+ * $Revision: V5.6.1
*
* Project: CMSIS-RTOS RTX
* Title: RTX Configuration definitions
@@ -228,9 +228,9 @@
// Default Processor mode for Thread execution
// <0=> Unprivileged mode
// <1=> Privileged mode
-// Default: Unprivileged mode
+// Default: Privileged mode
#ifndef OS_PRIVILEGE_MODE
-#define OS_PRIVILEGE_MODE 0
+#define OS_PRIVILEGE_MODE 1
#endif
//
diff --git a/Examples/Network/HTTPS_Server/HTTPS_Server.cproject.yml b/Examples/Network/HTTPS_Server/HTTPS_Server.cproject.yml
index 1d70cbe2..4c77ab94 100644
--- a/Examples/Network/HTTPS_Server/HTTPS_Server.cproject.yml
+++ b/Examples/Network/HTTPS_Server/HTTPS_Server.cproject.yml
@@ -2,10 +2,10 @@ project:
description: HTTPS Web Server example
packs:
- - pack: Keil::MDK-Middleware@^8.0.0-0
+ - pack: Keil::MDK-Middleware@^8.2.0-0
- pack: ARM::CMSIS@^6.1.0
- pack: ARM::CMSIS-RTX@^5.9.0
- - pack: ARM::mbedTLS@^3.6.0
+ - pack: ARM::mbedTLS@^4.0.0
connections:
- connect: HTTPS Server
@@ -16,6 +16,13 @@ project:
- CMSIS_VIO
- STDOUT
+ define:
+ - MBEDTLS_CONFIG_FILE: \"app_mbedtls_config.h\"
+ - TF_PSA_CRYPTO_CONFIG_FILE: \"app_crypto_config.h\"
+
+ add-path:
+ - ./
+
groups:
- group: Documentation
files:
@@ -24,6 +31,8 @@ project:
files:
- file: HTTPS_Server.c
- file: HTTPS_Server_CGI.c
+ - file: app_mbedtls_config.h
+ - file: app_crypto_config.h
- file: Web.c
components:
diff --git a/Examples/Network/HTTPS_Server/RTE/CMSIS/RTX_Config.h b/Examples/Network/HTTPS_Server/RTE/CMSIS/RTX_Config.h
index f8672bae..22ee62fe 100644
--- a/Examples/Network/HTTPS_Server/RTE/CMSIS/RTX_Config.h
+++ b/Examples/Network/HTTPS_Server/RTE/CMSIS/RTX_Config.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013-2023 Arm Limited. All rights reserved.
+ * Copyright (c) 2013-2026 Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -17,7 +17,7 @@
*
* -----------------------------------------------------------------------------
*
- * $Revision: V5.6.0
+ * $Revision: V5.6.1
*
* Project: CMSIS-RTOS RTX
* Title: RTX Configuration definitions
@@ -228,7 +228,7 @@
// Default Processor mode for Thread execution
// <0=> Unprivileged mode
// <1=> Privileged mode
-// Default: Unprivileged mode
+// Default: Privileged mode
#ifndef OS_PRIVILEGE_MODE
#define OS_PRIVILEGE_MODE 1
#endif
diff --git a/Examples/Network/HTTPS_Server/RTE/CMSIS/RTX_Config.h.base@5.6.0 b/Examples/Network/HTTPS_Server/RTE/CMSIS/RTX_Config.h.base@5.6.0
deleted file mode 100644
index fe0c57b6..00000000
--- a/Examples/Network/HTTPS_Server/RTE/CMSIS/RTX_Config.h.base@5.6.0
+++ /dev/null
@@ -1,663 +0,0 @@
-/*
- * Copyright (c) 2013-2023 Arm Limited. All rights reserved.
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Licensed under the Apache License, Version 2.0 (the License); you may
- * not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * -----------------------------------------------------------------------------
- *
- * $Revision: V5.6.0
- *
- * Project: CMSIS-RTOS RTX
- * Title: RTX Configuration definitions
- *
- * -----------------------------------------------------------------------------
- */
-
-#ifndef RTX_CONFIG_H_
-#define RTX_CONFIG_H_
-
-#ifdef _RTE_
-#include "RTE_Components.h"
-#ifdef RTE_RTX_CONFIG_H
-#include RTE_RTX_CONFIG_H
-#endif
-#endif
-
-//-------- <<< Use Configuration Wizard in Context Menu >>> --------------------
-
-// System Configuration
-// =======================
-
-// Global Dynamic Memory size [bytes] <0-1073741824:8>
-// Defines the combined global dynamic memory size.
-// Default: 32768
-#ifndef OS_DYNAMIC_MEM_SIZE
-#define OS_DYNAMIC_MEM_SIZE 32768
-#endif
-
-// Kernel Tick Frequency [Hz] <1-1000000>
-// Defines base time unit for delays and timeouts.
-// Default: 1000 (1ms tick)
-#ifndef OS_TICK_FREQ
-#define OS_TICK_FREQ 1000
-#endif
-
-// Round-Robin Thread switching
-// Enables Round-Robin Thread switching.
-#ifndef OS_ROBIN_ENABLE
-#define OS_ROBIN_ENABLE 1
-#endif
-
-// Round-Robin Timeout <1-1000>
-// Defines how many ticks a thread will execute before a thread switch.
-// Default: 5
-#ifndef OS_ROBIN_TIMEOUT
-#define OS_ROBIN_TIMEOUT 5
-#endif
-
-//
-
-// Safety features (Source variant only)
-// Enables FuSa related features.
-// Requires RTX Source variant.
-// Enables:
-// - selected features from this group
-// - Thread functions: osThreadProtectPrivileged
-#ifndef OS_SAFETY_FEATURES
-#define OS_SAFETY_FEATURES 0
-#endif
-
-// Safety Class
-// Threads assigned to lower classes cannot modify higher class threads.
-// Enables:
-// - Object attributes: osSafetyClass
-// - Kernel functions: osKernelProtect, osKernelDestroyClass
-// - Thread functions: osThreadGetClass, osThreadSuspendClass, osThreadResumeClass
-#ifndef OS_SAFETY_CLASS
-#define OS_SAFETY_CLASS 1
-#endif
-
-// MPU Protected Zone
-// Access protection via MPU (Spatial isolation).
-// Enables:
-// - Thread attributes: osThreadZone
-// - Thread functions: osThreadGetZone, osThreadTerminateZone
-// - Zone Management: osZoneSetup_Callback
-#ifndef OS_EXECUTION_ZONE
-#define OS_EXECUTION_ZONE 1
-#endif
-
-// Thread Watchdog
-// Watchdog alerts ensure timing for critical threads (Temporal isolation).
-// Enables:
-// - Thread functions: osThreadFeedWatchdog
-// - Handler functions: osWatchdogAlarm_Handler
-#ifndef OS_THREAD_WATCHDOG
-#define OS_THREAD_WATCHDOG 1
-#endif
-
-// Object Pointer checking
-// Check object pointer alignment and memory region.
-#ifndef OS_OBJ_PTR_CHECK
-#define OS_OBJ_PTR_CHECK 0
-#endif
-
-// SVC Function Pointer checking
-// Check SVC function pointer alignment and memory region.
-// User needs to define a linker execution region RTX_SVC_VENEERS
-// containing input sections: rtx_*.o (.text.os.svc.veneer.*)
-#ifndef OS_SVC_PTR_CHECK
-#define OS_SVC_PTR_CHECK 0
-#endif
-
-//
-
-// ISR FIFO Queue
-// <4=> 4 entries <8=> 8 entries <12=> 12 entries <16=> 16 entries
-// <24=> 24 entries <32=> 32 entries <48=> 48 entries <64=> 64 entries
-// <96=> 96 entries <128=> 128 entries <196=> 196 entries <256=> 256 entries
-// RTOS Functions called from ISR store requests to this buffer.
-// Default: 16 entries
-#ifndef OS_ISR_FIFO_QUEUE
-#define OS_ISR_FIFO_QUEUE 16
-#endif
-
-// Object Memory usage counters
-// Enables object memory usage counters (requires RTX source variant).
-#ifndef OS_OBJ_MEM_USAGE
-#define OS_OBJ_MEM_USAGE 0
-#endif
-
-//
-
-// Thread Configuration
-// =======================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_THREAD_OBJ_MEM
-#define OS_THREAD_OBJ_MEM 0
-#endif
-
-// Number of user Threads <1-1000>
-// Defines maximum number of user threads that can be active at the same time.
-// Applies to user threads with system provided memory for control blocks.
-#ifndef OS_THREAD_NUM
-#define OS_THREAD_NUM 1
-#endif
-
-// Number of user Threads with default Stack size <0-1000>
-// Defines maximum number of user threads with default stack size.
-// Applies to user threads with zero stack size specified.
-#ifndef OS_THREAD_DEF_STACK_NUM
-#define OS_THREAD_DEF_STACK_NUM 0
-#endif
-
-// Total Stack size [bytes] for user Threads with user-provided Stack size <0-1073741824:8>
-// Defines the combined stack size for user threads with user-provided stack size.
-// Applies to user threads with user-provided stack size and system provided memory for stack.
-// Default: 0
-#ifndef OS_THREAD_USER_STACK_SIZE
-#define OS_THREAD_USER_STACK_SIZE 0
-#endif
-
-//
-
-// Default Thread Stack size [bytes] <96-1073741824:8>
-// Defines stack size for threads with zero stack size specified.
-// Default: 3072
-#ifndef OS_STACK_SIZE
-#define OS_STACK_SIZE 3072
-#endif
-
-// Idle Thread Stack size [bytes] <72-1073741824:8>
-// Defines stack size for Idle thread.
-// Default: 512
-#ifndef OS_IDLE_THREAD_STACK_SIZE
-#define OS_IDLE_THREAD_STACK_SIZE 512
-#endif
-
-// Idle Thread TrustZone Module Identifier
-// Defines TrustZone Thread Context Management Identifier.
-// Applies only to cores with TrustZone technology.
-// Default: 0 (not used)
-#ifndef OS_IDLE_THREAD_TZ_MOD_ID
-#define OS_IDLE_THREAD_TZ_MOD_ID 0
-#endif
-
-// Idle Thread Safety Class <0-15>
-// Defines the Safety Class number.
-// Default: 0
-#ifndef OS_IDLE_THREAD_CLASS
-#define OS_IDLE_THREAD_CLASS 0
-#endif
-
-// Idle Thread Zone <0-127>
-// Defines Thread Zone.
-// Default: 0
-#ifndef OS_IDLE_THREAD_ZONE
-#define OS_IDLE_THREAD_ZONE 0
-#endif
-
-// Stack overrun checking
-// Enables stack overrun check at thread switch (requires RTX source variant).
-// Enabling this option increases slightly the execution time of a thread switch.
-#ifndef OS_STACK_CHECK
-#define OS_STACK_CHECK 1
-#endif
-
-// Stack usage watermark
-// Initializes thread stack with watermark pattern for analyzing stack usage.
-// Enabling this option increases significantly the execution time of thread creation.
-#ifndef OS_STACK_WATERMARK
-#define OS_STACK_WATERMARK 0
-#endif
-
-// Default Processor mode for Thread execution
-// <0=> Unprivileged mode
-// <1=> Privileged mode
-// Default: Unprivileged mode
-#ifndef OS_PRIVILEGE_MODE
-#define OS_PRIVILEGE_MODE 0
-#endif
-
-//
-
-// Timer Configuration
-// ======================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_TIMER_OBJ_MEM
-#define OS_TIMER_OBJ_MEM 0
-#endif
-
-// Number of Timer objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_TIMER_NUM
-#define OS_TIMER_NUM 1
-#endif
-
-//
-
-// Timer Thread Priority
-// <8=> Low
-// <16=> Below Normal <24=> Normal <32=> Above Normal
-// <40=> High
-// <48=> Realtime
-// Defines priority for timer thread
-// Default: High
-#ifndef OS_TIMER_THREAD_PRIO
-#define OS_TIMER_THREAD_PRIO 40
-#endif
-
-// Timer Thread Stack size [bytes] <0-1073741824:8>
-// Defines stack size for Timer thread.
-// May be set to 0 when timers are not used.
-// Default: 512
-#ifndef OS_TIMER_THREAD_STACK_SIZE
-#define OS_TIMER_THREAD_STACK_SIZE 512
-#endif
-
-// Timer Thread TrustZone Module Identifier
-// Defines TrustZone Thread Context Management Identifier.
-// Applies only to cores with TrustZone technology.
-// Default: 0 (not used)
-#ifndef OS_TIMER_THREAD_TZ_MOD_ID
-#define OS_TIMER_THREAD_TZ_MOD_ID 0
-#endif
-
-// Timer Thread Safety Class <0-15>
-// Defines the Safety Class number.
-// Default: 0
-#ifndef OS_TIMER_THREAD_CLASS
-#define OS_TIMER_THREAD_CLASS 0
-#endif
-
-// Timer Thread Zone <0-127>
-// Defines Thread Zone.
-// Default: 0
-#ifndef OS_TIMER_THREAD_ZONE
-#define OS_TIMER_THREAD_ZONE 0
-#endif
-
-// Timer Callback Queue entries <0-256>
-// Number of concurrent active timer callback functions.
-// May be set to 0 when timers are not used.
-// Default: 4
-#ifndef OS_TIMER_CB_QUEUE
-#define OS_TIMER_CB_QUEUE 4
-#endif
-
-//
-
-// Event Flags Configuration
-// ============================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_EVFLAGS_OBJ_MEM
-#define OS_EVFLAGS_OBJ_MEM 0
-#endif
-
-// Number of Event Flags objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_EVFLAGS_NUM
-#define OS_EVFLAGS_NUM 1
-#endif
-
-//
-
-//
-
-// Mutex Configuration
-// ======================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_MUTEX_OBJ_MEM
-#define OS_MUTEX_OBJ_MEM 0
-#endif
-
-// Number of Mutex objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_MUTEX_NUM
-#define OS_MUTEX_NUM 1
-#endif
-
-//
-
-//
-
-// Semaphore Configuration
-// ==========================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_SEMAPHORE_OBJ_MEM
-#define OS_SEMAPHORE_OBJ_MEM 0
-#endif
-
-// Number of Semaphore objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_SEMAPHORE_NUM
-#define OS_SEMAPHORE_NUM 1
-#endif
-
-//
-
-//
-
-// Memory Pool Configuration
-// ============================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_MEMPOOL_OBJ_MEM
-#define OS_MEMPOOL_OBJ_MEM 0
-#endif
-
-// Number of Memory Pool objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_MEMPOOL_NUM
-#define OS_MEMPOOL_NUM 1
-#endif
-
-// Data Storage Memory size [bytes] <0-1073741824:8>
-// Defines the combined data storage memory size.
-// Applies to objects with system provided memory for data storage.
-// Default: 0
-#ifndef OS_MEMPOOL_DATA_SIZE
-#define OS_MEMPOOL_DATA_SIZE 0
-#endif
-
-//
-
-//
-
-// Message Queue Configuration
-// ==============================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_MSGQUEUE_OBJ_MEM
-#define OS_MSGQUEUE_OBJ_MEM 0
-#endif
-
-// Number of Message Queue objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_MSGQUEUE_NUM
-#define OS_MSGQUEUE_NUM 1
-#endif
-
-// Data Storage Memory size [bytes] <0-1073741824:8>
-// Defines the combined data storage memory size.
-// Applies to objects with system provided memory for data storage.
-// Default: 0
-#ifndef OS_MSGQUEUE_DATA_SIZE
-#define OS_MSGQUEUE_DATA_SIZE 0
-#endif
-
-//
-
-//
-
-// Event Recorder Configuration
-// ===============================
-
-// Global Initialization
-// Initialize Event Recorder during 'osKernelInitialize'.
-#ifndef OS_EVR_INIT
-#define OS_EVR_INIT 0
-#endif
-
-// Start recording
-// Start event recording after initialization.
-#ifndef OS_EVR_START
-#define OS_EVR_START 1
-#endif
-
-// Global Event Filter Setup
-// Initial recording level applied to all components.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_LEVEL
-#define OS_EVR_LEVEL 0x00U
-#endif
-
-// RTOS Event Filter Setup
-// Recording levels for RTX components.
-// Only applicable if events for the respective component are generated.
-
-// Memory Management
-// Recording level for Memory Management events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_MEMORY_LEVEL
-#define OS_EVR_MEMORY_LEVEL 0x81U
-#endif
-
-// Kernel
-// Recording level for Kernel events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_KERNEL_LEVEL
-#define OS_EVR_KERNEL_LEVEL 0x81U
-#endif
-
-// Thread
-// Recording level for Thread events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_THREAD_LEVEL
-#define OS_EVR_THREAD_LEVEL 0x85U
-#endif
-
-// Generic Wait
-// Recording level for Generic Wait events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_WAIT_LEVEL
-#define OS_EVR_WAIT_LEVEL 0x81U
-#endif
-
-// Thread Flags
-// Recording level for Thread Flags events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_THFLAGS_LEVEL
-#define OS_EVR_THFLAGS_LEVEL 0x81U
-#endif
-
-// Event Flags
-// Recording level for Event Flags events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_EVFLAGS_LEVEL
-#define OS_EVR_EVFLAGS_LEVEL 0x81U
-#endif
-
-// Timer
-// Recording level for Timer events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_TIMER_LEVEL
-#define OS_EVR_TIMER_LEVEL 0x81U
-#endif
-
-// Mutex
-// Recording level for Mutex events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_MUTEX_LEVEL
-#define OS_EVR_MUTEX_LEVEL 0x81U
-#endif
-
-// Semaphore
-// Recording level for Semaphore events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_SEMAPHORE_LEVEL
-#define OS_EVR_SEMAPHORE_LEVEL 0x81U
-#endif
-
-// Memory Pool
-// Recording level for Memory Pool events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_MEMPOOL_LEVEL
-#define OS_EVR_MEMPOOL_LEVEL 0x81U
-#endif
-
-// Message Queue
-// Recording level for Message Queue events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_MSGQUEUE_LEVEL
-#define OS_EVR_MSGQUEUE_LEVEL 0x81U
-#endif
-
-//
-
-//
-
-// RTOS Event Generation
-// Enables event generation for RTX components (requires RTX source variant).
-
-// Memory Management
-// Enables Memory Management event generation.
-#ifndef OS_EVR_MEMORY
-#define OS_EVR_MEMORY 1
-#endif
-
-// Kernel
-// Enables Kernel event generation.
-#ifndef OS_EVR_KERNEL
-#define OS_EVR_KERNEL 1
-#endif
-
-// Thread
-// Enables Thread event generation.
-#ifndef OS_EVR_THREAD
-#define OS_EVR_THREAD 1
-#endif
-
-// Generic Wait
-// Enables Generic Wait event generation.
-#ifndef OS_EVR_WAIT
-#define OS_EVR_WAIT 1
-#endif
-
-// Thread Flags
-// Enables Thread Flags event generation.
-#ifndef OS_EVR_THFLAGS
-#define OS_EVR_THFLAGS 1
-#endif
-
-// Event Flags
-// Enables Event Flags event generation.
-#ifndef OS_EVR_EVFLAGS
-#define OS_EVR_EVFLAGS 1
-#endif
-
-// Timer
-// Enables Timer event generation.
-#ifndef OS_EVR_TIMER
-#define OS_EVR_TIMER 1
-#endif
-
-// Mutex
-// Enables Mutex event generation.
-#ifndef OS_EVR_MUTEX
-#define OS_EVR_MUTEX 1
-#endif
-
-// Semaphore
-// Enables Semaphore event generation.
-#ifndef OS_EVR_SEMAPHORE
-#define OS_EVR_SEMAPHORE 1
-#endif
-
-// Memory Pool
-// Enables Memory Pool event generation.
-#ifndef OS_EVR_MEMPOOL
-#define OS_EVR_MEMPOOL 1
-#endif
-
-// Message Queue
-// Enables Message Queue event generation.
-#ifndef OS_EVR_MSGQUEUE
-#define OS_EVR_MSGQUEUE 1
-#endif
-
-//
-
-//
-
-// Number of Threads which use standard C/C++ library libspace
-// (when thread specific memory allocation is not used).
-#if (OS_THREAD_OBJ_MEM == 0)
-#ifndef OS_THREAD_LIBSPACE_NUM
-#define OS_THREAD_LIBSPACE_NUM 4
-#endif
-#else
-#define OS_THREAD_LIBSPACE_NUM OS_THREAD_NUM
-#endif
-
-//------------- <<< end of configuration section >>> ---------------------------
-
-#endif // RTX_CONFIG_H_
diff --git a/Examples/Network/HTTPS_Server/RTE/CMSIS/RTX_Config.h.base@5.6.1 b/Examples/Network/HTTPS_Server/RTE/CMSIS/RTX_Config.h.base@5.6.1
new file mode 100644
index 00000000..f8756c5b
--- /dev/null
+++ b/Examples/Network/HTTPS_Server/RTE/CMSIS/RTX_Config.h.base@5.6.1
@@ -0,0 +1,663 @@
+/*
+ * Copyright (c) 2013-2026 Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Licensed under the Apache License, Version 2.0 (the License); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * -----------------------------------------------------------------------------
+ *
+ * $Revision: V5.6.1
+ *
+ * Project: CMSIS-RTOS RTX
+ * Title: RTX Configuration definitions
+ *
+ * -----------------------------------------------------------------------------
+ */
+
+#ifndef RTX_CONFIG_H_
+#define RTX_CONFIG_H_
+
+#ifdef _RTE_
+#include "RTE_Components.h"
+#ifdef RTE_RTX_CONFIG_H
+#include RTE_RTX_CONFIG_H
+#endif
+#endif
+
+//-------- <<< Use Configuration Wizard in Context Menu >>> --------------------
+
+// System Configuration
+// =======================
+
+// Global Dynamic Memory size [bytes] <0-1073741824:8>
+// Defines the combined global dynamic memory size.
+// Default: 32768
+#ifndef OS_DYNAMIC_MEM_SIZE
+#define OS_DYNAMIC_MEM_SIZE 32768
+#endif
+
+// Kernel Tick Frequency [Hz] <1-1000000>
+// Defines base time unit for delays and timeouts.
+// Default: 1000 (1ms tick)
+#ifndef OS_TICK_FREQ
+#define OS_TICK_FREQ 1000
+#endif
+
+// Round-Robin Thread switching
+// Enables Round-Robin Thread switching.
+#ifndef OS_ROBIN_ENABLE
+#define OS_ROBIN_ENABLE 1
+#endif
+
+// Round-Robin Timeout <1-1000>
+// Defines how many ticks a thread will execute before a thread switch.
+// Default: 5
+#ifndef OS_ROBIN_TIMEOUT
+#define OS_ROBIN_TIMEOUT 5
+#endif
+
+//
+
+// Safety features (Source variant only)
+// Enables FuSa related features.
+// Requires RTX Source variant.
+// Enables:
+// - selected features from this group
+// - Thread functions: osThreadProtectPrivileged
+#ifndef OS_SAFETY_FEATURES
+#define OS_SAFETY_FEATURES 0
+#endif
+
+// Safety Class
+// Threads assigned to lower classes cannot modify higher class threads.
+// Enables:
+// - Object attributes: osSafetyClass
+// - Kernel functions: osKernelProtect, osKernelDestroyClass
+// - Thread functions: osThreadGetClass, osThreadSuspendClass, osThreadResumeClass
+#ifndef OS_SAFETY_CLASS
+#define OS_SAFETY_CLASS 1
+#endif
+
+// MPU Protected Zone
+// Access protection via MPU (Spatial isolation).
+// Enables:
+// - Thread attributes: osThreadZone
+// - Thread functions: osThreadGetZone, osThreadTerminateZone
+// - Zone Management: osZoneSetup_Callback
+#ifndef OS_EXECUTION_ZONE
+#define OS_EXECUTION_ZONE 1
+#endif
+
+// Thread Watchdog
+// Watchdog alerts ensure timing for critical threads (Temporal isolation).
+// Enables:
+// - Thread functions: osThreadFeedWatchdog
+// - Handler functions: osWatchdogAlarm_Handler
+#ifndef OS_THREAD_WATCHDOG
+#define OS_THREAD_WATCHDOG 1
+#endif
+
+// Object Pointer checking
+// Check object pointer alignment and memory region.
+#ifndef OS_OBJ_PTR_CHECK
+#define OS_OBJ_PTR_CHECK 0
+#endif
+
+// SVC Function Pointer checking
+// Check SVC function pointer alignment and memory region.
+// User needs to define a linker execution region RTX_SVC_VENEERS
+// containing input sections: rtx_*.o (.text.os.svc.veneer.*)
+#ifndef OS_SVC_PTR_CHECK
+#define OS_SVC_PTR_CHECK 0
+#endif
+
+//
+
+// ISR FIFO Queue
+// <4=> 4 entries <8=> 8 entries <12=> 12 entries <16=> 16 entries
+// <24=> 24 entries <32=> 32 entries <48=> 48 entries <64=> 64 entries
+// <96=> 96 entries <128=> 128 entries <196=> 196 entries <256=> 256 entries
+// RTOS Functions called from ISR store requests to this buffer.
+// Default: 16 entries
+#ifndef OS_ISR_FIFO_QUEUE
+#define OS_ISR_FIFO_QUEUE 16
+#endif
+
+// Object Memory usage counters
+// Enables object memory usage counters (requires RTX source variant).
+#ifndef OS_OBJ_MEM_USAGE
+#define OS_OBJ_MEM_USAGE 0
+#endif
+
+//
+
+// Thread Configuration
+// =======================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_THREAD_OBJ_MEM
+#define OS_THREAD_OBJ_MEM 0
+#endif
+
+// Number of user Threads <1-1000>
+// Defines maximum number of user threads that can be active at the same time.
+// Applies to user threads with system provided memory for control blocks.
+#ifndef OS_THREAD_NUM
+#define OS_THREAD_NUM 1
+#endif
+
+// Number of user Threads with default Stack size <0-1000>
+// Defines maximum number of user threads with default stack size.
+// Applies to user threads with zero stack size specified.
+#ifndef OS_THREAD_DEF_STACK_NUM
+#define OS_THREAD_DEF_STACK_NUM 0
+#endif
+
+// Total Stack size [bytes] for user Threads with user-provided Stack size <0-1073741824:8>
+// Defines the combined stack size for user threads with user-provided stack size.
+// Applies to user threads with user-provided stack size and system provided memory for stack.
+// Default: 0
+#ifndef OS_THREAD_USER_STACK_SIZE
+#define OS_THREAD_USER_STACK_SIZE 0
+#endif
+
+//
+
+// Default Thread Stack size [bytes] <96-1073741824:8>
+// Defines stack size for threads with zero stack size specified.
+// Default: 3072
+#ifndef OS_STACK_SIZE
+#define OS_STACK_SIZE 3072
+#endif
+
+// Idle Thread Stack size [bytes] <72-1073741824:8>
+// Defines stack size for Idle thread.
+// Default: 512
+#ifndef OS_IDLE_THREAD_STACK_SIZE
+#define OS_IDLE_THREAD_STACK_SIZE 512
+#endif
+
+// Idle Thread TrustZone Module Identifier
+// Defines TrustZone Thread Context Management Identifier.
+// Applies only to cores with TrustZone technology.
+// Default: 0 (not used)
+#ifndef OS_IDLE_THREAD_TZ_MOD_ID
+#define OS_IDLE_THREAD_TZ_MOD_ID 0
+#endif
+
+// Idle Thread Safety Class <0-15>
+// Defines the Safety Class number.
+// Default: 0
+#ifndef OS_IDLE_THREAD_CLASS
+#define OS_IDLE_THREAD_CLASS 0
+#endif
+
+// Idle Thread Zone <0-127>
+// Defines Thread Zone.
+// Default: 0
+#ifndef OS_IDLE_THREAD_ZONE
+#define OS_IDLE_THREAD_ZONE 0
+#endif
+
+// Stack overrun checking
+// Enables stack overrun check at thread switch (requires RTX source variant).
+// Enabling this option increases slightly the execution time of a thread switch.
+#ifndef OS_STACK_CHECK
+#define OS_STACK_CHECK 1
+#endif
+
+// Stack usage watermark
+// Initializes thread stack with watermark pattern for analyzing stack usage.
+// Enabling this option increases significantly the execution time of thread creation.
+#ifndef OS_STACK_WATERMARK
+#define OS_STACK_WATERMARK 0
+#endif
+
+// Default Processor mode for Thread execution
+// <0=> Unprivileged mode
+// <1=> Privileged mode
+// Default: Privileged mode
+#ifndef OS_PRIVILEGE_MODE
+#define OS_PRIVILEGE_MODE 1
+#endif
+
+//
+
+// Timer Configuration
+// ======================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_TIMER_OBJ_MEM
+#define OS_TIMER_OBJ_MEM 0
+#endif
+
+// Number of Timer objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_TIMER_NUM
+#define OS_TIMER_NUM 1
+#endif
+
+//
+
+// Timer Thread Priority
+// <8=> Low
+// <16=> Below Normal <24=> Normal <32=> Above Normal
+// <40=> High
+// <48=> Realtime
+// Defines priority for timer thread
+// Default: High
+#ifndef OS_TIMER_THREAD_PRIO
+#define OS_TIMER_THREAD_PRIO 40
+#endif
+
+// Timer Thread Stack size [bytes] <0-1073741824:8>
+// Defines stack size for Timer thread.
+// May be set to 0 when timers are not used.
+// Default: 512
+#ifndef OS_TIMER_THREAD_STACK_SIZE
+#define OS_TIMER_THREAD_STACK_SIZE 512
+#endif
+
+// Timer Thread TrustZone Module Identifier
+// Defines TrustZone Thread Context Management Identifier.
+// Applies only to cores with TrustZone technology.
+// Default: 0 (not used)
+#ifndef OS_TIMER_THREAD_TZ_MOD_ID
+#define OS_TIMER_THREAD_TZ_MOD_ID 0
+#endif
+
+// Timer Thread Safety Class <0-15>
+// Defines the Safety Class number.
+// Default: 0
+#ifndef OS_TIMER_THREAD_CLASS
+#define OS_TIMER_THREAD_CLASS 0
+#endif
+
+// Timer Thread Zone <0-127>
+// Defines Thread Zone.
+// Default: 0
+#ifndef OS_TIMER_THREAD_ZONE
+#define OS_TIMER_THREAD_ZONE 0
+#endif
+
+// Timer Callback Queue entries <0-256>
+// Number of concurrent active timer callback functions.
+// May be set to 0 when timers are not used.
+// Default: 4
+#ifndef OS_TIMER_CB_QUEUE
+#define OS_TIMER_CB_QUEUE 4
+#endif
+
+//
+
+// Event Flags Configuration
+// ============================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_EVFLAGS_OBJ_MEM
+#define OS_EVFLAGS_OBJ_MEM 0
+#endif
+
+// Number of Event Flags objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_EVFLAGS_NUM
+#define OS_EVFLAGS_NUM 1
+#endif
+
+//
+
+//
+
+// Mutex Configuration
+// ======================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_MUTEX_OBJ_MEM
+#define OS_MUTEX_OBJ_MEM 0
+#endif
+
+// Number of Mutex objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_MUTEX_NUM
+#define OS_MUTEX_NUM 1
+#endif
+
+//
+
+//
+
+// Semaphore Configuration
+// ==========================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_SEMAPHORE_OBJ_MEM
+#define OS_SEMAPHORE_OBJ_MEM 0
+#endif
+
+// Number of Semaphore objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_SEMAPHORE_NUM
+#define OS_SEMAPHORE_NUM 1
+#endif
+
+//
+
+//
+
+// Memory Pool Configuration
+// ============================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_MEMPOOL_OBJ_MEM
+#define OS_MEMPOOL_OBJ_MEM 0
+#endif
+
+// Number of Memory Pool objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_MEMPOOL_NUM
+#define OS_MEMPOOL_NUM 1
+#endif
+
+// Data Storage Memory size [bytes] <0-1073741824:8>
+// Defines the combined data storage memory size.
+// Applies to objects with system provided memory for data storage.
+// Default: 0
+#ifndef OS_MEMPOOL_DATA_SIZE
+#define OS_MEMPOOL_DATA_SIZE 0
+#endif
+
+//
+
+//
+
+// Message Queue Configuration
+// ==============================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_MSGQUEUE_OBJ_MEM
+#define OS_MSGQUEUE_OBJ_MEM 0
+#endif
+
+// Number of Message Queue objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_MSGQUEUE_NUM
+#define OS_MSGQUEUE_NUM 1
+#endif
+
+// Data Storage Memory size [bytes] <0-1073741824:8>
+// Defines the combined data storage memory size.
+// Applies to objects with system provided memory for data storage.
+// Default: 0
+#ifndef OS_MSGQUEUE_DATA_SIZE
+#define OS_MSGQUEUE_DATA_SIZE 0
+#endif
+
+//
+
+//
+
+// Event Recorder Configuration
+// ===============================
+
+// Global Initialization
+// Initialize Event Recorder during 'osKernelInitialize'.
+#ifndef OS_EVR_INIT
+#define OS_EVR_INIT 0
+#endif
+
+// Start recording
+// Start event recording after initialization.
+#ifndef OS_EVR_START
+#define OS_EVR_START 1
+#endif
+
+// Global Event Filter Setup
+// Initial recording level applied to all components.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_LEVEL
+#define OS_EVR_LEVEL 0x00U
+#endif
+
+// RTOS Event Filter Setup
+// Recording levels for RTX components.
+// Only applicable if events for the respective component are generated.
+
+// Memory Management
+// Recording level for Memory Management events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_MEMORY_LEVEL
+#define OS_EVR_MEMORY_LEVEL 0x81U
+#endif
+
+// Kernel
+// Recording level for Kernel events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_KERNEL_LEVEL
+#define OS_EVR_KERNEL_LEVEL 0x81U
+#endif
+
+// Thread
+// Recording level for Thread events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_THREAD_LEVEL
+#define OS_EVR_THREAD_LEVEL 0x85U
+#endif
+
+// Generic Wait
+// Recording level for Generic Wait events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_WAIT_LEVEL
+#define OS_EVR_WAIT_LEVEL 0x81U
+#endif
+
+// Thread Flags
+// Recording level for Thread Flags events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_THFLAGS_LEVEL
+#define OS_EVR_THFLAGS_LEVEL 0x81U
+#endif
+
+// Event Flags
+// Recording level for Event Flags events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_EVFLAGS_LEVEL
+#define OS_EVR_EVFLAGS_LEVEL 0x81U
+#endif
+
+// Timer
+// Recording level for Timer events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_TIMER_LEVEL
+#define OS_EVR_TIMER_LEVEL 0x81U
+#endif
+
+// Mutex
+// Recording level for Mutex events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_MUTEX_LEVEL
+#define OS_EVR_MUTEX_LEVEL 0x81U
+#endif
+
+// Semaphore
+// Recording level for Semaphore events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_SEMAPHORE_LEVEL
+#define OS_EVR_SEMAPHORE_LEVEL 0x81U
+#endif
+
+// Memory Pool
+// Recording level for Memory Pool events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_MEMPOOL_LEVEL
+#define OS_EVR_MEMPOOL_LEVEL 0x81U
+#endif
+
+// Message Queue
+// Recording level for Message Queue events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_MSGQUEUE_LEVEL
+#define OS_EVR_MSGQUEUE_LEVEL 0x81U
+#endif
+
+//
+
+//
+
+// RTOS Event Generation
+// Enables event generation for RTX components (requires RTX source variant).
+
+// Memory Management
+// Enables Memory Management event generation.
+#ifndef OS_EVR_MEMORY
+#define OS_EVR_MEMORY 1
+#endif
+
+// Kernel
+// Enables Kernel event generation.
+#ifndef OS_EVR_KERNEL
+#define OS_EVR_KERNEL 1
+#endif
+
+// Thread
+// Enables Thread event generation.
+#ifndef OS_EVR_THREAD
+#define OS_EVR_THREAD 1
+#endif
+
+// Generic Wait
+// Enables Generic Wait event generation.
+#ifndef OS_EVR_WAIT
+#define OS_EVR_WAIT 1
+#endif
+
+// Thread Flags
+// Enables Thread Flags event generation.
+#ifndef OS_EVR_THFLAGS
+#define OS_EVR_THFLAGS 1
+#endif
+
+// Event Flags
+// Enables Event Flags event generation.
+#ifndef OS_EVR_EVFLAGS
+#define OS_EVR_EVFLAGS 1
+#endif
+
+// Timer
+// Enables Timer event generation.
+#ifndef OS_EVR_TIMER
+#define OS_EVR_TIMER 1
+#endif
+
+// Mutex
+// Enables Mutex event generation.
+#ifndef OS_EVR_MUTEX
+#define OS_EVR_MUTEX 1
+#endif
+
+// Semaphore
+// Enables Semaphore event generation.
+#ifndef OS_EVR_SEMAPHORE
+#define OS_EVR_SEMAPHORE 1
+#endif
+
+// Memory Pool
+// Enables Memory Pool event generation.
+#ifndef OS_EVR_MEMPOOL
+#define OS_EVR_MEMPOOL 1
+#endif
+
+// Message Queue
+// Enables Message Queue event generation.
+#ifndef OS_EVR_MSGQUEUE
+#define OS_EVR_MSGQUEUE 1
+#endif
+
+//
+
+//
+
+// Number of Threads which use standard C/C++ library libspace
+// (when thread specific memory allocation is not used).
+#if (OS_THREAD_OBJ_MEM == 0)
+#ifndef OS_THREAD_LIBSPACE_NUM
+#define OS_THREAD_LIBSPACE_NUM 4
+#endif
+#else
+#define OS_THREAD_LIBSPACE_NUM OS_THREAD_NUM
+#endif
+
+//------------- <<< end of configuration section >>> ---------------------------
+
+#endif // RTX_CONFIG_H_
diff --git a/Examples/Network/HTTPS_Server/RTE/Security/mbedTLS_config.h b/Examples/Network/HTTPS_Server/RTE/Security/mbedTLS_config.h
deleted file mode 100644
index 8a44b14d..00000000
--- a/Examples/Network/HTTPS_Server/RTE/Security/mbedTLS_config.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/**
- * Configuration template for HTTPS
- */
-/*
- * Copyright The Mbed TLS Contributors
- * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
- */
-
-#define MBEDTLS_CONFIG_VERSION 0x03060400
-
-/* System support */
-
-/* mbed TLS feature support */
-#define MBEDTLS_ENTROPY_HARDWARE_ALT
-#define MBEDTLS_AES_ROM_TABLES
-#define MBEDTLS_CIPHER_MODE_CBC
-#define MBEDTLS_CIPHER_MODE_CFB
-#define MBEDTLS_CIPHER_MODE_CTR
-#define MBEDTLS_CIPHER_PADDING_PKCS7
-#define MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS
-#define MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN
-#define MBEDTLS_CIPHER_PADDING_ZEROS
-#define MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
-#define MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED
-#define MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED
-#define MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
-#define MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED
-#define MBEDTLS_GENPRIME
-#define MBEDTLS_NO_PLATFORM_ENTROPY
-#define MBEDTLS_PK_RSA_ALT_SUPPORT
-#define MBEDTLS_PKCS1_V15
-#define MBEDTLS_PKCS1_V21
-#define MBEDTLS_SSL_ALL_ALERT_MESSAGES
-#define MBEDTLS_SSL_ENCRYPT_THEN_MAC
-#define MBEDTLS_SSL_EXTENDED_MASTER_SECRET
-#define MBEDTLS_SSL_RENEGOTIATION
-#define MBEDTLS_SSL_MAX_FRAGMENT_LENGTH
-#define MBEDTLS_SSL_PROTO_TLS1_2
-#define MBEDTLS_SSL_ALPN
-#define MBEDTLS_SSL_SESSION_TICKETS
-#define MBEDTLS_SSL_SERVER_NAME_INDICATION
-#define MBEDTLS_X509_RSASSA_PSS_SUPPORT
-
-/* mbed TLS modules */
-#define MBEDTLS_AES_C
-#define MBEDTLS_ASN1_PARSE_C
-#define MBEDTLS_ASN1_WRITE_C
-#define MBEDTLS_BASE64_C
-#define MBEDTLS_BIGNUM_C
-#define MBEDTLS_CAMELLIA_C
-#define MBEDTLS_CCM_C
-#define MBEDTLS_CIPHER_C
-#define MBEDTLS_CTR_DRBG_C
-//#define MBEDTLS_DEBUG_C
-#define MBEDTLS_DES_C
-#define MBEDTLS_DHM_C
-#define MBEDTLS_ENTROPY_C
-#define MBEDTLS_GCM_C
-#define MBEDTLS_HMAC_DRBG_C
-#define MBEDTLS_MD_C
-#define MBEDTLS_MD5_C
-#define MBEDTLS_OID_C
-#define MBEDTLS_PEM_PARSE_C
-#define MBEDTLS_PK_C
-#define MBEDTLS_PK_PARSE_C
-#define MBEDTLS_PKCS5_C
-#define MBEDTLS_PKCS12_C
-#define MBEDTLS_PLATFORM_C
-#define MBEDTLS_RIPEMD160_C
-#define MBEDTLS_RSA_C
-#define MBEDTLS_SHA1_C
-#define MBEDTLS_SHA224_C
-#define MBEDTLS_SHA256_C
-#define MBEDTLS_SHA512_C
-#define MBEDTLS_SSL_CACHE_C
-#define MBEDTLS_SSL_COOKIE_C
-#define MBEDTLS_SSL_TICKET_C
-#define MBEDTLS_SSL_SRV_C
-#define MBEDTLS_SSL_TLS_C
-#define MBEDTLS_X509_USE_C
-#define MBEDTLS_X509_CRT_PARSE_C
-#define MBEDTLS_X509_CSR_PARSE_C
-
-/* SSL options */
-#define MBEDTLS_SSL_IN_CONTENT_LEN 4096 /**< Maximum length (in bytes) of incoming plaintext fragments. */
-#define MBEDTLS_SSL_OUT_CONTENT_LEN 4096 /**< Maximum length (in bytes) of outgoing plaintext fragments. */
diff --git a/Examples/Network/HTTPS_Server/RTE/Security/mbedTLS_config.h.base@3.6.4 b/Examples/Network/HTTPS_Server/RTE/Security/mbedTLS_config.h.base@3.6.4
deleted file mode 100644
index 904acac0..00000000
--- a/Examples/Network/HTTPS_Server/RTE/Security/mbedTLS_config.h.base@3.6.4
+++ /dev/null
@@ -1,194 +0,0 @@
-/**
- * Configuration template
- */
-/*
- * Copyright The Mbed TLS Contributors
- * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
- */
-
-#define MBEDTLS_CONFIG_VERSION 0x03060400
-
-/* System support */
-//#define MBEDTLS_HAVE_ASM
-//#define MBEDTLS_HAVE_TIME
-//#define MBEDTLS_HAVE_TIME_DATE
-//#define MBEDTLS_PLATFORM_MEMORY
-//#define MBEDTLS_PLATFORM_NO_STD_FUNCTIONS
-
-/* mbed TLS feature support */
-//#define MBEDTLS_AES_ROM_TABLES
-//#define MBEDTLS_AES_FEWER_TABLES
-//#define MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
-//#define MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
-//#define MBEDTLS_CAMELLIA_SMALL_MEMORY
-//#define MBEDTLS_CHECK_RETURN_WARNING
-//#define MBEDTLS_CIPHER_MODE_CBC
-//#define MBEDTLS_CIPHER_MODE_CFB
-//#define MBEDTLS_CIPHER_MODE_CTR
-//#define MBEDTLS_CIPHER_MODE_OFB
-//#define MBEDTLS_CIPHER_MODE_XTS
-//#define MBEDTLS_CIPHER_PADDING_PKCS7
-//#define MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS
-//#define MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN
-//#define MBEDTLS_CIPHER_PADDING_ZEROS
-//#define MBEDTLS_ECP_DP_SECP192R1_ENABLED
-//#define MBEDTLS_ECP_DP_SECP224R1_ENABLED
-//#define MBEDTLS_ECP_DP_SECP256R1_ENABLED
-//#define MBEDTLS_ECP_DP_SECP384R1_ENABLED
-//#define MBEDTLS_ECP_DP_SECP521R1_ENABLED
-//#define MBEDTLS_ECP_DP_SECP192K1_ENABLED
-//#define MBEDTLS_ECP_DP_SECP224K1_ENABLED
-//#define MBEDTLS_ECP_DP_SECP256K1_ENABLED
-//#define MBEDTLS_ECP_DP_BP256R1_ENABLED
-//#define MBEDTLS_ECP_DP_BP384R1_ENABLED
-//#define MBEDTLS_ECP_DP_BP512R1_ENABLED
-//#define MBEDTLS_ECP_DP_CURVE25519_ENABLED
-//#define MBEDTLS_ECP_DP_CURVE448_ENABLED
-//#define MBEDTLS_ECP_NIST_OPTIM
-//#define MBEDTLS_ECP_RESTARTABLE
-//#define MBEDTLS_ECDSA_DETERMINISTIC
-//#define MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
-//#define MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED
-//#define MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
-//#define MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED
-//#define MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
-//#define MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED
-//#define MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
-//#define MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
-//#define MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED
-//#define MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED
-//#define MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED
-//#define MBEDTLS_PK_PARSE_EC_EXTENDED
-//#define MBEDTLS_ERROR_STRERROR_DUMMY
-//#define MBEDTLS_GCM_LARGE_TABLE
-//#define MBEDTLS_GENPRIME
-//#define MBEDTLS_FS_IO
-//#define MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES
-//#define MBEDTLS_NO_PLATFORM_ENTROPY
-//#define MBEDTLS_ENTROPY_FORCE_SHA256
-//#define MBEDTLS_ENTROPY_NV_SEED
-//#define MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER
-//#define MBEDTLS_MEMORY_DEBUG
-//#define MBEDTLS_MEMORY_BACKTRACE
-//#define MBEDTLS_PK_RSA_ALT_SUPPORT
-//#define MBEDTLS_PKCS1_V15
-//#define MBEDTLS_PKCS1_V21
-//#define MBEDTLS_PSA_CRYPTO_BUILTIN_KEYS
-//#define MBEDTLS_PSA_CRYPTO_CLIENT
-//#define MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG
-//#define MBEDTLS_PSA_CRYPTO_SPM
-//#define MBEDTLS_PSA_KEY_STORE_DYNAMIC
-//#define MBEDTLS_PSA_P256M_DRIVER_ENABLED
-//#define MBEDTLS_PSA_INJECT_ENTROPY
-//#define MBEDTLS_PSA_ASSUME_EXCLUSIVE_BUFFERS
-//#define MBEDTLS_RSA_NO_CRT
-//#define MBEDTLS_SELF_TEST
-//#define MBEDTLS_SHA256_SMALLER
-//#define MBEDTLS_SHA512_SMALLER
-//#define MBEDTLS_SSL_ALL_ALERT_MESSAGES
-//#define MBEDTLS_SSL_DTLS_CONNECTION_ID
-//#define MBEDTLS_SSL_ASYNC_PRIVATE
-//#define MBEDTLS_SSL_CLI_ALLOW_WEAK_CERTIFICATE_VERIFICATION_WITHOUT_HOSTNAME
-//#define MBEDTLS_SSL_CONTEXT_SERIALIZATION
-//#define MBEDTLS_SSL_DEBUG_ALL
-//#define MBEDTLS_SSL_ENCRYPT_THEN_MAC
-//#define MBEDTLS_SSL_EXTENDED_MASTER_SECRET
-//#define MBEDTLS_SSL_KEEP_PEER_CERTIFICATE
-//#define MBEDTLS_SSL_KEYING_MATERIAL_EXPORT
-//#define MBEDTLS_SSL_RENEGOTIATION
-//#define MBEDTLS_SSL_MAX_FRAGMENT_LENGTH
-//#define MBEDTLS_SSL_PROTO_TLS1_2
-//#define MBEDTLS_SSL_PROTO_TLS1_3
-//#define MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
-//#define MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
-//#define MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
-//#define MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
-//#define MBEDTLS_SSL_EARLY_DATA
-//#define MBEDTLS_SSL_PROTO_DTLS
-//#define MBEDTLS_SSL_ALPN
-//#define MBEDTLS_SSL_DTLS_ANTI_REPLAY
-//#define MBEDTLS_SSL_DTLS_HELLO_VERIFY
-//#define MBEDTLS_SSL_DTLS_SRTP
-//#define MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE
-//#define MBEDTLS_SSL_SESSION_TICKETS
-//#define MBEDTLS_SSL_SERVER_NAME_INDICATION
-//#define MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH
-//#define MBEDTLS_USE_PSA_CRYPTO
-//#define MBEDTLS_PSA_CRYPTO_CONFIG
-//#define MBEDTLS_VERSION_FEATURES
-//#define MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK
-//#define MBEDTLS_X509_RSASSA_PSS_SUPPORT
-
-/* mbed TLS modules */
-//#define MBEDTLS_AESCE_C
-//#define MBEDTLS_AES_C
-//#define MBEDTLS_ASN1_PARSE_C
-//#define MBEDTLS_ASN1_WRITE_C
-//#define MBEDTLS_BASE64_C
-//#define MBEDTLS_BIGNUM_C
-//#define MBEDTLS_CAMELLIA_C
-//#define MBEDTLS_ARIA_C
-//#define MBEDTLS_CCM_C
-//#define MBEDTLS_CHACHA20_C
-//#define MBEDTLS_CHACHAPOLY_C
-//#define MBEDTLS_CIPHER_C
-//#define MBEDTLS_CMAC_C
-//#define MBEDTLS_CTR_DRBG_C
-//#define MBEDTLS_DEBUG_C
-//#define MBEDTLS_DES_C
-//#define MBEDTLS_DHM_C
-//#define MBEDTLS_ECDH_C
-//#define MBEDTLS_ECDSA_C
-//#define MBEDTLS_ECJPAKE_C
-//#define MBEDTLS_ECP_C
-//#define MBEDTLS_ENTROPY_C
-//#define MBEDTLS_ERROR_C
-//#define MBEDTLS_GCM_C
-//#define MBEDTLS_HKDF_C
-//#define MBEDTLS_HMAC_DRBG_C
-//#define MBEDTLS_LMS_C
-//#define MBEDTLS_NIST_KW_C
-//#define MBEDTLS_MD_C
-//#define MBEDTLS_MD5_C
-//#define MBEDTLS_MEMORY_BUFFER_ALLOC_C
-//#define MBEDTLS_NET_C
-//#define MBEDTLS_OID_C
-//#define MBEDTLS_PEM_PARSE_C
-//#define MBEDTLS_PEM_WRITE_C
-//#define MBEDTLS_PK_C
-//#define MBEDTLS_PK_PARSE_C
-//#define MBEDTLS_PK_WRITE_C
-//#define MBEDTLS_PKCS5_C
-//#define MBEDTLS_PKCS7_C
-//#define MBEDTLS_PKCS12_C
-//#define MBEDTLS_PLATFORM_C
-//#define MBEDTLS_POLY1305_C
-//#define MBEDTLS_PSA_CRYPTO_C
-//#define MBEDTLS_PSA_CRYPTO_SE_C
-//#define MBEDTLS_PSA_CRYPTO_STORAGE_C
-//#define MBEDTLS_PSA_ITS_FILE_C
-//#define MBEDTLS_PSA_STATIC_KEY_SLOTS
-//#define MBEDTLS_RIPEMD160_C
-//#define MBEDTLS_RSA_C
-//#define MBEDTLS_SHA1_C
-//#define MBEDTLS_SHA224_C
-//#define MBEDTLS_SHA256_C
-//#define MBEDTLS_SHA384_C
-//#define MBEDTLS_SHA512_C
-//#define MBEDTLS_SHA3_C
-//#define MBEDTLS_SSL_CACHE_C
-//#define MBEDTLS_SSL_COOKIE_C
-//#define MBEDTLS_SSL_TICKET_C
-//#define MBEDTLS_SSL_CLI_C
-//#define MBEDTLS_SSL_SRV_C
-//#define MBEDTLS_SSL_TLS_C
-//#define MBEDTLS_THREADING_C
-//#define MBEDTLS_TIMING_C
-//#define MBEDTLS_VERSION_C
-//#define MBEDTLS_X509_USE_C
-//#define MBEDTLS_X509_CRT_PARSE_C
-//#define MBEDTLS_X509_CRL_PARSE_C
-//#define MBEDTLS_X509_CSR_PARSE_C
-//#define MBEDTLS_X509_CREATE_C
-//#define MBEDTLS_X509_CRT_WRITE_C
-//#define MBEDTLS_X509_CSR_WRITE_C
diff --git a/Examples/Network/HTTPS_Server/Web.c b/Examples/Network/HTTPS_Server/Web.c
index 5cb7a12b..576405f2 100644
--- a/Examples/Network/HTTPS_Server/Web.c
+++ b/Examples/Network/HTTPS_Server/Web.c
@@ -21,8 +21,8 @@ typedef struct _imageFileItem {
#define IMAGE_FILE_COUNT 19U
-/* Last-Modified: Wed, 04 Sep 2024 08:40:19 GMT */
-const uint32_t imageLastModified = 1725439219U;
+/* Last-Modified: Tue, 24 Feb 2026 09:49:23 GMT */
+const uint32_t imageLastModified = 1771926563U;
static const uint8_t imageFileData[27140U] = {
diff --git a/Examples/Network/SMTPS_Client/RTE/Security/mbedTLS_crypto_config.h.base@3.6.3 b/Examples/Network/HTTPS_Server/app_crypto_config.h
similarity index 78%
rename from Examples/Network/SMTPS_Client/RTE/Security/mbedTLS_crypto_config.h.base@3.6.3
rename to Examples/Network/HTTPS_Server/app_crypto_config.h
index 5ff378b1..bebed365 100644
--- a/Examples/Network/SMTPS_Client/RTE/Security/mbedTLS_crypto_config.h.base@3.6.3
+++ b/Examples/Network/HTTPS_Server/app_crypto_config.h
@@ -1,11 +1,14 @@
/**
- * PSA crypto configuration template
+ * PSA crypto configuration template for HTTPS
*/
/*
* Copyright The Mbed TLS Contributors
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
*/
+#define TF_PSA_CRYPTO_CONFIG_VERSION 0x01000000
+
+/* Cryptographic mechanism selection (PSA API) */
#define PSA_WANT_ALG_CBC_NO_PADDING 1
#define PSA_WANT_ALG_CBC_PKCS7 1
#define PSA_WANT_ALG_CCM 1
@@ -53,12 +56,8 @@
#define PSA_WANT_ECC_BRAINPOOL_P_R1_512 1
#define PSA_WANT_ECC_MONTGOMERY_255 1
#define PSA_WANT_ECC_MONTGOMERY_448 1
-#define PSA_WANT_ECC_SECP_K1_192 1
#define PSA_WANT_ECC_SECP_K1_256 1
-#define PSA_WANT_ECC_SECP_R1_192 1
-#define PSA_WANT_ECC_SECP_R1_224 1
-/* For secp256r1, consider enabling #MBEDTLS_PSA_P256M_DRIVER_ENABLED
- * (see the description in mbedtls/mbedtls_config.h for details). */
+
#define PSA_WANT_ECC_SECP_R1_256 1
#define PSA_WANT_ECC_SECP_R1_384 1
#define PSA_WANT_ECC_SECP_R1_521 1
@@ -77,35 +76,54 @@
#define PSA_WANT_KEY_TYPE_ARIA 1
#define PSA_WANT_KEY_TYPE_CAMELLIA 1
#define PSA_WANT_KEY_TYPE_CHACHA20 1
-#define PSA_WANT_KEY_TYPE_DES 1
-//#define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR 1 /* Deprecated */
#define PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY 1
#define PSA_WANT_KEY_TYPE_DH_PUBLIC_KEY 1
#define PSA_WANT_KEY_TYPE_RAW_DATA 1
-//#define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR 1 /* Deprecated */
#define PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY 1
-/*
- * The following symbols extend and deprecate the legacy
- * PSA_WANT_KEY_TYPE_xxx_KEY_PAIR ones. They include the usage of that key in
- * the name's suffix. "_USE" is the most generic and it can be used to describe
- * a generic suport, whereas other ones add more features on top of that and
- * they are more specific.
- */
-#define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC 1
+#define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC 1
#define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_IMPORT 1
#define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_EXPORT 1
#define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_GENERATE 1
#define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_DERIVE 1
-#define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC 1
+#define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC 1
#define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_IMPORT 1
#define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_EXPORT 1
#define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_GENERATE 1
-//#define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_DERIVE 1 /* Not supported */
-#define PSA_WANT_KEY_TYPE_DH_KEY_PAIR_BASIC 1
+#define PSA_WANT_KEY_TYPE_DH_KEY_PAIR_BASIC 1
#define PSA_WANT_KEY_TYPE_DH_KEY_PAIR_IMPORT 1
#define PSA_WANT_KEY_TYPE_DH_KEY_PAIR_EXPORT 1
#define PSA_WANT_KEY_TYPE_DH_KEY_PAIR_GENERATE 1
-//#define PSA_WANT_KEY_TYPE_DH_KEY_PAIR_DERIVE 1 /* Not supported */
+
+/* Platform abstraction layer */
+#define MBEDTLS_PLATFORM_C
+
+/* General and test configuration options */
+#define MBEDTLS_SELF_TEST
+
+/* Cryptographic mechanism selection (extended API) */
+#define MBEDTLS_MD_C
+#define MBEDTLS_PK_C
+#define MBEDTLS_PKCS5_C
+#define MBEDTLS_PK_PARSE_C
+#define MBEDTLS_PK_PARSE_EC_EXTENDED
+#define MBEDTLS_PK_WRITE_C
+
+/* Data format support */
+#define MBEDTLS_ASN1_PARSE_C
+#define MBEDTLS_ASN1_WRITE_C
+#define MBEDTLS_BASE64_C
+#define MBEDTLS_PEM_PARSE_C
+#define MBEDTLS_PEM_WRITE_C
+
+/* PSA core */
+#define MBEDTLS_CTR_DRBG_C
+#define MBEDTLS_HMAC_DRBG_C
+#define MBEDTLS_PSA_CRYPTO_C
+#define MBEDTLS_PSA_DRIVER_GET_ENTROPY
+
+/* Builtin drivers */
+#define MBEDTLS_AES_ROM_TABLES
+#define MBEDTLS_ECP_NIST_OPTIM
diff --git a/Examples/Network/HTTPS_Server/app_mbedtls_config.h b/Examples/Network/HTTPS_Server/app_mbedtls_config.h
new file mode 100644
index 00000000..54aa15a4
--- /dev/null
+++ b/Examples/Network/HTTPS_Server/app_mbedtls_config.h
@@ -0,0 +1,47 @@
+/**
+ * Configuration template for HTTPS
+ */
+/*
+ * Copyright The Mbed TLS Contributors
+ * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
+ */
+
+#define MBEDTLS_CONFIG_VERSION 0x04000000
+
+/* General configuration options */
+#define MBEDTLS_ERROR_C
+#define MBEDTLS_ERROR_STRERROR_DUMMY
+#define MBEDTLS_VERSION_C
+#define MBEDTLS_VERSION_FEATURES
+
+/* TLS feature selection */
+//#define MBEDTLS_DEBUG_C
+#define MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
+#define MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
+#define MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
+#define MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
+#define MBEDTLS_SSL_ALL_ALERT_MESSAGES
+#define MBEDTLS_SSL_ALPN
+#define MBEDTLS_SSL_CACHE_C
+#define MBEDTLS_SSL_ENCRYPT_THEN_MAC
+#define MBEDTLS_SSL_EXTENDED_MASTER_SECRET
+#define MBEDTLS_SSL_MAX_FRAGMENT_LENGTH
+#define MBEDTLS_SSL_PROTO_TLS1_2
+#define MBEDTLS_SSL_SERVER_NAME_INDICATION
+#define MBEDTLS_SSL_SESSION_TICKETS
+#define MBEDTLS_SSL_SRV_C
+#define MBEDTLS_SSL_TICKET_C
+#define MBEDTLS_SSL_TLS_C
+#define MBEDTLS_SSL_IN_CONTENT_LEN 4096
+#define MBEDTLS_SSL_OUT_CONTENT_LEN 4096
+
+/* X.509 feature selection */
+#define MBEDTLS_PKCS7_C
+#define MBEDTLS_X509_CREATE_C
+#define MBEDTLS_X509_CRL_PARSE_C
+#define MBEDTLS_X509_CRT_PARSE_C
+#define MBEDTLS_X509_CRT_WRITE_C
+#define MBEDTLS_X509_CSR_PARSE_C
+#define MBEDTLS_X509_CSR_WRITE_C
+#define MBEDTLS_X509_RSASSA_PSS_SUPPORT
+#define MBEDTLS_X509_USE_C
diff --git a/Examples/Network/HTTP_Server/HTTP_Server.cproject.yml b/Examples/Network/HTTP_Server/HTTP_Server.cproject.yml
index b02aec36..b0f7a927 100644
--- a/Examples/Network/HTTP_Server/HTTP_Server.cproject.yml
+++ b/Examples/Network/HTTP_Server/HTTP_Server.cproject.yml
@@ -2,7 +2,7 @@ project:
description: HTTP Web Server example
packs:
- - pack: Keil::MDK-Middleware@^8.0.0-0
+ - pack: Keil::MDK-Middleware@^8.2.0-0
- pack: ARM::CMSIS@^6.1.0
- pack: ARM::CMSIS-RTX@^5.9.0
diff --git a/Examples/Network/HTTP_Server/RTE/CMSIS/RTX_Config.h b/Examples/Network/HTTP_Server/RTE/CMSIS/RTX_Config.h
index f8672bae..22ee62fe 100644
--- a/Examples/Network/HTTP_Server/RTE/CMSIS/RTX_Config.h
+++ b/Examples/Network/HTTP_Server/RTE/CMSIS/RTX_Config.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013-2023 Arm Limited. All rights reserved.
+ * Copyright (c) 2013-2026 Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -17,7 +17,7 @@
*
* -----------------------------------------------------------------------------
*
- * $Revision: V5.6.0
+ * $Revision: V5.6.1
*
* Project: CMSIS-RTOS RTX
* Title: RTX Configuration definitions
@@ -228,7 +228,7 @@
// Default Processor mode for Thread execution
// <0=> Unprivileged mode
// <1=> Privileged mode
-// Default: Unprivileged mode
+// Default: Privileged mode
#ifndef OS_PRIVILEGE_MODE
#define OS_PRIVILEGE_MODE 1
#endif
diff --git a/Examples/Network/HTTP_Server/RTE/CMSIS/RTX_Config.h.base@5.6.0 b/Examples/Network/HTTP_Server/RTE/CMSIS/RTX_Config.h.base@5.6.0
deleted file mode 100644
index fe0c57b6..00000000
--- a/Examples/Network/HTTP_Server/RTE/CMSIS/RTX_Config.h.base@5.6.0
+++ /dev/null
@@ -1,663 +0,0 @@
-/*
- * Copyright (c) 2013-2023 Arm Limited. All rights reserved.
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Licensed under the Apache License, Version 2.0 (the License); you may
- * not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * -----------------------------------------------------------------------------
- *
- * $Revision: V5.6.0
- *
- * Project: CMSIS-RTOS RTX
- * Title: RTX Configuration definitions
- *
- * -----------------------------------------------------------------------------
- */
-
-#ifndef RTX_CONFIG_H_
-#define RTX_CONFIG_H_
-
-#ifdef _RTE_
-#include "RTE_Components.h"
-#ifdef RTE_RTX_CONFIG_H
-#include RTE_RTX_CONFIG_H
-#endif
-#endif
-
-//-------- <<< Use Configuration Wizard in Context Menu >>> --------------------
-
-// System Configuration
-// =======================
-
-// Global Dynamic Memory size [bytes] <0-1073741824:8>
-// Defines the combined global dynamic memory size.
-// Default: 32768
-#ifndef OS_DYNAMIC_MEM_SIZE
-#define OS_DYNAMIC_MEM_SIZE 32768
-#endif
-
-// Kernel Tick Frequency [Hz] <1-1000000>
-// Defines base time unit for delays and timeouts.
-// Default: 1000 (1ms tick)
-#ifndef OS_TICK_FREQ
-#define OS_TICK_FREQ 1000
-#endif
-
-// Round-Robin Thread switching
-// Enables Round-Robin Thread switching.
-#ifndef OS_ROBIN_ENABLE
-#define OS_ROBIN_ENABLE 1
-#endif
-
-// Round-Robin Timeout <1-1000>
-// Defines how many ticks a thread will execute before a thread switch.
-// Default: 5
-#ifndef OS_ROBIN_TIMEOUT
-#define OS_ROBIN_TIMEOUT 5
-#endif
-
-//
-
-// Safety features (Source variant only)
-// Enables FuSa related features.
-// Requires RTX Source variant.
-// Enables:
-// - selected features from this group
-// - Thread functions: osThreadProtectPrivileged
-#ifndef OS_SAFETY_FEATURES
-#define OS_SAFETY_FEATURES 0
-#endif
-
-// Safety Class
-// Threads assigned to lower classes cannot modify higher class threads.
-// Enables:
-// - Object attributes: osSafetyClass
-// - Kernel functions: osKernelProtect, osKernelDestroyClass
-// - Thread functions: osThreadGetClass, osThreadSuspendClass, osThreadResumeClass
-#ifndef OS_SAFETY_CLASS
-#define OS_SAFETY_CLASS 1
-#endif
-
-// MPU Protected Zone
-// Access protection via MPU (Spatial isolation).
-// Enables:
-// - Thread attributes: osThreadZone
-// - Thread functions: osThreadGetZone, osThreadTerminateZone
-// - Zone Management: osZoneSetup_Callback
-#ifndef OS_EXECUTION_ZONE
-#define OS_EXECUTION_ZONE 1
-#endif
-
-// Thread Watchdog
-// Watchdog alerts ensure timing for critical threads (Temporal isolation).
-// Enables:
-// - Thread functions: osThreadFeedWatchdog
-// - Handler functions: osWatchdogAlarm_Handler
-#ifndef OS_THREAD_WATCHDOG
-#define OS_THREAD_WATCHDOG 1
-#endif
-
-// Object Pointer checking
-// Check object pointer alignment and memory region.
-#ifndef OS_OBJ_PTR_CHECK
-#define OS_OBJ_PTR_CHECK 0
-#endif
-
-// SVC Function Pointer checking
-// Check SVC function pointer alignment and memory region.
-// User needs to define a linker execution region RTX_SVC_VENEERS
-// containing input sections: rtx_*.o (.text.os.svc.veneer.*)
-#ifndef OS_SVC_PTR_CHECK
-#define OS_SVC_PTR_CHECK 0
-#endif
-
-//
-
-// ISR FIFO Queue
-// <4=> 4 entries <8=> 8 entries <12=> 12 entries <16=> 16 entries
-// <24=> 24 entries <32=> 32 entries <48=> 48 entries <64=> 64 entries
-// <96=> 96 entries <128=> 128 entries <196=> 196 entries <256=> 256 entries
-// RTOS Functions called from ISR store requests to this buffer.
-// Default: 16 entries
-#ifndef OS_ISR_FIFO_QUEUE
-#define OS_ISR_FIFO_QUEUE 16
-#endif
-
-// Object Memory usage counters
-// Enables object memory usage counters (requires RTX source variant).
-#ifndef OS_OBJ_MEM_USAGE
-#define OS_OBJ_MEM_USAGE 0
-#endif
-
-//
-
-// Thread Configuration
-// =======================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_THREAD_OBJ_MEM
-#define OS_THREAD_OBJ_MEM 0
-#endif
-
-// Number of user Threads <1-1000>
-// Defines maximum number of user threads that can be active at the same time.
-// Applies to user threads with system provided memory for control blocks.
-#ifndef OS_THREAD_NUM
-#define OS_THREAD_NUM 1
-#endif
-
-// Number of user Threads with default Stack size <0-1000>
-// Defines maximum number of user threads with default stack size.
-// Applies to user threads with zero stack size specified.
-#ifndef OS_THREAD_DEF_STACK_NUM
-#define OS_THREAD_DEF_STACK_NUM 0
-#endif
-
-// Total Stack size [bytes] for user Threads with user-provided Stack size <0-1073741824:8>
-// Defines the combined stack size for user threads with user-provided stack size.
-// Applies to user threads with user-provided stack size and system provided memory for stack.
-// Default: 0
-#ifndef OS_THREAD_USER_STACK_SIZE
-#define OS_THREAD_USER_STACK_SIZE 0
-#endif
-
-//
-
-// Default Thread Stack size [bytes] <96-1073741824:8>
-// Defines stack size for threads with zero stack size specified.
-// Default: 3072
-#ifndef OS_STACK_SIZE
-#define OS_STACK_SIZE 3072
-#endif
-
-// Idle Thread Stack size [bytes] <72-1073741824:8>
-// Defines stack size for Idle thread.
-// Default: 512
-#ifndef OS_IDLE_THREAD_STACK_SIZE
-#define OS_IDLE_THREAD_STACK_SIZE 512
-#endif
-
-// Idle Thread TrustZone Module Identifier
-// Defines TrustZone Thread Context Management Identifier.
-// Applies only to cores with TrustZone technology.
-// Default: 0 (not used)
-#ifndef OS_IDLE_THREAD_TZ_MOD_ID
-#define OS_IDLE_THREAD_TZ_MOD_ID 0
-#endif
-
-// Idle Thread Safety Class <0-15>
-// Defines the Safety Class number.
-// Default: 0
-#ifndef OS_IDLE_THREAD_CLASS
-#define OS_IDLE_THREAD_CLASS 0
-#endif
-
-// Idle Thread Zone <0-127>
-// Defines Thread Zone.
-// Default: 0
-#ifndef OS_IDLE_THREAD_ZONE
-#define OS_IDLE_THREAD_ZONE 0
-#endif
-
-// Stack overrun checking
-// Enables stack overrun check at thread switch (requires RTX source variant).
-// Enabling this option increases slightly the execution time of a thread switch.
-#ifndef OS_STACK_CHECK
-#define OS_STACK_CHECK 1
-#endif
-
-// Stack usage watermark
-// Initializes thread stack with watermark pattern for analyzing stack usage.
-// Enabling this option increases significantly the execution time of thread creation.
-#ifndef OS_STACK_WATERMARK
-#define OS_STACK_WATERMARK 0
-#endif
-
-// Default Processor mode for Thread execution
-// <0=> Unprivileged mode
-// <1=> Privileged mode
-// Default: Unprivileged mode
-#ifndef OS_PRIVILEGE_MODE
-#define OS_PRIVILEGE_MODE 0
-#endif
-
-//
-
-// Timer Configuration
-// ======================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_TIMER_OBJ_MEM
-#define OS_TIMER_OBJ_MEM 0
-#endif
-
-// Number of Timer objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_TIMER_NUM
-#define OS_TIMER_NUM 1
-#endif
-
-//
-
-// Timer Thread Priority
-// <8=> Low
-// <16=> Below Normal <24=> Normal <32=> Above Normal
-// <40=> High
-// <48=> Realtime
-// Defines priority for timer thread
-// Default: High
-#ifndef OS_TIMER_THREAD_PRIO
-#define OS_TIMER_THREAD_PRIO 40
-#endif
-
-// Timer Thread Stack size [bytes] <0-1073741824:8>
-// Defines stack size for Timer thread.
-// May be set to 0 when timers are not used.
-// Default: 512
-#ifndef OS_TIMER_THREAD_STACK_SIZE
-#define OS_TIMER_THREAD_STACK_SIZE 512
-#endif
-
-// Timer Thread TrustZone Module Identifier
-// Defines TrustZone Thread Context Management Identifier.
-// Applies only to cores with TrustZone technology.
-// Default: 0 (not used)
-#ifndef OS_TIMER_THREAD_TZ_MOD_ID
-#define OS_TIMER_THREAD_TZ_MOD_ID 0
-#endif
-
-// Timer Thread Safety Class <0-15>
-// Defines the Safety Class number.
-// Default: 0
-#ifndef OS_TIMER_THREAD_CLASS
-#define OS_TIMER_THREAD_CLASS 0
-#endif
-
-// Timer Thread Zone <0-127>
-// Defines Thread Zone.
-// Default: 0
-#ifndef OS_TIMER_THREAD_ZONE
-#define OS_TIMER_THREAD_ZONE 0
-#endif
-
-// Timer Callback Queue entries <0-256>
-// Number of concurrent active timer callback functions.
-// May be set to 0 when timers are not used.
-// Default: 4
-#ifndef OS_TIMER_CB_QUEUE
-#define OS_TIMER_CB_QUEUE 4
-#endif
-
-//
-
-// Event Flags Configuration
-// ============================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_EVFLAGS_OBJ_MEM
-#define OS_EVFLAGS_OBJ_MEM 0
-#endif
-
-// Number of Event Flags objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_EVFLAGS_NUM
-#define OS_EVFLAGS_NUM 1
-#endif
-
-//
-
-//
-
-// Mutex Configuration
-// ======================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_MUTEX_OBJ_MEM
-#define OS_MUTEX_OBJ_MEM 0
-#endif
-
-// Number of Mutex objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_MUTEX_NUM
-#define OS_MUTEX_NUM 1
-#endif
-
-//
-
-//
-
-// Semaphore Configuration
-// ==========================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_SEMAPHORE_OBJ_MEM
-#define OS_SEMAPHORE_OBJ_MEM 0
-#endif
-
-// Number of Semaphore objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_SEMAPHORE_NUM
-#define OS_SEMAPHORE_NUM 1
-#endif
-
-//
-
-//
-
-// Memory Pool Configuration
-// ============================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_MEMPOOL_OBJ_MEM
-#define OS_MEMPOOL_OBJ_MEM 0
-#endif
-
-// Number of Memory Pool objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_MEMPOOL_NUM
-#define OS_MEMPOOL_NUM 1
-#endif
-
-// Data Storage Memory size [bytes] <0-1073741824:8>
-// Defines the combined data storage memory size.
-// Applies to objects with system provided memory for data storage.
-// Default: 0
-#ifndef OS_MEMPOOL_DATA_SIZE
-#define OS_MEMPOOL_DATA_SIZE 0
-#endif
-
-//
-
-//
-
-// Message Queue Configuration
-// ==============================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_MSGQUEUE_OBJ_MEM
-#define OS_MSGQUEUE_OBJ_MEM 0
-#endif
-
-// Number of Message Queue objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_MSGQUEUE_NUM
-#define OS_MSGQUEUE_NUM 1
-#endif
-
-// Data Storage Memory size [bytes] <0-1073741824:8>
-// Defines the combined data storage memory size.
-// Applies to objects with system provided memory for data storage.
-// Default: 0
-#ifndef OS_MSGQUEUE_DATA_SIZE
-#define OS_MSGQUEUE_DATA_SIZE 0
-#endif
-
-//
-
-//
-
-// Event Recorder Configuration
-// ===============================
-
-// Global Initialization
-// Initialize Event Recorder during 'osKernelInitialize'.
-#ifndef OS_EVR_INIT
-#define OS_EVR_INIT 0
-#endif
-
-// Start recording
-// Start event recording after initialization.
-#ifndef OS_EVR_START
-#define OS_EVR_START 1
-#endif
-
-// Global Event Filter Setup
-// Initial recording level applied to all components.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_LEVEL
-#define OS_EVR_LEVEL 0x00U
-#endif
-
-// RTOS Event Filter Setup
-// Recording levels for RTX components.
-// Only applicable if events for the respective component are generated.
-
-// Memory Management
-// Recording level for Memory Management events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_MEMORY_LEVEL
-#define OS_EVR_MEMORY_LEVEL 0x81U
-#endif
-
-// Kernel
-// Recording level for Kernel events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_KERNEL_LEVEL
-#define OS_EVR_KERNEL_LEVEL 0x81U
-#endif
-
-// Thread
-// Recording level for Thread events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_THREAD_LEVEL
-#define OS_EVR_THREAD_LEVEL 0x85U
-#endif
-
-// Generic Wait
-// Recording level for Generic Wait events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_WAIT_LEVEL
-#define OS_EVR_WAIT_LEVEL 0x81U
-#endif
-
-// Thread Flags
-// Recording level for Thread Flags events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_THFLAGS_LEVEL
-#define OS_EVR_THFLAGS_LEVEL 0x81U
-#endif
-
-// Event Flags
-// Recording level for Event Flags events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_EVFLAGS_LEVEL
-#define OS_EVR_EVFLAGS_LEVEL 0x81U
-#endif
-
-// Timer
-// Recording level for Timer events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_TIMER_LEVEL
-#define OS_EVR_TIMER_LEVEL 0x81U
-#endif
-
-// Mutex
-// Recording level for Mutex events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_MUTEX_LEVEL
-#define OS_EVR_MUTEX_LEVEL 0x81U
-#endif
-
-// Semaphore
-// Recording level for Semaphore events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_SEMAPHORE_LEVEL
-#define OS_EVR_SEMAPHORE_LEVEL 0x81U
-#endif
-
-// Memory Pool
-// Recording level for Memory Pool events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_MEMPOOL_LEVEL
-#define OS_EVR_MEMPOOL_LEVEL 0x81U
-#endif
-
-// Message Queue
-// Recording level for Message Queue events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_MSGQUEUE_LEVEL
-#define OS_EVR_MSGQUEUE_LEVEL 0x81U
-#endif
-
-//
-
-//
-
-// RTOS Event Generation
-// Enables event generation for RTX components (requires RTX source variant).
-
-// Memory Management
-// Enables Memory Management event generation.
-#ifndef OS_EVR_MEMORY
-#define OS_EVR_MEMORY 1
-#endif
-
-// Kernel
-// Enables Kernel event generation.
-#ifndef OS_EVR_KERNEL
-#define OS_EVR_KERNEL 1
-#endif
-
-// Thread
-// Enables Thread event generation.
-#ifndef OS_EVR_THREAD
-#define OS_EVR_THREAD 1
-#endif
-
-// Generic Wait
-// Enables Generic Wait event generation.
-#ifndef OS_EVR_WAIT
-#define OS_EVR_WAIT 1
-#endif
-
-// Thread Flags
-// Enables Thread Flags event generation.
-#ifndef OS_EVR_THFLAGS
-#define OS_EVR_THFLAGS 1
-#endif
-
-// Event Flags
-// Enables Event Flags event generation.
-#ifndef OS_EVR_EVFLAGS
-#define OS_EVR_EVFLAGS 1
-#endif
-
-// Timer
-// Enables Timer event generation.
-#ifndef OS_EVR_TIMER
-#define OS_EVR_TIMER 1
-#endif
-
-// Mutex
-// Enables Mutex event generation.
-#ifndef OS_EVR_MUTEX
-#define OS_EVR_MUTEX 1
-#endif
-
-// Semaphore
-// Enables Semaphore event generation.
-#ifndef OS_EVR_SEMAPHORE
-#define OS_EVR_SEMAPHORE 1
-#endif
-
-// Memory Pool
-// Enables Memory Pool event generation.
-#ifndef OS_EVR_MEMPOOL
-#define OS_EVR_MEMPOOL 1
-#endif
-
-// Message Queue
-// Enables Message Queue event generation.
-#ifndef OS_EVR_MSGQUEUE
-#define OS_EVR_MSGQUEUE 1
-#endif
-
-//
-
-//
-
-// Number of Threads which use standard C/C++ library libspace
-// (when thread specific memory allocation is not used).
-#if (OS_THREAD_OBJ_MEM == 0)
-#ifndef OS_THREAD_LIBSPACE_NUM
-#define OS_THREAD_LIBSPACE_NUM 4
-#endif
-#else
-#define OS_THREAD_LIBSPACE_NUM OS_THREAD_NUM
-#endif
-
-//------------- <<< end of configuration section >>> ---------------------------
-
-#endif // RTX_CONFIG_H_
diff --git a/Examples/Network/HTTP_Server/RTE/CMSIS/RTX_Config.h.base@5.6.1 b/Examples/Network/HTTP_Server/RTE/CMSIS/RTX_Config.h.base@5.6.1
new file mode 100644
index 00000000..f8756c5b
--- /dev/null
+++ b/Examples/Network/HTTP_Server/RTE/CMSIS/RTX_Config.h.base@5.6.1
@@ -0,0 +1,663 @@
+/*
+ * Copyright (c) 2013-2026 Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Licensed under the Apache License, Version 2.0 (the License); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * -----------------------------------------------------------------------------
+ *
+ * $Revision: V5.6.1
+ *
+ * Project: CMSIS-RTOS RTX
+ * Title: RTX Configuration definitions
+ *
+ * -----------------------------------------------------------------------------
+ */
+
+#ifndef RTX_CONFIG_H_
+#define RTX_CONFIG_H_
+
+#ifdef _RTE_
+#include "RTE_Components.h"
+#ifdef RTE_RTX_CONFIG_H
+#include RTE_RTX_CONFIG_H
+#endif
+#endif
+
+//-------- <<< Use Configuration Wizard in Context Menu >>> --------------------
+
+// System Configuration
+// =======================
+
+// Global Dynamic Memory size [bytes] <0-1073741824:8>
+// Defines the combined global dynamic memory size.
+// Default: 32768
+#ifndef OS_DYNAMIC_MEM_SIZE
+#define OS_DYNAMIC_MEM_SIZE 32768
+#endif
+
+// Kernel Tick Frequency [Hz] <1-1000000>
+// Defines base time unit for delays and timeouts.
+// Default: 1000 (1ms tick)
+#ifndef OS_TICK_FREQ
+#define OS_TICK_FREQ 1000
+#endif
+
+// Round-Robin Thread switching
+// Enables Round-Robin Thread switching.
+#ifndef OS_ROBIN_ENABLE
+#define OS_ROBIN_ENABLE 1
+#endif
+
+// Round-Robin Timeout <1-1000>
+// Defines how many ticks a thread will execute before a thread switch.
+// Default: 5
+#ifndef OS_ROBIN_TIMEOUT
+#define OS_ROBIN_TIMEOUT 5
+#endif
+
+//
+
+// Safety features (Source variant only)
+// Enables FuSa related features.
+// Requires RTX Source variant.
+// Enables:
+// - selected features from this group
+// - Thread functions: osThreadProtectPrivileged
+#ifndef OS_SAFETY_FEATURES
+#define OS_SAFETY_FEATURES 0
+#endif
+
+// Safety Class
+// Threads assigned to lower classes cannot modify higher class threads.
+// Enables:
+// - Object attributes: osSafetyClass
+// - Kernel functions: osKernelProtect, osKernelDestroyClass
+// - Thread functions: osThreadGetClass, osThreadSuspendClass, osThreadResumeClass
+#ifndef OS_SAFETY_CLASS
+#define OS_SAFETY_CLASS 1
+#endif
+
+// MPU Protected Zone
+// Access protection via MPU (Spatial isolation).
+// Enables:
+// - Thread attributes: osThreadZone
+// - Thread functions: osThreadGetZone, osThreadTerminateZone
+// - Zone Management: osZoneSetup_Callback
+#ifndef OS_EXECUTION_ZONE
+#define OS_EXECUTION_ZONE 1
+#endif
+
+// Thread Watchdog
+// Watchdog alerts ensure timing for critical threads (Temporal isolation).
+// Enables:
+// - Thread functions: osThreadFeedWatchdog
+// - Handler functions: osWatchdogAlarm_Handler
+#ifndef OS_THREAD_WATCHDOG
+#define OS_THREAD_WATCHDOG 1
+#endif
+
+// Object Pointer checking
+// Check object pointer alignment and memory region.
+#ifndef OS_OBJ_PTR_CHECK
+#define OS_OBJ_PTR_CHECK 0
+#endif
+
+// SVC Function Pointer checking
+// Check SVC function pointer alignment and memory region.
+// User needs to define a linker execution region RTX_SVC_VENEERS
+// containing input sections: rtx_*.o (.text.os.svc.veneer.*)
+#ifndef OS_SVC_PTR_CHECK
+#define OS_SVC_PTR_CHECK 0
+#endif
+
+//
+
+// ISR FIFO Queue
+// <4=> 4 entries <8=> 8 entries <12=> 12 entries <16=> 16 entries
+// <24=> 24 entries <32=> 32 entries <48=> 48 entries <64=> 64 entries
+// <96=> 96 entries <128=> 128 entries <196=> 196 entries <256=> 256 entries
+// RTOS Functions called from ISR store requests to this buffer.
+// Default: 16 entries
+#ifndef OS_ISR_FIFO_QUEUE
+#define OS_ISR_FIFO_QUEUE 16
+#endif
+
+// Object Memory usage counters
+// Enables object memory usage counters (requires RTX source variant).
+#ifndef OS_OBJ_MEM_USAGE
+#define OS_OBJ_MEM_USAGE 0
+#endif
+
+//
+
+// Thread Configuration
+// =======================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_THREAD_OBJ_MEM
+#define OS_THREAD_OBJ_MEM 0
+#endif
+
+// Number of user Threads <1-1000>
+// Defines maximum number of user threads that can be active at the same time.
+// Applies to user threads with system provided memory for control blocks.
+#ifndef OS_THREAD_NUM
+#define OS_THREAD_NUM 1
+#endif
+
+// Number of user Threads with default Stack size <0-1000>
+// Defines maximum number of user threads with default stack size.
+// Applies to user threads with zero stack size specified.
+#ifndef OS_THREAD_DEF_STACK_NUM
+#define OS_THREAD_DEF_STACK_NUM 0
+#endif
+
+// Total Stack size [bytes] for user Threads with user-provided Stack size <0-1073741824:8>
+// Defines the combined stack size for user threads with user-provided stack size.
+// Applies to user threads with user-provided stack size and system provided memory for stack.
+// Default: 0
+#ifndef OS_THREAD_USER_STACK_SIZE
+#define OS_THREAD_USER_STACK_SIZE 0
+#endif
+
+//
+
+// Default Thread Stack size [bytes] <96-1073741824:8>
+// Defines stack size for threads with zero stack size specified.
+// Default: 3072
+#ifndef OS_STACK_SIZE
+#define OS_STACK_SIZE 3072
+#endif
+
+// Idle Thread Stack size [bytes] <72-1073741824:8>
+// Defines stack size for Idle thread.
+// Default: 512
+#ifndef OS_IDLE_THREAD_STACK_SIZE
+#define OS_IDLE_THREAD_STACK_SIZE 512
+#endif
+
+// Idle Thread TrustZone Module Identifier
+// Defines TrustZone Thread Context Management Identifier.
+// Applies only to cores with TrustZone technology.
+// Default: 0 (not used)
+#ifndef OS_IDLE_THREAD_TZ_MOD_ID
+#define OS_IDLE_THREAD_TZ_MOD_ID 0
+#endif
+
+// Idle Thread Safety Class <0-15>
+// Defines the Safety Class number.
+// Default: 0
+#ifndef OS_IDLE_THREAD_CLASS
+#define OS_IDLE_THREAD_CLASS 0
+#endif
+
+// Idle Thread Zone <0-127>
+// Defines Thread Zone.
+// Default: 0
+#ifndef OS_IDLE_THREAD_ZONE
+#define OS_IDLE_THREAD_ZONE 0
+#endif
+
+// Stack overrun checking
+// Enables stack overrun check at thread switch (requires RTX source variant).
+// Enabling this option increases slightly the execution time of a thread switch.
+#ifndef OS_STACK_CHECK
+#define OS_STACK_CHECK 1
+#endif
+
+// Stack usage watermark
+// Initializes thread stack with watermark pattern for analyzing stack usage.
+// Enabling this option increases significantly the execution time of thread creation.
+#ifndef OS_STACK_WATERMARK
+#define OS_STACK_WATERMARK 0
+#endif
+
+// Default Processor mode for Thread execution
+// <0=> Unprivileged mode
+// <1=> Privileged mode
+// Default: Privileged mode
+#ifndef OS_PRIVILEGE_MODE
+#define OS_PRIVILEGE_MODE 1
+#endif
+
+//
+
+// Timer Configuration
+// ======================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_TIMER_OBJ_MEM
+#define OS_TIMER_OBJ_MEM 0
+#endif
+
+// Number of Timer objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_TIMER_NUM
+#define OS_TIMER_NUM 1
+#endif
+
+//
+
+// Timer Thread Priority
+// <8=> Low
+// <16=> Below Normal <24=> Normal <32=> Above Normal
+// <40=> High
+// <48=> Realtime
+// Defines priority for timer thread
+// Default: High
+#ifndef OS_TIMER_THREAD_PRIO
+#define OS_TIMER_THREAD_PRIO 40
+#endif
+
+// Timer Thread Stack size [bytes] <0-1073741824:8>
+// Defines stack size for Timer thread.
+// May be set to 0 when timers are not used.
+// Default: 512
+#ifndef OS_TIMER_THREAD_STACK_SIZE
+#define OS_TIMER_THREAD_STACK_SIZE 512
+#endif
+
+// Timer Thread TrustZone Module Identifier
+// Defines TrustZone Thread Context Management Identifier.
+// Applies only to cores with TrustZone technology.
+// Default: 0 (not used)
+#ifndef OS_TIMER_THREAD_TZ_MOD_ID
+#define OS_TIMER_THREAD_TZ_MOD_ID 0
+#endif
+
+// Timer Thread Safety Class <0-15>
+// Defines the Safety Class number.
+// Default: 0
+#ifndef OS_TIMER_THREAD_CLASS
+#define OS_TIMER_THREAD_CLASS 0
+#endif
+
+// Timer Thread Zone <0-127>
+// Defines Thread Zone.
+// Default: 0
+#ifndef OS_TIMER_THREAD_ZONE
+#define OS_TIMER_THREAD_ZONE 0
+#endif
+
+// Timer Callback Queue entries <0-256>
+// Number of concurrent active timer callback functions.
+// May be set to 0 when timers are not used.
+// Default: 4
+#ifndef OS_TIMER_CB_QUEUE
+#define OS_TIMER_CB_QUEUE 4
+#endif
+
+//
+
+// Event Flags Configuration
+// ============================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_EVFLAGS_OBJ_MEM
+#define OS_EVFLAGS_OBJ_MEM 0
+#endif
+
+// Number of Event Flags objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_EVFLAGS_NUM
+#define OS_EVFLAGS_NUM 1
+#endif
+
+//
+
+//
+
+// Mutex Configuration
+// ======================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_MUTEX_OBJ_MEM
+#define OS_MUTEX_OBJ_MEM 0
+#endif
+
+// Number of Mutex objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_MUTEX_NUM
+#define OS_MUTEX_NUM 1
+#endif
+
+//
+
+//
+
+// Semaphore Configuration
+// ==========================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_SEMAPHORE_OBJ_MEM
+#define OS_SEMAPHORE_OBJ_MEM 0
+#endif
+
+// Number of Semaphore objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_SEMAPHORE_NUM
+#define OS_SEMAPHORE_NUM 1
+#endif
+
+//
+
+//
+
+// Memory Pool Configuration
+// ============================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_MEMPOOL_OBJ_MEM
+#define OS_MEMPOOL_OBJ_MEM 0
+#endif
+
+// Number of Memory Pool objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_MEMPOOL_NUM
+#define OS_MEMPOOL_NUM 1
+#endif
+
+// Data Storage Memory size [bytes] <0-1073741824:8>
+// Defines the combined data storage memory size.
+// Applies to objects with system provided memory for data storage.
+// Default: 0
+#ifndef OS_MEMPOOL_DATA_SIZE
+#define OS_MEMPOOL_DATA_SIZE 0
+#endif
+
+//
+
+//
+
+// Message Queue Configuration
+// ==============================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_MSGQUEUE_OBJ_MEM
+#define OS_MSGQUEUE_OBJ_MEM 0
+#endif
+
+// Number of Message Queue objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_MSGQUEUE_NUM
+#define OS_MSGQUEUE_NUM 1
+#endif
+
+// Data Storage Memory size [bytes] <0-1073741824:8>
+// Defines the combined data storage memory size.
+// Applies to objects with system provided memory for data storage.
+// Default: 0
+#ifndef OS_MSGQUEUE_DATA_SIZE
+#define OS_MSGQUEUE_DATA_SIZE 0
+#endif
+
+//
+
+//
+
+// Event Recorder Configuration
+// ===============================
+
+// Global Initialization
+// Initialize Event Recorder during 'osKernelInitialize'.
+#ifndef OS_EVR_INIT
+#define OS_EVR_INIT 0
+#endif
+
+// Start recording
+// Start event recording after initialization.
+#ifndef OS_EVR_START
+#define OS_EVR_START 1
+#endif
+
+// Global Event Filter Setup
+// Initial recording level applied to all components.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_LEVEL
+#define OS_EVR_LEVEL 0x00U
+#endif
+
+// RTOS Event Filter Setup
+// Recording levels for RTX components.
+// Only applicable if events for the respective component are generated.
+
+// Memory Management
+// Recording level for Memory Management events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_MEMORY_LEVEL
+#define OS_EVR_MEMORY_LEVEL 0x81U
+#endif
+
+// Kernel
+// Recording level for Kernel events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_KERNEL_LEVEL
+#define OS_EVR_KERNEL_LEVEL 0x81U
+#endif
+
+// Thread
+// Recording level for Thread events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_THREAD_LEVEL
+#define OS_EVR_THREAD_LEVEL 0x85U
+#endif
+
+// Generic Wait
+// Recording level for Generic Wait events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_WAIT_LEVEL
+#define OS_EVR_WAIT_LEVEL 0x81U
+#endif
+
+// Thread Flags
+// Recording level for Thread Flags events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_THFLAGS_LEVEL
+#define OS_EVR_THFLAGS_LEVEL 0x81U
+#endif
+
+// Event Flags
+// Recording level for Event Flags events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_EVFLAGS_LEVEL
+#define OS_EVR_EVFLAGS_LEVEL 0x81U
+#endif
+
+// Timer
+// Recording level for Timer events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_TIMER_LEVEL
+#define OS_EVR_TIMER_LEVEL 0x81U
+#endif
+
+// Mutex
+// Recording level for Mutex events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_MUTEX_LEVEL
+#define OS_EVR_MUTEX_LEVEL 0x81U
+#endif
+
+// Semaphore
+// Recording level for Semaphore events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_SEMAPHORE_LEVEL
+#define OS_EVR_SEMAPHORE_LEVEL 0x81U
+#endif
+
+// Memory Pool
+// Recording level for Memory Pool events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_MEMPOOL_LEVEL
+#define OS_EVR_MEMPOOL_LEVEL 0x81U
+#endif
+
+// Message Queue
+// Recording level for Message Queue events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_MSGQUEUE_LEVEL
+#define OS_EVR_MSGQUEUE_LEVEL 0x81U
+#endif
+
+//
+
+//
+
+// RTOS Event Generation
+// Enables event generation for RTX components (requires RTX source variant).
+
+// Memory Management
+// Enables Memory Management event generation.
+#ifndef OS_EVR_MEMORY
+#define OS_EVR_MEMORY 1
+#endif
+
+// Kernel
+// Enables Kernel event generation.
+#ifndef OS_EVR_KERNEL
+#define OS_EVR_KERNEL 1
+#endif
+
+// Thread
+// Enables Thread event generation.
+#ifndef OS_EVR_THREAD
+#define OS_EVR_THREAD 1
+#endif
+
+// Generic Wait
+// Enables Generic Wait event generation.
+#ifndef OS_EVR_WAIT
+#define OS_EVR_WAIT 1
+#endif
+
+// Thread Flags
+// Enables Thread Flags event generation.
+#ifndef OS_EVR_THFLAGS
+#define OS_EVR_THFLAGS 1
+#endif
+
+// Event Flags
+// Enables Event Flags event generation.
+#ifndef OS_EVR_EVFLAGS
+#define OS_EVR_EVFLAGS 1
+#endif
+
+// Timer
+// Enables Timer event generation.
+#ifndef OS_EVR_TIMER
+#define OS_EVR_TIMER 1
+#endif
+
+// Mutex
+// Enables Mutex event generation.
+#ifndef OS_EVR_MUTEX
+#define OS_EVR_MUTEX 1
+#endif
+
+// Semaphore
+// Enables Semaphore event generation.
+#ifndef OS_EVR_SEMAPHORE
+#define OS_EVR_SEMAPHORE 1
+#endif
+
+// Memory Pool
+// Enables Memory Pool event generation.
+#ifndef OS_EVR_MEMPOOL
+#define OS_EVR_MEMPOOL 1
+#endif
+
+// Message Queue
+// Enables Message Queue event generation.
+#ifndef OS_EVR_MSGQUEUE
+#define OS_EVR_MSGQUEUE 1
+#endif
+
+//
+
+//
+
+// Number of Threads which use standard C/C++ library libspace
+// (when thread specific memory allocation is not used).
+#if (OS_THREAD_OBJ_MEM == 0)
+#ifndef OS_THREAD_LIBSPACE_NUM
+#define OS_THREAD_LIBSPACE_NUM 4
+#endif
+#else
+#define OS_THREAD_LIBSPACE_NUM OS_THREAD_NUM
+#endif
+
+//------------- <<< end of configuration section >>> ---------------------------
+
+#endif // RTX_CONFIG_H_
diff --git a/Examples/Network/HTTP_Upload/HTTP_Upload.cproject.yml b/Examples/Network/HTTP_Upload/HTTP_Upload.cproject.yml
index e3b743f0..8d9ae9b8 100644
--- a/Examples/Network/HTTP_Upload/HTTP_Upload.cproject.yml
+++ b/Examples/Network/HTTP_Upload/HTTP_Upload.cproject.yml
@@ -2,7 +2,7 @@ project:
description: HTTP Web Server Upload example
packs:
- - pack: Keil::MDK-Middleware@^8.0.0-0
+ - pack: Keil::MDK-Middleware@^8.2.0-0
- pack: ARM::CMSIS@^6.1.0
- pack: ARM::CMSIS-Compiler@^2.1.0
- pack: ARM::CMSIS-RTX@^5.9.0
diff --git a/Examples/Network/HTTP_Upload/RTE/CMSIS/RTX_Config.h b/Examples/Network/HTTP_Upload/RTE/CMSIS/RTX_Config.h
index f8672bae..22ee62fe 100644
--- a/Examples/Network/HTTP_Upload/RTE/CMSIS/RTX_Config.h
+++ b/Examples/Network/HTTP_Upload/RTE/CMSIS/RTX_Config.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013-2023 Arm Limited. All rights reserved.
+ * Copyright (c) 2013-2026 Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -17,7 +17,7 @@
*
* -----------------------------------------------------------------------------
*
- * $Revision: V5.6.0
+ * $Revision: V5.6.1
*
* Project: CMSIS-RTOS RTX
* Title: RTX Configuration definitions
@@ -228,7 +228,7 @@
// Default Processor mode for Thread execution
// <0=> Unprivileged mode
// <1=> Privileged mode
-// Default: Unprivileged mode
+// Default: Privileged mode
#ifndef OS_PRIVILEGE_MODE
#define OS_PRIVILEGE_MODE 1
#endif
diff --git a/Examples/Network/HTTP_Upload/RTE/CMSIS/RTX_Config.h.base@5.6.0 b/Examples/Network/HTTP_Upload/RTE/CMSIS/RTX_Config.h.base@5.6.0
deleted file mode 100644
index fe0c57b6..00000000
--- a/Examples/Network/HTTP_Upload/RTE/CMSIS/RTX_Config.h.base@5.6.0
+++ /dev/null
@@ -1,663 +0,0 @@
-/*
- * Copyright (c) 2013-2023 Arm Limited. All rights reserved.
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Licensed under the Apache License, Version 2.0 (the License); you may
- * not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * -----------------------------------------------------------------------------
- *
- * $Revision: V5.6.0
- *
- * Project: CMSIS-RTOS RTX
- * Title: RTX Configuration definitions
- *
- * -----------------------------------------------------------------------------
- */
-
-#ifndef RTX_CONFIG_H_
-#define RTX_CONFIG_H_
-
-#ifdef _RTE_
-#include "RTE_Components.h"
-#ifdef RTE_RTX_CONFIG_H
-#include RTE_RTX_CONFIG_H
-#endif
-#endif
-
-//-------- <<< Use Configuration Wizard in Context Menu >>> --------------------
-
-// System Configuration
-// =======================
-
-// Global Dynamic Memory size [bytes] <0-1073741824:8>
-// Defines the combined global dynamic memory size.
-// Default: 32768
-#ifndef OS_DYNAMIC_MEM_SIZE
-#define OS_DYNAMIC_MEM_SIZE 32768
-#endif
-
-// Kernel Tick Frequency [Hz] <1-1000000>
-// Defines base time unit for delays and timeouts.
-// Default: 1000 (1ms tick)
-#ifndef OS_TICK_FREQ
-#define OS_TICK_FREQ 1000
-#endif
-
-// Round-Robin Thread switching
-// Enables Round-Robin Thread switching.
-#ifndef OS_ROBIN_ENABLE
-#define OS_ROBIN_ENABLE 1
-#endif
-
-// Round-Robin Timeout <1-1000>
-// Defines how many ticks a thread will execute before a thread switch.
-// Default: 5
-#ifndef OS_ROBIN_TIMEOUT
-#define OS_ROBIN_TIMEOUT 5
-#endif
-
-//
-
-// Safety features (Source variant only)
-// Enables FuSa related features.
-// Requires RTX Source variant.
-// Enables:
-// - selected features from this group
-// - Thread functions: osThreadProtectPrivileged
-#ifndef OS_SAFETY_FEATURES
-#define OS_SAFETY_FEATURES 0
-#endif
-
-// Safety Class
-// Threads assigned to lower classes cannot modify higher class threads.
-// Enables:
-// - Object attributes: osSafetyClass
-// - Kernel functions: osKernelProtect, osKernelDestroyClass
-// - Thread functions: osThreadGetClass, osThreadSuspendClass, osThreadResumeClass
-#ifndef OS_SAFETY_CLASS
-#define OS_SAFETY_CLASS 1
-#endif
-
-// MPU Protected Zone
-// Access protection via MPU (Spatial isolation).
-// Enables:
-// - Thread attributes: osThreadZone
-// - Thread functions: osThreadGetZone, osThreadTerminateZone
-// - Zone Management: osZoneSetup_Callback
-#ifndef OS_EXECUTION_ZONE
-#define OS_EXECUTION_ZONE 1
-#endif
-
-// Thread Watchdog
-// Watchdog alerts ensure timing for critical threads (Temporal isolation).
-// Enables:
-// - Thread functions: osThreadFeedWatchdog
-// - Handler functions: osWatchdogAlarm_Handler
-#ifndef OS_THREAD_WATCHDOG
-#define OS_THREAD_WATCHDOG 1
-#endif
-
-// Object Pointer checking
-// Check object pointer alignment and memory region.
-#ifndef OS_OBJ_PTR_CHECK
-#define OS_OBJ_PTR_CHECK 0
-#endif
-
-// SVC Function Pointer checking
-// Check SVC function pointer alignment and memory region.
-// User needs to define a linker execution region RTX_SVC_VENEERS
-// containing input sections: rtx_*.o (.text.os.svc.veneer.*)
-#ifndef OS_SVC_PTR_CHECK
-#define OS_SVC_PTR_CHECK 0
-#endif
-
-//
-
-// ISR FIFO Queue
-// <4=> 4 entries <8=> 8 entries <12=> 12 entries <16=> 16 entries
-// <24=> 24 entries <32=> 32 entries <48=> 48 entries <64=> 64 entries
-// <96=> 96 entries <128=> 128 entries <196=> 196 entries <256=> 256 entries
-// RTOS Functions called from ISR store requests to this buffer.
-// Default: 16 entries
-#ifndef OS_ISR_FIFO_QUEUE
-#define OS_ISR_FIFO_QUEUE 16
-#endif
-
-// Object Memory usage counters
-// Enables object memory usage counters (requires RTX source variant).
-#ifndef OS_OBJ_MEM_USAGE
-#define OS_OBJ_MEM_USAGE 0
-#endif
-
-//
-
-// Thread Configuration
-// =======================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_THREAD_OBJ_MEM
-#define OS_THREAD_OBJ_MEM 0
-#endif
-
-// Number of user Threads <1-1000>
-// Defines maximum number of user threads that can be active at the same time.
-// Applies to user threads with system provided memory for control blocks.
-#ifndef OS_THREAD_NUM
-#define OS_THREAD_NUM 1
-#endif
-
-// Number of user Threads with default Stack size <0-1000>
-// Defines maximum number of user threads with default stack size.
-// Applies to user threads with zero stack size specified.
-#ifndef OS_THREAD_DEF_STACK_NUM
-#define OS_THREAD_DEF_STACK_NUM 0
-#endif
-
-// Total Stack size [bytes] for user Threads with user-provided Stack size <0-1073741824:8>
-// Defines the combined stack size for user threads with user-provided stack size.
-// Applies to user threads with user-provided stack size and system provided memory for stack.
-// Default: 0
-#ifndef OS_THREAD_USER_STACK_SIZE
-#define OS_THREAD_USER_STACK_SIZE 0
-#endif
-
-//
-
-// Default Thread Stack size [bytes] <96-1073741824:8>
-// Defines stack size for threads with zero stack size specified.
-// Default: 3072
-#ifndef OS_STACK_SIZE
-#define OS_STACK_SIZE 3072
-#endif
-
-// Idle Thread Stack size [bytes] <72-1073741824:8>
-// Defines stack size for Idle thread.
-// Default: 512
-#ifndef OS_IDLE_THREAD_STACK_SIZE
-#define OS_IDLE_THREAD_STACK_SIZE 512
-#endif
-
-// Idle Thread TrustZone Module Identifier
-// Defines TrustZone Thread Context Management Identifier.
-// Applies only to cores with TrustZone technology.
-// Default: 0 (not used)
-#ifndef OS_IDLE_THREAD_TZ_MOD_ID
-#define OS_IDLE_THREAD_TZ_MOD_ID 0
-#endif
-
-// Idle Thread Safety Class <0-15>
-// Defines the Safety Class number.
-// Default: 0
-#ifndef OS_IDLE_THREAD_CLASS
-#define OS_IDLE_THREAD_CLASS 0
-#endif
-
-// Idle Thread Zone <0-127>
-// Defines Thread Zone.
-// Default: 0
-#ifndef OS_IDLE_THREAD_ZONE
-#define OS_IDLE_THREAD_ZONE 0
-#endif
-
-// Stack overrun checking
-// Enables stack overrun check at thread switch (requires RTX source variant).
-// Enabling this option increases slightly the execution time of a thread switch.
-#ifndef OS_STACK_CHECK
-#define OS_STACK_CHECK 1
-#endif
-
-// Stack usage watermark
-// Initializes thread stack with watermark pattern for analyzing stack usage.
-// Enabling this option increases significantly the execution time of thread creation.
-#ifndef OS_STACK_WATERMARK
-#define OS_STACK_WATERMARK 0
-#endif
-
-// Default Processor mode for Thread execution
-// <0=> Unprivileged mode
-// <1=> Privileged mode
-// Default: Unprivileged mode
-#ifndef OS_PRIVILEGE_MODE
-#define OS_PRIVILEGE_MODE 0
-#endif
-
-//
-
-// Timer Configuration
-// ======================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_TIMER_OBJ_MEM
-#define OS_TIMER_OBJ_MEM 0
-#endif
-
-// Number of Timer objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_TIMER_NUM
-#define OS_TIMER_NUM 1
-#endif
-
-//
-
-// Timer Thread Priority
-// <8=> Low
-// <16=> Below Normal <24=> Normal <32=> Above Normal
-// <40=> High
-// <48=> Realtime
-// Defines priority for timer thread
-// Default: High
-#ifndef OS_TIMER_THREAD_PRIO
-#define OS_TIMER_THREAD_PRIO 40
-#endif
-
-// Timer Thread Stack size [bytes] <0-1073741824:8>
-// Defines stack size for Timer thread.
-// May be set to 0 when timers are not used.
-// Default: 512
-#ifndef OS_TIMER_THREAD_STACK_SIZE
-#define OS_TIMER_THREAD_STACK_SIZE 512
-#endif
-
-// Timer Thread TrustZone Module Identifier
-// Defines TrustZone Thread Context Management Identifier.
-// Applies only to cores with TrustZone technology.
-// Default: 0 (not used)
-#ifndef OS_TIMER_THREAD_TZ_MOD_ID
-#define OS_TIMER_THREAD_TZ_MOD_ID 0
-#endif
-
-// Timer Thread Safety Class <0-15>
-// Defines the Safety Class number.
-// Default: 0
-#ifndef OS_TIMER_THREAD_CLASS
-#define OS_TIMER_THREAD_CLASS 0
-#endif
-
-// Timer Thread Zone <0-127>
-// Defines Thread Zone.
-// Default: 0
-#ifndef OS_TIMER_THREAD_ZONE
-#define OS_TIMER_THREAD_ZONE 0
-#endif
-
-// Timer Callback Queue entries <0-256>
-// Number of concurrent active timer callback functions.
-// May be set to 0 when timers are not used.
-// Default: 4
-#ifndef OS_TIMER_CB_QUEUE
-#define OS_TIMER_CB_QUEUE 4
-#endif
-
-//
-
-// Event Flags Configuration
-// ============================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_EVFLAGS_OBJ_MEM
-#define OS_EVFLAGS_OBJ_MEM 0
-#endif
-
-// Number of Event Flags objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_EVFLAGS_NUM
-#define OS_EVFLAGS_NUM 1
-#endif
-
-//
-
-//
-
-// Mutex Configuration
-// ======================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_MUTEX_OBJ_MEM
-#define OS_MUTEX_OBJ_MEM 0
-#endif
-
-// Number of Mutex objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_MUTEX_NUM
-#define OS_MUTEX_NUM 1
-#endif
-
-//
-
-//
-
-// Semaphore Configuration
-// ==========================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_SEMAPHORE_OBJ_MEM
-#define OS_SEMAPHORE_OBJ_MEM 0
-#endif
-
-// Number of Semaphore objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_SEMAPHORE_NUM
-#define OS_SEMAPHORE_NUM 1
-#endif
-
-//
-
-//
-
-// Memory Pool Configuration
-// ============================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_MEMPOOL_OBJ_MEM
-#define OS_MEMPOOL_OBJ_MEM 0
-#endif
-
-// Number of Memory Pool objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_MEMPOOL_NUM
-#define OS_MEMPOOL_NUM 1
-#endif
-
-// Data Storage Memory size [bytes] <0-1073741824:8>
-// Defines the combined data storage memory size.
-// Applies to objects with system provided memory for data storage.
-// Default: 0
-#ifndef OS_MEMPOOL_DATA_SIZE
-#define OS_MEMPOOL_DATA_SIZE 0
-#endif
-
-//
-
-//
-
-// Message Queue Configuration
-// ==============================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_MSGQUEUE_OBJ_MEM
-#define OS_MSGQUEUE_OBJ_MEM 0
-#endif
-
-// Number of Message Queue objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_MSGQUEUE_NUM
-#define OS_MSGQUEUE_NUM 1
-#endif
-
-// Data Storage Memory size [bytes] <0-1073741824:8>
-// Defines the combined data storage memory size.
-// Applies to objects with system provided memory for data storage.
-// Default: 0
-#ifndef OS_MSGQUEUE_DATA_SIZE
-#define OS_MSGQUEUE_DATA_SIZE 0
-#endif
-
-//
-
-//
-
-// Event Recorder Configuration
-// ===============================
-
-// Global Initialization
-// Initialize Event Recorder during 'osKernelInitialize'.
-#ifndef OS_EVR_INIT
-#define OS_EVR_INIT 0
-#endif
-
-// Start recording
-// Start event recording after initialization.
-#ifndef OS_EVR_START
-#define OS_EVR_START 1
-#endif
-
-// Global Event Filter Setup
-// Initial recording level applied to all components.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_LEVEL
-#define OS_EVR_LEVEL 0x00U
-#endif
-
-// RTOS Event Filter Setup
-// Recording levels for RTX components.
-// Only applicable if events for the respective component are generated.
-
-// Memory Management
-// Recording level for Memory Management events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_MEMORY_LEVEL
-#define OS_EVR_MEMORY_LEVEL 0x81U
-#endif
-
-// Kernel
-// Recording level for Kernel events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_KERNEL_LEVEL
-#define OS_EVR_KERNEL_LEVEL 0x81U
-#endif
-
-// Thread
-// Recording level for Thread events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_THREAD_LEVEL
-#define OS_EVR_THREAD_LEVEL 0x85U
-#endif
-
-// Generic Wait
-// Recording level for Generic Wait events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_WAIT_LEVEL
-#define OS_EVR_WAIT_LEVEL 0x81U
-#endif
-
-// Thread Flags
-// Recording level for Thread Flags events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_THFLAGS_LEVEL
-#define OS_EVR_THFLAGS_LEVEL 0x81U
-#endif
-
-// Event Flags
-// Recording level for Event Flags events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_EVFLAGS_LEVEL
-#define OS_EVR_EVFLAGS_LEVEL 0x81U
-#endif
-
-// Timer
-// Recording level for Timer events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_TIMER_LEVEL
-#define OS_EVR_TIMER_LEVEL 0x81U
-#endif
-
-// Mutex
-// Recording level for Mutex events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_MUTEX_LEVEL
-#define OS_EVR_MUTEX_LEVEL 0x81U
-#endif
-
-// Semaphore
-// Recording level for Semaphore events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_SEMAPHORE_LEVEL
-#define OS_EVR_SEMAPHORE_LEVEL 0x81U
-#endif
-
-// Memory Pool
-// Recording level for Memory Pool events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_MEMPOOL_LEVEL
-#define OS_EVR_MEMPOOL_LEVEL 0x81U
-#endif
-
-// Message Queue
-// Recording level for Message Queue events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_MSGQUEUE_LEVEL
-#define OS_EVR_MSGQUEUE_LEVEL 0x81U
-#endif
-
-//
-
-//
-
-// RTOS Event Generation
-// Enables event generation for RTX components (requires RTX source variant).
-
-// Memory Management
-// Enables Memory Management event generation.
-#ifndef OS_EVR_MEMORY
-#define OS_EVR_MEMORY 1
-#endif
-
-// Kernel
-// Enables Kernel event generation.
-#ifndef OS_EVR_KERNEL
-#define OS_EVR_KERNEL 1
-#endif
-
-// Thread
-// Enables Thread event generation.
-#ifndef OS_EVR_THREAD
-#define OS_EVR_THREAD 1
-#endif
-
-// Generic Wait
-// Enables Generic Wait event generation.
-#ifndef OS_EVR_WAIT
-#define OS_EVR_WAIT 1
-#endif
-
-// Thread Flags
-// Enables Thread Flags event generation.
-#ifndef OS_EVR_THFLAGS
-#define OS_EVR_THFLAGS 1
-#endif
-
-// Event Flags
-// Enables Event Flags event generation.
-#ifndef OS_EVR_EVFLAGS
-#define OS_EVR_EVFLAGS 1
-#endif
-
-// Timer
-// Enables Timer event generation.
-#ifndef OS_EVR_TIMER
-#define OS_EVR_TIMER 1
-#endif
-
-// Mutex
-// Enables Mutex event generation.
-#ifndef OS_EVR_MUTEX
-#define OS_EVR_MUTEX 1
-#endif
-
-// Semaphore
-// Enables Semaphore event generation.
-#ifndef OS_EVR_SEMAPHORE
-#define OS_EVR_SEMAPHORE 1
-#endif
-
-// Memory Pool
-// Enables Memory Pool event generation.
-#ifndef OS_EVR_MEMPOOL
-#define OS_EVR_MEMPOOL 1
-#endif
-
-// Message Queue
-// Enables Message Queue event generation.
-#ifndef OS_EVR_MSGQUEUE
-#define OS_EVR_MSGQUEUE 1
-#endif
-
-//
-
-//
-
-// Number of Threads which use standard C/C++ library libspace
-// (when thread specific memory allocation is not used).
-#if (OS_THREAD_OBJ_MEM == 0)
-#ifndef OS_THREAD_LIBSPACE_NUM
-#define OS_THREAD_LIBSPACE_NUM 4
-#endif
-#else
-#define OS_THREAD_LIBSPACE_NUM OS_THREAD_NUM
-#endif
-
-//------------- <<< end of configuration section >>> ---------------------------
-
-#endif // RTX_CONFIG_H_
diff --git a/Examples/Network/HTTP_Upload/RTE/CMSIS/RTX_Config.h.base@5.6.1 b/Examples/Network/HTTP_Upload/RTE/CMSIS/RTX_Config.h.base@5.6.1
new file mode 100644
index 00000000..f8756c5b
--- /dev/null
+++ b/Examples/Network/HTTP_Upload/RTE/CMSIS/RTX_Config.h.base@5.6.1
@@ -0,0 +1,663 @@
+/*
+ * Copyright (c) 2013-2026 Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Licensed under the Apache License, Version 2.0 (the License); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * -----------------------------------------------------------------------------
+ *
+ * $Revision: V5.6.1
+ *
+ * Project: CMSIS-RTOS RTX
+ * Title: RTX Configuration definitions
+ *
+ * -----------------------------------------------------------------------------
+ */
+
+#ifndef RTX_CONFIG_H_
+#define RTX_CONFIG_H_
+
+#ifdef _RTE_
+#include "RTE_Components.h"
+#ifdef RTE_RTX_CONFIG_H
+#include RTE_RTX_CONFIG_H
+#endif
+#endif
+
+//-------- <<< Use Configuration Wizard in Context Menu >>> --------------------
+
+// System Configuration
+// =======================
+
+// Global Dynamic Memory size [bytes] <0-1073741824:8>
+// Defines the combined global dynamic memory size.
+// Default: 32768
+#ifndef OS_DYNAMIC_MEM_SIZE
+#define OS_DYNAMIC_MEM_SIZE 32768
+#endif
+
+// Kernel Tick Frequency [Hz] <1-1000000>
+// Defines base time unit for delays and timeouts.
+// Default: 1000 (1ms tick)
+#ifndef OS_TICK_FREQ
+#define OS_TICK_FREQ 1000
+#endif
+
+// Round-Robin Thread switching
+// Enables Round-Robin Thread switching.
+#ifndef OS_ROBIN_ENABLE
+#define OS_ROBIN_ENABLE 1
+#endif
+
+// Round-Robin Timeout <1-1000>
+// Defines how many ticks a thread will execute before a thread switch.
+// Default: 5
+#ifndef OS_ROBIN_TIMEOUT
+#define OS_ROBIN_TIMEOUT 5
+#endif
+
+//
+
+// Safety features (Source variant only)
+// Enables FuSa related features.
+// Requires RTX Source variant.
+// Enables:
+// - selected features from this group
+// - Thread functions: osThreadProtectPrivileged
+#ifndef OS_SAFETY_FEATURES
+#define OS_SAFETY_FEATURES 0
+#endif
+
+// Safety Class
+// Threads assigned to lower classes cannot modify higher class threads.
+// Enables:
+// - Object attributes: osSafetyClass
+// - Kernel functions: osKernelProtect, osKernelDestroyClass
+// - Thread functions: osThreadGetClass, osThreadSuspendClass, osThreadResumeClass
+#ifndef OS_SAFETY_CLASS
+#define OS_SAFETY_CLASS 1
+#endif
+
+// MPU Protected Zone
+// Access protection via MPU (Spatial isolation).
+// Enables:
+// - Thread attributes: osThreadZone
+// - Thread functions: osThreadGetZone, osThreadTerminateZone
+// - Zone Management: osZoneSetup_Callback
+#ifndef OS_EXECUTION_ZONE
+#define OS_EXECUTION_ZONE 1
+#endif
+
+// Thread Watchdog
+// Watchdog alerts ensure timing for critical threads (Temporal isolation).
+// Enables:
+// - Thread functions: osThreadFeedWatchdog
+// - Handler functions: osWatchdogAlarm_Handler
+#ifndef OS_THREAD_WATCHDOG
+#define OS_THREAD_WATCHDOG 1
+#endif
+
+// Object Pointer checking
+// Check object pointer alignment and memory region.
+#ifndef OS_OBJ_PTR_CHECK
+#define OS_OBJ_PTR_CHECK 0
+#endif
+
+// SVC Function Pointer checking
+// Check SVC function pointer alignment and memory region.
+// User needs to define a linker execution region RTX_SVC_VENEERS
+// containing input sections: rtx_*.o (.text.os.svc.veneer.*)
+#ifndef OS_SVC_PTR_CHECK
+#define OS_SVC_PTR_CHECK 0
+#endif
+
+//
+
+// ISR FIFO Queue
+// <4=> 4 entries <8=> 8 entries <12=> 12 entries <16=> 16 entries
+// <24=> 24 entries <32=> 32 entries <48=> 48 entries <64=> 64 entries
+// <96=> 96 entries <128=> 128 entries <196=> 196 entries <256=> 256 entries
+// RTOS Functions called from ISR store requests to this buffer.
+// Default: 16 entries
+#ifndef OS_ISR_FIFO_QUEUE
+#define OS_ISR_FIFO_QUEUE 16
+#endif
+
+// Object Memory usage counters
+// Enables object memory usage counters (requires RTX source variant).
+#ifndef OS_OBJ_MEM_USAGE
+#define OS_OBJ_MEM_USAGE 0
+#endif
+
+//
+
+// Thread Configuration
+// =======================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_THREAD_OBJ_MEM
+#define OS_THREAD_OBJ_MEM 0
+#endif
+
+// Number of user Threads <1-1000>
+// Defines maximum number of user threads that can be active at the same time.
+// Applies to user threads with system provided memory for control blocks.
+#ifndef OS_THREAD_NUM
+#define OS_THREAD_NUM 1
+#endif
+
+// Number of user Threads with default Stack size <0-1000>
+// Defines maximum number of user threads with default stack size.
+// Applies to user threads with zero stack size specified.
+#ifndef OS_THREAD_DEF_STACK_NUM
+#define OS_THREAD_DEF_STACK_NUM 0
+#endif
+
+// Total Stack size [bytes] for user Threads with user-provided Stack size <0-1073741824:8>
+// Defines the combined stack size for user threads with user-provided stack size.
+// Applies to user threads with user-provided stack size and system provided memory for stack.
+// Default: 0
+#ifndef OS_THREAD_USER_STACK_SIZE
+#define OS_THREAD_USER_STACK_SIZE 0
+#endif
+
+//
+
+// Default Thread Stack size [bytes] <96-1073741824:8>
+// Defines stack size for threads with zero stack size specified.
+// Default: 3072
+#ifndef OS_STACK_SIZE
+#define OS_STACK_SIZE 3072
+#endif
+
+// Idle Thread Stack size [bytes] <72-1073741824:8>
+// Defines stack size for Idle thread.
+// Default: 512
+#ifndef OS_IDLE_THREAD_STACK_SIZE
+#define OS_IDLE_THREAD_STACK_SIZE 512
+#endif
+
+// Idle Thread TrustZone Module Identifier
+// Defines TrustZone Thread Context Management Identifier.
+// Applies only to cores with TrustZone technology.
+// Default: 0 (not used)
+#ifndef OS_IDLE_THREAD_TZ_MOD_ID
+#define OS_IDLE_THREAD_TZ_MOD_ID 0
+#endif
+
+// Idle Thread Safety Class <0-15>
+// Defines the Safety Class number.
+// Default: 0
+#ifndef OS_IDLE_THREAD_CLASS
+#define OS_IDLE_THREAD_CLASS 0
+#endif
+
+// Idle Thread Zone <0-127>
+// Defines Thread Zone.
+// Default: 0
+#ifndef OS_IDLE_THREAD_ZONE
+#define OS_IDLE_THREAD_ZONE 0
+#endif
+
+// Stack overrun checking
+// Enables stack overrun check at thread switch (requires RTX source variant).
+// Enabling this option increases slightly the execution time of a thread switch.
+#ifndef OS_STACK_CHECK
+#define OS_STACK_CHECK 1
+#endif
+
+// Stack usage watermark
+// Initializes thread stack with watermark pattern for analyzing stack usage.
+// Enabling this option increases significantly the execution time of thread creation.
+#ifndef OS_STACK_WATERMARK
+#define OS_STACK_WATERMARK 0
+#endif
+
+// Default Processor mode for Thread execution
+// <0=> Unprivileged mode
+// <1=> Privileged mode
+// Default: Privileged mode
+#ifndef OS_PRIVILEGE_MODE
+#define OS_PRIVILEGE_MODE 1
+#endif
+
+//
+
+// Timer Configuration
+// ======================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_TIMER_OBJ_MEM
+#define OS_TIMER_OBJ_MEM 0
+#endif
+
+// Number of Timer objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_TIMER_NUM
+#define OS_TIMER_NUM 1
+#endif
+
+//
+
+// Timer Thread Priority
+// <8=> Low
+// <16=> Below Normal <24=> Normal <32=> Above Normal
+// <40=> High
+// <48=> Realtime
+// Defines priority for timer thread
+// Default: High
+#ifndef OS_TIMER_THREAD_PRIO
+#define OS_TIMER_THREAD_PRIO 40
+#endif
+
+// Timer Thread Stack size [bytes] <0-1073741824:8>
+// Defines stack size for Timer thread.
+// May be set to 0 when timers are not used.
+// Default: 512
+#ifndef OS_TIMER_THREAD_STACK_SIZE
+#define OS_TIMER_THREAD_STACK_SIZE 512
+#endif
+
+// Timer Thread TrustZone Module Identifier
+// Defines TrustZone Thread Context Management Identifier.
+// Applies only to cores with TrustZone technology.
+// Default: 0 (not used)
+#ifndef OS_TIMER_THREAD_TZ_MOD_ID
+#define OS_TIMER_THREAD_TZ_MOD_ID 0
+#endif
+
+// Timer Thread Safety Class <0-15>
+// Defines the Safety Class number.
+// Default: 0
+#ifndef OS_TIMER_THREAD_CLASS
+#define OS_TIMER_THREAD_CLASS 0
+#endif
+
+// Timer Thread Zone <0-127>
+// Defines Thread Zone.
+// Default: 0
+#ifndef OS_TIMER_THREAD_ZONE
+#define OS_TIMER_THREAD_ZONE 0
+#endif
+
+// Timer Callback Queue entries <0-256>
+// Number of concurrent active timer callback functions.
+// May be set to 0 when timers are not used.
+// Default: 4
+#ifndef OS_TIMER_CB_QUEUE
+#define OS_TIMER_CB_QUEUE 4
+#endif
+
+//
+
+// Event Flags Configuration
+// ============================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_EVFLAGS_OBJ_MEM
+#define OS_EVFLAGS_OBJ_MEM 0
+#endif
+
+// Number of Event Flags objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_EVFLAGS_NUM
+#define OS_EVFLAGS_NUM 1
+#endif
+
+//
+
+//
+
+// Mutex Configuration
+// ======================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_MUTEX_OBJ_MEM
+#define OS_MUTEX_OBJ_MEM 0
+#endif
+
+// Number of Mutex objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_MUTEX_NUM
+#define OS_MUTEX_NUM 1
+#endif
+
+//
+
+//
+
+// Semaphore Configuration
+// ==========================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_SEMAPHORE_OBJ_MEM
+#define OS_SEMAPHORE_OBJ_MEM 0
+#endif
+
+// Number of Semaphore objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_SEMAPHORE_NUM
+#define OS_SEMAPHORE_NUM 1
+#endif
+
+//
+
+//
+
+// Memory Pool Configuration
+// ============================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_MEMPOOL_OBJ_MEM
+#define OS_MEMPOOL_OBJ_MEM 0
+#endif
+
+// Number of Memory Pool objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_MEMPOOL_NUM
+#define OS_MEMPOOL_NUM 1
+#endif
+
+// Data Storage Memory size [bytes] <0-1073741824:8>
+// Defines the combined data storage memory size.
+// Applies to objects with system provided memory for data storage.
+// Default: 0
+#ifndef OS_MEMPOOL_DATA_SIZE
+#define OS_MEMPOOL_DATA_SIZE 0
+#endif
+
+//
+
+//
+
+// Message Queue Configuration
+// ==============================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_MSGQUEUE_OBJ_MEM
+#define OS_MSGQUEUE_OBJ_MEM 0
+#endif
+
+// Number of Message Queue objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_MSGQUEUE_NUM
+#define OS_MSGQUEUE_NUM 1
+#endif
+
+// Data Storage Memory size [bytes] <0-1073741824:8>
+// Defines the combined data storage memory size.
+// Applies to objects with system provided memory for data storage.
+// Default: 0
+#ifndef OS_MSGQUEUE_DATA_SIZE
+#define OS_MSGQUEUE_DATA_SIZE 0
+#endif
+
+//
+
+//
+
+// Event Recorder Configuration
+// ===============================
+
+// Global Initialization
+// Initialize Event Recorder during 'osKernelInitialize'.
+#ifndef OS_EVR_INIT
+#define OS_EVR_INIT 0
+#endif
+
+// Start recording
+// Start event recording after initialization.
+#ifndef OS_EVR_START
+#define OS_EVR_START 1
+#endif
+
+// Global Event Filter Setup
+// Initial recording level applied to all components.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_LEVEL
+#define OS_EVR_LEVEL 0x00U
+#endif
+
+// RTOS Event Filter Setup
+// Recording levels for RTX components.
+// Only applicable if events for the respective component are generated.
+
+// Memory Management
+// Recording level for Memory Management events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_MEMORY_LEVEL
+#define OS_EVR_MEMORY_LEVEL 0x81U
+#endif
+
+// Kernel
+// Recording level for Kernel events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_KERNEL_LEVEL
+#define OS_EVR_KERNEL_LEVEL 0x81U
+#endif
+
+// Thread
+// Recording level for Thread events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_THREAD_LEVEL
+#define OS_EVR_THREAD_LEVEL 0x85U
+#endif
+
+// Generic Wait
+// Recording level for Generic Wait events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_WAIT_LEVEL
+#define OS_EVR_WAIT_LEVEL 0x81U
+#endif
+
+// Thread Flags
+// Recording level for Thread Flags events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_THFLAGS_LEVEL
+#define OS_EVR_THFLAGS_LEVEL 0x81U
+#endif
+
+// Event Flags
+// Recording level for Event Flags events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_EVFLAGS_LEVEL
+#define OS_EVR_EVFLAGS_LEVEL 0x81U
+#endif
+
+// Timer
+// Recording level for Timer events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_TIMER_LEVEL
+#define OS_EVR_TIMER_LEVEL 0x81U
+#endif
+
+// Mutex
+// Recording level for Mutex events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_MUTEX_LEVEL
+#define OS_EVR_MUTEX_LEVEL 0x81U
+#endif
+
+// Semaphore
+// Recording level for Semaphore events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_SEMAPHORE_LEVEL
+#define OS_EVR_SEMAPHORE_LEVEL 0x81U
+#endif
+
+// Memory Pool
+// Recording level for Memory Pool events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_MEMPOOL_LEVEL
+#define OS_EVR_MEMPOOL_LEVEL 0x81U
+#endif
+
+// Message Queue
+// Recording level for Message Queue events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_MSGQUEUE_LEVEL
+#define OS_EVR_MSGQUEUE_LEVEL 0x81U
+#endif
+
+//
+
+//
+
+// RTOS Event Generation
+// Enables event generation for RTX components (requires RTX source variant).
+
+// Memory Management
+// Enables Memory Management event generation.
+#ifndef OS_EVR_MEMORY
+#define OS_EVR_MEMORY 1
+#endif
+
+// Kernel
+// Enables Kernel event generation.
+#ifndef OS_EVR_KERNEL
+#define OS_EVR_KERNEL 1
+#endif
+
+// Thread
+// Enables Thread event generation.
+#ifndef OS_EVR_THREAD
+#define OS_EVR_THREAD 1
+#endif
+
+// Generic Wait
+// Enables Generic Wait event generation.
+#ifndef OS_EVR_WAIT
+#define OS_EVR_WAIT 1
+#endif
+
+// Thread Flags
+// Enables Thread Flags event generation.
+#ifndef OS_EVR_THFLAGS
+#define OS_EVR_THFLAGS 1
+#endif
+
+// Event Flags
+// Enables Event Flags event generation.
+#ifndef OS_EVR_EVFLAGS
+#define OS_EVR_EVFLAGS 1
+#endif
+
+// Timer
+// Enables Timer event generation.
+#ifndef OS_EVR_TIMER
+#define OS_EVR_TIMER 1
+#endif
+
+// Mutex
+// Enables Mutex event generation.
+#ifndef OS_EVR_MUTEX
+#define OS_EVR_MUTEX 1
+#endif
+
+// Semaphore
+// Enables Semaphore event generation.
+#ifndef OS_EVR_SEMAPHORE
+#define OS_EVR_SEMAPHORE 1
+#endif
+
+// Memory Pool
+// Enables Memory Pool event generation.
+#ifndef OS_EVR_MEMPOOL
+#define OS_EVR_MEMPOOL 1
+#endif
+
+// Message Queue
+// Enables Message Queue event generation.
+#ifndef OS_EVR_MSGQUEUE
+#define OS_EVR_MSGQUEUE 1
+#endif
+
+//
+
+//
+
+// Number of Threads which use standard C/C++ library libspace
+// (when thread specific memory allocation is not used).
+#if (OS_THREAD_OBJ_MEM == 0)
+#ifndef OS_THREAD_LIBSPACE_NUM
+#define OS_THREAD_LIBSPACE_NUM 4
+#endif
+#else
+#define OS_THREAD_LIBSPACE_NUM OS_THREAD_NUM
+#endif
+
+//------------- <<< end of configuration section >>> ---------------------------
+
+#endif // RTX_CONFIG_H_
diff --git a/Examples/Network/SMTPS_Client/RTE/CMSIS/RTX_Config.h b/Examples/Network/SMTPS_Client/RTE/CMSIS/RTX_Config.h
index f8672bae..22ee62fe 100644
--- a/Examples/Network/SMTPS_Client/RTE/CMSIS/RTX_Config.h
+++ b/Examples/Network/SMTPS_Client/RTE/CMSIS/RTX_Config.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013-2023 Arm Limited. All rights reserved.
+ * Copyright (c) 2013-2026 Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -17,7 +17,7 @@
*
* -----------------------------------------------------------------------------
*
- * $Revision: V5.6.0
+ * $Revision: V5.6.1
*
* Project: CMSIS-RTOS RTX
* Title: RTX Configuration definitions
@@ -228,7 +228,7 @@
// Default Processor mode for Thread execution
// <0=> Unprivileged mode
// <1=> Privileged mode
-// Default: Unprivileged mode
+// Default: Privileged mode
#ifndef OS_PRIVILEGE_MODE
#define OS_PRIVILEGE_MODE 1
#endif
diff --git a/Examples/Network/SMTPS_Client/RTE/CMSIS/RTX_Config.h.base@5.6.0 b/Examples/Network/SMTPS_Client/RTE/CMSIS/RTX_Config.h.base@5.6.0
deleted file mode 100644
index fe0c57b6..00000000
--- a/Examples/Network/SMTPS_Client/RTE/CMSIS/RTX_Config.h.base@5.6.0
+++ /dev/null
@@ -1,663 +0,0 @@
-/*
- * Copyright (c) 2013-2023 Arm Limited. All rights reserved.
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Licensed under the Apache License, Version 2.0 (the License); you may
- * not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * -----------------------------------------------------------------------------
- *
- * $Revision: V5.6.0
- *
- * Project: CMSIS-RTOS RTX
- * Title: RTX Configuration definitions
- *
- * -----------------------------------------------------------------------------
- */
-
-#ifndef RTX_CONFIG_H_
-#define RTX_CONFIG_H_
-
-#ifdef _RTE_
-#include "RTE_Components.h"
-#ifdef RTE_RTX_CONFIG_H
-#include RTE_RTX_CONFIG_H
-#endif
-#endif
-
-//-------- <<< Use Configuration Wizard in Context Menu >>> --------------------
-
-// System Configuration
-// =======================
-
-// Global Dynamic Memory size [bytes] <0-1073741824:8>
-// Defines the combined global dynamic memory size.
-// Default: 32768
-#ifndef OS_DYNAMIC_MEM_SIZE
-#define OS_DYNAMIC_MEM_SIZE 32768
-#endif
-
-// Kernel Tick Frequency [Hz] <1-1000000>
-// Defines base time unit for delays and timeouts.
-// Default: 1000 (1ms tick)
-#ifndef OS_TICK_FREQ
-#define OS_TICK_FREQ 1000
-#endif
-
-// Round-Robin Thread switching
-// Enables Round-Robin Thread switching.
-#ifndef OS_ROBIN_ENABLE
-#define OS_ROBIN_ENABLE 1
-#endif
-
-// Round-Robin Timeout <1-1000>
-// Defines how many ticks a thread will execute before a thread switch.
-// Default: 5
-#ifndef OS_ROBIN_TIMEOUT
-#define OS_ROBIN_TIMEOUT 5
-#endif
-
-//
-
-// Safety features (Source variant only)
-// Enables FuSa related features.
-// Requires RTX Source variant.
-// Enables:
-// - selected features from this group
-// - Thread functions: osThreadProtectPrivileged
-#ifndef OS_SAFETY_FEATURES
-#define OS_SAFETY_FEATURES 0
-#endif
-
-// Safety Class
-// Threads assigned to lower classes cannot modify higher class threads.
-// Enables:
-// - Object attributes: osSafetyClass
-// - Kernel functions: osKernelProtect, osKernelDestroyClass
-// - Thread functions: osThreadGetClass, osThreadSuspendClass, osThreadResumeClass
-#ifndef OS_SAFETY_CLASS
-#define OS_SAFETY_CLASS 1
-#endif
-
-// MPU Protected Zone
-// Access protection via MPU (Spatial isolation).
-// Enables:
-// - Thread attributes: osThreadZone
-// - Thread functions: osThreadGetZone, osThreadTerminateZone
-// - Zone Management: osZoneSetup_Callback
-#ifndef OS_EXECUTION_ZONE
-#define OS_EXECUTION_ZONE 1
-#endif
-
-// Thread Watchdog
-// Watchdog alerts ensure timing for critical threads (Temporal isolation).
-// Enables:
-// - Thread functions: osThreadFeedWatchdog
-// - Handler functions: osWatchdogAlarm_Handler
-#ifndef OS_THREAD_WATCHDOG
-#define OS_THREAD_WATCHDOG 1
-#endif
-
-// Object Pointer checking
-// Check object pointer alignment and memory region.
-#ifndef OS_OBJ_PTR_CHECK
-#define OS_OBJ_PTR_CHECK 0
-#endif
-
-// SVC Function Pointer checking
-// Check SVC function pointer alignment and memory region.
-// User needs to define a linker execution region RTX_SVC_VENEERS
-// containing input sections: rtx_*.o (.text.os.svc.veneer.*)
-#ifndef OS_SVC_PTR_CHECK
-#define OS_SVC_PTR_CHECK 0
-#endif
-
-//
-
-// ISR FIFO Queue
-// <4=> 4 entries <8=> 8 entries <12=> 12 entries <16=> 16 entries
-// <24=> 24 entries <32=> 32 entries <48=> 48 entries <64=> 64 entries
-// <96=> 96 entries <128=> 128 entries <196=> 196 entries <256=> 256 entries
-// RTOS Functions called from ISR store requests to this buffer.
-// Default: 16 entries
-#ifndef OS_ISR_FIFO_QUEUE
-#define OS_ISR_FIFO_QUEUE 16
-#endif
-
-// Object Memory usage counters
-// Enables object memory usage counters (requires RTX source variant).
-#ifndef OS_OBJ_MEM_USAGE
-#define OS_OBJ_MEM_USAGE 0
-#endif
-
-//
-
-// Thread Configuration
-// =======================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_THREAD_OBJ_MEM
-#define OS_THREAD_OBJ_MEM 0
-#endif
-
-// Number of user Threads <1-1000>
-// Defines maximum number of user threads that can be active at the same time.
-// Applies to user threads with system provided memory for control blocks.
-#ifndef OS_THREAD_NUM
-#define OS_THREAD_NUM 1
-#endif
-
-// Number of user Threads with default Stack size <0-1000>
-// Defines maximum number of user threads with default stack size.
-// Applies to user threads with zero stack size specified.
-#ifndef OS_THREAD_DEF_STACK_NUM
-#define OS_THREAD_DEF_STACK_NUM 0
-#endif
-
-// Total Stack size [bytes] for user Threads with user-provided Stack size <0-1073741824:8>
-// Defines the combined stack size for user threads with user-provided stack size.
-// Applies to user threads with user-provided stack size and system provided memory for stack.
-// Default: 0
-#ifndef OS_THREAD_USER_STACK_SIZE
-#define OS_THREAD_USER_STACK_SIZE 0
-#endif
-
-//
-
-// Default Thread Stack size [bytes] <96-1073741824:8>
-// Defines stack size for threads with zero stack size specified.
-// Default: 3072
-#ifndef OS_STACK_SIZE
-#define OS_STACK_SIZE 3072
-#endif
-
-// Idle Thread Stack size [bytes] <72-1073741824:8>
-// Defines stack size for Idle thread.
-// Default: 512
-#ifndef OS_IDLE_THREAD_STACK_SIZE
-#define OS_IDLE_THREAD_STACK_SIZE 512
-#endif
-
-// Idle Thread TrustZone Module Identifier
-// Defines TrustZone Thread Context Management Identifier.
-// Applies only to cores with TrustZone technology.
-// Default: 0 (not used)
-#ifndef OS_IDLE_THREAD_TZ_MOD_ID
-#define OS_IDLE_THREAD_TZ_MOD_ID 0
-#endif
-
-// Idle Thread Safety Class <0-15>
-// Defines the Safety Class number.
-// Default: 0
-#ifndef OS_IDLE_THREAD_CLASS
-#define OS_IDLE_THREAD_CLASS 0
-#endif
-
-// Idle Thread Zone <0-127>
-// Defines Thread Zone.
-// Default: 0
-#ifndef OS_IDLE_THREAD_ZONE
-#define OS_IDLE_THREAD_ZONE 0
-#endif
-
-// Stack overrun checking
-// Enables stack overrun check at thread switch (requires RTX source variant).
-// Enabling this option increases slightly the execution time of a thread switch.
-#ifndef OS_STACK_CHECK
-#define OS_STACK_CHECK 1
-#endif
-
-// Stack usage watermark
-// Initializes thread stack with watermark pattern for analyzing stack usage.
-// Enabling this option increases significantly the execution time of thread creation.
-#ifndef OS_STACK_WATERMARK
-#define OS_STACK_WATERMARK 0
-#endif
-
-// Default Processor mode for Thread execution
-// <0=> Unprivileged mode
-// <1=> Privileged mode
-// Default: Unprivileged mode
-#ifndef OS_PRIVILEGE_MODE
-#define OS_PRIVILEGE_MODE 0
-#endif
-
-//
-
-// Timer Configuration
-// ======================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_TIMER_OBJ_MEM
-#define OS_TIMER_OBJ_MEM 0
-#endif
-
-// Number of Timer objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_TIMER_NUM
-#define OS_TIMER_NUM 1
-#endif
-
-//
-
-// Timer Thread Priority
-// <8=> Low
-// <16=> Below Normal <24=> Normal <32=> Above Normal
-// <40=> High
-// <48=> Realtime
-// Defines priority for timer thread
-// Default: High
-#ifndef OS_TIMER_THREAD_PRIO
-#define OS_TIMER_THREAD_PRIO 40
-#endif
-
-// Timer Thread Stack size [bytes] <0-1073741824:8>
-// Defines stack size for Timer thread.
-// May be set to 0 when timers are not used.
-// Default: 512
-#ifndef OS_TIMER_THREAD_STACK_SIZE
-#define OS_TIMER_THREAD_STACK_SIZE 512
-#endif
-
-// Timer Thread TrustZone Module Identifier
-// Defines TrustZone Thread Context Management Identifier.
-// Applies only to cores with TrustZone technology.
-// Default: 0 (not used)
-#ifndef OS_TIMER_THREAD_TZ_MOD_ID
-#define OS_TIMER_THREAD_TZ_MOD_ID 0
-#endif
-
-// Timer Thread Safety Class <0-15>
-// Defines the Safety Class number.
-// Default: 0
-#ifndef OS_TIMER_THREAD_CLASS
-#define OS_TIMER_THREAD_CLASS 0
-#endif
-
-// Timer Thread Zone <0-127>
-// Defines Thread Zone.
-// Default: 0
-#ifndef OS_TIMER_THREAD_ZONE
-#define OS_TIMER_THREAD_ZONE 0
-#endif
-
-// Timer Callback Queue entries <0-256>
-// Number of concurrent active timer callback functions.
-// May be set to 0 when timers are not used.
-// Default: 4
-#ifndef OS_TIMER_CB_QUEUE
-#define OS_TIMER_CB_QUEUE 4
-#endif
-
-//
-
-// Event Flags Configuration
-// ============================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_EVFLAGS_OBJ_MEM
-#define OS_EVFLAGS_OBJ_MEM 0
-#endif
-
-// Number of Event Flags objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_EVFLAGS_NUM
-#define OS_EVFLAGS_NUM 1
-#endif
-
-//
-
-//
-
-// Mutex Configuration
-// ======================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_MUTEX_OBJ_MEM
-#define OS_MUTEX_OBJ_MEM 0
-#endif
-
-// Number of Mutex objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_MUTEX_NUM
-#define OS_MUTEX_NUM 1
-#endif
-
-//
-
-//
-
-// Semaphore Configuration
-// ==========================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_SEMAPHORE_OBJ_MEM
-#define OS_SEMAPHORE_OBJ_MEM 0
-#endif
-
-// Number of Semaphore objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_SEMAPHORE_NUM
-#define OS_SEMAPHORE_NUM 1
-#endif
-
-//
-
-//
-
-// Memory Pool Configuration
-// ============================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_MEMPOOL_OBJ_MEM
-#define OS_MEMPOOL_OBJ_MEM 0
-#endif
-
-// Number of Memory Pool objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_MEMPOOL_NUM
-#define OS_MEMPOOL_NUM 1
-#endif
-
-// Data Storage Memory size [bytes] <0-1073741824:8>
-// Defines the combined data storage memory size.
-// Applies to objects with system provided memory for data storage.
-// Default: 0
-#ifndef OS_MEMPOOL_DATA_SIZE
-#define OS_MEMPOOL_DATA_SIZE 0
-#endif
-
-//
-
-//
-
-// Message Queue Configuration
-// ==============================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_MSGQUEUE_OBJ_MEM
-#define OS_MSGQUEUE_OBJ_MEM 0
-#endif
-
-// Number of Message Queue objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_MSGQUEUE_NUM
-#define OS_MSGQUEUE_NUM 1
-#endif
-
-// Data Storage Memory size [bytes] <0-1073741824:8>
-// Defines the combined data storage memory size.
-// Applies to objects with system provided memory for data storage.
-// Default: 0
-#ifndef OS_MSGQUEUE_DATA_SIZE
-#define OS_MSGQUEUE_DATA_SIZE 0
-#endif
-
-//
-
-//
-
-// Event Recorder Configuration
-// ===============================
-
-// Global Initialization
-// Initialize Event Recorder during 'osKernelInitialize'.
-#ifndef OS_EVR_INIT
-#define OS_EVR_INIT 0
-#endif
-
-// Start recording
-// Start event recording after initialization.
-#ifndef OS_EVR_START
-#define OS_EVR_START 1
-#endif
-
-// Global Event Filter Setup
-// Initial recording level applied to all components.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_LEVEL
-#define OS_EVR_LEVEL 0x00U
-#endif
-
-// RTOS Event Filter Setup
-// Recording levels for RTX components.
-// Only applicable if events for the respective component are generated.
-
-// Memory Management
-// Recording level for Memory Management events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_MEMORY_LEVEL
-#define OS_EVR_MEMORY_LEVEL 0x81U
-#endif
-
-// Kernel
-// Recording level for Kernel events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_KERNEL_LEVEL
-#define OS_EVR_KERNEL_LEVEL 0x81U
-#endif
-
-// Thread
-// Recording level for Thread events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_THREAD_LEVEL
-#define OS_EVR_THREAD_LEVEL 0x85U
-#endif
-
-// Generic Wait
-// Recording level for Generic Wait events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_WAIT_LEVEL
-#define OS_EVR_WAIT_LEVEL 0x81U
-#endif
-
-// Thread Flags
-// Recording level for Thread Flags events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_THFLAGS_LEVEL
-#define OS_EVR_THFLAGS_LEVEL 0x81U
-#endif
-
-// Event Flags
-// Recording level for Event Flags events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_EVFLAGS_LEVEL
-#define OS_EVR_EVFLAGS_LEVEL 0x81U
-#endif
-
-// Timer
-// Recording level for Timer events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_TIMER_LEVEL
-#define OS_EVR_TIMER_LEVEL 0x81U
-#endif
-
-// Mutex
-// Recording level for Mutex events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_MUTEX_LEVEL
-#define OS_EVR_MUTEX_LEVEL 0x81U
-#endif
-
-// Semaphore
-// Recording level for Semaphore events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_SEMAPHORE_LEVEL
-#define OS_EVR_SEMAPHORE_LEVEL 0x81U
-#endif
-
-// Memory Pool
-// Recording level for Memory Pool events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_MEMPOOL_LEVEL
-#define OS_EVR_MEMPOOL_LEVEL 0x81U
-#endif
-
-// Message Queue
-// Recording level for Message Queue events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_MSGQUEUE_LEVEL
-#define OS_EVR_MSGQUEUE_LEVEL 0x81U
-#endif
-
-//
-
-//
-
-// RTOS Event Generation
-// Enables event generation for RTX components (requires RTX source variant).
-
-// Memory Management
-// Enables Memory Management event generation.
-#ifndef OS_EVR_MEMORY
-#define OS_EVR_MEMORY 1
-#endif
-
-// Kernel
-// Enables Kernel event generation.
-#ifndef OS_EVR_KERNEL
-#define OS_EVR_KERNEL 1
-#endif
-
-// Thread
-// Enables Thread event generation.
-#ifndef OS_EVR_THREAD
-#define OS_EVR_THREAD 1
-#endif
-
-// Generic Wait
-// Enables Generic Wait event generation.
-#ifndef OS_EVR_WAIT
-#define OS_EVR_WAIT 1
-#endif
-
-// Thread Flags
-// Enables Thread Flags event generation.
-#ifndef OS_EVR_THFLAGS
-#define OS_EVR_THFLAGS 1
-#endif
-
-// Event Flags
-// Enables Event Flags event generation.
-#ifndef OS_EVR_EVFLAGS
-#define OS_EVR_EVFLAGS 1
-#endif
-
-// Timer
-// Enables Timer event generation.
-#ifndef OS_EVR_TIMER
-#define OS_EVR_TIMER 1
-#endif
-
-// Mutex
-// Enables Mutex event generation.
-#ifndef OS_EVR_MUTEX
-#define OS_EVR_MUTEX 1
-#endif
-
-// Semaphore
-// Enables Semaphore event generation.
-#ifndef OS_EVR_SEMAPHORE
-#define OS_EVR_SEMAPHORE 1
-#endif
-
-// Memory Pool
-// Enables Memory Pool event generation.
-#ifndef OS_EVR_MEMPOOL
-#define OS_EVR_MEMPOOL 1
-#endif
-
-// Message Queue
-// Enables Message Queue event generation.
-#ifndef OS_EVR_MSGQUEUE
-#define OS_EVR_MSGQUEUE 1
-#endif
-
-//
-
-//
-
-// Number of Threads which use standard C/C++ library libspace
-// (when thread specific memory allocation is not used).
-#if (OS_THREAD_OBJ_MEM == 0)
-#ifndef OS_THREAD_LIBSPACE_NUM
-#define OS_THREAD_LIBSPACE_NUM 4
-#endif
-#else
-#define OS_THREAD_LIBSPACE_NUM OS_THREAD_NUM
-#endif
-
-//------------- <<< end of configuration section >>> ---------------------------
-
-#endif // RTX_CONFIG_H_
diff --git a/Examples/Network/SMTPS_Client/RTE/CMSIS/RTX_Config.h.base@5.6.1 b/Examples/Network/SMTPS_Client/RTE/CMSIS/RTX_Config.h.base@5.6.1
new file mode 100644
index 00000000..f8756c5b
--- /dev/null
+++ b/Examples/Network/SMTPS_Client/RTE/CMSIS/RTX_Config.h.base@5.6.1
@@ -0,0 +1,663 @@
+/*
+ * Copyright (c) 2013-2026 Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Licensed under the Apache License, Version 2.0 (the License); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * -----------------------------------------------------------------------------
+ *
+ * $Revision: V5.6.1
+ *
+ * Project: CMSIS-RTOS RTX
+ * Title: RTX Configuration definitions
+ *
+ * -----------------------------------------------------------------------------
+ */
+
+#ifndef RTX_CONFIG_H_
+#define RTX_CONFIG_H_
+
+#ifdef _RTE_
+#include "RTE_Components.h"
+#ifdef RTE_RTX_CONFIG_H
+#include RTE_RTX_CONFIG_H
+#endif
+#endif
+
+//-------- <<< Use Configuration Wizard in Context Menu >>> --------------------
+
+// System Configuration
+// =======================
+
+// Global Dynamic Memory size [bytes] <0-1073741824:8>
+// Defines the combined global dynamic memory size.
+// Default: 32768
+#ifndef OS_DYNAMIC_MEM_SIZE
+#define OS_DYNAMIC_MEM_SIZE 32768
+#endif
+
+// Kernel Tick Frequency [Hz] <1-1000000>
+// Defines base time unit for delays and timeouts.
+// Default: 1000 (1ms tick)
+#ifndef OS_TICK_FREQ
+#define OS_TICK_FREQ 1000
+#endif
+
+// Round-Robin Thread switching
+// Enables Round-Robin Thread switching.
+#ifndef OS_ROBIN_ENABLE
+#define OS_ROBIN_ENABLE 1
+#endif
+
+// Round-Robin Timeout <1-1000>
+// Defines how many ticks a thread will execute before a thread switch.
+// Default: 5
+#ifndef OS_ROBIN_TIMEOUT
+#define OS_ROBIN_TIMEOUT 5
+#endif
+
+//
+
+// Safety features (Source variant only)
+// Enables FuSa related features.
+// Requires RTX Source variant.
+// Enables:
+// - selected features from this group
+// - Thread functions: osThreadProtectPrivileged
+#ifndef OS_SAFETY_FEATURES
+#define OS_SAFETY_FEATURES 0
+#endif
+
+// Safety Class
+// Threads assigned to lower classes cannot modify higher class threads.
+// Enables:
+// - Object attributes: osSafetyClass
+// - Kernel functions: osKernelProtect, osKernelDestroyClass
+// - Thread functions: osThreadGetClass, osThreadSuspendClass, osThreadResumeClass
+#ifndef OS_SAFETY_CLASS
+#define OS_SAFETY_CLASS 1
+#endif
+
+// MPU Protected Zone
+// Access protection via MPU (Spatial isolation).
+// Enables:
+// - Thread attributes: osThreadZone
+// - Thread functions: osThreadGetZone, osThreadTerminateZone
+// - Zone Management: osZoneSetup_Callback
+#ifndef OS_EXECUTION_ZONE
+#define OS_EXECUTION_ZONE 1
+#endif
+
+// Thread Watchdog
+// Watchdog alerts ensure timing for critical threads (Temporal isolation).
+// Enables:
+// - Thread functions: osThreadFeedWatchdog
+// - Handler functions: osWatchdogAlarm_Handler
+#ifndef OS_THREAD_WATCHDOG
+#define OS_THREAD_WATCHDOG 1
+#endif
+
+// Object Pointer checking
+// Check object pointer alignment and memory region.
+#ifndef OS_OBJ_PTR_CHECK
+#define OS_OBJ_PTR_CHECK 0
+#endif
+
+// SVC Function Pointer checking
+// Check SVC function pointer alignment and memory region.
+// User needs to define a linker execution region RTX_SVC_VENEERS
+// containing input sections: rtx_*.o (.text.os.svc.veneer.*)
+#ifndef OS_SVC_PTR_CHECK
+#define OS_SVC_PTR_CHECK 0
+#endif
+
+//
+
+// ISR FIFO Queue
+// <4=> 4 entries <8=> 8 entries <12=> 12 entries <16=> 16 entries
+// <24=> 24 entries <32=> 32 entries <48=> 48 entries <64=> 64 entries
+// <96=> 96 entries <128=> 128 entries <196=> 196 entries <256=> 256 entries
+// RTOS Functions called from ISR store requests to this buffer.
+// Default: 16 entries
+#ifndef OS_ISR_FIFO_QUEUE
+#define OS_ISR_FIFO_QUEUE 16
+#endif
+
+// Object Memory usage counters
+// Enables object memory usage counters (requires RTX source variant).
+#ifndef OS_OBJ_MEM_USAGE
+#define OS_OBJ_MEM_USAGE 0
+#endif
+
+//
+
+// Thread Configuration
+// =======================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_THREAD_OBJ_MEM
+#define OS_THREAD_OBJ_MEM 0
+#endif
+
+// Number of user Threads <1-1000>
+// Defines maximum number of user threads that can be active at the same time.
+// Applies to user threads with system provided memory for control blocks.
+#ifndef OS_THREAD_NUM
+#define OS_THREAD_NUM 1
+#endif
+
+// Number of user Threads with default Stack size <0-1000>
+// Defines maximum number of user threads with default stack size.
+// Applies to user threads with zero stack size specified.
+#ifndef OS_THREAD_DEF_STACK_NUM
+#define OS_THREAD_DEF_STACK_NUM 0
+#endif
+
+// Total Stack size [bytes] for user Threads with user-provided Stack size <0-1073741824:8>
+// Defines the combined stack size for user threads with user-provided stack size.
+// Applies to user threads with user-provided stack size and system provided memory for stack.
+// Default: 0
+#ifndef OS_THREAD_USER_STACK_SIZE
+#define OS_THREAD_USER_STACK_SIZE 0
+#endif
+
+//
+
+// Default Thread Stack size [bytes] <96-1073741824:8>
+// Defines stack size for threads with zero stack size specified.
+// Default: 3072
+#ifndef OS_STACK_SIZE
+#define OS_STACK_SIZE 3072
+#endif
+
+// Idle Thread Stack size [bytes] <72-1073741824:8>
+// Defines stack size for Idle thread.
+// Default: 512
+#ifndef OS_IDLE_THREAD_STACK_SIZE
+#define OS_IDLE_THREAD_STACK_SIZE 512
+#endif
+
+// Idle Thread TrustZone Module Identifier
+// Defines TrustZone Thread Context Management Identifier.
+// Applies only to cores with TrustZone technology.
+// Default: 0 (not used)
+#ifndef OS_IDLE_THREAD_TZ_MOD_ID
+#define OS_IDLE_THREAD_TZ_MOD_ID 0
+#endif
+
+// Idle Thread Safety Class <0-15>
+// Defines the Safety Class number.
+// Default: 0
+#ifndef OS_IDLE_THREAD_CLASS
+#define OS_IDLE_THREAD_CLASS 0
+#endif
+
+// Idle Thread Zone <0-127>
+// Defines Thread Zone.
+// Default: 0
+#ifndef OS_IDLE_THREAD_ZONE
+#define OS_IDLE_THREAD_ZONE 0
+#endif
+
+// Stack overrun checking
+// Enables stack overrun check at thread switch (requires RTX source variant).
+// Enabling this option increases slightly the execution time of a thread switch.
+#ifndef OS_STACK_CHECK
+#define OS_STACK_CHECK 1
+#endif
+
+// Stack usage watermark
+// Initializes thread stack with watermark pattern for analyzing stack usage.
+// Enabling this option increases significantly the execution time of thread creation.
+#ifndef OS_STACK_WATERMARK
+#define OS_STACK_WATERMARK 0
+#endif
+
+// Default Processor mode for Thread execution
+// <0=> Unprivileged mode
+// <1=> Privileged mode
+// Default: Privileged mode
+#ifndef OS_PRIVILEGE_MODE
+#define OS_PRIVILEGE_MODE 1
+#endif
+
+//
+
+// Timer Configuration
+// ======================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_TIMER_OBJ_MEM
+#define OS_TIMER_OBJ_MEM 0
+#endif
+
+// Number of Timer objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_TIMER_NUM
+#define OS_TIMER_NUM 1
+#endif
+
+//
+
+// Timer Thread Priority
+// <8=> Low
+// <16=> Below Normal <24=> Normal <32=> Above Normal
+// <40=> High
+// <48=> Realtime
+// Defines priority for timer thread
+// Default: High
+#ifndef OS_TIMER_THREAD_PRIO
+#define OS_TIMER_THREAD_PRIO 40
+#endif
+
+// Timer Thread Stack size [bytes] <0-1073741824:8>
+// Defines stack size for Timer thread.
+// May be set to 0 when timers are not used.
+// Default: 512
+#ifndef OS_TIMER_THREAD_STACK_SIZE
+#define OS_TIMER_THREAD_STACK_SIZE 512
+#endif
+
+// Timer Thread TrustZone Module Identifier
+// Defines TrustZone Thread Context Management Identifier.
+// Applies only to cores with TrustZone technology.
+// Default: 0 (not used)
+#ifndef OS_TIMER_THREAD_TZ_MOD_ID
+#define OS_TIMER_THREAD_TZ_MOD_ID 0
+#endif
+
+// Timer Thread Safety Class <0-15>
+// Defines the Safety Class number.
+// Default: 0
+#ifndef OS_TIMER_THREAD_CLASS
+#define OS_TIMER_THREAD_CLASS 0
+#endif
+
+// Timer Thread Zone <0-127>
+// Defines Thread Zone.
+// Default: 0
+#ifndef OS_TIMER_THREAD_ZONE
+#define OS_TIMER_THREAD_ZONE 0
+#endif
+
+// Timer Callback Queue entries <0-256>
+// Number of concurrent active timer callback functions.
+// May be set to 0 when timers are not used.
+// Default: 4
+#ifndef OS_TIMER_CB_QUEUE
+#define OS_TIMER_CB_QUEUE 4
+#endif
+
+//
+
+// Event Flags Configuration
+// ============================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_EVFLAGS_OBJ_MEM
+#define OS_EVFLAGS_OBJ_MEM 0
+#endif
+
+// Number of Event Flags objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_EVFLAGS_NUM
+#define OS_EVFLAGS_NUM 1
+#endif
+
+//
+
+//
+
+// Mutex Configuration
+// ======================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_MUTEX_OBJ_MEM
+#define OS_MUTEX_OBJ_MEM 0
+#endif
+
+// Number of Mutex objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_MUTEX_NUM
+#define OS_MUTEX_NUM 1
+#endif
+
+//
+
+//
+
+// Semaphore Configuration
+// ==========================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_SEMAPHORE_OBJ_MEM
+#define OS_SEMAPHORE_OBJ_MEM 0
+#endif
+
+// Number of Semaphore objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_SEMAPHORE_NUM
+#define OS_SEMAPHORE_NUM 1
+#endif
+
+//
+
+//
+
+// Memory Pool Configuration
+// ============================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_MEMPOOL_OBJ_MEM
+#define OS_MEMPOOL_OBJ_MEM 0
+#endif
+
+// Number of Memory Pool objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_MEMPOOL_NUM
+#define OS_MEMPOOL_NUM 1
+#endif
+
+// Data Storage Memory size [bytes] <0-1073741824:8>
+// Defines the combined data storage memory size.
+// Applies to objects with system provided memory for data storage.
+// Default: 0
+#ifndef OS_MEMPOOL_DATA_SIZE
+#define OS_MEMPOOL_DATA_SIZE 0
+#endif
+
+//
+
+//
+
+// Message Queue Configuration
+// ==============================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_MSGQUEUE_OBJ_MEM
+#define OS_MSGQUEUE_OBJ_MEM 0
+#endif
+
+// Number of Message Queue objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_MSGQUEUE_NUM
+#define OS_MSGQUEUE_NUM 1
+#endif
+
+// Data Storage Memory size [bytes] <0-1073741824:8>
+// Defines the combined data storage memory size.
+// Applies to objects with system provided memory for data storage.
+// Default: 0
+#ifndef OS_MSGQUEUE_DATA_SIZE
+#define OS_MSGQUEUE_DATA_SIZE 0
+#endif
+
+//
+
+//
+
+// Event Recorder Configuration
+// ===============================
+
+// Global Initialization
+// Initialize Event Recorder during 'osKernelInitialize'.
+#ifndef OS_EVR_INIT
+#define OS_EVR_INIT 0
+#endif
+
+// Start recording
+// Start event recording after initialization.
+#ifndef OS_EVR_START
+#define OS_EVR_START 1
+#endif
+
+// Global Event Filter Setup
+// Initial recording level applied to all components.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_LEVEL
+#define OS_EVR_LEVEL 0x00U
+#endif
+
+// RTOS Event Filter Setup
+// Recording levels for RTX components.
+// Only applicable if events for the respective component are generated.
+
+// Memory Management
+// Recording level for Memory Management events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_MEMORY_LEVEL
+#define OS_EVR_MEMORY_LEVEL 0x81U
+#endif
+
+// Kernel
+// Recording level for Kernel events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_KERNEL_LEVEL
+#define OS_EVR_KERNEL_LEVEL 0x81U
+#endif
+
+// Thread
+// Recording level for Thread events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_THREAD_LEVEL
+#define OS_EVR_THREAD_LEVEL 0x85U
+#endif
+
+// Generic Wait
+// Recording level for Generic Wait events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_WAIT_LEVEL
+#define OS_EVR_WAIT_LEVEL 0x81U
+#endif
+
+// Thread Flags
+// Recording level for Thread Flags events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_THFLAGS_LEVEL
+#define OS_EVR_THFLAGS_LEVEL 0x81U
+#endif
+
+// Event Flags
+// Recording level for Event Flags events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_EVFLAGS_LEVEL
+#define OS_EVR_EVFLAGS_LEVEL 0x81U
+#endif
+
+// Timer
+// Recording level for Timer events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_TIMER_LEVEL
+#define OS_EVR_TIMER_LEVEL 0x81U
+#endif
+
+// Mutex
+// Recording level for Mutex events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_MUTEX_LEVEL
+#define OS_EVR_MUTEX_LEVEL 0x81U
+#endif
+
+// Semaphore
+// Recording level for Semaphore events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_SEMAPHORE_LEVEL
+#define OS_EVR_SEMAPHORE_LEVEL 0x81U
+#endif
+
+// Memory Pool
+// Recording level for Memory Pool events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_MEMPOOL_LEVEL
+#define OS_EVR_MEMPOOL_LEVEL 0x81U
+#endif
+
+// Message Queue
+// Recording level for Message Queue events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_MSGQUEUE_LEVEL
+#define OS_EVR_MSGQUEUE_LEVEL 0x81U
+#endif
+
+//
+
+//
+
+// RTOS Event Generation
+// Enables event generation for RTX components (requires RTX source variant).
+
+// Memory Management
+// Enables Memory Management event generation.
+#ifndef OS_EVR_MEMORY
+#define OS_EVR_MEMORY 1
+#endif
+
+// Kernel
+// Enables Kernel event generation.
+#ifndef OS_EVR_KERNEL
+#define OS_EVR_KERNEL 1
+#endif
+
+// Thread
+// Enables Thread event generation.
+#ifndef OS_EVR_THREAD
+#define OS_EVR_THREAD 1
+#endif
+
+// Generic Wait
+// Enables Generic Wait event generation.
+#ifndef OS_EVR_WAIT
+#define OS_EVR_WAIT 1
+#endif
+
+// Thread Flags
+// Enables Thread Flags event generation.
+#ifndef OS_EVR_THFLAGS
+#define OS_EVR_THFLAGS 1
+#endif
+
+// Event Flags
+// Enables Event Flags event generation.
+#ifndef OS_EVR_EVFLAGS
+#define OS_EVR_EVFLAGS 1
+#endif
+
+// Timer
+// Enables Timer event generation.
+#ifndef OS_EVR_TIMER
+#define OS_EVR_TIMER 1
+#endif
+
+// Mutex
+// Enables Mutex event generation.
+#ifndef OS_EVR_MUTEX
+#define OS_EVR_MUTEX 1
+#endif
+
+// Semaphore
+// Enables Semaphore event generation.
+#ifndef OS_EVR_SEMAPHORE
+#define OS_EVR_SEMAPHORE 1
+#endif
+
+// Memory Pool
+// Enables Memory Pool event generation.
+#ifndef OS_EVR_MEMPOOL
+#define OS_EVR_MEMPOOL 1
+#endif
+
+// Message Queue
+// Enables Message Queue event generation.
+#ifndef OS_EVR_MSGQUEUE
+#define OS_EVR_MSGQUEUE 1
+#endif
+
+//
+
+//
+
+// Number of Threads which use standard C/C++ library libspace
+// (when thread specific memory allocation is not used).
+#if (OS_THREAD_OBJ_MEM == 0)
+#ifndef OS_THREAD_LIBSPACE_NUM
+#define OS_THREAD_LIBSPACE_NUM 4
+#endif
+#else
+#define OS_THREAD_LIBSPACE_NUM OS_THREAD_NUM
+#endif
+
+//------------- <<< end of configuration section >>> ---------------------------
+
+#endif // RTX_CONFIG_H_
diff --git a/Examples/Network/SMTPS_Client/RTE/Security/mbedTLS_config.h b/Examples/Network/SMTPS_Client/RTE/Security/mbedTLS_config.h
deleted file mode 100644
index e3ae2275..00000000
--- a/Examples/Network/SMTPS_Client/RTE/Security/mbedTLS_config.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/**
- * Configuration template for SMTPS
- */
-/*
- * Copyright The Mbed TLS Contributors
- * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
- */
-
-#define MBEDTLS_CONFIG_VERSION 0x03060400
-
-/* System support */
-
-/* mbed TLS feature support */
-#define MBEDTLS_ENTROPY_HARDWARE_ALT
-#define MBEDTLS_AES_ROM_TABLES
-#define MBEDTLS_CIPHER_MODE_CBC
-#define MBEDTLS_CIPHER_PADDING_PKCS7
-#define MBEDTLS_ECP_DP_SECP256R1_ENABLED
-#define MBEDTLS_ECP_DP_SECP384R1_ENABLED
-#define MBEDTLS_ECP_NIST_OPTIM
-#define MBEDTLS_ECDSA_DETERMINISTIC
-#define MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
-#define MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
-#define MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED
-#define MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
-#define MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
-#define MBEDTLS_ERROR_STRERROR_DUMMY
-#define MBEDTLS_NO_PLATFORM_ENTROPY
-#define MBEDTLS_PK_RSA_ALT_SUPPORT
-#define MBEDTLS_PKCS1_V15
-#define MBEDTLS_PKCS1_V21
-#define MBEDTLS_SSL_ALL_ALERT_MESSAGES
-#define MBEDTLS_SSL_ENCRYPT_THEN_MAC
-#define MBEDTLS_SSL_EXTENDED_MASTER_SECRET
-#define MBEDTLS_SSL_RENEGOTIATION
-#define MBEDTLS_SSL_MAX_FRAGMENT_LENGTH
-#define MBEDTLS_SSL_PROTO_TLS1_2
-#define MBEDTLS_SSL_ALPN
-#define MBEDTLS_SSL_SESSION_TICKETS
-#define MBEDTLS_SSL_SERVER_NAME_INDICATION
-
-/* mbed TLS modules */
-#define MBEDTLS_AES_C
-#define MBEDTLS_ASN1_PARSE_C
-#define MBEDTLS_ASN1_WRITE_C
-#define MBEDTLS_BASE64_C
-#define MBEDTLS_BIGNUM_C
-#define MBEDTLS_CCM_C
-#define MBEDTLS_CIPHER_C
-#define MBEDTLS_CTR_DRBG_C
-//#define MBEDTLS_DEBUG_C
-#define MBEDTLS_ECDH_C
-#define MBEDTLS_ECDSA_C
-#define MBEDTLS_ECP_C
-#define MBEDTLS_ENTROPY_C
-#define MBEDTLS_GCM_C
-#define MBEDTLS_HMAC_DRBG_C
-#define MBEDTLS_MD_C
-#define MBEDTLS_OID_C
-#define MBEDTLS_PEM_PARSE_C
-#define MBEDTLS_PK_C
-#define MBEDTLS_PK_PARSE_C
-#define MBEDTLS_PLATFORM_C
-#define MBEDTLS_RSA_C
-#define MBEDTLS_SHA1_C
-#define MBEDTLS_SHA224_C
-#define MBEDTLS_SHA256_C
-#define MBEDTLS_SHA512_C
-#define MBEDTLS_SSL_CACHE_C
-#define MBEDTLS_SSL_COOKIE_C
-#define MBEDTLS_SSL_TICKET_C
-#define MBEDTLS_SSL_CLI_C
-#define MBEDTLS_SSL_TLS_C
-#define MBEDTLS_X509_USE_C
-#define MBEDTLS_X509_CRT_PARSE_C
-#define MBEDTLS_X509_CRL_PARSE_C
-
-/* SSL options */
-#define MBEDTLS_SSL_IN_CONTENT_LEN 4096 /**< Maximum length (in bytes) of incoming plaintext fragments. */
-#define MBEDTLS_SSL_OUT_CONTENT_LEN 4096 /**< Maximum length (in bytes) of outgoing plaintext fragments. */
diff --git a/Examples/Network/SMTPS_Client/RTE/Security/mbedTLS_config.h.base@3.6.4 b/Examples/Network/SMTPS_Client/RTE/Security/mbedTLS_config.h.base@3.6.4
deleted file mode 100644
index 904acac0..00000000
--- a/Examples/Network/SMTPS_Client/RTE/Security/mbedTLS_config.h.base@3.6.4
+++ /dev/null
@@ -1,194 +0,0 @@
-/**
- * Configuration template
- */
-/*
- * Copyright The Mbed TLS Contributors
- * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
- */
-
-#define MBEDTLS_CONFIG_VERSION 0x03060400
-
-/* System support */
-//#define MBEDTLS_HAVE_ASM
-//#define MBEDTLS_HAVE_TIME
-//#define MBEDTLS_HAVE_TIME_DATE
-//#define MBEDTLS_PLATFORM_MEMORY
-//#define MBEDTLS_PLATFORM_NO_STD_FUNCTIONS
-
-/* mbed TLS feature support */
-//#define MBEDTLS_AES_ROM_TABLES
-//#define MBEDTLS_AES_FEWER_TABLES
-//#define MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH
-//#define MBEDTLS_BLOCK_CIPHER_NO_DECRYPT
-//#define MBEDTLS_CAMELLIA_SMALL_MEMORY
-//#define MBEDTLS_CHECK_RETURN_WARNING
-//#define MBEDTLS_CIPHER_MODE_CBC
-//#define MBEDTLS_CIPHER_MODE_CFB
-//#define MBEDTLS_CIPHER_MODE_CTR
-//#define MBEDTLS_CIPHER_MODE_OFB
-//#define MBEDTLS_CIPHER_MODE_XTS
-//#define MBEDTLS_CIPHER_PADDING_PKCS7
-//#define MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS
-//#define MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN
-//#define MBEDTLS_CIPHER_PADDING_ZEROS
-//#define MBEDTLS_ECP_DP_SECP192R1_ENABLED
-//#define MBEDTLS_ECP_DP_SECP224R1_ENABLED
-//#define MBEDTLS_ECP_DP_SECP256R1_ENABLED
-//#define MBEDTLS_ECP_DP_SECP384R1_ENABLED
-//#define MBEDTLS_ECP_DP_SECP521R1_ENABLED
-//#define MBEDTLS_ECP_DP_SECP192K1_ENABLED
-//#define MBEDTLS_ECP_DP_SECP224K1_ENABLED
-//#define MBEDTLS_ECP_DP_SECP256K1_ENABLED
-//#define MBEDTLS_ECP_DP_BP256R1_ENABLED
-//#define MBEDTLS_ECP_DP_BP384R1_ENABLED
-//#define MBEDTLS_ECP_DP_BP512R1_ENABLED
-//#define MBEDTLS_ECP_DP_CURVE25519_ENABLED
-//#define MBEDTLS_ECP_DP_CURVE448_ENABLED
-//#define MBEDTLS_ECP_NIST_OPTIM
-//#define MBEDTLS_ECP_RESTARTABLE
-//#define MBEDTLS_ECDSA_DETERMINISTIC
-//#define MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
-//#define MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED
-//#define MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
-//#define MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED
-//#define MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
-//#define MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED
-//#define MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
-//#define MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
-//#define MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED
-//#define MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED
-//#define MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED
-//#define MBEDTLS_PK_PARSE_EC_EXTENDED
-//#define MBEDTLS_ERROR_STRERROR_DUMMY
-//#define MBEDTLS_GCM_LARGE_TABLE
-//#define MBEDTLS_GENPRIME
-//#define MBEDTLS_FS_IO
-//#define MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES
-//#define MBEDTLS_NO_PLATFORM_ENTROPY
-//#define MBEDTLS_ENTROPY_FORCE_SHA256
-//#define MBEDTLS_ENTROPY_NV_SEED
-//#define MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER
-//#define MBEDTLS_MEMORY_DEBUG
-//#define MBEDTLS_MEMORY_BACKTRACE
-//#define MBEDTLS_PK_RSA_ALT_SUPPORT
-//#define MBEDTLS_PKCS1_V15
-//#define MBEDTLS_PKCS1_V21
-//#define MBEDTLS_PSA_CRYPTO_BUILTIN_KEYS
-//#define MBEDTLS_PSA_CRYPTO_CLIENT
-//#define MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG
-//#define MBEDTLS_PSA_CRYPTO_SPM
-//#define MBEDTLS_PSA_KEY_STORE_DYNAMIC
-//#define MBEDTLS_PSA_P256M_DRIVER_ENABLED
-//#define MBEDTLS_PSA_INJECT_ENTROPY
-//#define MBEDTLS_PSA_ASSUME_EXCLUSIVE_BUFFERS
-//#define MBEDTLS_RSA_NO_CRT
-//#define MBEDTLS_SELF_TEST
-//#define MBEDTLS_SHA256_SMALLER
-//#define MBEDTLS_SHA512_SMALLER
-//#define MBEDTLS_SSL_ALL_ALERT_MESSAGES
-//#define MBEDTLS_SSL_DTLS_CONNECTION_ID
-//#define MBEDTLS_SSL_ASYNC_PRIVATE
-//#define MBEDTLS_SSL_CLI_ALLOW_WEAK_CERTIFICATE_VERIFICATION_WITHOUT_HOSTNAME
-//#define MBEDTLS_SSL_CONTEXT_SERIALIZATION
-//#define MBEDTLS_SSL_DEBUG_ALL
-//#define MBEDTLS_SSL_ENCRYPT_THEN_MAC
-//#define MBEDTLS_SSL_EXTENDED_MASTER_SECRET
-//#define MBEDTLS_SSL_KEEP_PEER_CERTIFICATE
-//#define MBEDTLS_SSL_KEYING_MATERIAL_EXPORT
-//#define MBEDTLS_SSL_RENEGOTIATION
-//#define MBEDTLS_SSL_MAX_FRAGMENT_LENGTH
-//#define MBEDTLS_SSL_PROTO_TLS1_2
-//#define MBEDTLS_SSL_PROTO_TLS1_3
-//#define MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
-//#define MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
-//#define MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
-//#define MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
-//#define MBEDTLS_SSL_EARLY_DATA
-//#define MBEDTLS_SSL_PROTO_DTLS
-//#define MBEDTLS_SSL_ALPN
-//#define MBEDTLS_SSL_DTLS_ANTI_REPLAY
-//#define MBEDTLS_SSL_DTLS_HELLO_VERIFY
-//#define MBEDTLS_SSL_DTLS_SRTP
-//#define MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE
-//#define MBEDTLS_SSL_SESSION_TICKETS
-//#define MBEDTLS_SSL_SERVER_NAME_INDICATION
-//#define MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH
-//#define MBEDTLS_USE_PSA_CRYPTO
-//#define MBEDTLS_PSA_CRYPTO_CONFIG
-//#define MBEDTLS_VERSION_FEATURES
-//#define MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK
-//#define MBEDTLS_X509_RSASSA_PSS_SUPPORT
-
-/* mbed TLS modules */
-//#define MBEDTLS_AESCE_C
-//#define MBEDTLS_AES_C
-//#define MBEDTLS_ASN1_PARSE_C
-//#define MBEDTLS_ASN1_WRITE_C
-//#define MBEDTLS_BASE64_C
-//#define MBEDTLS_BIGNUM_C
-//#define MBEDTLS_CAMELLIA_C
-//#define MBEDTLS_ARIA_C
-//#define MBEDTLS_CCM_C
-//#define MBEDTLS_CHACHA20_C
-//#define MBEDTLS_CHACHAPOLY_C
-//#define MBEDTLS_CIPHER_C
-//#define MBEDTLS_CMAC_C
-//#define MBEDTLS_CTR_DRBG_C
-//#define MBEDTLS_DEBUG_C
-//#define MBEDTLS_DES_C
-//#define MBEDTLS_DHM_C
-//#define MBEDTLS_ECDH_C
-//#define MBEDTLS_ECDSA_C
-//#define MBEDTLS_ECJPAKE_C
-//#define MBEDTLS_ECP_C
-//#define MBEDTLS_ENTROPY_C
-//#define MBEDTLS_ERROR_C
-//#define MBEDTLS_GCM_C
-//#define MBEDTLS_HKDF_C
-//#define MBEDTLS_HMAC_DRBG_C
-//#define MBEDTLS_LMS_C
-//#define MBEDTLS_NIST_KW_C
-//#define MBEDTLS_MD_C
-//#define MBEDTLS_MD5_C
-//#define MBEDTLS_MEMORY_BUFFER_ALLOC_C
-//#define MBEDTLS_NET_C
-//#define MBEDTLS_OID_C
-//#define MBEDTLS_PEM_PARSE_C
-//#define MBEDTLS_PEM_WRITE_C
-//#define MBEDTLS_PK_C
-//#define MBEDTLS_PK_PARSE_C
-//#define MBEDTLS_PK_WRITE_C
-//#define MBEDTLS_PKCS5_C
-//#define MBEDTLS_PKCS7_C
-//#define MBEDTLS_PKCS12_C
-//#define MBEDTLS_PLATFORM_C
-//#define MBEDTLS_POLY1305_C
-//#define MBEDTLS_PSA_CRYPTO_C
-//#define MBEDTLS_PSA_CRYPTO_SE_C
-//#define MBEDTLS_PSA_CRYPTO_STORAGE_C
-//#define MBEDTLS_PSA_ITS_FILE_C
-//#define MBEDTLS_PSA_STATIC_KEY_SLOTS
-//#define MBEDTLS_RIPEMD160_C
-//#define MBEDTLS_RSA_C
-//#define MBEDTLS_SHA1_C
-//#define MBEDTLS_SHA224_C
-//#define MBEDTLS_SHA256_C
-//#define MBEDTLS_SHA384_C
-//#define MBEDTLS_SHA512_C
-//#define MBEDTLS_SHA3_C
-//#define MBEDTLS_SSL_CACHE_C
-//#define MBEDTLS_SSL_COOKIE_C
-//#define MBEDTLS_SSL_TICKET_C
-//#define MBEDTLS_SSL_CLI_C
-//#define MBEDTLS_SSL_SRV_C
-//#define MBEDTLS_SSL_TLS_C
-//#define MBEDTLS_THREADING_C
-//#define MBEDTLS_TIMING_C
-//#define MBEDTLS_VERSION_C
-//#define MBEDTLS_X509_USE_C
-//#define MBEDTLS_X509_CRT_PARSE_C
-//#define MBEDTLS_X509_CRL_PARSE_C
-//#define MBEDTLS_X509_CSR_PARSE_C
-//#define MBEDTLS_X509_CREATE_C
-//#define MBEDTLS_X509_CRT_WRITE_C
-//#define MBEDTLS_X509_CSR_WRITE_C
diff --git a/Examples/Network/SMTPS_Client/SMTPS_Client.cproject.yml b/Examples/Network/SMTPS_Client/SMTPS_Client.cproject.yml
index bd4dd298..83f4533f 100644
--- a/Examples/Network/SMTPS_Client/SMTPS_Client.cproject.yml
+++ b/Examples/Network/SMTPS_Client/SMTPS_Client.cproject.yml
@@ -2,10 +2,10 @@ project:
description: SMTPS Client example
packs:
- - pack: Keil::MDK-Middleware@^8.0.0-0
+ - pack: Keil::MDK-Middleware@^8.2.0-0
- pack: ARM::CMSIS@^6.1.0
- pack: ARM::CMSIS-RTX@^5.9.0
- - pack: ARM::mbedTLS@^3.6.0
+ - pack: ARM::mbedTLS@^4.0.0
connections:
- connect: SMTPS Client
@@ -18,6 +18,11 @@ project:
define:
- SMTPS_SERVER_VERIFY_NONE
+ - MBEDTLS_CONFIG_FILE: \"app_mbedtls_config.h\"
+ - TF_PSA_CRYPTO_CONFIG_FILE: \"app_crypto_config.h\"
+
+ add-path:
+ - ./
groups:
- group: Documentation
@@ -26,6 +31,8 @@ project:
- group: Network
files:
- file: SMTPS_Client.c
+ - file: app_mbedtls_config.h
+ - file: app_crypto_config.h
components:
- component: CMSIS:OS Tick:SysTick
diff --git a/Examples/Network/HTTPS_Server/RTE/Security/mbedTLS_crypto_config.h b/Examples/Network/SMTPS_Client/app_crypto_config.h
similarity index 77%
rename from Examples/Network/HTTPS_Server/RTE/Security/mbedTLS_crypto_config.h
rename to Examples/Network/SMTPS_Client/app_crypto_config.h
index 5ff378b1..737d839a 100644
--- a/Examples/Network/HTTPS_Server/RTE/Security/mbedTLS_crypto_config.h
+++ b/Examples/Network/SMTPS_Client/app_crypto_config.h
@@ -1,11 +1,14 @@
/**
- * PSA crypto configuration template
+ * PSA crypto configuration template for SMTPS
*/
/*
* Copyright The Mbed TLS Contributors
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
*/
+#define TF_PSA_CRYPTO_CONFIG_VERSION 0x01000000
+
+/* Cryptographic mechanism selection (PSA API) */
#define PSA_WANT_ALG_CBC_NO_PADDING 1
#define PSA_WANT_ALG_CBC_PKCS7 1
#define PSA_WANT_ALG_CCM 1
@@ -53,12 +56,8 @@
#define PSA_WANT_ECC_BRAINPOOL_P_R1_512 1
#define PSA_WANT_ECC_MONTGOMERY_255 1
#define PSA_WANT_ECC_MONTGOMERY_448 1
-#define PSA_WANT_ECC_SECP_K1_192 1
#define PSA_WANT_ECC_SECP_K1_256 1
-#define PSA_WANT_ECC_SECP_R1_192 1
-#define PSA_WANT_ECC_SECP_R1_224 1
-/* For secp256r1, consider enabling #MBEDTLS_PSA_P256M_DRIVER_ENABLED
- * (see the description in mbedtls/mbedtls_config.h for details). */
+
#define PSA_WANT_ECC_SECP_R1_256 1
#define PSA_WANT_ECC_SECP_R1_384 1
#define PSA_WANT_ECC_SECP_R1_521 1
@@ -77,35 +76,47 @@
#define PSA_WANT_KEY_TYPE_ARIA 1
#define PSA_WANT_KEY_TYPE_CAMELLIA 1
#define PSA_WANT_KEY_TYPE_CHACHA20 1
-#define PSA_WANT_KEY_TYPE_DES 1
-//#define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR 1 /* Deprecated */
#define PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY 1
#define PSA_WANT_KEY_TYPE_DH_PUBLIC_KEY 1
#define PSA_WANT_KEY_TYPE_RAW_DATA 1
-//#define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR 1 /* Deprecated */
#define PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY 1
-/*
- * The following symbols extend and deprecate the legacy
- * PSA_WANT_KEY_TYPE_xxx_KEY_PAIR ones. They include the usage of that key in
- * the name's suffix. "_USE" is the most generic and it can be used to describe
- * a generic suport, whereas other ones add more features on top of that and
- * they are more specific.
- */
-#define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC 1
+#define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC 1
#define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_IMPORT 1
#define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_EXPORT 1
#define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_GENERATE 1
#define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_DERIVE 1
-#define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC 1
+#define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC 1
#define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_IMPORT 1
#define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_EXPORT 1
#define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_GENERATE 1
-//#define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_DERIVE 1 /* Not supported */
-#define PSA_WANT_KEY_TYPE_DH_KEY_PAIR_BASIC 1
+#define PSA_WANT_KEY_TYPE_DH_KEY_PAIR_BASIC 1
#define PSA_WANT_KEY_TYPE_DH_KEY_PAIR_IMPORT 1
#define PSA_WANT_KEY_TYPE_DH_KEY_PAIR_EXPORT 1
#define PSA_WANT_KEY_TYPE_DH_KEY_PAIR_GENERATE 1
-//#define PSA_WANT_KEY_TYPE_DH_KEY_PAIR_DERIVE 1 /* Not supported */
+
+/* Platform abstraction layer */
+#define MBEDTLS_PLATFORM_C
+
+/* Cryptographic mechanism selection (extended API) */
+#define MBEDTLS_MD_C
+#define MBEDTLS_PK_C
+#define MBEDTLS_PK_PARSE_C
+
+/* Data format support */
+#define MBEDTLS_ASN1_PARSE_C
+#define MBEDTLS_ASN1_WRITE_C
+#define MBEDTLS_BASE64_C
+#define MBEDTLS_PEM_PARSE_C
+
+/* PSA core */
+#define MBEDTLS_CTR_DRBG_C
+#define MBEDTLS_HMAC_DRBG_C
+#define MBEDTLS_PSA_CRYPTO_C
+#define MBEDTLS_PSA_DRIVER_GET_ENTROPY
+
+/* Builtin drivers */
+#define MBEDTLS_AES_ROM_TABLES
+#define MBEDTLS_ECP_NIST_OPTIM
diff --git a/Examples/Network/SMTPS_Client/app_mbedtls_config.h b/Examples/Network/SMTPS_Client/app_mbedtls_config.h
new file mode 100644
index 00000000..2ab83761
--- /dev/null
+++ b/Examples/Network/SMTPS_Client/app_mbedtls_config.h
@@ -0,0 +1,39 @@
+/**
+ * Configuration template for SMTPS
+ */
+/*
+ * Copyright The Mbed TLS Contributors
+ * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
+ */
+
+#define MBEDTLS_CONFIG_VERSION 0x04000000
+
+/* General configuration options */
+#define MBEDTLS_ERROR_C
+#define MBEDTLS_ERROR_STRERROR_DUMMY
+#define MBEDTLS_VERSION_C
+#define MBEDTLS_VERSION_FEATURES
+
+/* TLS feature selection */
+//#define MBEDTLS_DEBUG_C
+#define MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
+#define MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
+#define MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
+#define MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
+#define MBEDTLS_SSL_ALL_ALERT_MESSAGES
+#define MBEDTLS_SSL_ALPN
+#define MBEDTLS_SSL_CACHE_C
+#define MBEDTLS_SSL_CLI_C
+#define MBEDTLS_SSL_ENCRYPT_THEN_MAC
+#define MBEDTLS_SSL_EXTENDED_MASTER_SECRET
+#define MBEDTLS_SSL_MAX_FRAGMENT_LENGTH
+#define MBEDTLS_SSL_PROTO_TLS1_2
+#define MBEDTLS_SSL_SERVER_NAME_INDICATION
+#define MBEDTLS_SSL_TLS_C
+#define MBEDTLS_SSL_IN_CONTENT_LEN 4096
+#define MBEDTLS_SSL_OUT_CONTENT_LEN 4096
+
+/* X.509 feature selection */
+#define MBEDTLS_X509_CRL_PARSE_C
+#define MBEDTLS_X509_CRT_PARSE_C
+#define MBEDTLS_X509_USE_C
diff --git a/Examples/Network/SMTP_Client/RTE/CMSIS/RTX_Config.h b/Examples/Network/SMTP_Client/RTE/CMSIS/RTX_Config.h
index f8672bae..22ee62fe 100644
--- a/Examples/Network/SMTP_Client/RTE/CMSIS/RTX_Config.h
+++ b/Examples/Network/SMTP_Client/RTE/CMSIS/RTX_Config.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013-2023 Arm Limited. All rights reserved.
+ * Copyright (c) 2013-2026 Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -17,7 +17,7 @@
*
* -----------------------------------------------------------------------------
*
- * $Revision: V5.6.0
+ * $Revision: V5.6.1
*
* Project: CMSIS-RTOS RTX
* Title: RTX Configuration definitions
@@ -228,7 +228,7 @@
// Default Processor mode for Thread execution
// <0=> Unprivileged mode
// <1=> Privileged mode
-// Default: Unprivileged mode
+// Default: Privileged mode
#ifndef OS_PRIVILEGE_MODE
#define OS_PRIVILEGE_MODE 1
#endif
diff --git a/Examples/Network/SMTP_Client/RTE/CMSIS/RTX_Config.h.base@5.6.0 b/Examples/Network/SMTP_Client/RTE/CMSIS/RTX_Config.h.base@5.6.0
deleted file mode 100644
index fe0c57b6..00000000
--- a/Examples/Network/SMTP_Client/RTE/CMSIS/RTX_Config.h.base@5.6.0
+++ /dev/null
@@ -1,663 +0,0 @@
-/*
- * Copyright (c) 2013-2023 Arm Limited. All rights reserved.
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Licensed under the Apache License, Version 2.0 (the License); you may
- * not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * -----------------------------------------------------------------------------
- *
- * $Revision: V5.6.0
- *
- * Project: CMSIS-RTOS RTX
- * Title: RTX Configuration definitions
- *
- * -----------------------------------------------------------------------------
- */
-
-#ifndef RTX_CONFIG_H_
-#define RTX_CONFIG_H_
-
-#ifdef _RTE_
-#include "RTE_Components.h"
-#ifdef RTE_RTX_CONFIG_H
-#include RTE_RTX_CONFIG_H
-#endif
-#endif
-
-//-------- <<< Use Configuration Wizard in Context Menu >>> --------------------
-
-// System Configuration
-// =======================
-
-// Global Dynamic Memory size [bytes] <0-1073741824:8>
-// Defines the combined global dynamic memory size.
-// Default: 32768
-#ifndef OS_DYNAMIC_MEM_SIZE
-#define OS_DYNAMIC_MEM_SIZE 32768
-#endif
-
-// Kernel Tick Frequency [Hz] <1-1000000>
-// Defines base time unit for delays and timeouts.
-// Default: 1000 (1ms tick)
-#ifndef OS_TICK_FREQ
-#define OS_TICK_FREQ 1000
-#endif
-
-// Round-Robin Thread switching
-// Enables Round-Robin Thread switching.
-#ifndef OS_ROBIN_ENABLE
-#define OS_ROBIN_ENABLE 1
-#endif
-
-// Round-Robin Timeout <1-1000>
-// Defines how many ticks a thread will execute before a thread switch.
-// Default: 5
-#ifndef OS_ROBIN_TIMEOUT
-#define OS_ROBIN_TIMEOUT 5
-#endif
-
-//
-
-// Safety features (Source variant only)
-// Enables FuSa related features.
-// Requires RTX Source variant.
-// Enables:
-// - selected features from this group
-// - Thread functions: osThreadProtectPrivileged
-#ifndef OS_SAFETY_FEATURES
-#define OS_SAFETY_FEATURES 0
-#endif
-
-// Safety Class
-// Threads assigned to lower classes cannot modify higher class threads.
-// Enables:
-// - Object attributes: osSafetyClass
-// - Kernel functions: osKernelProtect, osKernelDestroyClass
-// - Thread functions: osThreadGetClass, osThreadSuspendClass, osThreadResumeClass
-#ifndef OS_SAFETY_CLASS
-#define OS_SAFETY_CLASS 1
-#endif
-
-// MPU Protected Zone
-// Access protection via MPU (Spatial isolation).
-// Enables:
-// - Thread attributes: osThreadZone
-// - Thread functions: osThreadGetZone, osThreadTerminateZone
-// - Zone Management: osZoneSetup_Callback
-#ifndef OS_EXECUTION_ZONE
-#define OS_EXECUTION_ZONE 1
-#endif
-
-// Thread Watchdog
-// Watchdog alerts ensure timing for critical threads (Temporal isolation).
-// Enables:
-// - Thread functions: osThreadFeedWatchdog
-// - Handler functions: osWatchdogAlarm_Handler
-#ifndef OS_THREAD_WATCHDOG
-#define OS_THREAD_WATCHDOG 1
-#endif
-
-// Object Pointer checking
-// Check object pointer alignment and memory region.
-#ifndef OS_OBJ_PTR_CHECK
-#define OS_OBJ_PTR_CHECK 0
-#endif
-
-// SVC Function Pointer checking
-// Check SVC function pointer alignment and memory region.
-// User needs to define a linker execution region RTX_SVC_VENEERS
-// containing input sections: rtx_*.o (.text.os.svc.veneer.*)
-#ifndef OS_SVC_PTR_CHECK
-#define OS_SVC_PTR_CHECK 0
-#endif
-
-//
-
-// ISR FIFO Queue
-// <4=> 4 entries <8=> 8 entries <12=> 12 entries <16=> 16 entries
-// <24=> 24 entries <32=> 32 entries <48=> 48 entries <64=> 64 entries
-// <96=> 96 entries <128=> 128 entries <196=> 196 entries <256=> 256 entries
-// RTOS Functions called from ISR store requests to this buffer.
-// Default: 16 entries
-#ifndef OS_ISR_FIFO_QUEUE
-#define OS_ISR_FIFO_QUEUE 16
-#endif
-
-// Object Memory usage counters
-// Enables object memory usage counters (requires RTX source variant).
-#ifndef OS_OBJ_MEM_USAGE
-#define OS_OBJ_MEM_USAGE 0
-#endif
-
-//
-
-// Thread Configuration
-// =======================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_THREAD_OBJ_MEM
-#define OS_THREAD_OBJ_MEM 0
-#endif
-
-// Number of user Threads <1-1000>
-// Defines maximum number of user threads that can be active at the same time.
-// Applies to user threads with system provided memory for control blocks.
-#ifndef OS_THREAD_NUM
-#define OS_THREAD_NUM 1
-#endif
-
-// Number of user Threads with default Stack size <0-1000>
-// Defines maximum number of user threads with default stack size.
-// Applies to user threads with zero stack size specified.
-#ifndef OS_THREAD_DEF_STACK_NUM
-#define OS_THREAD_DEF_STACK_NUM 0
-#endif
-
-// Total Stack size [bytes] for user Threads with user-provided Stack size <0-1073741824:8>
-// Defines the combined stack size for user threads with user-provided stack size.
-// Applies to user threads with user-provided stack size and system provided memory for stack.
-// Default: 0
-#ifndef OS_THREAD_USER_STACK_SIZE
-#define OS_THREAD_USER_STACK_SIZE 0
-#endif
-
-//
-
-// Default Thread Stack size [bytes] <96-1073741824:8>
-// Defines stack size for threads with zero stack size specified.
-// Default: 3072
-#ifndef OS_STACK_SIZE
-#define OS_STACK_SIZE 3072
-#endif
-
-// Idle Thread Stack size [bytes] <72-1073741824:8>
-// Defines stack size for Idle thread.
-// Default: 512
-#ifndef OS_IDLE_THREAD_STACK_SIZE
-#define OS_IDLE_THREAD_STACK_SIZE 512
-#endif
-
-// Idle Thread TrustZone Module Identifier
-// Defines TrustZone Thread Context Management Identifier.
-// Applies only to cores with TrustZone technology.
-// Default: 0 (not used)
-#ifndef OS_IDLE_THREAD_TZ_MOD_ID
-#define OS_IDLE_THREAD_TZ_MOD_ID 0
-#endif
-
-// Idle Thread Safety Class <0-15>
-// Defines the Safety Class number.
-// Default: 0
-#ifndef OS_IDLE_THREAD_CLASS
-#define OS_IDLE_THREAD_CLASS 0
-#endif
-
-// Idle Thread Zone <0-127>
-// Defines Thread Zone.
-// Default: 0
-#ifndef OS_IDLE_THREAD_ZONE
-#define OS_IDLE_THREAD_ZONE 0
-#endif
-
-// Stack overrun checking
-// Enables stack overrun check at thread switch (requires RTX source variant).
-// Enabling this option increases slightly the execution time of a thread switch.
-#ifndef OS_STACK_CHECK
-#define OS_STACK_CHECK 1
-#endif
-
-// Stack usage watermark
-// Initializes thread stack with watermark pattern for analyzing stack usage.
-// Enabling this option increases significantly the execution time of thread creation.
-#ifndef OS_STACK_WATERMARK
-#define OS_STACK_WATERMARK 0
-#endif
-
-// Default Processor mode for Thread execution
-// <0=> Unprivileged mode
-// <1=> Privileged mode
-// Default: Unprivileged mode
-#ifndef OS_PRIVILEGE_MODE
-#define OS_PRIVILEGE_MODE 0
-#endif
-
-//
-
-// Timer Configuration
-// ======================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_TIMER_OBJ_MEM
-#define OS_TIMER_OBJ_MEM 0
-#endif
-
-// Number of Timer objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_TIMER_NUM
-#define OS_TIMER_NUM 1
-#endif
-
-//
-
-// Timer Thread Priority
-// <8=> Low
-// <16=> Below Normal <24=> Normal <32=> Above Normal
-// <40=> High
-// <48=> Realtime
-// Defines priority for timer thread
-// Default: High
-#ifndef OS_TIMER_THREAD_PRIO
-#define OS_TIMER_THREAD_PRIO 40
-#endif
-
-// Timer Thread Stack size [bytes] <0-1073741824:8>
-// Defines stack size for Timer thread.
-// May be set to 0 when timers are not used.
-// Default: 512
-#ifndef OS_TIMER_THREAD_STACK_SIZE
-#define OS_TIMER_THREAD_STACK_SIZE 512
-#endif
-
-// Timer Thread TrustZone Module Identifier
-// Defines TrustZone Thread Context Management Identifier.
-// Applies only to cores with TrustZone technology.
-// Default: 0 (not used)
-#ifndef OS_TIMER_THREAD_TZ_MOD_ID
-#define OS_TIMER_THREAD_TZ_MOD_ID 0
-#endif
-
-// Timer Thread Safety Class <0-15>
-// Defines the Safety Class number.
-// Default: 0
-#ifndef OS_TIMER_THREAD_CLASS
-#define OS_TIMER_THREAD_CLASS 0
-#endif
-
-// Timer Thread Zone <0-127>
-// Defines Thread Zone.
-// Default: 0
-#ifndef OS_TIMER_THREAD_ZONE
-#define OS_TIMER_THREAD_ZONE 0
-#endif
-
-// Timer Callback Queue entries <0-256>
-// Number of concurrent active timer callback functions.
-// May be set to 0 when timers are not used.
-// Default: 4
-#ifndef OS_TIMER_CB_QUEUE
-#define OS_TIMER_CB_QUEUE 4
-#endif
-
-//
-
-// Event Flags Configuration
-// ============================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_EVFLAGS_OBJ_MEM
-#define OS_EVFLAGS_OBJ_MEM 0
-#endif
-
-// Number of Event Flags objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_EVFLAGS_NUM
-#define OS_EVFLAGS_NUM 1
-#endif
-
-//
-
-//
-
-// Mutex Configuration
-// ======================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_MUTEX_OBJ_MEM
-#define OS_MUTEX_OBJ_MEM 0
-#endif
-
-// Number of Mutex objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_MUTEX_NUM
-#define OS_MUTEX_NUM 1
-#endif
-
-//
-
-//
-
-// Semaphore Configuration
-// ==========================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_SEMAPHORE_OBJ_MEM
-#define OS_SEMAPHORE_OBJ_MEM 0
-#endif
-
-// Number of Semaphore objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_SEMAPHORE_NUM
-#define OS_SEMAPHORE_NUM 1
-#endif
-
-//
-
-//
-
-// Memory Pool Configuration
-// ============================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_MEMPOOL_OBJ_MEM
-#define OS_MEMPOOL_OBJ_MEM 0
-#endif
-
-// Number of Memory Pool objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_MEMPOOL_NUM
-#define OS_MEMPOOL_NUM 1
-#endif
-
-// Data Storage Memory size [bytes] <0-1073741824:8>
-// Defines the combined data storage memory size.
-// Applies to objects with system provided memory for data storage.
-// Default: 0
-#ifndef OS_MEMPOOL_DATA_SIZE
-#define OS_MEMPOOL_DATA_SIZE 0
-#endif
-
-//
-
-//
-
-// Message Queue Configuration
-// ==============================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_MSGQUEUE_OBJ_MEM
-#define OS_MSGQUEUE_OBJ_MEM 0
-#endif
-
-// Number of Message Queue objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_MSGQUEUE_NUM
-#define OS_MSGQUEUE_NUM 1
-#endif
-
-// Data Storage Memory size [bytes] <0-1073741824:8>
-// Defines the combined data storage memory size.
-// Applies to objects with system provided memory for data storage.
-// Default: 0
-#ifndef OS_MSGQUEUE_DATA_SIZE
-#define OS_MSGQUEUE_DATA_SIZE 0
-#endif
-
-//
-
-//
-
-// Event Recorder Configuration
-// ===============================
-
-// Global Initialization
-// Initialize Event Recorder during 'osKernelInitialize'.
-#ifndef OS_EVR_INIT
-#define OS_EVR_INIT 0
-#endif
-
-// Start recording
-// Start event recording after initialization.
-#ifndef OS_EVR_START
-#define OS_EVR_START 1
-#endif
-
-// Global Event Filter Setup
-// Initial recording level applied to all components.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_LEVEL
-#define OS_EVR_LEVEL 0x00U
-#endif
-
-// RTOS Event Filter Setup
-// Recording levels for RTX components.
-// Only applicable if events for the respective component are generated.
-
-// Memory Management
-// Recording level for Memory Management events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_MEMORY_LEVEL
-#define OS_EVR_MEMORY_LEVEL 0x81U
-#endif
-
-// Kernel
-// Recording level for Kernel events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_KERNEL_LEVEL
-#define OS_EVR_KERNEL_LEVEL 0x81U
-#endif
-
-// Thread
-// Recording level for Thread events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_THREAD_LEVEL
-#define OS_EVR_THREAD_LEVEL 0x85U
-#endif
-
-// Generic Wait
-// Recording level for Generic Wait events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_WAIT_LEVEL
-#define OS_EVR_WAIT_LEVEL 0x81U
-#endif
-
-// Thread Flags
-// Recording level for Thread Flags events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_THFLAGS_LEVEL
-#define OS_EVR_THFLAGS_LEVEL 0x81U
-#endif
-
-// Event Flags
-// Recording level for Event Flags events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_EVFLAGS_LEVEL
-#define OS_EVR_EVFLAGS_LEVEL 0x81U
-#endif
-
-// Timer
-// Recording level for Timer events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_TIMER_LEVEL
-#define OS_EVR_TIMER_LEVEL 0x81U
-#endif
-
-// Mutex
-// Recording level for Mutex events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_MUTEX_LEVEL
-#define OS_EVR_MUTEX_LEVEL 0x81U
-#endif
-
-// Semaphore
-// Recording level for Semaphore events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_SEMAPHORE_LEVEL
-#define OS_EVR_SEMAPHORE_LEVEL 0x81U
-#endif
-
-// Memory Pool
-// Recording level for Memory Pool events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_MEMPOOL_LEVEL
-#define OS_EVR_MEMPOOL_LEVEL 0x81U
-#endif
-
-// Message Queue
-// Recording level for Message Queue events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_MSGQUEUE_LEVEL
-#define OS_EVR_MSGQUEUE_LEVEL 0x81U
-#endif
-
-//
-
-//
-
-// RTOS Event Generation
-// Enables event generation for RTX components (requires RTX source variant).
-
-// Memory Management
-// Enables Memory Management event generation.
-#ifndef OS_EVR_MEMORY
-#define OS_EVR_MEMORY 1
-#endif
-
-// Kernel
-// Enables Kernel event generation.
-#ifndef OS_EVR_KERNEL
-#define OS_EVR_KERNEL 1
-#endif
-
-// Thread
-// Enables Thread event generation.
-#ifndef OS_EVR_THREAD
-#define OS_EVR_THREAD 1
-#endif
-
-// Generic Wait
-// Enables Generic Wait event generation.
-#ifndef OS_EVR_WAIT
-#define OS_EVR_WAIT 1
-#endif
-
-// Thread Flags
-// Enables Thread Flags event generation.
-#ifndef OS_EVR_THFLAGS
-#define OS_EVR_THFLAGS 1
-#endif
-
-// Event Flags
-// Enables Event Flags event generation.
-#ifndef OS_EVR_EVFLAGS
-#define OS_EVR_EVFLAGS 1
-#endif
-
-// Timer
-// Enables Timer event generation.
-#ifndef OS_EVR_TIMER
-#define OS_EVR_TIMER 1
-#endif
-
-// Mutex
-// Enables Mutex event generation.
-#ifndef OS_EVR_MUTEX
-#define OS_EVR_MUTEX 1
-#endif
-
-// Semaphore
-// Enables Semaphore event generation.
-#ifndef OS_EVR_SEMAPHORE
-#define OS_EVR_SEMAPHORE 1
-#endif
-
-// Memory Pool
-// Enables Memory Pool event generation.
-#ifndef OS_EVR_MEMPOOL
-#define OS_EVR_MEMPOOL 1
-#endif
-
-// Message Queue
-// Enables Message Queue event generation.
-#ifndef OS_EVR_MSGQUEUE
-#define OS_EVR_MSGQUEUE 1
-#endif
-
-//
-
-//
-
-// Number of Threads which use standard C/C++ library libspace
-// (when thread specific memory allocation is not used).
-#if (OS_THREAD_OBJ_MEM == 0)
-#ifndef OS_THREAD_LIBSPACE_NUM
-#define OS_THREAD_LIBSPACE_NUM 4
-#endif
-#else
-#define OS_THREAD_LIBSPACE_NUM OS_THREAD_NUM
-#endif
-
-//------------- <<< end of configuration section >>> ---------------------------
-
-#endif // RTX_CONFIG_H_
diff --git a/Examples/Network/SMTP_Client/RTE/CMSIS/RTX_Config.h.base@5.6.1 b/Examples/Network/SMTP_Client/RTE/CMSIS/RTX_Config.h.base@5.6.1
new file mode 100644
index 00000000..f8756c5b
--- /dev/null
+++ b/Examples/Network/SMTP_Client/RTE/CMSIS/RTX_Config.h.base@5.6.1
@@ -0,0 +1,663 @@
+/*
+ * Copyright (c) 2013-2026 Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Licensed under the Apache License, Version 2.0 (the License); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * -----------------------------------------------------------------------------
+ *
+ * $Revision: V5.6.1
+ *
+ * Project: CMSIS-RTOS RTX
+ * Title: RTX Configuration definitions
+ *
+ * -----------------------------------------------------------------------------
+ */
+
+#ifndef RTX_CONFIG_H_
+#define RTX_CONFIG_H_
+
+#ifdef _RTE_
+#include "RTE_Components.h"
+#ifdef RTE_RTX_CONFIG_H
+#include RTE_RTX_CONFIG_H
+#endif
+#endif
+
+//-------- <<< Use Configuration Wizard in Context Menu >>> --------------------
+
+// System Configuration
+// =======================
+
+// Global Dynamic Memory size [bytes] <0-1073741824:8>
+// Defines the combined global dynamic memory size.
+// Default: 32768
+#ifndef OS_DYNAMIC_MEM_SIZE
+#define OS_DYNAMIC_MEM_SIZE 32768
+#endif
+
+// Kernel Tick Frequency [Hz] <1-1000000>
+// Defines base time unit for delays and timeouts.
+// Default: 1000 (1ms tick)
+#ifndef OS_TICK_FREQ
+#define OS_TICK_FREQ 1000
+#endif
+
+// Round-Robin Thread switching
+// Enables Round-Robin Thread switching.
+#ifndef OS_ROBIN_ENABLE
+#define OS_ROBIN_ENABLE 1
+#endif
+
+// Round-Robin Timeout <1-1000>
+// Defines how many ticks a thread will execute before a thread switch.
+// Default: 5
+#ifndef OS_ROBIN_TIMEOUT
+#define OS_ROBIN_TIMEOUT 5
+#endif
+
+//
+
+// Safety features (Source variant only)
+// Enables FuSa related features.
+// Requires RTX Source variant.
+// Enables:
+// - selected features from this group
+// - Thread functions: osThreadProtectPrivileged
+#ifndef OS_SAFETY_FEATURES
+#define OS_SAFETY_FEATURES 0
+#endif
+
+// Safety Class
+// Threads assigned to lower classes cannot modify higher class threads.
+// Enables:
+// - Object attributes: osSafetyClass
+// - Kernel functions: osKernelProtect, osKernelDestroyClass
+// - Thread functions: osThreadGetClass, osThreadSuspendClass, osThreadResumeClass
+#ifndef OS_SAFETY_CLASS
+#define OS_SAFETY_CLASS 1
+#endif
+
+// MPU Protected Zone
+// Access protection via MPU (Spatial isolation).
+// Enables:
+// - Thread attributes: osThreadZone
+// - Thread functions: osThreadGetZone, osThreadTerminateZone
+// - Zone Management: osZoneSetup_Callback
+#ifndef OS_EXECUTION_ZONE
+#define OS_EXECUTION_ZONE 1
+#endif
+
+// Thread Watchdog
+// Watchdog alerts ensure timing for critical threads (Temporal isolation).
+// Enables:
+// - Thread functions: osThreadFeedWatchdog
+// - Handler functions: osWatchdogAlarm_Handler
+#ifndef OS_THREAD_WATCHDOG
+#define OS_THREAD_WATCHDOG 1
+#endif
+
+// Object Pointer checking
+// Check object pointer alignment and memory region.
+#ifndef OS_OBJ_PTR_CHECK
+#define OS_OBJ_PTR_CHECK 0
+#endif
+
+// SVC Function Pointer checking
+// Check SVC function pointer alignment and memory region.
+// User needs to define a linker execution region RTX_SVC_VENEERS
+// containing input sections: rtx_*.o (.text.os.svc.veneer.*)
+#ifndef OS_SVC_PTR_CHECK
+#define OS_SVC_PTR_CHECK 0
+#endif
+
+//
+
+// ISR FIFO Queue
+// <4=> 4 entries <8=> 8 entries <12=> 12 entries <16=> 16 entries
+// <24=> 24 entries <32=> 32 entries <48=> 48 entries <64=> 64 entries
+// <96=> 96 entries <128=> 128 entries <196=> 196 entries <256=> 256 entries
+// RTOS Functions called from ISR store requests to this buffer.
+// Default: 16 entries
+#ifndef OS_ISR_FIFO_QUEUE
+#define OS_ISR_FIFO_QUEUE 16
+#endif
+
+// Object Memory usage counters
+// Enables object memory usage counters (requires RTX source variant).
+#ifndef OS_OBJ_MEM_USAGE
+#define OS_OBJ_MEM_USAGE 0
+#endif
+
+//
+
+// Thread Configuration
+// =======================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_THREAD_OBJ_MEM
+#define OS_THREAD_OBJ_MEM 0
+#endif
+
+// Number of user Threads <1-1000>
+// Defines maximum number of user threads that can be active at the same time.
+// Applies to user threads with system provided memory for control blocks.
+#ifndef OS_THREAD_NUM
+#define OS_THREAD_NUM 1
+#endif
+
+// Number of user Threads with default Stack size <0-1000>
+// Defines maximum number of user threads with default stack size.
+// Applies to user threads with zero stack size specified.
+#ifndef OS_THREAD_DEF_STACK_NUM
+#define OS_THREAD_DEF_STACK_NUM 0
+#endif
+
+// Total Stack size [bytes] for user Threads with user-provided Stack size <0-1073741824:8>
+// Defines the combined stack size for user threads with user-provided stack size.
+// Applies to user threads with user-provided stack size and system provided memory for stack.
+// Default: 0
+#ifndef OS_THREAD_USER_STACK_SIZE
+#define OS_THREAD_USER_STACK_SIZE 0
+#endif
+
+//
+
+// Default Thread Stack size [bytes] <96-1073741824:8>
+// Defines stack size for threads with zero stack size specified.
+// Default: 3072
+#ifndef OS_STACK_SIZE
+#define OS_STACK_SIZE 3072
+#endif
+
+// Idle Thread Stack size [bytes] <72-1073741824:8>
+// Defines stack size for Idle thread.
+// Default: 512
+#ifndef OS_IDLE_THREAD_STACK_SIZE
+#define OS_IDLE_THREAD_STACK_SIZE 512
+#endif
+
+// Idle Thread TrustZone Module Identifier
+// Defines TrustZone Thread Context Management Identifier.
+// Applies only to cores with TrustZone technology.
+// Default: 0 (not used)
+#ifndef OS_IDLE_THREAD_TZ_MOD_ID
+#define OS_IDLE_THREAD_TZ_MOD_ID 0
+#endif
+
+// Idle Thread Safety Class <0-15>
+// Defines the Safety Class number.
+// Default: 0
+#ifndef OS_IDLE_THREAD_CLASS
+#define OS_IDLE_THREAD_CLASS 0
+#endif
+
+// Idle Thread Zone <0-127>
+// Defines Thread Zone.
+// Default: 0
+#ifndef OS_IDLE_THREAD_ZONE
+#define OS_IDLE_THREAD_ZONE 0
+#endif
+
+// Stack overrun checking
+// Enables stack overrun check at thread switch (requires RTX source variant).
+// Enabling this option increases slightly the execution time of a thread switch.
+#ifndef OS_STACK_CHECK
+#define OS_STACK_CHECK 1
+#endif
+
+// Stack usage watermark
+// Initializes thread stack with watermark pattern for analyzing stack usage.
+// Enabling this option increases significantly the execution time of thread creation.
+#ifndef OS_STACK_WATERMARK
+#define OS_STACK_WATERMARK 0
+#endif
+
+// Default Processor mode for Thread execution
+// <0=> Unprivileged mode
+// <1=> Privileged mode
+// Default: Privileged mode
+#ifndef OS_PRIVILEGE_MODE
+#define OS_PRIVILEGE_MODE 1
+#endif
+
+//
+
+// Timer Configuration
+// ======================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_TIMER_OBJ_MEM
+#define OS_TIMER_OBJ_MEM 0
+#endif
+
+// Number of Timer objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_TIMER_NUM
+#define OS_TIMER_NUM 1
+#endif
+
+//
+
+// Timer Thread Priority
+// <8=> Low
+// <16=> Below Normal <24=> Normal <32=> Above Normal
+// <40=> High
+// <48=> Realtime
+// Defines priority for timer thread
+// Default: High
+#ifndef OS_TIMER_THREAD_PRIO
+#define OS_TIMER_THREAD_PRIO 40
+#endif
+
+// Timer Thread Stack size [bytes] <0-1073741824:8>
+// Defines stack size for Timer thread.
+// May be set to 0 when timers are not used.
+// Default: 512
+#ifndef OS_TIMER_THREAD_STACK_SIZE
+#define OS_TIMER_THREAD_STACK_SIZE 512
+#endif
+
+// Timer Thread TrustZone Module Identifier
+// Defines TrustZone Thread Context Management Identifier.
+// Applies only to cores with TrustZone technology.
+// Default: 0 (not used)
+#ifndef OS_TIMER_THREAD_TZ_MOD_ID
+#define OS_TIMER_THREAD_TZ_MOD_ID 0
+#endif
+
+// Timer Thread Safety Class <0-15>
+// Defines the Safety Class number.
+// Default: 0
+#ifndef OS_TIMER_THREAD_CLASS
+#define OS_TIMER_THREAD_CLASS 0
+#endif
+
+// Timer Thread Zone <0-127>
+// Defines Thread Zone.
+// Default: 0
+#ifndef OS_TIMER_THREAD_ZONE
+#define OS_TIMER_THREAD_ZONE 0
+#endif
+
+// Timer Callback Queue entries <0-256>
+// Number of concurrent active timer callback functions.
+// May be set to 0 when timers are not used.
+// Default: 4
+#ifndef OS_TIMER_CB_QUEUE
+#define OS_TIMER_CB_QUEUE 4
+#endif
+
+//
+
+// Event Flags Configuration
+// ============================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_EVFLAGS_OBJ_MEM
+#define OS_EVFLAGS_OBJ_MEM 0
+#endif
+
+// Number of Event Flags objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_EVFLAGS_NUM
+#define OS_EVFLAGS_NUM 1
+#endif
+
+//
+
+//
+
+// Mutex Configuration
+// ======================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_MUTEX_OBJ_MEM
+#define OS_MUTEX_OBJ_MEM 0
+#endif
+
+// Number of Mutex objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_MUTEX_NUM
+#define OS_MUTEX_NUM 1
+#endif
+
+//
+
+//
+
+// Semaphore Configuration
+// ==========================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_SEMAPHORE_OBJ_MEM
+#define OS_SEMAPHORE_OBJ_MEM 0
+#endif
+
+// Number of Semaphore objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_SEMAPHORE_NUM
+#define OS_SEMAPHORE_NUM 1
+#endif
+
+//
+
+//
+
+// Memory Pool Configuration
+// ============================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_MEMPOOL_OBJ_MEM
+#define OS_MEMPOOL_OBJ_MEM 0
+#endif
+
+// Number of Memory Pool objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_MEMPOOL_NUM
+#define OS_MEMPOOL_NUM 1
+#endif
+
+// Data Storage Memory size [bytes] <0-1073741824:8>
+// Defines the combined data storage memory size.
+// Applies to objects with system provided memory for data storage.
+// Default: 0
+#ifndef OS_MEMPOOL_DATA_SIZE
+#define OS_MEMPOOL_DATA_SIZE 0
+#endif
+
+//
+
+//
+
+// Message Queue Configuration
+// ==============================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_MSGQUEUE_OBJ_MEM
+#define OS_MSGQUEUE_OBJ_MEM 0
+#endif
+
+// Number of Message Queue objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_MSGQUEUE_NUM
+#define OS_MSGQUEUE_NUM 1
+#endif
+
+// Data Storage Memory size [bytes] <0-1073741824:8>
+// Defines the combined data storage memory size.
+// Applies to objects with system provided memory for data storage.
+// Default: 0
+#ifndef OS_MSGQUEUE_DATA_SIZE
+#define OS_MSGQUEUE_DATA_SIZE 0
+#endif
+
+//
+
+//
+
+// Event Recorder Configuration
+// ===============================
+
+// Global Initialization
+// Initialize Event Recorder during 'osKernelInitialize'.
+#ifndef OS_EVR_INIT
+#define OS_EVR_INIT 0
+#endif
+
+// Start recording
+// Start event recording after initialization.
+#ifndef OS_EVR_START
+#define OS_EVR_START 1
+#endif
+
+// Global Event Filter Setup
+// Initial recording level applied to all components.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_LEVEL
+#define OS_EVR_LEVEL 0x00U
+#endif
+
+// RTOS Event Filter Setup
+// Recording levels for RTX components.
+// Only applicable if events for the respective component are generated.
+
+// Memory Management
+// Recording level for Memory Management events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_MEMORY_LEVEL
+#define OS_EVR_MEMORY_LEVEL 0x81U
+#endif
+
+// Kernel
+// Recording level for Kernel events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_KERNEL_LEVEL
+#define OS_EVR_KERNEL_LEVEL 0x81U
+#endif
+
+// Thread
+// Recording level for Thread events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_THREAD_LEVEL
+#define OS_EVR_THREAD_LEVEL 0x85U
+#endif
+
+// Generic Wait
+// Recording level for Generic Wait events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_WAIT_LEVEL
+#define OS_EVR_WAIT_LEVEL 0x81U
+#endif
+
+// Thread Flags
+// Recording level for Thread Flags events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_THFLAGS_LEVEL
+#define OS_EVR_THFLAGS_LEVEL 0x81U
+#endif
+
+// Event Flags
+// Recording level for Event Flags events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_EVFLAGS_LEVEL
+#define OS_EVR_EVFLAGS_LEVEL 0x81U
+#endif
+
+// Timer
+// Recording level for Timer events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_TIMER_LEVEL
+#define OS_EVR_TIMER_LEVEL 0x81U
+#endif
+
+// Mutex
+// Recording level for Mutex events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_MUTEX_LEVEL
+#define OS_EVR_MUTEX_LEVEL 0x81U
+#endif
+
+// Semaphore
+// Recording level for Semaphore events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_SEMAPHORE_LEVEL
+#define OS_EVR_SEMAPHORE_LEVEL 0x81U
+#endif
+
+// Memory Pool
+// Recording level for Memory Pool events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_MEMPOOL_LEVEL
+#define OS_EVR_MEMPOOL_LEVEL 0x81U
+#endif
+
+// Message Queue
+// Recording level for Message Queue events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_MSGQUEUE_LEVEL
+#define OS_EVR_MSGQUEUE_LEVEL 0x81U
+#endif
+
+//
+
+//
+
+// RTOS Event Generation
+// Enables event generation for RTX components (requires RTX source variant).
+
+// Memory Management
+// Enables Memory Management event generation.
+#ifndef OS_EVR_MEMORY
+#define OS_EVR_MEMORY 1
+#endif
+
+// Kernel
+// Enables Kernel event generation.
+#ifndef OS_EVR_KERNEL
+#define OS_EVR_KERNEL 1
+#endif
+
+// Thread
+// Enables Thread event generation.
+#ifndef OS_EVR_THREAD
+#define OS_EVR_THREAD 1
+#endif
+
+// Generic Wait
+// Enables Generic Wait event generation.
+#ifndef OS_EVR_WAIT
+#define OS_EVR_WAIT 1
+#endif
+
+// Thread Flags
+// Enables Thread Flags event generation.
+#ifndef OS_EVR_THFLAGS
+#define OS_EVR_THFLAGS 1
+#endif
+
+// Event Flags
+// Enables Event Flags event generation.
+#ifndef OS_EVR_EVFLAGS
+#define OS_EVR_EVFLAGS 1
+#endif
+
+// Timer
+// Enables Timer event generation.
+#ifndef OS_EVR_TIMER
+#define OS_EVR_TIMER 1
+#endif
+
+// Mutex
+// Enables Mutex event generation.
+#ifndef OS_EVR_MUTEX
+#define OS_EVR_MUTEX 1
+#endif
+
+// Semaphore
+// Enables Semaphore event generation.
+#ifndef OS_EVR_SEMAPHORE
+#define OS_EVR_SEMAPHORE 1
+#endif
+
+// Memory Pool
+// Enables Memory Pool event generation.
+#ifndef OS_EVR_MEMPOOL
+#define OS_EVR_MEMPOOL 1
+#endif
+
+// Message Queue
+// Enables Message Queue event generation.
+#ifndef OS_EVR_MSGQUEUE
+#define OS_EVR_MSGQUEUE 1
+#endif
+
+//
+
+//
+
+// Number of Threads which use standard C/C++ library libspace
+// (when thread specific memory allocation is not used).
+#if (OS_THREAD_OBJ_MEM == 0)
+#ifndef OS_THREAD_LIBSPACE_NUM
+#define OS_THREAD_LIBSPACE_NUM 4
+#endif
+#else
+#define OS_THREAD_LIBSPACE_NUM OS_THREAD_NUM
+#endif
+
+//------------- <<< end of configuration section >>> ---------------------------
+
+#endif // RTX_CONFIG_H_
diff --git a/Examples/Network/SMTP_Client/SMTP_Client.cproject.yml b/Examples/Network/SMTP_Client/SMTP_Client.cproject.yml
index 7117d64a..9ebe6201 100644
--- a/Examples/Network/SMTP_Client/SMTP_Client.cproject.yml
+++ b/Examples/Network/SMTP_Client/SMTP_Client.cproject.yml
@@ -2,7 +2,7 @@ project:
description: SMTP Client example
packs:
- - pack: Keil::MDK-Middleware@^8.0.0-0
+ - pack: Keil::MDK-Middleware@^8.2.0-0
- pack: ARM::CMSIS@^6.1.0
- pack: ARM::CMSIS-RTX@^5.9.0
diff --git a/Examples/Network/SNMP_Agent/RTE/CMSIS/RTX_Config.h b/Examples/Network/SNMP_Agent/RTE/CMSIS/RTX_Config.h
index f8672bae..22ee62fe 100644
--- a/Examples/Network/SNMP_Agent/RTE/CMSIS/RTX_Config.h
+++ b/Examples/Network/SNMP_Agent/RTE/CMSIS/RTX_Config.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013-2023 Arm Limited. All rights reserved.
+ * Copyright (c) 2013-2026 Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -17,7 +17,7 @@
*
* -----------------------------------------------------------------------------
*
- * $Revision: V5.6.0
+ * $Revision: V5.6.1
*
* Project: CMSIS-RTOS RTX
* Title: RTX Configuration definitions
@@ -228,7 +228,7 @@
// Default Processor mode for Thread execution
// <0=> Unprivileged mode
// <1=> Privileged mode
-// Default: Unprivileged mode
+// Default: Privileged mode
#ifndef OS_PRIVILEGE_MODE
#define OS_PRIVILEGE_MODE 1
#endif
diff --git a/Examples/Network/SNMP_Agent/RTE/CMSIS/RTX_Config.h.base@5.6.0 b/Examples/Network/SNMP_Agent/RTE/CMSIS/RTX_Config.h.base@5.6.0
deleted file mode 100644
index fe0c57b6..00000000
--- a/Examples/Network/SNMP_Agent/RTE/CMSIS/RTX_Config.h.base@5.6.0
+++ /dev/null
@@ -1,663 +0,0 @@
-/*
- * Copyright (c) 2013-2023 Arm Limited. All rights reserved.
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Licensed under the Apache License, Version 2.0 (the License); you may
- * not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * -----------------------------------------------------------------------------
- *
- * $Revision: V5.6.0
- *
- * Project: CMSIS-RTOS RTX
- * Title: RTX Configuration definitions
- *
- * -----------------------------------------------------------------------------
- */
-
-#ifndef RTX_CONFIG_H_
-#define RTX_CONFIG_H_
-
-#ifdef _RTE_
-#include "RTE_Components.h"
-#ifdef RTE_RTX_CONFIG_H
-#include RTE_RTX_CONFIG_H
-#endif
-#endif
-
-//-------- <<< Use Configuration Wizard in Context Menu >>> --------------------
-
-// System Configuration
-// =======================
-
-// Global Dynamic Memory size [bytes] <0-1073741824:8>
-// Defines the combined global dynamic memory size.
-// Default: 32768
-#ifndef OS_DYNAMIC_MEM_SIZE
-#define OS_DYNAMIC_MEM_SIZE 32768
-#endif
-
-// Kernel Tick Frequency [Hz] <1-1000000>
-// Defines base time unit for delays and timeouts.
-// Default: 1000 (1ms tick)
-#ifndef OS_TICK_FREQ
-#define OS_TICK_FREQ 1000
-#endif
-
-// Round-Robin Thread switching
-// Enables Round-Robin Thread switching.
-#ifndef OS_ROBIN_ENABLE
-#define OS_ROBIN_ENABLE 1
-#endif
-
-// Round-Robin Timeout <1-1000>
-// Defines how many ticks a thread will execute before a thread switch.
-// Default: 5
-#ifndef OS_ROBIN_TIMEOUT
-#define OS_ROBIN_TIMEOUT 5
-#endif
-
-//
-
-// Safety features (Source variant only)
-// Enables FuSa related features.
-// Requires RTX Source variant.
-// Enables:
-// - selected features from this group
-// - Thread functions: osThreadProtectPrivileged
-#ifndef OS_SAFETY_FEATURES
-#define OS_SAFETY_FEATURES 0
-#endif
-
-// Safety Class
-// Threads assigned to lower classes cannot modify higher class threads.
-// Enables:
-// - Object attributes: osSafetyClass
-// - Kernel functions: osKernelProtect, osKernelDestroyClass
-// - Thread functions: osThreadGetClass, osThreadSuspendClass, osThreadResumeClass
-#ifndef OS_SAFETY_CLASS
-#define OS_SAFETY_CLASS 1
-#endif
-
-// MPU Protected Zone
-// Access protection via MPU (Spatial isolation).
-// Enables:
-// - Thread attributes: osThreadZone
-// - Thread functions: osThreadGetZone, osThreadTerminateZone
-// - Zone Management: osZoneSetup_Callback
-#ifndef OS_EXECUTION_ZONE
-#define OS_EXECUTION_ZONE 1
-#endif
-
-// Thread Watchdog
-// Watchdog alerts ensure timing for critical threads (Temporal isolation).
-// Enables:
-// - Thread functions: osThreadFeedWatchdog
-// - Handler functions: osWatchdogAlarm_Handler
-#ifndef OS_THREAD_WATCHDOG
-#define OS_THREAD_WATCHDOG 1
-#endif
-
-// Object Pointer checking
-// Check object pointer alignment and memory region.
-#ifndef OS_OBJ_PTR_CHECK
-#define OS_OBJ_PTR_CHECK 0
-#endif
-
-// SVC Function Pointer checking
-// Check SVC function pointer alignment and memory region.
-// User needs to define a linker execution region RTX_SVC_VENEERS
-// containing input sections: rtx_*.o (.text.os.svc.veneer.*)
-#ifndef OS_SVC_PTR_CHECK
-#define OS_SVC_PTR_CHECK 0
-#endif
-
-//
-
-// ISR FIFO Queue
-// <4=> 4 entries <8=> 8 entries <12=> 12 entries <16=> 16 entries
-// <24=> 24 entries <32=> 32 entries <48=> 48 entries <64=> 64 entries
-// <96=> 96 entries <128=> 128 entries <196=> 196 entries <256=> 256 entries
-// RTOS Functions called from ISR store requests to this buffer.
-// Default: 16 entries
-#ifndef OS_ISR_FIFO_QUEUE
-#define OS_ISR_FIFO_QUEUE 16
-#endif
-
-// Object Memory usage counters
-// Enables object memory usage counters (requires RTX source variant).
-#ifndef OS_OBJ_MEM_USAGE
-#define OS_OBJ_MEM_USAGE 0
-#endif
-
-//
-
-// Thread Configuration
-// =======================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_THREAD_OBJ_MEM
-#define OS_THREAD_OBJ_MEM 0
-#endif
-
-// Number of user Threads <1-1000>
-// Defines maximum number of user threads that can be active at the same time.
-// Applies to user threads with system provided memory for control blocks.
-#ifndef OS_THREAD_NUM
-#define OS_THREAD_NUM 1
-#endif
-
-// Number of user Threads with default Stack size <0-1000>
-// Defines maximum number of user threads with default stack size.
-// Applies to user threads with zero stack size specified.
-#ifndef OS_THREAD_DEF_STACK_NUM
-#define OS_THREAD_DEF_STACK_NUM 0
-#endif
-
-// Total Stack size [bytes] for user Threads with user-provided Stack size <0-1073741824:8>
-// Defines the combined stack size for user threads with user-provided stack size.
-// Applies to user threads with user-provided stack size and system provided memory for stack.
-// Default: 0
-#ifndef OS_THREAD_USER_STACK_SIZE
-#define OS_THREAD_USER_STACK_SIZE 0
-#endif
-
-//
-
-// Default Thread Stack size [bytes] <96-1073741824:8>
-// Defines stack size for threads with zero stack size specified.
-// Default: 3072
-#ifndef OS_STACK_SIZE
-#define OS_STACK_SIZE 3072
-#endif
-
-// Idle Thread Stack size [bytes] <72-1073741824:8>
-// Defines stack size for Idle thread.
-// Default: 512
-#ifndef OS_IDLE_THREAD_STACK_SIZE
-#define OS_IDLE_THREAD_STACK_SIZE 512
-#endif
-
-// Idle Thread TrustZone Module Identifier
-// Defines TrustZone Thread Context Management Identifier.
-// Applies only to cores with TrustZone technology.
-// Default: 0 (not used)
-#ifndef OS_IDLE_THREAD_TZ_MOD_ID
-#define OS_IDLE_THREAD_TZ_MOD_ID 0
-#endif
-
-// Idle Thread Safety Class <0-15>
-// Defines the Safety Class number.
-// Default: 0
-#ifndef OS_IDLE_THREAD_CLASS
-#define OS_IDLE_THREAD_CLASS 0
-#endif
-
-// Idle Thread Zone <0-127>
-// Defines Thread Zone.
-// Default: 0
-#ifndef OS_IDLE_THREAD_ZONE
-#define OS_IDLE_THREAD_ZONE 0
-#endif
-
-// Stack overrun checking
-// Enables stack overrun check at thread switch (requires RTX source variant).
-// Enabling this option increases slightly the execution time of a thread switch.
-#ifndef OS_STACK_CHECK
-#define OS_STACK_CHECK 1
-#endif
-
-// Stack usage watermark
-// Initializes thread stack with watermark pattern for analyzing stack usage.
-// Enabling this option increases significantly the execution time of thread creation.
-#ifndef OS_STACK_WATERMARK
-#define OS_STACK_WATERMARK 0
-#endif
-
-// Default Processor mode for Thread execution
-// <0=> Unprivileged mode
-// <1=> Privileged mode
-// Default: Unprivileged mode
-#ifndef OS_PRIVILEGE_MODE
-#define OS_PRIVILEGE_MODE 0
-#endif
-
-//
-
-// Timer Configuration
-// ======================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_TIMER_OBJ_MEM
-#define OS_TIMER_OBJ_MEM 0
-#endif
-
-// Number of Timer objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_TIMER_NUM
-#define OS_TIMER_NUM 1
-#endif
-
-//
-
-// Timer Thread Priority
-// <8=> Low
-// <16=> Below Normal <24=> Normal <32=> Above Normal
-// <40=> High
-// <48=> Realtime
-// Defines priority for timer thread
-// Default: High
-#ifndef OS_TIMER_THREAD_PRIO
-#define OS_TIMER_THREAD_PRIO 40
-#endif
-
-// Timer Thread Stack size [bytes] <0-1073741824:8>
-// Defines stack size for Timer thread.
-// May be set to 0 when timers are not used.
-// Default: 512
-#ifndef OS_TIMER_THREAD_STACK_SIZE
-#define OS_TIMER_THREAD_STACK_SIZE 512
-#endif
-
-// Timer Thread TrustZone Module Identifier
-// Defines TrustZone Thread Context Management Identifier.
-// Applies only to cores with TrustZone technology.
-// Default: 0 (not used)
-#ifndef OS_TIMER_THREAD_TZ_MOD_ID
-#define OS_TIMER_THREAD_TZ_MOD_ID 0
-#endif
-
-// Timer Thread Safety Class <0-15>
-// Defines the Safety Class number.
-// Default: 0
-#ifndef OS_TIMER_THREAD_CLASS
-#define OS_TIMER_THREAD_CLASS 0
-#endif
-
-// Timer Thread Zone <0-127>
-// Defines Thread Zone.
-// Default: 0
-#ifndef OS_TIMER_THREAD_ZONE
-#define OS_TIMER_THREAD_ZONE 0
-#endif
-
-// Timer Callback Queue entries <0-256>
-// Number of concurrent active timer callback functions.
-// May be set to 0 when timers are not used.
-// Default: 4
-#ifndef OS_TIMER_CB_QUEUE
-#define OS_TIMER_CB_QUEUE 4
-#endif
-
-//
-
-// Event Flags Configuration
-// ============================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_EVFLAGS_OBJ_MEM
-#define OS_EVFLAGS_OBJ_MEM 0
-#endif
-
-// Number of Event Flags objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_EVFLAGS_NUM
-#define OS_EVFLAGS_NUM 1
-#endif
-
-//
-
-//
-
-// Mutex Configuration
-// ======================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_MUTEX_OBJ_MEM
-#define OS_MUTEX_OBJ_MEM 0
-#endif
-
-// Number of Mutex objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_MUTEX_NUM
-#define OS_MUTEX_NUM 1
-#endif
-
-//
-
-//
-
-// Semaphore Configuration
-// ==========================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_SEMAPHORE_OBJ_MEM
-#define OS_SEMAPHORE_OBJ_MEM 0
-#endif
-
-// Number of Semaphore objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_SEMAPHORE_NUM
-#define OS_SEMAPHORE_NUM 1
-#endif
-
-//
-
-//
-
-// Memory Pool Configuration
-// ============================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_MEMPOOL_OBJ_MEM
-#define OS_MEMPOOL_OBJ_MEM 0
-#endif
-
-// Number of Memory Pool objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_MEMPOOL_NUM
-#define OS_MEMPOOL_NUM 1
-#endif
-
-// Data Storage Memory size [bytes] <0-1073741824:8>
-// Defines the combined data storage memory size.
-// Applies to objects with system provided memory for data storage.
-// Default: 0
-#ifndef OS_MEMPOOL_DATA_SIZE
-#define OS_MEMPOOL_DATA_SIZE 0
-#endif
-
-//
-
-//
-
-// Message Queue Configuration
-// ==============================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_MSGQUEUE_OBJ_MEM
-#define OS_MSGQUEUE_OBJ_MEM 0
-#endif
-
-// Number of Message Queue objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_MSGQUEUE_NUM
-#define OS_MSGQUEUE_NUM 1
-#endif
-
-// Data Storage Memory size [bytes] <0-1073741824:8>
-// Defines the combined data storage memory size.
-// Applies to objects with system provided memory for data storage.
-// Default: 0
-#ifndef OS_MSGQUEUE_DATA_SIZE
-#define OS_MSGQUEUE_DATA_SIZE 0
-#endif
-
-//
-
-//
-
-// Event Recorder Configuration
-// ===============================
-
-// Global Initialization
-// Initialize Event Recorder during 'osKernelInitialize'.
-#ifndef OS_EVR_INIT
-#define OS_EVR_INIT 0
-#endif
-
-// Start recording
-// Start event recording after initialization.
-#ifndef OS_EVR_START
-#define OS_EVR_START 1
-#endif
-
-// Global Event Filter Setup
-// Initial recording level applied to all components.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_LEVEL
-#define OS_EVR_LEVEL 0x00U
-#endif
-
-// RTOS Event Filter Setup
-// Recording levels for RTX components.
-// Only applicable if events for the respective component are generated.
-
-// Memory Management
-// Recording level for Memory Management events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_MEMORY_LEVEL
-#define OS_EVR_MEMORY_LEVEL 0x81U
-#endif
-
-// Kernel
-// Recording level for Kernel events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_KERNEL_LEVEL
-#define OS_EVR_KERNEL_LEVEL 0x81U
-#endif
-
-// Thread
-// Recording level for Thread events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_THREAD_LEVEL
-#define OS_EVR_THREAD_LEVEL 0x85U
-#endif
-
-// Generic Wait
-// Recording level for Generic Wait events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_WAIT_LEVEL
-#define OS_EVR_WAIT_LEVEL 0x81U
-#endif
-
-// Thread Flags
-// Recording level for Thread Flags events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_THFLAGS_LEVEL
-#define OS_EVR_THFLAGS_LEVEL 0x81U
-#endif
-
-// Event Flags
-// Recording level for Event Flags events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_EVFLAGS_LEVEL
-#define OS_EVR_EVFLAGS_LEVEL 0x81U
-#endif
-
-// Timer
-// Recording level for Timer events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_TIMER_LEVEL
-#define OS_EVR_TIMER_LEVEL 0x81U
-#endif
-
-// Mutex
-// Recording level for Mutex events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_MUTEX_LEVEL
-#define OS_EVR_MUTEX_LEVEL 0x81U
-#endif
-
-// Semaphore
-// Recording level for Semaphore events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_SEMAPHORE_LEVEL
-#define OS_EVR_SEMAPHORE_LEVEL 0x81U
-#endif
-
-// Memory Pool
-// Recording level for Memory Pool events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_MEMPOOL_LEVEL
-#define OS_EVR_MEMPOOL_LEVEL 0x81U
-#endif
-
-// Message Queue
-// Recording level for Message Queue events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_MSGQUEUE_LEVEL
-#define OS_EVR_MSGQUEUE_LEVEL 0x81U
-#endif
-
-//
-
-//
-
-// RTOS Event Generation
-// Enables event generation for RTX components (requires RTX source variant).
-
-// Memory Management
-// Enables Memory Management event generation.
-#ifndef OS_EVR_MEMORY
-#define OS_EVR_MEMORY 1
-#endif
-
-// Kernel
-// Enables Kernel event generation.
-#ifndef OS_EVR_KERNEL
-#define OS_EVR_KERNEL 1
-#endif
-
-// Thread
-// Enables Thread event generation.
-#ifndef OS_EVR_THREAD
-#define OS_EVR_THREAD 1
-#endif
-
-// Generic Wait
-// Enables Generic Wait event generation.
-#ifndef OS_EVR_WAIT
-#define OS_EVR_WAIT 1
-#endif
-
-// Thread Flags
-// Enables Thread Flags event generation.
-#ifndef OS_EVR_THFLAGS
-#define OS_EVR_THFLAGS 1
-#endif
-
-// Event Flags
-// Enables Event Flags event generation.
-#ifndef OS_EVR_EVFLAGS
-#define OS_EVR_EVFLAGS 1
-#endif
-
-// Timer
-// Enables Timer event generation.
-#ifndef OS_EVR_TIMER
-#define OS_EVR_TIMER 1
-#endif
-
-// Mutex
-// Enables Mutex event generation.
-#ifndef OS_EVR_MUTEX
-#define OS_EVR_MUTEX 1
-#endif
-
-// Semaphore
-// Enables Semaphore event generation.
-#ifndef OS_EVR_SEMAPHORE
-#define OS_EVR_SEMAPHORE 1
-#endif
-
-// Memory Pool
-// Enables Memory Pool event generation.
-#ifndef OS_EVR_MEMPOOL
-#define OS_EVR_MEMPOOL 1
-#endif
-
-// Message Queue
-// Enables Message Queue event generation.
-#ifndef OS_EVR_MSGQUEUE
-#define OS_EVR_MSGQUEUE 1
-#endif
-
-//
-
-//
-
-// Number of Threads which use standard C/C++ library libspace
-// (when thread specific memory allocation is not used).
-#if (OS_THREAD_OBJ_MEM == 0)
-#ifndef OS_THREAD_LIBSPACE_NUM
-#define OS_THREAD_LIBSPACE_NUM 4
-#endif
-#else
-#define OS_THREAD_LIBSPACE_NUM OS_THREAD_NUM
-#endif
-
-//------------- <<< end of configuration section >>> ---------------------------
-
-#endif // RTX_CONFIG_H_
diff --git a/Examples/Network/SNMP_Agent/RTE/CMSIS/RTX_Config.h.base@5.6.1 b/Examples/Network/SNMP_Agent/RTE/CMSIS/RTX_Config.h.base@5.6.1
new file mode 100644
index 00000000..f8756c5b
--- /dev/null
+++ b/Examples/Network/SNMP_Agent/RTE/CMSIS/RTX_Config.h.base@5.6.1
@@ -0,0 +1,663 @@
+/*
+ * Copyright (c) 2013-2026 Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Licensed under the Apache License, Version 2.0 (the License); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * -----------------------------------------------------------------------------
+ *
+ * $Revision: V5.6.1
+ *
+ * Project: CMSIS-RTOS RTX
+ * Title: RTX Configuration definitions
+ *
+ * -----------------------------------------------------------------------------
+ */
+
+#ifndef RTX_CONFIG_H_
+#define RTX_CONFIG_H_
+
+#ifdef _RTE_
+#include "RTE_Components.h"
+#ifdef RTE_RTX_CONFIG_H
+#include RTE_RTX_CONFIG_H
+#endif
+#endif
+
+//-------- <<< Use Configuration Wizard in Context Menu >>> --------------------
+
+// System Configuration
+// =======================
+
+// Global Dynamic Memory size [bytes] <0-1073741824:8>
+// Defines the combined global dynamic memory size.
+// Default: 32768
+#ifndef OS_DYNAMIC_MEM_SIZE
+#define OS_DYNAMIC_MEM_SIZE 32768
+#endif
+
+// Kernel Tick Frequency [Hz] <1-1000000>
+// Defines base time unit for delays and timeouts.
+// Default: 1000 (1ms tick)
+#ifndef OS_TICK_FREQ
+#define OS_TICK_FREQ 1000
+#endif
+
+// Round-Robin Thread switching
+// Enables Round-Robin Thread switching.
+#ifndef OS_ROBIN_ENABLE
+#define OS_ROBIN_ENABLE 1
+#endif
+
+// Round-Robin Timeout <1-1000>
+// Defines how many ticks a thread will execute before a thread switch.
+// Default: 5
+#ifndef OS_ROBIN_TIMEOUT
+#define OS_ROBIN_TIMEOUT 5
+#endif
+
+//
+
+// Safety features (Source variant only)
+// Enables FuSa related features.
+// Requires RTX Source variant.
+// Enables:
+// - selected features from this group
+// - Thread functions: osThreadProtectPrivileged
+#ifndef OS_SAFETY_FEATURES
+#define OS_SAFETY_FEATURES 0
+#endif
+
+// Safety Class
+// Threads assigned to lower classes cannot modify higher class threads.
+// Enables:
+// - Object attributes: osSafetyClass
+// - Kernel functions: osKernelProtect, osKernelDestroyClass
+// - Thread functions: osThreadGetClass, osThreadSuspendClass, osThreadResumeClass
+#ifndef OS_SAFETY_CLASS
+#define OS_SAFETY_CLASS 1
+#endif
+
+// MPU Protected Zone
+// Access protection via MPU (Spatial isolation).
+// Enables:
+// - Thread attributes: osThreadZone
+// - Thread functions: osThreadGetZone, osThreadTerminateZone
+// - Zone Management: osZoneSetup_Callback
+#ifndef OS_EXECUTION_ZONE
+#define OS_EXECUTION_ZONE 1
+#endif
+
+// Thread Watchdog
+// Watchdog alerts ensure timing for critical threads (Temporal isolation).
+// Enables:
+// - Thread functions: osThreadFeedWatchdog
+// - Handler functions: osWatchdogAlarm_Handler
+#ifndef OS_THREAD_WATCHDOG
+#define OS_THREAD_WATCHDOG 1
+#endif
+
+// Object Pointer checking
+// Check object pointer alignment and memory region.
+#ifndef OS_OBJ_PTR_CHECK
+#define OS_OBJ_PTR_CHECK 0
+#endif
+
+// SVC Function Pointer checking
+// Check SVC function pointer alignment and memory region.
+// User needs to define a linker execution region RTX_SVC_VENEERS
+// containing input sections: rtx_*.o (.text.os.svc.veneer.*)
+#ifndef OS_SVC_PTR_CHECK
+#define OS_SVC_PTR_CHECK 0
+#endif
+
+//
+
+// ISR FIFO Queue
+// <4=> 4 entries <8=> 8 entries <12=> 12 entries <16=> 16 entries
+// <24=> 24 entries <32=> 32 entries <48=> 48 entries <64=> 64 entries
+// <96=> 96 entries <128=> 128 entries <196=> 196 entries <256=> 256 entries
+// RTOS Functions called from ISR store requests to this buffer.
+// Default: 16 entries
+#ifndef OS_ISR_FIFO_QUEUE
+#define OS_ISR_FIFO_QUEUE 16
+#endif
+
+// Object Memory usage counters
+// Enables object memory usage counters (requires RTX source variant).
+#ifndef OS_OBJ_MEM_USAGE
+#define OS_OBJ_MEM_USAGE 0
+#endif
+
+//
+
+// Thread Configuration
+// =======================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_THREAD_OBJ_MEM
+#define OS_THREAD_OBJ_MEM 0
+#endif
+
+// Number of user Threads <1-1000>
+// Defines maximum number of user threads that can be active at the same time.
+// Applies to user threads with system provided memory for control blocks.
+#ifndef OS_THREAD_NUM
+#define OS_THREAD_NUM 1
+#endif
+
+// Number of user Threads with default Stack size <0-1000>
+// Defines maximum number of user threads with default stack size.
+// Applies to user threads with zero stack size specified.
+#ifndef OS_THREAD_DEF_STACK_NUM
+#define OS_THREAD_DEF_STACK_NUM 0
+#endif
+
+// Total Stack size [bytes] for user Threads with user-provided Stack size <0-1073741824:8>
+// Defines the combined stack size for user threads with user-provided stack size.
+// Applies to user threads with user-provided stack size and system provided memory for stack.
+// Default: 0
+#ifndef OS_THREAD_USER_STACK_SIZE
+#define OS_THREAD_USER_STACK_SIZE 0
+#endif
+
+//
+
+// Default Thread Stack size [bytes] <96-1073741824:8>
+// Defines stack size for threads with zero stack size specified.
+// Default: 3072
+#ifndef OS_STACK_SIZE
+#define OS_STACK_SIZE 3072
+#endif
+
+// Idle Thread Stack size [bytes] <72-1073741824:8>
+// Defines stack size for Idle thread.
+// Default: 512
+#ifndef OS_IDLE_THREAD_STACK_SIZE
+#define OS_IDLE_THREAD_STACK_SIZE 512
+#endif
+
+// Idle Thread TrustZone Module Identifier
+// Defines TrustZone Thread Context Management Identifier.
+// Applies only to cores with TrustZone technology.
+// Default: 0 (not used)
+#ifndef OS_IDLE_THREAD_TZ_MOD_ID
+#define OS_IDLE_THREAD_TZ_MOD_ID 0
+#endif
+
+// Idle Thread Safety Class <0-15>
+// Defines the Safety Class number.
+// Default: 0
+#ifndef OS_IDLE_THREAD_CLASS
+#define OS_IDLE_THREAD_CLASS 0
+#endif
+
+// Idle Thread Zone <0-127>
+// Defines Thread Zone.
+// Default: 0
+#ifndef OS_IDLE_THREAD_ZONE
+#define OS_IDLE_THREAD_ZONE 0
+#endif
+
+// Stack overrun checking
+// Enables stack overrun check at thread switch (requires RTX source variant).
+// Enabling this option increases slightly the execution time of a thread switch.
+#ifndef OS_STACK_CHECK
+#define OS_STACK_CHECK 1
+#endif
+
+// Stack usage watermark
+// Initializes thread stack with watermark pattern for analyzing stack usage.
+// Enabling this option increases significantly the execution time of thread creation.
+#ifndef OS_STACK_WATERMARK
+#define OS_STACK_WATERMARK 0
+#endif
+
+// Default Processor mode for Thread execution
+// <0=> Unprivileged mode
+// <1=> Privileged mode
+// Default: Privileged mode
+#ifndef OS_PRIVILEGE_MODE
+#define OS_PRIVILEGE_MODE 1
+#endif
+
+//
+
+// Timer Configuration
+// ======================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_TIMER_OBJ_MEM
+#define OS_TIMER_OBJ_MEM 0
+#endif
+
+// Number of Timer objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_TIMER_NUM
+#define OS_TIMER_NUM 1
+#endif
+
+//
+
+// Timer Thread Priority
+// <8=> Low
+// <16=> Below Normal <24=> Normal <32=> Above Normal
+// <40=> High
+// <48=> Realtime
+// Defines priority for timer thread
+// Default: High
+#ifndef OS_TIMER_THREAD_PRIO
+#define OS_TIMER_THREAD_PRIO 40
+#endif
+
+// Timer Thread Stack size [bytes] <0-1073741824:8>
+// Defines stack size for Timer thread.
+// May be set to 0 when timers are not used.
+// Default: 512
+#ifndef OS_TIMER_THREAD_STACK_SIZE
+#define OS_TIMER_THREAD_STACK_SIZE 512
+#endif
+
+// Timer Thread TrustZone Module Identifier
+// Defines TrustZone Thread Context Management Identifier.
+// Applies only to cores with TrustZone technology.
+// Default: 0 (not used)
+#ifndef OS_TIMER_THREAD_TZ_MOD_ID
+#define OS_TIMER_THREAD_TZ_MOD_ID 0
+#endif
+
+// Timer Thread Safety Class <0-15>
+// Defines the Safety Class number.
+// Default: 0
+#ifndef OS_TIMER_THREAD_CLASS
+#define OS_TIMER_THREAD_CLASS 0
+#endif
+
+// Timer Thread Zone <0-127>
+// Defines Thread Zone.
+// Default: 0
+#ifndef OS_TIMER_THREAD_ZONE
+#define OS_TIMER_THREAD_ZONE 0
+#endif
+
+// Timer Callback Queue entries <0-256>
+// Number of concurrent active timer callback functions.
+// May be set to 0 when timers are not used.
+// Default: 4
+#ifndef OS_TIMER_CB_QUEUE
+#define OS_TIMER_CB_QUEUE 4
+#endif
+
+//
+
+// Event Flags Configuration
+// ============================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_EVFLAGS_OBJ_MEM
+#define OS_EVFLAGS_OBJ_MEM 0
+#endif
+
+// Number of Event Flags objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_EVFLAGS_NUM
+#define OS_EVFLAGS_NUM 1
+#endif
+
+//
+
+//
+
+// Mutex Configuration
+// ======================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_MUTEX_OBJ_MEM
+#define OS_MUTEX_OBJ_MEM 0
+#endif
+
+// Number of Mutex objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_MUTEX_NUM
+#define OS_MUTEX_NUM 1
+#endif
+
+//
+
+//
+
+// Semaphore Configuration
+// ==========================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_SEMAPHORE_OBJ_MEM
+#define OS_SEMAPHORE_OBJ_MEM 0
+#endif
+
+// Number of Semaphore objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_SEMAPHORE_NUM
+#define OS_SEMAPHORE_NUM 1
+#endif
+
+//
+
+//
+
+// Memory Pool Configuration
+// ============================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_MEMPOOL_OBJ_MEM
+#define OS_MEMPOOL_OBJ_MEM 0
+#endif
+
+// Number of Memory Pool objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_MEMPOOL_NUM
+#define OS_MEMPOOL_NUM 1
+#endif
+
+// Data Storage Memory size [bytes] <0-1073741824:8>
+// Defines the combined data storage memory size.
+// Applies to objects with system provided memory for data storage.
+// Default: 0
+#ifndef OS_MEMPOOL_DATA_SIZE
+#define OS_MEMPOOL_DATA_SIZE 0
+#endif
+
+//
+
+//
+
+// Message Queue Configuration
+// ==============================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_MSGQUEUE_OBJ_MEM
+#define OS_MSGQUEUE_OBJ_MEM 0
+#endif
+
+// Number of Message Queue objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_MSGQUEUE_NUM
+#define OS_MSGQUEUE_NUM 1
+#endif
+
+// Data Storage Memory size [bytes] <0-1073741824:8>
+// Defines the combined data storage memory size.
+// Applies to objects with system provided memory for data storage.
+// Default: 0
+#ifndef OS_MSGQUEUE_DATA_SIZE
+#define OS_MSGQUEUE_DATA_SIZE 0
+#endif
+
+//
+
+//
+
+// Event Recorder Configuration
+// ===============================
+
+// Global Initialization
+// Initialize Event Recorder during 'osKernelInitialize'.
+#ifndef OS_EVR_INIT
+#define OS_EVR_INIT 0
+#endif
+
+// Start recording
+// Start event recording after initialization.
+#ifndef OS_EVR_START
+#define OS_EVR_START 1
+#endif
+
+// Global Event Filter Setup
+// Initial recording level applied to all components.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_LEVEL
+#define OS_EVR_LEVEL 0x00U
+#endif
+
+// RTOS Event Filter Setup
+// Recording levels for RTX components.
+// Only applicable if events for the respective component are generated.
+
+// Memory Management
+// Recording level for Memory Management events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_MEMORY_LEVEL
+#define OS_EVR_MEMORY_LEVEL 0x81U
+#endif
+
+// Kernel
+// Recording level for Kernel events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_KERNEL_LEVEL
+#define OS_EVR_KERNEL_LEVEL 0x81U
+#endif
+
+// Thread
+// Recording level for Thread events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_THREAD_LEVEL
+#define OS_EVR_THREAD_LEVEL 0x85U
+#endif
+
+// Generic Wait
+// Recording level for Generic Wait events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_WAIT_LEVEL
+#define OS_EVR_WAIT_LEVEL 0x81U
+#endif
+
+// Thread Flags
+// Recording level for Thread Flags events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_THFLAGS_LEVEL
+#define OS_EVR_THFLAGS_LEVEL 0x81U
+#endif
+
+// Event Flags
+// Recording level for Event Flags events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_EVFLAGS_LEVEL
+#define OS_EVR_EVFLAGS_LEVEL 0x81U
+#endif
+
+// Timer
+// Recording level for Timer events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_TIMER_LEVEL
+#define OS_EVR_TIMER_LEVEL 0x81U
+#endif
+
+// Mutex
+// Recording level for Mutex events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_MUTEX_LEVEL
+#define OS_EVR_MUTEX_LEVEL 0x81U
+#endif
+
+// Semaphore
+// Recording level for Semaphore events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_SEMAPHORE_LEVEL
+#define OS_EVR_SEMAPHORE_LEVEL 0x81U
+#endif
+
+// Memory Pool
+// Recording level for Memory Pool events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_MEMPOOL_LEVEL
+#define OS_EVR_MEMPOOL_LEVEL 0x81U
+#endif
+
+// Message Queue
+// Recording level for Message Queue events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_MSGQUEUE_LEVEL
+#define OS_EVR_MSGQUEUE_LEVEL 0x81U
+#endif
+
+//
+
+//
+
+// RTOS Event Generation
+// Enables event generation for RTX components (requires RTX source variant).
+
+// Memory Management
+// Enables Memory Management event generation.
+#ifndef OS_EVR_MEMORY
+#define OS_EVR_MEMORY 1
+#endif
+
+// Kernel
+// Enables Kernel event generation.
+#ifndef OS_EVR_KERNEL
+#define OS_EVR_KERNEL 1
+#endif
+
+// Thread
+// Enables Thread event generation.
+#ifndef OS_EVR_THREAD
+#define OS_EVR_THREAD 1
+#endif
+
+// Generic Wait
+// Enables Generic Wait event generation.
+#ifndef OS_EVR_WAIT
+#define OS_EVR_WAIT 1
+#endif
+
+// Thread Flags
+// Enables Thread Flags event generation.
+#ifndef OS_EVR_THFLAGS
+#define OS_EVR_THFLAGS 1
+#endif
+
+// Event Flags
+// Enables Event Flags event generation.
+#ifndef OS_EVR_EVFLAGS
+#define OS_EVR_EVFLAGS 1
+#endif
+
+// Timer
+// Enables Timer event generation.
+#ifndef OS_EVR_TIMER
+#define OS_EVR_TIMER 1
+#endif
+
+// Mutex
+// Enables Mutex event generation.
+#ifndef OS_EVR_MUTEX
+#define OS_EVR_MUTEX 1
+#endif
+
+// Semaphore
+// Enables Semaphore event generation.
+#ifndef OS_EVR_SEMAPHORE
+#define OS_EVR_SEMAPHORE 1
+#endif
+
+// Memory Pool
+// Enables Memory Pool event generation.
+#ifndef OS_EVR_MEMPOOL
+#define OS_EVR_MEMPOOL 1
+#endif
+
+// Message Queue
+// Enables Message Queue event generation.
+#ifndef OS_EVR_MSGQUEUE
+#define OS_EVR_MSGQUEUE 1
+#endif
+
+//
+
+//
+
+// Number of Threads which use standard C/C++ library libspace
+// (when thread specific memory allocation is not used).
+#if (OS_THREAD_OBJ_MEM == 0)
+#ifndef OS_THREAD_LIBSPACE_NUM
+#define OS_THREAD_LIBSPACE_NUM 4
+#endif
+#else
+#define OS_THREAD_LIBSPACE_NUM OS_THREAD_NUM
+#endif
+
+//------------- <<< end of configuration section >>> ---------------------------
+
+#endif // RTX_CONFIG_H_
diff --git a/Examples/Network/SNMP_Agent/SNMP_Agent.cproject.yml b/Examples/Network/SNMP_Agent/SNMP_Agent.cproject.yml
index fe135622..bfa2e6a5 100644
--- a/Examples/Network/SNMP_Agent/SNMP_Agent.cproject.yml
+++ b/Examples/Network/SNMP_Agent/SNMP_Agent.cproject.yml
@@ -2,7 +2,7 @@ project:
description: SNMP Agent example
packs:
- - pack: Keil::MDK-Middleware@^8.0.0-0
+ - pack: Keil::MDK-Middleware@^8.2.0-0
- pack: ARM::CMSIS@^6.1.0
- pack: ARM::CMSIS-RTX@^5.9.0
diff --git a/Examples/Network/Telnet_Server/RTE/CMSIS/RTX_Config.h b/Examples/Network/Telnet_Server/RTE/CMSIS/RTX_Config.h
index f8672bae..22ee62fe 100644
--- a/Examples/Network/Telnet_Server/RTE/CMSIS/RTX_Config.h
+++ b/Examples/Network/Telnet_Server/RTE/CMSIS/RTX_Config.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013-2023 Arm Limited. All rights reserved.
+ * Copyright (c) 2013-2026 Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -17,7 +17,7 @@
*
* -----------------------------------------------------------------------------
*
- * $Revision: V5.6.0
+ * $Revision: V5.6.1
*
* Project: CMSIS-RTOS RTX
* Title: RTX Configuration definitions
@@ -228,7 +228,7 @@
// Default Processor mode for Thread execution
// <0=> Unprivileged mode
// <1=> Privileged mode
-// Default: Unprivileged mode
+// Default: Privileged mode
#ifndef OS_PRIVILEGE_MODE
#define OS_PRIVILEGE_MODE 1
#endif
diff --git a/Examples/Network/Telnet_Server/RTE/CMSIS/RTX_Config.h.base@5.6.0 b/Examples/Network/Telnet_Server/RTE/CMSIS/RTX_Config.h.base@5.6.0
deleted file mode 100644
index fe0c57b6..00000000
--- a/Examples/Network/Telnet_Server/RTE/CMSIS/RTX_Config.h.base@5.6.0
+++ /dev/null
@@ -1,663 +0,0 @@
-/*
- * Copyright (c) 2013-2023 Arm Limited. All rights reserved.
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Licensed under the Apache License, Version 2.0 (the License); you may
- * not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * -----------------------------------------------------------------------------
- *
- * $Revision: V5.6.0
- *
- * Project: CMSIS-RTOS RTX
- * Title: RTX Configuration definitions
- *
- * -----------------------------------------------------------------------------
- */
-
-#ifndef RTX_CONFIG_H_
-#define RTX_CONFIG_H_
-
-#ifdef _RTE_
-#include "RTE_Components.h"
-#ifdef RTE_RTX_CONFIG_H
-#include RTE_RTX_CONFIG_H
-#endif
-#endif
-
-//-------- <<< Use Configuration Wizard in Context Menu >>> --------------------
-
-// System Configuration
-// =======================
-
-// Global Dynamic Memory size [bytes] <0-1073741824:8>
-// Defines the combined global dynamic memory size.
-// Default: 32768
-#ifndef OS_DYNAMIC_MEM_SIZE
-#define OS_DYNAMIC_MEM_SIZE 32768
-#endif
-
-// Kernel Tick Frequency [Hz] <1-1000000>
-// Defines base time unit for delays and timeouts.
-// Default: 1000 (1ms tick)
-#ifndef OS_TICK_FREQ
-#define OS_TICK_FREQ 1000
-#endif
-
-// Round-Robin Thread switching
-// Enables Round-Robin Thread switching.
-#ifndef OS_ROBIN_ENABLE
-#define OS_ROBIN_ENABLE 1
-#endif
-
-// Round-Robin Timeout <1-1000>
-// Defines how many ticks a thread will execute before a thread switch.
-// Default: 5
-#ifndef OS_ROBIN_TIMEOUT
-#define OS_ROBIN_TIMEOUT 5
-#endif
-
-//
-
-// Safety features (Source variant only)
-// Enables FuSa related features.
-// Requires RTX Source variant.
-// Enables:
-// - selected features from this group
-// - Thread functions: osThreadProtectPrivileged
-#ifndef OS_SAFETY_FEATURES
-#define OS_SAFETY_FEATURES 0
-#endif
-
-// Safety Class
-// Threads assigned to lower classes cannot modify higher class threads.
-// Enables:
-// - Object attributes: osSafetyClass
-// - Kernel functions: osKernelProtect, osKernelDestroyClass
-// - Thread functions: osThreadGetClass, osThreadSuspendClass, osThreadResumeClass
-#ifndef OS_SAFETY_CLASS
-#define OS_SAFETY_CLASS 1
-#endif
-
-// MPU Protected Zone
-// Access protection via MPU (Spatial isolation).
-// Enables:
-// - Thread attributes: osThreadZone
-// - Thread functions: osThreadGetZone, osThreadTerminateZone
-// - Zone Management: osZoneSetup_Callback
-#ifndef OS_EXECUTION_ZONE
-#define OS_EXECUTION_ZONE 1
-#endif
-
-// Thread Watchdog
-// Watchdog alerts ensure timing for critical threads (Temporal isolation).
-// Enables:
-// - Thread functions: osThreadFeedWatchdog
-// - Handler functions: osWatchdogAlarm_Handler
-#ifndef OS_THREAD_WATCHDOG
-#define OS_THREAD_WATCHDOG 1
-#endif
-
-// Object Pointer checking
-// Check object pointer alignment and memory region.
-#ifndef OS_OBJ_PTR_CHECK
-#define OS_OBJ_PTR_CHECK 0
-#endif
-
-// SVC Function Pointer checking
-// Check SVC function pointer alignment and memory region.
-// User needs to define a linker execution region RTX_SVC_VENEERS
-// containing input sections: rtx_*.o (.text.os.svc.veneer.*)
-#ifndef OS_SVC_PTR_CHECK
-#define OS_SVC_PTR_CHECK 0
-#endif
-
-//
-
-// ISR FIFO Queue
-// <4=> 4 entries <8=> 8 entries <12=> 12 entries <16=> 16 entries
-// <24=> 24 entries <32=> 32 entries <48=> 48 entries <64=> 64 entries
-// <96=> 96 entries <128=> 128 entries <196=> 196 entries <256=> 256 entries
-// RTOS Functions called from ISR store requests to this buffer.
-// Default: 16 entries
-#ifndef OS_ISR_FIFO_QUEUE
-#define OS_ISR_FIFO_QUEUE 16
-#endif
-
-// Object Memory usage counters
-// Enables object memory usage counters (requires RTX source variant).
-#ifndef OS_OBJ_MEM_USAGE
-#define OS_OBJ_MEM_USAGE 0
-#endif
-
-//
-
-// Thread Configuration
-// =======================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_THREAD_OBJ_MEM
-#define OS_THREAD_OBJ_MEM 0
-#endif
-
-// Number of user Threads <1-1000>
-// Defines maximum number of user threads that can be active at the same time.
-// Applies to user threads with system provided memory for control blocks.
-#ifndef OS_THREAD_NUM
-#define OS_THREAD_NUM 1
-#endif
-
-// Number of user Threads with default Stack size <0-1000>
-// Defines maximum number of user threads with default stack size.
-// Applies to user threads with zero stack size specified.
-#ifndef OS_THREAD_DEF_STACK_NUM
-#define OS_THREAD_DEF_STACK_NUM 0
-#endif
-
-// Total Stack size [bytes] for user Threads with user-provided Stack size <0-1073741824:8>
-// Defines the combined stack size for user threads with user-provided stack size.
-// Applies to user threads with user-provided stack size and system provided memory for stack.
-// Default: 0
-#ifndef OS_THREAD_USER_STACK_SIZE
-#define OS_THREAD_USER_STACK_SIZE 0
-#endif
-
-//
-
-// Default Thread Stack size [bytes] <96-1073741824:8>
-// Defines stack size for threads with zero stack size specified.
-// Default: 3072
-#ifndef OS_STACK_SIZE
-#define OS_STACK_SIZE 3072
-#endif
-
-// Idle Thread Stack size [bytes] <72-1073741824:8>
-// Defines stack size for Idle thread.
-// Default: 512
-#ifndef OS_IDLE_THREAD_STACK_SIZE
-#define OS_IDLE_THREAD_STACK_SIZE 512
-#endif
-
-// Idle Thread TrustZone Module Identifier
-// Defines TrustZone Thread Context Management Identifier.
-// Applies only to cores with TrustZone technology.
-// Default: 0 (not used)
-#ifndef OS_IDLE_THREAD_TZ_MOD_ID
-#define OS_IDLE_THREAD_TZ_MOD_ID 0
-#endif
-
-// Idle Thread Safety Class <0-15>
-// Defines the Safety Class number.
-// Default: 0
-#ifndef OS_IDLE_THREAD_CLASS
-#define OS_IDLE_THREAD_CLASS 0
-#endif
-
-// Idle Thread Zone <0-127>
-// Defines Thread Zone.
-// Default: 0
-#ifndef OS_IDLE_THREAD_ZONE
-#define OS_IDLE_THREAD_ZONE 0
-#endif
-
-// Stack overrun checking
-// Enables stack overrun check at thread switch (requires RTX source variant).
-// Enabling this option increases slightly the execution time of a thread switch.
-#ifndef OS_STACK_CHECK
-#define OS_STACK_CHECK 1
-#endif
-
-// Stack usage watermark
-// Initializes thread stack with watermark pattern for analyzing stack usage.
-// Enabling this option increases significantly the execution time of thread creation.
-#ifndef OS_STACK_WATERMARK
-#define OS_STACK_WATERMARK 0
-#endif
-
-// Default Processor mode for Thread execution
-// <0=> Unprivileged mode
-// <1=> Privileged mode
-// Default: Unprivileged mode
-#ifndef OS_PRIVILEGE_MODE
-#define OS_PRIVILEGE_MODE 0
-#endif
-
-//
-
-// Timer Configuration
-// ======================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_TIMER_OBJ_MEM
-#define OS_TIMER_OBJ_MEM 0
-#endif
-
-// Number of Timer objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_TIMER_NUM
-#define OS_TIMER_NUM 1
-#endif
-
-//
-
-// Timer Thread Priority
-// <8=> Low
-// <16=> Below Normal <24=> Normal <32=> Above Normal
-// <40=> High
-// <48=> Realtime
-// Defines priority for timer thread
-// Default: High
-#ifndef OS_TIMER_THREAD_PRIO
-#define OS_TIMER_THREAD_PRIO 40
-#endif
-
-// Timer Thread Stack size [bytes] <0-1073741824:8>
-// Defines stack size for Timer thread.
-// May be set to 0 when timers are not used.
-// Default: 512
-#ifndef OS_TIMER_THREAD_STACK_SIZE
-#define OS_TIMER_THREAD_STACK_SIZE 512
-#endif
-
-// Timer Thread TrustZone Module Identifier
-// Defines TrustZone Thread Context Management Identifier.
-// Applies only to cores with TrustZone technology.
-// Default: 0 (not used)
-#ifndef OS_TIMER_THREAD_TZ_MOD_ID
-#define OS_TIMER_THREAD_TZ_MOD_ID 0
-#endif
-
-// Timer Thread Safety Class <0-15>
-// Defines the Safety Class number.
-// Default: 0
-#ifndef OS_TIMER_THREAD_CLASS
-#define OS_TIMER_THREAD_CLASS 0
-#endif
-
-// Timer Thread Zone <0-127>
-// Defines Thread Zone.
-// Default: 0
-#ifndef OS_TIMER_THREAD_ZONE
-#define OS_TIMER_THREAD_ZONE 0
-#endif
-
-// Timer Callback Queue entries <0-256>
-// Number of concurrent active timer callback functions.
-// May be set to 0 when timers are not used.
-// Default: 4
-#ifndef OS_TIMER_CB_QUEUE
-#define OS_TIMER_CB_QUEUE 4
-#endif
-
-//
-
-// Event Flags Configuration
-// ============================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_EVFLAGS_OBJ_MEM
-#define OS_EVFLAGS_OBJ_MEM 0
-#endif
-
-// Number of Event Flags objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_EVFLAGS_NUM
-#define OS_EVFLAGS_NUM 1
-#endif
-
-//
-
-//
-
-// Mutex Configuration
-// ======================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_MUTEX_OBJ_MEM
-#define OS_MUTEX_OBJ_MEM 0
-#endif
-
-// Number of Mutex objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_MUTEX_NUM
-#define OS_MUTEX_NUM 1
-#endif
-
-//
-
-//
-
-// Semaphore Configuration
-// ==========================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_SEMAPHORE_OBJ_MEM
-#define OS_SEMAPHORE_OBJ_MEM 0
-#endif
-
-// Number of Semaphore objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_SEMAPHORE_NUM
-#define OS_SEMAPHORE_NUM 1
-#endif
-
-//
-
-//
-
-// Memory Pool Configuration
-// ============================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_MEMPOOL_OBJ_MEM
-#define OS_MEMPOOL_OBJ_MEM 0
-#endif
-
-// Number of Memory Pool objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_MEMPOOL_NUM
-#define OS_MEMPOOL_NUM 1
-#endif
-
-// Data Storage Memory size [bytes] <0-1073741824:8>
-// Defines the combined data storage memory size.
-// Applies to objects with system provided memory for data storage.
-// Default: 0
-#ifndef OS_MEMPOOL_DATA_SIZE
-#define OS_MEMPOOL_DATA_SIZE 0
-#endif
-
-//
-
-//
-
-// Message Queue Configuration
-// ==============================
-
-// Object specific Memory allocation
-// Enables object specific memory allocation.
-#ifndef OS_MSGQUEUE_OBJ_MEM
-#define OS_MSGQUEUE_OBJ_MEM 0
-#endif
-
-// Number of Message Queue objects <1-1000>
-// Defines maximum number of objects that can be active at the same time.
-// Applies to objects with system provided memory for control blocks.
-#ifndef OS_MSGQUEUE_NUM
-#define OS_MSGQUEUE_NUM 1
-#endif
-
-// Data Storage Memory size [bytes] <0-1073741824:8>
-// Defines the combined data storage memory size.
-// Applies to objects with system provided memory for data storage.
-// Default: 0
-#ifndef OS_MSGQUEUE_DATA_SIZE
-#define OS_MSGQUEUE_DATA_SIZE 0
-#endif
-
-//
-
-//
-
-// Event Recorder Configuration
-// ===============================
-
-// Global Initialization
-// Initialize Event Recorder during 'osKernelInitialize'.
-#ifndef OS_EVR_INIT
-#define OS_EVR_INIT 0
-#endif
-
-// Start recording
-// Start event recording after initialization.
-#ifndef OS_EVR_START
-#define OS_EVR_START 1
-#endif
-
-// Global Event Filter Setup
-// Initial recording level applied to all components.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_LEVEL
-#define OS_EVR_LEVEL 0x00U
-#endif
-
-// RTOS Event Filter Setup
-// Recording levels for RTX components.
-// Only applicable if events for the respective component are generated.
-
-// Memory Management
-// Recording level for Memory Management events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_MEMORY_LEVEL
-#define OS_EVR_MEMORY_LEVEL 0x81U
-#endif
-
-// Kernel
-// Recording level for Kernel events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_KERNEL_LEVEL
-#define OS_EVR_KERNEL_LEVEL 0x81U
-#endif
-
-// Thread
-// Recording level for Thread events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_THREAD_LEVEL
-#define OS_EVR_THREAD_LEVEL 0x85U
-#endif
-
-// Generic Wait
-// Recording level for Generic Wait events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_WAIT_LEVEL
-#define OS_EVR_WAIT_LEVEL 0x81U
-#endif
-
-// Thread Flags
-// Recording level for Thread Flags events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_THFLAGS_LEVEL
-#define OS_EVR_THFLAGS_LEVEL 0x81U
-#endif
-
-// Event Flags
-// Recording level for Event Flags events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_EVFLAGS_LEVEL
-#define OS_EVR_EVFLAGS_LEVEL 0x81U
-#endif
-
-// Timer
-// Recording level for Timer events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_TIMER_LEVEL
-#define OS_EVR_TIMER_LEVEL 0x81U
-#endif
-
-// Mutex
-// Recording level for Mutex events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_MUTEX_LEVEL
-#define OS_EVR_MUTEX_LEVEL 0x81U
-#endif
-
-// Semaphore
-// Recording level for Semaphore events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_SEMAPHORE_LEVEL
-#define OS_EVR_SEMAPHORE_LEVEL 0x81U
-#endif
-
-// Memory Pool
-// Recording level for Memory Pool events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_MEMPOOL_LEVEL
-#define OS_EVR_MEMPOOL_LEVEL 0x81U
-#endif
-
-// Message Queue
-// Recording level for Message Queue events.
-// Error events
-// API function call events
-// Operation events
-// Detailed operation events
-//
-#ifndef OS_EVR_MSGQUEUE_LEVEL
-#define OS_EVR_MSGQUEUE_LEVEL 0x81U
-#endif
-
-//
-
-//
-
-// RTOS Event Generation
-// Enables event generation for RTX components (requires RTX source variant).
-
-// Memory Management
-// Enables Memory Management event generation.
-#ifndef OS_EVR_MEMORY
-#define OS_EVR_MEMORY 1
-#endif
-
-// Kernel
-// Enables Kernel event generation.
-#ifndef OS_EVR_KERNEL
-#define OS_EVR_KERNEL 1
-#endif
-
-// Thread
-// Enables Thread event generation.
-#ifndef OS_EVR_THREAD
-#define OS_EVR_THREAD 1
-#endif
-
-// Generic Wait
-// Enables Generic Wait event generation.
-#ifndef OS_EVR_WAIT
-#define OS_EVR_WAIT 1
-#endif
-
-// Thread Flags
-// Enables Thread Flags event generation.
-#ifndef OS_EVR_THFLAGS
-#define OS_EVR_THFLAGS 1
-#endif
-
-// Event Flags
-// Enables Event Flags event generation.
-#ifndef OS_EVR_EVFLAGS
-#define OS_EVR_EVFLAGS 1
-#endif
-
-// Timer
-// Enables Timer event generation.
-#ifndef OS_EVR_TIMER
-#define OS_EVR_TIMER 1
-#endif
-
-// Mutex
-// Enables Mutex event generation.
-#ifndef OS_EVR_MUTEX
-#define OS_EVR_MUTEX 1
-#endif
-
-// Semaphore
-// Enables Semaphore event generation.
-#ifndef OS_EVR_SEMAPHORE
-#define OS_EVR_SEMAPHORE 1
-#endif
-
-// Memory Pool
-// Enables Memory Pool event generation.
-#ifndef OS_EVR_MEMPOOL
-#define OS_EVR_MEMPOOL 1
-#endif
-
-// Message Queue
-// Enables Message Queue event generation.
-#ifndef OS_EVR_MSGQUEUE
-#define OS_EVR_MSGQUEUE 1
-#endif
-
-//
-
-//
-
-// Number of Threads which use standard C/C++ library libspace
-// (when thread specific memory allocation is not used).
-#if (OS_THREAD_OBJ_MEM == 0)
-#ifndef OS_THREAD_LIBSPACE_NUM
-#define OS_THREAD_LIBSPACE_NUM 4
-#endif
-#else
-#define OS_THREAD_LIBSPACE_NUM OS_THREAD_NUM
-#endif
-
-//------------- <<< end of configuration section >>> ---------------------------
-
-#endif // RTX_CONFIG_H_
diff --git a/Examples/Network/Telnet_Server/RTE/CMSIS/RTX_Config.h.base@5.6.1 b/Examples/Network/Telnet_Server/RTE/CMSIS/RTX_Config.h.base@5.6.1
new file mode 100644
index 00000000..f8756c5b
--- /dev/null
+++ b/Examples/Network/Telnet_Server/RTE/CMSIS/RTX_Config.h.base@5.6.1
@@ -0,0 +1,663 @@
+/*
+ * Copyright (c) 2013-2026 Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Licensed under the Apache License, Version 2.0 (the License); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * -----------------------------------------------------------------------------
+ *
+ * $Revision: V5.6.1
+ *
+ * Project: CMSIS-RTOS RTX
+ * Title: RTX Configuration definitions
+ *
+ * -----------------------------------------------------------------------------
+ */
+
+#ifndef RTX_CONFIG_H_
+#define RTX_CONFIG_H_
+
+#ifdef _RTE_
+#include "RTE_Components.h"
+#ifdef RTE_RTX_CONFIG_H
+#include RTE_RTX_CONFIG_H
+#endif
+#endif
+
+//-------- <<< Use Configuration Wizard in Context Menu >>> --------------------
+
+// System Configuration
+// =======================
+
+// Global Dynamic Memory size [bytes] <0-1073741824:8>
+// Defines the combined global dynamic memory size.
+// Default: 32768
+#ifndef OS_DYNAMIC_MEM_SIZE
+#define OS_DYNAMIC_MEM_SIZE 32768
+#endif
+
+// Kernel Tick Frequency [Hz] <1-1000000>
+// Defines base time unit for delays and timeouts.
+// Default: 1000 (1ms tick)
+#ifndef OS_TICK_FREQ
+#define OS_TICK_FREQ 1000
+#endif
+
+// Round-Robin Thread switching
+// Enables Round-Robin Thread switching.
+#ifndef OS_ROBIN_ENABLE
+#define OS_ROBIN_ENABLE 1
+#endif
+
+// Round-Robin Timeout <1-1000>
+// Defines how many ticks a thread will execute before a thread switch.
+// Default: 5
+#ifndef OS_ROBIN_TIMEOUT
+#define OS_ROBIN_TIMEOUT 5
+#endif
+
+//
+
+// Safety features (Source variant only)
+// Enables FuSa related features.
+// Requires RTX Source variant.
+// Enables:
+// - selected features from this group
+// - Thread functions: osThreadProtectPrivileged
+#ifndef OS_SAFETY_FEATURES
+#define OS_SAFETY_FEATURES 0
+#endif
+
+// Safety Class
+// Threads assigned to lower classes cannot modify higher class threads.
+// Enables:
+// - Object attributes: osSafetyClass
+// - Kernel functions: osKernelProtect, osKernelDestroyClass
+// - Thread functions: osThreadGetClass, osThreadSuspendClass, osThreadResumeClass
+#ifndef OS_SAFETY_CLASS
+#define OS_SAFETY_CLASS 1
+#endif
+
+// MPU Protected Zone
+// Access protection via MPU (Spatial isolation).
+// Enables:
+// - Thread attributes: osThreadZone
+// - Thread functions: osThreadGetZone, osThreadTerminateZone
+// - Zone Management: osZoneSetup_Callback
+#ifndef OS_EXECUTION_ZONE
+#define OS_EXECUTION_ZONE 1
+#endif
+
+// Thread Watchdog
+// Watchdog alerts ensure timing for critical threads (Temporal isolation).
+// Enables:
+// - Thread functions: osThreadFeedWatchdog
+// - Handler functions: osWatchdogAlarm_Handler
+#ifndef OS_THREAD_WATCHDOG
+#define OS_THREAD_WATCHDOG 1
+#endif
+
+// Object Pointer checking
+// Check object pointer alignment and memory region.
+#ifndef OS_OBJ_PTR_CHECK
+#define OS_OBJ_PTR_CHECK 0
+#endif
+
+// SVC Function Pointer checking
+// Check SVC function pointer alignment and memory region.
+// User needs to define a linker execution region RTX_SVC_VENEERS
+// containing input sections: rtx_*.o (.text.os.svc.veneer.*)
+#ifndef OS_SVC_PTR_CHECK
+#define OS_SVC_PTR_CHECK 0
+#endif
+
+//
+
+// ISR FIFO Queue
+// <4=> 4 entries <8=> 8 entries <12=> 12 entries <16=> 16 entries
+// <24=> 24 entries <32=> 32 entries <48=> 48 entries <64=> 64 entries
+// <96=> 96 entries <128=> 128 entries <196=> 196 entries <256=> 256 entries
+// RTOS Functions called from ISR store requests to this buffer.
+// Default: 16 entries
+#ifndef OS_ISR_FIFO_QUEUE
+#define OS_ISR_FIFO_QUEUE 16
+#endif
+
+// Object Memory usage counters
+// Enables object memory usage counters (requires RTX source variant).
+#ifndef OS_OBJ_MEM_USAGE
+#define OS_OBJ_MEM_USAGE 0
+#endif
+
+//
+
+// Thread Configuration
+// =======================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_THREAD_OBJ_MEM
+#define OS_THREAD_OBJ_MEM 0
+#endif
+
+// Number of user Threads <1-1000>
+// Defines maximum number of user threads that can be active at the same time.
+// Applies to user threads with system provided memory for control blocks.
+#ifndef OS_THREAD_NUM
+#define OS_THREAD_NUM 1
+#endif
+
+// Number of user Threads with default Stack size <0-1000>
+// Defines maximum number of user threads with default stack size.
+// Applies to user threads with zero stack size specified.
+#ifndef OS_THREAD_DEF_STACK_NUM
+#define OS_THREAD_DEF_STACK_NUM 0
+#endif
+
+// Total Stack size [bytes] for user Threads with user-provided Stack size <0-1073741824:8>
+// Defines the combined stack size for user threads with user-provided stack size.
+// Applies to user threads with user-provided stack size and system provided memory for stack.
+// Default: 0
+#ifndef OS_THREAD_USER_STACK_SIZE
+#define OS_THREAD_USER_STACK_SIZE 0
+#endif
+
+//
+
+// Default Thread Stack size [bytes] <96-1073741824:8>
+// Defines stack size for threads with zero stack size specified.
+// Default: 3072
+#ifndef OS_STACK_SIZE
+#define OS_STACK_SIZE 3072
+#endif
+
+// Idle Thread Stack size [bytes] <72-1073741824:8>
+// Defines stack size for Idle thread.
+// Default: 512
+#ifndef OS_IDLE_THREAD_STACK_SIZE
+#define OS_IDLE_THREAD_STACK_SIZE 512
+#endif
+
+// Idle Thread TrustZone Module Identifier
+// Defines TrustZone Thread Context Management Identifier.
+// Applies only to cores with TrustZone technology.
+// Default: 0 (not used)
+#ifndef OS_IDLE_THREAD_TZ_MOD_ID
+#define OS_IDLE_THREAD_TZ_MOD_ID 0
+#endif
+
+// Idle Thread Safety Class <0-15>
+// Defines the Safety Class number.
+// Default: 0
+#ifndef OS_IDLE_THREAD_CLASS
+#define OS_IDLE_THREAD_CLASS 0
+#endif
+
+// Idle Thread Zone <0-127>
+// Defines Thread Zone.
+// Default: 0
+#ifndef OS_IDLE_THREAD_ZONE
+#define OS_IDLE_THREAD_ZONE 0
+#endif
+
+// Stack overrun checking
+// Enables stack overrun check at thread switch (requires RTX source variant).
+// Enabling this option increases slightly the execution time of a thread switch.
+#ifndef OS_STACK_CHECK
+#define OS_STACK_CHECK 1
+#endif
+
+// Stack usage watermark
+// Initializes thread stack with watermark pattern for analyzing stack usage.
+// Enabling this option increases significantly the execution time of thread creation.
+#ifndef OS_STACK_WATERMARK
+#define OS_STACK_WATERMARK 0
+#endif
+
+// Default Processor mode for Thread execution
+// <0=> Unprivileged mode
+// <1=> Privileged mode
+// Default: Privileged mode
+#ifndef OS_PRIVILEGE_MODE
+#define OS_PRIVILEGE_MODE 1
+#endif
+
+//
+
+// Timer Configuration
+// ======================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_TIMER_OBJ_MEM
+#define OS_TIMER_OBJ_MEM 0
+#endif
+
+// Number of Timer objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_TIMER_NUM
+#define OS_TIMER_NUM 1
+#endif
+
+//
+
+// Timer Thread Priority
+// <8=> Low
+// <16=> Below Normal <24=> Normal <32=> Above Normal
+// <40=> High
+// <48=> Realtime
+// Defines priority for timer thread
+// Default: High
+#ifndef OS_TIMER_THREAD_PRIO
+#define OS_TIMER_THREAD_PRIO 40
+#endif
+
+// Timer Thread Stack size [bytes] <0-1073741824:8>
+// Defines stack size for Timer thread.
+// May be set to 0 when timers are not used.
+// Default: 512
+#ifndef OS_TIMER_THREAD_STACK_SIZE
+#define OS_TIMER_THREAD_STACK_SIZE 512
+#endif
+
+// Timer Thread TrustZone Module Identifier
+// Defines TrustZone Thread Context Management Identifier.
+// Applies only to cores with TrustZone technology.
+// Default: 0 (not used)
+#ifndef OS_TIMER_THREAD_TZ_MOD_ID
+#define OS_TIMER_THREAD_TZ_MOD_ID 0
+#endif
+
+// Timer Thread Safety Class <0-15>
+// Defines the Safety Class number.
+// Default: 0
+#ifndef OS_TIMER_THREAD_CLASS
+#define OS_TIMER_THREAD_CLASS 0
+#endif
+
+// Timer Thread Zone <0-127>
+// Defines Thread Zone.
+// Default: 0
+#ifndef OS_TIMER_THREAD_ZONE
+#define OS_TIMER_THREAD_ZONE 0
+#endif
+
+// Timer Callback Queue entries <0-256>
+// Number of concurrent active timer callback functions.
+// May be set to 0 when timers are not used.
+// Default: 4
+#ifndef OS_TIMER_CB_QUEUE
+#define OS_TIMER_CB_QUEUE 4
+#endif
+
+//
+
+// Event Flags Configuration
+// ============================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_EVFLAGS_OBJ_MEM
+#define OS_EVFLAGS_OBJ_MEM 0
+#endif
+
+// Number of Event Flags objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_EVFLAGS_NUM
+#define OS_EVFLAGS_NUM 1
+#endif
+
+//
+
+//
+
+// Mutex Configuration
+// ======================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_MUTEX_OBJ_MEM
+#define OS_MUTEX_OBJ_MEM 0
+#endif
+
+// Number of Mutex objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_MUTEX_NUM
+#define OS_MUTEX_NUM 1
+#endif
+
+//
+
+//
+
+// Semaphore Configuration
+// ==========================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_SEMAPHORE_OBJ_MEM
+#define OS_SEMAPHORE_OBJ_MEM 0
+#endif
+
+// Number of Semaphore objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_SEMAPHORE_NUM
+#define OS_SEMAPHORE_NUM 1
+#endif
+
+//
+
+//
+
+// Memory Pool Configuration
+// ============================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_MEMPOOL_OBJ_MEM
+#define OS_MEMPOOL_OBJ_MEM 0
+#endif
+
+// Number of Memory Pool objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_MEMPOOL_NUM
+#define OS_MEMPOOL_NUM 1
+#endif
+
+// Data Storage Memory size [bytes] <0-1073741824:8>
+// Defines the combined data storage memory size.
+// Applies to objects with system provided memory for data storage.
+// Default: 0
+#ifndef OS_MEMPOOL_DATA_SIZE
+#define OS_MEMPOOL_DATA_SIZE 0
+#endif
+
+//
+
+//
+
+// Message Queue Configuration
+// ==============================
+
+// Object specific Memory allocation
+// Enables object specific memory allocation.
+#ifndef OS_MSGQUEUE_OBJ_MEM
+#define OS_MSGQUEUE_OBJ_MEM 0
+#endif
+
+// Number of Message Queue objects <1-1000>
+// Defines maximum number of objects that can be active at the same time.
+// Applies to objects with system provided memory for control blocks.
+#ifndef OS_MSGQUEUE_NUM
+#define OS_MSGQUEUE_NUM 1
+#endif
+
+// Data Storage Memory size [bytes] <0-1073741824:8>
+// Defines the combined data storage memory size.
+// Applies to objects with system provided memory for data storage.
+// Default: 0
+#ifndef OS_MSGQUEUE_DATA_SIZE
+#define OS_MSGQUEUE_DATA_SIZE 0
+#endif
+
+//
+
+//
+
+// Event Recorder Configuration
+// ===============================
+
+// Global Initialization
+// Initialize Event Recorder during 'osKernelInitialize'.
+#ifndef OS_EVR_INIT
+#define OS_EVR_INIT 0
+#endif
+
+// Start recording
+// Start event recording after initialization.
+#ifndef OS_EVR_START
+#define OS_EVR_START 1
+#endif
+
+// Global Event Filter Setup
+// Initial recording level applied to all components.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_LEVEL
+#define OS_EVR_LEVEL 0x00U
+#endif
+
+// RTOS Event Filter Setup
+// Recording levels for RTX components.
+// Only applicable if events for the respective component are generated.
+
+// Memory Management
+// Recording level for Memory Management events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_MEMORY_LEVEL
+#define OS_EVR_MEMORY_LEVEL 0x81U
+#endif
+
+// Kernel
+// Recording level for Kernel events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_KERNEL_LEVEL
+#define OS_EVR_KERNEL_LEVEL 0x81U
+#endif
+
+// Thread
+// Recording level for Thread events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_THREAD_LEVEL
+#define OS_EVR_THREAD_LEVEL 0x85U
+#endif
+
+// Generic Wait
+// Recording level for Generic Wait events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_WAIT_LEVEL
+#define OS_EVR_WAIT_LEVEL 0x81U
+#endif
+
+// Thread Flags
+// Recording level for Thread Flags events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_THFLAGS_LEVEL
+#define OS_EVR_THFLAGS_LEVEL 0x81U
+#endif
+
+// Event Flags
+// Recording level for Event Flags events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_EVFLAGS_LEVEL
+#define OS_EVR_EVFLAGS_LEVEL 0x81U
+#endif
+
+// Timer
+// Recording level for Timer events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_TIMER_LEVEL
+#define OS_EVR_TIMER_LEVEL 0x81U
+#endif
+
+// Mutex
+// Recording level for Mutex events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_MUTEX_LEVEL
+#define OS_EVR_MUTEX_LEVEL 0x81U
+#endif
+
+// Semaphore
+// Recording level for Semaphore events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_SEMAPHORE_LEVEL
+#define OS_EVR_SEMAPHORE_LEVEL 0x81U
+#endif
+
+// Memory Pool
+// Recording level for Memory Pool events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_MEMPOOL_LEVEL
+#define OS_EVR_MEMPOOL_LEVEL 0x81U
+#endif
+
+// Message Queue
+// Recording level for Message Queue events.
+// Error events
+// API function call events
+// Operation events
+// Detailed operation events
+//
+#ifndef OS_EVR_MSGQUEUE_LEVEL
+#define OS_EVR_MSGQUEUE_LEVEL 0x81U
+#endif
+
+//
+
+//
+
+// RTOS Event Generation
+// Enables event generation for RTX components (requires RTX source variant).
+
+// Memory Management
+// Enables Memory Management event generation.
+#ifndef OS_EVR_MEMORY
+#define OS_EVR_MEMORY 1
+#endif
+
+// Kernel
+// Enables Kernel event generation.
+#ifndef OS_EVR_KERNEL
+#define OS_EVR_KERNEL 1
+#endif
+
+// Thread
+// Enables Thread event generation.
+#ifndef OS_EVR_THREAD
+#define OS_EVR_THREAD 1
+#endif
+
+// Generic Wait
+// Enables Generic Wait event generation.
+#ifndef OS_EVR_WAIT
+#define OS_EVR_WAIT 1
+#endif
+
+// Thread Flags
+// Enables Thread Flags event generation.
+#ifndef OS_EVR_THFLAGS
+#define OS_EVR_THFLAGS 1
+#endif
+
+// Event Flags
+// Enables Event Flags event generation.
+#ifndef OS_EVR_EVFLAGS
+#define OS_EVR_EVFLAGS 1
+#endif
+
+// Timer
+// Enables Timer event generation.
+#ifndef OS_EVR_TIMER
+#define OS_EVR_TIMER 1
+#endif
+
+// Mutex
+// Enables Mutex event generation.
+#ifndef OS_EVR_MUTEX
+#define OS_EVR_MUTEX 1
+#endif
+
+// Semaphore
+// Enables Semaphore event generation.
+#ifndef OS_EVR_SEMAPHORE
+#define OS_EVR_SEMAPHORE 1
+#endif
+
+// Memory Pool
+// Enables Memory Pool event generation.
+#ifndef OS_EVR_MEMPOOL
+#define OS_EVR_MEMPOOL 1
+#endif
+
+// Message Queue
+// Enables Message Queue event generation.
+#ifndef OS_EVR_MSGQUEUE
+#define OS_EVR_MSGQUEUE 1
+#endif
+
+//
+
+//
+
+// Number of Threads which use standard C/C++ library libspace
+// (when thread specific memory allocation is not used).
+#if (OS_THREAD_OBJ_MEM == 0)
+#ifndef OS_THREAD_LIBSPACE_NUM
+#define OS_THREAD_LIBSPACE_NUM 4
+#endif
+#else
+#define OS_THREAD_LIBSPACE_NUM OS_THREAD_NUM
+#endif
+
+//------------- <<< end of configuration section >>> ---------------------------
+
+#endif // RTX_CONFIG_H_
diff --git a/Examples/Network/Telnet_Server/Telnet_Server.cproject.yml b/Examples/Network/Telnet_Server/Telnet_Server.cproject.yml
index e89d6945..74eb9c94 100644
--- a/Examples/Network/Telnet_Server/Telnet_Server.cproject.yml
+++ b/Examples/Network/Telnet_Server/Telnet_Server.cproject.yml
@@ -2,7 +2,7 @@ project:
description: Telnet Server example
packs:
- - pack: Keil::MDK-Middleware@^8.0.0-0
+ - pack: Keil::MDK-Middleware@^8.2.0-0
- pack: ARM::CMSIS@^6.1.0
- pack: ARM::CMSIS-RTX@^5.9.0
diff --git a/Keil.MDK-Middleware.pdsc b/Keil.MDK-Middleware.pdsc
index 9230fbbd..47509898 100644
--- a/Keil.MDK-Middleware.pdsc
+++ b/Keil.MDK-Middleware.pdsc
@@ -523,7 +523,8 @@
Network TCP and CORE component with TLS
-
+
+
Network TCP and CORE component with File System Drive
@@ -547,7 +548,8 @@
Network Web Server Compact with TLS
-
+
+
@@ -562,7 +564,8 @@
-
+
+
diff --git a/gen_pack.sh b/gen_pack.sh
index c1624cd0..2c73b9a9 100755
--- a/gen_pack.sh
+++ b/gen_pack.sh
@@ -56,7 +56,7 @@ PACK_DELETE_FILES="
# Specify addition argument to packchk
# Default: empty
#
-PACKCHK_ARGS=(-x M389)
+PACKCHK_ARGS=(-x M389,M317)
# Specify additional dependencies for packchk
# Default: empty