mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-04-20 13:31:58 -04:00
Complete the IAR FM3 demo.
This commit is contained in:
parent
b1727357b5
commit
a67536618a
|
@ -82,7 +82,7 @@ assembly files that include this header file. */
|
||||||
|
|
||||||
#define configUSE_PREEMPTION 1
|
#define configUSE_PREEMPTION 1
|
||||||
#define configUSE_IDLE_HOOK 1
|
#define configUSE_IDLE_HOOK 1
|
||||||
#define configUSE_TICK_HOOK 0
|
#define configUSE_TICK_HOOK 1
|
||||||
#define configCPU_CLOCK_HZ ( SystemCoreClock )
|
#define configCPU_CLOCK_HZ ( SystemCoreClock )
|
||||||
#define configTICK_RATE_HZ ( ( portTickType ) 1000 )
|
#define configTICK_RATE_HZ ( ( portTickType ) 1000 )
|
||||||
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 5 )
|
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 5 )
|
||||||
|
@ -99,7 +99,7 @@ assembly files that include this header file. */
|
||||||
#define configUSE_RECURSIVE_MUTEXES 1
|
#define configUSE_RECURSIVE_MUTEXES 1
|
||||||
#define configUSE_MALLOC_FAILED_HOOK 1
|
#define configUSE_MALLOC_FAILED_HOOK 1
|
||||||
#define configUSE_APPLICATION_TASK_TAG 0
|
#define configUSE_APPLICATION_TASK_TAG 0
|
||||||
#define configUSE_COUNTING_SEMAPHORES 0
|
#define configUSE_COUNTING_SEMAPHORES 1
|
||||||
|
|
||||||
/* Co-routine definitions. */
|
/* Co-routine definitions. */
|
||||||
#define configUSE_CO_ROUTINES 0
|
#define configUSE_CO_ROUTINES 0
|
||||||
|
|
|
@ -1746,6 +1746,878 @@
|
||||||
</plugin>
|
</plugin>
|
||||||
</debuggerPlugins>
|
</debuggerPlugins>
|
||||||
</configuration>
|
</configuration>
|
||||||
|
<configuration>
|
||||||
|
<name>Full_with_optimisation</name>
|
||||||
|
<toolchain>
|
||||||
|
<name>ARM</name>
|
||||||
|
</toolchain>
|
||||||
|
<debug>1</debug>
|
||||||
|
<settings>
|
||||||
|
<name>C-SPY</name>
|
||||||
|
<archiveVersion>2</archiveVersion>
|
||||||
|
<data>
|
||||||
|
<version>22</version>
|
||||||
|
<wantNonLocal>1</wantNonLocal>
|
||||||
|
<debug>1</debug>
|
||||||
|
<option>
|
||||||
|
<name>CInput</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CEndian</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CProcessor</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OCVariant</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>MacOverride</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>MacFile</name>
|
||||||
|
<state>$PROJ_DIR$\config\Ram_VTOR.mac</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>MemOverride</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>MemFile</name>
|
||||||
|
<state>$TOOLKIT_DIR$\CONFIG\debugger\Fujitsu\iomb9bf506n.ddf</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>RunToEnable</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>RunToName</name>
|
||||||
|
<state>main</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CExtraOptionsCheck</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CExtraOptions</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CFpuProcessor</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OCDDFArgumentProducer</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OCDownloadSuppressDownload</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OCDownloadVerifyAll</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OCProductVersion</name>
|
||||||
|
<state>5.50.5.51996</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OCDynDriverList</name>
|
||||||
|
<state>JLINK_ID</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OCLastSavedByProductVersion</name>
|
||||||
|
<state>6.20.1.52589</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OCDownloadAttachToProgram</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>UseFlashLoader</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CLowLevel</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OCBE8Slave</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>MacFile2</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CDevice</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>FlashLoadersV3</name>
|
||||||
|
<state>$PROJ_DIR$\config\flashloader\FlashLoader.board</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OCImagesSuppressCheck1</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OCImagesPath1</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OCImagesSuppressCheck2</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OCImagesPath2</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OCImagesSuppressCheck3</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OCImagesPath3</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OverrideDefFlashBoard</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OCImagesOffset1</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OCImagesOffset2</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OCImagesOffset3</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OCImagesUse1</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OCImagesUse2</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OCImagesUse3</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
</data>
|
||||||
|
</settings>
|
||||||
|
<settings>
|
||||||
|
<name>ARMSIM_ID</name>
|
||||||
|
<archiveVersion>2</archiveVersion>
|
||||||
|
<data>
|
||||||
|
<version>1</version>
|
||||||
|
<wantNonLocal>1</wantNonLocal>
|
||||||
|
<debug>1</debug>
|
||||||
|
<option>
|
||||||
|
<name>OCSimDriverInfo</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OCSimEnablePSP</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OCSimPspOverrideConfig</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OCSimPspConfigFile</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
</data>
|
||||||
|
</settings>
|
||||||
|
<settings>
|
||||||
|
<name>ANGEL_ID</name>
|
||||||
|
<archiveVersion>2</archiveVersion>
|
||||||
|
<data>
|
||||||
|
<version>0</version>
|
||||||
|
<wantNonLocal>1</wantNonLocal>
|
||||||
|
<debug>1</debug>
|
||||||
|
<option>
|
||||||
|
<name>CCAngelHeartbeat</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CAngelCommunication</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CAngelCommBaud</name>
|
||||||
|
<version>0</version>
|
||||||
|
<state>3</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CAngelCommPort</name>
|
||||||
|
<version>0</version>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>ANGELTCPIP</name>
|
||||||
|
<state>aaa.bbb.ccc.ddd</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>DoAngelLogfile</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>AngelLogFile</name>
|
||||||
|
<state>$PROJ_DIR$\cspycomm.log</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OCDriverInfo</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
</data>
|
||||||
|
</settings>
|
||||||
|
<settings>
|
||||||
|
<name>GDBSERVER_ID</name>
|
||||||
|
<archiveVersion>2</archiveVersion>
|
||||||
|
<data>
|
||||||
|
<version>0</version>
|
||||||
|
<wantNonLocal>1</wantNonLocal>
|
||||||
|
<debug>1</debug>
|
||||||
|
<option>
|
||||||
|
<name>OCDriverInfo</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>TCPIP</name>
|
||||||
|
<state>aaa.bbb.ccc.ddd</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>DoLogfile</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>LogFile</name>
|
||||||
|
<state>$PROJ_DIR$\cspycomm.log</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCJTagBreakpointRadio</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCJTagDoUpdateBreakpoints</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCJTagUpdateBreakpoints</name>
|
||||||
|
<state>_call_main</state>
|
||||||
|
</option>
|
||||||
|
</data>
|
||||||
|
</settings>
|
||||||
|
<settings>
|
||||||
|
<name>IARROM_ID</name>
|
||||||
|
<archiveVersion>2</archiveVersion>
|
||||||
|
<data>
|
||||||
|
<version>1</version>
|
||||||
|
<wantNonLocal>1</wantNonLocal>
|
||||||
|
<debug>1</debug>
|
||||||
|
<option>
|
||||||
|
<name>CRomLogFileCheck</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CRomLogFileEditB</name>
|
||||||
|
<state>$PROJ_DIR$\cspycomm.log</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CRomCommPort</name>
|
||||||
|
<version>0</version>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CRomCommBaud</name>
|
||||||
|
<version>0</version>
|
||||||
|
<state>7</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OCDriverInfo</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
</data>
|
||||||
|
</settings>
|
||||||
|
<settings>
|
||||||
|
<name>JLINK_ID</name>
|
||||||
|
<archiveVersion>2</archiveVersion>
|
||||||
|
<data>
|
||||||
|
<version>13</version>
|
||||||
|
<wantNonLocal>1</wantNonLocal>
|
||||||
|
<debug>1</debug>
|
||||||
|
<option>
|
||||||
|
<name>JLinkSpeed</name>
|
||||||
|
<state>32</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCJLinkDoLogfile</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCJLinkLogFile</name>
|
||||||
|
<state>$PROJ_DIR$\cspycomm.log</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCJLinkHWResetDelay</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OCDriverInfo</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>JLinkInitialSpeed</name>
|
||||||
|
<state>32</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCDoJlinkMultiTarget</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCScanChainNonARMDevices</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCJLinkMultiTarget</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCJLinkIRLength</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCJLinkCommRadio</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCJLinkTCPIP</name>
|
||||||
|
<state>aaa.bbb.ccc.ddd</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCJLinkSpeedRadioV2</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCUSBDevice</name>
|
||||||
|
<version>1</version>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCRDICatchReset</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCRDICatchUndef</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCRDICatchSWI</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCRDICatchData</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCRDICatchPrefetch</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCRDICatchIRQ</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCRDICatchFIQ</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCJLinkBreakpointRadio</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCJLinkDoUpdateBreakpoints</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCJLinkUpdateBreakpoints</name>
|
||||||
|
<state>_call_main</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCJLinkInterfaceRadio</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OCJLinkAttachSlave</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCJLinkResetList</name>
|
||||||
|
<version>5</version>
|
||||||
|
<state>7</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCJLinkInterfaceCmdLine</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCCatchCORERESET</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCCatchMMERR</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCCatchNOCPERR</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCCatchCHRERR</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCCatchSTATERR</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCCatchBUSERR</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCCatchINTERR</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCCatchHARDERR</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCCatchDummy</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OCJLinkScriptFile</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCJLinkUsbSerialNo</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCTcpIpAlt</name>
|
||||||
|
<version>0</version>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCJLinkTcpIpSerialNo</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCCpuClockEdit</name>
|
||||||
|
<state>72.0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCSwoClockAuto</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCSwoClockEdit</name>
|
||||||
|
<state>2000</state>
|
||||||
|
</option>
|
||||||
|
</data>
|
||||||
|
</settings>
|
||||||
|
<settings>
|
||||||
|
<name>LMIFTDI_ID</name>
|
||||||
|
<archiveVersion>2</archiveVersion>
|
||||||
|
<data>
|
||||||
|
<version>2</version>
|
||||||
|
<wantNonLocal>1</wantNonLocal>
|
||||||
|
<debug>1</debug>
|
||||||
|
<option>
|
||||||
|
<name>OCDriverInfo</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>LmiftdiSpeed</name>
|
||||||
|
<state>500</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCLmiftdiDoLogfile</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCLmiftdiLogFile</name>
|
||||||
|
<state>$PROJ_DIR$\cspycomm.log</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCLmiFtdiInterfaceRadio</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCLmiFtdiInterfaceCmdLine</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
</data>
|
||||||
|
</settings>
|
||||||
|
<settings>
|
||||||
|
<name>MACRAIGOR_ID</name>
|
||||||
|
<archiveVersion>2</archiveVersion>
|
||||||
|
<data>
|
||||||
|
<version>3</version>
|
||||||
|
<wantNonLocal>1</wantNonLocal>
|
||||||
|
<debug>1</debug>
|
||||||
|
<option>
|
||||||
|
<name>jtag</name>
|
||||||
|
<version>0</version>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>EmuSpeed</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>TCPIP</name>
|
||||||
|
<state>aaa.bbb.ccc.ddd</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>DoLogfile</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>LogFile</name>
|
||||||
|
<state>$PROJ_DIR$\cspycomm.log</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>DoEmuMultiTarget</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>EmuMultiTarget</name>
|
||||||
|
<state>0@ARM7TDMI</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>EmuHWReset</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CEmuCommBaud</name>
|
||||||
|
<version>0</version>
|
||||||
|
<state>4</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CEmuCommPort</name>
|
||||||
|
<version>0</version>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>jtago</name>
|
||||||
|
<version>0</version>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OCDriverInfo</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>UnusedAddr</name>
|
||||||
|
<state>0x00800000</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCMacraigorHWResetDelay</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCJTagBreakpointRadio</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCJTagDoUpdateBreakpoints</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCJTagUpdateBreakpoints</name>
|
||||||
|
<state>_call_main</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCMacraigorInterfaceRadio</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCMacraigorInterfaceCmdLine</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
</data>
|
||||||
|
</settings>
|
||||||
|
<settings>
|
||||||
|
<name>PEMICRO_ID</name>
|
||||||
|
<archiveVersion>2</archiveVersion>
|
||||||
|
<data>
|
||||||
|
<version>0</version>
|
||||||
|
<wantNonLocal>1</wantNonLocal>
|
||||||
|
<debug>1</debug>
|
||||||
|
<option>
|
||||||
|
<name>OCDriverInfo</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OCPEMicroAttachSlave</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCPEMicroInterfaceList</name>
|
||||||
|
<version>0</version>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCPEMicroResetDelay</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCPEMicroJtagSpeed</name>
|
||||||
|
<state>#UNINITIALIZED#</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCJPEMicroShowSettings</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>DoLogfile</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>LogFile</name>
|
||||||
|
<state>$PROJ_DIR$\cspycomm.log</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCPEMicroUSBDevice</name>
|
||||||
|
<version>0</version>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCPEMicroSerialPort</name>
|
||||||
|
<version>0</version>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCJPEMicroTCPIPAutoScanNetwork</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCPEMicroTCPIP</name>
|
||||||
|
<state>10.0.0.1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCPEMicroCommCmdLineProducer</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
</data>
|
||||||
|
</settings>
|
||||||
|
<settings>
|
||||||
|
<name>RDI_ID</name>
|
||||||
|
<archiveVersion>2</archiveVersion>
|
||||||
|
<data>
|
||||||
|
<version>2</version>
|
||||||
|
<wantNonLocal>1</wantNonLocal>
|
||||||
|
<debug>1</debug>
|
||||||
|
<option>
|
||||||
|
<name>CRDIDriverDll</name>
|
||||||
|
<state>###Uninitialized###</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CRDILogFileCheck</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CRDILogFileEdit</name>
|
||||||
|
<state>$PROJ_DIR$\cspycomm.log</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCRDIHWReset</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCRDICatchReset</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCRDICatchUndef</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCRDICatchSWI</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCRDICatchData</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCRDICatchPrefetch</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCRDICatchIRQ</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCRDICatchFIQ</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OCDriverInfo</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
</data>
|
||||||
|
</settings>
|
||||||
|
<settings>
|
||||||
|
<name>STLINK_ID</name>
|
||||||
|
<archiveVersion>2</archiveVersion>
|
||||||
|
<data>
|
||||||
|
<version>2</version>
|
||||||
|
<wantNonLocal>1</wantNonLocal>
|
||||||
|
<debug>1</debug>
|
||||||
|
<option>
|
||||||
|
<name>OCDriverInfo</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCSTLinkInterfaceRadio</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCSTLinkInterfaceCmdLine</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCSTLinkResetList</name>
|
||||||
|
<version>1</version>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCCpuClockEdit</name>
|
||||||
|
<state>72.0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCSwoClockAuto</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCSwoClockEdit</name>
|
||||||
|
<state>2000</state>
|
||||||
|
</option>
|
||||||
|
</data>
|
||||||
|
</settings>
|
||||||
|
<settings>
|
||||||
|
<name>THIRDPARTY_ID</name>
|
||||||
|
<archiveVersion>2</archiveVersion>
|
||||||
|
<data>
|
||||||
|
<version>0</version>
|
||||||
|
<wantNonLocal>1</wantNonLocal>
|
||||||
|
<debug>1</debug>
|
||||||
|
<option>
|
||||||
|
<name>CThirdPartyDriverDll</name>
|
||||||
|
<state>###Uninitialized###</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CThirdPartyLogFileCheck</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CThirdPartyLogFileEditB</name>
|
||||||
|
<state>$PROJ_DIR$\cspycomm.log</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OCDriverInfo</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
</data>
|
||||||
|
</settings>
|
||||||
|
<debuggerPlugins>
|
||||||
|
<plugin>
|
||||||
|
<file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin</file>
|
||||||
|
<loadFlag>0</loadFlag>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin</file>
|
||||||
|
<loadFlag>0</loadFlag>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file>
|
||||||
|
<loadFlag>0</loadFlag>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<file>$TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin</file>
|
||||||
|
<loadFlag>0</loadFlag>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<file>$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin</file>
|
||||||
|
<loadFlag>0</loadFlag>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<file>$TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin</file>
|
||||||
|
<loadFlag>0</loadFlag>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<file>$TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin</file>
|
||||||
|
<loadFlag>0</loadFlag>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<file>$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin</file>
|
||||||
|
<loadFlag>0</loadFlag>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin</file>
|
||||||
|
<loadFlag>0</loadFlag>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin</file>
|
||||||
|
<loadFlag>0</loadFlag>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file>
|
||||||
|
<loadFlag>0</loadFlag>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<file>$EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin</file>
|
||||||
|
<loadFlag>1</loadFlag>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<file>$EW_DIR$\common\plugins\FreeRTOS\FreeRTOSPlugin.ewplugin</file>
|
||||||
|
<loadFlag>0</loadFlag>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<file>$EW_DIR$\common\plugins\OpenRTOS\OpenRTOSPlugin.ewplugin</file>
|
||||||
|
<loadFlag>0</loadFlag>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file>
|
||||||
|
<loadFlag>0</loadFlag>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<file>$EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin</file>
|
||||||
|
<loadFlag>1</loadFlag>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<file>$EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin</file>
|
||||||
|
<loadFlag>1</loadFlag>
|
||||||
|
</plugin>
|
||||||
|
</debuggerPlugins>
|
||||||
|
</configuration>
|
||||||
</project>
|
</project>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1797,6 +1797,904 @@
|
||||||
<data/>
|
<data/>
|
||||||
</settings>
|
</settings>
|
||||||
</configuration>
|
</configuration>
|
||||||
|
<configuration>
|
||||||
|
<name>Full_with_optimisation</name>
|
||||||
|
<toolchain>
|
||||||
|
<name>ARM</name>
|
||||||
|
</toolchain>
|
||||||
|
<debug>1</debug>
|
||||||
|
<settings>
|
||||||
|
<name>General</name>
|
||||||
|
<archiveVersion>3</archiveVersion>
|
||||||
|
<data>
|
||||||
|
<version>21</version>
|
||||||
|
<wantNonLocal>1</wantNonLocal>
|
||||||
|
<debug>1</debug>
|
||||||
|
<option>
|
||||||
|
<name>ExePath</name>
|
||||||
|
<state>Full_with_optimisation\Exe</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>ObjPath</name>
|
||||||
|
<state>Full_with_optimisation\Obj</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>ListPath</name>
|
||||||
|
<state>Full_with_optimisation\List</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>Variant</name>
|
||||||
|
<version>19</version>
|
||||||
|
<state>37</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>GEndianMode</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>Input variant</name>
|
||||||
|
<version>3</version>
|
||||||
|
<state>3</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>Input description</name>
|
||||||
|
<state>No specifier n, no float nor long long.</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>Output variant</name>
|
||||||
|
<version>2</version>
|
||||||
|
<state>3</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>Output description</name>
|
||||||
|
<state>No specifier a, A.</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>GOutputBinary</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>FPU</name>
|
||||||
|
<version>2</version>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OGCoreOrChip</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>GRuntimeLibSelect</name>
|
||||||
|
<version>0</version>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>GRuntimeLibSelectSlave</name>
|
||||||
|
<version>0</version>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>RTDescription</name>
|
||||||
|
<state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OGProductVersion</name>
|
||||||
|
<state>5.50.5.51996</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OGLastSavedByProductVersion</name>
|
||||||
|
<state>6.20.1.52589</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>GeneralEnableMisra</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>GeneralMisraVerbose</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OGChipSelectEditMenu</name>
|
||||||
|
<state>MB9BF506N Fujitsu MB9BF506N</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>GenLowLevelInterface</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>GEndianModeBE</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OGBufferedTerminalOutput</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>GenStdoutInterface</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>GeneralMisraRules98</name>
|
||||||
|
<version>0</version>
|
||||||
|
<state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>GeneralMisraVer</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>GeneralMisraRules04</name>
|
||||||
|
<version>0</version>
|
||||||
|
<state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>RTConfigPath2</name>
|
||||||
|
<state>$TOOLKIT_DIR$\INC\c\DLib_Config_Normal.h</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>GFPUCoreSlave</name>
|
||||||
|
<version>19</version>
|
||||||
|
<state>37</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>GBECoreSlave</name>
|
||||||
|
<version>19</version>
|
||||||
|
<state>37</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OGUseCmsis</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OGUseCmsisDspLib</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
</data>
|
||||||
|
</settings>
|
||||||
|
<settings>
|
||||||
|
<name>ICCARM</name>
|
||||||
|
<archiveVersion>2</archiveVersion>
|
||||||
|
<data>
|
||||||
|
<version>28</version>
|
||||||
|
<wantNonLocal>1</wantNonLocal>
|
||||||
|
<debug>1</debug>
|
||||||
|
<option>
|
||||||
|
<name>CCDefines</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCPreprocFile</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCPreprocComments</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCPreprocLine</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCListCFile</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCListCMnemonics</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCListCMessages</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCListAssFile</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCListAssSource</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCEnableRemarks</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCDiagSuppress</name>
|
||||||
|
<state>Pa082</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCDiagRemark</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCDiagWarning</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCDiagError</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCObjPrefix</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCAllowList</name>
|
||||||
|
<version>1</version>
|
||||||
|
<state>1111111</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCDebugInfo</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IEndianMode</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IProcessor</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IExtraOptionsCheck</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IExtraOptions</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCLangConformance</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCSignedPlainChar</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCRequirePrototypes</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCMultibyteSupport</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCDiagWarnAreErr</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCCompilerRuntimeInfo</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IFpuProcessor</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OutputFile</name>
|
||||||
|
<state>$FILE_BNAME$.o</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCLibConfigHeader</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>PreInclude</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CompilerMisraOverride</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCIncludePath2</name>
|
||||||
|
<state>$PROJ_DIR$/Fujitu_source</state>
|
||||||
|
<state>$PROJ_DIR$</state>
|
||||||
|
<state>$PROJ_DIR$/../../Source/include</state>
|
||||||
|
<state>$PROJ_DIR$/../../Source/portable/IAR/ARM_CM3</state>
|
||||||
|
<state>$PROJ_DIR$/../common/include</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCStdIncCheck</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCCodeSection</name>
|
||||||
|
<state>.text</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IInterwork2</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IProcessorMode2</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCOptLevel</name>
|
||||||
|
<state>3</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCOptStrategy</name>
|
||||||
|
<version>0</version>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCOptLevelSlave</name>
|
||||||
|
<state>3</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CompilerMisraRules98</name>
|
||||||
|
<version>0</version>
|
||||||
|
<state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CompilerMisraRules04</name>
|
||||||
|
<version>0</version>
|
||||||
|
<state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCPosIndRopi</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCPosIndRwpi</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CCPosIndNoDynInit</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IccLang</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IccCDialect</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IccAllowVLA</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IccCppDialect</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IccExceptions</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IccRTTI</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IccStaticDestr</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IccCppInlineSemantics</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IccCmsis</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IccFloatSemantics</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
</data>
|
||||||
|
</settings>
|
||||||
|
<settings>
|
||||||
|
<name>AARM</name>
|
||||||
|
<archiveVersion>2</archiveVersion>
|
||||||
|
<data>
|
||||||
|
<version>8</version>
|
||||||
|
<wantNonLocal>1</wantNonLocal>
|
||||||
|
<debug>1</debug>
|
||||||
|
<option>
|
||||||
|
<name>AObjPrefix</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>AEndian</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>ACaseSensitivity</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>MacroChars</name>
|
||||||
|
<version>0</version>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>AWarnEnable</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>AWarnWhat</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>AWarnOne</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>AWarnRange1</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>AWarnRange2</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>ADebug</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>AltRegisterNames</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>ADefines</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>AList</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>AListHeader</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>AListing</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>Includes</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>MacDefs</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>MacExps</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>MacExec</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OnlyAssed</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>MultiLine</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>PageLengthCheck</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>PageLength</name>
|
||||||
|
<state>80</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>TabSpacing</name>
|
||||||
|
<state>8</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>AXRef</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>AXRefDefines</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>AXRefInternal</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>AXRefDual</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>AProcessor</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>AFpuProcessor</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>AOutputFile</name>
|
||||||
|
<state>$FILE_BNAME$.o</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>AMultibyteSupport</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>ALimitErrorsCheck</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>ALimitErrorsEdit</name>
|
||||||
|
<state>100</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>AIgnoreStdInclude</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>AUserIncludes</name>
|
||||||
|
<state>$PROJ_DIR$</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>AExtraOptionsCheckV2</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>AExtraOptionsV2</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
</data>
|
||||||
|
</settings>
|
||||||
|
<settings>
|
||||||
|
<name>OBJCOPY</name>
|
||||||
|
<archiveVersion>0</archiveVersion>
|
||||||
|
<data>
|
||||||
|
<version>1</version>
|
||||||
|
<wantNonLocal>1</wantNonLocal>
|
||||||
|
<debug>1</debug>
|
||||||
|
<option>
|
||||||
|
<name>OOCOutputFormat</name>
|
||||||
|
<version>2</version>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OCOutputOverride</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OOCOutputFile</name>
|
||||||
|
<state>RTOSDemo_IAR.srec</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OOCCommandLineProducer</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>OOCObjCopyEnable</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
</data>
|
||||||
|
</settings>
|
||||||
|
<settings>
|
||||||
|
<name>CUSTOM</name>
|
||||||
|
<archiveVersion>3</archiveVersion>
|
||||||
|
<data>
|
||||||
|
<extensions></extensions>
|
||||||
|
<cmdline></cmdline>
|
||||||
|
</data>
|
||||||
|
</settings>
|
||||||
|
<settings>
|
||||||
|
<name>BICOMP</name>
|
||||||
|
<archiveVersion>0</archiveVersion>
|
||||||
|
<data/>
|
||||||
|
</settings>
|
||||||
|
<settings>
|
||||||
|
<name>BUILDACTION</name>
|
||||||
|
<archiveVersion>1</archiveVersion>
|
||||||
|
<data>
|
||||||
|
<prebuild></prebuild>
|
||||||
|
<postbuild></postbuild>
|
||||||
|
</data>
|
||||||
|
</settings>
|
||||||
|
<settings>
|
||||||
|
<name>ILINK</name>
|
||||||
|
<archiveVersion>0</archiveVersion>
|
||||||
|
<data>
|
||||||
|
<version>13</version>
|
||||||
|
<wantNonLocal>1</wantNonLocal>
|
||||||
|
<debug>1</debug>
|
||||||
|
<option>
|
||||||
|
<name>IlinkLibIOConfig</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>XLinkMisraHandler</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkInputFileSlave</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkOutputFile</name>
|
||||||
|
<state>RTOSDemo_IAR.out</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkDebugInfoEnable</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkKeepSymbols</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkRawBinaryFile</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkRawBinarySymbol</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkRawBinarySegment</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkRawBinaryAlign</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkDefines</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkConfigDefines</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkMapFile</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkLogFile</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkLogInitialization</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkLogModule</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkLogSection</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkLogVeneer</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkIcfOverride</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkIcfFile</name>
|
||||||
|
<state>$PROJ_DIR$\config\MB9BF506.icf</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkIcfFileSlave</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkEnableRemarks</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkSuppressDiags</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkTreatAsRem</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkTreatAsWarn</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkTreatAsErr</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkWarningsAreErrors</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkUseExtraOptions</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkExtraOptions</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkLowLevelInterfaceSlave</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkAutoLibEnable</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkAdditionalLibs</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkOverrideProgramEntryLabel</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkProgramEntryLabelSelect</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkProgramEntryLabel</name>
|
||||||
|
<state>__iar_program_start</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>DoFill</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>FillerByte</name>
|
||||||
|
<state>0xFF</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>FillerStart</name>
|
||||||
|
<state>0x0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>FillerEnd</name>
|
||||||
|
<state>0x0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CrcSize</name>
|
||||||
|
<version>0</version>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CrcAlign</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CrcAlgo</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CrcPoly</name>
|
||||||
|
<state>0x11021</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CrcCompl</name>
|
||||||
|
<version>0</version>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CrcBitOrder</name>
|
||||||
|
<version>0</version>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CrcInitialValue</name>
|
||||||
|
<state>0x0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>DoCrc</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkBE8Slave</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkBufferedTerminalOutput</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkStdoutInterfaceSlave</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>CrcFullSize</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkIElfToolPostProcess</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkLogAutoLibSelect</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkLogRedirSymbols</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkLogUnusedFragments</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkCrcReverseByteOrder</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkCrcUseAsInput</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkOptInline</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkOptExceptionsAllow</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkOptExceptionsForce</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkCmsis</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkOptMergeDuplSections</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkOptUseVfe</name>
|
||||||
|
<state>1</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IlinkOptForceVfe</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
</data>
|
||||||
|
</settings>
|
||||||
|
<settings>
|
||||||
|
<name>IARCHIVE</name>
|
||||||
|
<archiveVersion>0</archiveVersion>
|
||||||
|
<data>
|
||||||
|
<version>0</version>
|
||||||
|
<wantNonLocal>1</wantNonLocal>
|
||||||
|
<debug>1</debug>
|
||||||
|
<option>
|
||||||
|
<name>IarchiveInputs</name>
|
||||||
|
<state></state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IarchiveOverride</name>
|
||||||
|
<state>0</state>
|
||||||
|
</option>
|
||||||
|
<option>
|
||||||
|
<name>IarchiveOutput</name>
|
||||||
|
<state>###Unitialized###</state>
|
||||||
|
</option>
|
||||||
|
</data>
|
||||||
|
</settings>
|
||||||
|
<settings>
|
||||||
|
<name>BILINK</name>
|
||||||
|
<archiveVersion>0</archiveVersion>
|
||||||
|
<data/>
|
||||||
|
</settings>
|
||||||
|
</configuration>
|
||||||
<group>
|
<group>
|
||||||
<name>Common_Demo_Source</name>
|
<name>Common_Demo_Source</name>
|
||||||
<excluded>
|
<excluded>
|
||||||
|
@ -1808,6 +2706,12 @@
|
||||||
<file>
|
<file>
|
||||||
<name>$PROJ_DIR$\..\Common\Minimal\blocktim.c</name>
|
<name>$PROJ_DIR$\..\Common\Minimal\blocktim.c</name>
|
||||||
</file>
|
</file>
|
||||||
|
<file>
|
||||||
|
<name>$PROJ_DIR$\..\Common\Minimal\comtest.c</name>
|
||||||
|
</file>
|
||||||
|
<file>
|
||||||
|
<name>$PROJ_DIR$\..\Common\Minimal\countsem.c</name>
|
||||||
|
</file>
|
||||||
<file>
|
<file>
|
||||||
<name>$PROJ_DIR$\..\Common\Minimal\death.c</name>
|
<name>$PROJ_DIR$\..\Common\Minimal\death.c</name>
|
||||||
</file>
|
</file>
|
||||||
|
@ -1820,6 +2724,9 @@
|
||||||
<file>
|
<file>
|
||||||
<name>$PROJ_DIR$\..\Common\Minimal\GenQTest.c</name>
|
<name>$PROJ_DIR$\..\Common\Minimal\GenQTest.c</name>
|
||||||
</file>
|
</file>
|
||||||
|
<file>
|
||||||
|
<name>$PROJ_DIR$\..\Common\Minimal\PollQ.c</name>
|
||||||
|
</file>
|
||||||
<file>
|
<file>
|
||||||
<name>$PROJ_DIR$\..\Common\Minimal\QPeek.c</name>
|
<name>$PROJ_DIR$\..\Common\Minimal\QPeek.c</name>
|
||||||
</file>
|
</file>
|
||||||
|
@ -1882,6 +2789,7 @@
|
||||||
<name>$PROJ_DIR$\main_blinky.c</name>
|
<name>$PROJ_DIR$\main_blinky.c</name>
|
||||||
<excluded>
|
<excluded>
|
||||||
<configuration>Full</configuration>
|
<configuration>Full</configuration>
|
||||||
|
<configuration>Full_with_optimisation</configuration>
|
||||||
</excluded>
|
</excluded>
|
||||||
</file>
|
</file>
|
||||||
<file>
|
<file>
|
||||||
|
@ -1890,6 +2798,12 @@
|
||||||
<configuration>Blinky</configuration>
|
<configuration>Blinky</configuration>
|
||||||
</excluded>
|
</excluded>
|
||||||
</file>
|
</file>
|
||||||
|
<file>
|
||||||
|
<name>$PROJ_DIR$\serial.c</name>
|
||||||
|
<excluded>
|
||||||
|
<configuration>Blinky</configuration>
|
||||||
|
</excluded>
|
||||||
|
</file>
|
||||||
</project>
|
</project>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -63,16 +63,14 @@
|
||||||
*
|
*
|
||||||
* main-full.c (this file) defines a comprehensive demo that creates many
|
* main-full.c (this file) defines a comprehensive demo that creates many
|
||||||
* tasks, queues, semaphores and timers. It also demonstrates how Cortex-M3
|
* tasks, queues, semaphores and timers. It also demonstrates how Cortex-M3
|
||||||
* interrupts can interact with FreeRTOS tasks/timers, and implements a simple
|
* interrupts can interact with FreeRTOS tasks/timers.
|
||||||
* and small interactive web server.
|
|
||||||
*
|
*
|
||||||
* This project runs on the SmartFusion A2F-EVAL-KIT evaluation board, which
|
* This project runs on the SK-FM3-100PMC evaluation board, which is populated
|
||||||
* is populated with an A2F200M3F SmartFusion mixed signal FPGA. The A2F200M3F
|
* with an MB9BF5006N Cortex-M3 based microcontroller.
|
||||||
* incorporates a Cortex-M3 microcontroller.
|
|
||||||
*
|
*
|
||||||
* The main() Function:
|
* The main() Function:
|
||||||
* main() creates two demo specific software timers, one demo specific queue,
|
* main() creates three demo specific software timers, one demo specific queue,
|
||||||
* and three demo specific tasks. It then creates a whole host of 'standard
|
* and two demo specific tasks. It then creates a whole host of 'standard
|
||||||
* demo' tasks/queues/semaphores, before starting the scheduler. The demo
|
* demo' tasks/queues/semaphores, before starting the scheduler. The demo
|
||||||
* specific tasks and timers are described in the comments here. The standard
|
* specific tasks and timers are described in the comments here. The standard
|
||||||
* demo tasks are described on the FreeRTOS.org web site.
|
* demo tasks are described on the FreeRTOS.org web site.
|
||||||
|
@ -81,6 +79,9 @@
|
||||||
* included to both test the FreeRTOS port, and provide examples of how the
|
* included to both test the FreeRTOS port, and provide examples of how the
|
||||||
* various FreeRTOS API functions can be used.
|
* various FreeRTOS API functions can be used.
|
||||||
*
|
*
|
||||||
|
* This demo creates 43 tasks in total. If you want a simpler demo, use the
|
||||||
|
* Blinky build configuration.
|
||||||
|
*
|
||||||
* The Demo Specific Queue Send Task:
|
* The Demo Specific Queue Send Task:
|
||||||
* The queue send task is implemented by the prvQueueSendTask() function in
|
* The queue send task is implemented by the prvQueueSendTask() function in
|
||||||
* this file. prvQueueSendTask() sits in a loop that causes it to repeatedly
|
* this file. prvQueueSendTask() sits in a loop that causes it to repeatedly
|
||||||
|
@ -93,22 +94,25 @@
|
||||||
* in this file. prvQueueReceiveTask() sits in a loop that causes it to
|
* in this file. prvQueueReceiveTask() sits in a loop that causes it to
|
||||||
* repeatedly attempt to read data from the queue that was created within
|
* repeatedly attempt to read data from the queue that was created within
|
||||||
* main(). When data is received, the task checks the value of the data, and
|
* main(). When data is received, the task checks the value of the data, and
|
||||||
* if the value equals the expected 100, toggles the green LED. The 'block
|
* if the value equals the expected 100, toggles an LED in the 7 segment display
|
||||||
* time' parameter passed to the queue receive function specifies that the task
|
* (see the documentation page for this demo on the FreeRTOS.org site to see
|
||||||
* should be held in the Blocked state indefinitely to wait for data to be
|
* which LED is used). The 'block time' parameter passed to the queue receive
|
||||||
* available on the queue. The queue receive task will only leave the Blocked
|
* function specifies that the task should be held in the Blocked state
|
||||||
* state when the queue send task writes to the queue. As the queue send task
|
* indefinitely to wait for data to be available on the queue. The queue
|
||||||
* writes to the queue every 200 milliseconds, the queue receive task leaves
|
* receive task will only leave the Blocked state when the queue send task
|
||||||
* the Blocked state every 200 milliseconds, and therefore toggles the LED
|
* writes to the queue. As the queue send task writes to the queue every 200
|
||||||
* every 200 milliseconds.
|
* milliseconds, the queue receive task leaves the Blocked state every 200
|
||||||
|
* milliseconds, and therefore toggles the LED every 200 milliseconds.
|
||||||
*
|
*
|
||||||
* The Demo Specific LED Software Timer and the Button Interrupt:
|
* The Demo Specific LED Software Timer and the Button Interrupt:
|
||||||
* The user button SW1 is configured to generate an interrupt each time it is
|
* The user button SW2 is configured to generate an interrupt each time it is
|
||||||
* pressed. The interrupt service routine switches an LED on, and resets the
|
* pressed. The interrupt service routine switches an LED on, and resets the
|
||||||
* LED software timer. The LED timer has a 5000 millisecond (5 second) period,
|
* LED software timer. The LED timer has a 5000 millisecond (5 second) period,
|
||||||
* and uses a callback function that is defined to just turn the LED off again.
|
* and uses a callback function that is defined to just turn the LED off again.
|
||||||
* Therefore, pressing the user button will turn the LED on, and the LED will
|
* Therefore, pressing the user button will turn the LED on, and the LED will
|
||||||
* remain on until a full five seconds pass without the button being pressed.
|
* remain on until a full five seconds pass without the button being pressed.
|
||||||
|
* See the documentation page for this demo on the FreeRTOS.org web site to see
|
||||||
|
* which LED is used.
|
||||||
*
|
*
|
||||||
* The Demo Specific "Check" Callback Function:
|
* The Demo Specific "Check" Callback Function:
|
||||||
* This is called each time the 'check' timer expires. The check timer
|
* This is called each time the 'check' timer expires. The check timer
|
||||||
|
@ -119,18 +123,23 @@
|
||||||
* the mainCHECK_LED definition each time it executes. Therefore, if LED
|
* the mainCHECK_LED definition each time it executes. Therefore, if LED
|
||||||
* mainCHECK_LED is toggling every three seconds, then no error have been found.
|
* mainCHECK_LED is toggling every three seconds, then no error have been found.
|
||||||
* If LED mainCHECK_LED is toggling every 500ms, then at least one errors has
|
* If LED mainCHECK_LED is toggling every 500ms, then at least one errors has
|
||||||
* been found. The task in which the error was discovered is displayed at the
|
* been found. The variable pcStatusMessage is set to a string that indicates
|
||||||
* bottom of the "task stats" page that is served by the embedded web server.
|
* which task reported an error. See the documentation page for this demo on
|
||||||
|
* the FreeRTOS.org web site to see which LED in the 7 segment display is used.
|
||||||
|
*
|
||||||
|
* The Demo Specific "Digit Counter" Callback Function:
|
||||||
|
* This is called each time the 'digit counter' timer expires. It causes the
|
||||||
|
* digits 0 to 9 to be displayed in turn as the first character of the two
|
||||||
|
* character display. The LEDs in the other digit of the two character
|
||||||
|
* display are used as general purpose LEDs, as described in this comment block.
|
||||||
*
|
*
|
||||||
* The Demo Specific Idle Hook Function:
|
* The Demo Specific Idle Hook Function:
|
||||||
* The idle hook function demonstrates how to query the amount of FreeRTOS heap
|
* The idle hook function demonstrates how to query the amount of FreeRTOS heap
|
||||||
* space that is remaining (see vApplicationIdleHook() defined in this file).
|
* space that is remaining (see vApplicationIdleHook() defined in this file).
|
||||||
*
|
*
|
||||||
* The Web Server Task:
|
* The Demo Specific Tick Hook Function:
|
||||||
* The IP address used by the SmartFusion target is configured by the
|
* The tick hook function is used to test the interrupt safe software timer
|
||||||
* definitions configIP_ADDR0 to configIP_ADDR3, which are located in the
|
* functionality.
|
||||||
* FreeRTOSConfig.h header file. See the documentation page for this example
|
|
||||||
* on the http://www.FreeRTOS.org web site for further connection information.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Kernel includes. */
|
/* Kernel includes. */
|
||||||
|
@ -154,33 +163,46 @@
|
||||||
#include "QPeek.h"
|
#include "QPeek.h"
|
||||||
#include "recmutex.h"
|
#include "recmutex.h"
|
||||||
#include "TimerDemo.h"
|
#include "TimerDemo.h"
|
||||||
|
#include "comtest2.h"
|
||||||
/* Priorities at which the tasks are created. */
|
#include "PollQ.h"
|
||||||
#define mainQUEUE_RECEIVE_TASK_PRIORITY ( tskIDLE_PRIORITY + 2 )
|
#include "countsem.h"
|
||||||
#define mainQUEUE_SEND_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )
|
#include "dynamic.h"
|
||||||
|
|
||||||
/* The rate at which data is sent to the queue, specified in milliseconds, and
|
/* The rate at which data is sent to the queue, specified in milliseconds, and
|
||||||
converted to ticks using the portTICK_RATE_MS constant. */
|
converted to ticks using the portTICK_RATE_MS constant. */
|
||||||
#define mainQUEUE_SEND_FREQUENCY_MS ( 200 / portTICK_RATE_MS )
|
#define mainQUEUE_SEND_FREQUENCY_MS ( 200 / portTICK_RATE_MS )
|
||||||
|
|
||||||
/* The number of items the queue can hold. This is 1 as the receive task
|
/* The number of items the queue can hold. This is 1 as the receive task
|
||||||
will remove items as they are added, meaning the send task should always find
|
will remove items as they are added, meaning the send task should always find
|
||||||
the queue empty. */
|
the queue empty. */
|
||||||
#define mainQUEUE_LENGTH ( 1 )
|
#define mainQUEUE_LENGTH ( 1 )
|
||||||
|
|
||||||
/* The LED toggled by the check timer callback function. */
|
/* The LED toggled by the check timer callback function. This is an LED in the
|
||||||
|
second digit of the two digit 7 segment display. See the documentation page
|
||||||
|
for this demo on the FreeRTOS.org web site to see which LED this relates to. */
|
||||||
#define mainCHECK_LED 0x07UL
|
#define mainCHECK_LED 0x07UL
|
||||||
|
|
||||||
/* The LED toggle by the queue receive task. */
|
/* The LED toggle by the queue receive task. This is an LED in the second digit
|
||||||
#define mainTASK_CONTROLLED_LED 0x04UL
|
of the two digit 7 segment display. See the documentation page for this demo on
|
||||||
|
the FreeRTOS.org web site to see which LED this relates to. */
|
||||||
|
#define mainTASK_CONTROLLED_LED 0x06UL
|
||||||
|
|
||||||
/* The LED turned on by the button interrupt, and turned off by the LED timer. */
|
/* The LED turned on by the button interrupt, and turned off by the LED timer.
|
||||||
|
This is an LED in the second digit of the two digit 7 segment display. See the
|
||||||
|
documentation page for this demo on the FreeRTOS.org web site to see which LED
|
||||||
|
this relates to. */
|
||||||
#define mainTIMER_CONTROLLED_LED 0x05UL
|
#define mainTIMER_CONTROLLED_LED 0x05UL
|
||||||
|
|
||||||
|
/* The LED used by the comtest tasks. See the comtest.c file for more
|
||||||
|
information. The LEDs used by the comtest task are in the second digit of the
|
||||||
|
two digit 7 segment display. See the documentation page for this demo on the
|
||||||
|
FreeRTOS.org web site to see which LEDs this relates to. */
|
||||||
|
#define mainCOM_TEST_LED ( 3 )
|
||||||
|
|
||||||
/* Constant used by the standard timer test functions. */
|
/* Constant used by the standard timer test functions. */
|
||||||
#define mainTIMER_TEST_PERIOD ( 50 )
|
#define mainTIMER_TEST_PERIOD ( 50 )
|
||||||
|
|
||||||
/* Priorities used by the various different tasks. */
|
/* Priorities used by the various different standard demo tasks. */
|
||||||
#define mainCHECK_TASK_PRIORITY ( configMAX_PRIORITIES - 1 )
|
#define mainCHECK_TASK_PRIORITY ( configMAX_PRIORITIES - 1 )
|
||||||
#define mainQUEUE_POLL_PRIORITY ( tskIDLE_PRIORITY + 1 )
|
#define mainQUEUE_POLL_PRIORITY ( tskIDLE_PRIORITY + 1 )
|
||||||
#define mainSEM_TEST_PRIORITY ( tskIDLE_PRIORITY + 1 )
|
#define mainSEM_TEST_PRIORITY ( tskIDLE_PRIORITY + 1 )
|
||||||
|
@ -189,25 +211,36 @@ the queue empty. */
|
||||||
#define mainFLASH_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )
|
#define mainFLASH_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )
|
||||||
#define mainINTEGER_TASK_PRIORITY ( tskIDLE_PRIORITY )
|
#define mainINTEGER_TASK_PRIORITY ( tskIDLE_PRIORITY )
|
||||||
#define mainGEN_QUEUE_TASK_PRIORITY ( tskIDLE_PRIORITY )
|
#define mainGEN_QUEUE_TASK_PRIORITY ( tskIDLE_PRIORITY )
|
||||||
|
#define mainCOM_TEST_PRIORITY ( tskIDLE_PRIORITY + 2 )
|
||||||
|
|
||||||
|
/* Priorities defined in this main-full.c file. */
|
||||||
|
#define mainQUEUE_RECEIVE_TASK_PRIORITY ( tskIDLE_PRIORITY + 2 )
|
||||||
|
#define mainQUEUE_SEND_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )
|
||||||
|
|
||||||
/* The period at which the check timer will expire, in ms, provided no errors
|
/* The period at which the check timer will expire, in ms, provided no errors
|
||||||
have been reported by any of the standard demo tasks. */
|
have been reported by any of the standard demo tasks. ms are converted to the
|
||||||
#define mainCHECK_TIMER_PERIOD_MS ( 3000UL / portTICK_RATE_MS )
|
equivalent in ticks using the portTICK_RATE_MS constant. */
|
||||||
|
#define mainCHECK_TIMER_PERIOD_MS ( 3000UL / portTICK_RATE_MS )
|
||||||
|
|
||||||
/* The period at which the check timer will expire, in ms, if an error has been
|
/* The period at which the check timer will expire, in ms, if an error has been
|
||||||
reported in one of the standard demo tasks. */
|
reported in one of the standard demo tasks. ms are converted to the equivalent
|
||||||
#define mainERROR_CHECK_TIMER_PERIOD_MS ( 500UL / portTICK_RATE_MS )
|
in ticks using the portTICK_RATE_MS constant. */
|
||||||
|
#define mainERROR_CHECK_TIMER_PERIOD_MS ( 500UL / portTICK_RATE_MS )
|
||||||
|
|
||||||
/* The period at which the digit counter timer will expire, in ms, and converted
|
/* The period at which the digit counter timer will expire, in ms, and converted
|
||||||
to ticks using the portTICK_RATE_MS constant. */
|
to ticks using the portTICK_RATE_MS constant. */
|
||||||
#define mainDIGIT_COUNTER_TIMER_PERIOD_MS ( 250UL / portTICK_RATE_MS )
|
#define mainDIGIT_COUNTER_TIMER_PERIOD_MS ( 250UL / portTICK_RATE_MS )
|
||||||
|
|
||||||
/* The LED will remain on until the button has not been pushed for a full
|
/* The LED will remain on until the button has not been pushed for a full
|
||||||
5000ms. */
|
5000ms. */
|
||||||
#define mainLED_TIMER_PERIOD_MS ( 5000UL / portTICK_RATE_MS )
|
#define mainLED_TIMER_PERIOD_MS ( 5000UL / portTICK_RATE_MS )
|
||||||
|
|
||||||
/* A zero block time. */
|
/* A zero block time. */
|
||||||
#define mainDONT_BLOCK ( 0UL )
|
#define mainDONT_BLOCK ( 0UL )
|
||||||
|
|
||||||
|
/* Baud rate used by the comtest tasks. */
|
||||||
|
#define mainCOM_TEST_BAUD_RATE ( 115200UL )
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -216,14 +249,14 @@ to ticks using the portTICK_RATE_MS constant. */
|
||||||
static void prvSetupHardware( void );
|
static void prvSetupHardware( void );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The tasks as described in the comments at the top of this file.
|
* The application specific (not common demo) tasks as described in the comments
|
||||||
|
* at the top of this file.
|
||||||
*/
|
*/
|
||||||
static void prvQueueReceiveTask( void *pvParameters );
|
static void prvQueueReceiveTask( void *pvParameters );
|
||||||
static void prvQueueSendTask( void *pvParameters );
|
static void prvQueueSendTask( void *pvParameters );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The LED timer callback function. This does nothing but switch the red LED
|
* The LED timer callback function. This does nothing but switch an LED off.
|
||||||
* off.
|
|
||||||
*/
|
*/
|
||||||
static void prvLEDTimerCallback( xTimerHandle xTimer );
|
static void prvLEDTimerCallback( xTimerHandle xTimer );
|
||||||
|
|
||||||
|
@ -252,11 +285,11 @@ static xQueueHandle xQueue = NULL;
|
||||||
function. */
|
function. */
|
||||||
static xTimerHandle xLEDTimer = NULL;
|
static xTimerHandle xLEDTimer = NULL;
|
||||||
|
|
||||||
/* The counter software timer. This displays a counting digit on one of the
|
/* The digit counter software timer. This displays a counting digit on one half
|
||||||
seven segment displays. */
|
of the seven segment displays. */
|
||||||
static xTimerHandle xDigitCounterTimer = NULL;
|
static xTimerHandle xDigitCounterTimer = NULL;
|
||||||
|
|
||||||
/* The check timer. This uses prvCheckTimerCallback() as it's callback
|
/* The check timer. This uses prvCheckTimerCallback() as its callback
|
||||||
function. */
|
function. */
|
||||||
static xTimerHandle xCheckTimer = NULL;
|
static xTimerHandle xCheckTimer = NULL;
|
||||||
|
|
||||||
|
@ -277,7 +310,7 @@ int main(void)
|
||||||
|
|
||||||
if( xQueue != NULL )
|
if( xQueue != NULL )
|
||||||
{
|
{
|
||||||
/* Start the three application specific demo tasks, as described in the
|
/* Start the two application specific demo tasks, as described in the
|
||||||
comments at the top of this file. */
|
comments at the top of this file. */
|
||||||
xTaskCreate( prvQueueReceiveTask, ( signed char * ) "Rx", configMINIMAL_STACK_SIZE, NULL, mainQUEUE_RECEIVE_TASK_PRIORITY, NULL );
|
xTaskCreate( prvQueueReceiveTask, ( signed char * ) "Rx", configMINIMAL_STACK_SIZE, NULL, mainQUEUE_RECEIVE_TASK_PRIORITY, NULL );
|
||||||
xTaskCreate( prvQueueSendTask, ( signed char * ) "TX", configMINIMAL_STACK_SIZE, NULL, mainQUEUE_SEND_TASK_PRIORITY, NULL );
|
xTaskCreate( prvQueueSendTask, ( signed char * ) "TX", configMINIMAL_STACK_SIZE, NULL, mainQUEUE_SEND_TASK_PRIORITY, NULL );
|
||||||
|
@ -310,7 +343,9 @@ int main(void)
|
||||||
prvDigitCounterTimerCallback /* The callback function that inspects the status of all the other tasks. */
|
prvDigitCounterTimerCallback /* The callback function that inspects the status of all the other tasks. */
|
||||||
);
|
);
|
||||||
|
|
||||||
/* Create a lot of 'standard demo' tasks. */
|
/* Create a lot of 'standard demo' tasks. Over 40 tasks are created in
|
||||||
|
this demo. For a much simpler demo, select the 'blinky' build
|
||||||
|
configuration. */
|
||||||
vStartBlockingQueueTasks( mainBLOCK_Q_PRIORITY );
|
vStartBlockingQueueTasks( mainBLOCK_Q_PRIORITY );
|
||||||
vCreateBlockTimeTasks();
|
vCreateBlockTimeTasks();
|
||||||
vStartSemaphoreTasks( mainSEM_TEST_PRIORITY );
|
vStartSemaphoreTasks( mainSEM_TEST_PRIORITY );
|
||||||
|
@ -319,6 +354,10 @@ int main(void)
|
||||||
vStartQueuePeekTasks();
|
vStartQueuePeekTasks();
|
||||||
vStartRecursiveMutexTasks();
|
vStartRecursiveMutexTasks();
|
||||||
vStartTimerDemoTask( mainTIMER_TEST_PERIOD );
|
vStartTimerDemoTask( mainTIMER_TEST_PERIOD );
|
||||||
|
vAltStartComTestTasks( mainCOM_TEST_PRIORITY, mainCOM_TEST_BAUD_RATE, mainCOM_TEST_LED );
|
||||||
|
vStartPolledQueueTasks( mainQUEUE_POLL_PRIORITY );
|
||||||
|
vStartCountingSemaphoreTasks();
|
||||||
|
vStartDynamicPriorityTasks();
|
||||||
|
|
||||||
/* The suicide tasks must be created last, as they need to know how many
|
/* The suicide tasks must be created last, as they need to know how many
|
||||||
tasks were running prior to their creation in order to ascertain whether
|
tasks were running prior to their creation in order to ascertain whether
|
||||||
|
@ -378,11 +417,31 @@ static void prvCheckTimerCallback( xTimerHandle xTimer )
|
||||||
pcStatusMessage = "Error: RecMutex\r\n";
|
pcStatusMessage = "Error: RecMutex\r\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( xAreComTestTasksStillRunning() != pdPASS )
|
||||||
|
{
|
||||||
|
pcStatusMessage = "Error: ComTest\r\n";
|
||||||
|
}
|
||||||
|
|
||||||
if( xAreTimerDemoTasksStillRunning( ( mainCHECK_TIMER_PERIOD_MS ) ) != pdTRUE )
|
if( xAreTimerDemoTasksStillRunning( ( mainCHECK_TIMER_PERIOD_MS ) ) != pdTRUE )
|
||||||
{
|
{
|
||||||
pcStatusMessage = "Error: TimerDemo";
|
pcStatusMessage = "Error: TimerDemo";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( xArePollingQueuesStillRunning() != pdTRUE )
|
||||||
|
{
|
||||||
|
pcStatusMessage = "Error: PollQueue";
|
||||||
|
}
|
||||||
|
|
||||||
|
if( xAreCountingSemaphoreTasksStillRunning() != pdTRUE )
|
||||||
|
{
|
||||||
|
pcStatusMessage = "Error: CountSem";
|
||||||
|
}
|
||||||
|
|
||||||
|
if( xAreDynamicPriorityTasksStillRunning() != pdTRUE )
|
||||||
|
{
|
||||||
|
pcStatusMessage = "Error: DynamicPriority";
|
||||||
|
}
|
||||||
|
|
||||||
/* Toggle the check LED to give an indication of the system status. If
|
/* Toggle the check LED to give an indication of the system status. If
|
||||||
the LED toggles every mainCHECK_TIMER_PERIOD_MS milliseconds then
|
the LED toggles every mainCHECK_TIMER_PERIOD_MS milliseconds then
|
||||||
everything is ok. A faster toggle indicates an error. */
|
everything is ok. A faster toggle indicates an error. */
|
||||||
|
@ -589,19 +648,11 @@ volatile size_t xFreeStackSpace;
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
char *pcGetTaskStatusMessage( void )
|
void vApplicationTickHook( void )
|
||||||
{
|
{
|
||||||
/* Not bothered about a critical section here although technically because
|
/* Call the periodic timer test, which tests the timer API functions that
|
||||||
of the task priorities the pointer could change it will be atomic if not
|
can be called from an ISR. */
|
||||||
near atomic and its not critical. */
|
vTimerPeriodicISRTests();
|
||||||
if( pcStatusMessage == NULL )
|
|
||||||
{
|
|
||||||
return "All tasks running without error";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return ( char * ) pcStatusMessage;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
|
@ -100,7 +100,7 @@
|
||||||
* The LED Software Timer and the Button Interrupt:
|
* The LED Software Timer and the Button Interrupt:
|
||||||
* The user button SW2 is configured to generate an interrupt each time it is
|
* The user button SW2 is configured to generate an interrupt each time it is
|
||||||
* pressed. The interrupt service routine switches an LED in the 7 segment
|
* pressed. The interrupt service routine switches an LED in the 7 segment
|
||||||
* diplay on, and resets the LED software timer. The LED timer has a 5000
|
* display on, and resets the LED software timer. The LED timer has a 5000
|
||||||
* millisecond (5 second) period, and uses a callback function that is defined
|
* millisecond (5 second) period, and uses a callback function that is defined
|
||||||
* to just turn the LED off again. Therefore, pressing the user button will
|
* to just turn the LED off again. Therefore, pressing the user button will
|
||||||
* turn the LED on, and the LED will remain on until a full five seconds pass
|
* turn the LED on, and the LED will remain on until a full five seconds pass
|
||||||
|
@ -368,12 +368,21 @@ void vApplicationStackOverflowHook( xTaskHandle *pxTask, signed char *pcTaskName
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
void vApplicationTickHook( void )
|
||||||
|
{
|
||||||
|
/* A tick hook is used by the "Full" build configuration. The Full and
|
||||||
|
blinky build configurations share a FreeRTOSConfig.h header file, so this
|
||||||
|
simple build configuration also has to define a tick hook - even though it
|
||||||
|
does not actually use it for anything. */
|
||||||
|
}
|
||||||
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
void vApplicationIdleHook( void )
|
void vApplicationIdleHook( void )
|
||||||
{
|
{
|
||||||
volatile size_t xFreeHeapSpace;
|
volatile size_t xFreeHeapSpace;
|
||||||
|
|
||||||
/* This function is called on each cycle of the idle task. In this case it
|
/* This function is called on each cycle of the idle task. In this case it
|
||||||
does nothing useful, other than report the amout of FreeRTOS heap that
|
does nothing useful, other than report the amount of FreeRTOS heap that
|
||||||
remains unallocated. */
|
remains unallocated. */
|
||||||
xFreeHeapSpace = xPortGetFreeHeapSize();
|
xFreeHeapSpace = xPortGetFreeHeapSize();
|
||||||
|
|
||||||
|
|
305
Demo/CORTEX_MB9B500_IAR_Keil/serial.c
Normal file
305
Demo/CORTEX_MB9B500_IAR_Keil/serial.c
Normal file
|
@ -0,0 +1,305 @@
|
||||||
|
/*
|
||||||
|
FreeRTOS V7.0.0 - Copyright (C) 2011 Real Time Engineers Ltd.
|
||||||
|
|
||||||
|
|
||||||
|
***************************************************************************
|
||||||
|
* *
|
||||||
|
* FreeRTOS tutorial books are available in pdf and paperback. *
|
||||||
|
* Complete, revised, and edited pdf reference manuals are also *
|
||||||
|
* available. *
|
||||||
|
* *
|
||||||
|
* Purchasing FreeRTOS documentation will not only help you, by *
|
||||||
|
* ensuring you get running as quickly as possible and with an *
|
||||||
|
* in-depth knowledge of how to use FreeRTOS, it will also help *
|
||||||
|
* the FreeRTOS project to continue with its mission of providing *
|
||||||
|
* professional grade, cross platform, de facto standard solutions *
|
||||||
|
* for microcontrollers - completely free of charge! *
|
||||||
|
* *
|
||||||
|
* >>> See http://www.FreeRTOS.org/Documentation for details. <<< *
|
||||||
|
* *
|
||||||
|
* Thank you for using FreeRTOS, and thank you for your support! *
|
||||||
|
* *
|
||||||
|
***************************************************************************
|
||||||
|
|
||||||
|
|
||||||
|
This file is part of the FreeRTOS distribution.
|
||||||
|
|
||||||
|
FreeRTOS is free software; you can redistribute it and/or modify it under
|
||||||
|
the terms of the GNU General Public License (version 2) as published by the
|
||||||
|
Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
|
||||||
|
>>>NOTE<<< The modification to the GPL is included to allow you to
|
||||||
|
distribute a combined work that includes FreeRTOS without being obliged to
|
||||||
|
provide the source code for proprietary components outside of the FreeRTOS
|
||||||
|
kernel. FreeRTOS is distributed in the hope that it will be useful, but
|
||||||
|
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
|
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||||
|
more details. You should have received a copy of the GNU General Public
|
||||||
|
License and the FreeRTOS license exception along with FreeRTOS; if not it
|
||||||
|
can be viewed here: http://www.freertos.org/a00114.html and also obtained
|
||||||
|
by writing to Richard Barry, contact details for whom are available on the
|
||||||
|
FreeRTOS WEB site.
|
||||||
|
|
||||||
|
1 tab == 4 spaces!
|
||||||
|
|
||||||
|
http://www.FreeRTOS.org - Documentation, latest information, license and
|
||||||
|
contact details.
|
||||||
|
|
||||||
|
http://www.SafeRTOS.com - A version that is certified for use in safety
|
||||||
|
critical systems.
|
||||||
|
|
||||||
|
http://www.OpenRTOS.com - Commercial support, development, porting,
|
||||||
|
licensing and training services.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
BASIC INTERRUPT DRIVEN SERIAL PORT DRIVER FOR UART0.
|
||||||
|
|
||||||
|
***Note*** This example uses queues to send each character into an interrupt
|
||||||
|
service routine and out of an interrupt service routine individually. This
|
||||||
|
is done to demonstrate queues being used in an interrupt, and to deliberately
|
||||||
|
load the system to test the FreeRTOS port. It is *NOT* meant to be an
|
||||||
|
example of an efficient implementation. An efficient implementation should
|
||||||
|
use FIFO's or DMA if available, and only use FreeRTOS API functions when
|
||||||
|
enough has been received to warrant a task being unblocked to process the
|
||||||
|
data.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Scheduler includes. */
|
||||||
|
#include "FreeRTOS.h"
|
||||||
|
#include "queue.h"
|
||||||
|
#include "semphr.h"
|
||||||
|
#include "comtest2.h"
|
||||||
|
|
||||||
|
/* Library includes. */
|
||||||
|
#include "mb9bf506n.h"
|
||||||
|
#include "system_mb9bf50x.h"
|
||||||
|
|
||||||
|
/* Demo application includes. */
|
||||||
|
#include "serial.h"
|
||||||
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
/* Register bit definitions. */
|
||||||
|
#define serRX_INT_ENABLE 0x10
|
||||||
|
#define serTX_INT_ENABLE 0x08
|
||||||
|
#define serRX_ENABLE 0x02
|
||||||
|
#define serTX_ENABLE 0x01
|
||||||
|
#define serORE_ERROR_BIT 0x08
|
||||||
|
#define serFRE_ERROR_BIT 0x10
|
||||||
|
#define serPE_ERROR_BIT 0x20
|
||||||
|
#define serRX_INT 0x04
|
||||||
|
#define serTX_INT 0x02
|
||||||
|
|
||||||
|
/* Misc defines. */
|
||||||
|
#define serINVALID_QUEUE ( ( xQueueHandle ) 0 )
|
||||||
|
#define serNO_BLOCK ( ( portTickType ) 0 )
|
||||||
|
|
||||||
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
/* The queue used to hold received characters. */
|
||||||
|
static xQueueHandle xRxedChars;
|
||||||
|
static xQueueHandle xCharsForTx;
|
||||||
|
|
||||||
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* See the serial2.h header file.
|
||||||
|
*/
|
||||||
|
xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )
|
||||||
|
{
|
||||||
|
xComPortHandle xReturn;
|
||||||
|
|
||||||
|
/* Create the queues used to hold Rx/Tx characters. */
|
||||||
|
xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
|
||||||
|
xCharsForTx = xQueueCreate( uxQueueLength + 1, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
|
||||||
|
|
||||||
|
/* If the queues were created correctly then setup the serial port
|
||||||
|
hardware. */
|
||||||
|
if( ( xRxedChars != serINVALID_QUEUE ) && ( xCharsForTx != serINVALID_QUEUE ) )
|
||||||
|
{
|
||||||
|
/* Ensure interrupts don't fire during the init process. Interrupts
|
||||||
|
will be enabled automatically when the first task start running. */
|
||||||
|
portDISABLE_INTERRUPTS();
|
||||||
|
|
||||||
|
/* Configure P21 and P22 for use by the UART. */
|
||||||
|
FM3_GPIO->PFR2 |= ( 1 << 0x01 ) | ( 1 << 0x02 );
|
||||||
|
|
||||||
|
/* SIN0_0 and SOT0_0. */
|
||||||
|
FM3_GPIO->EPFR07 |= ( 1 << 6 );
|
||||||
|
|
||||||
|
/* Reset. */
|
||||||
|
FM3_MFS0_UART->SCR = 0x80;
|
||||||
|
|
||||||
|
/* Enable output in mode 0. */
|
||||||
|
FM3_MFS0_UART->SMR = 0x01;
|
||||||
|
|
||||||
|
/* Clear all errors that may already be present. */
|
||||||
|
FM3_MFS0_UART->SSR = 0x00;
|
||||||
|
FM3_MFS0_UART->ESCR = 0x00;
|
||||||
|
|
||||||
|
FM3_MFS0_UART->BGR = ( configCPU_CLOCK_HZ / 2UL ) / ( ulWantedBaud - 1UL );
|
||||||
|
|
||||||
|
/* Enable Rx, Tx, and the Rx interrupt. */
|
||||||
|
FM3_MFS0_UART->SCR |= ( serRX_ENABLE | serTX_ENABLE | serRX_INT_ENABLE );
|
||||||
|
|
||||||
|
/* Configure the NVIC for UART interrupts. */
|
||||||
|
NVIC_ClearPendingIRQ( MFS0RX_IRQn );
|
||||||
|
NVIC_EnableIRQ( MFS0RX_IRQn );
|
||||||
|
|
||||||
|
/* The priority *MUST* be at or below
|
||||||
|
configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY as FreeRTOS API functions
|
||||||
|
are called in the interrupt handler. */
|
||||||
|
NVIC_SetPriority( MFS0RX_IRQn, configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY );
|
||||||
|
|
||||||
|
/* Do the same for the Tx interrupts. */
|
||||||
|
NVIC_ClearPendingIRQ( MFS0TX_IRQn );
|
||||||
|
NVIC_EnableIRQ( MFS0TX_IRQn );
|
||||||
|
|
||||||
|
/* The priority *MUST* be at or below
|
||||||
|
configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY as FreeRTOS API functions
|
||||||
|
are called in the interrupt handler. */
|
||||||
|
NVIC_SetPriority( MFS0TX_IRQn, configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
xReturn = ( xComPortHandle ) 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* This demo file only supports a single port but we have to return
|
||||||
|
something to comply with the standard demo header file. */
|
||||||
|
return xReturn;
|
||||||
|
}
|
||||||
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed char *pcRxedChar, portTickType xBlockTime )
|
||||||
|
{
|
||||||
|
/* The port handle is not required as this driver only supports one port. */
|
||||||
|
( void ) pxPort;
|
||||||
|
|
||||||
|
/* Get the next character from the buffer. Return false if no characters
|
||||||
|
are available, or arrive before xBlockTime expires. */
|
||||||
|
if( xQueueReceive( xRxedChars, pcRxedChar, xBlockTime ) )
|
||||||
|
{
|
||||||
|
return pdTRUE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return pdFALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
void vSerialPutString( xComPortHandle pxPort, const signed char * const pcString, unsigned short usStringLength )
|
||||||
|
{
|
||||||
|
signed char *pxNext;
|
||||||
|
|
||||||
|
/* A couple of parameters that this port does not use. */
|
||||||
|
( void ) usStringLength;
|
||||||
|
( void ) pxPort;
|
||||||
|
|
||||||
|
/* NOTE: This implementation does not handle the queue being full as no
|
||||||
|
block time is used! */
|
||||||
|
|
||||||
|
/* The port handle is not required as this driver only supports one UART. */
|
||||||
|
( void ) pxPort;
|
||||||
|
|
||||||
|
/* Send each character in the string, one at a time. */
|
||||||
|
pxNext = ( signed char * ) pcString;
|
||||||
|
while( *pxNext )
|
||||||
|
{
|
||||||
|
xSerialPutChar( pxPort, *pxNext, serNO_BLOCK );
|
||||||
|
pxNext++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed char cOutChar, portTickType xBlockTime )
|
||||||
|
{
|
||||||
|
signed portBASE_TYPE xReturn;
|
||||||
|
|
||||||
|
if( xQueueSend( xCharsForTx, &cOutChar, xBlockTime ) == pdPASS )
|
||||||
|
{
|
||||||
|
xReturn = pdPASS;
|
||||||
|
|
||||||
|
/* Enable the UART Tx interrupt. */
|
||||||
|
FM3_MFS0_UART->SCR |= serTX_INT_ENABLE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
xReturn = pdFAIL;
|
||||||
|
}
|
||||||
|
|
||||||
|
return xReturn;
|
||||||
|
}
|
||||||
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
void vSerialClose( xComPortHandle xPort )
|
||||||
|
{
|
||||||
|
/* Not supported as not required by the demo application. */
|
||||||
|
}
|
||||||
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
void MFS0RX_IRQHandler( void )
|
||||||
|
{
|
||||||
|
portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
|
||||||
|
char cChar;
|
||||||
|
|
||||||
|
if( ( FM3_MFS0_UART->SSR & ( serORE_ERROR_BIT | serFRE_ERROR_BIT | serPE_ERROR_BIT ) ) != 0 )
|
||||||
|
{
|
||||||
|
/* A PE, ORE or FRE error occurred. Clear it. */
|
||||||
|
FM3_MFS0_UART->SSR |= ( 1 << 7 );
|
||||||
|
cChar = FM3_MFS0_UART->RDR;
|
||||||
|
}
|
||||||
|
else if( FM3_MFS0_UART->SSR & serRX_INT )
|
||||||
|
{
|
||||||
|
/* A character has been received on the USART, send it to the Rx
|
||||||
|
handler task. */
|
||||||
|
cChar = FM3_MFS0_UART->RDR;
|
||||||
|
xQueueSendFromISR( xRxedChars, &cChar, &xHigherPriorityTaskWoken );
|
||||||
|
}
|
||||||
|
|
||||||
|
/* If sending or receiving from a queue has caused a task to unblock, and
|
||||||
|
the unblocked task has a priority equal to or higher than the currently
|
||||||
|
running task (the task this ISR interrupted), then xHigherPriorityTaskWoken
|
||||||
|
will have automatically been set to pdTRUE within the queue send or receive
|
||||||
|
function. portEND_SWITCHING_ISR() will then ensure that this ISR returns
|
||||||
|
directly to the higher priority unblocked task. */
|
||||||
|
portEND_SWITCHING_ISR( xHigherPriorityTaskWoken );
|
||||||
|
}
|
||||||
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
void MFS0TX_IRQHandler( void )
|
||||||
|
{
|
||||||
|
portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
|
||||||
|
char cChar;
|
||||||
|
|
||||||
|
if( FM3_MFS0_UART->SSR & serTX_INT )
|
||||||
|
{
|
||||||
|
/* The interrupt was caused by the TX register becoming empty. Are
|
||||||
|
there any more characters to transmit? */
|
||||||
|
if( xQueueReceiveFromISR( xCharsForTx, &cChar, &xHigherPriorityTaskWoken ) == pdTRUE )
|
||||||
|
{
|
||||||
|
/* A character was retrieved from the queue so can be sent to the
|
||||||
|
USART now. */
|
||||||
|
FM3_MFS0_UART->TDR = cChar;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* Disable the Tx interrupt. */
|
||||||
|
FM3_MFS0_UART->SCR &= ~serTX_INT_ENABLE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* If sending or receiving from a queue has caused a task to unblock, and
|
||||||
|
the unblocked task has a priority equal to or higher than the currently
|
||||||
|
running task (the task this ISR interrupted), then xHigherPriorityTaskWoken
|
||||||
|
will have automatically been set to pdTRUE within the queue send or receive
|
||||||
|
function. portEND_SWITCHING_ISR() will then ensure that this ISR returns
|
||||||
|
directly to the higher priority unblocked task. */
|
||||||
|
portEND_SWITCHING_ISR( xHigherPriorityTaskWoken );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue