Final preparation for new release:

FreeRTOS+Trace:
 - Add trace macros for task notifications.
 - Update to the latest trace recorder library.

Demo projects:
 - Only include the CLI command to show run time states if configGENERATE_RUN_TIME_STATS is set to 1.
This commit is contained in:
Richard Barry 2015-08-12 10:34:30 +00:00
parent 99d4f2c454
commit 3291f5a08d
23 changed files with 5473 additions and 1268 deletions

View File

@ -110,7 +110,9 @@ static BaseType_t prvTaskStatsCommand( char *pcWriteBuffer, size_t xWriteBufferL
/*
* Implements the run-time-stats command.
*/
static BaseType_t prvRunTimeStatsCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
#if( configGENERATE_RUN_TIME_STATS == 1 )
static BaseType_t prvRunTimeStatsCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
#endif /* configGENERATE_RUN_TIME_STATS */
/*
* Implements the echo-three-parameters command.
@ -136,16 +138,6 @@ static BaseType_t prvParameterEchoCommand( char *pcWriteBuffer, size_t xWriteBuf
static BaseType_t prvStartStopTraceCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
#endif
/* Structure that defines the "run-time-stats" command line command. This
generates a table that shows how much run time each task has */
static const CLI_Command_Definition_t xRunTimeStats =
{
"run-time-stats", /* The command string to type. */
"\r\nrun-time-stats:\r\n Displays a table showing how much processing time each FreeRTOS task has used\r\n",
prvRunTimeStatsCommand, /* The function to run. */
0 /* No parameters are expected. */
};
/* Structure that defines the "task-stats" command line command. This generates
a table that gives information on each task in the system. */
static const CLI_Command_Definition_t xTaskStats =
@ -178,6 +170,18 @@ static const CLI_Command_Definition_t xParameterEcho =
-1 /* The user can enter any number of commands. */
};
#if( configGENERATE_RUN_TIME_STATS == 1 )
/* Structure that defines the "run-time-stats" command line command. This
generates a table that shows how much run time each task has */
static const CLI_Command_Definition_t xRunTimeStats =
{
"run-time-stats", /* The command string to type. */
"\r\nrun-time-stats:\r\n Displays a table showing how much processing time each FreeRTOS task has used\r\n",
prvRunTimeStatsCommand, /* The function to run. */
0 /* No parameters are expected. */
};
#endif /* configGENERATE_RUN_TIME_STATS */
#if( configINCLUDE_QUERY_HEAP_COMMAND == 1 )
/* Structure that defines the "query_heap" command line command. */
static const CLI_Command_Definition_t xQueryHeap =
@ -206,11 +210,16 @@ static const CLI_Command_Definition_t xParameterEcho =
void vRegisterSampleCLICommands( void )
{
/* Register all the command line commands defined immediately above. */
FreeRTOS_CLIRegisterCommand( &xTaskStats );
FreeRTOS_CLIRegisterCommand( &xRunTimeStats );
FreeRTOS_CLIRegisterCommand( &xTaskStats );
FreeRTOS_CLIRegisterCommand( &xThreeParameterEcho );
FreeRTOS_CLIRegisterCommand( &xParameterEcho );
#if( configGENERATE_RUN_TIME_STATS == 1 )
{
FreeRTOS_CLIRegisterCommand( &xRunTimeStats );
}
#endif
#if( configINCLUDE_QUERY_HEAP_COMMAND == 1 )
{
FreeRTOS_CLIRegisterCommand( &xQueryHeap );
@ -283,43 +292,47 @@ BaseType_t xSpacePadding;
#endif /* configINCLUDE_QUERY_HEAP */
/*-----------------------------------------------------------*/
static BaseType_t prvRunTimeStatsCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
{
const char * const pcHeader = " Abs Time % Time\r\n****************************************\r\n";
BaseType_t xSpacePadding;
/* Remove compile time warnings about unused parameters, and check the
write buffer is not NULL. NOTE - for simplicity, this example assumes the
write buffer length is adequate, so does not check for buffer overflows. */
( void ) pcCommandString;
( void ) xWriteBufferLen;
configASSERT( pcWriteBuffer );
/* Generate a table of task stats. */
strcpy( pcWriteBuffer, "Task" );
pcWriteBuffer += strlen( pcWriteBuffer );
/* Pad the string "task" with however many bytes necessary to make it the
length of a task name. Minus three for the null terminator and half the
number of characters in "Task" so the column lines up with the centre of
the heading. */
for( xSpacePadding = strlen( "Task" ); xSpacePadding < ( configMAX_TASK_NAME_LEN - 3 ); xSpacePadding++ )
#if( configGENERATE_RUN_TIME_STATS == 1 )
static BaseType_t prvRunTimeStatsCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
{
/* Add a space to align columns after the task's name. */
*pcWriteBuffer = ' ';
pcWriteBuffer++;
const char * const pcHeader = " Abs Time % Time\r\n****************************************\r\n";
BaseType_t xSpacePadding;
/* Ensure always terminated. */
*pcWriteBuffer = 0x00;
/* Remove compile time warnings about unused parameters, and check the
write buffer is not NULL. NOTE - for simplicity, this example assumes the
write buffer length is adequate, so does not check for buffer overflows. */
( void ) pcCommandString;
( void ) xWriteBufferLen;
configASSERT( pcWriteBuffer );
/* Generate a table of task stats. */
strcpy( pcWriteBuffer, "Task" );
pcWriteBuffer += strlen( pcWriteBuffer );
/* Pad the string "task" with however many bytes necessary to make it the
length of a task name. Minus three for the null terminator and half the
number of characters in "Task" so the column lines up with the centre of
the heading. */
for( xSpacePadding = strlen( "Task" ); xSpacePadding < ( configMAX_TASK_NAME_LEN - 3 ); xSpacePadding++ )
{
/* Add a space to align columns after the task's name. */
*pcWriteBuffer = ' ';
pcWriteBuffer++;
/* Ensure always terminated. */
*pcWriteBuffer = 0x00;
}
strcpy( pcWriteBuffer, pcHeader );
vTaskGetRunTimeStats( pcWriteBuffer + strlen( pcHeader ) );
/* There is no more data to return after this single string, so return
pdFALSE. */
return pdFALSE;
}
strcpy( pcWriteBuffer, pcHeader );
vTaskGetRunTimeStats( pcWriteBuffer + strlen( pcHeader ) );
/* There is no more data to return after this single string, so return
pdFALSE. */
return pdFALSE;
}
#endif /* configGENERATE_RUN_TIME_STATS */
/*-----------------------------------------------------------*/
static BaseType_t prvThreeParameterEchoCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )

View File

@ -1,5 +1,6 @@
[{000214A0-0000-0000-C000-000000000046}]
Prop3=19,2
[InternetShortcut]
URL=http://www.freertos.org/FreeRTOS-Plus/Fail_Safe_File_System/Reliance_Edge_Fail_Safe_File_System.shtml
URL=http://www.freertos.org/FreeRTOS-Plus/Fail_Safe_File_System/Fail_Safe_Embedded_File_System_demo.shtml
IDList=
HotKey=0

View File

@ -71,7 +71,7 @@
*
* This demo is described on the following web page:
* TODO: This link describes the FAT version of this demo.
* http://FreeRTOS-Plus/Fail_Safe_File_System/Fail_Safe_Embedded_File_System_demo.shtml
* http://www.freertos.org/FreeRTOS-Plus/Fail_Safe_File_System/Fail_Safe_Embedded_File_System_demo.shtml
*
******************************************************************************/
@ -112,7 +112,10 @@ extern void vUDPCommandInterpreterTask( void *pvParameters );
extern void vCreateAndVerifySampleFiles( void );
/*-----------------------------------------------------------*/
#pragma warning - add link to documentation page
/* See http://www.freertos.org/FreeRTOS-Plus/Fail_Safe_File_System/Fail_Safe_Embedded_File_System_demo.shtml
for instructions. */
int main( void )
{
const uint32_t ulLongTime_ms = 250UL;

View File

@ -1,5 +1,5 @@
/*******************************************************************************
* Tracealyzer v2.7.0 Recorder Library
* Tracealyzer v2.7.7 Recorder Library
* Percepio AB, www.percepio.com
*
* trcConfig.h
@ -38,7 +38,7 @@
*
* Tabs are used for indent in this file (1 tab = 4 spaces)
*
* Copyright Percepio AB, 2014.
* Copyright Percepio AB, 2012-2015.
* www.percepio.com
******************************************************************************/
@ -70,18 +70,20 @@
* PORT_NXP_LPC210X 13 No Any
* PORT_MICROCHIP_PIC32MZ 14 Yes Any
* PORT_ARM_CORTEX_A9 15 No Any
* PORT_ARM_CORTEX_M0 16 Yes Any
*****************************************************************************/
#ifndef WIN32
// Set the port setting here!
#define SELECTED_PORT PORT_NOT_SET
// Set the port setting here!
#define SELECTED_PORT PORT_NOT_SET
#if (SELECTED_PORT == PORT_NOT_SET)
#error "You need to define SELECTED_PORT here!"
#endif
#else
// For Win32 demo projects this is set automatically
#define SELECTED_PORT PORT_Win32
#if (SELECTED_PORT == PORT_ARM_CortexM)
/* For ARM Cortex-M: make sure ARM's CMSIS library is included here, which
is used for accessing the PRIMASK register. e.g. #include "board.h" */
#endif
#if (SELECTED_PORT == PORT_NOT_SET)
#error "You need to define SELECTED_PORT here!"
#endif
/******************************************************************************

View File

@ -1,5 +1,5 @@
/*******************************************************************************
* Tracealyzer v2.7.0 Recorder Library
* Tracealyzer v2.7.7 Recorder Library
* Percepio AB, www.percepio.com
*
* trcHardwarePort.h
@ -34,7 +34,7 @@
*
* Tabs are used for indent in this file (1 tab = 4 spaces)
*
* Copyright Percepio AB, 2014.
* Copyright Percepio AB, 2012-2015.
* www.percepio.com
******************************************************************************/
@ -112,6 +112,7 @@
#define PORT_NXP_LPC210X 13 /* No Any */
#define PORT_MICROCHIP_PIC32MZ 14 /* Yes Any */
#define PORT_ARM_CORTEX_A9 15 /* No Any */
#define PORT_ARM_CORTEX_M0 16 /* Yes Any */
#include "trcConfig.h"
@ -199,12 +200,12 @@
#elif (SELECTED_PORT == PORT_ARM_CortexM)
void prvTraceInitCortexM(void);
#define REG_DEMCR (*(volatile unsigned int*)0xE000EDFC)
#define REG_DWT_CTRL (*(volatile unsigned int*)0xE0001000)
#define REG_DWT_CYCCNT (*(volatile unsigned int*)0xE0001004)
#define REG_DWT_EXCCNT (*(volatile unsigned int*)0xE000100C)
/* Bit mask for TRCENA bit in DEMCR - Global enable for DWT and ITM */
#define DEMCR_TRCENA (1 << 24)
@ -223,7 +224,7 @@
#define PORT_SPECIFIC_INIT() prvTraceInitCortexM()
extern uint32_t DWT_CYCLES_ADDED;
#define HWTC_COUNT_DIRECTION DIRECTION_INCREMENTING
#define HWTC_COUNT (REG_DWT_CYCCNT + DWT_CYCLES_ADDED)
#define HWTC_PERIOD 0
@ -231,6 +232,14 @@
#define IRQ_PRIORITY_ORDER 0 // lower IRQ priority values are more significant
#elif (SELECTED_PORT == PORT_ARM_CORTEX_M0)
#define HWTC_COUNT_DIRECTION DIRECTION_DECREMENTING
#define HWTC_COUNT (*((uint32_t*)0xE000E018))
#define HWTC_PERIOD ((*(uint32_t*)0xE000E014) + 1)
#define HWTC_DIVISOR 2
#define IRQ_PRIORITY_ORDER 0 // lower IRQ priority values are more significant
#elif (SELECTED_PORT == PORT_Renesas_RX600)
#include "iodefine.h"
@ -241,8 +250,8 @@
#define HWTC_DIVISOR 1
#define IRQ_PRIORITY_ORDER 1 // higher IRQ priority values are more significant
#elif (SELECTED_PORT == PORT_MICROCHIP_PIC32MX || SELECTED_PORT == PORT_MICROCHIP_PIC32MZ)
#elif ((SELECTED_PORT == PORT_MICROCHIP_PIC32MX) || (SELECTED_PORT == PORT_MICROCHIP_PIC32MZ))
#define HWTC_COUNT_DIRECTION DIRECTION_INCREMENTING
#define HWTC_COUNT (TMR1)
#define HWTC_PERIOD (PR1 + 1)
@ -299,11 +308,11 @@
/* UNOFFICIAL PORT - NOT YET VERIFIED BY PERCEPIO */
#define RTIFRC0 *((uint32_t *)0xFFFFFC10)
#define RTICOMP0 *((uint32_t *)0xFFFFFC50)
#define RTIUDCP0 *((uint32_t *)0xFFFFFC54)
#define TRC_RTIFRC0 *((uint32_t *)0xFFFFFC10)
#define TRC_RTICOMP0 *((uint32_t *)0xFFFFFC50)
#define TRC_RTIUDCP0 *((uint32_t *)0xFFFFFC54)
#define HWTC_COUNT_DIRECTION DIRECTION_INCREMENTING
#define HWTC_COUNT (RTIFRC0 - (RTICOMP0 - RTIUDCP0))
#define HWTC_COUNT (TRC_RTIFRC0 - (TRC_RTICOMP0 - TRC_RTIUDCP0))
#define HWTC_PERIOD (RTIUDCP0)
#define HWTC_DIVISOR 1

View File

@ -1,5 +1,5 @@
/*******************************************************************************
* Tracealyzer v2.7.0 Recorder Library
* Tracealyzer v2.7.7 Recorder Library
* Percepio AB, www.percepio.com
*
* trcKernel.h
@ -31,7 +31,7 @@
* damages, or the exclusion of implied warranties or limitations on how long an
* implied warranty may last, so the above limitations may not apply to you.
*
* Copyright Percepio AB, 2013.
* Copyright Percepio AB, 2012-2015.
* www.percepio.com
******************************************************************************/
@ -45,7 +45,10 @@
/* Internal functions */
#if !defined INCLUDE_READY_EVENTS || INCLUDE_READY_EVENTS == 1
void vTraceStoreTaskReady(objectHandleType handle);
void vTraceSetReadyEventsEnabled(int status);
void vTraceStoreTaskReady(objectHandleType handle);
#else
#define vTraceSetReadyEventsEnabled(status)
#endif
void vTraceStoreLowPower(uint32_t flag);

View File

@ -1,5 +1,5 @@
/*******************************************************************************
* Tracealyzer v2.7.0 Recorder Library
* Tracealyzer v2.7.7 Recorder Library
* Percepio AB, www.percepio.com
*
* trcUser.h
@ -32,7 +32,7 @@
*
* Tabs are used for indent in this file (1 tab = 4 spaces)
*
* Copyright Percepio AB, 2014.
* Copyright Percepio AB, 2012-2015.
* www.percepio.com
******************************************************************************/
@ -448,7 +448,7 @@ void vTraceChannelUserEvent(UserEventChannel channel);
#define vTraceSetISRProperties(handle, name, priority)
#define vTraceStoreISRBegin(id)
#define vTraceStoreISREnd()
#define vTraceStoreISREnd(flag)
#define vTraceExcludeTaskFromTrace(handle)
#define vTraceSetQueueName(a, b)
#define vTraceSetMutexName(a, b)

View File

@ -1,5 +1,5 @@
/*******************************************************************************
* Tracealyzer v2.7.0 Recorder Library
* Tracealyzer v2.7.7 Recorder Library
* Percepio AB, www.percepio.com
*
* trcKernel.c
@ -33,7 +33,7 @@
*
* Tabs are used for indent in this file (1 tab = 4 spaces)
*
* Copyright Percepio AB, 2014.
* Copyright Percepio AB, 2012-2015.
* www.percepio.com
******************************************************************************/
@ -44,18 +44,28 @@
#include <stdint.h>
/* Internal variables */
uint8_t nISRactive = 0;
int8_t nISRactive = 0;
objectHandleType handle_of_last_logged_task = 0;
uint8_t inExcludedTask = 0;
#if (INCLUDE_MEMMANG_EVENTS == 1)
/* Current heap usage. Always updated. */
static uint32_t heapMemUsage = 0;
#endif
#if (TRACE_SCHEDULING_ONLY == 0)
static uint32_t prvTraceGetParam(uint32_t, uint32_t);
#endif
#if !defined INCLUDE_READY_EVENTS || INCLUDE_READY_EVENTS == 1
static int readyEventsEnabled = 1;
void vTraceSetReadyEventsEnabled(int status)
{
readyEventsEnabled = status;
}
/*******************************************************************************
* vTraceStoreTaskReady
*
@ -75,6 +85,14 @@ void vTraceStoreTaskReady(objectHandleType handle)
placement of the trace macro. In that case, the events are ignored. */
return;
}
if (! readyEventsEnabled)
{
/* When creating tasks, ready events are also created. If creating
a "hidden" (not traced) task, we must therefore disable recording
of ready events to avoid an undesired ready event... */
return;
}
TRACE_ASSERT(handle <= NTask, "vTraceStoreTaskReady: Invalid value for handle", );
@ -171,13 +189,15 @@ void vTraceStoreMemMangEvent(uint32_t ecode, uint32_t address, int32_t signed_si
uint16_t addr_low;
uint8_t addr_high;
uint32_t size;
TRACE_SR_ALLOC_CRITICAL_SECTION();
if (RecorderDataPtr == NULL) // This happens in vTraceInitTraceData, if using dynamic allocation...
return;
if (signed_size < 0)
size = (uint32_t)(- signed_size);
else
size = (uint32_t)(signed_size);
TRACE_SR_ALLOC_CRITICAL_SECTION();
trcCRITICAL_SECTION_BEGIN();
@ -619,9 +639,9 @@ void vTraceSetPriorityProperty(uint8_t objectclass, objectHandleType id, uint8_t
uint8_t uiTraceGetPriorityProperty(uint8_t objectclass, objectHandleType id)
{
TRACE_ASSERT(objectclass < TRACE_NCLASSES,
"uiTraceGetPriorityProperty: objectclass >= TRACE_NCLASSES", 0);
"uiTraceGetPriorityProperty: Invalid objectclass number (>= TRACE_NCLASSES)", 0);
TRACE_ASSERT(id <= RecorderDataPtr->ObjectPropertyTable.NumberOfObjectsPerClass[objectclass],
"uiTraceGetPriorityProperty: Invalid value for id", 0);
"uiTraceGetPriorityProperty: Task handle exceeds NTask. You may need to increase this constant in trcConfig.h.", 0);
return TRACE_PROPERTY_ACTOR_PRIORITY(objectclass, id);
}

View File

@ -1,5 +1,5 @@
/*******************************************************************************
* Tracealyzer v2.7.0 Recorder Library
* Tracealyzer v2.7.7 Recorder Library
* Percepio AB, www.percepio.com
*
* trcUser.c
@ -33,7 +33,7 @@
*
* Tabs are used for indent in this file (1 tab = 4 spaces)
*
* Copyright Percepio AB, 2014.
* Copyright Percepio AB, 2012-2015.
* www.percepio.com
******************************************************************************/
#include "FreeRTOS.h"
@ -50,7 +50,7 @@
TRACE_STOP_HOOK vTraceStopHookPtr = (TRACE_STOP_HOOK)0;
extern uint8_t inExcludedTask;
extern uint8_t nISRactive;
extern int8_t nISRactive;
extern objectHandleType handle_of_last_logged_task;
extern uint32_t dts_min;
extern uint32_t hwtc_count_max_after_tick;
@ -127,6 +127,8 @@ void vTraceClear(void)
memset(RecorderDataPtr->eventData, 0, RecorderDataPtr->maxEvents * 4);
handle_of_last_logged_task = 0;
trcCRITICAL_SECTION_END();
}
@ -632,47 +634,55 @@ void vTraceStoreISREnd(int pendingISR)
uint16_t dts5;
TRACE_SR_ALLOC_CRITICAL_SECTION();
if (! RecorderDataPtr->recorderActive || ! handle_of_last_logged_task)
{
return;
}
if (recorder_busy)
{
vTraceError("Illegal call to vTraceStoreISREnd, recorder busy!");
return;
}
if (nISRactive == 0)
{
vTraceError("Unmatched call to vTraceStoreISREnd (nISRactive == 0, expected > 0)");
return;
}
trcCRITICAL_SECTION_BEGIN();
if (pendingISR == 0)
{
if (RecorderDataPtr->recorderActive && handle_of_last_logged_task)
uint8_t hnd8, type;
dts5 = (uint16_t)prvTraceGetDTS(0xFFFF);
if (nISRactive > 1)
{
uint8_t hnd8, type;
dts5 = (uint16_t)prvTraceGetDTS(0xFFFF);
if (nISRactive > 1)
{
/* return to another isr */
type = TS_ISR_RESUME;
hnd8 = prvTraceGet8BitHandle(isrstack[nISRactive]);
}
else
{
/* return to task */
type = TS_TASK_RESUME;
hnd8 = prvTraceGet8BitHandle(handle_of_last_logged_task);
}
ts = (TSEvent*)xTraceNextFreeEventBufferSlot();
if (ts != NULL)
{
ts->type = type;
ts->objHandle = hnd8;
ts->dts = dts5;
prvTraceUpdateCounters();
}
#if (SELECTED_PORT == PORT_ARM_CortexM)
/* Remember the last ISR exit event, as the event needs to be modified in case of a following ISR entry (if tail-chained ISRs) */
ptrLastISRExitEvent = (uint8_t*)ts;
#endif
/* return to another isr */
type = TS_ISR_RESUME;
hnd8 = prvTraceGet8BitHandle(isrstack[nISRactive]);
}
else
{
/* return to task */
type = TS_TASK_RESUME;
hnd8 = prvTraceGet8BitHandle(handle_of_last_logged_task);
}
ts = (TSEvent*)xTraceNextFreeEventBufferSlot();
if (ts != NULL)
{
ts->type = type;
ts->objHandle = hnd8;
ts->dts = dts5;
prvTraceUpdateCounters();
}
#if (SELECTED_PORT == PORT_ARM_CortexM)
/* Remember the last ISR exit event, as the event needs to be modified in case of a following ISR entry (if tail-chained ISRs) */
ptrLastISRExitEvent = (uint8_t*)ts;
#endif
}
nISRactive--;

View File

@ -65,22 +65,6 @@
</tool>
</toolChain>
</folderInfo>
<folderInfo id="cdt.managedbuild.config.gnu.cygwin.exe.debug.5899473.1173721081" name="/" resourcePath="Full_Demo/Standard_Demo_Tasks">
<toolChain id="cdt.managedbuild.toolchain.gnu.cross.base.1555812406" name="Cross GCC" superClass="cdt.managedbuild.toolchain.gnu.cross.base" unusedChildren="">
<option id="cdt.managedbuild.option.gnu.cross.prefix.1160671315.1680026821" name="Prefix" superClass="cdt.managedbuild.option.gnu.cross.prefix.1160671315"/>
<option id="cdt.managedbuild.option.gnu.cross.path.942625968.1399515051" name="Path" superClass="cdt.managedbuild.option.gnu.cross.path.942625968"/>
<tool id="cdt.managedbuild.tool.gnu.cross.c.compiler.100957841" name="Cross GCC Compiler" superClass="cdt.managedbuild.tool.gnu.cross.c.compiler.850200804">
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1496229673" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
</tool>
<tool id="cdt.managedbuild.tool.gnu.cross.cpp.compiler.1644078528" name="Cross G++ Compiler" superClass="cdt.managedbuild.tool.gnu.cross.cpp.compiler.1667900842"/>
<tool id="cdt.managedbuild.tool.gnu.cross.c.linker.1073540094" name="Cross GCC Linker" superClass="cdt.managedbuild.tool.gnu.cross.c.linker.2047125905"/>
<tool id="cdt.managedbuild.tool.gnu.cross.cpp.linker.956115598" name="Cross G++ Linker" superClass="cdt.managedbuild.tool.gnu.cross.cpp.linker.1304180380"/>
<tool id="cdt.managedbuild.tool.gnu.cross.archiver.520187407" name="Cross GCC Archiver" superClass="cdt.managedbuild.tool.gnu.cross.archiver.2001524857"/>
<tool id="cdt.managedbuild.tool.gnu.cross.assembler.737789519" name="Cross GCC Assembler" superClass="cdt.managedbuild.tool.gnu.cross.assembler.500911803">
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.225651200" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
</tool>
</toolChain>
</folderInfo>
<sourceEntries>
<entry excluding="Support_Files/stdlib_functions.c|nops.c|Source|uart.c|early_uart.c" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>

View File

@ -55,16 +55,7 @@
</matcher>
</filter>
<filter>
<id>1438277863568</id>
<name>Full_Demo/Standard_Demo_Tasks</name>
<type>9</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-include</arguments>
</matcher>
</filter>
<filter>
<id>1438277863618</id>
<id>1438864614809</id>
<name>Full_Demo/Standard_Demo_Tasks</name>
<type>9</type>
<matcher>
@ -72,6 +63,15 @@
<arguments>1.0-name-matches-false-false-Minimal</arguments>
</matcher>
</filter>
<filter>
<id>1438864614839</id>
<name>Full_Demo/Standard_Demo_Tasks</name>
<type>9</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-include</arguments>
</matcher>
</filter>
<filter>
<id>1438278142258</id>
<name>FreeRTOS_Source/portable/GCC</name>
@ -91,7 +91,7 @@
</matcher>
</filter>
<filter>
<id>1438278034257</id>
<id>1438864777066</id>
<name>Full_Demo/Standard_Demo_Tasks/Minimal</name>
<type>5</type>
<matcher>
@ -100,7 +100,7 @@
</matcher>
</filter>
<filter>
<id>1438278034267</id>
<id>1438864777076</id>
<name>Full_Demo/Standard_Demo_Tasks/Minimal</name>
<type>5</type>
<matcher>
@ -109,16 +109,16 @@
</matcher>
</filter>
<filter>
<id>1438278034287</id>
<id>1438864777126</id>
<name>Full_Demo/Standard_Demo_Tasks/Minimal</name>
<type>5</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-true-false-countsem.c</arguments>
<arguments>1.0-name-matches-false-false-countsem.c</arguments>
</matcher>
</filter>
<filter>
<id>1438278034297</id>
<id>1438864777146</id>
<name>Full_Demo/Standard_Demo_Tasks/Minimal</name>
<type>5</type>
<matcher>
@ -127,7 +127,7 @@
</matcher>
</filter>
<filter>
<id>1438278034307</id>
<id>1438864777146</id>
<name>Full_Demo/Standard_Demo_Tasks/Minimal</name>
<type>5</type>
<matcher>
@ -136,7 +136,7 @@
</matcher>
</filter>
<filter>
<id>1438278034317</id>
<id>1438864777156</id>
<name>Full_Demo/Standard_Demo_Tasks/Minimal</name>
<type>5</type>
<matcher>
@ -145,7 +145,7 @@
</matcher>
</filter>
<filter>
<id>1438278034327</id>
<id>1438864777166</id>
<name>Full_Demo/Standard_Demo_Tasks/Minimal</name>
<type>5</type>
<matcher>
@ -154,7 +154,7 @@
</matcher>
</filter>
<filter>
<id>1438278034337</id>
<id>1438864777166</id>
<name>Full_Demo/Standard_Demo_Tasks/Minimal</name>
<type>5</type>
<matcher>
@ -163,7 +163,7 @@
</matcher>
</filter>
<filter>
<id>1438278034347</id>
<id>1438864777176</id>
<name>Full_Demo/Standard_Demo_Tasks/Minimal</name>
<type>5</type>
<matcher>
@ -172,7 +172,7 @@
</matcher>
</filter>
<filter>
<id>1438278034357</id>
<id>1438864777186</id>
<name>Full_Demo/Standard_Demo_Tasks/Minimal</name>
<type>5</type>
<matcher>
@ -181,7 +181,7 @@
</matcher>
</filter>
<filter>
<id>1438278034367</id>
<id>1438864777206</id>
<name>Full_Demo/Standard_Demo_Tasks/Minimal</name>
<type>5</type>
<matcher>
@ -190,7 +190,7 @@
</matcher>
</filter>
<filter>
<id>1438278034367</id>
<id>1438864777206</id>
<name>Full_Demo/Standard_Demo_Tasks/Minimal</name>
<type>5</type>
<matcher>
@ -199,7 +199,7 @@
</matcher>
</filter>
<filter>
<id>1438278034377</id>
<id>1438864777216</id>
<name>Full_Demo/Standard_Demo_Tasks/Minimal</name>
<type>5</type>
<matcher>
@ -208,7 +208,7 @@
</matcher>
</filter>
<filter>
<id>1438278034387</id>
<id>1438864777226</id>
<name>Full_Demo/Standard_Demo_Tasks/Minimal</name>
<type>5</type>
<matcher>
@ -217,7 +217,7 @@
</matcher>
</filter>
<filter>
<id>1438278034397</id>
<id>1438864777226</id>
<name>Full_Demo/Standard_Demo_Tasks/Minimal</name>
<type>5</type>
<matcher>
@ -226,7 +226,7 @@
</matcher>
</filter>
<filter>
<id>1438278034407</id>
<id>1438864777236</id>
<name>Full_Demo/Standard_Demo_Tasks/Minimal</name>
<type>5</type>
<matcher>

View File

@ -5,7 +5,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="-1521042937261237789" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="-388082630224803112" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>

View File

@ -10,7 +10,7 @@
<debug>1</debug>
<settings>
<name>C-SPY</name>
<archiveVersion>4</archiveVersion>
<archiveVersion>5</archiveVersion>
<data>
<version>27</version>
<wantNonLocal>1</wantNonLocal>
@ -57,7 +57,7 @@
</option>
<option>
<name>DdfFileName</name>
<state>$TOOLKIT_DIR$\config\debugger\MSP430F5438A.ddf</state>
<state>$TOOLKIT_DIR$\config\debugger\msp430f5438a.ddf</state>
</option>
<option>
<name>ProcTMS</name>
@ -153,7 +153,7 @@
<name>430FET</name>
<archiveVersion>1</archiveVersion>
<data>
<version>26</version>
<version>29</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@ -211,7 +211,7 @@
</option>
<option>
<name>CRadioProtocolType</name>
<state>1</state>
<state>0</state>
</option>
<option>
<name>CCRadioModuleTypeSlave</name>
@ -235,7 +235,7 @@
</option>
<option>
<name>FetConnection</name>
<version>2</version>
<version>4</version>
<state>0</state>
</option>
<option>
@ -302,6 +302,22 @@
<name>memoryTypeSlave</name>
<state>0</state>
</option>
<option>
<name>fuseBlowDisabledSlave</name>
<state>0</state>
</option>
<option>
<name>eraseTypeSlave</name>
<state>0</state>
</option>
<option>
<name>DataSampleBpReservation</name>
<state>0</state>
</option>
<option>
<name>cycleCounterLevel</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
@ -339,7 +355,7 @@
</settings>
<debuggerPlugins>
<plugin>
<file>$TOOLKIT_DIR$\plugins\Lcd\lcd.ewplugin</file>
<file>$TOOLKIT_DIR$\plugins\lcd\lcd.ewplugin</file>
<loadFlag>1</loadFlag>
</plugin>
<plugin>
@ -358,10 +374,6 @@
<file>$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
@ -408,7 +420,7 @@
<debug>1</debug>
<settings>
<name>C-SPY</name>
<archiveVersion>4</archiveVersion>
<archiveVersion>5</archiveVersion>
<data>
<version>27</version>
<wantNonLocal>1</wantNonLocal>
@ -551,7 +563,7 @@
<name>430FET</name>
<archiveVersion>1</archiveVersion>
<data>
<version>26</version>
<version>29</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@ -633,7 +645,7 @@
</option>
<option>
<name>FetConnection</name>
<version>2</version>
<version>4</version>
<state>0</state>
</option>
<option>
@ -700,6 +712,22 @@
<name>memoryTypeSlave</name>
<state>0</state>
</option>
<option>
<name>fuseBlowDisabledSlave</name>
<state>0</state>
</option>
<option>
<name>eraseTypeSlave</name>
<state>0</state>
</option>
<option>
<name>DataSampleBpReservation</name>
<state>0</state>
</option>
<option>
<name>cycleCounterLevel</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
@ -737,7 +765,7 @@
</settings>
<debuggerPlugins>
<plugin>
<file>$TOOLKIT_DIR$\plugins\Lcd\lcd.ewplugin</file>
<file>$TOOLKIT_DIR$\plugins\lcd\lcd.ewplugin</file>
<loadFlag>1</loadFlag>
</plugin>
<plugin>
@ -756,10 +784,6 @@
<file>$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
@ -806,7 +830,7 @@
<debug>1</debug>
<settings>
<name>C-SPY</name>
<archiveVersion>4</archiveVersion>
<archiveVersion>5</archiveVersion>
<data>
<version>27</version>
<wantNonLocal>1</wantNonLocal>
@ -949,7 +973,7 @@
<name>430FET</name>
<archiveVersion>1</archiveVersion>
<data>
<version>26</version>
<version>29</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@ -1031,7 +1055,7 @@
</option>
<option>
<name>FetConnection</name>
<version>2</version>
<version>4</version>
<state>0</state>
</option>
<option>
@ -1098,6 +1122,22 @@
<name>memoryTypeSlave</name>
<state>0</state>
</option>
<option>
<name>fuseBlowDisabledSlave</name>
<state>0</state>
</option>
<option>
<name>eraseTypeSlave</name>
<state>0</state>
</option>
<option>
<name>DataSampleBpReservation</name>
<state>0</state>
</option>
<option>
<name>cycleCounterLevel</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
@ -1135,7 +1175,7 @@
</settings>
<debuggerPlugins>
<plugin>
<file>$TOOLKIT_DIR$\plugins\Lcd\lcd.ewplugin</file>
<file>$TOOLKIT_DIR$\plugins\lcd\lcd.ewplugin</file>
<loadFlag>1</loadFlag>
</plugin>
<plugin>
@ -1154,10 +1194,6 @@
<file>$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
@ -1204,7 +1240,7 @@
<debug>1</debug>
<settings>
<name>C-SPY</name>
<archiveVersion>4</archiveVersion>
<archiveVersion>5</archiveVersion>
<data>
<version>27</version>
<wantNonLocal>1</wantNonLocal>
@ -1347,7 +1383,7 @@
<name>430FET</name>
<archiveVersion>1</archiveVersion>
<data>
<version>26</version>
<version>29</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@ -1429,7 +1465,7 @@
</option>
<option>
<name>FetConnection</name>
<version>2</version>
<version>4</version>
<state>0</state>
</option>
<option>
@ -1496,6 +1532,22 @@
<name>memoryTypeSlave</name>
<state>0</state>
</option>
<option>
<name>fuseBlowDisabledSlave</name>
<state>0</state>
</option>
<option>
<name>eraseTypeSlave</name>
<state>0</state>
</option>
<option>
<name>DataSampleBpReservation</name>
<state>0</state>
</option>
<option>
<name>cycleCounterLevel</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
@ -1533,7 +1585,7 @@
</settings>
<debuggerPlugins>
<plugin>
<file>$TOOLKIT_DIR$\plugins\Lcd\lcd.ewplugin</file>
<file>$TOOLKIT_DIR$\plugins\lcd\lcd.ewplugin</file>
<loadFlag>1</loadFlag>
</plugin>
<plugin>
@ -1552,10 +1604,6 @@
<file>$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin</file>
<loadFlag>0</loadFlag>

View File

@ -10,9 +10,9 @@
<debug>1</debug>
<settings>
<name>General</name>
<archiveVersion>14</archiveVersion>
<archiveVersion>17</archiveVersion>
<data>
<version>32</version>
<version>33</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@ -58,7 +58,7 @@
</option>
<option>
<name>RTLibraryPath</name>
<state>$TOOLKIT_DIR$\LIB\DLIB\dl430xlff.r43</state>
<state>$TOOLKIT_DIR$\lib\dlib\dl430xllff.r43</state>
</option>
<option>
<name>Input variant</name>
@ -217,6 +217,15 @@
<name>GLockIpe</name>
<state>0</state>
</option>
<option>
<name>Math variant</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>Math description</name>
<state>Default variants of cos, sin, tan, log, log10, pow, and exp.</state>
</option>
</data>
</settings>
<settings>
@ -707,6 +716,7 @@
<data>
<extensions></extensions>
<cmdline></cmdline>
<hasPrio>0</hasPrio>
</data>
</settings>
<settings>
@ -726,7 +736,7 @@
<name>XLINK</name>
<archiveVersion>4</archiveVersion>
<data>
<version>27</version>
<version>29</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@ -797,11 +807,11 @@
</option>
<option>
<name>XclOverride</name>
<state>1</state>
<state>0</state>
</option>
<option>
<name>XclFile</name>
<state>$PROJ_DIR$\lnk430F5438A_mod.xcl</state>
<state>$TOOLKIT_DIR$\config\linker\lnk430f5438a.xcl</state>
</option>
<option>
<name>XclFileSlave</name>
@ -1022,6 +1032,46 @@
<name>XlinkIPE</name>
<state>1</state>
</option>
<option>
<name>XlinkLogEnable</name>
<state>0</state>
</option>
<option>
<name>XlinkLogInputFiles</name>
<state>0</state>
</option>
<option>
<name>XlinkLogModuleSelection</name>
<state>0</state>
</option>
<option>
<name>XlinkLogPrintfScanf</name>
<state>0</state>
</option>
<option>
<name>XlinkLogSegmentSelection</name>
<state>0</state>
</option>
<option>
<name>XlinkLogStackDepth</name>
<state>0</state>
</option>
<option>
<name>XlinkStackUsageEnable</name>
<state>0</state>
</option>
<option>
<name>XlinkControlFiles</name>
<state></state>
</option>
<option>
<name>XlinkCallGraphFileEnable</name>
<state>0</state>
</option>
<option>
<name>XlinkCallGraphFileName</name>
<state>$LIST_DIR$\$PROJ_FNAME$.call_graph.cgx</state>
</option>
</data>
</settings>
<settings>
@ -1089,9 +1139,9 @@
<debug>1</debug>
<settings>
<name>General</name>
<archiveVersion>14</archiveVersion>
<archiveVersion>17</archiveVersion>
<data>
<version>32</version>
<version>33</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@ -1296,6 +1346,15 @@
<name>GLockIpe</name>
<state>0</state>
</option>
<option>
<name>Math variant</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>Math description</name>
<state></state>
</option>
</data>
</settings>
<settings>
@ -1786,6 +1845,7 @@
<data>
<extensions></extensions>
<cmdline></cmdline>
<hasPrio>0</hasPrio>
</data>
</settings>
<settings>
@ -1805,7 +1865,7 @@
<name>XLINK</name>
<archiveVersion>4</archiveVersion>
<data>
<version>27</version>
<version>29</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@ -2101,6 +2161,46 @@
<name>XlinkIPE</name>
<state>1</state>
</option>
<option>
<name>XlinkLogEnable</name>
<state>0</state>
</option>
<option>
<name>XlinkLogInputFiles</name>
<state>0</state>
</option>
<option>
<name>XlinkLogModuleSelection</name>
<state>0</state>
</option>
<option>
<name>XlinkLogPrintfScanf</name>
<state>0</state>
</option>
<option>
<name>XlinkLogSegmentSelection</name>
<state>0</state>
</option>
<option>
<name>XlinkLogStackDepth</name>
<state>0</state>
</option>
<option>
<name>XlinkStackUsageEnable</name>
<state>0</state>
</option>
<option>
<name>XlinkControlFiles</name>
<state></state>
</option>
<option>
<name>XlinkCallGraphFileEnable</name>
<state>0</state>
</option>
<option>
<name>XlinkCallGraphFileName</name>
<state>$LIST_DIR$\$PROJ_FNAME$.call_graph.cgx</state>
</option>
</data>
</settings>
<settings>
@ -2168,9 +2268,9 @@
<debug>1</debug>
<settings>
<name>General</name>
<archiveVersion>14</archiveVersion>
<archiveVersion>17</archiveVersion>
<data>
<version>32</version>
<version>33</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@ -2375,6 +2475,15 @@
<name>GLockIpe</name>
<state>0</state>
</option>
<option>
<name>Math variant</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>Math description</name>
<state></state>
</option>
</data>
</settings>
<settings>
@ -2865,6 +2974,7 @@
<data>
<extensions></extensions>
<cmdline></cmdline>
<hasPrio>0</hasPrio>
</data>
</settings>
<settings>
@ -2884,7 +2994,7 @@
<name>XLINK</name>
<archiveVersion>4</archiveVersion>
<data>
<version>27</version>
<version>29</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@ -3180,6 +3290,46 @@
<name>XlinkIPE</name>
<state>1</state>
</option>
<option>
<name>XlinkLogEnable</name>
<state>0</state>
</option>
<option>
<name>XlinkLogInputFiles</name>
<state>0</state>
</option>
<option>
<name>XlinkLogModuleSelection</name>
<state>0</state>
</option>
<option>
<name>XlinkLogPrintfScanf</name>
<state>0</state>
</option>
<option>
<name>XlinkLogSegmentSelection</name>
<state>0</state>
</option>
<option>
<name>XlinkLogStackDepth</name>
<state>0</state>
</option>
<option>
<name>XlinkStackUsageEnable</name>
<state>0</state>
</option>
<option>
<name>XlinkControlFiles</name>
<state></state>
</option>
<option>
<name>XlinkCallGraphFileEnable</name>
<state>0</state>
</option>
<option>
<name>XlinkCallGraphFileName</name>
<state>$LIST_DIR$\$PROJ_FNAME$.call_graph.cgx</state>
</option>
</data>
</settings>
<settings>
@ -3247,9 +3397,9 @@
<debug>1</debug>
<settings>
<name>General</name>
<archiveVersion>14</archiveVersion>
<archiveVersion>17</archiveVersion>
<data>
<version>32</version>
<version>33</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@ -3454,6 +3604,15 @@
<name>GLockIpe</name>
<state>0</state>
</option>
<option>
<name>Math variant</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>Math description</name>
<state></state>
</option>
</data>
</settings>
<settings>
@ -3944,6 +4103,7 @@
<data>
<extensions></extensions>
<cmdline></cmdline>
<hasPrio>0</hasPrio>
</data>
</settings>
<settings>
@ -3963,7 +4123,7 @@
<name>XLINK</name>
<archiveVersion>4</archiveVersion>
<data>
<version>27</version>
<version>29</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@ -4259,6 +4419,46 @@
<name>XlinkIPE</name>
<state>1</state>
</option>
<option>
<name>XlinkLogEnable</name>
<state>0</state>
</option>
<option>
<name>XlinkLogInputFiles</name>
<state>0</state>
</option>
<option>
<name>XlinkLogModuleSelection</name>
<state>0</state>
</option>
<option>
<name>XlinkLogPrintfScanf</name>
<state>0</state>
</option>
<option>
<name>XlinkLogSegmentSelection</name>
<state>0</state>
</option>
<option>
<name>XlinkLogStackDepth</name>
<state>0</state>
</option>
<option>
<name>XlinkStackUsageEnable</name>
<state>0</state>
</option>
<option>
<name>XlinkControlFiles</name>
<state></state>
</option>
<option>
<name>XlinkCallGraphFileEnable</name>
<state>0</state>
</option>
<option>
<name>XlinkCallGraphFileName</name>
<state>$LIST_DIR$\$PROJ_FNAME$.call_graph.cgx</state>
</option>
</data>
</settings>
<settings>

File diff suppressed because it is too large Load Diff

View File

@ -85,6 +85,12 @@ UnspecRange=1
ActionState=1
[Simulator]
Freq=1000000
[EEM Sequencer]
Buffer=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
[EEM Cycle Counter 0]
Counter0=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
[EEM Cycle Counter 1]
Counter1=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
[Breakpoints]
Count=0
[FET]

View File

@ -25,7 +25,7 @@
<Windows>
<Wnd0>
<Wnd2>
<Tabs>
<Tab>
<Identity>TabID-18858-27566</Identity>
@ -37,7 +37,7 @@
</Tab>
</Tabs>
<SelectedTab>0</SelectedTab></Wnd0><Wnd1><Tabs><Tab><Identity>TabID-15348-8476</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab><Tab><Identity>TabID-12693-9958</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd1></Windows>
<SelectedTab>0</SelectedTab></Wnd2><Wnd3><Tabs><Tab><Identity>TabID-15348-8476</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab><Tab><Identity>TabID-12693-9958</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd3></Windows>
<Editor>
@ -50,7 +50,7 @@
<Top><Row0><Sizes><Toolbar-00DD53D8><key>iaridepm.enu1</key></Toolbar-00DD53D8></Sizes></Row0></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>611</Bottom><Right>409</Right><x>-2</x><y>-2</y><xscreen>331</xscreen><yscreen>268</yscreen><sizeHorzCX>197024</sizeHorzCX><sizeHorzCY>272358</sizeHorzCY><sizeVertCX>244643</sizeVertCX><sizeVertCY>622967</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>329</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>331</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>336382</sizeHorzCY><sizeVertCX>119048</sizeVertCX><sizeVertCY>203252</sizeVertCY></Rect></Wnd1></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
<Top><Row0><Sizes><Toolbar-00F763E8><key>iaridepm.enu1</key></Toolbar-00F763E8></Sizes></Row0></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>611</Bottom><Right>409</Right><x>-2</x><y>-2</y><xscreen>331</xscreen><yscreen>268</yscreen><sizeHorzCX>197024</sizeHorzCX><sizeHorzCY>272358</sizeHorzCY><sizeVertCX>244643</sizeVertCX><sizeVertCY>622967</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>329</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>331</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>336382</sizeHorzCY><sizeVertCX>119048</sizeVertCX><sizeVertCY>203252</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
</Desktop>
</Workspace>

View File

@ -0,0 +1,5 @@
[{000214A0-0000-0000-C000-000000000046}]
Prop3=19,2
[InternetShortcut]
URL=http://www.freertos.org/RTOS-Xilinx-SDK-BSP.html
IDList=

View File

@ -617,6 +617,34 @@ extern "C" {
#define traceQUEUE_REGISTRY_ADD(xQueue, pcQueueName)
#endif
#ifndef traceTASK_NOTIFY_TAKE_BLOCK
#define traceTASK_NOTIFY_TAKE_BLOCK()
#endif
#ifndef traceTASK_NOTIFY_TAKE
#define traceTASK_NOTIFY_TAKE()
#endif
#ifndef traceTASK_NOTIFY_WAIT_BLOCK
#define traceTASK_NOTIFY_WAIT_BLOCK()
#endif
#ifndef traceTASK_NOTIFY_WAIT
#define traceTASK_NOTIFY_WAIT()
#endif
#ifndef traceTASK_NOTIFY
#define traceTASK_NOTIFY()
#endif
#ifndef traceTASK_NOTIFY_FROM_ISR
#define traceTASK_NOTIFY_FROM_ISR()
#endif
#ifndef traceTASK_NOTIFY_GIVE_FROM_ISR
#define traceTASK_NOTIFY_GIVE_FROM_ISR()
#endif
#ifndef configGENERATE_RUN_TIME_STATS
#define configGENERATE_RUN_TIME_STATS 0
#endif

View File

@ -113,10 +113,8 @@ typedef unsigned short UBaseType_t;
/*-----------------------------------------------------------*/
/* Critical section management. */
#define portINTERRUPT_BITS ( ( uint16_t ) configKERNEL_INTERRUPT_PRIORITY << ( uint16_t ) 5 )
#define portDISABLE_INTERRUPTS() SR |= portINTERRUPT_BITS; __asm volatile ( "NOP" )
#define portENABLE_INTERRUPTS() SR &= ~portINTERRUPT_BITS
#define portDISABLE_INTERRUPTS() SET_CPU_IPL( configKERNEL_INTERRUPT_PRIORITY ); __asm volatile ( "NOP" )
#define portENABLE_INTERRUPTS() SET_CPU_IPL( 0 )
/* Note that exiting a critical sectino will set the IPL bits to 0, nomatter
what their value was prior to entering the critical section. */

View File

@ -1062,8 +1062,8 @@ StackType_t *pxTopOfStack;
taskENTER_CRITICAL();
{
/* If null is passed in here then we are changing the
priority of the calling function. */
/* If null is passed in here then it is the priority of the that
called uxTaskPriorityGet() that is being queried. */
pxTCB = prvGetTCBFromHandle( xTask );
uxReturn = pxTCB->uxPriority;
}
@ -3960,6 +3960,8 @@ TickType_t uxReturn;
}
#endif /* INCLUDE_vTaskSuspend */
traceTASK_NOTIFY_TAKE_BLOCK();
/* All ports are written to allow a yield in a critical
section (some will yield immediately, others wait until the
critical section exits) - but it is not something that
@ -3980,6 +3982,7 @@ TickType_t uxReturn;
taskENTER_CRITICAL();
{
traceTASK_NOTIFY_TAKE();
ulReturn = pxCurrentTCB->ulNotifiedValue;
if( ulReturn != 0UL )
@ -4075,6 +4078,8 @@ TickType_t uxReturn;
}
#endif /* INCLUDE_vTaskSuspend */
traceTASK_NOTIFY_WAIT_BLOCK();
/* All ports are written to allow a yield in a critical
section (some will yield immediately, others wait until the
critical section exits) - but it is not something that
@ -4095,6 +4100,8 @@ TickType_t uxReturn;
taskENTER_CRITICAL();
{
traceTASK_NOTIFY_WAIT();
if( pulNotificationValue != NULL )
{
/* Output the current notification value, which may or may not
@ -4183,6 +4190,7 @@ TickType_t uxReturn;
break;
}
traceTASK_NOTIFY();
/* If the task is in the blocked state specifically to wait for a
notification then unblock it now. */
@ -4307,7 +4315,8 @@ TickType_t uxReturn;
break;
}
traceTASK_NOTIFY_FROM_ISR();
/* If the task is in the blocked state specifically to wait for a
notification then unblock it now. */
if( eOriginalNotifyState == eWaitingNotification )
@ -4388,6 +4397,8 @@ TickType_t uxReturn;
/* 'Giving' is equivalent to incrementing a count in a counting
semaphore. */
( pxTCB->ulNotifiedValue )++;
traceTASK_NOTIFY_GIVE_FROM_ISR();
/* If the task is in the blocked state specifically to wait for a
notification then unblock it now. */