RTX5: updated support for ARMv8-M (including GCC)
diff --git a/ARM.CMSIS.pdsc b/ARM.CMSIS.pdsc
index c11e9a7..5783013 100644
--- a/ARM.CMSIS.pdsc
+++ b/ARM.CMSIS.pdsc
@@ -966,6 +966,25 @@
<require Tcompiler="GCC"/>
</condition>
+ <condition id="ARMv8MBL_LE_GCC">
+ <description>ARMv8-M Baseline processor based device in little endian mode for the GCC Compiler</description>
+ <require Dcore="ARMV8MBL" Dendian="Little-endian"/>
+ <require Tcompiler="GCC"/>
+ </condition>
+
+ <condition id="ARMv8MML_LE_GCC">
+ <description>ARMv8-M Mainline processor based device in little endian mode for the GCC Compiler</description>
+ <require Dcore="ARMV8MML" Dfpu="0" Dendian="Little-endian"/>
+ <require Tcompiler="GCC"/>
+ </condition>
+
+ <condition id="ARMv8MML_FP_LE_GCC">
+ <description>ARMv8-M Mainline processor based device using Floating Point Unit in little endian mode for the GCC Compiler</description>
+ <accept Dcore="ARMV8MML" Dfpu="SP_FPU" Dendian="Little-endian"/>
+ <accept Dcore="ARMV8MML" Dfpu="DP_FPU" Dendian="Little-endian"/>
+ <require Tcompiler="GCC"/>
+ </condition>
+
<!-- IAR compiler -->
<condition id="CM0_LE_IAR">
<description>Cortex-M0 or Cortex-M0+ or SC000 processor based device in little endian mode for the IAR Compiler</description>
@@ -1545,9 +1564,13 @@
<!-- RTX libraries (CPU and Compiler dependent) -->
<!-- ARMCC -->
- <file category="library" condition="ARMv8MBL_LE_ARMCC" name="CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MB.lib" src="CMSIS/RTOS2/RTX/Source"/>
- <file category="library" condition="ARMv8MML_LE_ARMCC" name="CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MM.lib" src="CMSIS/RTOS2/RTX/Source"/>
- <file category="library" condition="ARMv8MML_FP_LE_ARMCC" name="CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MMF.lib" src="CMSIS/RTOS2/RTX/Source"/>
+ <file category="library" condition="ARMv8MBL_LE_ARMCC" name="CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MB.lib" src="CMSIS/RTOS2/RTX/Source"/>
+ <file category="library" condition="ARMv8MML_LE_ARMCC" name="CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MM.lib" src="CMSIS/RTOS2/RTX/Source"/>
+ <file category="library" condition="ARMv8MML_FP_LE_ARMCC" name="CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MMF.lib" src="CMSIS/RTOS2/RTX/Source"/>
+ <!-- GCC -->
+ <file category="library" condition="ARMv8MBL_LE_GCC" name="CMSIS/RTOS2/RTX/Library/GCC/libRTX_V8MB.a" src="CMSIS/RTOS2/RTX/Source"/>
+ <file category="library" condition="ARMv8MML_LE_GCC" name="CMSIS/RTOS2/RTX/Library/GCC/libRTX_V8MM.a" src="CMSIS/RTOS2/RTX/Source"/>
+ <file category="library" condition="ARMv8MML_FP_LE_GCC" name="CMSIS/RTOS2/RTX/Library/GCC/libRTX_V8MMF.a" src="CMSIS/RTOS2/RTX/Source"/>
</files>
</component>
<component Cclass="CMSIS" Cgroup="RTOS2" Csub="Keil RTX5" Cvariant="Release NS" Cversion="5.0.0-Alpha" Capiversion="2.0" condition="RTOS2 RTX5 ARMv8M">
@@ -1575,9 +1598,13 @@
<!-- RTX libraries (CPU and Compiler dependent) -->
<!-- ARMCC -->
- <file category="library" condition="ARMv8MBL_LE_ARMCC" name="CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MBN.lib" src="CMSIS/RTOS2/RTX/Source"/>
- <file category="library" condition="ARMv8MML_LE_ARMCC" name="CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MMN.lib" src="CMSIS/RTOS2/RTX/Source"/>
- <file category="library" condition="ARMv8MML_FP_LE_ARMCC" name="CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MMFN.lib" src="CMSIS/RTOS2/RTX/Source"/>
+ <file category="library" condition="ARMv8MBL_LE_ARMCC" name="CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MBN.lib" src="CMSIS/RTOS2/RTX/Source"/>
+ <file category="library" condition="ARMv8MML_LE_ARMCC" name="CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MMN.lib" src="CMSIS/RTOS2/RTX/Source"/>
+ <file category="library" condition="ARMv8MML_FP_LE_ARMCC" name="CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MMFN.lib" src="CMSIS/RTOS2/RTX/Source"/>
+ <!-- GCC -->
+ <file category="library" condition="ARMv8MBL_LE_GCC" name="CMSIS/RTOS2/RTX/Library/GCC/libRTX_V8MBN.a" src="CMSIS/RTOS2/RTX/Source"/>
+ <file category="library" condition="ARMv8MML_LE_GCC" name="CMSIS/RTOS2/RTX/Library/GCC/libRTX_V8MMN.a" src="CMSIS/RTOS2/RTX/Source"/>
+ <file category="library" condition="ARMv8MML_FP_LE_GCC" name="CMSIS/RTOS2/RTX/Library/GCC/libRTX_V8MMFN.a" src="CMSIS/RTOS2/RTX/Source"/>
</files>
</component>
diff --git a/CMSIS/RTOS2/RTX/Library/ARM/RTX_CM0.lib b/CMSIS/RTOS2/RTX/Library/ARM/RTX_CM0.lib
index fed43f4..429254b 100644
--- a/CMSIS/RTOS2/RTX/Library/ARM/RTX_CM0.lib
+++ b/CMSIS/RTOS2/RTX/Library/ARM/RTX_CM0.lib
Binary files differ
diff --git a/CMSIS/RTOS2/RTX/Library/ARM/RTX_CM3.lib b/CMSIS/RTOS2/RTX/Library/ARM/RTX_CM3.lib
index 37bece0..25afffc 100644
--- a/CMSIS/RTOS2/RTX/Library/ARM/RTX_CM3.lib
+++ b/CMSIS/RTOS2/RTX/Library/ARM/RTX_CM3.lib
Binary files differ
diff --git a/CMSIS/RTOS2/RTX/Library/ARM/RTX_CM4F.lib b/CMSIS/RTOS2/RTX/Library/ARM/RTX_CM4F.lib
index 9c9959d..b6a3915 100644
--- a/CMSIS/RTOS2/RTX/Library/ARM/RTX_CM4F.lib
+++ b/CMSIS/RTOS2/RTX/Library/ARM/RTX_CM4F.lib
Binary files differ
diff --git a/CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MB.lib b/CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MB.lib
index 71ed8db..4a3090b 100644
--- a/CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MB.lib
+++ b/CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MB.lib
Binary files differ
diff --git a/CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MBN.lib b/CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MBN.lib
index 1322c49..4bd8bb6 100644
--- a/CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MBN.lib
+++ b/CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MBN.lib
Binary files differ
diff --git a/CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MM.lib b/CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MM.lib
index 544caea..eca8467 100644
--- a/CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MM.lib
+++ b/CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MM.lib
Binary files differ
diff --git a/CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MMF.lib b/CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MMF.lib
index 4429cc3..af1e66e 100644
--- a/CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MMF.lib
+++ b/CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MMF.lib
Binary files differ
diff --git a/CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MMFN.lib b/CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MMFN.lib
index cb5089b..08cdae9 100644
--- a/CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MMFN.lib
+++ b/CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MMFN.lib
Binary files differ
diff --git a/CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MMN.lib b/CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MMN.lib
index 8984f31..366862a 100644
--- a/CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MMN.lib
+++ b/CMSIS/RTOS2/RTX/Library/ARM/RTX_V8MMN.lib
Binary files differ
diff --git a/CMSIS/RTOS2/RTX/Library/GCC/MDK/RTX_CM.uvoptx b/CMSIS/RTOS2/RTX/Library/GCC/MDK/RTX_CM.uvoptx
index 90c8c6d..83dda4d 100644
--- a/CMSIS/RTOS2/RTX/Library/GCC/MDK/RTX_CM.uvoptx
+++ b/CMSIS/RTOS2/RTX/Library/GCC/MDK/RTX_CM.uvoptx
@@ -435,6 +435,864 @@
</TargetOption>
</Target>
+ <Target>
+ <TargetName>ARMv8MBL_LE</TargetName>
+ <ToolsetNumber>0x3</ToolsetNumber>
+ <ToolsetName>ARM-GNU</ToolsetName>
+ <TargetOption>
+ <CLKARM>12000000</CLKARM>
+ <OPTTT>
+ <gFlags>1</gFlags>
+ <BeepAtEnd>1</BeepAtEnd>
+ <RunSim>0</RunSim>
+ <RunTarget>1</RunTarget>
+ <RunAbUc>0</RunAbUc>
+ </OPTTT>
+ <OPTHX>
+ <HexSelection>1</HexSelection>
+ <FlashByte>65535</FlashByte>
+ <HexRangeLowAddress>0</HexRangeLowAddress>
+ <HexRangeHighAddress>0</HexRangeHighAddress>
+ <HexOffset>0</HexOffset>
+ </OPTHX>
+ <OPTLEX>
+ <PageWidth>120</PageWidth>
+ <PageLength>65</PageLength>
+ <TabStop>8</TabStop>
+ <ListingPath>.\ARMv8MBL_LE\</ListingPath>
+ </OPTLEX>
+ <ListingPage>
+ <CreateCListing>1</CreateCListing>
+ <CreateAListing>1</CreateAListing>
+ <CreateLListing>1</CreateLListing>
+ <CreateIListing>0</CreateIListing>
+ <AsmCond>1</AsmCond>
+ <AsmSymb>1</AsmSymb>
+ <AsmXref>0</AsmXref>
+ <CCond>1</CCond>
+ <CCode>0</CCode>
+ <CListInc>0</CListInc>
+ <CSymb>0</CSymb>
+ <LinkerCodeListing>0</LinkerCodeListing>
+ </ListingPage>
+ <OPTXL>
+ <LMap>1</LMap>
+ <LComments>1</LComments>
+ <LGenerateSymbols>1</LGenerateSymbols>
+ <LLibSym>1</LLibSym>
+ <LLines>1</LLines>
+ <LLocSym>1</LLocSym>
+ <LPubSym>1</LPubSym>
+ <LXref>0</LXref>
+ <LExpSel>0</LExpSel>
+ </OPTXL>
+ <OPTFL>
+ <tvExp>1</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <IsCurrentTarget>0</IsCurrentTarget>
+ </OPTFL>
+ <CpuCode>7</CpuCode>
+ <DebugOpt>
+ <uSim>0</uSim>
+ <uTrg>1</uTrg>
+ <sLdApp>1</sLdApp>
+ <sGomain>1</sGomain>
+ <sRbreak>1</sRbreak>
+ <sRwatch>1</sRwatch>
+ <sRmem>1</sRmem>
+ <sRfunc>1</sRfunc>
+ <sRbox>1</sRbox>
+ <tLdApp>1</tLdApp>
+ <tGomain>1</tGomain>
+ <tRbreak>1</tRbreak>
+ <tRwatch>1</tRwatch>
+ <tRmem>1</tRmem>
+ <tRfunc>0</tRfunc>
+ <tRbox>1</tRbox>
+ <tRtrace>1</tRtrace>
+ <sRSysVw>1</sRSysVw>
+ <tRSysVw>1</tRSysVw>
+ <sRunDeb>0</sRunDeb>
+ <sLrtime>0</sLrtime>
+ <nTsel>13</nTsel>
+ <sDll></sDll>
+ <sDllPa></sDllPa>
+ <sDlgDll></sDlgDll>
+ <sDlgPa></sDlgPa>
+ <sIfile></sIfile>
+ <tDll></tDll>
+ <tDllPa></tDllPa>
+ <tDlgDll></tDlgDll>
+ <tDlgPa></tDlgPa>
+ <tIfile></tIfile>
+ <pMon>BIN\UL2V8M.DLL</pMon>
+ </DebugOpt>
+ <TargetDriverDllRegistry>
+ <SetRegEntry>
+ <Number>0</Number>
+ <Key>UL2V8M</Key>
+ <Name>UL2V8M(-S0 -C0 -P0 -FC1000 -FD20000000</Name>
+ </SetRegEntry>
+ <SetRegEntry>
+ <Number>0</Number>
+ <Key>UL2CM3</Key>
+ <Name>UL2CM3(-S0 -C0 -P0 ) -FN1 -FC1000 -FD20000000 -FF0NEW_DEVICE -FL040000 -FS00 -FP0($$Device:ARMCM3$Device\ARM\Flash\NEW_DEVICE.FLM)</Name>
+ </SetRegEntry>
+ </TargetDriverDllRegistry>
+ <Breakpoint/>
+ <Tracepoint>
+ <THDelay>0</THDelay>
+ </Tracepoint>
+ <DebugFlag>
+ <trace>0</trace>
+ <periodic>1</periodic>
+ <aLwin>0</aLwin>
+ <aCover>0</aCover>
+ <aSer1>0</aSer1>
+ <aSer2>0</aSer2>
+ <aPa>0</aPa>
+ <viewmode>0</viewmode>
+ <vrSel>0</vrSel>
+ <aSym>0</aSym>
+ <aTbox>0</aTbox>
+ <AscS1>0</AscS1>
+ <AscS2>0</AscS2>
+ <AscS3>0</AscS3>
+ <aSer3>0</aSer3>
+ <eProf>0</eProf>
+ <aLa>0</aLa>
+ <aPa1>0</aPa1>
+ <AscS4>0</AscS4>
+ <aSer4>0</aSer4>
+ <StkLoc>0</StkLoc>
+ <TrcWin>0</TrcWin>
+ <newCpu>0</newCpu>
+ <uProt>0</uProt>
+ </DebugFlag>
+ <LintExecutable></LintExecutable>
+ <LintConfigFile></LintConfigFile>
+ <bLintAuto>0</bLintAuto>
+ <Lin2Executable></Lin2Executable>
+ <Lin2ConfigFile></Lin2ConfigFile>
+ <bLin2Auto>0</bLin2Auto>
+ </TargetOption>
+ </Target>
+
+ <Target>
+ <TargetName>ARMv8MBL_NS_LE</TargetName>
+ <ToolsetNumber>0x3</ToolsetNumber>
+ <ToolsetName>ARM-GNU</ToolsetName>
+ <TargetOption>
+ <CLKARM>12000000</CLKARM>
+ <OPTTT>
+ <gFlags>1</gFlags>
+ <BeepAtEnd>1</BeepAtEnd>
+ <RunSim>0</RunSim>
+ <RunTarget>1</RunTarget>
+ <RunAbUc>0</RunAbUc>
+ </OPTTT>
+ <OPTHX>
+ <HexSelection>1</HexSelection>
+ <FlashByte>65535</FlashByte>
+ <HexRangeLowAddress>0</HexRangeLowAddress>
+ <HexRangeHighAddress>0</HexRangeHighAddress>
+ <HexOffset>0</HexOffset>
+ </OPTHX>
+ <OPTLEX>
+ <PageWidth>120</PageWidth>
+ <PageLength>65</PageLength>
+ <TabStop>8</TabStop>
+ <ListingPath>.\ARMv8MBL_NS_LE\</ListingPath>
+ </OPTLEX>
+ <ListingPage>
+ <CreateCListing>1</CreateCListing>
+ <CreateAListing>1</CreateAListing>
+ <CreateLListing>1</CreateLListing>
+ <CreateIListing>0</CreateIListing>
+ <AsmCond>1</AsmCond>
+ <AsmSymb>1</AsmSymb>
+ <AsmXref>0</AsmXref>
+ <CCond>1</CCond>
+ <CCode>0</CCode>
+ <CListInc>0</CListInc>
+ <CSymb>0</CSymb>
+ <LinkerCodeListing>0</LinkerCodeListing>
+ </ListingPage>
+ <OPTXL>
+ <LMap>1</LMap>
+ <LComments>1</LComments>
+ <LGenerateSymbols>1</LGenerateSymbols>
+ <LLibSym>1</LLibSym>
+ <LLines>1</LLines>
+ <LLocSym>1</LLocSym>
+ <LPubSym>1</LPubSym>
+ <LXref>0</LXref>
+ <LExpSel>0</LExpSel>
+ </OPTXL>
+ <OPTFL>
+ <tvExp>1</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <IsCurrentTarget>0</IsCurrentTarget>
+ </OPTFL>
+ <CpuCode>7</CpuCode>
+ <DebugOpt>
+ <uSim>0</uSim>
+ <uTrg>1</uTrg>
+ <sLdApp>1</sLdApp>
+ <sGomain>1</sGomain>
+ <sRbreak>1</sRbreak>
+ <sRwatch>1</sRwatch>
+ <sRmem>1</sRmem>
+ <sRfunc>1</sRfunc>
+ <sRbox>1</sRbox>
+ <tLdApp>1</tLdApp>
+ <tGomain>1</tGomain>
+ <tRbreak>1</tRbreak>
+ <tRwatch>1</tRwatch>
+ <tRmem>1</tRmem>
+ <tRfunc>0</tRfunc>
+ <tRbox>1</tRbox>
+ <tRtrace>1</tRtrace>
+ <sRSysVw>1</sRSysVw>
+ <tRSysVw>1</tRSysVw>
+ <sRunDeb>0</sRunDeb>
+ <sLrtime>0</sLrtime>
+ <nTsel>13</nTsel>
+ <sDll></sDll>
+ <sDllPa></sDllPa>
+ <sDlgDll></sDlgDll>
+ <sDlgPa></sDlgPa>
+ <sIfile></sIfile>
+ <tDll></tDll>
+ <tDllPa></tDllPa>
+ <tDlgDll></tDlgDll>
+ <tDlgPa></tDlgPa>
+ <tIfile></tIfile>
+ <pMon>BIN\UL2V8M.DLL</pMon>
+ </DebugOpt>
+ <TargetDriverDllRegistry>
+ <SetRegEntry>
+ <Number>0</Number>
+ <Key>UL2V8M</Key>
+ <Name>UL2V8M(-S0 -C0 -P0 -FC1000 -FD20000000</Name>
+ </SetRegEntry>
+ <SetRegEntry>
+ <Number>0</Number>
+ <Key>UL2CM3</Key>
+ <Name>UL2CM3(-S0 -C0 -P0 ) -FN1 -FC1000 -FD20000000 -FF0NEW_DEVICE -FL040000 -FS00 -FP0($$Device:ARMCM3$Device\ARM\Flash\NEW_DEVICE.FLM)</Name>
+ </SetRegEntry>
+ </TargetDriverDllRegistry>
+ <Breakpoint/>
+ <Tracepoint>
+ <THDelay>0</THDelay>
+ </Tracepoint>
+ <DebugFlag>
+ <trace>0</trace>
+ <periodic>1</periodic>
+ <aLwin>0</aLwin>
+ <aCover>0</aCover>
+ <aSer1>0</aSer1>
+ <aSer2>0</aSer2>
+ <aPa>0</aPa>
+ <viewmode>0</viewmode>
+ <vrSel>0</vrSel>
+ <aSym>0</aSym>
+ <aTbox>0</aTbox>
+ <AscS1>0</AscS1>
+ <AscS2>0</AscS2>
+ <AscS3>0</AscS3>
+ <aSer3>0</aSer3>
+ <eProf>0</eProf>
+ <aLa>0</aLa>
+ <aPa1>0</aPa1>
+ <AscS4>0</AscS4>
+ <aSer4>0</aSer4>
+ <StkLoc>0</StkLoc>
+ <TrcWin>0</TrcWin>
+ <newCpu>0</newCpu>
+ <uProt>0</uProt>
+ </DebugFlag>
+ <LintExecutable></LintExecutable>
+ <LintConfigFile></LintConfigFile>
+ <bLintAuto>0</bLintAuto>
+ <Lin2Executable></Lin2Executable>
+ <Lin2ConfigFile></Lin2ConfigFile>
+ <bLin2Auto>0</bLin2Auto>
+ </TargetOption>
+ </Target>
+
+ <Target>
+ <TargetName>ARMv8MML_LE</TargetName>
+ <ToolsetNumber>0x3</ToolsetNumber>
+ <ToolsetName>ARM-GNU</ToolsetName>
+ <TargetOption>
+ <CLKARM>12000000</CLKARM>
+ <OPTTT>
+ <gFlags>1</gFlags>
+ <BeepAtEnd>1</BeepAtEnd>
+ <RunSim>0</RunSim>
+ <RunTarget>1</RunTarget>
+ <RunAbUc>0</RunAbUc>
+ </OPTTT>
+ <OPTHX>
+ <HexSelection>1</HexSelection>
+ <FlashByte>65535</FlashByte>
+ <HexRangeLowAddress>0</HexRangeLowAddress>
+ <HexRangeHighAddress>0</HexRangeHighAddress>
+ <HexOffset>0</HexOffset>
+ </OPTHX>
+ <OPTLEX>
+ <PageWidth>120</PageWidth>
+ <PageLength>65</PageLength>
+ <TabStop>8</TabStop>
+ <ListingPath>.\ARMv8MML_LE\</ListingPath>
+ </OPTLEX>
+ <ListingPage>
+ <CreateCListing>1</CreateCListing>
+ <CreateAListing>1</CreateAListing>
+ <CreateLListing>1</CreateLListing>
+ <CreateIListing>0</CreateIListing>
+ <AsmCond>1</AsmCond>
+ <AsmSymb>1</AsmSymb>
+ <AsmXref>0</AsmXref>
+ <CCond>1</CCond>
+ <CCode>0</CCode>
+ <CListInc>0</CListInc>
+ <CSymb>0</CSymb>
+ <LinkerCodeListing>0</LinkerCodeListing>
+ </ListingPage>
+ <OPTXL>
+ <LMap>1</LMap>
+ <LComments>1</LComments>
+ <LGenerateSymbols>1</LGenerateSymbols>
+ <LLibSym>1</LLibSym>
+ <LLines>1</LLines>
+ <LLocSym>1</LLocSym>
+ <LPubSym>1</LPubSym>
+ <LXref>0</LXref>
+ <LExpSel>0</LExpSel>
+ </OPTXL>
+ <OPTFL>
+ <tvExp>1</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <IsCurrentTarget>0</IsCurrentTarget>
+ </OPTFL>
+ <CpuCode>7</CpuCode>
+ <DebugOpt>
+ <uSim>0</uSim>
+ <uTrg>1</uTrg>
+ <sLdApp>1</sLdApp>
+ <sGomain>1</sGomain>
+ <sRbreak>1</sRbreak>
+ <sRwatch>1</sRwatch>
+ <sRmem>1</sRmem>
+ <sRfunc>1</sRfunc>
+ <sRbox>1</sRbox>
+ <tLdApp>1</tLdApp>
+ <tGomain>1</tGomain>
+ <tRbreak>1</tRbreak>
+ <tRwatch>1</tRwatch>
+ <tRmem>1</tRmem>
+ <tRfunc>0</tRfunc>
+ <tRbox>1</tRbox>
+ <tRtrace>1</tRtrace>
+ <sRSysVw>1</sRSysVw>
+ <tRSysVw>1</tRSysVw>
+ <sRunDeb>0</sRunDeb>
+ <sLrtime>0</sLrtime>
+ <nTsel>13</nTsel>
+ <sDll></sDll>
+ <sDllPa></sDllPa>
+ <sDlgDll></sDlgDll>
+ <sDlgPa></sDlgPa>
+ <sIfile></sIfile>
+ <tDll></tDll>
+ <tDllPa></tDllPa>
+ <tDlgDll></tDlgDll>
+ <tDlgPa></tDlgPa>
+ <tIfile></tIfile>
+ <pMon>BIN\UL2V8M.DLL</pMon>
+ </DebugOpt>
+ <TargetDriverDllRegistry>
+ <SetRegEntry>
+ <Number>0</Number>
+ <Key>UL2V8M</Key>
+ <Name>UL2V8M(-S0 -C0 -P0 -FC1000 -FD20000000</Name>
+ </SetRegEntry>
+ <SetRegEntry>
+ <Number>0</Number>
+ <Key>UL2CM3</Key>
+ <Name>UL2CM3(-S0 -C0 -P0 ) -FN1 -FC1000 -FD20000000 -FF0NEW_DEVICE -FL040000 -FS00 -FP0($$Device:ARMCM3$Device\ARM\Flash\NEW_DEVICE.FLM)</Name>
+ </SetRegEntry>
+ </TargetDriverDllRegistry>
+ <Breakpoint/>
+ <Tracepoint>
+ <THDelay>0</THDelay>
+ </Tracepoint>
+ <DebugFlag>
+ <trace>0</trace>
+ <periodic>1</periodic>
+ <aLwin>0</aLwin>
+ <aCover>0</aCover>
+ <aSer1>0</aSer1>
+ <aSer2>0</aSer2>
+ <aPa>0</aPa>
+ <viewmode>0</viewmode>
+ <vrSel>0</vrSel>
+ <aSym>0</aSym>
+ <aTbox>0</aTbox>
+ <AscS1>0</AscS1>
+ <AscS2>0</AscS2>
+ <AscS3>0</AscS3>
+ <aSer3>0</aSer3>
+ <eProf>0</eProf>
+ <aLa>0</aLa>
+ <aPa1>0</aPa1>
+ <AscS4>0</AscS4>
+ <aSer4>0</aSer4>
+ <StkLoc>0</StkLoc>
+ <TrcWin>0</TrcWin>
+ <newCpu>0</newCpu>
+ <uProt>0</uProt>
+ </DebugFlag>
+ <LintExecutable></LintExecutable>
+ <LintConfigFile></LintConfigFile>
+ <bLintAuto>0</bLintAuto>
+ <Lin2Executable></Lin2Executable>
+ <Lin2ConfigFile></Lin2ConfigFile>
+ <bLin2Auto>0</bLin2Auto>
+ </TargetOption>
+ </Target>
+
+ <Target>
+ <TargetName>ARMv8MML_NS_LE</TargetName>
+ <ToolsetNumber>0x3</ToolsetNumber>
+ <ToolsetName>ARM-GNU</ToolsetName>
+ <TargetOption>
+ <CLKARM>12000000</CLKARM>
+ <OPTTT>
+ <gFlags>1</gFlags>
+ <BeepAtEnd>1</BeepAtEnd>
+ <RunSim>0</RunSim>
+ <RunTarget>1</RunTarget>
+ <RunAbUc>0</RunAbUc>
+ </OPTTT>
+ <OPTHX>
+ <HexSelection>1</HexSelection>
+ <FlashByte>65535</FlashByte>
+ <HexRangeLowAddress>0</HexRangeLowAddress>
+ <HexRangeHighAddress>0</HexRangeHighAddress>
+ <HexOffset>0</HexOffset>
+ </OPTHX>
+ <OPTLEX>
+ <PageWidth>120</PageWidth>
+ <PageLength>65</PageLength>
+ <TabStop>8</TabStop>
+ <ListingPath>.\ARMv8MML_NS_LE\</ListingPath>
+ </OPTLEX>
+ <ListingPage>
+ <CreateCListing>1</CreateCListing>
+ <CreateAListing>1</CreateAListing>
+ <CreateLListing>1</CreateLListing>
+ <CreateIListing>0</CreateIListing>
+ <AsmCond>1</AsmCond>
+ <AsmSymb>1</AsmSymb>
+ <AsmXref>0</AsmXref>
+ <CCond>1</CCond>
+ <CCode>0</CCode>
+ <CListInc>0</CListInc>
+ <CSymb>0</CSymb>
+ <LinkerCodeListing>0</LinkerCodeListing>
+ </ListingPage>
+ <OPTXL>
+ <LMap>1</LMap>
+ <LComments>1</LComments>
+ <LGenerateSymbols>1</LGenerateSymbols>
+ <LLibSym>1</LLibSym>
+ <LLines>1</LLines>
+ <LLocSym>1</LLocSym>
+ <LPubSym>1</LPubSym>
+ <LXref>0</LXref>
+ <LExpSel>0</LExpSel>
+ </OPTXL>
+ <OPTFL>
+ <tvExp>1</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <IsCurrentTarget>0</IsCurrentTarget>
+ </OPTFL>
+ <CpuCode>7</CpuCode>
+ <DebugOpt>
+ <uSim>0</uSim>
+ <uTrg>1</uTrg>
+ <sLdApp>1</sLdApp>
+ <sGomain>1</sGomain>
+ <sRbreak>1</sRbreak>
+ <sRwatch>1</sRwatch>
+ <sRmem>1</sRmem>
+ <sRfunc>1</sRfunc>
+ <sRbox>1</sRbox>
+ <tLdApp>1</tLdApp>
+ <tGomain>1</tGomain>
+ <tRbreak>1</tRbreak>
+ <tRwatch>1</tRwatch>
+ <tRmem>1</tRmem>
+ <tRfunc>0</tRfunc>
+ <tRbox>1</tRbox>
+ <tRtrace>1</tRtrace>
+ <sRSysVw>1</sRSysVw>
+ <tRSysVw>1</tRSysVw>
+ <sRunDeb>0</sRunDeb>
+ <sLrtime>0</sLrtime>
+ <nTsel>13</nTsel>
+ <sDll></sDll>
+ <sDllPa></sDllPa>
+ <sDlgDll></sDlgDll>
+ <sDlgPa></sDlgPa>
+ <sIfile></sIfile>
+ <tDll></tDll>
+ <tDllPa></tDllPa>
+ <tDlgDll></tDlgDll>
+ <tDlgPa></tDlgPa>
+ <tIfile></tIfile>
+ <pMon>BIN\UL2V8M.DLL</pMon>
+ </DebugOpt>
+ <TargetDriverDllRegistry>
+ <SetRegEntry>
+ <Number>0</Number>
+ <Key>UL2V8M</Key>
+ <Name>UL2V8M(-S0 -C0 -P0 -FD20000000 -FC1000)</Name>
+ </SetRegEntry>
+ <SetRegEntry>
+ <Number>0</Number>
+ <Key>UL2CM3</Key>
+ <Name>UL2CM3(-S0 -C0 -P0 ) -FN1 -FC1000 -FD20000000 -FF0NEW_DEVICE -FL040000 -FS00 -FP0($$Device:ARMCM3$Device\ARM\Flash\NEW_DEVICE.FLM)</Name>
+ </SetRegEntry>
+ </TargetDriverDllRegistry>
+ <Breakpoint/>
+ <Tracepoint>
+ <THDelay>0</THDelay>
+ </Tracepoint>
+ <DebugFlag>
+ <trace>0</trace>
+ <periodic>1</periodic>
+ <aLwin>0</aLwin>
+ <aCover>0</aCover>
+ <aSer1>0</aSer1>
+ <aSer2>0</aSer2>
+ <aPa>0</aPa>
+ <viewmode>0</viewmode>
+ <vrSel>0</vrSel>
+ <aSym>0</aSym>
+ <aTbox>0</aTbox>
+ <AscS1>0</AscS1>
+ <AscS2>0</AscS2>
+ <AscS3>0</AscS3>
+ <aSer3>0</aSer3>
+ <eProf>0</eProf>
+ <aLa>0</aLa>
+ <aPa1>0</aPa1>
+ <AscS4>0</AscS4>
+ <aSer4>0</aSer4>
+ <StkLoc>0</StkLoc>
+ <TrcWin>0</TrcWin>
+ <newCpu>0</newCpu>
+ <uProt>0</uProt>
+ </DebugFlag>
+ <LintExecutable></LintExecutable>
+ <LintConfigFile></LintConfigFile>
+ <bLintAuto>0</bLintAuto>
+ <Lin2Executable></Lin2Executable>
+ <Lin2ConfigFile></Lin2ConfigFile>
+ <bLin2Auto>0</bLin2Auto>
+ </TargetOption>
+ </Target>
+
+ <Target>
+ <TargetName>ARMv8MML_SP_LE</TargetName>
+ <ToolsetNumber>0x3</ToolsetNumber>
+ <ToolsetName>ARM-GNU</ToolsetName>
+ <TargetOption>
+ <CLKARM>12000000</CLKARM>
+ <OPTTT>
+ <gFlags>1</gFlags>
+ <BeepAtEnd>1</BeepAtEnd>
+ <RunSim>0</RunSim>
+ <RunTarget>1</RunTarget>
+ <RunAbUc>0</RunAbUc>
+ </OPTTT>
+ <OPTHX>
+ <HexSelection>1</HexSelection>
+ <FlashByte>65535</FlashByte>
+ <HexRangeLowAddress>0</HexRangeLowAddress>
+ <HexRangeHighAddress>0</HexRangeHighAddress>
+ <HexOffset>0</HexOffset>
+ </OPTHX>
+ <OPTLEX>
+ <PageWidth>120</PageWidth>
+ <PageLength>65</PageLength>
+ <TabStop>8</TabStop>
+ <ListingPath>.\ARMv8MML_SP_LE\</ListingPath>
+ </OPTLEX>
+ <ListingPage>
+ <CreateCListing>1</CreateCListing>
+ <CreateAListing>1</CreateAListing>
+ <CreateLListing>1</CreateLListing>
+ <CreateIListing>0</CreateIListing>
+ <AsmCond>1</AsmCond>
+ <AsmSymb>1</AsmSymb>
+ <AsmXref>0</AsmXref>
+ <CCond>1</CCond>
+ <CCode>0</CCode>
+ <CListInc>0</CListInc>
+ <CSymb>0</CSymb>
+ <LinkerCodeListing>0</LinkerCodeListing>
+ </ListingPage>
+ <OPTXL>
+ <LMap>1</LMap>
+ <LComments>1</LComments>
+ <LGenerateSymbols>1</LGenerateSymbols>
+ <LLibSym>1</LLibSym>
+ <LLines>1</LLines>
+ <LLocSym>1</LLocSym>
+ <LPubSym>1</LPubSym>
+ <LXref>0</LXref>
+ <LExpSel>0</LExpSel>
+ </OPTXL>
+ <OPTFL>
+ <tvExp>1</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <IsCurrentTarget>0</IsCurrentTarget>
+ </OPTFL>
+ <CpuCode>7</CpuCode>
+ <DebugOpt>
+ <uSim>0</uSim>
+ <uTrg>1</uTrg>
+ <sLdApp>1</sLdApp>
+ <sGomain>1</sGomain>
+ <sRbreak>1</sRbreak>
+ <sRwatch>1</sRwatch>
+ <sRmem>1</sRmem>
+ <sRfunc>1</sRfunc>
+ <sRbox>1</sRbox>
+ <tLdApp>1</tLdApp>
+ <tGomain>1</tGomain>
+ <tRbreak>1</tRbreak>
+ <tRwatch>1</tRwatch>
+ <tRmem>1</tRmem>
+ <tRfunc>0</tRfunc>
+ <tRbox>1</tRbox>
+ <tRtrace>1</tRtrace>
+ <sRSysVw>1</sRSysVw>
+ <tRSysVw>1</tRSysVw>
+ <sRunDeb>0</sRunDeb>
+ <sLrtime>0</sLrtime>
+ <nTsel>13</nTsel>
+ <sDll></sDll>
+ <sDllPa></sDllPa>
+ <sDlgDll></sDlgDll>
+ <sDlgPa></sDlgPa>
+ <sIfile></sIfile>
+ <tDll></tDll>
+ <tDllPa></tDllPa>
+ <tDlgDll></tDlgDll>
+ <tDlgPa></tDlgPa>
+ <tIfile></tIfile>
+ <pMon>BIN\UL2V8M.DLL</pMon>
+ </DebugOpt>
+ <TargetDriverDllRegistry>
+ <SetRegEntry>
+ <Number>0</Number>
+ <Key>UL2V8M</Key>
+ <Name>UL2V8M(-S0 -C0 -P0 -FC1000 -FD20000000</Name>
+ </SetRegEntry>
+ <SetRegEntry>
+ <Number>0</Number>
+ <Key>UL2CM3</Key>
+ <Name>UL2CM3(-S0 -C0 -P0 ) -FN1 -FC1000 -FD20000000 -FF0NEW_DEVICE -FL040000 -FS00 -FP0($$Device:ARMCM3$Device\ARM\Flash\NEW_DEVICE.FLM)</Name>
+ </SetRegEntry>
+ </TargetDriverDllRegistry>
+ <Breakpoint/>
+ <Tracepoint>
+ <THDelay>0</THDelay>
+ </Tracepoint>
+ <DebugFlag>
+ <trace>0</trace>
+ <periodic>1</periodic>
+ <aLwin>0</aLwin>
+ <aCover>0</aCover>
+ <aSer1>0</aSer1>
+ <aSer2>0</aSer2>
+ <aPa>0</aPa>
+ <viewmode>0</viewmode>
+ <vrSel>0</vrSel>
+ <aSym>0</aSym>
+ <aTbox>0</aTbox>
+ <AscS1>0</AscS1>
+ <AscS2>0</AscS2>
+ <AscS3>0</AscS3>
+ <aSer3>0</aSer3>
+ <eProf>0</eProf>
+ <aLa>0</aLa>
+ <aPa1>0</aPa1>
+ <AscS4>0</AscS4>
+ <aSer4>0</aSer4>
+ <StkLoc>0</StkLoc>
+ <TrcWin>0</TrcWin>
+ <newCpu>0</newCpu>
+ <uProt>0</uProt>
+ </DebugFlag>
+ <LintExecutable></LintExecutable>
+ <LintConfigFile></LintConfigFile>
+ <bLintAuto>0</bLintAuto>
+ <Lin2Executable></Lin2Executable>
+ <Lin2ConfigFile></Lin2ConfigFile>
+ <bLin2Auto>0</bLin2Auto>
+ </TargetOption>
+ </Target>
+
+ <Target>
+ <TargetName>ARMv8MML_SP_NS_LE</TargetName>
+ <ToolsetNumber>0x3</ToolsetNumber>
+ <ToolsetName>ARM-GNU</ToolsetName>
+ <TargetOption>
+ <CLKARM>12000000</CLKARM>
+ <OPTTT>
+ <gFlags>1</gFlags>
+ <BeepAtEnd>1</BeepAtEnd>
+ <RunSim>0</RunSim>
+ <RunTarget>1</RunTarget>
+ <RunAbUc>0</RunAbUc>
+ </OPTTT>
+ <OPTHX>
+ <HexSelection>1</HexSelection>
+ <FlashByte>65535</FlashByte>
+ <HexRangeLowAddress>0</HexRangeLowAddress>
+ <HexRangeHighAddress>0</HexRangeHighAddress>
+ <HexOffset>0</HexOffset>
+ </OPTHX>
+ <OPTLEX>
+ <PageWidth>120</PageWidth>
+ <PageLength>65</PageLength>
+ <TabStop>8</TabStop>
+ <ListingPath>.\ARMv8MML_SP_NS_LE\</ListingPath>
+ </OPTLEX>
+ <ListingPage>
+ <CreateCListing>1</CreateCListing>
+ <CreateAListing>1</CreateAListing>
+ <CreateLListing>1</CreateLListing>
+ <CreateIListing>0</CreateIListing>
+ <AsmCond>1</AsmCond>
+ <AsmSymb>1</AsmSymb>
+ <AsmXref>0</AsmXref>
+ <CCond>1</CCond>
+ <CCode>0</CCode>
+ <CListInc>0</CListInc>
+ <CSymb>0</CSymb>
+ <LinkerCodeListing>0</LinkerCodeListing>
+ </ListingPage>
+ <OPTXL>
+ <LMap>1</LMap>
+ <LComments>1</LComments>
+ <LGenerateSymbols>1</LGenerateSymbols>
+ <LLibSym>1</LLibSym>
+ <LLines>1</LLines>
+ <LLocSym>1</LLocSym>
+ <LPubSym>1</LPubSym>
+ <LXref>0</LXref>
+ <LExpSel>0</LExpSel>
+ </OPTXL>
+ <OPTFL>
+ <tvExp>1</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <IsCurrentTarget>0</IsCurrentTarget>
+ </OPTFL>
+ <CpuCode>7</CpuCode>
+ <DebugOpt>
+ <uSim>0</uSim>
+ <uTrg>1</uTrg>
+ <sLdApp>1</sLdApp>
+ <sGomain>1</sGomain>
+ <sRbreak>1</sRbreak>
+ <sRwatch>1</sRwatch>
+ <sRmem>1</sRmem>
+ <sRfunc>1</sRfunc>
+ <sRbox>1</sRbox>
+ <tLdApp>1</tLdApp>
+ <tGomain>1</tGomain>
+ <tRbreak>1</tRbreak>
+ <tRwatch>1</tRwatch>
+ <tRmem>1</tRmem>
+ <tRfunc>0</tRfunc>
+ <tRbox>1</tRbox>
+ <tRtrace>1</tRtrace>
+ <sRSysVw>1</sRSysVw>
+ <tRSysVw>1</tRSysVw>
+ <sRunDeb>0</sRunDeb>
+ <sLrtime>0</sLrtime>
+ <nTsel>13</nTsel>
+ <sDll></sDll>
+ <sDllPa></sDllPa>
+ <sDlgDll></sDlgDll>
+ <sDlgPa></sDlgPa>
+ <sIfile></sIfile>
+ <tDll></tDll>
+ <tDllPa></tDllPa>
+ <tDlgDll></tDlgDll>
+ <tDlgPa></tDlgPa>
+ <tIfile></tIfile>
+ <pMon>BIN\UL2V8M.DLL</pMon>
+ </DebugOpt>
+ <TargetDriverDllRegistry>
+ <SetRegEntry>
+ <Number>0</Number>
+ <Key>UL2V8M</Key>
+ <Name>UL2V8M(-S0 -C0 -P0 -FC1000 -FD20000000</Name>
+ </SetRegEntry>
+ <SetRegEntry>
+ <Number>0</Number>
+ <Key>UL2CM3</Key>
+ <Name>UL2CM3(-S0 -C0 -P0 ) -FN1 -FC1000 -FD20000000 -FF0NEW_DEVICE -FL040000 -FS00 -FP0($$Device:ARMCM3$Device\ARM\Flash\NEW_DEVICE.FLM)</Name>
+ </SetRegEntry>
+ </TargetDriverDllRegistry>
+ <Breakpoint/>
+ <Tracepoint>
+ <THDelay>0</THDelay>
+ </Tracepoint>
+ <DebugFlag>
+ <trace>0</trace>
+ <periodic>1</periodic>
+ <aLwin>0</aLwin>
+ <aCover>0</aCover>
+ <aSer1>0</aSer1>
+ <aSer2>0</aSer2>
+ <aPa>0</aPa>
+ <viewmode>0</viewmode>
+ <vrSel>0</vrSel>
+ <aSym>0</aSym>
+ <aTbox>0</aTbox>
+ <AscS1>0</AscS1>
+ <AscS2>0</AscS2>
+ <AscS3>0</AscS3>
+ <aSer3>0</aSer3>
+ <eProf>0</eProf>
+ <aLa>0</aLa>
+ <aPa1>0</aPa1>
+ <AscS4>0</AscS4>
+ <aSer4>0</aSer4>
+ <StkLoc>0</StkLoc>
+ <TrcWin>0</TrcWin>
+ <newCpu>0</newCpu>
+ <uProt>0</uProt>
+ </DebugFlag>
+ <LintExecutable></LintExecutable>
+ <LintConfigFile></LintConfigFile>
+ <bLintAuto>0</bLintAuto>
+ <Lin2Executable></Lin2Executable>
+ <Lin2ConfigFile></Lin2ConfigFile>
+ <bLin2Auto>0</bLin2Auto>
+ </TargetOption>
+ </Target>
+
<Group>
<GroupName>Core</GroupName>
<tvExp>1</tvExp>
@@ -629,6 +1487,30 @@
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
+ <File>
+ <GroupNumber>2</GroupNumber>
+ <FileNumber>16</FileNumber>
+ <FileType>2</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\..\Source\GCC\irq_armv8mbl.s</PathWithFileName>
+ <FilenameWithoutPath>irq_armv8mbl.s</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>2</GroupNumber>
+ <FileNumber>17</FileNumber>
+ <FileType>2</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\..\Source\GCC\irq_armv8mml.s</PathWithFileName>
+ <FilenameWithoutPath>irq_armv8mml.s</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
</Group>
<Group>
diff --git a/CMSIS/RTOS2/RTX/Library/GCC/MDK/RTX_CM.uvprojx b/CMSIS/RTOS2/RTX/Library/GCC/MDK/RTX_CM.uvprojx
index ff4ba39..4d285db 100644
--- a/CMSIS/RTOS2/RTX/Library/GCC/MDK/RTX_CM.uvprojx
+++ b/CMSIS/RTOS2/RTX/Library/GCC/MDK/RTX_CM.uvprojx
@@ -415,6 +415,76 @@
</FileArm>
</FileOption>
</File>
+ <File>
+ <FileName>irq_armv8mbl.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_armv8mbl.s</FilePath>
+ <FileOption>
+ <CommonProperty>
+ <UseCPPCompiler>2</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>0</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <FileArm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </FileArm>
+ </FileOption>
+ </File>
+ <File>
+ <FileName>irq_armv8mml.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_armv8mml.s</FilePath>
+ <FileOption>
+ <CommonProperty>
+ <UseCPPCompiler>2</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>0</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <FileArm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </FileArm>
+ </FileOption>
+ </File>
</Files>
</Group>
<Group>
@@ -831,6 +901,76 @@
</FileArm>
</FileOption>
</File>
+ <File>
+ <FileName>irq_armv8mbl.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_armv8mbl.s</FilePath>
+ <FileOption>
+ <CommonProperty>
+ <UseCPPCompiler>2</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>0</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <FileArm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </FileArm>
+ </FileOption>
+ </File>
+ <File>
+ <FileName>irq_armv8mml.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_armv8mml.s</FilePath>
+ <FileOption>
+ <CommonProperty>
+ <UseCPPCompiler>2</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>0</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <FileArm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </FileArm>
+ </FileOption>
+ </File>
</Files>
</Group>
<Group>
@@ -1294,6 +1434,76 @@
<FileType>2</FileType>
<FilePath>..\..\..\Source\GCC\irq_cm4f.s</FilePath>
</File>
+ <File>
+ <FileName>irq_armv8mbl.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_armv8mbl.s</FilePath>
+ <FileOption>
+ <CommonProperty>
+ <UseCPPCompiler>2</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>0</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <FileArm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </FileArm>
+ </FileOption>
+ </File>
+ <File>
+ <FileName>irq_armv8mml.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_armv8mml.s</FilePath>
+ <FileOption>
+ <CommonProperty>
+ <UseCPPCompiler>2</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>0</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <FileArm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </FileArm>
+ </FileOption>
+ </File>
</Files>
</Group>
<Group>
@@ -1301,6 +1511,3204 @@
</Group>
</Groups>
</Target>
+ <Target>
+ <TargetName>ARMv8MBL_LE</TargetName>
+ <ToolsetNumber>0x3</ToolsetNumber>
+ <ToolsetName>ARM-GNU</ToolsetName>
+ <pArmCC>6050000::V6.5::.\ARMCLANG_6.5</pArmCC>
+ <pCCUsed>6050000::V6.5::.\ARMCLANG_6.5</pCCUsed>
+ <TargetOption>
+ <TargetCommonOption>
+ <Device>ARMv8MBL</Device>
+ <Vendor>ARM</Vendor>
+ <PackID>ARM.CMSIS.5.0.0-Beta12</PackID>
+ <PackURL>http://www.keil.com/pack/</PackURL>
+ <Cpu>IRAM(0x20000000,0x00020000) IROM(0x00000000,0x00040000) CPUTYPE("ARMV8MBL") CLOCK(12000000) ELITTLE</Cpu>
+ <FlashUtilSpec></FlashUtilSpec>
+ <StartupFile></StartupFile>
+ <FlashDriverDll>UL2V8M(-S0 -C0 -P0 -FD20000000 -FC1000)</FlashDriverDll>
+ <DeviceId>0</DeviceId>
+ <RegisterFile>$$Device:ARMv8MBL$Device\ARM\ARMv8MBL\Include\ARMv8MBL.h</RegisterFile>
+ <MemoryEnv></MemoryEnv>
+ <Cmp></Cmp>
+ <Asm></Asm>
+ <Linker></Linker>
+ <OHString></OHString>
+ <InfinionOptionDll></InfinionOptionDll>
+ <SLE66CMisc></SLE66CMisc>
+ <SLE66AMisc></SLE66AMisc>
+ <SLE66LinkerMisc></SLE66LinkerMisc>
+ <SFDFile>$$Device:ARMv8MBL$Device\ARM\SVD\ARMv8MBL.svd</SFDFile>
+ <bCustSvd>0</bCustSvd>
+ <UseEnv>0</UseEnv>
+ <BinPath></BinPath>
+ <IncludePath></IncludePath>
+ <LibPath></LibPath>
+ <RegisterFilePath></RegisterFilePath>
+ <DBRegisterFilePath></DBRegisterFilePath>
+ <TargetStatus>
+ <Error>0</Error>
+ <ExitCodeStop>0</ExitCodeStop>
+ <ButtonStop>0</ButtonStop>
+ <NotGenerated>0</NotGenerated>
+ <InvalidFlash>1</InvalidFlash>
+ </TargetStatus>
+ <OutputDirectory>.\ARMv8MBL_LE\</OutputDirectory>
+ <OutputName>RTX_V8MB</OutputName>
+ <CreateExecutable>0</CreateExecutable>
+ <CreateLib>1</CreateLib>
+ <CreateHexFile>0</CreateHexFile>
+ <DebugInformation>1</DebugInformation>
+ <BrowseInformation>0</BrowseInformation>
+ <ListingPath>.\ARMv8MBL_LE\</ListingPath>
+ <HexFormatSelection>1</HexFormatSelection>
+ <Merge32K>0</Merge32K>
+ <CreateBatchFile>0</CreateBatchFile>
+ <BeforeCompile>
+ <RunUserProg1>0</RunUserProg1>
+ <RunUserProg2>0</RunUserProg2>
+ <UserProg1Name></UserProg1Name>
+ <UserProg2Name></UserProg2Name>
+ <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+ <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+ <nStopU1X>0</nStopU1X>
+ <nStopU2X>0</nStopU2X>
+ </BeforeCompile>
+ <BeforeMake>
+ <RunUserProg1>0</RunUserProg1>
+ <RunUserProg2>0</RunUserProg2>
+ <UserProg1Name></UserProg1Name>
+ <UserProg2Name></UserProg2Name>
+ <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+ <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+ <nStopB1X>0</nStopB1X>
+ <nStopB2X>0</nStopB2X>
+ </BeforeMake>
+ <AfterMake>
+ <RunUserProg1>1</RunUserProg1>
+ <RunUserProg2>0</RunUserProg2>
+ <UserProg1Name>cmd.exe /C copy ARMv8MBL_LE\libRTX_V8MB.a ..\.</UserProg1Name>
+ <UserProg2Name></UserProg2Name>
+ <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+ <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+ <nStopA1X>0</nStopA1X>
+ <nStopA2X>0</nStopA2X>
+ </AfterMake>
+ <SelectedForBatchBuild>0</SelectedForBatchBuild>
+ <SVCSIdString></SVCSIdString>
+ </TargetCommonOption>
+ <CommonProperty>
+ <UseCPPCompiler>0</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>1</IncludeInBuild>
+ <AlwaysBuild>0</AlwaysBuild>
+ <GenerateAssemblyFile>0</GenerateAssemblyFile>
+ <AssembleAssemblyFile>0</AssembleAssemblyFile>
+ <PublicsOnly>0</PublicsOnly>
+ <StopOnExitCode>3</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <DllOption>
+ <SimDllName></SimDllName>
+ <SimDllArguments></SimDllArguments>
+ <SimDlgDll></SimDlgDll>
+ <SimDlgDllArguments></SimDlgDllArguments>
+ <TargetDllName>SARMV8M.DLL</TargetDllName>
+ <TargetDllArguments></TargetDllArguments>
+ <TargetDlgDll>TCM.DLL</TargetDlgDll>
+ <TargetDlgDllArguments>-pV8MBL</TargetDlgDllArguments>
+ </DllOption>
+ <DebugOption>
+ <OPTHX>
+ <HexSelection>1</HexSelection>
+ <HexRangeLowAddress>0</HexRangeLowAddress>
+ <HexRangeHighAddress>0</HexRangeHighAddress>
+ <HexOffset>0</HexOffset>
+ <Oh166RecLen>16</Oh166RecLen>
+ </OPTHX>
+ </DebugOption>
+ <Utilities>
+ <Flash1>
+ <UseTargetDll>1</UseTargetDll>
+ <UseExternalTool>0</UseExternalTool>
+ <RunIndependent>0</RunIndependent>
+ <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
+ <Capability>0</Capability>
+ <DriverSelection>-1</DriverSelection>
+ </Flash1>
+ <bUseTDR>1</bUseTDR>
+ <Flash2>BIN\UL2V8M.DLL</Flash2>
+ <Flash3></Flash3>
+ <Flash4></Flash4>
+ <pFcarmOut></pFcarmOut>
+ <pFcarmGrp></pFcarmGrp>
+ <pFcArmRoot></pFcArmRoot>
+ <FcArmLst>0</FcArmLst>
+ </Utilities>
+ <TargetArm>
+ <ArmMisc>
+ <asLst>0</asLst>
+ <asHll>1</asHll>
+ <asAsm>1</asAsm>
+ <asMacX>1</asMacX>
+ <asSyms>1</asSyms>
+ <asFals>1</asFals>
+ <asDbgD>1</asDbgD>
+ <asForm>1</asForm>
+ <ldLst>0</ldLst>
+ <ldmm>1</ldmm>
+ <ldXref>1</ldXref>
+ <BigEnd>0</BigEnd>
+ <GCPUTYP>"ARMV8MBL"</GCPUTYP>
+ <mOS>0</mOS>
+ <uocRom>0</uocRom>
+ <uocRam>0</uocRam>
+ <hadIROM>1</hadIROM>
+ <hadIRAM>1</hadIRAM>
+ <hadXRAM>0</hadXRAM>
+ <uocXRam>0</uocXRam>
+ <RvdsVP>0</RvdsVP>
+ <hadIRAM2>0</hadIRAM2>
+ <hadIROM2>0</hadIROM2>
+ <OnChipMemories>
+ <Ocm1>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm1>
+ <Ocm2>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm2>
+ <Ocm3>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm3>
+ <Ocm4>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm4>
+ <Ocm5>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm5>
+ <Ocm6>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm6>
+ <IRAM>
+ <Type>0</Type>
+ <StartAddress>0x20000000</StartAddress>
+ <Size>0x20000</Size>
+ </IRAM>
+ <IROM>
+ <Type>1</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x40000</Size>
+ </IROM>
+ <XRAM>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </XRAM>
+ <IRAM2>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </IRAM2>
+ <IROM2>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </IROM2>
+ </OnChipMemories>
+ </ArmMisc>
+ <Carm>
+ <arpcs>1</arpcs>
+ <stkchk>0</stkchk>
+ <reentr>0</reentr>
+ <interw>0</interw>
+ <bigend>0</bigend>
+ <Strict>0</Strict>
+ <Optim>5</Optim>
+ <wLevel>2</wLevel>
+ <uThumb>1</uThumb>
+ <VariousControls>
+ <MiscControls>-march=armv8-m.base -ffunction-sections</MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath>..\..\..\Include;..\..\..\..\Include</IncludePath>
+ </VariousControls>
+ </Carm>
+ <Aarm>
+ <bBE>0</bBE>
+ <interw>0</interw>
+ <VariousControls>
+ <MiscControls>-march=armv8-m.base</MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ <LDarm>
+ <umfTarg>1</umfTarg>
+ <enaGarb>1</enaGarb>
+ <noStart>1</noStart>
+ <noStLib>0</noStLib>
+ <uMathLib>0</uMathLib>
+ <TextAddressRange></TextAddressRange>
+ <DataAddressRange></DataAddressRange>
+ <BSSAddressRange></BSSAddressRange>
+ <IncludeLibs></IncludeLibs>
+ <IncludeDir></IncludeDir>
+ <Misc></Misc>
+ <ScatterFile></ScatterFile>
+ </LDarm>
+ </TargetArm>
+ </TargetOption>
+ <Groups>
+ <Group>
+ <GroupName>Core</GroupName>
+ <Files>
+ <File>
+ <FileName>rtx_kernel.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_kernel.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_thread.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_thread.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_delay.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_delay.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_timer.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_timer.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_evflags.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_evflags.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_mutex.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_mutex.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_semaphore.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_semaphore.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_memory.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_memory.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_mempool.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_mempool.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_msgqueue.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_msgqueue.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_system.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_system.c</FilePath>
+ </File>
+ <File>
+ <FileName>user_svc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\user_svc.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>Handlers</GroupName>
+ <Files>
+ <File>
+ <FileName>irq_cm0.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_cm0.s</FilePath>
+ <FileOption>
+ <CommonProperty>
+ <UseCPPCompiler>2</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>0</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <FileArm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </FileArm>
+ </FileOption>
+ </File>
+ <File>
+ <FileName>irq_cm3.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_cm3.s</FilePath>
+ <FileOption>
+ <CommonProperty>
+ <UseCPPCompiler>2</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>0</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <FileArm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </FileArm>
+ </FileOption>
+ </File>
+ <File>
+ <FileName>irq_cm4f.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_cm4f.s</FilePath>
+ <FileOption>
+ <CommonProperty>
+ <UseCPPCompiler>2</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>0</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <FileArm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </FileArm>
+ </FileOption>
+ </File>
+ <File>
+ <FileName>irq_armv8mbl.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_armv8mbl.s</FilePath>
+ </File>
+ <File>
+ <FileName>irq_armv8mml.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_armv8mml.s</FilePath>
+ <FileOption>
+ <CommonProperty>
+ <UseCPPCompiler>2</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>0</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <FileArm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </FileArm>
+ </FileOption>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>::CMSIS</GroupName>
+ <GroupOption>
+ <CommonProperty>
+ <UseCPPCompiler>0</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>1</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <GroupArm>
+ <Carm>
+ <arpcs>2</arpcs>
+ <stkchk>2</stkchk>
+ <reentr>2</reentr>
+ <interw>2</interw>
+ <bigend>2</bigend>
+ <Strict>0</Strict>
+ <Optim>0</Optim>
+ <wLevel>0</wLevel>
+ <uThumb>2</uThumb>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Carm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </GroupArm>
+ </GroupOption>
+ </Group>
+ </Groups>
+ </Target>
+ <Target>
+ <TargetName>ARMv8MBL_NS_LE</TargetName>
+ <ToolsetNumber>0x3</ToolsetNumber>
+ <ToolsetName>ARM-GNU</ToolsetName>
+ <pArmCC>6050000::V6.5::.\ARMCLANG_6.5</pArmCC>
+ <pCCUsed>6050000::V6.5::.\ARMCLANG_6.5</pCCUsed>
+ <TargetOption>
+ <TargetCommonOption>
+ <Device>ARMv8MBL</Device>
+ <Vendor>ARM</Vendor>
+ <PackID>ARM.CMSIS.5.0.0-Beta12</PackID>
+ <PackURL>http://www.keil.com/pack/</PackURL>
+ <Cpu>IRAM(0x20000000,0x00020000) IROM(0x00000000,0x00040000) CPUTYPE("ARMV8MBL") CLOCK(12000000) ELITTLE</Cpu>
+ <FlashUtilSpec></FlashUtilSpec>
+ <StartupFile></StartupFile>
+ <FlashDriverDll>UL2V8M(-S0 -C0 -P0 -FD20000000 -FC1000)</FlashDriverDll>
+ <DeviceId>0</DeviceId>
+ <RegisterFile>$$Device:ARMv8MBL$Device\ARM\ARMv8MBL\Include\ARMv8MBL.h</RegisterFile>
+ <MemoryEnv></MemoryEnv>
+ <Cmp></Cmp>
+ <Asm></Asm>
+ <Linker></Linker>
+ <OHString></OHString>
+ <InfinionOptionDll></InfinionOptionDll>
+ <SLE66CMisc></SLE66CMisc>
+ <SLE66AMisc></SLE66AMisc>
+ <SLE66LinkerMisc></SLE66LinkerMisc>
+ <SFDFile>$$Device:ARMv8MBL$Device\ARM\SVD\ARMv8MBL.svd</SFDFile>
+ <bCustSvd>0</bCustSvd>
+ <UseEnv>0</UseEnv>
+ <BinPath></BinPath>
+ <IncludePath></IncludePath>
+ <LibPath></LibPath>
+ <RegisterFilePath></RegisterFilePath>
+ <DBRegisterFilePath></DBRegisterFilePath>
+ <TargetStatus>
+ <Error>0</Error>
+ <ExitCodeStop>0</ExitCodeStop>
+ <ButtonStop>0</ButtonStop>
+ <NotGenerated>0</NotGenerated>
+ <InvalidFlash>1</InvalidFlash>
+ </TargetStatus>
+ <OutputDirectory>.\ARMv8MBL_NS_LE\</OutputDirectory>
+ <OutputName>RTX_V8MBN</OutputName>
+ <CreateExecutable>0</CreateExecutable>
+ <CreateLib>1</CreateLib>
+ <CreateHexFile>0</CreateHexFile>
+ <DebugInformation>1</DebugInformation>
+ <BrowseInformation>0</BrowseInformation>
+ <ListingPath>.\ARMv8MBL_NS_LE\</ListingPath>
+ <HexFormatSelection>1</HexFormatSelection>
+ <Merge32K>0</Merge32K>
+ <CreateBatchFile>0</CreateBatchFile>
+ <BeforeCompile>
+ <RunUserProg1>0</RunUserProg1>
+ <RunUserProg2>0</RunUserProg2>
+ <UserProg1Name></UserProg1Name>
+ <UserProg2Name></UserProg2Name>
+ <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+ <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+ <nStopU1X>0</nStopU1X>
+ <nStopU2X>0</nStopU2X>
+ </BeforeCompile>
+ <BeforeMake>
+ <RunUserProg1>0</RunUserProg1>
+ <RunUserProg2>0</RunUserProg2>
+ <UserProg1Name></UserProg1Name>
+ <UserProg2Name></UserProg2Name>
+ <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+ <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+ <nStopB1X>0</nStopB1X>
+ <nStopB2X>0</nStopB2X>
+ </BeforeMake>
+ <AfterMake>
+ <RunUserProg1>1</RunUserProg1>
+ <RunUserProg2>0</RunUserProg2>
+ <UserProg1Name>cmd.exe /C copy ARMv8MBL_NS_LE\libRTX_V8MBN.a ..\.</UserProg1Name>
+ <UserProg2Name></UserProg2Name>
+ <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+ <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+ <nStopA1X>0</nStopA1X>
+ <nStopA2X>0</nStopA2X>
+ </AfterMake>
+ <SelectedForBatchBuild>0</SelectedForBatchBuild>
+ <SVCSIdString></SVCSIdString>
+ </TargetCommonOption>
+ <CommonProperty>
+ <UseCPPCompiler>0</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>1</IncludeInBuild>
+ <AlwaysBuild>0</AlwaysBuild>
+ <GenerateAssemblyFile>0</GenerateAssemblyFile>
+ <AssembleAssemblyFile>0</AssembleAssemblyFile>
+ <PublicsOnly>0</PublicsOnly>
+ <StopOnExitCode>3</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <DllOption>
+ <SimDllName></SimDllName>
+ <SimDllArguments></SimDllArguments>
+ <SimDlgDll></SimDlgDll>
+ <SimDlgDllArguments></SimDlgDllArguments>
+ <TargetDllName>SARMV8M.DLL</TargetDllName>
+ <TargetDllArguments></TargetDllArguments>
+ <TargetDlgDll>TCM.DLL</TargetDlgDll>
+ <TargetDlgDllArguments>-pV8MBL</TargetDlgDllArguments>
+ </DllOption>
+ <DebugOption>
+ <OPTHX>
+ <HexSelection>1</HexSelection>
+ <HexRangeLowAddress>0</HexRangeLowAddress>
+ <HexRangeHighAddress>0</HexRangeHighAddress>
+ <HexOffset>0</HexOffset>
+ <Oh166RecLen>16</Oh166RecLen>
+ </OPTHX>
+ </DebugOption>
+ <Utilities>
+ <Flash1>
+ <UseTargetDll>1</UseTargetDll>
+ <UseExternalTool>0</UseExternalTool>
+ <RunIndependent>0</RunIndependent>
+ <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
+ <Capability>0</Capability>
+ <DriverSelection>-1</DriverSelection>
+ </Flash1>
+ <bUseTDR>1</bUseTDR>
+ <Flash2>BIN\UL2V8M.DLL</Flash2>
+ <Flash3></Flash3>
+ <Flash4></Flash4>
+ <pFcarmOut></pFcarmOut>
+ <pFcarmGrp></pFcarmGrp>
+ <pFcArmRoot></pFcArmRoot>
+ <FcArmLst>0</FcArmLst>
+ </Utilities>
+ <TargetArm>
+ <ArmMisc>
+ <asLst>0</asLst>
+ <asHll>1</asHll>
+ <asAsm>1</asAsm>
+ <asMacX>1</asMacX>
+ <asSyms>1</asSyms>
+ <asFals>1</asFals>
+ <asDbgD>1</asDbgD>
+ <asForm>1</asForm>
+ <ldLst>0</ldLst>
+ <ldmm>1</ldmm>
+ <ldXref>1</ldXref>
+ <BigEnd>0</BigEnd>
+ <GCPUTYP>"ARMV8MBL"</GCPUTYP>
+ <mOS>0</mOS>
+ <uocRom>0</uocRom>
+ <uocRam>0</uocRam>
+ <hadIROM>1</hadIROM>
+ <hadIRAM>1</hadIRAM>
+ <hadXRAM>0</hadXRAM>
+ <uocXRam>0</uocXRam>
+ <RvdsVP>0</RvdsVP>
+ <hadIRAM2>0</hadIRAM2>
+ <hadIROM2>0</hadIROM2>
+ <OnChipMemories>
+ <Ocm1>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm1>
+ <Ocm2>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm2>
+ <Ocm3>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm3>
+ <Ocm4>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm4>
+ <Ocm5>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm5>
+ <Ocm6>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm6>
+ <IRAM>
+ <Type>0</Type>
+ <StartAddress>0x20000000</StartAddress>
+ <Size>0x20000</Size>
+ </IRAM>
+ <IROM>
+ <Type>1</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x40000</Size>
+ </IROM>
+ <XRAM>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </XRAM>
+ <IRAM2>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </IRAM2>
+ <IROM2>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </IROM2>
+ </OnChipMemories>
+ </ArmMisc>
+ <Carm>
+ <arpcs>1</arpcs>
+ <stkchk>0</stkchk>
+ <reentr>0</reentr>
+ <interw>0</interw>
+ <bigend>0</bigend>
+ <Strict>0</Strict>
+ <Optim>5</Optim>
+ <wLevel>2</wLevel>
+ <uThumb>1</uThumb>
+ <VariousControls>
+ <MiscControls>-march=armv8-m.base -ffunction-sections</MiscControls>
+ <Define>__DOMAIN_NS=1U</Define>
+ <Undefine></Undefine>
+ <IncludePath>..\..\..\Include;..\..\..\..\Include</IncludePath>
+ </VariousControls>
+ </Carm>
+ <Aarm>
+ <bBE>0</bBE>
+ <interw>0</interw>
+ <VariousControls>
+ <MiscControls>-march=armv8-m.base</MiscControls>
+ <Define>__DOMAIN_NS=1</Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ <LDarm>
+ <umfTarg>1</umfTarg>
+ <enaGarb>1</enaGarb>
+ <noStart>1</noStart>
+ <noStLib>0</noStLib>
+ <uMathLib>0</uMathLib>
+ <TextAddressRange></TextAddressRange>
+ <DataAddressRange></DataAddressRange>
+ <BSSAddressRange></BSSAddressRange>
+ <IncludeLibs></IncludeLibs>
+ <IncludeDir></IncludeDir>
+ <Misc></Misc>
+ <ScatterFile></ScatterFile>
+ </LDarm>
+ </TargetArm>
+ </TargetOption>
+ <Groups>
+ <Group>
+ <GroupName>Core</GroupName>
+ <Files>
+ <File>
+ <FileName>rtx_kernel.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_kernel.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_thread.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_thread.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_delay.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_delay.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_timer.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_timer.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_evflags.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_evflags.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_mutex.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_mutex.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_semaphore.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_semaphore.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_memory.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_memory.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_mempool.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_mempool.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_msgqueue.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_msgqueue.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_system.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_system.c</FilePath>
+ </File>
+ <File>
+ <FileName>user_svc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\user_svc.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>Handlers</GroupName>
+ <Files>
+ <File>
+ <FileName>irq_cm0.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_cm0.s</FilePath>
+ <FileOption>
+ <CommonProperty>
+ <UseCPPCompiler>2</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>0</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <FileArm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </FileArm>
+ </FileOption>
+ </File>
+ <File>
+ <FileName>irq_cm3.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_cm3.s</FilePath>
+ <FileOption>
+ <CommonProperty>
+ <UseCPPCompiler>2</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>0</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <FileArm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </FileArm>
+ </FileOption>
+ </File>
+ <File>
+ <FileName>irq_cm4f.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_cm4f.s</FilePath>
+ <FileOption>
+ <CommonProperty>
+ <UseCPPCompiler>2</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>0</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <FileArm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </FileArm>
+ </FileOption>
+ </File>
+ <File>
+ <FileName>irq_armv8mbl.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_armv8mbl.s</FilePath>
+ </File>
+ <File>
+ <FileName>irq_armv8mml.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_armv8mml.s</FilePath>
+ <FileOption>
+ <CommonProperty>
+ <UseCPPCompiler>2</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>0</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <FileArm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </FileArm>
+ </FileOption>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>::CMSIS</GroupName>
+ <GroupOption>
+ <CommonProperty>
+ <UseCPPCompiler>0</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>1</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <GroupArm>
+ <Carm>
+ <arpcs>2</arpcs>
+ <stkchk>2</stkchk>
+ <reentr>2</reentr>
+ <interw>2</interw>
+ <bigend>2</bigend>
+ <Strict>0</Strict>
+ <Optim>0</Optim>
+ <wLevel>0</wLevel>
+ <uThumb>2</uThumb>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Carm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </GroupArm>
+ </GroupOption>
+ </Group>
+ </Groups>
+ </Target>
+ <Target>
+ <TargetName>ARMv8MML_LE</TargetName>
+ <ToolsetNumber>0x3</ToolsetNumber>
+ <ToolsetName>ARM-GNU</ToolsetName>
+ <pArmCC>6050000::V6.5::.\ARMCLANG_6.5</pArmCC>
+ <pCCUsed>6050000::V6.5::.\ARMCLANG_6.5</pCCUsed>
+ <TargetOption>
+ <TargetCommonOption>
+ <Device>ARMv8MML</Device>
+ <Vendor>ARM</Vendor>
+ <PackID>ARM.CMSIS.5.0.0-Beta12</PackID>
+ <PackURL>http://www.keil.com/pack/</PackURL>
+ <Cpu>IRAM(0x20000000,0x00020000) IROM(0x00000000,0x00040000) CPUTYPE("ARMV8MML") CLOCK(12000000) ELITTLE</Cpu>
+ <FlashUtilSpec></FlashUtilSpec>
+ <StartupFile></StartupFile>
+ <FlashDriverDll>UL2V8M(-S0 -C0 -P0 -FD20000000 -FC1000)</FlashDriverDll>
+ <DeviceId>0</DeviceId>
+ <RegisterFile>$$Device:ARMv8MML$Device\ARM\ARMv8MML\Include\ARMv8MML.h</RegisterFile>
+ <MemoryEnv></MemoryEnv>
+ <Cmp></Cmp>
+ <Asm></Asm>
+ <Linker></Linker>
+ <OHString></OHString>
+ <InfinionOptionDll></InfinionOptionDll>
+ <SLE66CMisc></SLE66CMisc>
+ <SLE66AMisc></SLE66AMisc>
+ <SLE66LinkerMisc></SLE66LinkerMisc>
+ <SFDFile>$$Device:ARMv8MML$Device\ARM\SVD\ARMv8MML.svd</SFDFile>
+ <bCustSvd>0</bCustSvd>
+ <UseEnv>0</UseEnv>
+ <BinPath></BinPath>
+ <IncludePath></IncludePath>
+ <LibPath></LibPath>
+ <RegisterFilePath></RegisterFilePath>
+ <DBRegisterFilePath></DBRegisterFilePath>
+ <TargetStatus>
+ <Error>0</Error>
+ <ExitCodeStop>0</ExitCodeStop>
+ <ButtonStop>0</ButtonStop>
+ <NotGenerated>0</NotGenerated>
+ <InvalidFlash>1</InvalidFlash>
+ </TargetStatus>
+ <OutputDirectory>.\ARMv8MML_LE\</OutputDirectory>
+ <OutputName>RTX_V8MM</OutputName>
+ <CreateExecutable>0</CreateExecutable>
+ <CreateLib>1</CreateLib>
+ <CreateHexFile>0</CreateHexFile>
+ <DebugInformation>1</DebugInformation>
+ <BrowseInformation>0</BrowseInformation>
+ <ListingPath>.\ARMv8MML_LE\</ListingPath>
+ <HexFormatSelection>1</HexFormatSelection>
+ <Merge32K>0</Merge32K>
+ <CreateBatchFile>0</CreateBatchFile>
+ <BeforeCompile>
+ <RunUserProg1>0</RunUserProg1>
+ <RunUserProg2>0</RunUserProg2>
+ <UserProg1Name></UserProg1Name>
+ <UserProg2Name></UserProg2Name>
+ <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+ <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+ <nStopU1X>0</nStopU1X>
+ <nStopU2X>0</nStopU2X>
+ </BeforeCompile>
+ <BeforeMake>
+ <RunUserProg1>0</RunUserProg1>
+ <RunUserProg2>0</RunUserProg2>
+ <UserProg1Name></UserProg1Name>
+ <UserProg2Name></UserProg2Name>
+ <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+ <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+ <nStopB1X>0</nStopB1X>
+ <nStopB2X>0</nStopB2X>
+ </BeforeMake>
+ <AfterMake>
+ <RunUserProg1>1</RunUserProg1>
+ <RunUserProg2>0</RunUserProg2>
+ <UserProg1Name>cmd.exe /C copy ARMv8MML_LE\libRTX_V8MM.a ..\.</UserProg1Name>
+ <UserProg2Name></UserProg2Name>
+ <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+ <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+ <nStopA1X>0</nStopA1X>
+ <nStopA2X>0</nStopA2X>
+ </AfterMake>
+ <SelectedForBatchBuild>0</SelectedForBatchBuild>
+ <SVCSIdString></SVCSIdString>
+ </TargetCommonOption>
+ <CommonProperty>
+ <UseCPPCompiler>0</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>1</IncludeInBuild>
+ <AlwaysBuild>0</AlwaysBuild>
+ <GenerateAssemblyFile>0</GenerateAssemblyFile>
+ <AssembleAssemblyFile>0</AssembleAssemblyFile>
+ <PublicsOnly>0</PublicsOnly>
+ <StopOnExitCode>3</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <DllOption>
+ <SimDllName></SimDllName>
+ <SimDllArguments></SimDllArguments>
+ <SimDlgDll></SimDlgDll>
+ <SimDlgDllArguments></SimDlgDllArguments>
+ <TargetDllName>SARMV8M.DLL</TargetDllName>
+ <TargetDllArguments></TargetDllArguments>
+ <TargetDlgDll>TCM.DLL</TargetDlgDll>
+ <TargetDlgDllArguments>-pV8MML</TargetDlgDllArguments>
+ </DllOption>
+ <DebugOption>
+ <OPTHX>
+ <HexSelection>1</HexSelection>
+ <HexRangeLowAddress>0</HexRangeLowAddress>
+ <HexRangeHighAddress>0</HexRangeHighAddress>
+ <HexOffset>0</HexOffset>
+ <Oh166RecLen>16</Oh166RecLen>
+ </OPTHX>
+ </DebugOption>
+ <Utilities>
+ <Flash1>
+ <UseTargetDll>1</UseTargetDll>
+ <UseExternalTool>0</UseExternalTool>
+ <RunIndependent>0</RunIndependent>
+ <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
+ <Capability>0</Capability>
+ <DriverSelection>-1</DriverSelection>
+ </Flash1>
+ <bUseTDR>1</bUseTDR>
+ <Flash2>BIN\UL2V8M.DLL</Flash2>
+ <Flash3></Flash3>
+ <Flash4></Flash4>
+ <pFcarmOut></pFcarmOut>
+ <pFcarmGrp></pFcarmGrp>
+ <pFcArmRoot></pFcArmRoot>
+ <FcArmLst>0</FcArmLst>
+ </Utilities>
+ <TargetArm>
+ <ArmMisc>
+ <asLst>0</asLst>
+ <asHll>1</asHll>
+ <asAsm>1</asAsm>
+ <asMacX>1</asMacX>
+ <asSyms>1</asSyms>
+ <asFals>1</asFals>
+ <asDbgD>1</asDbgD>
+ <asForm>1</asForm>
+ <ldLst>0</ldLst>
+ <ldmm>1</ldmm>
+ <ldXref>1</ldXref>
+ <BigEnd>0</BigEnd>
+ <GCPUTYP>"ARMV8MML"</GCPUTYP>
+ <mOS>0</mOS>
+ <uocRom>0</uocRom>
+ <uocRam>0</uocRam>
+ <hadIROM>1</hadIROM>
+ <hadIRAM>1</hadIRAM>
+ <hadXRAM>0</hadXRAM>
+ <uocXRam>0</uocXRam>
+ <RvdsVP>0</RvdsVP>
+ <hadIRAM2>0</hadIRAM2>
+ <hadIROM2>0</hadIROM2>
+ <OnChipMemories>
+ <Ocm1>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm1>
+ <Ocm2>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm2>
+ <Ocm3>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm3>
+ <Ocm4>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm4>
+ <Ocm5>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm5>
+ <Ocm6>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm6>
+ <IRAM>
+ <Type>0</Type>
+ <StartAddress>0x20000000</StartAddress>
+ <Size>0x20000</Size>
+ </IRAM>
+ <IROM>
+ <Type>1</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x40000</Size>
+ </IROM>
+ <XRAM>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </XRAM>
+ <IRAM2>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </IRAM2>
+ <IROM2>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </IROM2>
+ </OnChipMemories>
+ </ArmMisc>
+ <Carm>
+ <arpcs>1</arpcs>
+ <stkchk>0</stkchk>
+ <reentr>0</reentr>
+ <interw>0</interw>
+ <bigend>0</bigend>
+ <Strict>0</Strict>
+ <Optim>5</Optim>
+ <wLevel>2</wLevel>
+ <uThumb>1</uThumb>
+ <VariousControls>
+ <MiscControls>-march=armv8-m.main -ffunction-sections</MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath>..\..\..\Include;..\..\..\..\Include</IncludePath>
+ </VariousControls>
+ </Carm>
+ <Aarm>
+ <bBE>0</bBE>
+ <interw>0</interw>
+ <VariousControls>
+ <MiscControls>-march=armv8-m.main</MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ <LDarm>
+ <umfTarg>1</umfTarg>
+ <enaGarb>1</enaGarb>
+ <noStart>1</noStart>
+ <noStLib>0</noStLib>
+ <uMathLib>0</uMathLib>
+ <TextAddressRange></TextAddressRange>
+ <DataAddressRange></DataAddressRange>
+ <BSSAddressRange></BSSAddressRange>
+ <IncludeLibs></IncludeLibs>
+ <IncludeDir></IncludeDir>
+ <Misc></Misc>
+ <ScatterFile></ScatterFile>
+ </LDarm>
+ </TargetArm>
+ </TargetOption>
+ <Groups>
+ <Group>
+ <GroupName>Core</GroupName>
+ <Files>
+ <File>
+ <FileName>rtx_kernel.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_kernel.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_thread.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_thread.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_delay.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_delay.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_timer.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_timer.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_evflags.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_evflags.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_mutex.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_mutex.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_semaphore.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_semaphore.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_memory.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_memory.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_mempool.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_mempool.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_msgqueue.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_msgqueue.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_system.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_system.c</FilePath>
+ </File>
+ <File>
+ <FileName>user_svc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\user_svc.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>Handlers</GroupName>
+ <Files>
+ <File>
+ <FileName>irq_cm0.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_cm0.s</FilePath>
+ <FileOption>
+ <CommonProperty>
+ <UseCPPCompiler>2</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>0</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <FileArm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </FileArm>
+ </FileOption>
+ </File>
+ <File>
+ <FileName>irq_cm3.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_cm3.s</FilePath>
+ <FileOption>
+ <CommonProperty>
+ <UseCPPCompiler>2</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>0</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <FileArm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </FileArm>
+ </FileOption>
+ </File>
+ <File>
+ <FileName>irq_cm4f.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_cm4f.s</FilePath>
+ <FileOption>
+ <CommonProperty>
+ <UseCPPCompiler>2</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>0</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <FileArm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </FileArm>
+ </FileOption>
+ </File>
+ <File>
+ <FileName>irq_armv8mbl.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_armv8mbl.s</FilePath>
+ <FileOption>
+ <CommonProperty>
+ <UseCPPCompiler>2</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>0</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <FileArm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </FileArm>
+ </FileOption>
+ </File>
+ <File>
+ <FileName>irq_armv8mml.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_armv8mml.s</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>::CMSIS</GroupName>
+ <GroupOption>
+ <CommonProperty>
+ <UseCPPCompiler>0</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>1</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <GroupArm>
+ <Carm>
+ <arpcs>2</arpcs>
+ <stkchk>2</stkchk>
+ <reentr>2</reentr>
+ <interw>2</interw>
+ <bigend>2</bigend>
+ <Strict>0</Strict>
+ <Optim>0</Optim>
+ <wLevel>0</wLevel>
+ <uThumb>2</uThumb>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Carm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </GroupArm>
+ </GroupOption>
+ </Group>
+ </Groups>
+ </Target>
+ <Target>
+ <TargetName>ARMv8MML_NS_LE</TargetName>
+ <ToolsetNumber>0x3</ToolsetNumber>
+ <ToolsetName>ARM-GNU</ToolsetName>
+ <pArmCC>6050000::V6.5::.\ARMCLANG_6.5</pArmCC>
+ <pCCUsed>6050000::V6.5::.\ARMCLANG_6.5</pCCUsed>
+ <TargetOption>
+ <TargetCommonOption>
+ <Device>ARMv8MML</Device>
+ <Vendor>ARM</Vendor>
+ <PackID>ARM.CMSIS.5.0.0-Beta12</PackID>
+ <PackURL>http://www.keil.com/pack/</PackURL>
+ <Cpu>IRAM(0x20000000,0x00020000) IROM(0x00000000,0x00040000) CPUTYPE("ARMV8MML") CLOCK(12000000) ELITTLE</Cpu>
+ <FlashUtilSpec></FlashUtilSpec>
+ <StartupFile></StartupFile>
+ <FlashDriverDll>UL2V8M(-S0 -C0 -P0 -FD20000000 -FC1000)</FlashDriverDll>
+ <DeviceId>0</DeviceId>
+ <RegisterFile>$$Device:ARMv8MML$Device\ARM\ARMv8MML\Include\ARMv8MML.h</RegisterFile>
+ <MemoryEnv></MemoryEnv>
+ <Cmp></Cmp>
+ <Asm></Asm>
+ <Linker></Linker>
+ <OHString></OHString>
+ <InfinionOptionDll></InfinionOptionDll>
+ <SLE66CMisc></SLE66CMisc>
+ <SLE66AMisc></SLE66AMisc>
+ <SLE66LinkerMisc></SLE66LinkerMisc>
+ <SFDFile>$$Device:ARMv8MML$Device\ARM\SVD\ARMv8MML.svd</SFDFile>
+ <bCustSvd>0</bCustSvd>
+ <UseEnv>0</UseEnv>
+ <BinPath></BinPath>
+ <IncludePath></IncludePath>
+ <LibPath></LibPath>
+ <RegisterFilePath></RegisterFilePath>
+ <DBRegisterFilePath></DBRegisterFilePath>
+ <TargetStatus>
+ <Error>0</Error>
+ <ExitCodeStop>0</ExitCodeStop>
+ <ButtonStop>0</ButtonStop>
+ <NotGenerated>0</NotGenerated>
+ <InvalidFlash>1</InvalidFlash>
+ </TargetStatus>
+ <OutputDirectory>.\ARMv8MML_NS_LE\</OutputDirectory>
+ <OutputName>RTX_V8MMN</OutputName>
+ <CreateExecutable>0</CreateExecutable>
+ <CreateLib>1</CreateLib>
+ <CreateHexFile>0</CreateHexFile>
+ <DebugInformation>1</DebugInformation>
+ <BrowseInformation>0</BrowseInformation>
+ <ListingPath>.\ARMv8MML_NS_LE\</ListingPath>
+ <HexFormatSelection>1</HexFormatSelection>
+ <Merge32K>0</Merge32K>
+ <CreateBatchFile>0</CreateBatchFile>
+ <BeforeCompile>
+ <RunUserProg1>0</RunUserProg1>
+ <RunUserProg2>0</RunUserProg2>
+ <UserProg1Name></UserProg1Name>
+ <UserProg2Name></UserProg2Name>
+ <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+ <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+ <nStopU1X>0</nStopU1X>
+ <nStopU2X>0</nStopU2X>
+ </BeforeCompile>
+ <BeforeMake>
+ <RunUserProg1>0</RunUserProg1>
+ <RunUserProg2>0</RunUserProg2>
+ <UserProg1Name></UserProg1Name>
+ <UserProg2Name></UserProg2Name>
+ <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+ <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+ <nStopB1X>0</nStopB1X>
+ <nStopB2X>0</nStopB2X>
+ </BeforeMake>
+ <AfterMake>
+ <RunUserProg1>1</RunUserProg1>
+ <RunUserProg2>0</RunUserProg2>
+ <UserProg1Name>cmd.exe /C copy ARMv8MML_NS_LE\libRTX_V8MMN.a ..\.</UserProg1Name>
+ <UserProg2Name></UserProg2Name>
+ <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+ <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+ <nStopA1X>0</nStopA1X>
+ <nStopA2X>0</nStopA2X>
+ </AfterMake>
+ <SelectedForBatchBuild>0</SelectedForBatchBuild>
+ <SVCSIdString></SVCSIdString>
+ </TargetCommonOption>
+ <CommonProperty>
+ <UseCPPCompiler>0</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>1</IncludeInBuild>
+ <AlwaysBuild>0</AlwaysBuild>
+ <GenerateAssemblyFile>0</GenerateAssemblyFile>
+ <AssembleAssemblyFile>0</AssembleAssemblyFile>
+ <PublicsOnly>0</PublicsOnly>
+ <StopOnExitCode>3</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <DllOption>
+ <SimDllName></SimDllName>
+ <SimDllArguments></SimDllArguments>
+ <SimDlgDll></SimDlgDll>
+ <SimDlgDllArguments></SimDlgDllArguments>
+ <TargetDllName>SARMV8M.DLL</TargetDllName>
+ <TargetDllArguments></TargetDllArguments>
+ <TargetDlgDll>TCM.DLL</TargetDlgDll>
+ <TargetDlgDllArguments>-pV8MML</TargetDlgDllArguments>
+ </DllOption>
+ <DebugOption>
+ <OPTHX>
+ <HexSelection>1</HexSelection>
+ <HexRangeLowAddress>0</HexRangeLowAddress>
+ <HexRangeHighAddress>0</HexRangeHighAddress>
+ <HexOffset>0</HexOffset>
+ <Oh166RecLen>16</Oh166RecLen>
+ </OPTHX>
+ </DebugOption>
+ <Utilities>
+ <Flash1>
+ <UseTargetDll>1</UseTargetDll>
+ <UseExternalTool>0</UseExternalTool>
+ <RunIndependent>0</RunIndependent>
+ <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
+ <Capability>0</Capability>
+ <DriverSelection>-1</DriverSelection>
+ </Flash1>
+ <bUseTDR>1</bUseTDR>
+ <Flash2>BIN\UL2V8M.DLL</Flash2>
+ <Flash3></Flash3>
+ <Flash4></Flash4>
+ <pFcarmOut></pFcarmOut>
+ <pFcarmGrp></pFcarmGrp>
+ <pFcArmRoot></pFcArmRoot>
+ <FcArmLst>0</FcArmLst>
+ </Utilities>
+ <TargetArm>
+ <ArmMisc>
+ <asLst>0</asLst>
+ <asHll>1</asHll>
+ <asAsm>1</asAsm>
+ <asMacX>1</asMacX>
+ <asSyms>1</asSyms>
+ <asFals>1</asFals>
+ <asDbgD>1</asDbgD>
+ <asForm>1</asForm>
+ <ldLst>0</ldLst>
+ <ldmm>1</ldmm>
+ <ldXref>1</ldXref>
+ <BigEnd>0</BigEnd>
+ <GCPUTYP>"ARMV8MML"</GCPUTYP>
+ <mOS>0</mOS>
+ <uocRom>0</uocRom>
+ <uocRam>0</uocRam>
+ <hadIROM>1</hadIROM>
+ <hadIRAM>1</hadIRAM>
+ <hadXRAM>0</hadXRAM>
+ <uocXRam>0</uocXRam>
+ <RvdsVP>0</RvdsVP>
+ <hadIRAM2>0</hadIRAM2>
+ <hadIROM2>0</hadIROM2>
+ <OnChipMemories>
+ <Ocm1>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm1>
+ <Ocm2>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm2>
+ <Ocm3>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm3>
+ <Ocm4>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm4>
+ <Ocm5>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm5>
+ <Ocm6>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm6>
+ <IRAM>
+ <Type>0</Type>
+ <StartAddress>0x20000000</StartAddress>
+ <Size>0x20000</Size>
+ </IRAM>
+ <IROM>
+ <Type>1</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x40000</Size>
+ </IROM>
+ <XRAM>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </XRAM>
+ <IRAM2>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </IRAM2>
+ <IROM2>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </IROM2>
+ </OnChipMemories>
+ </ArmMisc>
+ <Carm>
+ <arpcs>1</arpcs>
+ <stkchk>0</stkchk>
+ <reentr>0</reentr>
+ <interw>0</interw>
+ <bigend>0</bigend>
+ <Strict>0</Strict>
+ <Optim>5</Optim>
+ <wLevel>2</wLevel>
+ <uThumb>1</uThumb>
+ <VariousControls>
+ <MiscControls>-march=armv8-m.main -ffunction-sections</MiscControls>
+ <Define>__DOMAIN_NS=1U</Define>
+ <Undefine></Undefine>
+ <IncludePath>..\..\..\Include;..\..\..\..\Include</IncludePath>
+ </VariousControls>
+ </Carm>
+ <Aarm>
+ <bBE>0</bBE>
+ <interw>0</interw>
+ <VariousControls>
+ <MiscControls>-march=armv8-m.main</MiscControls>
+ <Define>__DOMAIN_NS=1</Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ <LDarm>
+ <umfTarg>1</umfTarg>
+ <enaGarb>1</enaGarb>
+ <noStart>1</noStart>
+ <noStLib>0</noStLib>
+ <uMathLib>0</uMathLib>
+ <TextAddressRange></TextAddressRange>
+ <DataAddressRange></DataAddressRange>
+ <BSSAddressRange></BSSAddressRange>
+ <IncludeLibs></IncludeLibs>
+ <IncludeDir></IncludeDir>
+ <Misc></Misc>
+ <ScatterFile></ScatterFile>
+ </LDarm>
+ </TargetArm>
+ </TargetOption>
+ <Groups>
+ <Group>
+ <GroupName>Core</GroupName>
+ <Files>
+ <File>
+ <FileName>rtx_kernel.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_kernel.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_thread.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_thread.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_delay.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_delay.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_timer.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_timer.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_evflags.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_evflags.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_mutex.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_mutex.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_semaphore.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_semaphore.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_memory.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_memory.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_mempool.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_mempool.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_msgqueue.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_msgqueue.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_system.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_system.c</FilePath>
+ </File>
+ <File>
+ <FileName>user_svc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\user_svc.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>Handlers</GroupName>
+ <Files>
+ <File>
+ <FileName>irq_cm0.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_cm0.s</FilePath>
+ <FileOption>
+ <CommonProperty>
+ <UseCPPCompiler>2</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>0</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <FileArm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </FileArm>
+ </FileOption>
+ </File>
+ <File>
+ <FileName>irq_cm3.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_cm3.s</FilePath>
+ <FileOption>
+ <CommonProperty>
+ <UseCPPCompiler>2</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>0</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <FileArm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </FileArm>
+ </FileOption>
+ </File>
+ <File>
+ <FileName>irq_cm4f.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_cm4f.s</FilePath>
+ <FileOption>
+ <CommonProperty>
+ <UseCPPCompiler>2</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>0</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <FileArm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </FileArm>
+ </FileOption>
+ </File>
+ <File>
+ <FileName>irq_armv8mbl.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_armv8mbl.s</FilePath>
+ <FileOption>
+ <CommonProperty>
+ <UseCPPCompiler>2</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>0</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <FileArm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </FileArm>
+ </FileOption>
+ </File>
+ <File>
+ <FileName>irq_armv8mml.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_armv8mml.s</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>::CMSIS</GroupName>
+ <GroupOption>
+ <CommonProperty>
+ <UseCPPCompiler>0</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>1</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <GroupArm>
+ <Carm>
+ <arpcs>2</arpcs>
+ <stkchk>2</stkchk>
+ <reentr>2</reentr>
+ <interw>2</interw>
+ <bigend>2</bigend>
+ <Strict>0</Strict>
+ <Optim>0</Optim>
+ <wLevel>0</wLevel>
+ <uThumb>2</uThumb>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Carm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </GroupArm>
+ </GroupOption>
+ </Group>
+ </Groups>
+ </Target>
+ <Target>
+ <TargetName>ARMv8MML_SP_LE</TargetName>
+ <ToolsetNumber>0x3</ToolsetNumber>
+ <ToolsetName>ARM-GNU</ToolsetName>
+ <pArmCC>6050000::V6.5::.\ARMCLANG_6.5</pArmCC>
+ <pCCUsed>6050000::V6.5::.\ARMCLANG_6.5</pCCUsed>
+ <TargetOption>
+ <TargetCommonOption>
+ <Device>ARMv8MML_SP</Device>
+ <Vendor>ARM</Vendor>
+ <PackID>ARM.CMSIS.5.0.0-Beta12</PackID>
+ <PackURL>http://www.keil.com/pack/</PackURL>
+ <Cpu>IRAM(0x20000000,0x00020000) IROM(0x00000000,0x00040000) CPUTYPE("ARMV8MML") FPU3(SFPU) CLOCK(12000000) ESEL ELITTLE</Cpu>
+ <FlashUtilSpec></FlashUtilSpec>
+ <StartupFile></StartupFile>
+ <FlashDriverDll>UL2V8M(-S0 -C0 -P0 -FD20000000 -FC1000)</FlashDriverDll>
+ <DeviceId>0</DeviceId>
+ <RegisterFile>$$Device:ARMv8MML_SP$Device\ARM\ARMv8MML\Include\ARMv8MML_SP.h</RegisterFile>
+ <MemoryEnv></MemoryEnv>
+ <Cmp></Cmp>
+ <Asm></Asm>
+ <Linker></Linker>
+ <OHString></OHString>
+ <InfinionOptionDll></InfinionOptionDll>
+ <SLE66CMisc></SLE66CMisc>
+ <SLE66AMisc></SLE66AMisc>
+ <SLE66LinkerMisc></SLE66LinkerMisc>
+ <SFDFile>$$Device:ARMv8MML_SP$Device\ARM\SVD\ARMv8MML.svd</SFDFile>
+ <bCustSvd>0</bCustSvd>
+ <UseEnv>0</UseEnv>
+ <BinPath></BinPath>
+ <IncludePath></IncludePath>
+ <LibPath></LibPath>
+ <RegisterFilePath></RegisterFilePath>
+ <DBRegisterFilePath></DBRegisterFilePath>
+ <TargetStatus>
+ <Error>0</Error>
+ <ExitCodeStop>0</ExitCodeStop>
+ <ButtonStop>0</ButtonStop>
+ <NotGenerated>0</NotGenerated>
+ <InvalidFlash>1</InvalidFlash>
+ </TargetStatus>
+ <OutputDirectory>.\ARMv8MML_SP_LE\</OutputDirectory>
+ <OutputName>RTX_V8MMF</OutputName>
+ <CreateExecutable>0</CreateExecutable>
+ <CreateLib>1</CreateLib>
+ <CreateHexFile>0</CreateHexFile>
+ <DebugInformation>1</DebugInformation>
+ <BrowseInformation>0</BrowseInformation>
+ <ListingPath>.\ARMv8MML_SP_LE\</ListingPath>
+ <HexFormatSelection>1</HexFormatSelection>
+ <Merge32K>0</Merge32K>
+ <CreateBatchFile>0</CreateBatchFile>
+ <BeforeCompile>
+ <RunUserProg1>0</RunUserProg1>
+ <RunUserProg2>0</RunUserProg2>
+ <UserProg1Name></UserProg1Name>
+ <UserProg2Name></UserProg2Name>
+ <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+ <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+ <nStopU1X>0</nStopU1X>
+ <nStopU2X>0</nStopU2X>
+ </BeforeCompile>
+ <BeforeMake>
+ <RunUserProg1>0</RunUserProg1>
+ <RunUserProg2>0</RunUserProg2>
+ <UserProg1Name></UserProg1Name>
+ <UserProg2Name></UserProg2Name>
+ <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+ <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+ <nStopB1X>0</nStopB1X>
+ <nStopB2X>0</nStopB2X>
+ </BeforeMake>
+ <AfterMake>
+ <RunUserProg1>1</RunUserProg1>
+ <RunUserProg2>0</RunUserProg2>
+ <UserProg1Name>cmd.exe /C copy ARMv8MML_SP_LE\libRTX_V8MMF.a ..\.</UserProg1Name>
+ <UserProg2Name></UserProg2Name>
+ <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+ <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+ <nStopA1X>0</nStopA1X>
+ <nStopA2X>0</nStopA2X>
+ </AfterMake>
+ <SelectedForBatchBuild>0</SelectedForBatchBuild>
+ <SVCSIdString></SVCSIdString>
+ </TargetCommonOption>
+ <CommonProperty>
+ <UseCPPCompiler>0</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>1</IncludeInBuild>
+ <AlwaysBuild>0</AlwaysBuild>
+ <GenerateAssemblyFile>0</GenerateAssemblyFile>
+ <AssembleAssemblyFile>0</AssembleAssemblyFile>
+ <PublicsOnly>0</PublicsOnly>
+ <StopOnExitCode>3</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <DllOption>
+ <SimDllName></SimDllName>
+ <SimDllArguments></SimDllArguments>
+ <SimDlgDll></SimDlgDll>
+ <SimDlgDllArguments></SimDlgDllArguments>
+ <TargetDllName>SARMV8M.DLL</TargetDllName>
+ <TargetDllArguments> -MPU</TargetDllArguments>
+ <TargetDlgDll>TCM.DLL</TargetDlgDll>
+ <TargetDlgDllArguments>-pV8MML</TargetDlgDllArguments>
+ </DllOption>
+ <DebugOption>
+ <OPTHX>
+ <HexSelection>1</HexSelection>
+ <HexRangeLowAddress>0</HexRangeLowAddress>
+ <HexRangeHighAddress>0</HexRangeHighAddress>
+ <HexOffset>0</HexOffset>
+ <Oh166RecLen>16</Oh166RecLen>
+ </OPTHX>
+ </DebugOption>
+ <Utilities>
+ <Flash1>
+ <UseTargetDll>1</UseTargetDll>
+ <UseExternalTool>0</UseExternalTool>
+ <RunIndependent>0</RunIndependent>
+ <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
+ <Capability>0</Capability>
+ <DriverSelection>-1</DriverSelection>
+ </Flash1>
+ <bUseTDR>1</bUseTDR>
+ <Flash2>BIN\UL2V8M.DLL</Flash2>
+ <Flash3></Flash3>
+ <Flash4></Flash4>
+ <pFcarmOut></pFcarmOut>
+ <pFcarmGrp></pFcarmGrp>
+ <pFcArmRoot></pFcArmRoot>
+ <FcArmLst>0</FcArmLst>
+ </Utilities>
+ <TargetArm>
+ <ArmMisc>
+ <asLst>0</asLst>
+ <asHll>1</asHll>
+ <asAsm>1</asAsm>
+ <asMacX>1</asMacX>
+ <asSyms>1</asSyms>
+ <asFals>1</asFals>
+ <asDbgD>1</asDbgD>
+ <asForm>1</asForm>
+ <ldLst>0</ldLst>
+ <ldmm>1</ldmm>
+ <ldXref>1</ldXref>
+ <BigEnd>0</BigEnd>
+ <GCPUTYP>"ARMV8MML"</GCPUTYP>
+ <mOS>0</mOS>
+ <uocRom>0</uocRom>
+ <uocRam>0</uocRam>
+ <hadIROM>1</hadIROM>
+ <hadIRAM>1</hadIRAM>
+ <hadXRAM>0</hadXRAM>
+ <uocXRam>0</uocXRam>
+ <RvdsVP>2</RvdsVP>
+ <hadIRAM2>0</hadIRAM2>
+ <hadIROM2>0</hadIROM2>
+ <OnChipMemories>
+ <Ocm1>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm1>
+ <Ocm2>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm2>
+ <Ocm3>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm3>
+ <Ocm4>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm4>
+ <Ocm5>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm5>
+ <Ocm6>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm6>
+ <IRAM>
+ <Type>0</Type>
+ <StartAddress>0x20000000</StartAddress>
+ <Size>0x20000</Size>
+ </IRAM>
+ <IROM>
+ <Type>1</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x40000</Size>
+ </IROM>
+ <XRAM>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </XRAM>
+ <IRAM2>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </IRAM2>
+ <IROM2>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </IROM2>
+ </OnChipMemories>
+ </ArmMisc>
+ <Carm>
+ <arpcs>1</arpcs>
+ <stkchk>0</stkchk>
+ <reentr>0</reentr>
+ <interw>0</interw>
+ <bigend>0</bigend>
+ <Strict>0</Strict>
+ <Optim>5</Optim>
+ <wLevel>2</wLevel>
+ <uThumb>1</uThumb>
+ <VariousControls>
+ <MiscControls>-march=armv8-m.main -mfpu=fpv5-sp-d16 -mfloat-abi=hard -ffunction-sections</MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath>..\..\..\Include;..\..\..\..\Include</IncludePath>
+ </VariousControls>
+ </Carm>
+ <Aarm>
+ <bBE>0</bBE>
+ <interw>0</interw>
+ <VariousControls>
+ <MiscControls>-march=armv8-m.main -mfpu=fpv5-sp-d16 -mfloat-abi=hard</MiscControls>
+ <Define>__FPU_USED=1</Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ <LDarm>
+ <umfTarg>1</umfTarg>
+ <enaGarb>1</enaGarb>
+ <noStart>1</noStart>
+ <noStLib>0</noStLib>
+ <uMathLib>0</uMathLib>
+ <TextAddressRange></TextAddressRange>
+ <DataAddressRange></DataAddressRange>
+ <BSSAddressRange></BSSAddressRange>
+ <IncludeLibs></IncludeLibs>
+ <IncludeDir></IncludeDir>
+ <Misc></Misc>
+ <ScatterFile></ScatterFile>
+ </LDarm>
+ </TargetArm>
+ </TargetOption>
+ <Groups>
+ <Group>
+ <GroupName>Core</GroupName>
+ <Files>
+ <File>
+ <FileName>rtx_kernel.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_kernel.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_thread.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_thread.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_delay.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_delay.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_timer.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_timer.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_evflags.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_evflags.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_mutex.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_mutex.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_semaphore.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_semaphore.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_memory.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_memory.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_mempool.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_mempool.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_msgqueue.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_msgqueue.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_system.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_system.c</FilePath>
+ </File>
+ <File>
+ <FileName>user_svc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\user_svc.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>Handlers</GroupName>
+ <Files>
+ <File>
+ <FileName>irq_cm0.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_cm0.s</FilePath>
+ <FileOption>
+ <CommonProperty>
+ <UseCPPCompiler>2</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>0</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <FileArm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </FileArm>
+ </FileOption>
+ </File>
+ <File>
+ <FileName>irq_cm3.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_cm3.s</FilePath>
+ <FileOption>
+ <CommonProperty>
+ <UseCPPCompiler>2</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>0</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <FileArm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </FileArm>
+ </FileOption>
+ </File>
+ <File>
+ <FileName>irq_cm4f.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_cm4f.s</FilePath>
+ <FileOption>
+ <CommonProperty>
+ <UseCPPCompiler>2</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>0</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <FileArm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </FileArm>
+ </FileOption>
+ </File>
+ <File>
+ <FileName>irq_armv8mbl.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_armv8mbl.s</FilePath>
+ <FileOption>
+ <CommonProperty>
+ <UseCPPCompiler>2</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>0</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <FileArm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </FileArm>
+ </FileOption>
+ </File>
+ <File>
+ <FileName>irq_armv8mml.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_armv8mml.s</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>::CMSIS</GroupName>
+ <GroupOption>
+ <CommonProperty>
+ <UseCPPCompiler>0</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>1</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <GroupArm>
+ <Carm>
+ <arpcs>2</arpcs>
+ <stkchk>2</stkchk>
+ <reentr>2</reentr>
+ <interw>2</interw>
+ <bigend>2</bigend>
+ <Strict>0</Strict>
+ <Optim>0</Optim>
+ <wLevel>0</wLevel>
+ <uThumb>2</uThumb>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Carm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </GroupArm>
+ </GroupOption>
+ </Group>
+ </Groups>
+ </Target>
+ <Target>
+ <TargetName>ARMv8MML_SP_NS_LE</TargetName>
+ <ToolsetNumber>0x3</ToolsetNumber>
+ <ToolsetName>ARM-GNU</ToolsetName>
+ <pArmCC>6050000::V6.5::.\ARMCLANG_6.5</pArmCC>
+ <pCCUsed>6050000::V6.5::.\ARMCLANG_6.5</pCCUsed>
+ <TargetOption>
+ <TargetCommonOption>
+ <Device>ARMv8MML_SP</Device>
+ <Vendor>ARM</Vendor>
+ <PackID>ARM.CMSIS.5.0.0-Beta12</PackID>
+ <PackURL>http://www.keil.com/pack/</PackURL>
+ <Cpu>IRAM(0x20000000,0x00020000) IROM(0x00000000,0x00040000) CPUTYPE("ARMV8MML") FPU3(SFPU) CLOCK(12000000) ESEL ELITTLE</Cpu>
+ <FlashUtilSpec></FlashUtilSpec>
+ <StartupFile></StartupFile>
+ <FlashDriverDll>UL2V8M(-S0 -C0 -P0 -FD20000000 -FC1000)</FlashDriverDll>
+ <DeviceId>0</DeviceId>
+ <RegisterFile>$$Device:ARMv8MML_SP$Device\ARM\ARMv8MML\Include\ARMv8MML_SP.h</RegisterFile>
+ <MemoryEnv></MemoryEnv>
+ <Cmp></Cmp>
+ <Asm></Asm>
+ <Linker></Linker>
+ <OHString></OHString>
+ <InfinionOptionDll></InfinionOptionDll>
+ <SLE66CMisc></SLE66CMisc>
+ <SLE66AMisc></SLE66AMisc>
+ <SLE66LinkerMisc></SLE66LinkerMisc>
+ <SFDFile>$$Device:ARMv8MML_SP$Device\ARM\SVD\ARMv8MML.svd</SFDFile>
+ <bCustSvd>0</bCustSvd>
+ <UseEnv>0</UseEnv>
+ <BinPath></BinPath>
+ <IncludePath></IncludePath>
+ <LibPath></LibPath>
+ <RegisterFilePath></RegisterFilePath>
+ <DBRegisterFilePath></DBRegisterFilePath>
+ <TargetStatus>
+ <Error>0</Error>
+ <ExitCodeStop>0</ExitCodeStop>
+ <ButtonStop>0</ButtonStop>
+ <NotGenerated>0</NotGenerated>
+ <InvalidFlash>1</InvalidFlash>
+ </TargetStatus>
+ <OutputDirectory>.\ARMv8MML_SP_NS_LE\</OutputDirectory>
+ <OutputName>RTX_V8MMFN</OutputName>
+ <CreateExecutable>0</CreateExecutable>
+ <CreateLib>1</CreateLib>
+ <CreateHexFile>0</CreateHexFile>
+ <DebugInformation>1</DebugInformation>
+ <BrowseInformation>0</BrowseInformation>
+ <ListingPath>.\ARMv8MML_SP_NS_LE\</ListingPath>
+ <HexFormatSelection>1</HexFormatSelection>
+ <Merge32K>0</Merge32K>
+ <CreateBatchFile>0</CreateBatchFile>
+ <BeforeCompile>
+ <RunUserProg1>0</RunUserProg1>
+ <RunUserProg2>0</RunUserProg2>
+ <UserProg1Name></UserProg1Name>
+ <UserProg2Name></UserProg2Name>
+ <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+ <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+ <nStopU1X>0</nStopU1X>
+ <nStopU2X>0</nStopU2X>
+ </BeforeCompile>
+ <BeforeMake>
+ <RunUserProg1>0</RunUserProg1>
+ <RunUserProg2>0</RunUserProg2>
+ <UserProg1Name></UserProg1Name>
+ <UserProg2Name></UserProg2Name>
+ <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+ <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+ <nStopB1X>0</nStopB1X>
+ <nStopB2X>0</nStopB2X>
+ </BeforeMake>
+ <AfterMake>
+ <RunUserProg1>1</RunUserProg1>
+ <RunUserProg2>0</RunUserProg2>
+ <UserProg1Name>cmd.exe /C copy ARMv8MML_SP_NS_LE\libRTX_V8MMFN.a ..\.</UserProg1Name>
+ <UserProg2Name></UserProg2Name>
+ <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+ <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+ <nStopA1X>0</nStopA1X>
+ <nStopA2X>0</nStopA2X>
+ </AfterMake>
+ <SelectedForBatchBuild>0</SelectedForBatchBuild>
+ <SVCSIdString></SVCSIdString>
+ </TargetCommonOption>
+ <CommonProperty>
+ <UseCPPCompiler>0</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>1</IncludeInBuild>
+ <AlwaysBuild>0</AlwaysBuild>
+ <GenerateAssemblyFile>0</GenerateAssemblyFile>
+ <AssembleAssemblyFile>0</AssembleAssemblyFile>
+ <PublicsOnly>0</PublicsOnly>
+ <StopOnExitCode>3</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <DllOption>
+ <SimDllName></SimDllName>
+ <SimDllArguments></SimDllArguments>
+ <SimDlgDll></SimDlgDll>
+ <SimDlgDllArguments></SimDlgDllArguments>
+ <TargetDllName>SARMV8M.DLL</TargetDllName>
+ <TargetDllArguments> -MPU</TargetDllArguments>
+ <TargetDlgDll>TCM.DLL</TargetDlgDll>
+ <TargetDlgDllArguments>-pV8MML</TargetDlgDllArguments>
+ </DllOption>
+ <DebugOption>
+ <OPTHX>
+ <HexSelection>1</HexSelection>
+ <HexRangeLowAddress>0</HexRangeLowAddress>
+ <HexRangeHighAddress>0</HexRangeHighAddress>
+ <HexOffset>0</HexOffset>
+ <Oh166RecLen>16</Oh166RecLen>
+ </OPTHX>
+ </DebugOption>
+ <Utilities>
+ <Flash1>
+ <UseTargetDll>1</UseTargetDll>
+ <UseExternalTool>0</UseExternalTool>
+ <RunIndependent>0</RunIndependent>
+ <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
+ <Capability>0</Capability>
+ <DriverSelection>-1</DriverSelection>
+ </Flash1>
+ <bUseTDR>1</bUseTDR>
+ <Flash2>BIN\UL2V8M.DLL</Flash2>
+ <Flash3></Flash3>
+ <Flash4></Flash4>
+ <pFcarmOut></pFcarmOut>
+ <pFcarmGrp></pFcarmGrp>
+ <pFcArmRoot></pFcArmRoot>
+ <FcArmLst>0</FcArmLst>
+ </Utilities>
+ <TargetArm>
+ <ArmMisc>
+ <asLst>0</asLst>
+ <asHll>1</asHll>
+ <asAsm>1</asAsm>
+ <asMacX>1</asMacX>
+ <asSyms>1</asSyms>
+ <asFals>1</asFals>
+ <asDbgD>1</asDbgD>
+ <asForm>1</asForm>
+ <ldLst>0</ldLst>
+ <ldmm>1</ldmm>
+ <ldXref>1</ldXref>
+ <BigEnd>0</BigEnd>
+ <GCPUTYP>"ARMV8MML"</GCPUTYP>
+ <mOS>0</mOS>
+ <uocRom>0</uocRom>
+ <uocRam>0</uocRam>
+ <hadIROM>1</hadIROM>
+ <hadIRAM>1</hadIRAM>
+ <hadXRAM>0</hadXRAM>
+ <uocXRam>0</uocXRam>
+ <RvdsVP>2</RvdsVP>
+ <hadIRAM2>0</hadIRAM2>
+ <hadIROM2>0</hadIROM2>
+ <OnChipMemories>
+ <Ocm1>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm1>
+ <Ocm2>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm2>
+ <Ocm3>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm3>
+ <Ocm4>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm4>
+ <Ocm5>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm5>
+ <Ocm6>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </Ocm6>
+ <IRAM>
+ <Type>0</Type>
+ <StartAddress>0x20000000</StartAddress>
+ <Size>0x20000</Size>
+ </IRAM>
+ <IROM>
+ <Type>1</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x40000</Size>
+ </IROM>
+ <XRAM>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </XRAM>
+ <IRAM2>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </IRAM2>
+ <IROM2>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </IROM2>
+ </OnChipMemories>
+ </ArmMisc>
+ <Carm>
+ <arpcs>1</arpcs>
+ <stkchk>0</stkchk>
+ <reentr>0</reentr>
+ <interw>0</interw>
+ <bigend>0</bigend>
+ <Strict>0</Strict>
+ <Optim>5</Optim>
+ <wLevel>2</wLevel>
+ <uThumb>1</uThumb>
+ <VariousControls>
+ <MiscControls>-march=armv8-m.main -mfpu=fpv5-sp-d16 -mfloat-abi=hard -ffunction-sections</MiscControls>
+ <Define>__DOMAIN_NS=1U</Define>
+ <Undefine></Undefine>
+ <IncludePath>..\..\..\Include;..\..\..\..\Include</IncludePath>
+ </VariousControls>
+ </Carm>
+ <Aarm>
+ <bBE>0</bBE>
+ <interw>0</interw>
+ <VariousControls>
+ <MiscControls>-march=armv8-m.main -mfpu=fpv5-sp-d16 -mfloat-abi=hard</MiscControls>
+ <Define>__FPU_USED=1 __DOMAIN_NS=1</Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ <LDarm>
+ <umfTarg>1</umfTarg>
+ <enaGarb>1</enaGarb>
+ <noStart>1</noStart>
+ <noStLib>0</noStLib>
+ <uMathLib>0</uMathLib>
+ <TextAddressRange></TextAddressRange>
+ <DataAddressRange></DataAddressRange>
+ <BSSAddressRange></BSSAddressRange>
+ <IncludeLibs></IncludeLibs>
+ <IncludeDir></IncludeDir>
+ <Misc></Misc>
+ <ScatterFile></ScatterFile>
+ </LDarm>
+ </TargetArm>
+ </TargetOption>
+ <Groups>
+ <Group>
+ <GroupName>Core</GroupName>
+ <Files>
+ <File>
+ <FileName>rtx_kernel.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_kernel.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_thread.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_thread.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_delay.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_delay.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_timer.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_timer.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_evflags.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_evflags.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_mutex.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_mutex.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_semaphore.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_semaphore.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_memory.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_memory.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_mempool.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_mempool.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_msgqueue.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_msgqueue.c</FilePath>
+ </File>
+ <File>
+ <FileName>rtx_system.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\rtx_system.c</FilePath>
+ </File>
+ <File>
+ <FileName>user_svc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\Source\user_svc.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>Handlers</GroupName>
+ <Files>
+ <File>
+ <FileName>irq_cm0.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_cm0.s</FilePath>
+ <FileOption>
+ <CommonProperty>
+ <UseCPPCompiler>2</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>0</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <FileArm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </FileArm>
+ </FileOption>
+ </File>
+ <File>
+ <FileName>irq_cm3.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_cm3.s</FilePath>
+ <FileOption>
+ <CommonProperty>
+ <UseCPPCompiler>2</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>0</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <FileArm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </FileArm>
+ </FileOption>
+ </File>
+ <File>
+ <FileName>irq_cm4f.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_cm4f.s</FilePath>
+ <FileOption>
+ <CommonProperty>
+ <UseCPPCompiler>2</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>0</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <FileArm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </FileArm>
+ </FileOption>
+ </File>
+ <File>
+ <FileName>irq_armv8mbl.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_armv8mbl.s</FilePath>
+ <FileOption>
+ <CommonProperty>
+ <UseCPPCompiler>2</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>0</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <FileArm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </FileArm>
+ </FileOption>
+ </File>
+ <File>
+ <FileName>irq_armv8mml.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\Source\GCC\irq_armv8mml.s</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>::CMSIS</GroupName>
+ <GroupOption>
+ <CommonProperty>
+ <UseCPPCompiler>0</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>1</IncludeInBuild>
+ <AlwaysBuild>2</AlwaysBuild>
+ <GenerateAssemblyFile>2</GenerateAssemblyFile>
+ <AssembleAssemblyFile>2</AssembleAssemblyFile>
+ <PublicsOnly>2</PublicsOnly>
+ <StopOnExitCode>11</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>1</ComprImg>
+ </CommonProperty>
+ <GroupArm>
+ <Carm>
+ <arpcs>2</arpcs>
+ <stkchk>2</stkchk>
+ <reentr>2</reentr>
+ <interw>2</interw>
+ <bigend>2</bigend>
+ <Strict>0</Strict>
+ <Optim>0</Optim>
+ <wLevel>0</wLevel>
+ <uThumb>2</uThumb>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Carm>
+ <Aarm>
+ <bBE>2</bBE>
+ <interw>2</interw>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aarm>
+ </GroupArm>
+ </GroupOption>
+ </Group>
+ </Groups>
+ </Target>
</Targets>
<RTE>
@@ -1309,6 +4717,12 @@
<component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="5.0.0" condition="Cortex-M ARMv8-M Device">
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.0.0-Beta4"/>
<targetInfos>
+ <targetInfo name="ARMv8MBL_LE"/>
+ <targetInfo name="ARMv8MBL_NS_LE"/>
+ <targetInfo name="ARMv8MML_LE"/>
+ <targetInfo name="ARMv8MML_NS_LE"/>
+ <targetInfo name="ARMv8MML_SP_LE"/>
+ <targetInfo name="ARMv8MML_SP_NS_LE"/>
<targetInfo name="CM0_LE"/>
<targetInfo name="CM3_LE"/>
<targetInfo name="CM4F_LE"/>
diff --git a/CMSIS/RTOS2/RTX/Library/GCC/libRTX_CM0.a b/CMSIS/RTOS2/RTX/Library/GCC/libRTX_CM0.a
index e71f188..26497c0 100644
--- a/CMSIS/RTOS2/RTX/Library/GCC/libRTX_CM0.a
+++ b/CMSIS/RTOS2/RTX/Library/GCC/libRTX_CM0.a
Binary files differ
diff --git a/CMSIS/RTOS2/RTX/Library/GCC/libRTX_CM3.a b/CMSIS/RTOS2/RTX/Library/GCC/libRTX_CM3.a
index e17eaf2..930aea5 100644
--- a/CMSIS/RTOS2/RTX/Library/GCC/libRTX_CM3.a
+++ b/CMSIS/RTOS2/RTX/Library/GCC/libRTX_CM3.a
Binary files differ
diff --git a/CMSIS/RTOS2/RTX/Library/GCC/libRTX_CM4F.a b/CMSIS/RTOS2/RTX/Library/GCC/libRTX_CM4F.a
index 54d6b5f..2d94017 100644
--- a/CMSIS/RTOS2/RTX/Library/GCC/libRTX_CM4F.a
+++ b/CMSIS/RTOS2/RTX/Library/GCC/libRTX_CM4F.a
Binary files differ
diff --git a/CMSIS/RTOS2/RTX/Library/GCC/libRTX_V8MB.a b/CMSIS/RTOS2/RTX/Library/GCC/libRTX_V8MB.a
new file mode 100644
index 0000000..fb38e2b
--- /dev/null
+++ b/CMSIS/RTOS2/RTX/Library/GCC/libRTX_V8MB.a
Binary files differ
diff --git a/CMSIS/RTOS2/RTX/Library/GCC/libRTX_V8MBN.a b/CMSIS/RTOS2/RTX/Library/GCC/libRTX_V8MBN.a
new file mode 100644
index 0000000..aa295ab
--- /dev/null
+++ b/CMSIS/RTOS2/RTX/Library/GCC/libRTX_V8MBN.a
Binary files differ
diff --git a/CMSIS/RTOS2/RTX/Library/GCC/libRTX_V8MM.a b/CMSIS/RTOS2/RTX/Library/GCC/libRTX_V8MM.a
new file mode 100644
index 0000000..5f4dc78
--- /dev/null
+++ b/CMSIS/RTOS2/RTX/Library/GCC/libRTX_V8MM.a
Binary files differ
diff --git a/CMSIS/RTOS2/RTX/Library/GCC/libRTX_V8MMF.a b/CMSIS/RTOS2/RTX/Library/GCC/libRTX_V8MMF.a
new file mode 100644
index 0000000..c5e0192
--- /dev/null
+++ b/CMSIS/RTOS2/RTX/Library/GCC/libRTX_V8MMF.a
Binary files differ
diff --git a/CMSIS/RTOS2/RTX/Library/GCC/libRTX_V8MMFN.a b/CMSIS/RTOS2/RTX/Library/GCC/libRTX_V8MMFN.a
new file mode 100644
index 0000000..f962b2e
--- /dev/null
+++ b/CMSIS/RTOS2/RTX/Library/GCC/libRTX_V8MMFN.a
Binary files differ
diff --git a/CMSIS/RTOS2/RTX/Library/GCC/libRTX_V8MMN.a b/CMSIS/RTOS2/RTX/Library/GCC/libRTX_V8MMN.a
new file mode 100644
index 0000000..380a66e
--- /dev/null
+++ b/CMSIS/RTOS2/RTX/Library/GCC/libRTX_V8MMN.a
Binary files differ
diff --git a/CMSIS/RTOS2/RTX/Source/ARM/irq_armv8mbl.s b/CMSIS/RTOS2/RTX/Source/ARM/irq_armv8mbl.s
index d0919d4..8190ee6 100644
--- a/CMSIS/RTOS2/RTX/Source/ARM/irq_armv8mbl.s
+++ b/CMSIS/RTOS2/RTX/Source/ARM/irq_armv8mbl.s
@@ -96,6 +96,15 @@
STR R2,[R3] ; os_Info.thread.run: curr = next
SVC_ContextRestore
+ IF __DOMAIN_NS = 1
+ LDR R0,[R2,#TCB_TZM_OFS] ; Load TrustZone memory identifier
+ CBZ R0,SVC_ContextRestore1 ; Branch if there is no secure context
+ PUSH {R2,R3} ; Save registers
+ BL TZ_LoadContext_S ; Load secure context
+ POP {R2,R3} ; Restore registers
+ ENDIF
+
+SVC_ContextRestore1
MOV R1,R2
ADDS R1,R1,#TCB_SF_OFS ; Adjust address
LDRB R0,[R1] ; Load stack frame information
@@ -104,11 +113,18 @@
ORRS R0,R1
MOV LR,R0 ; Set EXC_RETURN
- IF __DOMAIN_NS = 0
+ IF __DOMAIN_NS = 1
+ LSLS R0,R0,#25 ; Check domain of interrupted thread
+ BPL SVC_ContextRestore2 ; Branch if non-secure
+ LDR R0,[R2,#TCB_SP_OFS] ; Load SP
+ MSR PSP,R0 ; Set PSP
+ BX LR ; Exit from handler
+ ELSE
LDR R0,[R2,#TCB_SM_OFS] ; Load stack memory base
MSR PSPLIM,R0 ; Set PSPLIM
ENDIF
+SVC_ContextRestore2
LDR R0,[R2,#TCB_SP_OFS] ; Load SP
ADDS R0,R0,#16 ; Adjust address
LDMIA R0!,{R4-R7} ; Restore R8..R11
@@ -120,14 +136,6 @@
SUBS R0,R0,#32 ; Adjust address
LDMIA R0!,{R4-R7} ; Restore R4..R7
- IF __DOMAIN_NS = 1
- LDR R0,[R2,#TCB_TZM_OFS] ; Load TrustZone memory identifier
- CBZ R0,SVC_Exit ; Branch if there is no secure context
- PUSH {R4,LR} ; Save EXC_RETURN
- BL TZ_LoadContext_S ; Load secure context
- POP {R4,PC} ; Exit from handler
- ENDIF
-
SVC_Exit
BX LR ; Exit from handler
@@ -158,7 +166,7 @@
IMPORT os_PendSV_Handler
PUSH {R0,LR} ; Save EXC_RETURN
- BL os_PendSV_Handler
+ BL os_PendSV_Handler ; Call os_PendSV_Handler
POP {R0,R1} ; Restore EXC_RETURN
MOV LR,R1 ; Set EXC_RETURN
B Sys_Context
@@ -231,6 +239,15 @@
STR R2,[R3] ; os_Info.run: curr = next
Sys_ContextRestore
+ IF __DOMAIN_NS = 1
+ LDR R0,[R2,#TCB_TZM_OFS] ; Load TrustZone memory identifier
+ CBZ R0,Sys_ContextRestore1 ; Branch if there is no secure context
+ PUSH {R2,R3} ; Save registers
+ BL TZ_LoadContext_S ; Load secure context
+ POP {R2,R3} ; Restore registers
+ ENDIF
+
+Sys_ContextRestore1
MOV R1,R2
ADDS R1,R1,#TCB_SF_OFS ; Adjust offset
LDRB R0,[R1] ; Load stack frame information
@@ -239,11 +256,18 @@
ORRS R0,R1
MOV LR,R0 ; Set EXC_RETURN
- IF __DOMAIN_NS = 0
+ IF __DOMAIN_NS = 1
+ LSLS R0,R0,#25 ; Check domain of interrupted thread
+ BPL Sys_ContextRestore2 ; Branch if non-secure
+ LDR R0,[R2,#TCB_SP_OFS] ; Load SP
+ MSR PSP,R0 ; Set PSP
+ BX LR ; Exit from handler
+ ELSE
LDR R0,[R2,#TCB_SM_OFS] ; Load stack memory base
MSR PSPLIM,R0 ; Set PSPLIM
ENDIF
+Sys_ContextRestore2
LDR R0,[R2,#TCB_SP_OFS] ; Load SP
ADDS R0,R0,#16 ; Adjust address
LDMIA R0!,{R4-R7} ; Restore R8..R11
@@ -255,14 +279,6 @@
SUBS R0,R0,#32 ; Adjust address
LDMIA R0!,{R4-R7} ; Restore R4..R7
- IF __DOMAIN_NS = 1
- LDR R0,[R2,#TCB_TZM_OFS] ; Load TrustZone memory identifier
- CBZ R0,Sys_ContextExit ; Branch if there is no secure context
- PUSH {R4,LR} ; Save EXC_RETURN
- BL TZ_LoadContext_S ; Load secure context
- POP {R4,PC} ; Exit from handler
- ENDIF
-
Sys_ContextExit
BX LR ; Exit from handler
diff --git a/CMSIS/RTOS2/RTX/Source/ARM/irq_armv8mml.s b/CMSIS/RTOS2/RTX/Source/ARM/irq_armv8mml.s
index 4bc0ab9..c527968 100644
--- a/CMSIS/RTOS2/RTX/Source/ARM/irq_armv8mml.s
+++ b/CMSIS/RTOS2/RTX/Source/ARM/irq_armv8mml.s
@@ -103,26 +103,34 @@
STR R2,[R3] ; os_Info.thread.run: curr = next
SVC_ContextRestore
+ IF __DOMAIN_NS = 1
+ LDR R0,[R2,#TCB_TZM_OFS] ; Load TrustZone memory identifier
+ CBZ R0,SVC_ContextRestore1 ; Branch if there is no secure context
+ PUSH {R2,R3} ; Save registers
+ BL TZ_LoadContext_S ; Load secure context
+ POP {R2,R3} ; Restore registers
+ ENDIF
+
+SVC_ContextRestore1
LDR R0,[R2,#TCB_SM_OFS] ; Load stack memory base
LDRB R1,[R2,#TCB_SF_OFS] ; Load stack frame information
MSR PSPLIM,R0 ; Set PSPLIM
LDR R0,[R2,#TCB_SP_OFS] ; Load SP
ORR LR,R1,#0xFFFFFF00 ; Set EXC_RETURN
+ IF __DOMAIN_NS = 1
+ TST LR,#0x40 ; Check domain of interrupted thread
+ BNE SVC_ContextRestore2 ; Branch if secure
+ ENDIF
+
IF __FPU_USED = 1
TST LR,#0x10 ; Check if extended stack frame
VLDMIAEQ R0!,{S16-S31} ; Restore VFP S16..S31
ENDIF
LDMIA R0!,{R4-R11} ; Restore R4..R11
- MSR PSP,R0 ; Set PSP
- IF __DOMAIN_NS = 1
- LDR R0,[R2,#TCB_TZM_OFS] ; Load TrustZone memory identifier
- CBZ R0,SVC_Exit ; Branch if there is no secure context
- PUSH {R4,LR} ; Save EXC_RETURN
- BL TZ_LoadContext_S ; Load secure context
- POP {R4,PC} ; Exit from handler
- ENDIF
+SVC_ContextRestore2
+ MSR PSP,R0 ; Set PSP
SVC_Exit
BX LR ; Exit from handler
@@ -153,7 +161,7 @@
IMPORT os_PendSV_Handler
PUSH {R4,LR} ; Save EXC_RETURN
- BL os_PendSV_Handler
+ BL os_PendSV_Handler ; Call os_PendSV_Handler
POP {R4,LR} ; Restore EXC_RETURN
B Sys_Context
@@ -215,26 +223,34 @@
STR R2,[R3] ; os_Info.run: curr = next
Sys_ContextRestore
+ IF __DOMAIN_NS = 1
+ LDR R0,[R2,#TCB_TZM_OFS] ; Load TrustZone memory identifier
+ CBZ R0,Sys_ContextRestore1 ; Branch if there is no secure context
+ PUSH {R2,R3} ; Save registers
+ BL TZ_LoadContext_S ; Load secure context
+ POP {R2,R3} ; Restore registers
+ ENDIF
+
+Sys_ContextRestore1
LDR R0,[R2,#TCB_SM_OFS] ; Load stack memory base
LDRB R1,[R2,#TCB_SF_OFS] ; Load stack frame information
MSR PSPLIM,R0 ; Set PSPLIM
LDR R0,[R2,#TCB_SP_OFS] ; Load SP
ORR LR,R1,#0xFFFFFF00 ; Set EXC_RETURN
+ IF __DOMAIN_NS = 1
+ TST LR,#0x40 ; Check domain of interrupted thread
+ BNE Sys_ContextRestore2 ; Branch if secure
+ ENDIF
+
IF __FPU_USED = 1
TST LR,#0x10 ; Check if extended stack frame
VLDMIAEQ R0!,{S16-S31} ; Restore VFP S16..S31
ENDIF
LDMIA R0!,{R4-R11} ; Restore R4..R11
- MSR PSP,R0 ; Set PSP
- IF __DOMAIN_NS = 1
- LDR R0,[R2,#TCB_TZM_OFS] ; Load TrustZone memory identifier
- CBZ R0,Sys_ContextExit ; Branch if there is no secure context
- PUSH {R4,LR} ; Save EXC_RETURN
- BL TZ_LoadContext_S ; Load secure context
- POP {R4,PC} ; Exit from handler
- ENDIF
+Sys_ContextRestore2
+ MSR PSP,R0 ; Set PSP
Sys_ContextExit
BX LR ; Exit from handler
diff --git a/CMSIS/RTOS2/RTX/Source/GCC/irq_armv8mbl.s b/CMSIS/RTOS2/RTX/Source/GCC/irq_armv8mbl.s
new file mode 100644
index 0000000..633499f
--- /dev/null
+++ b/CMSIS/RTOS2/RTX/Source/GCC/irq_armv8mbl.s
@@ -0,0 +1,295 @@
+;/*
+; * Copyright (c) 2016 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
+; *
+; * http://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.
+; *
+; * -----------------------------------------------------------------------------
+; *
+; * Project: CMSIS-RTOS RTX
+; * Title: ARMv8M Baseline Exception handlers
+; *
+; * -----------------------------------------------------------------------------
+; */
+
+
+ .file "irq_armv8mbl.s"
+ .syntax unified
+
+ .ifndef __DOMAIN_NS
+ .equ __DOMAIN_NS, 0
+ .endif
+
+
+ .equ I_T_RUN_OFS, 28 // osInfo.thread.run offset
+ .equ TCB_SM_OFS, 48 // TCB.stack_mem offset
+ .equ TCB_SP_OFS, 56 // TCB.SP offset
+ .equ TCB_SF_OFS, 34 // TCB.stack_frame offset
+ .equ TCB_TZM_OFS, 60 // TCB.tz_memory offset
+
+ .section ".rodata"
+ .global os_irq_cm // Non weak library reference
+os_irq_cm:
+ .byte 0
+
+
+ .thumb
+ .section ".text"
+ .align 2
+
+
+ .thumb_func
+ .type SVC_Handler, %function
+ .global SVC_Handler
+ .fnstart
+ .cantunwind
+SVC_Handler:
+
+ MRS R0,PSP // Get PSP
+ LDR R1,[R0,#24] // Load saved PC from stack
+ SUBS R1,R1,#2 // Point to SVC instruction
+ LDRB R1,[R1] // Load SVC number
+ CBNZ R1,SVC_User // Branch if not SVC 0
+
+ PUSH {R0,LR} // Save PSP and EXC_RETURN
+ LDM R0,{R0-R3} // Load function parameters from stack
+ BLX R7 // Call service function
+ POP {R1,R2} // Restore PSP and EXC_RETURN
+ STR R0,[R1] // Store function return value
+ MOV R0,R1 // Save PSP
+ MOV LR,R2 // Set EXC_RETURN
+
+SVC_Context:
+ LDR R3,=os_Info+I_T_RUN_OFS// Load address of os_Info.run
+ LDMIA R3!,{R1,R2} // Load os_Info.thread.run: curr & next
+ CMP R1,R2 // Check if thread switch is required
+ BEQ SVC_Exit // Branch when threads are the same
+
+ CBZ R1,SVC_ContextSwitch // Branch if running thread is deleted
+
+SVC_ContextSave:
+ SUBS R0,R0,#32 // Adjust PSP
+ STR R0,[R1,#TCB_SP_OFS] // Store SP
+ STMIA R0!,{R4-R7} // Save R4..R7
+ MOV R4,R8
+ MOV R5,R9
+ MOV R6,R10
+ MOV R7,R11
+ STMIA R0!,{R4-R7} // Save R8..R11
+
+ MOV R0,LR // Get EXC_RETURN
+ ADDS R1,R1,#TCB_SF_OFS // Adjust address
+ STRB R0,[R1] // Store stack frame information
+
+SVC_ContextSwitch:
+ SUBS R3,R3,#8 // Adjust address
+ STR R2,[R3] // os_Info.thread.run: curr = next
+
+SVC_ContextRestore:
+ .if __DOMAIN_NS == 1
+ LDR R0,[R2,#TCB_TZM_OFS] // Load TrustZone memory identifier
+ CBZ R0,SVC_ContextRestore1 // Branch if there is no secure context
+ PUSH {R2,R3} // Save registers
+ BL TZ_LoadContext_S // Load secure context
+ POP {R2,R3} // Restore registers
+ .endif
+
+SVC_ContextRestore1:
+ MOV R1,R2
+ ADDS R1,R1,#TCB_SF_OFS // Adjust address
+ LDRB R0,[R1] // Load stack frame information
+ MOVS R1,#0xFF
+ MVNS R1,R1 // R1=0xFFFFFF00
+ ORRS R0,R1
+ MOV LR,R0 // Set EXC_RETURN
+
+ .if __DOMAIN_NS == 1
+ LSLS R0,R0,#25 // Check domain of interrupted thread
+ BPL SVC_ContextRestore2 // Branch if non-secure
+ LDR R0,[R2,#TCB_SP_OFS] // Load SP
+ MSR PSP,R0 // Set PSP
+ BX LR // Exit from handler
+ .else
+ LDR R0,[R2,#TCB_SM_OFS] // Load stack memory base
+// MSR PSPLIM,R0 // Set PSPLIM
+ .endif
+
+SVC_ContextRestore2:
+ LDR R0,[R2,#TCB_SP_OFS] // Load SP
+ ADDS R0,R0,#16 // Adjust address
+ LDMIA R0!,{R4-R7} // Restore R8..R11
+ MOV R8,R4
+ MOV R9,R5
+ MOV R10,R6
+ MOV R11,R7
+ MSR PSP,R0 // Set PSP
+ SUBS R0,R0,#32 // Adjust address
+ LDMIA R0!,{R4-R7} // Restore R4..R7
+
+SVC_Exit:
+ BX LR // Exit from handler
+
+SVC_User:
+ PUSH {R4,LR} // Save registers
+ LDR R2,=os_UserSVC_Table // Load address of SVC table
+ LDR R3,[R2] // Load SVC maximum number
+ CMP R1,R3 // Check SVC number range
+ BHI SVC_Done // Branch if out of range
+
+ LSLS R1,R1,#2
+ LDR R4,[R2,R1] // Load address of SVC function
+
+ LDM R0,{R0-R3} // Load function parameters from stack
+ BLX R4 // Call service function
+ MRS R4,PSP // Get PSP
+ STR R0,[R4] // Store function return value
+
+SVC_Done:
+ POP {R4,PC} // Return from handler
+
+ .fnend
+ .size SVC_Handler, .-SVC_Handler
+
+
+ .thumb_func
+ .type PendSV_Handler, %function
+ .global PendSV_Handler
+ .fnstart
+ .cantunwind
+PendSV_Handler:
+
+ PUSH {R0,LR} // Save EXC_RETURN
+ BL os_PendSV_Handler // Call os_PendSV_Handler
+ POP {R0,R1} // Restore EXC_RETURN
+ MOV LR,R1 // Set EXC_RETURN
+ B Sys_Context
+
+ .fnend
+ .size PendSV_Handler, .-PendSV_Handler
+
+
+ .thumb_func
+ .type SysTick_Handler, %function
+ .global SysTick_Handler
+ .fnstart
+ .cantunwind
+SysTick_Handler:
+
+ PUSH {R0,LR} // Save EXC_RETURN
+ BL os_Tick_Handler // Call os_Tick_Handler
+ POP {R0,R1} // Restore EXC_RETURN
+ MOV LR,R1 // Set EXC_RETURN
+ B Sys_Context
+
+ .fnend
+ .size SysTick_Handler, .-SysTick_Handler
+
+
+ .thumb_func
+ .type Sys_Context, %function
+ .global Sys_Context
+ .fnstart
+ .cantunwind
+Sys_Context:
+
+ LDR R3,=os_Info+I_T_RUN_OFS// Load address of os_Info.run
+ LDM R3!,{R1,R2} // Load os_Info.thread.run: curr & next
+ CMP R1,R2 // Check if thread switch is required
+ BEQ Sys_ContextExit // Branch when threads are the same
+
+Sys_ContextSave:
+ .if __DOMAIN_NS == 1
+ MOV R0,LR // Get EXC_RETURN
+ LSLS R0,R0,#25 // Check domain of interrupted thread
+ BPL Sys_ContextSave1 // Branch if non-secure
+ MOV R0,LR // Get EXC_RETURN
+ PUSH {R0,R1,R2,R3} // Save registers
+ LDR R0,[R1,#TCB_TZM_OFS] // Load TrustZone memory identifier
+ BL TZ_StoreContext_S // Store secure context
+ POP {R0,R1,R2,R3} // Restore registers
+ MOV LR,R0 // Set EXC_RETURN
+ MRS R0,PSP // Get PSP
+ STR R0,[R1,#TCB_SP_OFS] // Store SP
+ B Sys_ContextSave2
+ .endif
+
+Sys_ContextSave1:
+ MRS R0,PSP // Get PSP
+ SUBS R0,R0,#32 // Adjust address
+ STR R0,[R1,#TCB_SP_OFS] // Store SP
+ STMIA R0!,{R4-R7} // Save R4..R7
+ MOV R4,R8
+ MOV R5,R9
+ MOV R6,R10
+ MOV R7,R11
+ STMIA R0!,{R4-R7} // Save R8..R11
+
+Sys_ContextSave2:
+ MOV R0,LR // Get EXC_RETURN
+ ADDS R1,R1,#TCB_SF_OFS // Adjust address
+ STRB R0,[R1] // Store stack frame information
+
+Sys_ContextSwitch:
+ SUBS R3,R3,#8 // Adjust address
+ STR R2,[R3] // os_Info.run: curr = next
+
+Sys_ContextRestore:
+ .if __DOMAIN_NS == 1
+ LDR R0,[R2,#TCB_TZM_OFS] // Load TrustZone memory identifier
+ CBZ R0,Sys_ContextRestore1 // Branch if there is no secure context
+ PUSH {R2,R3} // Save registers
+ BL TZ_LoadContext_S // Load secure context
+ POP {R2,R3} // Restore registers
+ .endif
+
+Sys_ContextRestore1:
+ MOV R1,R2
+ ADDS R1,R1,#TCB_SF_OFS // Adjust offset
+ LDRB R0,[R1] // Load stack frame information
+ MOVS R1,#0xFF
+ MVNS R1,R1 // R1=0xFFFFFF00
+ ORRS R0,R1
+ MOV LR,R0 // Set EXC_RETURN
+
+ .if __DOMAIN_NS == 1
+ LSLS R0,R0,#25 // Check domain of interrupted thread
+ BPL Sys_ContextRestore2 // Branch if non-secure
+ LDR R0,[R2,#TCB_SP_OFS] // Load SP
+ MSR PSP,R0 // Set PSP
+ BX LR // Exit from handler
+ .else
+ LDR R0,[R2,#TCB_SM_OFS] // Load stack memory base
+// MSR PSPLIM,R0 // Set PSPLIM
+ .endif
+
+Sys_ContextRestore2:
+ LDR R0,[R2,#TCB_SP_OFS] // Load SP
+ ADDS R0,R0,#16 // Adjust address
+ LDMIA R0!,{R4-R7} // Restore R8..R11
+ MOV R8,R4
+ MOV R9,R5
+ MOV R10,R6
+ MOV R11,R7
+ MSR PSP,R0 // Set PSP
+ SUBS R0,R0,#32 // Adjust address
+ LDMIA R0!,{R4-R7} // Restore R4..R7
+
+Sys_ContextExit:
+ BX LR // Exit from handler
+
+ .fnend
+ .size Sys_Context, .-Sys_Context
+
+
+ .end
diff --git a/CMSIS/RTOS2/RTX/Source/GCC/irq_armv8mml.s b/CMSIS/RTOS2/RTX/Source/GCC/irq_armv8mml.s
new file mode 100644
index 0000000..beafcef
--- /dev/null
+++ b/CMSIS/RTOS2/RTX/Source/GCC/irq_armv8mml.s
@@ -0,0 +1,274 @@
+/*
+ * Copyright (c) 2016 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
+ *
+ * http://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.
+ *
+ * -----------------------------------------------------------------------------
+ *
+ * Project: CMSIS-RTOS RTX
+ * Title: ARMv8M Mainline Exception handlers
+ *
+ * -----------------------------------------------------------------------------
+ */
+
+
+ .file "irq_armv8mml.s"
+ .syntax unified
+
+ .ifndef __FPU_USED
+ .equ __FPU_USED, 0
+ .endif
+
+ .ifndef __DOMAIN_NS
+ .equ __DOMAIN_NS, 0
+ .endif
+
+
+ .equ I_T_RUN_OFS, 28 // osInfo.thread.run offset
+ .equ TCB_SM_OFS, 48 // TCB.stack_mem offset
+ .equ TCB_SP_OFS, 56 // TCB.SP offset
+ .equ TCB_SF_OFS, 34 // TCB.stack_frame offset
+ .equ TCB_TZM_OFS, 60 // TCB.tz_memory offset
+
+ .section ".rodata"
+ .global os_irq_cm // Non weak library reference
+os_irq_cm:
+ .byte 0
+
+
+ .thumb
+ .section ".text"
+ .align 2
+
+
+ .thumb_func
+ .type SVC_Handler, %function
+ .global SVC_Handler
+ .fnstart
+ .cantunwind
+SVC_Handler:
+
+ MRS R0,PSP // Get PSP
+ LDR R1,[R0,#24] // Load saved PC from stack
+ LDRB R1,[R1,#-2] // Load SVC number
+ CBNZ R1,SVC_User // Branch if not SVC 0
+
+ PUSH {R0,LR} // Save PSP and EXC_RETURN
+ LDM R0,{R0-R3,R12} // Load function parameters and address from stack
+ BLX R12 // Call service function
+ POP {R12,LR} // Restore PSP and EXC_RETURN
+ STR R0,[R12] // Store function return value
+
+SVC_Context:
+ LDR R3,=os_Info+I_T_RUN_OFS// Load address of os_Info.run
+ LDM R3,{R1,R2} // Load os_Info.thread.run: curr & next
+ CMP R1,R2 // Check if thread switch is required
+ IT EQ
+ BXEQ LR // Exit when threads are the same
+
+ .if __FPU_USED == 1
+ CBNZ R1,SVC_ContextSave // Branch if running thread is not deleted
+ TST LR,#0x10 // Check if extended stack frame
+ BNE SVC_ContextSwitch
+ LDR R1,=0xE000EF34 // FPCCR Address
+ LDR R0,[R1] // Load FPCCR
+ BIC R0,#1 // Clear LSPACT (Lazy state)
+ STR R0,[R1] // Store FPCCR
+ B SVC_ContextSwitch
+ .else
+ CBZ R1,SVC_ContextSwitch // Branch if running thread is deleted
+ .endif
+
+SVC_ContextSave:
+ STMDB R12!,{R4-R11} // Save R4..R11
+ .if __FPU_USED == 1
+ TST LR,#0x10 // Check if extended stack frame
+ IT EQ
+ VSTMDBEQ R12!,{S16-S31} // Save VFP S16.S31
+ .endif
+
+ STR R12,[R1,#TCB_SP_OFS] // Store SP
+ STRB LR, [R1,#TCB_SF_OFS] // Store stack frame information
+
+SVC_ContextSwitch:
+ STR R2,[R3] // os_Info.thread.run: curr = next
+
+SVC_ContextRestore:
+ .if __DOMAIN_NS == 1
+ LDR R0,[R2,#TCB_TZM_OFS] // Load TrustZone memory identifier
+ CBZ R0,SVC_ContextRestore1 // Branch if there is no secure context
+ PUSH {R2,R3} // Save registers
+ BL TZ_LoadContext_S // Load secure context
+ POP {R2,R3} // Restore registers
+ .endif
+
+SVC_ContextRestore1:
+ LDR R0,[R2,#TCB_SM_OFS] // Load stack memory base
+ LDRB R1,[R2,#TCB_SF_OFS] // Load stack frame information
+// MSR PSPLIM,R0 // Set PSPLIM
+ LDR R0,[R2,#TCB_SP_OFS] // Load SP
+ ORR LR,R1,#0xFFFFFF00 // Set EXC_RETURN
+
+ .if __DOMAIN_NS == 1
+ TST LR,#0x40 // Check domain of interrupted thread
+ BNE SVC_ContextRestore2 // Branch if secure
+ .endif
+
+ .if __FPU_USED == 1
+ TST LR,#0x10 // Check if extended stack frame
+ IT EQ
+ VLDMIAEQ R0!,{S16-S31} // Restore VFP S16..S31
+ .endif
+ LDMIA R0!,{R4-R11} // Restore R4..R11
+
+SVC_ContextRestore2:
+ MSR PSP,R0 // Set PSP
+
+SVC_Exit:
+ BX LR // Exit from handler
+
+SVC_User:
+ PUSH {R4,LR} // Save registers
+ LDR R2,=os_UserSVC_Table // Load address of SVC table
+ LDR R3,[R2] // Load SVC maximum number
+ CMP R1,R3 // Check SVC number range
+ BHI SVC_Done // Branch if out of range
+
+ LDR R4,[R2,R1,LSL #2] // Load address of SVC function
+
+ LDM R0,{R0-R3} // Load function parameters from stack
+ BLX R4 // Call service function
+ MRS R4,PSP // Get PSP
+ STR R0,[R4] // Store function return value
+
+SVC_Done:
+ POP {R4,PC} // Return from handler
+
+ .fnend
+ .size SVC_Handler, .-SVC_Handler
+
+
+ .thumb_func
+ .type PendSV_Handler, %function
+ .global PendSV_Handler
+ .fnstart
+ .cantunwind
+PendSV_Handler:
+
+ PUSH {R4,LR} // Save EXC_RETURN
+ BL os_PendSV_Handler // Call os_PendSV_Handler
+ POP {R4,LR} // Restore EXC_RETURN
+ B Sys_Context
+
+ .fnend
+ .size PendSV_Handler, .-PendSV_Handler
+
+
+ .thumb_func
+ .type SysTick_Handler, %function
+ .global SysTick_Handler
+ .fnstart
+ .cantunwind
+SysTick_Handler:
+
+ PUSH {R4,LR} // Save EXC_RETURN
+ BL os_Tick_Handler // Call os_Tick_Handler
+ POP {R4,LR} // Restore EXC_RETURN
+ B Sys_Context
+
+ .fnend
+ .size SysTick_Handler, .-SysTick_Handler
+
+
+ .thumb_func
+ .type Sys_Context, %function
+ .global Sys_Context
+ .fnstart
+ .cantunwind
+Sys_Context:
+
+ LDR R3,=os_Info+I_T_RUN_OFS// Load address of os_Info.run
+ LDM R3,{R1,R2} // Load os_Info.thread.run: curr & next
+ CMP R1,R2 // Check if thread switch is required
+ IT EQ
+ BXEQ LR // Exit when threads are the same
+
+Sys_ContextSave:
+ .if __DOMAIN_NS == 1
+ TST LR,#0x40 // Check domain of interrupted thread
+ BEQ Sys_ContextSave1 // Branch if non-secure
+ LDR R0,[R1,#TCB_TZM_OFS] // Load TrustZone memory identifier
+ PUSH {R1,R2,R3,LR} // Save registers and EXC_RETURN
+ BL TZ_StoreContext_S // Store secure context
+ POP {R1,R2,R3,LR} // Restore registers and EXC_RETURN
+ MRS R0,PSP // Get PSP
+ B Sys_ContextSave2
+ .endif
+
+Sys_ContextSave1:
+ MRS R0,PSP // Get PSP
+ STMDB R0!,{R4-R11} // Save R4..R11
+ .if __FPU_USED == 1
+ TST LR,#0x10 // Check if extended stack frame
+ IT EQ
+ VSTMDBEQ R0!,{S16-S31} // Save VFP S16.S31
+ .endif
+
+Sys_ContextSave2:
+ STR R0,[R1,#TCB_SP_OFS] // Store SP
+ STRB LR,[R1,#TCB_SF_OFS] // Store stack frame information
+
+Sys_ContextSwitch:
+ STR R2,[R3] // os_Info.run: curr = next
+
+Sys_ContextRestore:
+ .if __DOMAIN_NS == 1
+ LDR R0,[R2,#TCB_TZM_OFS] // Load TrustZone memory identifier
+ CBZ R0,Sys_ContextRestore1 // Branch if there is no secure context
+ PUSH {R2,R3} // Save registers
+ BL TZ_LoadContext_S // Load secure context
+ POP {R2,R3} // Restore registers
+ .endif
+
+Sys_ContextRestore1:
+ LDR R0,[R2,#TCB_SM_OFS] // Load stack memory base
+ LDRB R1,[R2,#TCB_SF_OFS] // Load stack frame information
+// MSR PSPLIM,R0 // Set PSPLIM
+ LDR R0,[R2,#TCB_SP_OFS] // Load SP
+ ORR LR,R1,#0xFFFFFF00 // Set EXC_RETURN
+
+ .if __DOMAIN_NS == 1
+ TST LR,#0x40 // Check domain of interrupted thread
+ BNE Sys_ContextRestore2 // Branch if secure
+ .endif
+
+ .if __FPU_USED == 1
+ TST LR,#0x10 // Check if extended stack frame
+ IT EQ
+ VLDMIAEQ R0!,{S16-S31} // Restore VFP S16..S31
+ .endif
+ LDMIA R0!,{R4-R11} // Restore R4..R11
+
+Sys_ContextRestore2:
+ MSR PSP,R0 // Set PSP
+
+Sys_ContextExit:
+ BX LR // Exit from handler
+
+ .fnend
+ .size Sys_Context, .-Sys_Context
+
+
+ .end
diff --git a/CMSIS/RTOS2/RTX/Source/GCC/irq_cm0.s b/CMSIS/RTOS2/RTX/Source/GCC/irq_cm0.s
index 1217b8a..2cb35e8 100644
--- a/CMSIS/RTOS2/RTX/Source/GCC/irq_cm0.s
+++ b/CMSIS/RTOS2/RTX/Source/GCC/irq_cm0.s
@@ -24,130 +24,131 @@
*/
- .file "irq_cm0.s"
- .syntax unified
+ .file "irq_cm0.s"
+ .syntax unified
- .equ I_T_RUN_OFS, 28 // osInfo.thread.run offset
- .equ TCB_SP_OFS, 56 // TCB.SP offset
+ .equ I_T_RUN_OFS, 28 // osInfo.thread.run offset
+ .equ TCB_SP_OFS, 56 // TCB.SP offset
.section ".rodata"
- .global os_irq_cm // Non weak library reference
+ .global os_irq_cm // Non weak library reference
os_irq_cm:
- .byte 0
+ .byte 0
+
.thumb
.section ".text"
- .align 2
+ .align 2
.thumb_func
- .type SVC_Handler, %function
- .global SVC_Handler
+ .type SVC_Handler, %function
+ .global SVC_Handler
.fnstart
.cantunwind
SVC_Handler:
- MRS R0,PSP // Get PSP
- LDR R1,[R0,#24] // Load saved PC from stack
- SUBS R1,R1,#2 // Point to SVC instruction
- LDRB R1,[R1] // Load SVC number
- CMP R1,#0
- BNE SVC_User // Branch if not SVC 0
-
- LDMIA R0,{R0-R3} // Load function parameters from stack
- BLX R7 // Call service function
- MRS R3,PSP // Get PSP
- STR R0,[R3] // Store function return value
+ MRS R0,PSP // Get PSP
+ LDR R1,[R0,#24] // Load saved PC from stack
+ SUBS R1,R1,#2 // Point to SVC instruction
+ LDRB R1,[R1] // Load SVC number
+ CMP R1,#0
+ BNE SVC_User // Branch if not SVC 0
+
+ LDMIA R0,{R0-R3} // Load function parameters from stack
+ BLX R7 // Call service function
+ MRS R3,PSP // Get PSP
+ STR R0,[R3] // Store function return value
SVC_Context:
- LDR R3,=os_Info+I_T_RUN_OFS // Load address of os_Info.run
- LDMIA R3!,{R1,R2} // Load os_Info.thread.run: curr & next
- CMP R1,R2 // Check if thread switch is required
- BEQ SVC_Exit // Branch when threads are the same
-
- SUBS R3,R3,#8
- CMP R1,#0
- BEQ SVC_ContextSwitch // Branch if running thread is deleted
+ LDR R3,=os_Info+I_T_RUN_OFS// Load address of os_Info.run
+ LDMIA R3!,{R1,R2} // Load os_Info.thread.run: curr & next
+ CMP R1,R2 // Check if thread switch is required
+ BEQ SVC_Exit // Branch when threads are the same
+
+ SUBS R3,R3,#8
+ CMP R1,#0
+ BEQ SVC_ContextSwitch // Branch if running thread is deleted
SVC_ContextSave:
- MRS R0,PSP // Get PSP
- SUBS R0,R0,#32 // Adjust address
- STR R0,[R1,#TCB_SP_OFS]; // Store SP
- STMIA R0!,{R4-R7} // Save R4..R7
- MOV R4,R8
- MOV R5,R9
- MOV R6,R10
- MOV R7,R11
- STMIA R0!,{R4-R7} // Save R8..R11
+ MRS R0,PSP // Get PSP
+ SUBS R0,R0,#32 // Adjust address
+ STR R0,[R1,#TCB_SP_OFS]; // Store SP
+ STMIA R0!,{R4-R7} // Save R4..R7
+ MOV R4,R8
+ MOV R5,R9
+ MOV R6,R10
+ MOV R7,R11
+ STMIA R0!,{R4-R7} // Save R8..R11
SVC_ContextSwitch:
- STR R2,[R3] // os_Info.thread.run: curr = next
+ STR R2,[R3] // os_Info.thread.run: curr = next
SVC_ContextRestore:
- LDR R0,[R2,#TCB_SP_OFS] // Load SP
- ADDS R0,R0,#16 // Adjust address
- LDMIA R0!,{R4-R7} // Restore R8..R11
- MOV R8,R4
- MOV R9,R5
- MOV R10,R6
- MOV R11,R7
- MSR PSP,R0 // Set PSP
- SUBS R0,R0,#32 // Adjust address
- LDMIA R0!,{R4-R7} // Restore R4..R7
+ LDR R0,[R2,#TCB_SP_OFS] // Load SP
+ ADDS R0,R0,#16 // Adjust address
+ LDMIA R0!,{R4-R7} // Restore R8..R11
+ MOV R8,R4
+ MOV R9,R5
+ MOV R10,R6
+ MOV R11,R7
+ MSR PSP,R0 // Set PSP
+ SUBS R0,R0,#32 // Adjust address
+ LDMIA R0!,{R4-R7} // Restore R4..R7
SVC_Exit:
- MOVS R0,#~0xFFFFFFFD // Set EXC_RETURN value
- MVNS R0,R0
- BX R0 // Exit from handler
+ MOVS R0,#~0xFFFFFFFD // Set EXC_RETURN value
+ MVNS R0,R0
+ BX R0 // Exit from handler
SVC_User:
- PUSH {R4,LR} // Save registers
- LDR R2,=os_UserSVC_Table // Load address of SVC table
- LDR R3,[R2] // Load SVC maximum number
- CMP R1,R3 // Check SVC number range
- BHI SVC_Done // Branch if out of range
-
- LSLS R1,R1,#2
- LDR R4,[R2,R1] // Load address of SVC function
-
- LDMIA R0,{R0-R3} // Load function parameters from stack
- BLX R4 // Call service function
- MRS R4,PSP // Get PSP
- STMIA R4!,{R0-R3} // Store function return values
+ PUSH {R4,LR} // Save registers
+ LDR R2,=os_UserSVC_Table // Load address of SVC table
+ LDR R3,[R2] // Load SVC maximum number
+ CMP R1,R3 // Check SVC number range
+ BHI SVC_Done // Branch if out of range
+
+ LSLS R1,R1,#2
+ LDR R4,[R2,R1] // Load address of SVC function
+
+ LDMIA R0,{R0-R3} // Load function parameters from stack
+ BLX R4 // Call service function
+ MRS R4,PSP // Get PSP
+ STMIA R4!,{R0-R3} // Store function return values
SVC_Done:
- POP {R4,PC} // Return from handler
+ POP {R4,PC} // Return from handler
.fnend
- .size SVC_Handler, .-SVC_Handler
+ .size SVC_Handler, .-SVC_Handler
.thumb_func
- .type PendSV_Handler, %function
- .global PendSV_Handler
+ .type PendSV_Handler, %function
+ .global PendSV_Handler
.fnstart
.cantunwind
PendSV_Handler:
- BL os_PendSV_Handler
- B SVC_Context
+ BL os_PendSV_Handler
+ B SVC_Context
.fnend
- .size PendSV_Handler, .-PendSV_Handler
+ .size PendSV_Handler, .-PendSV_Handler
.thumb_func
- .type SysTick_Handler, %function
- .global SysTick_Handler
+ .type SysTick_Handler, %function
+ .global SysTick_Handler
.fnstart
.cantunwind
SysTick_Handler:
- BL os_Tick_Handler
- B SVC_Context
+ BL os_Tick_Handler
+ B SVC_Context
.fnend
- .size SysTick_Handler, .-SysTick_Handler
+ .size SysTick_Handler, .-SysTick_Handler
.end
diff --git a/CMSIS/RTOS2/RTX/Source/GCC/irq_cm3.s b/CMSIS/RTOS2/RTX/Source/GCC/irq_cm3.s
index 8ba9b00..720ed00 100644
--- a/CMSIS/RTOS2/RTX/Source/GCC/irq_cm3.s
+++ b/CMSIS/RTOS2/RTX/Source/GCC/irq_cm3.s
@@ -24,112 +24,113 @@
*/
- .file "irq_cm3.s"
- .syntax unified
+ .file "irq_cm3.s"
+ .syntax unified
- .equ I_T_RUN_OFS, 28 // osInfo.thread.run offset
- .equ TCB_SP_OFS, 56 // TCB.SP offset
+ .equ I_T_RUN_OFS, 28 // osInfo.thread.run offset
+ .equ TCB_SP_OFS, 56 // TCB.SP offset
.section ".rodata"
- .global os_irq_cm // Non weak library reference
+ .global os_irq_cm // Non weak library reference
os_irq_cm:
- .byte 0
+ .byte 0
+
.thumb
.section ".text"
- .align 2
+ .align 2
.thumb_func
- .type SVC_Handler, %function
- .global SVC_Handler
+ .type SVC_Handler, %function
+ .global SVC_Handler
.fnstart
.cantunwind
SVC_Handler:
- MRS R0,PSP // Get PSP
- LDR R1,[R0,#24] // Load saved PC from stack
- LDRB R1,[R1,#-2] // Load SVC number
- CBNZ R1,SVC_User // Branch if not SVC 0
+ MRS R0,PSP // Get PSP
+ LDR R1,[R0,#24] // Load saved PC from stack
+ LDRB R1,[R1,#-2] // Load SVC number
+ CBNZ R1,SVC_User // Branch if not SVC 0
- LDM R0,{R0-R3,R12} // Load function parameters and address from stack
- BLX R12 // Call service function
- MRS R12,PSP // Get PSP
- STR R0,[R12] // Store function return value
+ LDM R0,{R0-R3,R12} // Load function parameters and address from stack
+ BLX R12 // Call service function
+ MRS R12,PSP // Get PSP
+ STR R0,[R12] // Store function return value
SVC_Context:
- LDR R3,=os_Info+I_T_RUN_OFS // Load address of os_Info.run
- LDM R3,{R1,R2} // Load os_Info.thread.run: curr & next
- CMP R1,R2 // Check if thread switch is required
- BEQ SVC_Exit // Branch when threads are the same
+ LDR R3,=os_Info+I_T_RUN_OFS// Load address of os_Info.run
+ LDM R3,{R1,R2} // Load os_Info.thread.run: curr & next
+ CMP R1,R2 // Check if thread switch is required
+ BEQ SVC_Exit // Branch when threads are the same
- CBZ R1,SVC_ContextSwitch // Branch if running thread is deleted
+ CBZ R1,SVC_ContextSwitch // Branch if running thread is deleted
SVC_ContextSave:
- STMDB R12!,{R4-R11} // Save R4..R11
- STR R12,[R1,#TCB_SP_OFS] // Store SP
+ STMDB R12!,{R4-R11} // Save R4..R11
+ STR R12,[R1,#TCB_SP_OFS] // Store SP
SVC_ContextSwitch:
- STR R2,[R3] // os_Info.thread.run: curr = next
+ STR R2,[R3] // os_Info.thread.run: curr = next
SVC_ContextRestore:
- LDR R12,[R2,#TCB_SP_OFS] // Load SP
- LDMIA R12!,{R4-R11} // Restore R4..R11
- MSR PSP,R12 // Set PSP
+ LDR R0,[R2,#TCB_SP_OFS] // Load SP
+ LDMIA R0!,{R4-R11} // Restore R4..R11
+ MSR PSP,R0 // Set PSP
SVC_Exit:
- MVN LR,#~0xFFFFFFFD // Set EXC_RETURN value
- BX LR // Exit from handler
+ MVN LR,#~0xFFFFFFFD // Set EXC_RETURN value
+ BX LR // Exit from handler
SVC_User:
- PUSH {R4,LR} // Save registers
- LDR R2,=os_UserSVC_Table // Load address of SVC table
- LDR R3,[R2] // Load SVC maximum number
- CMP R1,R3 // Check SVC number range
- BHI SVC_Done // Branch if out of range
-
- LDR R4,[R2,R1,LSL #2] // Load address of SVC function
-
- LDM R0,{R0-R3} // Load function parameters from stack
- BLX R4 // Call service function
- MRS R12,PSP // Get PSP
- STM R12,{R0-R3} // Store function return values
+ PUSH {R4,LR} // Save registers
+ LDR R2,=os_UserSVC_Table // Load address of SVC table
+ LDR R3,[R2] // Load SVC maximum number
+ CMP R1,R3 // Check SVC number range
+ BHI SVC_Done // Branch if out of range
+
+ LDR R4,[R2,R1,LSL #2] // Load address of SVC function
+
+ LDM R0,{R0-R3} // Load function parameters from stack
+ BLX R4 // Call service function
+ MRS R4,PSP // Get PSP
+ STR R0,[R4] // Store function return value
SVC_Done:
- POP {R4,PC} // Return from handler
+ POP {R4,PC} // Return from handler
.fnend
- .size SVC_Handler, .-SVC_Handler
+ .size SVC_Handler, .-SVC_Handler
.thumb_func
- .type PendSV_Handler, %function
- .global PendSV_Handler
+ .type PendSV_Handler, %function
+ .global PendSV_Handler
.fnstart
.cantunwind
PendSV_Handler:
- BL os_PendSV_Handler
- MRS R12,PSP
- B SVC_Context
+ BL os_PendSV_Handler
+ MRS R12,PSP
+ B SVC_Context
.fnend
- .size PendSV_Handler, .-PendSV_Handler
+ .size PendSV_Handler, .-PendSV_Handler
.thumb_func
- .type SysTick_Handler, %function
- .global SysTick_Handler
+ .type SysTick_Handler, %function
+ .global SysTick_Handler
.fnstart
.cantunwind
SysTick_Handler:
- BL os_Tick_Handler
- MRS R12,PSP
- B SVC_Context
+ BL os_Tick_Handler
+ MRS R12,PSP
+ B SVC_Context
.fnend
- .size SysTick_Handler, .-SysTick_Handler
+ .size SysTick_Handler, .-SysTick_Handler
.end
diff --git a/CMSIS/RTOS2/RTX/Source/GCC/irq_cm4f.s b/CMSIS/RTOS2/RTX/Source/GCC/irq_cm4f.s
index da8ea47..aee2a71 100644
--- a/CMSIS/RTOS2/RTX/Source/GCC/irq_cm4f.s
+++ b/CMSIS/RTOS2/RTX/Source/GCC/irq_cm4f.s
@@ -24,137 +24,137 @@
*/
- .file "irq_cm4f.s"
- .syntax unified
+ .file "irq_cm4f.s"
+ .syntax unified
- .equ I_T_RUN_OFS, 28 // osInfo.thread.run offset
- .equ TCB_SP_OFS, 56 // TCB.SP offset
- .equ TCB_SF_OFS, 34 // TCB.stack_frame offset
+ .equ I_T_RUN_OFS, 28 // osInfo.thread.run offset
+ .equ TCB_SP_OFS, 56 // TCB.SP offset
+ .equ TCB_SF_OFS, 34 // TCB.stack_frame offset
.section ".rodata"
- .global os_irq_cm // Non weak library reference
+ .global os_irq_cm // Non weak library reference
os_irq_cm:
- .byte 0
+ .byte 0
+
.thumb
.section ".text"
- .align 2
+ .align 2
.thumb_func
- .type SVC_Handler, %function
- .global SVC_Handler
+ .type SVC_Handler, %function
+ .global SVC_Handler
.fnstart
.cantunwind
SVC_Handler:
- MRS R0,PSP // Get PSP
- LDR R1,[R0,#24] // Load saved PC from stack
- LDRB R1,[R1,#-2] // Load SVC number
- CBNZ R1,SVC_User // Branch if not SVC 0
-
- PUSH {R0,LR} // Save PSP and EXC_RETURN
- LDM R0,{R0-R3,R12} // Load function parameters and address from stack
- BLX R12 // Call service function
- POP {R12,LR} // Restore PSP and EXC_RETURN
- STR R0,[R12] // Store function return value
+ MRS R0,PSP // Get PSP
+ LDR R1,[R0,#24] // Load saved PC from stack
+ LDRB R1,[R1,#-2] // Load SVC number
+ CBNZ R1,SVC_User // Branch if not SVC 0
+
+ PUSH {R0,LR} // Save PSP and EXC_RETURN
+ LDM R0,{R0-R3,R12} // Load function parameters and address from stack
+ BLX R12 // Call service function
+ POP {R12,LR} // Restore PSP and EXC_RETURN
+ STR R0,[R12] // Store function return value
SVC_Context:
- LDR R3,=os_Info+I_T_RUN_OFS // Load address of os_Info.run
- LDM R3,{R1,R2} // Load os_Info.thread.run: curr & next
- CMP R1,R2 // Check if thread switch is required
- BEQ SVC_Exit // Branch when threads are the same
-
- CBNZ R1,SVC_ContextSave // Branch if running thread is not deleted
-
- TST LR,#0x10 // Check if extended stack frame
- BNE SVC_ContextSwitch
- LDR R1,=0xE000EF34 // FPCCR Address
- LDR R0,[R1] // Load FPCCR
- BIC R0,#1 // Clear LSPACT (Lazy state)
- STR R0,[R1] // Store FPCCR
- B SVC_ContextSwitch
+ LDR R3,=os_Info+I_T_RUN_OFS// Load address of os_Info.run
+ LDM R3,{R1,R2} // Load os_Info.thread.run: curr & next
+ CMP R1,R2 // Check if thread switch is required
+ IT EQ
+ BXEQ LR // Exit when threads are the same
+
+ CBNZ R1,SVC_ContextSave // Branch if running thread is not deleted
+ TST LR,#0x10 // Check if extended stack frame
+ BNE SVC_ContextSwitch
+ LDR R1,=0xE000EF34 // FPCCR Address
+ LDR R0,[R1] // Load FPCCR
+ BIC R0,#1 // Clear LSPACT (Lazy state)
+ STR R0,[R1] // Store FPCCR
+ B SVC_ContextSwitch
SVC_ContextSave:
- TST LR,#0x10 // Check if extended stack frame
- ITTE EQ
+ STMDB R12!,{R4-R11} // Save R4..R11
+ TST LR,#0x10 // Check if extended stack frame
+ IT EQ
VSTMDBEQ R12!,{S16-S31} // Save VFP S16.S31
- MOVEQ R0,#1 // Extended stack frame identifier
- MOVNE R0,#0 // Basic stack frame identifier
- STMDB R12!,{R4-R11} // Save R4..R11
- STR R12,[R1,#TCB_SP_OFS] // Store SP
- STRB R0, [R1,#TCB_SF_OFS] // Store stack frame information
+
+ STR R12,[R1,#TCB_SP_OFS] // Store SP
+ STRB LR, [R1,#TCB_SF_OFS] // Store stack frame information
SVC_ContextSwitch:
- STR R2,[R3] // os_Info.thread.run: curr = next
+ STR R2,[R3] // os_Info.thread.run: curr = next
SVC_ContextRestore:
- LDR R12,[R2,#TCB_SP_OFS] // Load SP
- LDRB R0, [R2,#TCB_SF_OFS] // Load stack frame information
- LDMIA R12!,{R4-R11} // Restore R4..R11
- CMP R0,#1 // Check if extended stack frame
- ITTE EQ
- VLDMIAEQ R12!,{S16-S31} // Restore VFP S16..S31
- MVNEQ LR,#~0xFFFFFFED // Set EXC_RETURN value
- MVNNE LR,#~0xFFFFFFFD
- MSR PSP,R12 // Set PSP
+ LDRB R1,[R2,#TCB_SF_OFS] // Load stack frame information
+ LDR R0,[R2,#TCB_SP_OFS] // Load SP
+ ORR LR,R1,#0xFFFFFF00 // Set EXC_RETURN
+
+ TST LR,#0x10 // Check if extended stack frame
+ IT EQ
+ VLDMIAEQ R0!,{S16-S31} // Restore VFP S16..S31
+ LDMIA R0!,{R4-R11} // Restore R4..R11
+ MSR PSP,R0 // Set PSP
SVC_Exit:
- BX LR // Exit from handler
+ BX LR // Exit from handler
SVC_User:
- PUSH {R4,LR} // Save registers
- LDR R2,=os_UserSVC_Table // Load address of SVC table
- LDR R3,[R2] // Load SVC maximum number
- CMP R1,R3 // Check SVC number range
- BHI SVC_Done // Branch if out of range
-
- LDR R4,[R2,R1,LSL #2] // Load address of SVC function
-
- LDM R0,{R0-R3} // Load function parameters from stack
- BLX R4 // Call service function
- MRS R12,PSP // Get PSP
- STM R12,{R0-R3} // Store function return values
+ PUSH {R4,LR} // Save registers
+ LDR R2,=os_UserSVC_Table // Load address of SVC table
+ LDR R3,[R2] // Load SVC maximum number
+ CMP R1,R3 // Check SVC number range
+ BHI SVC_Done // Branch if out of range
+
+ LDR R4,[R2,R1,LSL #2] // Load address of SVC function
+
+ LDM R0,{R0-R3} // Load function parameters from stack
+ BLX R4 // Call service function
+ MRS R4,PSP // Get PSP
+ STR R0,[R4] // Store function return value
SVC_Done:
POP {R4,PC} // Return from handler
.fnend
- .size SVC_Handler, .-SVC_Handler
+ .size SVC_Handler, .-SVC_Handler
.thumb_func
- .type PendSV_Handler, %function
- .global PendSV_Handler
+ .type PendSV_Handler, %function
+ .global PendSV_Handler
.fnstart
.cantunwind
PendSV_Handler:
- PUSH {R4,LR} // Save EXC_RETURN
- BL os_PendSV_Handler
- POP {R4,LR} // Restore EXC_RETURN
- MRS R12,PSP
- B SVC_Context
+ PUSH {R4,LR} // Save EXC_RETURN
+ BL os_PendSV_Handler
+ POP {R4,LR} // Restore EXC_RETURN
+ MRS R12,PSP
+ B SVC_Context
.fnend
- .size PendSV_Handler, .-PendSV_Handler
+ .size PendSV_Handler, .-PendSV_Handler
.thumb_func
- .type SysTick_Handler, %function
- .global SysTick_Handler
+ .type SysTick_Handler, %function
+ .global SysTick_Handler
.fnstart
.cantunwind
SysTick_Handler:
- PUSH {R4,LR} // Save EXC_RETURN
- BL os_Tick_Handler
- POP {R4,LR} // Restore EXC_RETURN
- MRS R12,PSP
- B SVC_Context
+ PUSH {R4,LR} // Save EXC_RETURN
+ BL os_Tick_Handler
+ POP {R4,LR} // Restore EXC_RETURN
+ MRS R12,PSP
+ B SVC_Context
.fnend
- .size SysTick_Handler, .-SysTick_Handler
+ .size SysTick_Handler, .-SysTick_Handler
.end
diff --git a/CMSIS/RTOS2/RTX/Source/core_cm.h b/CMSIS/RTOS2/RTX/Source/core_cm.h
index e22cd7e..eafb3b6 100644
--- a/CMSIS/RTOS2/RTX/Source/core_cm.h
+++ b/CMSIS/RTOS2/RTX/Source/core_cm.h
@@ -361,6 +361,7 @@
register uint8_t ret;
__ASM volatile (
+ ".syntax unified\n\t"
"loop%=:\n\t"
"ldrexb %[ret],[%[mem]]\n\t"
"strexb %[res],%[val],[%[mem]]\n\t"
@@ -386,6 +387,7 @@
register uint32_t ret;
__ASM volatile (
+ ".syntax unified\n\t"
"loop%=:\n\t"
"ldrex %[val],[%[mem]]\n\t"
#if (__ARM_ARCH_8M_BASE__ == 1U)
@@ -422,6 +424,7 @@
register uint32_t ret;
__ASM volatile (
+ ".syntax unified\n\t"
"loop%=:\n\t"
"ldrex %[ret],[%[mem]]\n\t"
#if (__ARM_ARCH_8M_BASE__ == 1U)
@@ -458,6 +461,7 @@
register uint32_t ret;
__ASM volatile (
+ ".syntax unified\n\t"
"loop%=:\n\t"
"ldrex %[ret],[%[mem]]\n\t"
#if (__ARM_ARCH_8M_BASE__ == 1U)
@@ -502,6 +506,7 @@
register uint32_t ret;
__ASM volatile (
+ ".syntax unified\n\t"
"loop%=:\n\t"
"ldrex %[ret],[%[mem]]\n\t"
"tst %[ret],%[bits]\n\t"
@@ -539,6 +544,7 @@
register uint32_t ret;
__ASM volatile (
+ ".syntax unified\n\t"
"loop%=:\n\t"
"ldrex %[ret],[%[mem]]\n\t"
"adds %[val],%[ret],#1\n\t"
@@ -565,6 +571,7 @@
register uint16_t ret;
__ASM volatile (
+ ".syntax unified\n\t"
"loop%=:\n\t"
"ldrexh %[ret],[%[mem]]\n\t"
"cmp %[max],%[ret]\n\t"
@@ -597,6 +604,7 @@
register uint16_t ret;
__ASM volatile (
+ ".syntax unified\n\t"
"loop%=:\n\t"
"ldrexh %[ret],[%[mem]]\n\t"
"adds %[val],%[ret],#1\n\t"
@@ -627,6 +635,7 @@
register uint32_t ret;
__ASM volatile (
+ ".syntax unified\n\t"
"loop%=:\n\t"
"ldrex %[ret],[%[mem]]\n\t"
"cbnz %[ret],update%=\n\t"
@@ -656,6 +665,7 @@
register uint16_t ret;
__ASM volatile (
+ ".syntax unified\n\t"
"loop%=:\n\t"
"ldrexh %[ret],[%[mem]]\n\t"
"cbnz %[ret],update%=\n\t"
diff --git a/CMSIS/RTOS2/RTX/Source/rtx_kernel.c b/CMSIS/RTOS2/RTX/Source/rtx_kernel.c
index 21700b2..a997966 100644
--- a/CMSIS/RTOS2/RTX/Source/rtx_kernel.c
+++ b/CMSIS/RTOS2/RTX/Source/rtx_kernel.c
@@ -465,7 +465,7 @@
case 0x00U: // Privileged Thread mode & MSP
#if ( (__ARM_ARCH_8M_MAIN__ == 1U) || \
((__ARM_ARCH_8M_BASE__ == 1U) && (__DOMAIN_NS == 0U)))
- __set_PSPLIM((uint32_t)stack);
+// __set_PSPLIM((uint32_t)stack);
#endif
__set_PSP((uint32_t)(stack + 8)); // Initial PSP
__set_CONTROL(0x02U); // Set Privileged Thread mode & PSP
diff --git a/CMSIS/RTOS2/RTX/Source/rtx_mempool.c b/CMSIS/RTOS2/RTX/Source/rtx_mempool.c
index 64f2970..c6a6609 100644
--- a/CMSIS/RTOS2/RTX/Source/rtx_mempool.c
+++ b/CMSIS/RTOS2/RTX/Source/rtx_mempool.c
@@ -94,6 +94,7 @@
register uint32_t val, res;
__ASM volatile (
+ ".syntax unified\n\t"
"loop1%=:\n\t"
"ldrex %[block],[%[mp_info],%[_block_free]]\n\t"
"cbnz %[block],update%=\n\t"
@@ -156,6 +157,7 @@
register uint32_t val1, val2, res;
__ASM volatile (
+ ".syntax unified\n\t"
"loop1%=:\n\t"
"ldr %[val1],[%[mp_info],%[_block_free]]\n\t"
"str %[val1],[%[block]]\n\t"