+/* Set configENABLE_MPU to 1 to enable MPU support and 0 to disable it. This is\r
+currently used in ARMv8M ports. */\r
+#ifndef configENABLE_MPU\r
+ #define configENABLE_MPU 0\r
+#endif\r
+\r
+/* Set configENABLE_FPU to 1 to enable FPU support and 0 to disable it. This is\r
+currently used in ARMv8M ports. */\r
+#ifndef configENABLE_FPU\r
+ #define configENABLE_FPU 1\r
+#endif\r
+\r
+/* Set configENABLE_TRUSTZONE to 1 enable TrustZone support and 0 to disable it.\r
+This is currently used in ARMv8M ports. */\r
+#ifndef configENABLE_TRUSTZONE\r
+ #define configENABLE_TRUSTZONE 1\r
+#endif\r
+\r
+/* Set configRUN_FREERTOS_SECURE_ONLY to 1 to run the FreeRTOS ARMv8M port on\r
+the Secure Side only. */\r
+#ifndef configRUN_FREERTOS_SECURE_ONLY\r
+ #define configRUN_FREERTOS_SECURE_ONLY 0\r
+#endif\r
+\r
+/* Sometimes the FreeRTOSConfig.h settings only allow a task to be created using\r
+ * dynamically allocated RAM, in which case when any task is deleted it is known\r
+ * that both the task's stack and TCB need to be freed. Sometimes the\r
+ * FreeRTOSConfig.h settings only allow a task to be created using statically\r
+ * allocated RAM, in which case when any task is deleted it is known that neither\r
+ * the task's stack or TCB should be freed. Sometimes the FreeRTOSConfig.h\r
+ * settings allow a task to be created using either statically or dynamically\r
+ * allocated RAM, in which case a member of the TCB is used to record whether the\r
+ * stack and/or TCB were allocated statically or dynamically, so when a task is\r
+ * deleted the RAM that was allocated dynamically is freed again and no attempt is\r
+ * made to free the RAM that was allocated statically.\r
+ * tskSTATIC_AND_DYNAMIC_ALLOCATION_POSSIBLE is only true if it is possible for a\r
+ * task to be created using either statically or dynamically allocated RAM. Note\r
+ * that if portUSING_MPU_WRAPPERS is 1 then a protected task can be created with\r
+ * a statically allocated stack and a dynamically allocated TCB.\r
+ *\r
+ * The following table lists various combinations of portUSING_MPU_WRAPPERS,\r
+ * configSUPPORT_DYNAMIC_ALLOCATION and configSUPPORT_STATIC_ALLOCATION and\r
+ * when it is possible to have both static and dynamic allocation:\r
+ * +-----+---------+--------+-----------------------------+-----------------------------------+------------------+-----------+\r
+ * | MPU | Dynamic | Static | Available Functions | Possible Allocations | Both Dynamic and | Need Free |\r
+ * | | | | | | Static Possible | |\r
+ * +-----+---------+--------+-----------------------------+-----------------------------------+------------------+-----------+\r
+ * | 0 | 0 | 1 | xTaskCreateStatic | TCB - Static, Stack - Static | No | No |\r
+ * +-----|---------|--------|-----------------------------|-----------------------------------|------------------|-----------|\r
+ * | 0 | 1 | 0 | xTaskCreate | TCB - Dynamic, Stack - Dynamic | No | Yes |\r
+ * +-----|---------|--------|-----------------------------|-----------------------------------|------------------|-----------|\r
+ * | 0 | 1 | 1 | xTaskCreate, | 1. TCB - Dynamic, Stack - Dynamic | Yes | Yes |\r
+ * | | | | xTaskCreateStatic | 2. TCB - Static, Stack - Static | | |\r
+ * +-----|---------|--------|-----------------------------|-----------------------------------|------------------|-----------|\r
+ * | 1 | 0 | 1 | xTaskCreateStatic, | TCB - Static, Stack - Static | No | No |\r
+ * | | | | xTaskCreateRestrictedStatic | | | |\r
+ * +-----|---------|--------|-----------------------------|-----------------------------------|------------------|-----------|\r
+ * | 1 | 1 | 0 | xTaskCreate, | 1. TCB - Dynamic, Stack - Dynamic | Yes | Yes |\r
+ * | | | | xTaskCreateRestricted | 2. TCB - Dynamic, Stack - Static | | |\r
+ * +-----|---------|--------|-----------------------------|-----------------------------------|------------------|-----------|\r
+ * | 1 | 1 | 1 | xTaskCreate, | 1. TCB - Dynamic, Stack - Dynamic | Yes | Yes |\r
+ * | | | | xTaskCreateStatic, | 2. TCB - Dynamic, Stack - Static | | |\r
+ * | | | | xTaskCreateRestricted, | 3. TCB - Static, Stack - Static | | |\r
+ * | | | | xTaskCreateRestrictedStatic | | | |\r
+ * +-----+---------+--------+-----------------------------+-----------------------------------+------------------+-----------+\r
+ */\r
+#define tskSTATIC_AND_DYNAMIC_ALLOCATION_POSSIBLE ( ( ( portUSING_MPU_WRAPPERS == 0 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 1 ) ) || \\r
+ ( ( portUSING_MPU_WRAPPERS == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) ) )\r
+\r