RTX5: added support for Cortex-A (preliminary)
diff --git a/ARM.CMSIS.pdsc b/ARM.CMSIS.pdsc
index 5724381..7cdf8ac 100644
--- a/ARM.CMSIS.pdsc
+++ b/ARM.CMSIS.pdsc
@@ -13,6 +13,8 @@
- Added ARM Compiler 6 support
- Updated Cortex-A core functions
- Updated Startup and System files
+ CMSIS-RTOS2:
+ - RTX5: added support for Cortex-A
</release>
<release version="5.0.2-dev2">
CMSIS-RTOS2:
@@ -662,8 +664,8 @@
<conditions>
<!-- compiler -->
<condition id="ARMCC6">
- <accept Tcompiler="ARMCC" Toptions="AC6"/>
- <accept Tcompiler="ARMCC" Toptions="AC6LTO"/>
+ <accept Tcompiler="ARMCC" Toptions="AC6"/>
+ <accept Tcompiler="ARMCC" Toptions="AC6LTO"/>
</condition>
<condition id="ARMCC">
<require Tcompiler="ARMCC" Toptions="AC5"/>
@@ -825,7 +827,25 @@
<require Dcore="ARMV8MML" Ddsp="DSP" Dfpu="SP_FPU"/>
</condition>
+ <!-- Cortex-A Devices -->
+ <condition id="RZ_A Device">
+ <description>Renesas RZ_A Device</description>
+ <require Dvendor="Renesas:117"/>
+ <require Dfamily="RZ_A"/>
+ </condition>
+ <condition id="Unknown Cortex-A Device">
+ <description>Unknown Cortex-A Device</description>
+ <require condition="ARMv7-A Device"/>
+ <deny condition="RZ_A Device"/>
+ </condition>
+
<!-- ARMCC compiler -->
+ <condition id="CA_ARMCC">
+ <description>Cortex-A5, Cortex-A7 or Cortex-A9 processor based device for the ARM Compiler</description>
+ <require condition="ARMv7-A Device"/>
+ <require Tcompiler="ARMCC"/>
+ </condition>
+
<condition id="CM0_ARMCC">
<description>Cortex-M0 or Cortex-M0+ or SC000 processor based device for the ARM Compiler</description>
<require condition="CM0"/>
@@ -1157,6 +1177,12 @@
</condition>
<!-- GCC compiler -->
+ <condition id="CA_GCC">
+ <description>Cortex-A5, Cortex-A7 or Cortex-A9 processor based device for the GCC Compiler</description>
+ <require condition="ARMv7-A Device"/>
+ <require Tcompiler="GCC"/>
+ </condition>
+
<condition id="CM0_GCC">
<description>Cortex-M0 or Cortex-M0+ or SC000 processor based device for the GCC Compiler</description>
<require condition="CM0"/>
@@ -1488,6 +1514,12 @@
</condition>
<!-- IAR compiler -->
+ <condition id="CA_IAR">
+ <description>Cortex-A5, Cortex-A7 or Cortex-A9 processor based device for the IAR Compiler</description>
+ <require condition="ARMv7-A Device"/>
+ <require Tcompiler="IAR"/>
+ </condition>
+
<condition id="CM0_IAR">
<description>Cortex-M0 or Cortex-M0+ or SC000 processor based device for the IAR Compiler</description>
<require condition="CM0"/>
@@ -1781,6 +1813,14 @@
</condition>
<condition id="RTOS2 RTX5">
<description>Components required for RTOS2 RTX5</description>
+ <accept condition="ARMv6_7_8-M Device"/>
+ <accept condition="ARMv7-A Device"/>
+ <require condition="ARMCC GCC IAR"/>
+ <require Cclass="CMSIS" Cgroup="CORE"/>
+ <require Cclass="Device" Cgroup="Startup"/>
+ </condition>
+ <condition id="RTOS2 RTX5 Lib">
+ <description>Components required for RTOS2 RTX5 Library</description>
<require condition="ARMv6_7_8-M Device"/>
<require condition="ARMCC GCC IAR"/>
<require Cclass="CMSIS" Cgroup="CORE"/>
@@ -2330,7 +2370,7 @@
</component>
<!-- CMSIS-RTOS2 Keil RTX5 component -->
- <component Cclass="CMSIS" Cgroup="RTOS2" Csub="Keil RTX5" Cvariant="Library" Cversion="5.1.1" Capiversion="2.1.0" condition="RTOS2 RTX5">
+ <component Cclass="CMSIS" Cgroup="RTOS2" Csub="Keil RTX5" Cvariant="Library" Cversion="5.1.1" Capiversion="2.1.0" condition="RTOS2 RTX5 Lib">
<description>CMSIS-RTOS2 RTX5 for Cortex-M, SC000, C300 and ARMv8-M (Library)</description>
<RTE_Components_h>
<!-- the following content goes into file 'RTE_Components.h' -->
@@ -2465,8 +2505,12 @@
<file category="header" name="CMSIS/RTOS2/RTX/Include/rtx_os.h"/>
<!-- RTX configuration -->
- <file category="header" attr="config" name="CMSIS/RTOS2/RTX/Config/RTX_Config.h" version="5.1.0"/>
- <file category="source" attr="config" name="CMSIS/RTOS2/RTX/Config/RTX_Config.c" version="5.1.0"/>
+ <file category="header" attr="config" name="CMSIS/RTOS2/RTX/Config/RTX_Config.h" version="5.1.0"/>
+ <file category="source" attr="config" name="CMSIS/RTOS2/RTX/Config/RTX_Config.c" version="5.1.0" condition="ARMv6_7_8-M Device" />
+ <file category="source" attr="config" name="CMSIS/RTOS2/RTX/Config/Cortex_A/RTX_Config.c" version="5.1.0" condition="Unknown Cortex-A Device"/>
+ <file category="source" attr="config" name="CMSIS/RTOS2/RTX/Config/Renesas/RZ_A/RTX_Config.c" version="5.1.0" condition="RZ_A Device"/>
+
+ <file category="source" attr="config" name="CMSIS/RTOS2/RTX/Config/handlers.c" version="5.1.0" condition="ARMv7-A Device"/>
<!-- RTX templates -->
<file category="source" attr="template" name="CMSIS/RTOS2/RTX/Template/main.c" version="2.0.0" select="CMSIS-RTOS2 'main' function"/>
@@ -2492,9 +2536,11 @@
<file category="source" name="CMSIS/RTOS2/RTX/Source/rtx_msgqueue.c"/>
<file category="source" name="CMSIS/RTOS2/RTX/Source/rtx_system.c"/>
<file category="source" name="CMSIS/RTOS2/RTX/Source/rtx_evr.c"/>
+ <file category="source" name="CMSIS/RTOS2/RTX/Source/rtx_gic.c" condition="ARMv7-A Device"/>
<!-- RTX sources (library configuration) -->
<file category="source" name="CMSIS/RTOS2/RTX/Source/rtx_lib.c"/>
<!-- RTX sources (handlers ARMCC) -->
+ <file category="source" name="CMSIS/RTOS2/RTX/Source/ARM/irq_ca.s" condition="CA_ARMCC"/>
<file category="source" name="CMSIS/RTOS2/RTX/Source/ARM/irq_cm0.s" condition="CM0_ARMCC"/>
<file category="source" name="CMSIS/RTOS2/RTX/Source/ARM/irq_cm3.s" condition="CM3_ARMCC"/>
<file category="source" name="CMSIS/RTOS2/RTX/Source/ARM/irq_cm3.s" condition="CM4_ARMCC"/>
@@ -2508,6 +2554,7 @@
<file category="source" name="CMSIS/RTOS2/RTX/Source/ARM/irq_armv8mml.s" condition="ARMv8MML_ARMCC"/>
<file category="source" name="CMSIS/RTOS2/RTX/Source/ARM/irq_armv8mml.s" condition="ARMv8MML_FP_ARMCC"/>
<!-- RTX sources (handlers GCC) -->
+ <file category="source" name="CMSIS/RTOS2/RTX/Source/GCC/irq_ca.S" condition="CA_GCC"/>
<file category="source" name="CMSIS/RTOS2/RTX/Source/GCC/irq_cm0.S" condition="CM0_GCC"/>
<file category="source" name="CMSIS/RTOS2/RTX/Source/GCC/irq_cm3.S" condition="CM3_GCC"/>
<file category="source" name="CMSIS/RTOS2/RTX/Source/GCC/irq_cm3.S" condition="CM4_GCC"/>
@@ -2521,6 +2568,7 @@
<file category="source" name="CMSIS/RTOS2/RTX/Source/GCC/irq_armv8mml.S" condition="ARMv8MML_GCC"/>
<file category="source" name="CMSIS/RTOS2/RTX/Source/GCC/irq_armv8mml_fp.S" condition="ARMv8MML_FP_GCC"/>
<!-- RTX sources (handlers IAR) -->
+ <file category="source" name="CMSIS/RTOS2/RTX/Source/IAR/irq_ca.s" condition="CA_IAR"/>
<file category="source" name="CMSIS/RTOS2/RTX/Source/IAR/irq_cm0.s" condition="CM0_IAR"/>
<file category="source" name="CMSIS/RTOS2/RTX/Source/IAR/irq_cm3.s" condition="CM3_IAR"/>
<file category="source" name="CMSIS/RTOS2/RTX/Source/IAR/irq_cm3.s" condition="CM4_IAR"/>