mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-05-13 08:39:07 -04:00
Ensure eTaskGetState() is brought in automatically if INCLUDE_xTaskAbortDelay is set to 1, as it is a dependency of eTaskGetState().
Added the portTASK_FUNCTION_PROTO macros around the timer task, as the macros are already used by the idle task. Add a PDF of the RISC-V documentation into the repo as the web page is not yet live.
This commit is contained in:
parent
df5952f655
commit
fb73829148
|
@ -5,7 +5,7 @@
|
||||||
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
|
<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.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||||
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
||||||
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-838616105515603833" id="ilg.gnumcueclipse.managedbuild.cross.riscv.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT RISC-V Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-368533891008049209" id="ilg.gnumcueclipse.managedbuild.cross.riscv.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT RISC-V Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||||
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||||
<language-scope id="org.eclipse.cdt.core.g++"/>
|
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||||
</provider>
|
</provider>
|
||||||
|
@ -16,7 +16,7 @@
|
||||||
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
|
<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.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||||
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
||||||
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-834701673310394435" id="ilg.gnumcueclipse.managedbuild.cross.riscv.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT RISC-V Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-364619458802839811" id="ilg.gnumcueclipse.managedbuild.cross.riscv.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT RISC-V Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||||
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||||
<language-scope id="org.eclipse.cdt.core.g++"/>
|
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||||
</provider>
|
</provider>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
|
<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.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||||
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
||||||
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-1838490515881353792" id="ilg.gnumcueclipse.managedbuild.cross.riscv.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT RISC-V Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-636747711401044766" id="ilg.gnumcueclipse.managedbuild.cross.riscv.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT RISC-V Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||||
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||||
<language-scope id="org.eclipse.cdt.core.g++"/>
|
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||||
</provider>
|
</provider>
|
||||||
|
|
|
@ -121,7 +121,7 @@ void main_blinky( void )
|
||||||
file. */
|
file. */
|
||||||
xTaskCreate( prvQueueReceiveTask, /* The function that implements the task. */
|
xTaskCreate( prvQueueReceiveTask, /* The function that implements the task. */
|
||||||
"Rx", /* The text name assigned to the task - for debug only as it is not used by the kernel. */
|
"Rx", /* The text name assigned to the task - for debug only as it is not used by the kernel. */
|
||||||
configMINIMAL_STACK_SIZE * 2U, /* The size of the stack to allocate to the task. */
|
configMINIMAL_STACK_SIZE * 2U, /* The size of the stack to allocate to the task. */
|
||||||
NULL, /* The parameter passed to the task - not used in this case. */
|
NULL, /* The parameter passed to the task - not used in this case. */
|
||||||
mainQUEUE_RECEIVE_TASK_PRIORITY, /* The priority assigned to the task. */
|
mainQUEUE_RECEIVE_TASK_PRIORITY, /* The priority assigned to the task. */
|
||||||
NULL ); /* The task handle is not required, so NULL is passed. */
|
NULL ); /* The task handle is not required, so NULL is passed. */
|
||||||
|
|
|
@ -150,13 +150,6 @@ void vFullDemoTickHook( void );
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
/* Timers used to exercise external interrupt processing. */
|
|
||||||
//static timer_instance_t g_timer0, g_timer1;
|
|
||||||
|
|
||||||
/* Variables incremented by the peripheral timers used to exercise external
|
|
||||||
interrupts. */
|
|
||||||
volatile uint32_t ulTimer0Interrupts = 0, ulTimer1Interrupts = 0;
|
|
||||||
|
|
||||||
/* The following two variables are used to communicate the status of the
|
/* The following two variables are used to communicate the status of the
|
||||||
register check tasks to the check task. If the variables keep incrementing,
|
register check tasks to the check task. If the variables keep incrementing,
|
||||||
then the register check tasks have not discovered any errors. If a variable
|
then the register check tasks have not discovered any errors. If a variable
|
||||||
|
@ -224,7 +217,6 @@ static void prvCheckTask( void *pvParameters )
|
||||||
TickType_t xDelayPeriod = mainNO_ERROR_CHECK_TASK_PERIOD;
|
TickType_t xDelayPeriod = mainNO_ERROR_CHECK_TASK_PERIOD;
|
||||||
TickType_t xLastExecutionTime;
|
TickType_t xLastExecutionTime;
|
||||||
uint32_t ulLastRegTest1Value = 0, ulLastRegTest2Value = 0;
|
uint32_t ulLastRegTest1Value = 0, ulLastRegTest2Value = 0;
|
||||||
uint32_t ulLastTimer0Interrupts = 0, ulLastTimer1Interrupts = 0;
|
|
||||||
char * const pcPassMessage = ".";
|
char * const pcPassMessage = ".";
|
||||||
char * pcStatusMessage = pcPassMessage;
|
char * pcStatusMessage = pcPassMessage;
|
||||||
extern void vSendString( const char * const pcString );
|
extern void vSendString( const char * const pcString );
|
||||||
|
@ -259,17 +251,17 @@ extern void vToggleLED( void );
|
||||||
pcStatusMessage = "ERROR: Dynamic priority demo/tests.\r\n";
|
pcStatusMessage = "ERROR: Dynamic priority demo/tests.\r\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( xAreBlockTimeTestTasksStillRunning() == pdFALSE )
|
if( xAreBlockTimeTestTasksStillRunning() == pdFALSE )
|
||||||
{
|
{
|
||||||
pcStatusMessage = "ERROR: Block time demo/tests.\r\n";
|
pcStatusMessage = "ERROR: Block time demo/tests.\r\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( xAreGenericQueueTasksStillRunning() == pdFALSE )
|
if( xAreGenericQueueTasksStillRunning() == pdFALSE )
|
||||||
{
|
{
|
||||||
pcStatusMessage = "ERROR: Generic queue demo/tests.\r\n";
|
pcStatusMessage = "ERROR: Generic queue demo/tests.\r\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( xAreRecursiveMutexTasksStillRunning() == pdFALSE )
|
if( xAreRecursiveMutexTasksStillRunning() == pdFALSE )
|
||||||
{
|
{
|
||||||
pcStatusMessage = "ERROR: Recursive mutex demo/tests.\r\n";
|
pcStatusMessage = "ERROR: Recursive mutex demo/tests.\r\n";
|
||||||
}
|
}
|
||||||
|
@ -333,19 +325,6 @@ extern void vToggleLED( void );
|
||||||
}
|
}
|
||||||
ulLastRegTest2Value = ulRegTest2LoopCounter;
|
ulLastRegTest2Value = ulRegTest2LoopCounter;
|
||||||
|
|
||||||
/* Check interrupts from the peripheral timers are being handled. */
|
|
||||||
if( ulLastTimer0Interrupts == ulTimer0Interrupts )
|
|
||||||
{
|
|
||||||
// pcStatusMessage = "ERROR: Peripheral timer 0.\r\n";
|
|
||||||
}
|
|
||||||
ulLastTimer0Interrupts = ulTimer0Interrupts;
|
|
||||||
|
|
||||||
if( ulLastTimer1Interrupts == ulTimer1Interrupts )
|
|
||||||
{
|
|
||||||
// pcStatusMessage = "ERROR: Peripheral timer 1.\r\n";
|
|
||||||
}
|
|
||||||
ulLastTimer1Interrupts = ulTimer1Interrupts;
|
|
||||||
|
|
||||||
/* Write the status message to the UART. */
|
/* Write the status message to the UART. */
|
||||||
vToggleLED();
|
vToggleLED();
|
||||||
vSendString( pcStatusMessage );
|
vSendString( pcStatusMessage );
|
||||||
|
@ -426,17 +405,3 @@ static void prvSetupPeripheralTimers( void )
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
/*Core Timer 0 Interrupt Handler*/
|
|
||||||
uint8_t External_30_IRQHandler( void )
|
|
||||||
{
|
|
||||||
ulTimer0Interrupts++;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
/*-----------------------------------------------------------*/
|
|
||||||
|
|
||||||
/*Core Timer 1 Interrupt Handler*/
|
|
||||||
uint8_t External_31_IRQHandler( void )
|
|
||||||
{
|
|
||||||
ulTimer1Interrupts++;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
|
|
||||||
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
||||||
|
|
||||||
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="1808514278280795297" id="ilg.gnumcueclipse.managedbuild.cross.riscv.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT RISC-V Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-1054471101704245543" id="ilg.gnumcueclipse.managedbuild.cross.riscv.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT RISC-V Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||||
|
|
||||||
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||||
|
|
||||||
|
|
|
@ -261,17 +261,17 @@ extern void vToggleLED( void );
|
||||||
pcStatusMessage = "ERROR: Dynamic priority demo/tests.\r\n";
|
pcStatusMessage = "ERROR: Dynamic priority demo/tests.\r\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( xAreBlockTimeTestTasksStillRunning() == pdFALSE )
|
if( xAreBlockTimeTestTasksStillRunning() == pdFALSE )
|
||||||
{
|
{
|
||||||
pcStatusMessage = "ERROR: Block time demo/tests.\r\n";
|
pcStatusMessage = "ERROR: Block time demo/tests.\r\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( xAreGenericQueueTasksStillRunning() == pdFALSE )
|
if( xAreGenericQueueTasksStillRunning() == pdFALSE )
|
||||||
{
|
{
|
||||||
pcStatusMessage = "ERROR: Generic queue demo/tests.\r\n";
|
pcStatusMessage = "ERROR: Generic queue demo/tests.\r\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( xAreRecursiveMutexTasksStillRunning() == pdFALSE )
|
if( xAreRecursiveMutexTasksStillRunning() == pdFALSE )
|
||||||
{
|
{
|
||||||
pcStatusMessage = "ERROR: Recursive mutex demo/tests.\r\n";
|
pcStatusMessage = "ERROR: Recursive mutex demo/tests.\r\n";
|
||||||
}
|
}
|
||||||
|
|
Binary file not shown.
|
@ -35,7 +35,7 @@
|
||||||
#include "portmacro.h"
|
#include "portmacro.h"
|
||||||
|
|
||||||
#ifndef configCLINT_BASE_ADDRESS
|
#ifndef configCLINT_BASE_ADDRESS
|
||||||
#warning configCLINT_BASE_ADDRESS must be defined in FreeRTOSConfig.h. If the target chip includes a Core Local Interrupter (CLINT) then set configCLINT_BASE_ADDRESS to the CLINT's base address. Otherwise set configCLINT_BASE_ADDRESS to 0.
|
#warning configCLINT_BASE_ADDRESS must be defined in FreeRTOSConfig.h. If the target chip includes a Core Local Interrupter (CLINT) then set configCLINT_BASE_ADDRESS to the CLINT base address. Otherwise set configCLINT_BASE_ADDRESS to 0.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Let the user override the pre-loading of the initial LR with the address of
|
/* Let the user override the pre-loading of the initial LR with the address of
|
||||||
|
|
|
@ -1352,7 +1352,7 @@ static void prvAddNewTaskToReadyList( TCB_t *pxNewTCB )
|
||||||
#endif /* INCLUDE_vTaskDelay */
|
#endif /* INCLUDE_vTaskDelay */
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
#if( ( INCLUDE_eTaskGetState == 1 ) || ( configUSE_TRACE_FACILITY == 1 ) )
|
#if( ( INCLUDE_eTaskGetState == 1 ) || ( configUSE_TRACE_FACILITY == 1 ) || ( INCLUDE_xTaskAbortDelay == 1 ) )
|
||||||
|
|
||||||
eTaskState eTaskGetState( TaskHandle_t xTask )
|
eTaskState eTaskGetState( TaskHandle_t xTask )
|
||||||
{
|
{
|
||||||
|
|
|
@ -166,7 +166,7 @@ static void prvCheckForValidListAndQueue( void ) PRIVILEGED_FUNCTION;
|
||||||
* task. Other tasks communicate with the timer service task using the
|
* task. Other tasks communicate with the timer service task using the
|
||||||
* xTimerQueue queue.
|
* xTimerQueue queue.
|
||||||
*/
|
*/
|
||||||
static void prvTimerTask( void *pvParameters ) PRIVILEGED_FUNCTION;
|
static portTASK_FUNCTION_PROTO( prvTimerTask, pvParameters ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Called by the timer service task to interpret and process a command it
|
* Called by the timer service task to interpret and process a command it
|
||||||
|
@ -520,7 +520,7 @@ Timer_t * const pxTimer = ( Timer_t * ) listGET_OWNER_OF_HEAD_ENTRY( pxCurrentTi
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static void prvTimerTask( void *pvParameters )
|
static portTASK_FUNCTION( prvTimerTask, pvParameters )
|
||||||
{
|
{
|
||||||
TickType_t xNextExpireTime;
|
TickType_t xNextExpireTime;
|
||||||
BaseType_t xListWasEmpty;
|
BaseType_t xListWasEmpty;
|
||||||
|
|
Loading…
Reference in a new issue