]> git.sur5r.net Git - freertos/commitdiff
Create full Keil project for XMC boot kit (not yet tested).
authorrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Sun, 25 Aug 2013 17:07:56 +0000 (17:07 +0000)
committerrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Sun, 25 Aug 2013 17:07:56 +0000 (17:07 +0000)
git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@2008 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/ParTest.c
FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/RTOSDemo.uvopt
FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/RTOSDemo.uvproj
FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/RegTest.s
FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/main-full.c

index 9346703b80206922e23e1bded7d04198f897058c..fbad4ad47f792ecddbbf39334e16dc15a61d00f3 100644 (file)
 #include "FreeRTOS.h"\r
 #include "task.h"\r
 \r
+/* Hardware includes. */\r
+#include <XMC1300.h>\r
+\r
 /* Standard demo include. */\r
 #include "partest.h"\r
 \r
+/* The port bits on which LEDs are connected. */\r
+static const unsigned long ulLEDBits[] = \r
+{ \r
+       1UL << 0, /* P0.0 */\r
+       1UL << 2, /* P0.2 */\r
+       1UL << 5, /* P0.5 */\r
+       1UL << 6, /* P0.6 */\r
+       1UL << 7  /* P0.7 */\r
+};\r
+\r
+#define partstNUM_LEDS ( sizeof( ulLEDBits ) / sizeof( unsigned long ) )\r
+\r
+/* Shift the LED bit into the correct position within the POW register to\r
+perform the desired operation. */\r
+#define partstON_SHIFT ( 16UL )\r
+#define partstOFF_SHIFT        ( 0UL )\r
+\r
 /*-----------------------------------------------------------*/\r
 \r
 void vParTestInitialise( void )\r
 {\r
+       /* Configure relevant port P0 to push pull output to drive LEDs. */\r
+       \r
+       /* P0.0 */\r
+       PORT0->IOCR0 &= ~( ( 0xFFUL <<  0 ) );\r
+       PORT0->IOCR0 |= ( 0x80UL <<  0 );\r
+\r
+       /* P0.2 */\r
+       PORT0->IOCR0 &= ~( ( 0xFFUL << 16 ) );\r
+       PORT0->IOCR0 |= ( 0x80UL << 16 );\r
+\r
+       /* P0.5 */\r
+       PORT0->IOCR4 &= ~( ( 0xFFUL << 8 ) );\r
+       PORT0->IOCR4 |= ( 0x80UL << 8 );\r
+\r
+       /* P0.6 */\r
+       PORT0->IOCR4 &= ~( ( 0xFFUL << 16 ) );\r
+       PORT0->IOCR4 |= ( 0x80UL << 16 );\r
+\r
+       /* P0.7 */\r
+       PORT0->IOCR4 &= ~( ( 0xFFUL << 24 ) );\r
+       PORT0->IOCR4 |= ( 0x80UL << 24 );\r
 }\r
 /*-----------------------------------------------------------*/\r
 \r
 void vParTestSetLED( unsigned long ulLED, signed portBASE_TYPE xValue )\r
 {\r
+       if( ulLED < partstNUM_LEDS )\r
+       {\r
+               if( xValue == pdTRUE )\r
+               {\r
+                       /* Turn the LED on. */\r
+                       PORT0->OMR = ( ulLEDBits[ ulLED ] << partstON_SHIFT );\r
+               }\r
+               else\r
+               {\r
+                       /* Turn the LED off. */\r
+                       PORT0->OMR = ( ulLEDBits[ ulLED ] << partstOFF_SHIFT );\r
+               }\r
+       }\r
 }\r
 /*-----------------------------------------------------------*/\r
 \r
 void vParTestToggleLED( unsigned long ulLED )\r
 {\r
+       if( ulLED < partstNUM_LEDS )\r
+       {\r
+               /* Setting both the ON and OFF bits simultaneously results in the bit\r
+               being toggled. */\r
+               PORT0->OMR = ( ulLEDBits[ ulLED ] << partstON_SHIFT ) | ( ulLEDBits[ ulLED ] << partstOFF_SHIFT );\r
+       }\r
 }\r
 /*-----------------------------------------------------------*/\r
 \r
index 34468eb47d3345b415d958e23f88e33f2641765e..465ee288dc7399a98f0c5e44f912332fdf16d01f 100644 (file)
         <uSim>1</uSim>
         <uTrg>0</uTrg>
         <sLdApp>1</sLdApp>
-        <sGomain>1</sGomain>
+        <sGomain>0</sGomain>
         <sRbreak>1</sRbreak>
         <sRwatch>1</sRwatch>
         <sRmem>1</sRmem>
         <tRtrace>1</tRtrace>
         <sRunDeb>0</sRunDeb>
         <sLrtime>0</sLrtime>
-        <nTsel>1</nTsel>
+        <nTsel>0</nTsel>
         <sDll></sDll>
         <sDllPa></sDllPa>
         <sDlgDll></sDlgDll>
         <pMon>BIN\UL2CM3.DLL</pMon>
       </DebugOpt>
       <TargetDriverDllRegistry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>DLGDARM</Key>
+          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)</Name>
+        </SetRegEntry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>ARMDBGFLAGS</Key>
+          <Name>-T0</Name>
+        </SetRegEntry>
         <SetRegEntry>
           <Number>0</Number>
           <Key>UL2CM3</Key>
           <Name>UL2CM3(-O207 -S0 -C0 -FO7  -FN1 -FC800 -FD20000000 -FF0XMC1300_200 -FL032000 -FS010001000</Name>
         </SetRegEntry>
       </TargetDriverDllRegistry>
-      <Breakpoint/>
+      <Breakpoint>
+        <Bp>
+          <Number>0</Number>
+          <Type>0</Type>
+          <LineNumber>132</LineNumber>
+          <EnabledFlag>1</EnabledFlag>
+          <Address>0</Address>
+          <ByteObject>0</ByteObject>
+          <HtxType>0</HtxType>
+          <ManyObjects>0</ManyObjects>
+          <SizeOfObject>0</SizeOfObject>
+          <BreakByAccess>0</BreakByAccess>
+          <BreakIfRCount>0</BreakIfRCount>
+          <Filename>C:\E\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\CORTEX_M0_Infineon_Boot_Kits_IAR_Keil\startup_XMC1300.s</Filename>
+          <ExecCommand></ExecCommand>
+          <Expression></Expression>
+        </Bp>
+      </Breakpoint>
       <Tracepoint>
         <THDelay>0</THDelay>
       </Tracepoint>
       <DebugFlag>
         <trace>0</trace>
         <periodic>1</periodic>
-        <aLwin>0</aLwin>
+        <aLwin>1</aLwin>
         <aCover>0</aCover>
         <aSer1>0</aSer1>
         <aSer2>0</aSer2>
         <aPa>0</aPa>
-        <viewmode>0</viewmode>
+        <viewmode>1</viewmode>
         <vrSel>0</vrSel>
         <aSym>0</aSym>
         <aTbox>0</aTbox>
         <aSer4>0</aSer4>
         <StkLoc>0</StkLoc>
         <TrcWin>0</TrcWin>
-        <newCpu>3</newCpu>
+        <newCpu>0</newCpu>
         <uProt>0</uProt>
       </DebugFlag>
       <LintExecutable></LintExecutable>
 
   <Group>
     <GroupName>System</GroupName>
-    <tvExp>0</tvExp>
+    <tvExp>1</tvExp>
     <tvExpOptDlg>0</tvExpOptDlg>
     <cbSel>0</cbSel>
     <RteFlg>0</RteFlg>
       <FileType>2</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
-      <ColumnNumber>26</ColumnNumber>
+      <ColumnNumber>0</ColumnNumber>
       <tvExpOptDlg>0</tvExpOptDlg>
-      <TopLine>128</TopLine>
-      <CurrentLine>129</CurrentLine>
+      <TopLine>130</TopLine>
+      <CurrentLine>132</CurrentLine>
       <bDave2>0</bDave2>
       <PathWithFileName>.\startup_XMC1300.s</PathWithFileName>
       <FilenameWithoutPath>startup_XMC1300.s</FilenameWithoutPath>
 
   <Group>
     <GroupName>FreeRTOS source</GroupName>
-    <tvExp>0</tvExp>
+    <tvExp>1</tvExp>
     <tvExpOptDlg>0</tvExpOptDlg>
     <cbSel>0</cbSel>
     <RteFlg>0</RteFlg>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
-      <ColumnNumber>0</ColumnNumber>
+      <ColumnNumber>9</ColumnNumber>
       <tvExpOptDlg>0</tvExpOptDlg>
-      <TopLine>1</TopLine>
-      <CurrentLine>1</CurrentLine>
+      <TopLine>265</TopLine>
+      <CurrentLine>279</CurrentLine>
       <bDave2>0</bDave2>
       <PathWithFileName>..\..\Source\portable\RVDS\ARM_CM0\port.c</PathWithFileName>
       <FilenameWithoutPath>port.c</FilenameWithoutPath>
 
   <Group>
     <GroupName>Demo App Source</GroupName>
-    <tvExp>0</tvExp>
+    <tvExp>1</tvExp>
     <tvExpOptDlg>0</tvExpOptDlg>
     <cbSel>0</cbSel>
     <RteFlg>0</RteFlg>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
-      <ColumnNumber>0</ColumnNumber>
+      <ColumnNumber>9</ColumnNumber>
       <tvExpOptDlg>0</tvExpOptDlg>
-      <TopLine>0</TopLine>
-      <CurrentLine>0</CurrentLine>
+      <TopLine>115</TopLine>
+      <CurrentLine>134</CurrentLine>
       <bDave2>0</bDave2>
       <PathWithFileName>.\ParTest.c</PathWithFileName>
       <FilenameWithoutPath>ParTest.c</FilenameWithoutPath>
     <File>
       <GroupNumber>3</GroupNumber>
       <FileNumber>12</FileNumber>
-      <FileType>1</FileType>
+      <FileType>5</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
       <ColumnNumber>0</ColumnNumber>
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
+      <PathWithFileName>.\FreeRTOSConfig.h</PathWithFileName>
+      <FilenameWithoutPath>FreeRTOSConfig.h</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>13</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>36</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>293</TopLine>
+      <CurrentLine>311</CurrentLine>
+      <bDave2>0</bDave2>
       <PathWithFileName>.\main-full.c</PathWithFileName>
       <FilenameWithoutPath>main-full.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
     </File>
     <File>
       <GroupNumber>3</GroupNumber>
-      <FileNumber>13</FileNumber>
-      <FileType>5</FileType>
+      <FileNumber>14</FileNumber>
+      <FileType>2</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>5</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>142</TopLine>
+      <CurrentLine>143</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>.\RegTest.s</PathWithFileName>
+      <FilenameWithoutPath>RegTest.s</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>Common Demo Tasks</GroupName>
+    <tvExp>0</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>4</GroupNumber>
+      <FileNumber>15</FileNumber>
+      <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
       <ColumnNumber>0</ColumnNumber>
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>.\FreeRTOSConfig.h</PathWithFileName>
-      <FilenameWithoutPath>FreeRTOSConfig.h</FilenameWithoutPath>
+      <PathWithFileName>..\Common\Minimal\dynamic.c</PathWithFileName>
+      <FilenameWithoutPath>dynamic.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>4</GroupNumber>
+      <FileNumber>16</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\Common\Minimal\recmutex.c</PathWithFileName>
+      <FilenameWithoutPath>recmutex.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>4</GroupNumber>
+      <FileNumber>17</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\Common\Minimal\blocktim.c</PathWithFileName>
+      <FilenameWithoutPath>blocktim.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>4</GroupNumber>
+      <FileNumber>18</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\Common\Minimal\countsem.c</PathWithFileName>
+      <FilenameWithoutPath>countsem.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
index 3738f403711d7e847ce4b0973202bcef537b15ad..3fea34439e174336b3daf24f31a7dcf2b1d349f2 100644 (file)
           <Simulator>
             <UseSimulator>1</UseSimulator>
             <LoadApplicationAtStartup>1</LoadApplicationAtStartup>
-            <RunToMain>1</RunToMain>
+            <RunToMain>0</RunToMain>
             <RestoreBreakpoints>1</RestoreBreakpoints>
             <RestoreWatchpoints>1</RestoreWatchpoints>
             <RestoreMemoryDisplay>1</RestoreMemoryDisplay>
             <RestoreTracepoints>1</RestoreTracepoints>
           </Target>
           <RunDebugAfterBuild>0</RunDebugAfterBuild>
-          <TargetSelection>1</TargetSelection>
+          <TargetSelection>0</TargetSelection>
           <SimDlls>
             <CpuDll></CpuDll>
             <CpuDllArguments></CpuDllArguments>
             <UseExternalTool>0</UseExternalTool>
             <RunIndependent>0</RunIndependent>
             <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
-            <Capability>0</Capability>
-            <DriverSelection>-1</DriverSelection>
+            <Capability>1</Capability>
+            <DriverSelection>4096</DriverSelection>
           </Flash1>
           <bUseTDR>1</bUseTDR>
           <Flash2>BIN\UL2CM3.DLL</Flash2>
-          <Flash3></Flash3>
+          <Flash3>"" ()</Flash3>
           <Flash4></Flash4>
         </Utilities>
         <TargetArmAds>
               <FileType>1</FileType>
               <FilePath>.\main-blinky.c</FilePath>
             </File>
+            <File>
+              <FileName>FreeRTOSConfig.h</FileName>
+              <FileType>5</FileType>
+              <FilePath>.\FreeRTOSConfig.h</FilePath>
+            </File>
             <File>
               <FileName>main-full.c</FileName>
               <FileType>1</FileType>
               <FilePath>.\main-full.c</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>
-                </CommonProperty>
-                <FileArmAds>
-                  <Cads>
-                    <interw>2</interw>
-                    <Optim>0</Optim>
-                    <oTime>2</oTime>
-                    <SplitLS>2</SplitLS>
-                    <OneElfS>2</OneElfS>
-                    <Strict>2</Strict>
-                    <EnumInt>2</EnumInt>
-                    <PlainCh>2</PlainCh>
-                    <Ropi>2</Ropi>
-                    <Rwpi>2</Rwpi>
-                    <wLevel>0</wLevel>
-                    <uThumb>2</uThumb>
-                    <uSurpInc>2</uSurpInc>
-                    <VariousControls>
-                      <MiscControls></MiscControls>
-                      <Define></Define>
-                      <Undefine></Undefine>
-                      <IncludePath></IncludePath>
-                    </VariousControls>
-                  </Cads>
-                </FileArmAds>
-              </FileOption>
             </File>
             <File>
-              <FileName>FreeRTOSConfig.h</FileName>
-              <FileType>5</FileType>
-              <FilePath>.\FreeRTOSConfig.h</FilePath>
+              <FileName>RegTest.s</FileName>
+              <FileType>2</FileType>
+              <FilePath>.\RegTest.s</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>Common Demo Tasks</GroupName>
+          <Files>
+            <File>
+              <FileName>dynamic.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\Common\Minimal\dynamic.c</FilePath>
+            </File>
+            <File>
+              <FileName>recmutex.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\Common\Minimal\recmutex.c</FilePath>
+            </File>
+            <File>
+              <FileName>blocktim.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\Common\Minimal\blocktim.c</FilePath>
+            </File>
+            <File>
+              <FileName>countsem.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\Common\Minimal\countsem.c</FilePath>
             </File>
           </Files>
         </Group>
index be93bb414bab0cacde132ef8ad14a043fed02959..cf81df86d81770879490ea59c2d392c0115ddb55 100644 (file)
@@ -1,80 +1,83 @@
-/*\r
-    FreeRTOS V7.5.2 - Copyright (C) 2013 Real Time Engineers Ltd.\r
-\r
-    VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    FreeRTOS provides completely free yet professionally developed,    *\r
-     *    robust, strictly quality controlled, supported, and cross          *\r
-     *    platform software that has become a de facto standard.             *\r
-     *                                                                       *\r
-     *    Help yourself get started quickly and support the FreeRTOS         *\r
-     *    project by purchasing a FreeRTOS tutorial book, reference          *\r
-     *    manual, or both from: http://www.FreeRTOS.org/Documentation        *\r
-     *                                                                       *\r
-     *    Thank you!                                                         *\r
-     *                                                                       *\r
-    ***************************************************************************\r
-\r
-    This file is part of the FreeRTOS distribution.\r
-\r
-    FreeRTOS is free software; you can redistribute it and/or modify it under\r
-    the terms of the GNU General Public License (version 2) as published by the\r
-    Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception.\r
-\r
-    >>! NOTE: The modification to the GPL is included to allow you to distribute\r
-    >>! a combined work that includes FreeRTOS without being obliged to provide\r
-    >>! the source code for proprietary components outside of the FreeRTOS\r
-    >>! kernel.\r
-\r
-    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
-    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
-    FOR A PARTICULAR PURPOSE.  Full license text is available from the following\r
-    link: http://www.freertos.org/a00114.html\r
-\r
-    1 tab == 4 spaces!\r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    Having a problem?  Start by reading the FAQ "My application does   *\r
-     *    not run, what could be wrong?"                                     *\r
-     *                                                                       *\r
-     *    http://www.FreeRTOS.org/FAQHelp.html                               *\r
-     *                                                                       *\r
-    ***************************************************************************\r
-\r
-    http://www.FreeRTOS.org - Documentation, books, training, latest versions,\r
-    license and Real Time Engineers Ltd. contact details.\r
-\r
-    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
-    including FreeRTOS+Trace - an indispensable productivity tool, a DOS\r
-    compatible FAT file system, and our tiny thread aware UDP/IP stack.\r
-\r
-    http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High\r
-    Integrity Systems to sell under the OpenRTOS brand.  Low cost OpenRTOS\r
-    licenses offer ticketed support, indemnification and middleware.\r
-\r
-    http://www.SafeRTOS.com - High Integrity Systems also provide a safety\r
-    engineered and independently SIL3 certified version for use in safety and\r
-    mission critical applications that require provable dependability.\r
-\r
-    1 tab == 4 spaces!\r
-*/\r
-\r
-       RSEG    CODE:CODE(2)\r
-       thumb\r
-\r
-       EXTERN ulRegTest1LoopCounter\r
-       EXTERN ulRegTest2LoopCounter\r
-\r
-       PUBLIC vRegTest1Task\r
-       PUBLIC vRegTest2Task\r
-\r
-/*-----------------------------------------------------------*/\r
-vRegTest1Task\r
-\r
-       /* Fill the core registers with known values.  This is only done once. */\r
+;/*\r
+;    FreeRTOS V7.5.2 - Copyright (C) 2013 Real Time Engineers Ltd.\r
+;\r
+;    VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
+;\r
+;    ***************************************************************************\r
+;     *                                                                       *\r
+;     *    FreeRTOS provides completely free yet professionally developed,    *\r
+;     *    robust, strictly quality controlled, supported, and cross          *\r
+;     *    platform software that has become a de facto standard.             *\r
+;     *                                                                       *\r
+;     *    Help yourself get started quickly and support the FreeRTOS         *\r
+;     *    project by purchasing a FreeRTOS tutorial book, reference          *\r
+;     *    manual, or both from: http://www.FreeRTOS.org/Documentation        *\r
+;     *                                                                       *\r
+;     *    Thank you!                                                         *\r
+;     *                                                                       *\r
+;    ***************************************************************************\r
+;\r
+;    This file is part of the FreeRTOS distribution.\r
+;\r
+;    FreeRTOS is free software; you can redistribute it and/or modify it under\r
+;    the terms of the GNU General Public License (version 2) as published by the\r
+;    Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception.\r
+;\r
+;    >>! NOTE: The modification to the GPL is included to allow you to distribute\r
+;    >>! a combined work that includes FreeRTOS without being obliged to provide\r
+;    >>! the source code for proprietary components outside of the FreeRTOS\r
+;    >>! kernel.\r
+;\r
+;    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
+;    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
+;    FOR A PARTICULAR PURPOSE.  Full license text is available from the following\r
+;    link: http://www.freertos.org/a00114.html\r
+;\r
+;    1 tab == 4 spaces!\r
+;\r
+;    ***************************************************************************\r
+;     *                                                                       *\r
+;     *    Having a problem?  Start by reading the FAQ "My application does   *\r
+;     *    not run, what could be wrong?"                                     *\r
+;     *                                                                       *\r
+;     *    http://www.FreeRTOS.org/FAQHelp.html                               *\r
+;     *                                                                       *\r
+;    ***************************************************************************\r
+;\r
+;    http://www.FreeRTOS.org - Documentation, books, training, latest versions,\r
+;    license and Real Time Engineers Ltd. contact details.\r
+;\r
+;    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
+;    including FreeRTOS+Trace - an indispensable productivity tool, a DOS\r
+;    compatible FAT file system, and our tiny thread aware UDP/IP stack.\r
+;\r
+;    http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High\r
+;    Integrity Systems to sell under the OpenRTOS brand.  Low cost OpenRTOS\r
+;    licenses offer ticketed support, indemnification and middleware.\r
+;\r
+;    http://www.SafeRTOS.com - High Integrity Systems also provide a safety\r
+;    engineered and independently SIL3 certified version for use in safety and\r
+;    mission critical applications that require provable dependability.\r
+;\r
+;    1 tab == 4 spaces!\r
+;*/\r
+\r
+       PRESERVE8\r
+       THUMB\r
+       \r
+\r
+       IMPORT ulRegTest1LoopCounter\r
+       IMPORT ulRegTest2LoopCounter\r
+\r
+       EXPORT vRegTest1Task\r
+       EXPORT vRegTest2Task\r
+       \r
+       AREA    |.text|, CODE, READONLY\r
+\r
+;/*-----------------------------------------------------------*/\r
+vRegTest1Task PROC\r
+\r
+       ;/* Fill the core registers with known values.  This is only done once. */\r
        movs r1, #101\r
        movs r2, #102\r
        movs r3, #103\r
@@ -95,8 +98,8 @@ vRegTest1Task
        movs r0, #100\r
 \r
 reg1_loop\r
-       /* Repeatedly check that each register still contains the value written to\r
-       it when the task started. */\r
+       ;/* Repeatedly check that each register still contains the value written to\r
+       ;it when the task started. */\r
        cmp     r0, #100\r
        bne     reg1_error_loop\r
        cmp     r1, #101\r
@@ -129,7 +132,7 @@ reg1_loop
        cmp     r12, r0\r
        bne     reg1_error_loop\r
 \r
-       /* Everything passed, increment the loop counter. */\r
+       ;/* Everything passed, increment the loop counter. */\r
        push { r1 }\r
        ldr     r0, =ulRegTest1LoopCounter\r
        ldr r1, [r0]\r
@@ -137,21 +140,22 @@ reg1_loop
        str r1, [r0]\r
        pop { r1 }\r
 \r
-       /* Start again. */\r
+       ;/* Start again. */\r
        movs r0, #100\r
        b reg1_loop\r
 \r
 reg1_error_loop\r
-       /* If this line is hit then there was an error in a core register value.\r
-       The loop ensures the loop counter stops incrementing. */\r
+       ;/* If this line is hit then there was an error in a core register value.\r
+       ;The loop ensures the loop counter stops incrementing. */\r
        b reg1_error_loop\r
        nop\r
+       ENDP\r
 \r
 \r
 \r
-vRegTest2Task\r
+vRegTest2Task PROC\r
 \r
-       /* Fill the core registers with known values.  This is only done once. */\r
+       ;/* Fill the core registers with known values.  This is only done once. */\r
        movs r1, #1\r
        movs r2, #2\r
        movs r3, #3\r
@@ -172,8 +176,8 @@ vRegTest2Task
        movs r0, #10\r
 \r
 reg2_loop\r
-       /* Repeatedly check that each register still contains the value written to\r
-       it when the task started. */\r
+       ;/* Repeatedly check that each register still contains the value written to\r
+       ;it when the task started. */\r
        cmp     r0, #10\r
        bne     reg2_error_loop\r
        cmp     r1, #1\r
@@ -206,7 +210,7 @@ reg2_loop
        cmp     r12, r0\r
        bne     reg2_error_loop\r
 \r
-       /* Everything passed, increment the loop counter. */\r
+       ;/* Everything passed, increment the loop counter. */\r
        push { r1 }\r
        ldr     r0, =ulRegTest2LoopCounter\r
        ldr r1, [r0]\r
@@ -214,14 +218,15 @@ reg2_loop
        str r1, [r0]\r
        pop { r1 }\r
 \r
-       /* Start again. */\r
+       ;/* Start again. */\r
        movs r0, #10\r
        b reg2_loop\r
 \r
 reg2_error_loop\r
-       /* If this line is hit then there was an error in a core register value.\r
-       The loop ensures the loop counter stops incrementing. */\r
+       ;/* If this line is hit then there was an error in a core register value.\r
+       ;The loop ensures the loop counter stops incrementing. */\r
        b reg2_error_loop\r
        nop\r
+       ENDP\r
 \r
        END\r
index 74bfa5aff51d08ecec215b59f79e0cb4f040d201..3f38cd058781da39c3de25c3512d8b2964f6652d 100644 (file)
@@ -139,7 +139,8 @@ multiple of this. */
 #define mainFLASH_TIMER_BASE_RATE                      ( 200UL / portTICK_RATE_MS )\r
 \r
 /* The LED toggle by the check timer. */\r
-#define mainCHECK_LED                                          ( 3 )\r
+#define mainCHECK_LED                                          ( 1 )\r
+\r
 /*-----------------------------------------------------------*/\r
 \r
 /*\r