mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-04-25 16:01:59 -04:00
Update RX630 to add in some timer demo code, and remove all mention of Ethernet.
Minor comment corrections in the RX200 demo.
This commit is contained in:
parent
56eb9ebec3
commit
3f3e6ba246
Binary file not shown.
|
@ -16,7 +16,7 @@
|
||||||
[GENERAL_DATA_PROJECT]
|
[GENERAL_DATA_PROJECT]
|
||||||
"FDT_UserBootAreaFiles" ""
|
"FDT_UserBootAreaFiles" ""
|
||||||
[GENERAL_DATA_CONFIGURATION_Blinky]
|
[GENERAL_DATA_CONFIGURATION_Blinky]
|
||||||
"PROJECT_FILES_MODIFIED_DATA_TAG" "FALSE"
|
"PROJECT_FILES_MODIFIED_DATA_TAG" "TRUE"
|
||||||
[SESSIONS_Blinky]
|
[SESSIONS_Blinky]
|
||||||
"DefaultSession"
|
"DefaultSession"
|
||||||
"SessionRX200_E1_E20_SYSTEM"
|
"SessionRX200_E1_E20_SYSTEM"
|
||||||
|
|
|
@ -525,8 +525,6 @@
|
||||||
[WINDOW_POSITION_STATE_DATA_VD4]
|
[WINDOW_POSITION_STATE_DATA_VD4]
|
||||||
[WINDOW_Z_ORDER]
|
[WINDOW_Z_ORDER]
|
||||||
"{WK_TB00000028_RTOSDEBUG} TOOLBAR 0"
|
"{WK_TB00000028_RTOSDEBUG} TOOLBAR 0"
|
||||||
"{WK_TB00000013_SYMBOL} TOOLBAR 0"
|
|
||||||
"{WK_TB00000011_CPU} TOOLBAR 0"
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\main-full.c"
|
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\main-full.c"
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\main-blinky.c"
|
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\main-blinky.c"
|
||||||
[TARGET_NAME]
|
[TARGET_NAME]
|
||||||
|
@ -551,8 +549,8 @@
|
||||||
"SBK_TAR_EMUE100|Exception" 1
|
"SBK_TAR_EMUE100|Exception" 1
|
||||||
"SBK_TAR_EMUE100|BreakCondition" 1
|
"SBK_TAR_EMUE100|BreakCondition" 1
|
||||||
"SBK_TAR_EMUE100|TaskID" 1
|
"SBK_TAR_EMUE100|TaskID" 1
|
||||||
"SBK_TAR_EMUE100|PC" 1
|
|
||||||
"SBK_TAR_EMUE100|ExecutionTime" 1
|
"SBK_TAR_EMUE100|ExecutionTime" 1
|
||||||
|
"SBK_TAR_EMUE100|PC" 1
|
||||||
[STATUSBAR_DEBUGGER_PANESTATE_VD2]
|
[STATUSBAR_DEBUGGER_PANESTATE_VD2]
|
||||||
[STATUSBAR_DEBUGGER_PANESTATE_VD3]
|
[STATUSBAR_DEBUGGER_PANESTATE_VD3]
|
||||||
[STATUSBAR_DEBUGGER_PANESTATE_VD4]
|
[STATUSBAR_DEBUGGER_PANESTATE_VD4]
|
||||||
|
|
|
@ -82,7 +82,7 @@
|
||||||
* standard demo tasks are not only still executing, but are executing without
|
* standard demo tasks are not only still executing, but are executing without
|
||||||
* reporting any errors. If the check timer discovers that a task has either
|
* reporting any errors. If the check timer discovers that a task has either
|
||||||
* stalled, or reported an error, then it changes its own period from the
|
* stalled, or reported an error, then it changes its own period from the
|
||||||
* initial three seconds, to just 200ms. The check timer callback function
|
* initial five seconds, to just 200ms. The check timer callback function
|
||||||
* also toggles LED 3 each time it is called. This provides a visual
|
* also toggles LED 3 each time it is called. This provides a visual
|
||||||
* indication of the system status: If the LED toggles every five seconds,
|
* indication of the system status: If the LED toggles every five seconds,
|
||||||
* then no issues have been discovered. If the LED toggles every 200ms, then
|
* then no issues have been discovered. If the LED toggles every 200ms, then
|
||||||
|
@ -164,7 +164,7 @@ The tasks check that the values are passed in correctly. */
|
||||||
#define mainGEN_QUEUE_TASK_PRIORITY ( tskIDLE_PRIORITY )
|
#define mainGEN_QUEUE_TASK_PRIORITY ( tskIDLE_PRIORITY )
|
||||||
#define mainFLOP_TASK_PRIORITY ( tskIDLE_PRIORITY )
|
#define mainFLOP_TASK_PRIORITY ( tskIDLE_PRIORITY )
|
||||||
|
|
||||||
/* The LED toggled by the check task. */
|
/* The LED toggled by the check timer. */
|
||||||
#define mainCHECK_LED ( 3 )
|
#define mainCHECK_LED ( 3 )
|
||||||
|
|
||||||
/* 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
|
||||||
|
@ -234,7 +234,7 @@ static void prvCheckTimerCallback( xTimerHandle xTimer );
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
/* Variables that are incremented on each iteration of the reg test tasks -
|
/* Variables that are incremented on each iteration of the reg test tasks -
|
||||||
provided the tasks have not reported any errors. The check task inspects these
|
provided the tasks have not reported any errors. The check timer inspects these
|
||||||
variables to ensure they are still incrementing as expected. If a variable
|
variables to ensure they are still incrementing as expected. If a variable
|
||||||
stops incrementing then it is likely that its associate task has stalled. */
|
stops incrementing then it is likely that its associate task has stalled. */
|
||||||
unsigned long ulRegTest1CycleCount = 0UL, ulRegTest2CycleCount = 0UL;
|
unsigned long ulRegTest1CycleCount = 0UL, ulRegTest2CycleCount = 0UL;
|
||||||
|
@ -304,62 +304,52 @@ extern void HardwareSetup( void );
|
||||||
for( ;; );
|
for( ;; );
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
volatile long temp = 0;
|
|
||||||
static void prvCheckTimerCallback( xTimerHandle xTimer )
|
static void prvCheckTimerCallback( xTimerHandle xTimer )
|
||||||
{
|
{
|
||||||
static long lChangedTimerPeriodAlready = pdFALSE, lErrorStatus = pdPASS;
|
static long lChangedTimerPeriodAlready = pdFALSE, lErrorStatus = pdPASS;
|
||||||
static volatile unsigned long ulLastRegTest1CycleCount = 0UL, ulLastRegTest2CycleCount = 0UL;
|
static volatile unsigned long ulLastRegTest1CycleCount = 0UL, ulLastRegTest2CycleCount = 0UL;
|
||||||
volatile long temp2;
|
|
||||||
/* Check the standard demo tasks are running without error. */
|
/* Check the standard demo tasks are running without error. */
|
||||||
if( xAreGenericQueueTasksStillRunning() != pdTRUE )
|
if( xAreGenericQueueTasksStillRunning() != pdTRUE )
|
||||||
{
|
{
|
||||||
lErrorStatus = pdFAIL;
|
lErrorStatus = pdFAIL;
|
||||||
temp = 1;
|
|
||||||
}
|
}
|
||||||
else if( xAreQueuePeekTasksStillRunning() != pdTRUE )
|
else if( xAreQueuePeekTasksStillRunning() != pdTRUE )
|
||||||
{
|
{
|
||||||
lErrorStatus = pdFAIL;
|
lErrorStatus = pdFAIL;
|
||||||
temp = 2;
|
|
||||||
}
|
}
|
||||||
else if( xAreBlockingQueuesStillRunning() != pdTRUE )
|
else if( xAreBlockingQueuesStillRunning() != pdTRUE )
|
||||||
{
|
{
|
||||||
lErrorStatus = pdFAIL;
|
lErrorStatus = pdFAIL;
|
||||||
temp = 3;
|
|
||||||
}
|
}
|
||||||
else if( xAreBlockTimeTestTasksStillRunning() != pdTRUE )
|
else if( xAreBlockTimeTestTasksStillRunning() != pdTRUE )
|
||||||
{
|
{
|
||||||
lErrorStatus = pdFAIL;
|
lErrorStatus = pdFAIL;
|
||||||
temp = 4;
|
|
||||||
}
|
}
|
||||||
else if( xAreSemaphoreTasksStillRunning() != pdTRUE )
|
else if( xAreSemaphoreTasksStillRunning() != pdTRUE )
|
||||||
{
|
{
|
||||||
lErrorStatus = pdFAIL;
|
lErrorStatus = pdFAIL;
|
||||||
temp = 5;
|
|
||||||
}
|
}
|
||||||
else if( xArePollingQueuesStillRunning() != pdTRUE )
|
else if( xArePollingQueuesStillRunning() != pdTRUE )
|
||||||
{
|
{
|
||||||
lErrorStatus = pdFAIL;
|
lErrorStatus = pdFAIL;
|
||||||
temp = 6;
|
|
||||||
}
|
}
|
||||||
else if( xIsCreateTaskStillRunning() != pdTRUE )
|
else if( xIsCreateTaskStillRunning() != pdTRUE )
|
||||||
{
|
{
|
||||||
lErrorStatus = pdFAIL;
|
lErrorStatus = pdFAIL;
|
||||||
temp = 7;
|
|
||||||
}
|
}
|
||||||
else if( xAreIntegerMathsTaskStillRunning() != pdTRUE )
|
else if( xAreIntegerMathsTaskStillRunning() != pdTRUE )
|
||||||
{
|
{
|
||||||
lErrorStatus = pdFAIL;
|
lErrorStatus = pdFAIL;
|
||||||
temp = 8;
|
|
||||||
}
|
}
|
||||||
else if( xAreRecursiveMutexTasksStillRunning() != pdTRUE )
|
else if( xAreRecursiveMutexTasksStillRunning() != pdTRUE )
|
||||||
{
|
{
|
||||||
lErrorStatus = pdFAIL;
|
lErrorStatus = pdFAIL;
|
||||||
temp = 9;
|
|
||||||
}
|
}
|
||||||
else if( xAreIntQueueTasksStillRunning() != pdPASS )
|
else if( xAreIntQueueTasksStillRunning() != pdPASS )
|
||||||
{
|
{
|
||||||
lErrorStatus = pdFAIL;
|
lErrorStatus = pdFAIL;
|
||||||
temp = 10;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check the reg test tasks are still cycling. They will stop incrementing
|
/* Check the reg test tasks are still cycling. They will stop incrementing
|
||||||
|
@ -367,13 +357,11 @@ volatile long temp2;
|
||||||
if( ulRegTest1CycleCount == ulLastRegTest1CycleCount )
|
if( ulRegTest1CycleCount == ulLastRegTest1CycleCount )
|
||||||
{
|
{
|
||||||
lErrorStatus = pdFAIL;
|
lErrorStatus = pdFAIL;
|
||||||
temp = 11;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if( ulRegTest2CycleCount == ulLastRegTest2CycleCount )
|
if( ulRegTest2CycleCount == ulLastRegTest2CycleCount )
|
||||||
{
|
{
|
||||||
lErrorStatus = pdFAIL;
|
lErrorStatus = pdFAIL;
|
||||||
temp = 12;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ulLastRegTest1CycleCount = ulRegTest1CycleCount;
|
ulLastRegTest1CycleCount = ulRegTest1CycleCount;
|
||||||
|
@ -387,7 +375,6 @@ volatile long temp2;
|
||||||
/* Was an error detected this time through the callback execution? */
|
/* Was an error detected this time through the callback execution? */
|
||||||
if( lErrorStatus != pdPASS )
|
if( lErrorStatus != pdPASS )
|
||||||
{
|
{
|
||||||
temp2 = temp;
|
|
||||||
if( lChangedTimerPeriodAlready == pdFALSE )
|
if( lChangedTimerPeriodAlready == pdFALSE )
|
||||||
{
|
{
|
||||||
lChangedTimerPeriodAlready = pdTRUE;
|
lChangedTimerPeriodAlready = pdTRUE;
|
||||||
|
@ -582,7 +569,7 @@ TestLoop1:
|
||||||
|
|
||||||
RegTest1Error:
|
RegTest1Error:
|
||||||
; A compare failed, just loop here so the loop counter stops incrementing
|
; A compare failed, just loop here so the loop counter stops incrementing
|
||||||
; causing the check task to indicate the error.
|
; causing the check timer to indicate the error.
|
||||||
BRA RegTest1Error
|
BRA RegTest1Error
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -660,7 +647,7 @@ TestLoop2:
|
||||||
|
|
||||||
RegTest2Error:
|
RegTest2Error:
|
||||||
; A compare failed, just loop here so the loop counter stops incrementing
|
; A compare failed, just loop here so the loop counter stops incrementing
|
||||||
; - causing the check task to indicate the error.
|
; - causing the check timer to indicate the error.
|
||||||
BRA RegTest2Error
|
BRA RegTest2Error
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
|
@ -7,15 +7,11 @@
|
||||||
[GENERAL_DATA]
|
[GENERAL_DATA]
|
||||||
[BREAKPOINTS]
|
[BREAKPOINTS]
|
||||||
[OPEN_WORKSPACE_FILES]
|
[OPEN_WORKSPACE_FILES]
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flop.c"
|
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\main-blinky.c"
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\main-full.c"
|
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\main-full.c"
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\Renesas-Files\resetprg.c"
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c"
|
|
||||||
[WORKSPACE_FILE_STATES]
|
[WORKSPACE_FILE_STATES]
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flop.c" 66 66 1104 430 0 3
|
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\main-blinky.c" 66 66 1126 360 0 1
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\Renesas-Files\resetprg.c" 0 0 1144 335 0 0
|
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\main-full.c" -4 -23 1310 581 1 0
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\main-full.c" -4 -23 1310 655 1 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" 22 22 1104 430 0 1
|
|
||||||
[LOADED_PROJECTS]
|
[LOADED_PROJECTS]
|
||||||
"RTOSDemo"
|
"RTOSDemo"
|
||||||
[END]
|
[END]
|
||||||
|
|
|
@ -70,7 +70,7 @@
|
||||||
*----------------------------------------------------------*/
|
*----------------------------------------------------------*/
|
||||||
|
|
||||||
#define configUSE_PREEMPTION 1
|
#define configUSE_PREEMPTION 1
|
||||||
#define configUSE_IDLE_HOOK 0
|
#define configUSE_IDLE_HOOK 1
|
||||||
#define configUSE_TICK_HOOK 0
|
#define configUSE_TICK_HOOK 0
|
||||||
#define configCPU_CLOCK_HZ ( ICLK_FREQUENCY ) /* Set in rskrx630def.h. */
|
#define configCPU_CLOCK_HZ ( ICLK_FREQUENCY ) /* Set in rskrx630def.h. */
|
||||||
#define configPERIPHERAL_CLOCK_HZ ( PCLKB_FREQUENCY ) /* Set in rskrx630def.h. */
|
#define configPERIPHERAL_CLOCK_HZ ( PCLKB_FREQUENCY ) /* Set in rskrx630def.h. */
|
||||||
|
|
|
@ -11,9 +11,7 @@
|
||||||
[CONFIGURATIONS]
|
[CONFIGURATIONS]
|
||||||
"Blinky" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\Blinky"
|
"Blinky" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\Blinky"
|
||||||
"Debug" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\Debug"
|
"Debug" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\Debug"
|
||||||
"Debug_RX600_E1_E20_SYSTEM" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\Debug_RX600_E1_E20_SYSTEM"
|
|
||||||
"Debug_with_optimisation" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\Debug_with_optimisation"
|
"Debug_with_optimisation" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\Debug_with_optimisation"
|
||||||
"SimDebug_RX600" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\SimDebug_RX600"
|
|
||||||
[BUILD_PHASES]
|
[BUILD_PHASES]
|
||||||
"Renesas OptLinker" 1
|
"Renesas OptLinker" 1
|
||||||
"Renesas RX Assembler" 1
|
"Renesas RX Assembler" 1
|
||||||
|
@ -211,12 +209,8 @@
|
||||||
[ON_DEMAND_COMPONENTS_LOADED]
|
[ON_DEMAND_COMPONENTS_LOADED]
|
||||||
[SYNC_SESSION_NAMES]
|
[SYNC_SESSION_NAMES]
|
||||||
[SESSIONS]
|
[SESSIONS]
|
||||||
"DefaultSession" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\DefaultSession.hsf" 0
|
|
||||||
"SessionRX600_E1_E20_SYSTEM" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\SessionRX600_E1_E20_SYSTEM.hsf" 0
|
"SessionRX600_E1_E20_SYSTEM" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\SessionRX600_E1_E20_SYSTEM.hsf" 0
|
||||||
"SimSessionRX600" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\SimSessionRX600.hsf" 0
|
|
||||||
[GENERAL_DATA_SESSION_DefaultSession]
|
|
||||||
[GENERAL_DATA_SESSION_SessionRX600_E1_E20_SYSTEM]
|
[GENERAL_DATA_SESSION_SessionRX600_E1_E20_SYSTEM]
|
||||||
[GENERAL_DATA_SESSION_SimSessionRX600]
|
|
||||||
[OPTIONS_Blinky_Renesas OptLinker]
|
[OPTIONS_Blinky_Renesas OptLinker]
|
||||||
"Single Shot" "06a7a4a28738cc10" 5
|
"Single Shot" "06a7a4a28738cc10" 5
|
||||||
[OPTIONS_Blinky_Renesas RX Assembler]
|
[OPTIONS_Blinky_Renesas RX Assembler]
|
||||||
|
@ -357,69 +351,8 @@
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\Renesas-Files\lowsrc.c"
|
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\Renesas-Files\lowsrc.c"
|
||||||
[LINKAGE_ORDER_Debug]
|
[LINKAGE_ORDER_Debug]
|
||||||
[GENERAL_DATA_CONFIGURATION_Debug]
|
[GENERAL_DATA_CONFIGURATION_Debug]
|
||||||
[OPTIONS_Debug_RX600_E1_E20_SYSTEM_Renesas OptLinker]
|
|
||||||
"Single Shot" "058b41409738cc10" 5
|
|
||||||
[OPTIONS_Debug_RX600_E1_E20_SYSTEM_Renesas RX Assembler]
|
|
||||||
"Assembly source file" "0d805402da28cc10" 4
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\Renesas-Files\lowlvl.src" "0d805402da28cc10" 4
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX600\port_asm.src" "0d805402da28cc10" 4
|
|
||||||
"Linkage symbol file" "0d805402da28cc10" 4
|
|
||||||
[OPTIONS_Debug_RX600_E1_E20_SYSTEM_Renesas RX C/C++ Compiler]
|
|
||||||
"C source file" "02d403988738cc10" 2
|
|
||||||
"C++ source file" "02d403988738cc10" 3
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\BlockQ.c" "02d403988738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\GenQTest.c" "02d403988738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\IntQueue.c" "02d403988738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\PollQ.c" "02d403988738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\QPeek.c" "02d403988738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\blocktim.c" "02d403988738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\death.c" "02d403988738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash.c" "02d403988738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flop.c" "02d403988738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" "02d403988738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\recmutex.c" "02d403988738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" "02d403988738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\HighFrequencyTimerTest.c" "02d403988738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\IntQueueTimer.c" "02d403988738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\ParTest.c" "02d403988738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\Renesas-Files\cgc.c" "02d403988738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\Renesas-Files\dbsct.c" "02d403988738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\Renesas-Files\hwsetup.c" "02d403988738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\Renesas-Files\intprg.c" "02d403988738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\Renesas-Files\lowsrc.c" "02d403988738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\Renesas-Files\resetprg.c" "02d403988738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\Renesas-Files\sbrk.c" "02d403988738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\Renesas-Files\vecttbl.c" "02d403988738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\main-blinky.c" "02d403988738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\main-full.c" "02d403988738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\list.c" "02d403988738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "02d403988738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX600\port.c" "02d403988738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "02d403988738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "02d403988738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "02d403988738cc10" 2
|
|
||||||
[OPTIONS_Debug_RX600_E1_E20_SYSTEM_Renesas RX C/C++ Library Generator]
|
|
||||||
"Single Shot" "05beda5b8738cc10" 1
|
|
||||||
[OPTIONS_Debug_RX600_E1_E20_SYSTEM_Renesas RX Configurator]
|
|
||||||
"Single Shot" "0bf59a677438cc10" 6
|
|
||||||
[OPTIONS_Debug_RX600_E1_E20_SYSTEM]
|
|
||||||
"" 0
|
|
||||||
"[V|VERSION|1] [B|COMMAND|1] [S|SPEC|UITRON4] [S|OUTPUTPATH|^"$(CONFIGDIR)^"] [S|CPU|RX600] [S|ENDIAN|LITTLE] [S|FINT_REGISTER|0]" 6
|
|
||||||
"[V|VERSION|1] [B|DEBUG|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|LISTFILE|0] [S|CPU|RX600] [S|ENDIAN|LITTLE] [S|FINT_REGISTER|0]" 4
|
|
||||||
"[V|VERSION|1] [S|LANG|CPP] [B|SJIS|1] [S|INCLUDE|^"$(PROJDIR)\..\..\..\Source\portable\Renesas\RX600^"|^"$(PROJDIR)\..\..\..\Source\include^"|^"$(PROJDIR)^"|^"$(PROJDIR)\..\..\include^"|^"$(PROJDIR)\..\..\Common\include^"|^"$(PROJDIR)\.\include^"|^"$(PROJDIR)\Renesas-Files^"] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [B|SIZE|1] [B|MAP|0] [I|INLINE|100] [I|LOOP|2] [S|MISRA2004_CHECK_RULE|ALL] [S|MISRA2004_RULE|1.1|3.4|4.1|5.2|5.3|5.4|5.5|5.6|5.7|6.1|6.2|6.3|6.4|6.5|7.1|8.1|8.2|8.3|8.5|8.6|8.7|8.8|8.11|8.12|9.2|9.3|10.1|10.2|10.3|10.4|10.5|10.6|11.1|11.2|11.3|11.4|11.5|12.1|12.2|12.3|12.4|12.5|12.6|12.7|12.8|12.9|12.10|12.11|12.12|12.13|13.1|13.2|13.3|13.4|13.7|14.1|14.2|14.3|14.4|14.5|14.6|14.7|14.8|14.9|14.10|15.1|15.2|15.3|15.4|15.5|16.1|16.2|16.3|16.4|16.5|16.6|16.8|16.9|17.3|17.4|17.5|17.6|18.1|18.2|18.4|19.1|20.2|20.4|20.5|20.7|20.8|20.9|20.10|20.11|20.12] [S|MISRA1998_CHECK_RULE|ALL] [S|MISRA1998_RULE|1|5|8|12|13|14|17|18|19|20|21|22|24|28|29|31|32|33|34|35|36|37|38|39|40|42|43|44|45|46|48|49|50|51|53|54|55|56|57|58|59|60|61|62|63|64|65|68|69|70|71|72|73|74|75|76|77|78|79|80|82|83|84|85|99|101|102|103|104|105|106|108|110|111|112|113|115|118|119|121|122|123|124|125|126|127] [S|MISRA_GROUP_FILE_PATH|^"$(PROJDIR)\$(PROJECTNAME).rde^"] [S|CPU|RX600] [S|BASE|00000000=NONE] [I|PID|16]
|
|
||||||
" 3
|
|
||||||
"[V|VERSION|1] [S|LANG|C] [B|SJIS|1] [S|INCLUDE|^"$(PROJDIR)\..\..\..\Source\portable\Renesas\RX600^"|^"$(PROJDIR)\..\..\..\Source\include^"|^"$(PROJDIR)^"|^"$(PROJDIR)\..\..\include^"|^"$(PROJDIR)\..\..\Common\include^"|^"$(PROJDIR)\.\include^"|^"$(PROJDIR)\Renesas-Files^"] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [B|SIZE|1] [B|MAP|0] [I|INLINE|100] [I|LOOP|2] [S|MISRA2004_CHECK_RULE|ALL] [S|MISRA2004_RULE|1.1|3.4|4.1|5.2|5.3|5.4|5.5|5.6|5.7|6.1|6.2|6.3|6.4|6.5|7.1|8.1|8.2|8.3|8.5|8.6|8.7|8.8|8.11|8.12|9.2|9.3|10.1|10.2|10.3|10.4|10.5|10.6|11.1|11.2|11.3|11.4|11.5|12.1|12.2|12.3|12.4|12.5|12.6|12.7|12.8|12.9|12.10|12.11|12.12|12.13|13.1|13.2|13.3|13.4|13.7|14.1|14.2|14.3|14.4|14.5|14.6|14.7|14.8|14.9|14.10|15.1|15.2|15.3|15.4|15.5|16.1|16.2|16.3|16.4|16.5|16.6|16.8|16.9|17.3|17.4|17.5|17.6|18.1|18.2|18.4|19.1|20.2|20.4|20.5|20.7|20.8|20.9|20.10|20.11|20.12] [S|MISRA1998_CHECK_RULE|ALL] [S|MISRA1998_RULE|1|5|8|12|13|14|17|18|19|20|21|22|24|28|29|31|32|33|34|35|36|37|38|39|40|42|43|44|45|46|48|49|50|51|53|54|55|56|57|58|59|60|61|62|63|64|65|68|69|70|71|72|73|74|75|76|77|78|79|80|82|83|84|85|99|101|102|103|104|105|106|108|110|111|112|113|115|118|119|121|122|123|124|125|126|127] [S|MISRA_GROUP_FILE_PATH|^"$(PROJDIR)\$(PROJECTNAME).rde^"] [S|CPU|RX600] [S|BASE|00000000=NONE] [I|PID|16]
|
|
||||||
" 2
|
|
||||||
"[V|VERSION|1] [S|MODE|BUILD/CHANGED] [S|EXISTOUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [B|RUNTIME|1] [B|MATH|1] [B|STDIO|1] [B|STDLIB|1] [B|STRING|1] [B|NEW|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [B|SIZE|1] [I|INLINE|100] [I|LOOP|2] [S|CPU|RX600] [S|BASE|00000000=NONE] [I|PID|16]
|
|
||||||
" 1
|
|
||||||
"[V|VERSION|6] [S|FORM|STYPE] [S|BYTE_COUNT_VALUE|FF] [B|DEBUG|1] [S|ROM|(D,R)|(D_1,R_1)|(D_2,R_2)] [S|CRC|NONE|DEFAULT|00000000] [B|LIST|1] [S|LIST|^"$(CONFIGDIR)\$(PROJECTNAME).map^"] [S|SHOW|METHODCUSTOM|] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).mot^"] [I|SPACE|^"FF^"] [B|OPTIMIZE|0] [S|START|B_1,R_1,B_2,R_2,B,R,SU,SI(00)|PResetPRG(0FFE00000)|C_1,C_2,C,C$*,D*,P,PIntPRG,W*,L(0FFE01000)|FIXEDVECT(0FFFFFFD0)]
|
|
||||||
" 5
|
|
||||||
[EXCLUDED_FILES_Debug_RX600_E1_E20_SYSTEM]
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\main-blinky.c"
|
|
||||||
[LINKAGE_ORDER_Debug_RX600_E1_E20_SYSTEM]
|
|
||||||
[GENERAL_DATA_CONFIGURATION_Debug_RX600_E1_E20_SYSTEM]
|
|
||||||
[OPTIONS_Debug_with_optimisation_Renesas OptLinker]
|
[OPTIONS_Debug_with_optimisation_Renesas OptLinker]
|
||||||
"Single Shot" "02af16b39738cc10" 5
|
"Single Shot" "026be049ed48cc10" 5
|
||||||
[OPTIONS_Debug_with_optimisation_Renesas RX Assembler]
|
[OPTIONS_Debug_with_optimisation_Renesas RX Assembler]
|
||||||
"Assembly source file" "0c257402da28cc10" 4
|
"Assembly source file" "0c257402da28cc10" 4
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\Renesas-Files\lowlvl.src" "0c257402da28cc10" 4
|
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\Renesas-Files\lowlvl.src" "0c257402da28cc10" 4
|
||||||
|
@ -474,118 +407,21 @@
|
||||||
" 2
|
" 2
|
||||||
"[V|VERSION|1] [S|MODE|BUILD/CHANGED] [S|EXISTOUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [B|RUNTIME|1] [B|MATH|1] [B|STDIO|1] [B|STDLIB|1] [B|STRING|1] [B|NOFLOAT|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [B|SIZE|1] [I|INLINE|100] [I|LOOP|2] [S|CPU|RX600] [S|BASE|00000000=NONE] [B|SKIPDEPENDENCY|1]
|
"[V|VERSION|1] [S|MODE|BUILD/CHANGED] [S|EXISTOUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [B|RUNTIME|1] [B|MATH|1] [B|STDIO|1] [B|STDLIB|1] [B|STRING|1] [B|NOFLOAT|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [B|SIZE|1] [I|INLINE|100] [I|LOOP|2] [S|CPU|RX600] [S|BASE|00000000=NONE] [B|SKIPDEPENDENCY|1]
|
||||||
" 1
|
" 1
|
||||||
"[V|VERSION|6] [S|FORM|STYPE] [S|BYTE_COUNT_VALUE|FF] [B|DEBUG|1] [S|ROM|(D,R)|(D_1,R_1)|(D_2,R_2)] [S|CRC|NONE|DEFAULT|00000000] [B|LIST|1] [S|LIST|^"$(CONFIGDIR)\$(PROJECTNAME).map^"] [S|SHOW|METHODCUSTOM|] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).mot^"] [B|MAP|1] [S|MAPPATH|^"$(CONFIGDIR)\$(PROJECTNAME).bls^"] [I|SPACE|^"FF^"] [S|OPTIMIZEITEMS|SPEED] [S|START|B_RX_DESC,B_TX_DESC,B_ETHERNET_BUFFERS,B_1,R_1,B_2,R_2,B,R,SU,SI(00)|PResetPRG(0FFE00000)|C_1,C_2,C,C$*,D*,P,PIntPRG,W*,L(0FFE01000)|FIXEDVECT(0FFFFFFD0)] [B|SKIPDEPENDENCY|1]
|
"[V|VERSION|6] [S|FORM|STYPE] [S|BYTE_COUNT_VALUE|FF] [B|DEBUG|1] [S|ROM|(D,R)|(D_1,R_1)|(D_2,R_2)] [S|CRC|NONE|DEFAULT|00000000] [B|LIST|1] [S|LIST|^"$(CONFIGDIR)\$(PROJECTNAME).map^"] [S|SHOW|METHODCUSTOM|] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).mot^"] [B|MAP|1] [S|MAPPATH|^"$(CONFIGDIR)\$(PROJECTNAME).bls^"] [I|SPACE|^"FF^"] [S|OPTIMIZEITEMS|SPEED] [S|START|B_1,R_1,B_2,R_2,B,R,SU,SI(00)|PResetPRG(0FFE00000)|C_1,C_2,C,C$*,D*,P,PIntPRG,W*,L(0FFE01000)|FIXEDVECT(0FFFFFFD0)] [B|SKIPDEPENDENCY|1]
|
||||||
" 5
|
" 5
|
||||||
[EXCLUDED_FILES_Debug_with_optimisation]
|
[EXCLUDED_FILES_Debug_with_optimisation]
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\main-blinky.c"
|
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\main-blinky.c"
|
||||||
[LINKAGE_ORDER_Debug_with_optimisation]
|
[LINKAGE_ORDER_Debug_with_optimisation]
|
||||||
[GENERAL_DATA_CONFIGURATION_Debug_with_optimisation]
|
[GENERAL_DATA_CONFIGURATION_Debug_with_optimisation]
|
||||||
[OPTIONS_SimDebug_RX600_Renesas OptLinker]
|
|
||||||
"Single Shot" "027615ed9738cc10" 5
|
|
||||||
[OPTIONS_SimDebug_RX600_Renesas RX Assembler]
|
|
||||||
"Assembly source file" "07f86402da28cc10" 4
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\Renesas-Files\lowlvl.src" "07f86402da28cc10" 4
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX600\port_asm.src" "07f86402da28cc10" 4
|
|
||||||
"Linkage symbol file" "07f86402da28cc10" 4
|
|
||||||
[OPTIONS_SimDebug_RX600_Renesas RX C/C++ Compiler]
|
|
||||||
"C source file" "074935dc9738cc10" 2
|
|
||||||
"C++ source file" "074935dc9738cc10" 3
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\BlockQ.c" "074935dc9738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\GenQTest.c" "074935dc9738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\IntQueue.c" "074935dc9738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\PollQ.c" "074935dc9738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\QPeek.c" "074935dc9738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\blocktim.c" "074935dc9738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\death.c" "074935dc9738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash.c" "074935dc9738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flop.c" "074935dc9738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" "074935dc9738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\recmutex.c" "074935dc9738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" "074935dc9738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\HighFrequencyTimerTest.c" "074935dc9738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\IntQueueTimer.c" "074935dc9738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\ParTest.c" "074935dc9738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\Renesas-Files\cgc.c" "074935dc9738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\Renesas-Files\dbsct.c" "074935dc9738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\Renesas-Files\hwsetup.c" "074935dc9738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\Renesas-Files\intprg.c" "074935dc9738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\Renesas-Files\lowsrc.c" "074935dc9738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\Renesas-Files\resetprg.c" "074935dc9738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\Renesas-Files\sbrk.c" "074935dc9738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\Renesas-Files\vecttbl.c" "074935dc9738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\main-blinky.c" "074935dc9738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\main-full.c" "074935dc9738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\list.c" "074935dc9738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "074935dc9738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX600\port.c" "074935dc9738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "074935dc9738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "074935dc9738cc10" 2
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "074935dc9738cc10" 2
|
|
||||||
[OPTIONS_SimDebug_RX600_Renesas RX C/C++ Library Generator]
|
|
||||||
"Single Shot" "0cd2772f9738cc10" 1
|
|
||||||
[OPTIONS_SimDebug_RX600_Renesas RX Configurator]
|
|
||||||
"Single Shot" "0bf59a677438cc10" 6
|
|
||||||
[OPTIONS_SimDebug_RX600]
|
|
||||||
"" 0
|
|
||||||
"[V|VERSION|1] [B|COMMAND|1] [S|SPEC|UITRON4] [S|OUTPUTPATH|^"$(CONFIGDIR)^"] [S|CPU|RX600] [S|ENDIAN|LITTLE] [S|FINT_REGISTER|0]" 6
|
|
||||||
"[V|VERSION|1] [B|DEBUG|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|LISTFILE|0] [S|CPU|RX600] [S|ENDIAN|LITTLE] [S|FINT_REGISTER|0]" 4
|
|
||||||
"[V|VERSION|1] [S|LANG|CPP] [B|SJIS|1] [S|INCLUDE|^"$(PROJDIR)\..\..\..\Source\portable\Renesas\RX600^"|^"$(PROJDIR)\..\..\..\Source\include^"|^"$(PROJDIR)^"|^"$(PROJDIR)\..\..\include^"|^"$(PROJDIR)\..\..\Common\include^"|^"$(PROJDIR)\.\include^"|^"$(PROJDIR)\Renesas-Files^"] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [B|SIZE|1] [B|MAP|0] [I|INLINE|100] [I|LOOP|2] [S|MISRA2004_CHECK_RULE|ALL] [S|MISRA2004_RULE|1.1|3.4|4.1|5.2|5.3|5.4|5.5|5.6|5.7|6.1|6.2|6.3|6.4|6.5|7.1|8.1|8.2|8.3|8.5|8.6|8.7|8.8|8.11|8.12|9.2|9.3|10.1|10.2|10.3|10.4|10.5|10.6|11.1|11.2|11.3|11.4|11.5|12.1|12.2|12.3|12.4|12.5|12.6|12.7|12.8|12.9|12.10|12.11|12.12|12.13|13.1|13.2|13.3|13.4|13.7|14.1|14.2|14.3|14.4|14.5|14.6|14.7|14.8|14.9|14.10|15.1|15.2|15.3|15.4|15.5|16.1|16.2|16.3|16.4|16.5|16.6|16.8|16.9|17.3|17.4|17.5|17.6|18.1|18.2|18.4|19.1|20.2|20.4|20.5|20.7|20.8|20.9|20.10|20.11|20.12] [S|MISRA1998_CHECK_RULE|ALL] [S|MISRA1998_RULE|1|5|8|12|13|14|17|18|19|20|21|22|24|28|29|31|32|33|34|35|36|37|38|39|40|42|43|44|45|46|48|49|50|51|53|54|55|56|57|58|59|60|61|62|63|64|65|68|69|70|71|72|73|74|75|76|77|78|79|80|82|83|84|85|99|101|102|103|104|105|106|108|110|111|112|113|115|118|119|121|122|123|124|125|126|127] [S|MISRA_GROUP_FILE_PATH|^"$(PROJDIR)\$(PROJECTNAME).rde^"] [S|CPU|RX600] [S|BASE|00000000=NONE] [I|PID|16]
|
|
||||||
" 3
|
|
||||||
"[V|VERSION|1] [S|LANG|C] [B|SJIS|1] [S|INCLUDE|^"$(PROJDIR)\..\..\..\Source\portable\Renesas\RX600^"|^"$(PROJDIR)\..\..\..\Source\include^"|^"$(PROJDIR)^"|^"$(PROJDIR)\..\..\include^"|^"$(PROJDIR)\..\..\Common\include^"|^"$(PROJDIR)\.\include^"|^"$(PROJDIR)\Renesas-Files^"] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [B|SIZE|1] [B|MAP|0] [I|INLINE|100] [I|LOOP|2] [S|MISRA2004_CHECK_RULE|ALL] [S|MISRA2004_RULE|1.1|3.4|4.1|5.2|5.3|5.4|5.5|5.6|5.7|6.1|6.2|6.3|6.4|6.5|7.1|8.1|8.2|8.3|8.5|8.6|8.7|8.8|8.11|8.12|9.2|9.3|10.1|10.2|10.3|10.4|10.5|10.6|11.1|11.2|11.3|11.4|11.5|12.1|12.2|12.3|12.4|12.5|12.6|12.7|12.8|12.9|12.10|12.11|12.12|12.13|13.1|13.2|13.3|13.4|13.7|14.1|14.2|14.3|14.4|14.5|14.6|14.7|14.8|14.9|14.10|15.1|15.2|15.3|15.4|15.5|16.1|16.2|16.3|16.4|16.5|16.6|16.8|16.9|17.3|17.4|17.5|17.6|18.1|18.2|18.4|19.1|20.2|20.4|20.5|20.7|20.8|20.9|20.10|20.11|20.12] [S|MISRA1998_CHECK_RULE|ALL] [S|MISRA1998_RULE|1|5|8|12|13|14|17|18|19|20|21|22|24|28|29|31|32|33|34|35|36|37|38|39|40|42|43|44|45|46|48|49|50|51|53|54|55|56|57|58|59|60|61|62|63|64|65|68|69|70|71|72|73|74|75|76|77|78|79|80|82|83|84|85|99|101|102|103|104|105|106|108|110|111|112|113|115|118|119|121|122|123|124|125|126|127] [S|MISRA_GROUP_FILE_PATH|^"$(PROJDIR)\$(PROJECTNAME).rde^"] [S|CPU|RX600] [S|BASE|00000000=NONE] [I|PID|16]
|
|
||||||
" 2
|
|
||||||
"[V|VERSION|1] [S|MODE|BUILD/CHANGED] [S|EXISTOUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [B|RUNTIME|1] [B|MATH|1] [B|STDIO|1] [B|STDLIB|1] [B|STRING|1] [B|NEW|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [B|SIZE|1] [I|INLINE|100] [I|LOOP|2] [S|CPU|RX600] [S|BASE|00000000=NONE] [I|PID|16]
|
|
||||||
" 1
|
|
||||||
"[V|VERSION|6] [S|FORM|STYPE] [S|BYTE_COUNT_VALUE|FF] [B|DEBUG|1] [S|ROM|(D,R)|(D_1,R_1)|(D_2,R_2)] [S|CRC|NONE|DEFAULT|00000000] [B|LIST|1] [S|LIST|^"$(CONFIGDIR)\$(PROJECTNAME).map^"] [S|SHOW|METHODCUSTOM|] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).mot^"] [I|SPACE|^"FF^"] [B|OPTIMIZE|0] [S|START|B_1,R_1,B_2,R_2,B,R,SU,SI(00)|PResetPRG(0FFE00000)|C_1,C_2,C,C$*,D*,P,PIntPRG,W*,L(0FFE01000)|FIXEDVECT(0FFFFFFD0)]
|
|
||||||
" 5
|
|
||||||
[EXCLUDED_FILES_SimDebug_RX600]
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\main-blinky.c"
|
|
||||||
[LINKAGE_ORDER_SimDebug_RX600]
|
|
||||||
[GENERAL_DATA_CONFIGURATION_SimDebug_RX600]
|
|
||||||
[GENERAL_DATA_CONFIGURATION_SESSION_Blinky_DefaultSession]
|
|
||||||
[SESSION_DATA_CONFIGURATION_SESSION_Blinky_DefaultSession]
|
|
||||||
"MEMORY_MAPPING_OPTIONS" ""
|
|
||||||
[GENERAL_DATA_CONFIGURATION_SESSION_Blinky_SessionRX600_E1_E20_SYSTEM]
|
[GENERAL_DATA_CONFIGURATION_SESSION_Blinky_SessionRX600_E1_E20_SYSTEM]
|
||||||
[SESSION_DATA_CONFIGURATION_SESSION_Blinky_SessionRX600_E1_E20_SYSTEM]
|
[SESSION_DATA_CONFIGURATION_SESSION_Blinky_SessionRX600_E1_E20_SYSTEM]
|
||||||
"MEMORY_MAPPING_OPTIONS" "Unknown Options"
|
"MEMORY_MAPPING_OPTIONS" "Unknown Options"
|
||||||
[GENERAL_DATA_CONFIGURATION_SESSION_Blinky_SimSessionRX600]
|
|
||||||
[SESSION_DATA_CONFIGURATION_SESSION_Blinky_SimSessionRX600]
|
|
||||||
"MEMORY_MAPPING_OPTIONS" "[V|VERSION|1] [S|CPUTYPE|^"Other (RX600)^"] [S|MAP|^"0x00000000,0x0001FFFF,RAM,32,0101,2 0x00080000,0x000FFFFF,I/O,32,0101,2 0x00100000,0x00107FFF,ROM,32,0101,2 0x007F8000,0x007F9FFF,RAM,32,0101,2 0x007FC000,0x007FC4FF,I/O,32,0101,2 0x007FFC00,0x007FFFFF,I/O,32,0101,2 0x00E00000,0x00FFFFFF,ROM,32,0101,2 0xFEFFE000,0xFEFFFFFF,ROM,32,0101,2 0xFF7FC000,0xFF7FFFFF,ROM,32,0101,2 0xFFE00000,0xFFFFFFFF,ROM,32,0101,2^"] [S|RESOURCE|^"0x00000000,0x0001FFFF,R/W 0x00080000,0x000FFFFF,R/W 0x007FC000,0x007FC4FF,R/W 0x007FFC00,0x007FFFFF,R/W 0xFFFF8000,0xFFFFFFFF,R/W ^"] [B|SIMIOF|0] [I|SIMIOADR|0x0] [I|BUS_MODE|0] [S|ENDIAN|^"LITTLE^"] [S|PATCH|^"OFF^"]"
|
|
||||||
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]
|
|
||||||
[SESSION_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]
|
|
||||||
"MEMORY_MAPPING_OPTIONS" ""
|
|
||||||
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_SessionRX600_E1_E20_SYSTEM]
|
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_SessionRX600_E1_E20_SYSTEM]
|
||||||
[SESSION_DATA_CONFIGURATION_SESSION_Debug_SessionRX600_E1_E20_SYSTEM]
|
[SESSION_DATA_CONFIGURATION_SESSION_Debug_SessionRX600_E1_E20_SYSTEM]
|
||||||
"MEMORY_MAPPING_OPTIONS" "Unknown Options"
|
"MEMORY_MAPPING_OPTIONS" "Unknown Options"
|
||||||
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_SimSessionRX600]
|
|
||||||
[SESSION_DATA_CONFIGURATION_SESSION_Debug_SimSessionRX600]
|
|
||||||
"MEMORY_MAPPING_OPTIONS" "[V|VERSION|1] [S|CPUTYPE|^"Other (RX600)^"] [S|MAP|^"0x00000000,0x0001FFFF,RAM,32,0101,2 0x00080000,0x000FFFFF,I/O,32,0101,2 0x00100000,0x00107FFF,ROM,32,0101,2 0x007F8000,0x007F9FFF,RAM,32,0101,2 0x007FC000,0x007FC4FF,I/O,32,0101,2 0x007FFC00,0x007FFFFF,I/O,32,0101,2 0x00E00000,0x00FFFFFF,ROM,32,0101,2 0xFEFFE000,0xFEFFFFFF,ROM,32,0101,2 0xFF7FC000,0xFF7FFFFF,ROM,32,0101,2 0xFFE00000,0xFFFFFFFF,ROM,32,0101,2^"] [S|RESOURCE|^"0x00000000,0x0001FFFF,R/W 0x00080000,0x000FFFFF,R/W 0x007FC000,0x007FC4FF,R/W 0x007FFC00,0x007FFFFF,R/W 0xFFFF8000,0xFFFFFFFF,R/W ^"] [B|SIMIOF|0] [I|SIMIOADR|0x0] [I|BUS_MODE|0] [S|ENDIAN|^"LITTLE^"] [S|PATCH|^"OFF^"]"
|
|
||||||
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_RX600_E1_E20_SYSTEM_DefaultSession]
|
|
||||||
[SESSION_DATA_CONFIGURATION_SESSION_Debug_RX600_E1_E20_SYSTEM_DefaultSession]
|
|
||||||
"MEMORY_MAPPING_OPTIONS" ""
|
|
||||||
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_RX600_E1_E20_SYSTEM_SessionRX600_E1_E20_SYSTEM]
|
|
||||||
[SESSION_DATA_CONFIGURATION_SESSION_Debug_RX600_E1_E20_SYSTEM_SessionRX600_E1_E20_SYSTEM]
|
|
||||||
"MEMORY_MAPPING_OPTIONS" "Unknown Options"
|
|
||||||
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_RX600_E1_E20_SYSTEM_SimSessionRX600]
|
|
||||||
[SESSION_DATA_CONFIGURATION_SESSION_Debug_RX600_E1_E20_SYSTEM_SimSessionRX600]
|
|
||||||
"MEMORY_MAPPING_OPTIONS" "[V|VERSION|1] [S|CPUTYPE|^"Other (RX600)^"] [S|MAP|^"0x00000000,0x0001FFFF,RAM,32,0101,2 0x00080000,0x000FFFFF,I/O,32,0101,2 0x00100000,0x00107FFF,ROM,32,0101,2 0x007F8000,0x007F9FFF,RAM,32,0101,2 0x007FC000,0x007FC4FF,I/O,32,0101,2 0x007FFC00,0x007FFFFF,I/O,32,0101,2 0x00E00000,0x00FFFFFF,ROM,32,0101,2 0xFEFFE000,0xFEFFFFFF,ROM,32,0101,2 0xFF7FC000,0xFF7FFFFF,ROM,32,0101,2 0xFFE00000,0xFFFFFFFF,ROM,32,0101,2^"] [S|RESOURCE|^"0x00000000,0x0001FFFF,R/W 0x00080000,0x000FFFFF,R/W 0x007FC000,0x007FC4FF,R/W 0x007FFC00,0x007FFFFF,R/W 0xFFFF8000,0xFFFFFFFF,R/W ^"] [B|SIMIOF|0] [I|SIMIOADR|0x0] [I|BUS_MODE|0] [S|ENDIAN|^"LITTLE^"] [S|PATCH|^"OFF^"]"
|
|
||||||
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_with_optimisation_DefaultSession]
|
|
||||||
[SESSION_DATA_CONFIGURATION_SESSION_Debug_with_optimisation_DefaultSession]
|
|
||||||
"MEMORY_MAPPING_OPTIONS" ""
|
|
||||||
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_with_optimisation_SessionRX600_E1_E20_SYSTEM]
|
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_with_optimisation_SessionRX600_E1_E20_SYSTEM]
|
||||||
[SESSION_DATA_CONFIGURATION_SESSION_Debug_with_optimisation_SessionRX600_E1_E20_SYSTEM]
|
[SESSION_DATA_CONFIGURATION_SESSION_Debug_with_optimisation_SessionRX600_E1_E20_SYSTEM]
|
||||||
"MEMORY_MAPPING_OPTIONS" "Unknown Options"
|
"MEMORY_MAPPING_OPTIONS" "Unknown Options"
|
||||||
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_with_optimisation_SimSessionRX600]
|
|
||||||
[SESSION_DATA_CONFIGURATION_SESSION_Debug_with_optimisation_SimSessionRX600]
|
|
||||||
"MEMORY_MAPPING_OPTIONS" "[V|VERSION|1] [S|CPUTYPE|^"Other (RX600)^"] [S|MAP|^"0x00000000,0x0001FFFF,RAM,32,0101,2 0x00080000,0x000FFFFF,I/O,32,0101,2 0x00100000,0x00107FFF,ROM,32,0101,2 0x007F8000,0x007F9FFF,RAM,32,0101,2 0x007FC000,0x007FC4FF,I/O,32,0101,2 0x007FFC00,0x007FFFFF,I/O,32,0101,2 0x00E00000,0x00FFFFFF,ROM,32,0101,2 0xFEFFE000,0xFEFFFFFF,ROM,32,0101,2 0xFF7FC000,0xFF7FFFFF,ROM,32,0101,2 0xFFE00000,0xFFFFFFFF,ROM,32,0101,2^"] [S|RESOURCE|^"0x00000000,0x0001FFFF,R/W 0x00080000,0x000FFFFF,R/W 0x007FC000,0x007FC4FF,R/W 0x007FFC00,0x007FFFFF,R/W 0xFFFF8000,0xFFFFFFFF,R/W ^"] [B|SIMIOF|0] [I|SIMIOADR|0x0] [I|BUS_MODE|0] [S|ENDIAN|^"LITTLE^"] [S|PATCH|^"OFF^"]"
|
|
||||||
[GENERAL_DATA_CONFIGURATION_SESSION_SimDebug_RX600_DefaultSession]
|
|
||||||
[SESSION_DATA_CONFIGURATION_SESSION_SimDebug_RX600_DefaultSession]
|
|
||||||
"MEMORY_MAPPING_OPTIONS" ""
|
|
||||||
[GENERAL_DATA_CONFIGURATION_SESSION_SimDebug_RX600_SessionRX600_E1_E20_SYSTEM]
|
|
||||||
[SESSION_DATA_CONFIGURATION_SESSION_SimDebug_RX600_SessionRX600_E1_E20_SYSTEM]
|
|
||||||
"MEMORY_MAPPING_OPTIONS" "Unknown Options"
|
|
||||||
[GENERAL_DATA_CONFIGURATION_SESSION_SimDebug_RX600_SimSessionRX600]
|
|
||||||
[SESSION_DATA_CONFIGURATION_SESSION_SimDebug_RX600_SimSessionRX600]
|
|
||||||
"MEMORY_MAPPING_OPTIONS" "[V|VERSION|1] [S|CPUTYPE|^"Other (RX600)^"] [S|MAP|^"0x00000000,0x0001FFFF,RAM,32,0101,2 0x00080000,0x000FFFFF,I/O,32,0101,2 0x00100000,0x00107FFF,ROM,32,0101,2 0x007F8000,0x007F9FFF,RAM,32,0101,2 0x007FC000,0x007FC4FF,I/O,32,0101,2 0x007FFC00,0x007FFFFF,I/O,32,0101,2 0x00E00000,0x00FFFFFF,ROM,32,0101,2 0xFEFFE000,0xFEFFFFFF,ROM,32,0101,2 0xFF7FC000,0xFF7FFFFF,ROM,32,0101,2 0xFFE00000,0xFFFFFFFF,ROM,32,0101,2^"] [S|RESOURCE|^"0x00000000,0x0001FFFF,R/W 0x00080000,0x000FFFFF,R/W 0x007FC000,0x007FC4FF,R/W 0x007FFC00,0x007FFFFF,R/W 0xFFFF8000,0xFFFFFFFF,R/W ^"] [B|SIMIOF|0] [I|SIMIOADR|0x0] [I|BUS_MODE|0] [S|ENDIAN|^"LITTLE^"] [S|PATCH|^"OFF^"]"
|
|
||||||
[EXT_DEBUGGER_INFO]
|
[EXT_DEBUGGER_INFO]
|
||||||
0 "" "" "" ""
|
0 "" "" "" ""
|
||||||
[END]
|
[END]
|
||||||
|
|
Binary file not shown.
|
@ -3,15 +3,11 @@
|
||||||
[DATABASE_VERSION]
|
[DATABASE_VERSION]
|
||||||
"1.1"
|
"1.1"
|
||||||
[SESSIONS_]
|
[SESSIONS_]
|
||||||
"DefaultSession"
|
|
||||||
"SessionRX600_E1_E20_SYSTEM"
|
"SessionRX600_E1_E20_SYSTEM"
|
||||||
"SimSessionRX600"
|
|
||||||
[CONFIGURATIONS]
|
[CONFIGURATIONS]
|
||||||
"Blinky"
|
"Blinky"
|
||||||
"Debug"
|
"Debug"
|
||||||
"Debug_RX600_E1_E20_SYSTEM"
|
|
||||||
"Debug_with_optimisation"
|
"Debug_with_optimisation"
|
||||||
"SimDebug_RX600"
|
|
||||||
[CURRENT_CONFIGURATION]
|
[CURRENT_CONFIGURATION]
|
||||||
"Debug"
|
"Debug"
|
||||||
[CURRENT_SESSION]
|
[CURRENT_SESSION]
|
||||||
|
@ -19,51 +15,19 @@
|
||||||
[GENERAL_DATA_PROJECT]
|
[GENERAL_DATA_PROJECT]
|
||||||
"FDT_UserBootAreaFiles" ""
|
"FDT_UserBootAreaFiles" ""
|
||||||
[GENERAL_DATA_CONFIGURATION_Blinky]
|
[GENERAL_DATA_CONFIGURATION_Blinky]
|
||||||
"PROJECT_FILES_MODIFIED_DATA_TAG" "TRUE"
|
"PROJECT_FILES_MODIFIED_DATA_TAG" "FALSE"
|
||||||
[SESSIONS_Blinky]
|
[SESSIONS_Blinky]
|
||||||
"DefaultSession"
|
|
||||||
"SessionRX600_E1_E20_SYSTEM"
|
"SessionRX600_E1_E20_SYSTEM"
|
||||||
"SimSessionRX600"
|
|
||||||
[GENERAL_DATA_CONFIGURATION_Debug]
|
[GENERAL_DATA_CONFIGURATION_Debug]
|
||||||
"PROJECT_FILES_MODIFIED_DATA_TAG" "FALSE"
|
"PROJECT_FILES_MODIFIED_DATA_TAG" "FALSE"
|
||||||
[SESSIONS_Debug]
|
[SESSIONS_Debug]
|
||||||
"DefaultSession"
|
|
||||||
"SessionRX600_E1_E20_SYSTEM"
|
"SessionRX600_E1_E20_SYSTEM"
|
||||||
"SimSessionRX600"
|
|
||||||
[GENERAL_DATA_CONFIGURATION_Debug_RX600_E1_E20_SYSTEM]
|
|
||||||
"PROJECT_FILES_MODIFIED_DATA_TAG" "FALSE"
|
|
||||||
[SESSIONS_Debug_RX600_E1_E20_SYSTEM]
|
|
||||||
"DefaultSession"
|
|
||||||
"SessionRX600_E1_E20_SYSTEM"
|
|
||||||
"SimSessionRX600"
|
|
||||||
[GENERAL_DATA_CONFIGURATION_Debug_with_optimisation]
|
[GENERAL_DATA_CONFIGURATION_Debug_with_optimisation]
|
||||||
"PROJECT_FILES_MODIFIED_DATA_TAG" "FALSE"
|
"PROJECT_FILES_MODIFIED_DATA_TAG" "FALSE"
|
||||||
[SESSIONS_Debug_with_optimisation]
|
[SESSIONS_Debug_with_optimisation]
|
||||||
"DefaultSession"
|
|
||||||
"SessionRX600_E1_E20_SYSTEM"
|
"SessionRX600_E1_E20_SYSTEM"
|
||||||
"SimSessionRX600"
|
|
||||||
[GENERAL_DATA_CONFIGURATION_SimDebug_RX600]
|
|
||||||
"PROJECT_FILES_MODIFIED_DATA_TAG" "FALSE"
|
|
||||||
[SESSIONS_SimDebug_RX600]
|
|
||||||
"DefaultSession"
|
|
||||||
"SessionRX600_E1_E20_SYSTEM"
|
|
||||||
"SimSessionRX600"
|
|
||||||
[GENERAL_DATA_SESSION_SimSessionRX600]
|
|
||||||
[GENERAL_DATA_SESSION_DefaultSession]
|
|
||||||
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_with_optimisation_SimSessionRX600]
|
|
||||||
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_RX600_E1_E20_SYSTEM_SimSessionRX600]
|
|
||||||
[GENERAL_DATA_CONFIGURATION_SESSION_Blinky_SessionRX600_E1_E20_SYSTEM]
|
[GENERAL_DATA_CONFIGURATION_SESSION_Blinky_SessionRX600_E1_E20_SYSTEM]
|
||||||
[GENERAL_DATA_CONFIGURATION_SESSION_Blinky_DefaultSession]
|
|
||||||
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_RX600_E1_E20_SYSTEM_SessionRX600_E1_E20_SYSTEM]
|
|
||||||
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]
|
|
||||||
[GENERAL_DATA_CONFIGURATION_SESSION_SimDebug_RX600_SessionRX600_E1_E20_SYSTEM]
|
|
||||||
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_RX600_E1_E20_SYSTEM_DefaultSession]
|
|
||||||
[GENERAL_DATA_CONFIGURATION_SESSION_SimDebug_RX600_DefaultSession]
|
|
||||||
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_SessionRX600_E1_E20_SYSTEM]
|
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_SessionRX600_E1_E20_SYSTEM]
|
||||||
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_SimSessionRX600]
|
|
||||||
[GENERAL_DATA_CONFIGURATION_SESSION_SimDebug_RX600_SimSessionRX600]
|
|
||||||
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_with_optimisation_DefaultSession]
|
|
||||||
[GENERAL_DATA_CONFIGURATION_SESSION_Blinky_SimSessionRX600]
|
|
||||||
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_with_optimisation_SessionRX600_E1_E20_SYSTEM]
|
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_with_optimisation_SessionRX600_E1_E20_SYSTEM]
|
||||||
[GENERAL_DATA_SESSION_SessionRX600_E1_E20_SYSTEM]
|
[GENERAL_DATA_SESSION_SessionRX600_E1_E20_SYSTEM]
|
||||||
[END]
|
[END]
|
||||||
|
|
|
@ -104,28 +104,28 @@
|
||||||
"{5F75FDA0-6FF0-11D5-B7CE-00E029352378}PACtrlViews" "0"
|
"{5F75FDA0-6FF0-11D5-B7CE-00E029352378}PACtrlViews" "0"
|
||||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_EVAL_DENORMAL_MODE" "16777216"
|
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_EVAL_DENORMAL_MODE" "16777216"
|
||||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_EVAL_ROUND_MODE" "768"
|
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_EVAL_ROUND_MODE" "768"
|
||||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_0" "0000000000007500"
|
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_0" "000000000000092C"
|
||||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_1" "0000000000000000"
|
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_1" "0000000000000000"
|
||||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_10" "00000000A5A5A5A5"
|
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_10" "00000000A5A5A5A5"
|
||||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_11" "00000000A5A5A5A5"
|
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_11" "00000000A5A5A5A5"
|
||||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_12" "00000000A5A5A5A5"
|
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_12" "00000000A5A5A5A5"
|
||||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_13" "00000000A5A5A5A5"
|
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_13" "00000000A5A5A5A5"
|
||||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_14" "00000000C4658E35"
|
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_14" "000000000000BAA4"
|
||||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_15" "00000000A5A5A5A5"
|
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_15" "00000000A5A5A5A5"
|
||||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_16" "0000000000007500"
|
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_16" "000000000000092C"
|
||||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_17" "000000000000C378"
|
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_17" "000000000000C044"
|
||||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_18" "0000000000030000"
|
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_18" "0000000000030003"
|
||||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_19" "00000000FFE02C63"
|
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_19" "00000000FFE044D3"
|
||||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_2" "00000000CA0A613B"
|
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_2" "000000000000B940"
|
||||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_20" "00000000FFE01388"
|
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_20" "00000000FFE013C8"
|
||||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_21" "0000000000000000"
|
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_21" "0000000000000000"
|
||||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_22" "0000000000000000"
|
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_22" "0000000000000000"
|
||||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_23" "0000000000000000"
|
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_23" "0000000000000000"
|
||||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_24" "0000000040000100"
|
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_24" "0000000000000100"
|
||||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_25" "00008A613AE30000"
|
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_25" "1234567887650000"
|
||||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_3" "00000000A5A5A5A5"
|
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_3" "0000000000000001"
|
||||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_4" "000000000000FEEE"
|
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_4" "0000000000000001"
|
||||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_5" "000000000000FEED"
|
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_5" "000000000000B940"
|
||||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_6" "00000000A5A5A5A5"
|
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_6" "00000000A5A5A5A5"
|
||||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_7" "00000000A5A5A5A5"
|
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_7" "00000000A5A5A5A5"
|
||||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_8" "00000000A5A5A5A5"
|
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_8" "00000000A5A5A5A5"
|
||||||
|
@ -470,13 +470,13 @@
|
||||||
[WINDOW_POSITION_STATE_DATA_VD1]
|
[WINDOW_POSITION_STATE_DATA_VD1]
|
||||||
"Help" "TOOLBAR 0" 59419 1 5 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
"Help" "TOOLBAR 0" 59419 1 5 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||||||
"QzROM" "TOOLBAR 0" 59419 2 4 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
"QzROM" "TOOLBAR 0" 59419 2 4 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||||||
"{WK_00000001_CmdLine}" "WINDOW" 59422 0 1 "0.07" 205 0 0 350 200 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>|32820|<<separator>>|32801|32824" "0.0"
|
"{WK_00000001_CmdLine}" "WINDOW" 59422 0 1 "0.07" 297 0 0 350 200 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>|32820|<<separator>>|32801|32824" "0.0"
|
||||||
"{WK_00000001_DEBUGCONSOLE}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59421 0 1 "1.00" 374 0 0 350 200 17 0 "57634|57637|57633|<<separator>>|32781|32782|<<separator>>|32780|32785|32787" "0.0"
|
"{WK_00000001_DEBUGCONSOLE}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59421 0 1 "1.00" 374 0 0 350 200 17 0 "57634|57637|57633|<<separator>>|32781|32782|<<separator>>|32780|32785|32787" "0.0"
|
||||||
"{WK_00000001_DEBUGCONSOLE}" "WINDOW" 59422 5 0 "1.00" 146 0 0 350 200 17 0 "57634|57637|57633|<<separator>>|32781|32782|<<separator>>|32780|32785|32787" "0.0"
|
"{WK_00000001_DEBUGCONSOLE}" "WINDOW" 59422 5 0 "1.00" 146 0 0 350 200 17 0 "57634|57637|57633|<<separator>>|32781|32782|<<separator>>|32780|32785|32787" "0.0"
|
||||||
"{WK_00000001_DISASSEMBLY}" "WINDOW" 0 0 0 "0.00" 0 -4 -23 1310 655 9 0 "" "0.0"
|
"{WK_00000001_DISASSEMBLY}" "WINDOW" 0 0 0 "0.00" 0 -4 -23 1310 655 9 0 "" "0.0"
|
||||||
"{WK_00000001_IO}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59422 0 2 "0.35" 187 0 0 350 200 17 0 "32817|32826|32819|32820|32821" "0.0"
|
"{WK_00000001_IO}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59422 0 2 "0.35" 187 0 0 350 200 17 0 "32817|32826|32819|32820|32821" "0.0"
|
||||||
"{WK_00000001_MEMORY}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59422 0 0 "0.54" 277 0 0 350 200 2065 0 "42202|42203|42204|42233|<<separator>>|42206|42205|42230|42229|42207|<<separator>>|42208|42209|42210|49076|42228|42227|<<separator>>|42231|42232|42234|42235|<<separator>>|42211|<<separator>>" "0.0"
|
"{WK_00000001_MEMORY}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59422 0 0 "0.54" 277 0 0 350 200 2065 0 "42202|42203|42204|42233|<<separator>>|42206|42205|42230|42229|42207|<<separator>>|42208|42209|42210|49076|42228|42227|<<separator>>|42231|42232|42234|42235|<<separator>>|42211|<<separator>>" "0.0"
|
||||||
"{WK_00000001_OUTPUT}" "WINDOW" 59422 0 0 "1.00" 205 560 340 350 200 18 0 "36756|36757|36758|36759|<<separator>>|36746|36747|<<separator>>|39531|<<separator>>|39500|39534|<<separator>>|36687" "0.0"
|
"{WK_00000001_OUTPUT}" "WINDOW" 59422 0 0 "1.00" 297 560 340 350 200 18 0 "36756|36757|36758|36759|<<separator>>|36746|36747|<<separator>>|39531|<<separator>>|39500|39534|<<separator>>|36687" "0.0"
|
||||||
"{WK_00000001_REGISTERS}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59421 0 0 "0.87" 413 0 0 350 200 2065 0 "" "0.0"
|
"{WK_00000001_REGISTERS}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59421 0 0 "0.87" 413 0 0 350 200 2065 0 "" "0.0"
|
||||||
"{WK_00000001_STACKTRACE}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59422 0 0 "0.50" 277 0 0 350 200 2065 0 "" "0.0"
|
"{WK_00000001_STACKTRACE}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59422 0 0 "0.50" 277 0 0 350 200 2065 0 "" "0.0"
|
||||||
"{WK_00000001_WATCH}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59421 0 0 "1.00" 374 0 0 853 610 17 0 "32781|32783|<<separator>>|32771|32829|32772|32827|32773|<<separator>>|32786|<<separator>>|32810|32811" "0.0"
|
"{WK_00000001_WATCH}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59421 0 0 "1.00" 374 0 0 853 610 17 0 "32781|32783|<<separator>>|32771|32829|32772|32827|32773|<<separator>>|32786|<<separator>>|32810|32811" "0.0"
|
||||||
|
@ -486,7 +486,7 @@
|
||||||
"{WK_TB00000003_BOOKMARKS}" "TOOLBAR 0" 59419 1 1 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
"{WK_TB00000003_BOOKMARKS}" "TOOLBAR 0" 59419 1 1 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||||||
"{WK_TB00000004_TEMPLATES}" "TOOLBAR 0" 59419 1 0 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
"{WK_TB00000004_TEMPLATES}" "TOOLBAR 0" 59419 1 0 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||||||
"{WK_TB00000005_SEARCH}" "TOOLBAR 0" 59419 0 2 "0.00" 0 0 0 0 0 18 0 "" "0.0"
|
"{WK_TB00000005_SEARCH}" "TOOLBAR 0" 59419 0 2 "0.00" 0 0 0 0 0 18 0 "" "0.0"
|
||||||
"{WK_TB00000007_DEBUG}" "TOOLBAR 0" 59419 2 2 "0.00" 0 914 231 0 0 18 0 "" "0.0"
|
"{WK_TB00000007_DEBUG}" "TOOLBAR 0" 59419 2 1 "0.00" 0 914 231 0 0 18 0 "" "0.0"
|
||||||
"{WK_TB00000008_DEBUGRUN}" "TOOLBAR 0" 59419 0 0 "0.00" 0 298 189 0 0 18 0 "" "0.0"
|
"{WK_TB00000008_DEBUGRUN}" "TOOLBAR 0" 59419 0 0 "0.00" 0 298 189 0 0 18 0 "" "0.0"
|
||||||
"{WK_TB00000009_VERSIONCONTROL}" "TOOLBAR 0" 59419 1 3 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
"{WK_TB00000009_VERSIONCONTROL}" "TOOLBAR 0" 59419 1 3 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||||||
"{WK_TB00000011_CPU}" "TOOLBAR 0" 0 0 0 "0.00" 0 427 225 0 0 5 0 "" "0.0"
|
"{WK_TB00000011_CPU}" "TOOLBAR 0" 0 0 0 "0.00" 0 427 225 0 0 5 0 "" "0.0"
|
||||||
|
@ -508,12 +508,8 @@
|
||||||
[WINDOW_POSITION_STATE_DATA_VD4]
|
[WINDOW_POSITION_STATE_DATA_VD4]
|
||||||
[WINDOW_Z_ORDER]
|
[WINDOW_Z_ORDER]
|
||||||
"{WK_TB00000028_RTOSDEBUG} TOOLBAR 0"
|
"{WK_TB00000028_RTOSDEBUG} TOOLBAR 0"
|
||||||
"{WK_TB00000013_SYMBOL} TOOLBAR 0"
|
|
||||||
"{WK_TB00000011_CPU} TOOLBAR 0"
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\main-full.c"
|
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\main-full.c"
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flop.c"
|
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\main-blinky.c"
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c"
|
|
||||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX630-RSK_Renesas\RTOSDemo\Renesas-Files\resetprg.c"
|
|
||||||
[TARGET_NAME]
|
[TARGET_NAME]
|
||||||
"RX E1/E20 SYSTEM" "" 0
|
"RX E1/E20 SYSTEM" "" 0
|
||||||
[STATUSBAR_STATEINFO_VD1]
|
[STATUSBAR_STATEINFO_VD1]
|
||||||
|
|
|
@ -92,7 +92,8 @@ static void prvQueueSendTask( void *pvParameters );
|
||||||
static xQueueHandle xQueue = NULL;
|
static xQueueHandle xQueue = NULL;
|
||||||
|
|
||||||
/* This variable is not used by this simple Blinky example. It is defined
|
/* This variable is not used by this simple Blinky example. It is defined
|
||||||
purely to allow the project to link as it is used by the full project. */
|
purely to allow the project to link as it is used by the full build
|
||||||
|
configuration. */
|
||||||
volatile unsigned long ulHighFrequencyTickCount = 0UL;
|
volatile unsigned long ulHighFrequencyTickCount = 0UL;
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
@ -120,9 +121,9 @@ extern void HardwareSetup( void );
|
||||||
vTaskStartScheduler();
|
vTaskStartScheduler();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If all is well we will never reach here as the scheduler will now be
|
/* If all is well the next line of code will not be reached as the scheduler
|
||||||
running. If we do reach here then it is likely that there was insufficient
|
will be running. If the next line is reached then it is likely that there was
|
||||||
heap available for the idle task to be created. */
|
insufficient heap available for the idle task to be created. */
|
||||||
for( ;; );
|
for( ;; );
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -144,8 +145,10 @@ const unsigned long ulValueToSend = 100UL;
|
||||||
|
|
||||||
/* Send to the queue - causing the queue receive task to flash its LED. 0
|
/* Send to the queue - causing the queue receive task to flash its LED. 0
|
||||||
is used so the send does not block - it shouldn't need to as the queue
|
is used so the send does not block - it shouldn't need to as the queue
|
||||||
should always be empty here. */
|
should always be empty here (it should always be empty because the task
|
||||||
xQueueSend( xQueue, &ulValueToSend, 0 );
|
removing items from the queue has a higher priority than the task adding
|
||||||
|
things to the queue). */
|
||||||
|
xQueueSend( xQueue, &ulValueToSend, 0UL );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -171,6 +174,11 @@ unsigned long ulReceivedValue;
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
/* A callback function named vApplicationSetupTimerInterrupt() must be defined
|
||||||
|
to configure a tick interrupt source, and configTICK_VECTOR set in
|
||||||
|
FreeRTOSConfig.h to install the tick interrupt handler in the correct position
|
||||||
|
in the vector table. This example uses a compare match timer. It can be
|
||||||
|
into any FreeRTOS project, provided the same compare match timer is available. */
|
||||||
void vApplicationSetupTimerInterrupt( void )
|
void vApplicationSetupTimerInterrupt( void )
|
||||||
{
|
{
|
||||||
/* Enable compare match timer 0. */
|
/* Enable compare match timer 0. */
|
||||||
|
@ -196,24 +204,28 @@ void vApplicationSetupTimerInterrupt( void )
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
/* This function is explained by the comments above its prototype at the top
|
/* If configUSE_MALLOC_FAILED_HOOK is set to 1 in FreeRTOSConfig.h, then this
|
||||||
of this file. */
|
function will be called if pvPortMalloc() returns NULL because it has exhausted
|
||||||
|
the available FreeRTOS heap space. See http://www.freertos.org/a00111.html. */
|
||||||
void vApplicationMallocFailedHook( void )
|
void vApplicationMallocFailedHook( void )
|
||||||
{
|
{
|
||||||
for( ;; );
|
for( ;; );
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
/* This function is explained by the comments above its prototype at the top
|
/* If configCHECK_FOR_STACK_OVERFLOW is set to either 1 or 2 in
|
||||||
of this file. */
|
FreeRTOSConfig.h, then this function will be called if a task overflows its
|
||||||
|
stack space. See
|
||||||
|
http://www.freertos.org/Stacks-and-stack-overflow-checking.html. */
|
||||||
void vApplicationStackOverflowHook( xTaskHandle *pxTask, signed char *pcTaskName )
|
void vApplicationStackOverflowHook( xTaskHandle *pxTask, signed char *pcTaskName )
|
||||||
{
|
{
|
||||||
for( ;; );
|
for( ;; );
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
/* This function is explained by the comments above its prototype at the top
|
/* If configUSE_IDLE_HOOK is set to 1 in FreeRTOSConfig.h, then this function
|
||||||
of this file. */
|
will be called on each iteration of the idle task. See
|
||||||
|
http://www.freertos.org/a00016.html */
|
||||||
void vApplicationIdleHook( void )
|
void vApplicationIdleHook( void )
|
||||||
{
|
{
|
||||||
/* Just to prevent the variable getting optimised away. */
|
/* Just to prevent the variable getting optimised away. */
|
||||||
|
|
|
@ -54,7 +54,8 @@
|
||||||
/* ****************************************************************************
|
/* ****************************************************************************
|
||||||
* This project includes a lot of tasks and tests and is therefore complex.
|
* This project includes a lot of tasks and tests and is therefore complex.
|
||||||
* If you would prefer a much simpler project to get started with then select
|
* If you would prefer a much simpler project to get started with then select
|
||||||
* the 'Blinky' build configuration within the HEW IDE.
|
* the 'Blinky' build configuration within the HEW IDE. The Blinky build
|
||||||
|
* configuration uses main-blinky.c instead of main-full.c.
|
||||||
* ****************************************************************************
|
* ****************************************************************************
|
||||||
*
|
*
|
||||||
* Creates all the demo application tasks, then starts the scheduler. The web
|
* Creates all the demo application tasks, then starts the scheduler. The web
|
||||||
|
@ -67,33 +68,35 @@
|
||||||
* In addition to the standard demo tasks, the following tasks and tests are
|
* In addition to the standard demo tasks, the following tasks and tests are
|
||||||
* defined and/or created within this file:
|
* defined and/or created within this file:
|
||||||
*
|
*
|
||||||
* "Reg test" tasks - These fill the registers with known values, then check
|
* "Reg test" tasks - These fill the registers with known values, then
|
||||||
* that each register still contains its expected value. Each task uses
|
* repeatedly check that each register still contains its expected value for
|
||||||
* different values. The tasks run with very low priority so get preempted
|
* the lifetime of the tasks. Each task uses different values. The tasks run
|
||||||
* very frequently. A check variable is incremented on each iteration of the
|
* with very low priority so get preempted very frequently. A check variable
|
||||||
* test loop. A register containing an unexpected value is indicative of an
|
* is incremented on each iteration of the test loop. A register containing an
|
||||||
* error in the context switching mechanism and will result in a branch to a
|
* unexpected value is indicative of an error in the context switching
|
||||||
* null loop - which in turn will prevent the check variable from incrementing
|
* mechanism and will result in a branch to a null loop - which in turn will
|
||||||
* any further and allow the check task (described below) to determine that an
|
* prevent the check variable from incrementing any further and allow the check
|
||||||
* error has occurred. The nature of the reg test tasks necessitates that they
|
* timer (described below) to determine that an error has occurred. The nature
|
||||||
* are written in assembly code.
|
* of the reg test tasks necessitates that they are written in assembly code.
|
||||||
*
|
*
|
||||||
* "Check" task - This only executes every five seconds but has a high priority
|
* "Check Timer" and Callback Function - The check timer period is initially
|
||||||
* to ensure it gets processor time. Its main function is to check that all the
|
* set to five seconds. The check timer callback function checks that all the
|
||||||
* standard demo tasks are still operational. While no errors have been
|
* standard demo tasks are not only still executing, but are executing without
|
||||||
* discovered the check task will toggle LED 5 every 5 seconds - the toggle
|
* reporting any errors. If the check timer discovers that a task has either
|
||||||
* rate increasing to 200ms being a visual indication that at least one task has
|
* stalled, or reported an error, then it changes its own period from the
|
||||||
* reported unexpected behaviour.
|
* initial five seconds, to just 200ms. The check timer callback function
|
||||||
|
* also toggles LED 3 each time it is called. This provides a visual
|
||||||
|
* indication of the system status: If the LED toggles every five seconds,
|
||||||
|
* then no issues have been discovered. If the LED toggles every 200ms, then
|
||||||
|
* an issue has been discovered with at least one task.
|
||||||
*
|
*
|
||||||
* "High frequency timer test" - A high frequency periodic interrupt is
|
* "High frequency timer test" - A high frequency periodic interrupt is
|
||||||
* generated using a timer - the interrupt is assigned a priority above
|
* generated using a timer - the interrupt is assigned a priority above
|
||||||
* configMAX_SYSCALL_INTERRUPT_PRIORITY so should not be effected by anything
|
* configMAX_SYSCALL_INTERRUPT_PRIORITY, so will not be effected by anything
|
||||||
* the kernel is doing. The frequency and priority of the interrupt, in
|
* the kernel is doing. The frequency and priority of the interrupt, in
|
||||||
* combination with other standard tests executed in this demo, should result
|
* combination with other standard tests executed in this demo, will result
|
||||||
* in interrupts nesting at least 3 and probably 4 deep. This test is only
|
* in interrupts nesting at least 3 and probably 4 deep. This test is only
|
||||||
* included in build configurations that have the optimiser switched on. In
|
* included in build configurations that have the optimiser switched on.
|
||||||
* optimised builds the count of high frequency ticks is used as the time base
|
|
||||||
* for the run time stats.
|
|
||||||
*
|
*
|
||||||
* *NOTE 1* If LED3 is toggling every 5 seconds then all the demo application
|
* *NOTE 1* If LED3 is toggling every 5 seconds then all the demo application
|
||||||
* tasks are executing as expected and no errors have been reported in any
|
* tasks are executing as expected and no errors have been reported in any
|
||||||
|
@ -118,6 +121,8 @@
|
||||||
/* Kernel includes. */
|
/* Kernel includes. */
|
||||||
#include "FreeRTOS.h"
|
#include "FreeRTOS.h"
|
||||||
#include "task.h"
|
#include "task.h"
|
||||||
|
#include "timers.h"
|
||||||
|
#include "semphr.h"
|
||||||
|
|
||||||
/* Standard demo includes. */
|
/* Standard demo includes. */
|
||||||
#include "partest.h"
|
#include "partest.h"
|
||||||
|
@ -140,33 +145,30 @@ tasks check that the values are passed in correctly. */
|
||||||
#define mainREG_TEST_2_PARAMETER ( 0x12345678UL )
|
#define mainREG_TEST_2_PARAMETER ( 0x12345678UL )
|
||||||
|
|
||||||
/* Priorities at which the tasks are created. */
|
/* Priorities at which the tasks are created. */
|
||||||
#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 )
|
||||||
#define mainBLOCK_Q_PRIORITY ( tskIDLE_PRIORITY + 2 )
|
#define mainBLOCK_Q_PRIORITY ( tskIDLE_PRIORITY + 2 )
|
||||||
#define mainCREATOR_TASK_PRIORITY ( tskIDLE_PRIORITY + 3 )
|
#define mainCREATOR_TASK_PRIORITY ( tskIDLE_PRIORITY + 3 )
|
||||||
#define mainFLASH_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )
|
#define mainFLASH_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )
|
||||||
#define mainuIP_TASK_PRIORITY ( tskIDLE_PRIORITY + 2 )
|
|
||||||
#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 mainFLOP_TASK_PRIORITY ( tskIDLE_PRIORITY )
|
#define mainFLOP_TASK_PRIORITY ( tskIDLE_PRIORITY )
|
||||||
|
|
||||||
/* The WEB server uses string handling functions, which in turn use a bit more
|
/* The LED toggled by the check timer. */
|
||||||
stack than most of the other tasks. */
|
|
||||||
#define mainuIP_STACK_SIZE ( configMINIMAL_STACK_SIZE * 3 )
|
|
||||||
|
|
||||||
/* The LED toggled by the check task. */
|
|
||||||
#define mainCHECK_LED ( 3 )
|
#define mainCHECK_LED ( 3 )
|
||||||
|
|
||||||
/* The rate at which mainCHECK_LED will toggle when all the tasks are running
|
/* The period at which the check timer will expire, in ms, provided no errors
|
||||||
without error. Controlled by the check task as described at the top of this
|
have been reported by any of the standard demo tasks. ms are converted to the
|
||||||
file. */
|
equivalent in ticks using the portTICK_RATE_MS constant. */
|
||||||
#define mainNO_ERROR_CYCLE_TIME ( 5000 / portTICK_RATE_MS )
|
#define mainCHECK_TIMER_PERIOD_MS ( 5000UL / portTICK_RATE_MS )
|
||||||
|
|
||||||
/* The rate at which mainCHECK_LED will toggle when an error has been reported
|
/* The period at which the check timer will expire, in ms, if an error has been
|
||||||
by at least one task. Controlled by the check task as described at the top of
|
reported in one of the standard demo tasks. ms are converted to the equivalent
|
||||||
this file. */
|
in ticks using the portTICK_RATE_MS constant. */
|
||||||
#define mainERROR_CYCLE_TIME ( 200 / portTICK_RATE_MS )
|
#define mainERROR_CHECK_TIMER_PERIOD_MS ( 200UL / portTICK_RATE_MS )
|
||||||
|
|
||||||
|
/* A block time of zero simple means "Don't Block". */
|
||||||
|
#define mainDONT_BLOCK ( 0UL )
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* vApplicationMallocFailedHook() will only be called if
|
* vApplicationMallocFailedHook() will only be called if
|
||||||
|
@ -214,27 +216,22 @@ static void prvRegTest1Implementation( void );
|
||||||
static void prvRegTest2Implementation( void );
|
static void prvRegTest2Implementation( void );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The check task as described at the top of this file.
|
* The check timer callback function, as described at the top of this file.
|
||||||
*/
|
*/
|
||||||
static void prvCheckTask( void *pvParameters );
|
static void prvCheckTimerCallback( xTimerHandle xTimer );
|
||||||
|
|
||||||
/*
|
|
||||||
* Contains the implementation of the WEB server.
|
|
||||||
*/
|
|
||||||
extern void vuIP_Task( void *pvParameters );
|
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
/* Variables that are incremented on each iteration of the reg test tasks -
|
/* Variables that are incremented on each iteration of the reg test tasks -
|
||||||
provided the tasks have not reported any errors. The check task inspects these
|
provided the tasks have not reported any errors. The check timer inspects these
|
||||||
variables to ensure they are still incrementing as expected. If a variable
|
variables to ensure they are still incrementing as expected. If a variable
|
||||||
stops incrementing then it is likely that its associate task has stalled. */
|
stops incrementing then it is likely that its associate task has stalled. */
|
||||||
unsigned long ulRegTest1CycleCount = 0UL, ulRegTest2CycleCount = 0UL;
|
unsigned long ulRegTest1CycleCount = 0UL, ulRegTest2CycleCount = 0UL;
|
||||||
|
|
||||||
/* The status message that is displayed at the bottom of the "task stats" web
|
/* The check timer. This uses prvCheckTimerCallback() as its callback
|
||||||
page, which is served by the uIP task. This will report any errors picked up
|
function. */
|
||||||
by the reg test task. */
|
static xTimerHandle xCheckTimer = NULL;
|
||||||
const char *pcStatusMessage = "All tasks executing without error.";
|
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
@ -253,9 +250,6 @@ extern void HardwareSetup( void );
|
||||||
xTaskCreate( prvRegTest1Task, "RegTst1", configMINIMAL_STACK_SIZE, ( void * ) mainREG_TEST_1_PARAMETER, tskIDLE_PRIORITY, NULL );
|
xTaskCreate( prvRegTest1Task, "RegTst1", configMINIMAL_STACK_SIZE, ( void * ) mainREG_TEST_1_PARAMETER, tskIDLE_PRIORITY, NULL );
|
||||||
xTaskCreate( prvRegTest2Task, "RegTst2", configMINIMAL_STACK_SIZE, ( void * ) mainREG_TEST_2_PARAMETER, tskIDLE_PRIORITY, NULL );
|
xTaskCreate( prvRegTest2Task, "RegTst2", configMINIMAL_STACK_SIZE, ( void * ) mainREG_TEST_2_PARAMETER, tskIDLE_PRIORITY, NULL );
|
||||||
|
|
||||||
/* Start the check task as described at the top of this file. */
|
|
||||||
xTaskCreate( prvCheckTask, "Check", configMINIMAL_STACK_SIZE * 3, NULL, mainCHECK_TASK_PRIORITY, NULL );
|
|
||||||
|
|
||||||
/* Create the standard demo tasks. */
|
/* Create the standard demo tasks. */
|
||||||
vStartBlockingQueueTasks( mainBLOCK_Q_PRIORITY );
|
vStartBlockingQueueTasks( mainBLOCK_Q_PRIORITY );
|
||||||
vCreateBlockTimeTasks();
|
vCreateBlockTimeTasks();
|
||||||
|
@ -274,110 +268,95 @@ extern void HardwareSetup( void );
|
||||||
or not the correct/expected number of tasks are running at any given time. */
|
or not the correct/expected number of tasks are running at any given time. */
|
||||||
vCreateSuicidalTasks( mainCREATOR_TASK_PRIORITY );
|
vCreateSuicidalTasks( mainCREATOR_TASK_PRIORITY );
|
||||||
|
|
||||||
|
/* Create the software timer that performs the 'check' functionality,
|
||||||
|
as described at the top of this file. */
|
||||||
|
xCheckTimer = xTimerCreate( ( const signed char * ) "CheckTimer",/* A text name, purely to help debugging. */
|
||||||
|
( mainCHECK_TIMER_PERIOD_MS ), /* The timer period, in this case 5000ms (5s). */
|
||||||
|
pdTRUE, /* This is an auto-reload timer, so xAutoReload is set to pdTRUE. */
|
||||||
|
( void * ) 0, /* The ID is not used, so can be set to anything. */
|
||||||
|
prvCheckTimerCallback /* The callback function that inspects the status of all the other tasks. */
|
||||||
|
);
|
||||||
|
|
||||||
|
/* Sanity check that the check timer was indeed created. */
|
||||||
|
configASSERT( xCheckTimer );
|
||||||
|
|
||||||
|
/* Start the check timer. It will actually start when the scheduler is
|
||||||
|
started. */
|
||||||
|
xTimerStart( xCheckTimer, mainDONT_BLOCK );
|
||||||
|
|
||||||
/* Start the tasks running. */
|
/* Start the tasks running. */
|
||||||
vTaskStartScheduler();
|
vTaskStartScheduler();
|
||||||
|
|
||||||
/* If all is well we will never reach here as the scheduler will now be
|
/* If all is well, the following line will never be reached as the scheduler
|
||||||
running. If we do reach here then it is likely that there was insufficient
|
will be running. If the following line is reached, there was insufficient
|
||||||
heap available for the idle task to be created. */
|
FreeRTOS heap available for the idle task to be created. See
|
||||||
|
http://www.freertos.org/a00111.html and the malloc failed hook function for
|
||||||
|
more information. */
|
||||||
for( ;; );
|
for( ;; );
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static void prvCheckTask( void *pvParameters )
|
static void prvCheckTimerCallback( xTimerHandle xTimer )
|
||||||
{
|
{
|
||||||
|
static long lChangedTimerPeriodAlready = pdFALSE, lErrorStatus = pdPASS;
|
||||||
static volatile unsigned long ulLastRegTest1CycleCount = 0UL, ulLastRegTest2CycleCount = 0UL;
|
static volatile unsigned long ulLastRegTest1CycleCount = 0UL, ulLastRegTest2CycleCount = 0UL;
|
||||||
portTickType xNextWakeTime, xCycleFrequency = mainNO_ERROR_CYCLE_TIME;
|
|
||||||
extern void vSetupHighFrequencyTimer( void );
|
|
||||||
|
|
||||||
/* If this is being executed then the kernel has been started. Start the high
|
|
||||||
frequency timer test as described at the top of this file. This is only
|
|
||||||
included in the optimised build configuration - otherwise it takes up too much
|
|
||||||
CPU time and can disrupt other tests. */
|
|
||||||
#ifdef INCLUDE_HIGH_FREQUENCY_TIMER_TEST
|
|
||||||
vSetupHighFrequencyTimer();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Initialise xNextWakeTime - this only needs to be done once. */
|
|
||||||
xNextWakeTime = xTaskGetTickCount();
|
|
||||||
|
|
||||||
for( ;; )
|
|
||||||
{
|
|
||||||
/* Place this task in the blocked state until it is time to run again. */
|
|
||||||
vTaskDelayUntil( &xNextWakeTime, xCycleFrequency );
|
|
||||||
|
|
||||||
/* Check the standard demo tasks are running without error. */
|
/* Check the standard demo tasks are running without error. */
|
||||||
if( xAreGenericQueueTasksStillRunning() != pdTRUE )
|
if( xAreGenericQueueTasksStillRunning() != pdTRUE )
|
||||||
{
|
{
|
||||||
/* Increase the rate at which this task cycles, which will increase the
|
lErrorStatus = pdFAIL;
|
||||||
rate at which mainCHECK_LED flashes to give visual feedback that an error
|
|
||||||
has occurred. */
|
|
||||||
xCycleFrequency = mainERROR_CYCLE_TIME;
|
|
||||||
pcStatusMessage = "Error: GenQueue";
|
|
||||||
}
|
}
|
||||||
else if( xAreQueuePeekTasksStillRunning() != pdTRUE )
|
else if( xAreQueuePeekTasksStillRunning() != pdTRUE )
|
||||||
{
|
{
|
||||||
xCycleFrequency = mainERROR_CYCLE_TIME;
|
lErrorStatus = pdFAIL;
|
||||||
pcStatusMessage = "Error: QueuePeek";
|
|
||||||
}
|
}
|
||||||
else if( xAreBlockingQueuesStillRunning() != pdTRUE )
|
else if( xAreBlockingQueuesStillRunning() != pdTRUE )
|
||||||
{
|
{
|
||||||
xCycleFrequency = mainERROR_CYCLE_TIME;
|
lErrorStatus = pdFAIL;
|
||||||
pcStatusMessage = "Error: BlockQueue";
|
|
||||||
}
|
}
|
||||||
else if( xAreBlockTimeTestTasksStillRunning() != pdTRUE )
|
else if( xAreBlockTimeTestTasksStillRunning() != pdTRUE )
|
||||||
{
|
{
|
||||||
xCycleFrequency = mainERROR_CYCLE_TIME;
|
lErrorStatus = pdFAIL;
|
||||||
pcStatusMessage = "Error: BlockTime";
|
|
||||||
}
|
}
|
||||||
else if( xAreSemaphoreTasksStillRunning() != pdTRUE )
|
else if( xAreSemaphoreTasksStillRunning() != pdTRUE )
|
||||||
{
|
{
|
||||||
xCycleFrequency = mainERROR_CYCLE_TIME;
|
lErrorStatus = pdFAIL;
|
||||||
pcStatusMessage = "Error: SemTest";
|
|
||||||
}
|
}
|
||||||
else if( xArePollingQueuesStillRunning() != pdTRUE )
|
else if( xArePollingQueuesStillRunning() != pdTRUE )
|
||||||
{
|
{
|
||||||
xCycleFrequency = mainERROR_CYCLE_TIME;
|
lErrorStatus = pdFAIL;
|
||||||
pcStatusMessage = "Error: PollQueue";
|
|
||||||
}
|
}
|
||||||
else if( xIsCreateTaskStillRunning() != pdTRUE )
|
else if( xIsCreateTaskStillRunning() != pdTRUE )
|
||||||
{
|
{
|
||||||
xCycleFrequency = mainERROR_CYCLE_TIME;
|
lErrorStatus = pdFAIL;
|
||||||
pcStatusMessage = "Error: Death";
|
|
||||||
}
|
}
|
||||||
else if( xAreIntegerMathsTaskStillRunning() != pdTRUE )
|
else if( xAreIntegerMathsTaskStillRunning() != pdTRUE )
|
||||||
{
|
{
|
||||||
xCycleFrequency = mainERROR_CYCLE_TIME;
|
lErrorStatus = pdFAIL;
|
||||||
pcStatusMessage = "Error: IntMath";
|
|
||||||
}
|
}
|
||||||
else if( xAreRecursiveMutexTasksStillRunning() != pdTRUE )
|
else if( xAreRecursiveMutexTasksStillRunning() != pdTRUE )
|
||||||
{
|
{
|
||||||
xCycleFrequency = mainERROR_CYCLE_TIME;
|
lErrorStatus = pdFAIL;
|
||||||
pcStatusMessage = "Error: RecMutex";
|
|
||||||
}
|
}
|
||||||
else if( xAreIntQueueTasksStillRunning() != pdPASS )
|
else if( xAreIntQueueTasksStillRunning() != pdPASS )
|
||||||
{
|
{
|
||||||
xCycleFrequency = mainERROR_CYCLE_TIME;
|
lErrorStatus = pdFAIL;
|
||||||
pcStatusMessage = "Error: IntQueue";
|
|
||||||
}
|
}
|
||||||
else if( xAreMathsTaskStillRunning() != pdPASS )
|
else if( xAreMathsTaskStillRunning() != pdPASS )
|
||||||
{
|
{
|
||||||
xCycleFrequency = mainERROR_CYCLE_TIME;
|
lErrorStatus = pdFAIL;
|
||||||
pcStatusMessage = "Error: Flop";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check the reg test tasks are still cycling. They will stop incrementing
|
/* Check the reg test tasks are still cycling. They will stop incrementing
|
||||||
their loop counters if they encounter an error. */
|
their loop counters if they encounter an error. */
|
||||||
if( ulRegTest1CycleCount == ulLastRegTest1CycleCount )
|
if( ulRegTest1CycleCount == ulLastRegTest1CycleCount )
|
||||||
{
|
{
|
||||||
xCycleFrequency = mainERROR_CYCLE_TIME;
|
lErrorStatus = pdFAIL;
|
||||||
pcStatusMessage = "Error: RegTest1";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if( ulRegTest2CycleCount == ulLastRegTest2CycleCount )
|
if( ulRegTest2CycleCount == ulLastRegTest2CycleCount )
|
||||||
{
|
{
|
||||||
xCycleFrequency = mainERROR_CYCLE_TIME;
|
lErrorStatus = pdFAIL;
|
||||||
pcStatusMessage = "Error: RegTest2";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ulLastRegTest1CycleCount = ulRegTest1CycleCount;
|
ulLastRegTest1CycleCount = ulRegTest1CycleCount;
|
||||||
|
@ -387,6 +366,19 @@ extern void vSetupHighFrequencyTimer( void );
|
||||||
the LED toggles every 5 seconds then everything is ok. A faster toggle
|
the LED toggles every 5 seconds then everything is ok. A faster toggle
|
||||||
indicates an error. */
|
indicates an error. */
|
||||||
vParTestToggleLED( mainCHECK_LED );
|
vParTestToggleLED( mainCHECK_LED );
|
||||||
|
|
||||||
|
/* Was an error detected this time through the callback execution? */
|
||||||
|
if( lErrorStatus != pdPASS )
|
||||||
|
{
|
||||||
|
if( lChangedTimerPeriodAlready == pdFALSE )
|
||||||
|
{
|
||||||
|
lChangedTimerPeriodAlready = pdTRUE;
|
||||||
|
|
||||||
|
/* This call to xTimerChangePeriod() uses a zero block time.
|
||||||
|
Functions called from inside of a timer callback function must
|
||||||
|
*never* attempt to block. */
|
||||||
|
xTimerChangePeriod( xCheckTimer, ( mainERROR_CHECK_TIMER_PERIOD_MS ), mainDONT_BLOCK );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -438,6 +430,19 @@ void vApplicationStackOverflowHook( xTaskHandle *pxTask, signed char *pcTaskName
|
||||||
of this file. */
|
of this file. */
|
||||||
void vApplicationIdleHook( void )
|
void vApplicationIdleHook( void )
|
||||||
{
|
{
|
||||||
|
/* If this is being executed then the kernel has been started. Start the high
|
||||||
|
frequency timer test as described at the top of this file. This is only
|
||||||
|
included in the optimised build configuration - otherwise it takes up too much
|
||||||
|
CPU time and can disrupt other tests. */
|
||||||
|
#ifdef INCLUDE_HIGH_FREQUENCY_TIMER_TEST
|
||||||
|
static portBASE_TYPE xTimerTestStarted = pdFALSE;
|
||||||
|
extern void vSetupHighFrequencyTimer( void );
|
||||||
|
if( xTimerTestStarted == pdFALSE )
|
||||||
|
{
|
||||||
|
vSetupHighFrequencyTimer();
|
||||||
|
xTimerTestStarted = pdTRUE;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
@ -559,7 +564,7 @@ TestLoop1:
|
||||||
|
|
||||||
RegTest1Error:
|
RegTest1Error:
|
||||||
; A compare failed, just loop here so the loop counter stops incrementing
|
; A compare failed, just loop here so the loop counter stops incrementing
|
||||||
; causing the check task to indicate the error.
|
; causing the check timer to indicate the error.
|
||||||
BRA RegTest1Error
|
BRA RegTest1Error
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -637,18 +642,8 @@ TestLoop2:
|
||||||
|
|
||||||
RegTest2Error:
|
RegTest2Error:
|
||||||
; A compare failed, just loop here so the loop counter stops incrementing
|
; A compare failed, just loop here so the loop counter stops incrementing
|
||||||
; - causing the check task to indicate the error.
|
; - causing the check timer to indicate the error.
|
||||||
BRA RegTest2Error
|
BRA RegTest2Error
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
char *pcGetTaskStatusMessage( void )
|
|
||||||
{
|
|
||||||
/* Not bothered about a critical section here although technically because of
|
|
||||||
the task priorities the pointer could change it will be atomic if not near
|
|
||||||
atomic and its not critical. */
|
|
||||||
return ( char * ) pcStatusMessage;
|
|
||||||
}
|
|
||||||
/*-----------------------------------------------------------*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,345 +0,0 @@
|
||||||
/*
|
|
||||||
FreeRTOS V7.0.2 - 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Standard includes. */
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
/* Scheduler includes. */
|
|
||||||
#include "FreeRTOS.h"
|
|
||||||
#include "task.h"
|
|
||||||
#include "timers.h"
|
|
||||||
#include "queue.h"
|
|
||||||
|
|
||||||
/* uip includes. */
|
|
||||||
#include "net/uip.h"
|
|
||||||
#include "net/uip_arp.h"
|
|
||||||
#include "apps/httpd/httpd.h"
|
|
||||||
#include "sys/timer.h"
|
|
||||||
#include "net/clock-arch.h"
|
|
||||||
#include "r_ether.h"
|
|
||||||
|
|
||||||
/* Demo includes. */
|
|
||||||
#include "ParTest.h"
|
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
|
||||||
|
|
||||||
/* How long to wait before attempting to connect the MAC again. */
|
|
||||||
#define uipINIT_WAIT ( 100 / portTICK_RATE_MS )
|
|
||||||
|
|
||||||
/* Shortcut to the header within the Rx buffer. */
|
|
||||||
#define xHeader ((struct uip_eth_hdr *) &uip_buf[ 0 ])
|
|
||||||
|
|
||||||
/* Standard constant. */
|
|
||||||
#define uipTOTAL_FRAME_HEADER_SIZE 54
|
|
||||||
|
|
||||||
/* The ARP timer and the periodic timer share a callback function, so the
|
|
||||||
respective timer IDs are used to determine which timer actually expired. These
|
|
||||||
constants are assigned to the timer IDs. */
|
|
||||||
#define uipARP_TIMER 0
|
|
||||||
#define uipPERIODIC_TIMER 1
|
|
||||||
|
|
||||||
/* A block time of zero ticks simply means, "don't block". */
|
|
||||||
#define uipDONT_BLOCK 0UL
|
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Setup the MAC address in the MAC itself, and in the uIP stack.
|
|
||||||
*/
|
|
||||||
static void prvSetMACAddress( void );
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Perform any uIP initialisation necessary.
|
|
||||||
*/
|
|
||||||
static void prvInitialise_uIP( void );
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The callback function that is assigned to both the periodic timer and the
|
|
||||||
* ARP timer.
|
|
||||||
*/
|
|
||||||
static void prvUIPTimerCallback( xTimerHandle xTimer );
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Port functions required by the uIP stack.
|
|
||||||
*/
|
|
||||||
clock_time_t clock_time( void );
|
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
|
||||||
|
|
||||||
/* The queue used to send TCP/IP events to the uIP stack. */
|
|
||||||
xQueueHandle xEMACEventQueue = NULL;
|
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
|
||||||
|
|
||||||
clock_time_t clock_time( void )
|
|
||||||
{
|
|
||||||
return xTaskGetTickCount();
|
|
||||||
}
|
|
||||||
/*-----------------------------------------------------------*/
|
|
||||||
|
|
||||||
void vuIP_Task( void *pvParameters )
|
|
||||||
{
|
|
||||||
portBASE_TYPE i;
|
|
||||||
unsigned long ulNewEvent = 0UL;
|
|
||||||
unsigned long ulUIP_Events = 0UL;
|
|
||||||
|
|
||||||
( void ) pvParameters;
|
|
||||||
|
|
||||||
/* Initialise the uIP stack. */
|
|
||||||
prvInitialise_uIP();
|
|
||||||
|
|
||||||
/* Initialise the MAC. */
|
|
||||||
vInitEmac();
|
|
||||||
|
|
||||||
while( lEMACWaitForLink() != pdPASS )
|
|
||||||
{
|
|
||||||
vTaskDelay( uipINIT_WAIT );
|
|
||||||
}
|
|
||||||
|
|
||||||
for( ;; )
|
|
||||||
{
|
|
||||||
if( ( ulUIP_Events & uipETHERNET_RX_EVENT ) != 0UL )
|
|
||||||
{
|
|
||||||
/* Is there received data ready to be processed? */
|
|
||||||
uip_len = ( unsigned short ) ulEMACRead();
|
|
||||||
|
|
||||||
if( ( uip_len > 0 ) && ( uip_buf != NULL ) )
|
|
||||||
{
|
|
||||||
/* Standard uIP loop taken from the uIP manual. */
|
|
||||||
if( xHeader->type == htons( UIP_ETHTYPE_IP ) )
|
|
||||||
{
|
|
||||||
uip_arp_ipin();
|
|
||||||
uip_input();
|
|
||||||
|
|
||||||
/* If the above function invocation resulted in data that
|
|
||||||
should be sent out on the network, the global variable
|
|
||||||
uip_len is set to a value > 0. */
|
|
||||||
if( uip_len > 0 )
|
|
||||||
{
|
|
||||||
uip_arp_out();
|
|
||||||
vEMACWrite();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if( xHeader->type == htons( UIP_ETHTYPE_ARP ) )
|
|
||||||
{
|
|
||||||
uip_arp_arpin();
|
|
||||||
|
|
||||||
/* If the above function invocation resulted in data that
|
|
||||||
should be sent out on the network, the global variable
|
|
||||||
uip_len is set to a value > 0. */
|
|
||||||
if( uip_len > 0 )
|
|
||||||
{
|
|
||||||
vEMACWrite();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ulUIP_Events &= ~uipETHERNET_RX_EVENT;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if( ( ulUIP_Events & uipPERIODIC_TIMER_EVENT ) != 0UL )
|
|
||||||
{
|
|
||||||
ulUIP_Events &= ~uipPERIODIC_TIMER_EVENT;
|
|
||||||
|
|
||||||
for( i = 0; i < UIP_CONNS; i++ )
|
|
||||||
{
|
|
||||||
uip_periodic( i );
|
|
||||||
|
|
||||||
/* If the above function invocation resulted in data that
|
|
||||||
should be sent out on the network, the global variable
|
|
||||||
uip_len is set to a value > 0. */
|
|
||||||
if( uip_len > 0 )
|
|
||||||
{
|
|
||||||
uip_arp_out();
|
|
||||||
vEMACWrite();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Call the ARP timer function every 10 seconds. */
|
|
||||||
if( ( ulUIP_Events & uipARP_TIMER_EVENT ) != 0 )
|
|
||||||
{
|
|
||||||
ulUIP_Events &= ~uipARP_TIMER_EVENT;
|
|
||||||
uip_arp_timer();
|
|
||||||
}
|
|
||||||
|
|
||||||
if( ulUIP_Events == pdFALSE )
|
|
||||||
{
|
|
||||||
xQueueReceive( xEMACEventQueue, &ulNewEvent, portMAX_DELAY );
|
|
||||||
ulUIP_Events |= ulNewEvent;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/*-----------------------------------------------------------*/
|
|
||||||
|
|
||||||
static void prvInitialise_uIP( void )
|
|
||||||
{
|
|
||||||
xTimerHandle xARPTimer, xPeriodicTimer;
|
|
||||||
uip_ipaddr_t xIPAddr;
|
|
||||||
const unsigned long ul_uIPEventQueueLength = 10UL;
|
|
||||||
|
|
||||||
/* Initialise the uIP stack. */
|
|
||||||
uip_init();
|
|
||||||
uip_ipaddr( &xIPAddr, configIP_ADDR0, configIP_ADDR1, configIP_ADDR2, configIP_ADDR3 );
|
|
||||||
uip_sethostaddr( &xIPAddr );
|
|
||||||
uip_ipaddr( &xIPAddr, configNET_MASK0, configNET_MASK1, configNET_MASK2, configNET_MASK3 );
|
|
||||||
uip_setnetmask( &xIPAddr );
|
|
||||||
prvSetMACAddress();
|
|
||||||
httpd_init();
|
|
||||||
|
|
||||||
/* Create the queue used to sent TCP/IP events to the uIP stack. */
|
|
||||||
xEMACEventQueue = xQueueCreate( ul_uIPEventQueueLength, sizeof( unsigned long ) );
|
|
||||||
|
|
||||||
/* Create and start the uIP timers. */
|
|
||||||
xARPTimer = xTimerCreate( ( const signed char * const ) "ARPTimer", /* Just a name that is helpful for debugging, not used by the kernel. */
|
|
||||||
( 10000UL / portTICK_RATE_MS ), /* Timer period. */
|
|
||||||
pdTRUE, /* Autor-reload. */
|
|
||||||
( void * ) uipARP_TIMER,
|
|
||||||
prvUIPTimerCallback
|
|
||||||
);
|
|
||||||
|
|
||||||
xPeriodicTimer = xTimerCreate( ( const signed char * const ) "PeriodicTimer",
|
|
||||||
( 500 / portTICK_RATE_MS ),
|
|
||||||
pdTRUE, /* Autor-reload. */
|
|
||||||
( void * ) uipPERIODIC_TIMER,
|
|
||||||
prvUIPTimerCallback
|
|
||||||
);
|
|
||||||
|
|
||||||
configASSERT( xARPTimer );
|
|
||||||
configASSERT( xPeriodicTimer );
|
|
||||||
|
|
||||||
xTimerStart( xARPTimer, portMAX_DELAY );
|
|
||||||
xTimerStart( xPeriodicTimer, portMAX_DELAY );
|
|
||||||
}
|
|
||||||
/*-----------------------------------------------------------*/
|
|
||||||
|
|
||||||
static void prvUIPTimerCallback( xTimerHandle xTimer )
|
|
||||||
{
|
|
||||||
static const unsigned long ulARPTimerExpired = uipARP_TIMER_EVENT;
|
|
||||||
static const unsigned long ulPeriodicTimerExpired = uipPERIODIC_TIMER_EVENT;
|
|
||||||
|
|
||||||
/* This is a time callback, so calls to xQueueSend() must not attempt to
|
|
||||||
block. */
|
|
||||||
switch( ( int ) pvTimerGetTimerID( xTimer ) )
|
|
||||||
{
|
|
||||||
case uipARP_TIMER : xQueueSend( xEMACEventQueue, &ulARPTimerExpired, uipDONT_BLOCK );
|
|
||||||
break;
|
|
||||||
|
|
||||||
case uipPERIODIC_TIMER : xQueueSend( xEMACEventQueue, &ulPeriodicTimerExpired, uipDONT_BLOCK );
|
|
||||||
break;
|
|
||||||
|
|
||||||
default : /* Should not get here. */
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/*-----------------------------------------------------------*/
|
|
||||||
|
|
||||||
static void prvSetMACAddress( void )
|
|
||||||
{
|
|
||||||
struct uip_eth_addr xAddr;
|
|
||||||
|
|
||||||
/* Configure the MAC address in the uIP stack. */
|
|
||||||
xAddr.addr[ 0 ] = configMAC_ADDR0;
|
|
||||||
xAddr.addr[ 1 ] = configMAC_ADDR1;
|
|
||||||
xAddr.addr[ 2 ] = configMAC_ADDR2;
|
|
||||||
xAddr.addr[ 3 ] = configMAC_ADDR3;
|
|
||||||
xAddr.addr[ 4 ] = configMAC_ADDR4;
|
|
||||||
xAddr.addr[ 5 ] = configMAC_ADDR5;
|
|
||||||
uip_setethaddr( xAddr );
|
|
||||||
}
|
|
||||||
/*-----------------------------------------------------------*/
|
|
||||||
|
|
||||||
void vApplicationProcessFormInput( char *pcInputString )
|
|
||||||
{
|
|
||||||
char *c;
|
|
||||||
|
|
||||||
/* Only interested in processing form input if this is the IO page. */
|
|
||||||
c = strstr( pcInputString, "io.shtml" );
|
|
||||||
|
|
||||||
if( c )
|
|
||||||
{
|
|
||||||
/* Is there a command in the string? */
|
|
||||||
c = strstr( pcInputString, "?" );
|
|
||||||
if( c )
|
|
||||||
{
|
|
||||||
/* Turn the LED's on or off in accordance with the check box status. */
|
|
||||||
if( strstr( c, "LED0=1" ) != NULL )
|
|
||||||
{
|
|
||||||
/* Turn the LEDs on. */
|
|
||||||
vParTestSetLED( 7, 1 );
|
|
||||||
vParTestSetLED( 8, 1 );
|
|
||||||
vParTestSetLED( 9, 1 );
|
|
||||||
vParTestSetLED( 10, 1 );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/* Turn the LEDs off. */
|
|
||||||
vParTestSetLED( 7, 0 );
|
|
||||||
vParTestSetLED( 8, 0 );
|
|
||||||
vParTestSetLED( 9, 0 );
|
|
||||||
vParTestSetLED( 10, 0 );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/* Commands to turn LEDs off are not always explicit. */
|
|
||||||
vParTestSetLED( 7, 0 );
|
|
||||||
vParTestSetLED( 8, 0 );
|
|
||||||
vParTestSetLED( 9, 0 );
|
|
||||||
vParTestSetLED( 10, 0 );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in a new issue