Skip to content

Commit 5b6a168

Browse files
authored
Add MPU support for Cortex v8M without TrustZone or TrustZone Disabled/Secure-only/Secure (#136)
1 parent 8107226 commit 5b6a168

1 file changed

Lines changed: 50 additions & 5 deletions

File tree

ARM.CMSIS-FreeRTOS.pdsc

Lines changed: 50 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22

3-
<package schemaVersion="1.7.27" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="https://raw.githubusercontent.com/Open-CMSIS-Pack/Open-CMSIS-Pack-Spec/v1.7.27/schema/PACK.xsd">
3+
<package schemaVersion="1.7.40" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="https://raw.githubusercontent.com/Open-CMSIS-Pack/Open-CMSIS-Pack-Spec/v1.7.40/schema/PACK.xsd">
44
<vendor>ARM</vendor>
55
<name>CMSIS-FreeRTOS</name>
66
<description>Bundle of FreeRTOS for Cortex-M and Cortex-A</description>
@@ -569,6 +569,11 @@
569569
<accept condition="FreeRTOS Port Cortex-M v6_v7"/>
570570
<accept condition="FreeRTOS Port Cortex-M v8"/>
571571
</condition>
572+
<condition id="FreeRTOS Port Cortex-M MPU">
573+
<description>FreeRTOS ports for Arm Cortex that support MPU</description>
574+
<accept condition="FreeRTOS Port Cortex-M v6_v7 MPU"/>
575+
<accept condition="FreeRTOS Port Cortex-M v8"/>
576+
</condition>
572577
<condition id="FreeRTOS Port">
573578
<description>FreeRTOS ports for Arm Cortex combined</description>
574579
<accept condition="FreeRTOS Port Cortex-A"/>
@@ -598,9 +603,9 @@
598603
<require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
599604
</condition>
600605

601-
<condition id="FreeRTOS Core CM v6_v7 MPU">
602-
<description>Requirements for FreeRTOS Core with MPU support for Cortex-M v6 and v7</description>
603-
<require condition="FreeRTOS Port Cortex-M v6_v7 MPU"/>
606+
<condition id="FreeRTOS Core CM MPU">
607+
<description>Requirements for FreeRTOS Core with MPU support for Cortex-M</description>
608+
<require condition="FreeRTOS Port Cortex-M MPU"/>
604609

605610
<require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
606611
<require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
@@ -853,7 +858,7 @@
853858
</files>
854859
</component>
855860

856-
<component Cgroup="Core" Cvariant="Cortex-M MPU" condition="FreeRTOS Core CM v6_v7 MPU">
861+
<component Cgroup="Core" Cvariant="Cortex-M MPU" condition="FreeRTOS Core CM MPU">
857862
<description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-M using MPU</description>
858863
<RTE_Components_h>
859864
#define RTE_RTOS_FreeRTOS_CORE /* RTOS FreeRTOS Core */
@@ -886,11 +891,51 @@
886891
<file category="include" condition="CM4_FP_AC6_GCC" name="Source/portable/GCC/ARM_CM4_MPU/"/>
887892
<file category="source" condition="CM4_FP_AC6_GCC" name="Source/portable/GCC/ARM_CM4_MPU/port.c"/>
888893
<file category="source" condition="CM4_FP_AC6_GCC" name="Source/portable/GCC/ARM_CM4_MPU/mpu_wrappers_v2_asm.c"/>
894+
<file category="include" condition="CM23_AC6_GCC" name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/"/>
895+
<file category="source" condition="CM23_AC6_GCC" name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/port.c"/>
896+
<file category="source" condition="CM23_AC6_GCC" name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/portasm.c"/>
897+
<file category="source" condition="CM23_AC6_GCC" name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/mpu_wrappers_v2_asm.c"/>
898+
<file category="include" condition="CM33_AC6_GCC" name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/"/>
899+
<file category="source" condition="CM33_AC6_GCC" name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/port.c"/>
900+
<file category="source" condition="CM33_AC6_GCC" name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/portasm.c"/>
901+
<file category="source" condition="CM33_AC6_GCC" name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/mpu_wrappers_v2_asm.c"/>
902+
<file category="include" condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P_NTZ/non_secure/"/>
903+
<file category="source" condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P_NTZ/non_secure/port.c"/>
904+
<file category="source" condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P_NTZ/non_secure/portasm.c"/>
905+
<file category="source" condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P_NTZ/non_secure/mpu_wrappers_v2_asm.c"/>
906+
<file category="include" condition="CM55_AC6_GCC" name="Source/portable/GCC/ARM_CM55_NTZ/non_secure/"/>
907+
<file category="source" condition="CM55_AC6_GCC" name="Source/portable/GCC/ARM_CM55_NTZ/non_secure/port.c"/>
908+
<file category="source" condition="CM55_AC6_GCC" name="Source/portable/GCC/ARM_CM55_NTZ/non_secure/portasm.c"/>
909+
<file category="source" condition="CM55_AC6_GCC" name="Source/portable/GCC/ARM_CM55_NTZ/non_secure/mpu_wrappers_v2_asm.c"/>
910+
<file category="include" condition="CM85_AC6_GCC" name="Source/portable/GCC/ARM_CM85_NTZ/non_secure/"/>
911+
<file category="source" condition="CM85_AC6_GCC" name="Source/portable/GCC/ARM_CM85_NTZ/non_secure/port.c"/>
912+
<file category="source" condition="CM85_AC6_GCC" name="Source/portable/GCC/ARM_CM85_NTZ/non_secure/portasm.c"/>
913+
<file category="source" condition="CM85_AC6_GCC" name="Source/portable/GCC/ARM_CM85_NTZ/non_secure/mpu_wrappers_v2_asm.c"/>
889914

890915
<file category="include" condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F_MPU/"/>
891916
<file category="source" condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F_MPU/port.c"/>
892917
<file category="sourceAsm" condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F_MPU/portasm.s"/>
893918
<file category="sourceAsm" condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F_MPU/mpu_wrappers_v2_asm.S"/>
919+
<file category="include" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23_NTZ/non_secure/"/>
920+
<file category="source" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23_NTZ/non_secure/port.c"/>
921+
<file category="source" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23_NTZ/non_secure/portasm.s"/>
922+
<file category="source" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23_NTZ/non_secure/mpu_wrappers_v2_asm.S"/>
923+
<file category="include" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33_NTZ/non_secure/"/>
924+
<file category="source" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33_NTZ/non_secure/port.c"/>
925+
<file category="source" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33_NTZ/non_secure/portasm.s"/>
926+
<file category="source" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33_NTZ/non_secure/mpu_wrappers_v2_asm.S"/>
927+
<file category="include" condition="CM35P_IAR" name="Source/portable/IAR/ARM_CM35P_NTZ/non_secure/"/>
928+
<file category="source" condition="CM35P_IAR" name="Source/portable/IAR/ARM_CM35P_NTZ/non_secure/port.c"/>
929+
<file category="source" condition="CM35P_IAR" name="Source/portable/IAR/ARM_CM35P_NTZ/non_secure/portasm.s"/>
930+
<file category="source" condition="CM35P_IAR" name="Source/portable/IAR/ARM_CM35P_NTZ/non_secure/mpu_wrappers_v2_asm.S"/>
931+
<file category="include" condition="CM55_IAR" name="Source/portable/IAR/ARM_CM55_NTZ/non_secure/"/>
932+
<file category="source" condition="CM55_IAR" name="Source/portable/IAR/ARM_CM55_NTZ/non_secure/port.c"/>
933+
<file category="source" condition="CM55_IAR" name="Source/portable/IAR/ARM_CM55_NTZ/non_secure/portasm.s"/>
934+
<file category="source" condition="CM55_IAR" name="Source/portable/IAR/ARM_CM55_NTZ/non_secure/mpu_wrappers_v2_asm.S"/>
935+
<file category="include" condition="CM85_IAR" name="Source/portable/IAR/ARM_CM85_NTZ/non_secure/"/>
936+
<file category="source" condition="CM85_IAR" name="Source/portable/IAR/ARM_CM85_NTZ/non_secure/port.c"/>
937+
<file category="source" condition="CM85_IAR" name="Source/portable/IAR/ARM_CM85_NTZ/non_secure/portasm.s"/>
938+
<file category="source" condition="CM85_IAR" name="Source/portable/IAR/ARM_CM85_NTZ/non_secure/mpu_wrappers_v2_asm.S"/>
894939

895940
<file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
896941
<file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>

0 commit comments

Comments
 (0)