mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-04-20 05:21:59 -04:00
Corrected version number.
This commit is contained in:
parent
8b4ef53b69
commit
8243645ac8
|
@ -3,20 +3,20 @@
|
||||||
|
|
||||||
This file is part of the FreeRTOS.org distribution.
|
This file is part of the FreeRTOS.org distribution.
|
||||||
|
|
||||||
FreeRTOS.org is free software; you can redistribute it and/or modify it
|
FreeRTOS.org is free software; you can redistribute it and/or modify it
|
||||||
under the terms of the GNU General Public License (version 2) as published
|
under the terms of the GNU General Public License (version 2) as published
|
||||||
by the Free Software Foundation and modified by the FreeRTOS exception.
|
by the Free Software Foundation and modified by the FreeRTOS exception.
|
||||||
|
|
||||||
FreeRTOS.org is distributed in the hope that it will be useful, but WITHOUT
|
FreeRTOS.org is distributed in the hope that it will be useful, but WITHOUT
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||||
more details.
|
more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License along
|
You should have received a copy of the GNU General Public License along
|
||||||
with FreeRTOS.org; if not, write to the Free Software Foundation, Inc., 59
|
with FreeRTOS.org; if not, write to the Free Software Foundation, Inc., 59
|
||||||
Temple Place, Suite 330, Boston, MA 02111-1307 USA.
|
Temple Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||||
|
|
||||||
A special exception to the GPL is included to allow you to distribute a
|
A special exception to the GPL is included to allow you to distribute a
|
||||||
combined work that includes FreeRTOS.org without being obliged to provide
|
combined work that includes FreeRTOS.org without being obliged to provide
|
||||||
the source code for any proprietary components. See the licensing section
|
the source code for any proprietary components. See the licensing section
|
||||||
of http://www.FreeRTOS.org for full details.
|
of http://www.FreeRTOS.org for full details.
|
||||||
|
@ -69,7 +69,7 @@ extern "C" {
|
||||||
* MACROS AND DEFINITIONS
|
* MACROS AND DEFINITIONS
|
||||||
*----------------------------------------------------------*/
|
*----------------------------------------------------------*/
|
||||||
|
|
||||||
#define tskKERNEL_VERSION_NUMBER "V5.1.0"
|
#define tskKERNEL_VERSION_NUMBER "V5.2.0"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
|
@ -219,13 +219,13 @@ typedef struct xTIME_OUT
|
||||||
{
|
{
|
||||||
static unsigned char ucParameterToPass;
|
static unsigned char ucParameterToPass;
|
||||||
xTaskHandle xHandle;
|
xTaskHandle xHandle;
|
||||||
|
|
||||||
// Create the task, storing the handle. Note that the passed parameter ucParameterToPass
|
// Create the task, storing the handle. Note that the passed parameter ucParameterToPass
|
||||||
// must exist for the lifetime of the task, so in this case is declared static. If it was just an
|
// must exist for the lifetime of the task, so in this case is declared static. If it was just an
|
||||||
// an automatic stack variable it might no longer exist, or at least have been corrupted, by the time
|
// an automatic stack variable it might no longer exist, or at least have been corrupted, by the time
|
||||||
// the new time attempts to access it.
|
// the new time attempts to access it.
|
||||||
xTaskCreate( vTaskCode, "NAME", STACK_SIZE, &ucParameterToPass, tskIDLE_PRIORITY, &xHandle );
|
xTaskCreate( vTaskCode, "NAME", STACK_SIZE, &ucParameterToPass, tskIDLE_PRIORITY, &xHandle );
|
||||||
|
|
||||||
// Use the handle to delete the task.
|
// Use the handle to delete the task.
|
||||||
vTaskDelete( xHandle );
|
vTaskDelete( xHandle );
|
||||||
}
|
}
|
||||||
|
@ -263,10 +263,10 @@ signed portBASE_TYPE xTaskCreate( pdTASK_CODE pvTaskCode, const signed portCHAR
|
||||||
void vOtherFunction( void )
|
void vOtherFunction( void )
|
||||||
{
|
{
|
||||||
xTaskHandle xHandle;
|
xTaskHandle xHandle;
|
||||||
|
|
||||||
// Create the task, storing the handle.
|
// Create the task, storing the handle.
|
||||||
xTaskCreate( vTaskCode, "NAME", STACK_SIZE, NULL, tskIDLE_PRIORITY, &xHandle );
|
xTaskCreate( vTaskCode, "NAME", STACK_SIZE, NULL, tskIDLE_PRIORITY, &xHandle );
|
||||||
|
|
||||||
// Use the handle to delete the task.
|
// Use the handle to delete the task.
|
||||||
vTaskDelete( xHandle );
|
vTaskDelete( xHandle );
|
||||||
}
|
}
|
||||||
|
@ -295,15 +295,15 @@ void vTaskDelete( xTaskHandle pxTask );
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* vTaskDelay() specifies a time at which the task wishes to unblock relative to
|
* vTaskDelay() specifies a time at which the task wishes to unblock relative to
|
||||||
* the time at which vTaskDelay() is called. For example, specifying a block
|
* the time at which vTaskDelay() is called. For example, specifying a block
|
||||||
* period of 100 ticks will cause the task to unblock 100 ticks after
|
* period of 100 ticks will cause the task to unblock 100 ticks after
|
||||||
* vTaskDelay() is called. vTaskDelay() does not therefore provide a good method
|
* vTaskDelay() is called. vTaskDelay() does not therefore provide a good method
|
||||||
* of controlling the frequency of a cyclical task as the path taken through the
|
* of controlling the frequency of a cyclical task as the path taken through the
|
||||||
* code, as well as other task and interrupt activity, will effect the frequency
|
* code, as well as other task and interrupt activity, will effect the frequency
|
||||||
* at which vTaskDelay() gets called and therefore the time at which the task
|
* at which vTaskDelay() gets called and therefore the time at which the task
|
||||||
* next executes. See vTaskDelayUntil() for an alternative API function designed
|
* next executes. See vTaskDelayUntil() for an alternative API function designed
|
||||||
* to facilitate fixed frequency execution. It does this by specifying an
|
* to facilitate fixed frequency execution. It does this by specifying an
|
||||||
* absolute time (rather than a relative time) at which the calling task should
|
* absolute time (rather than a relative time) at which the calling task should
|
||||||
* unblock.
|
* unblock.
|
||||||
*
|
*
|
||||||
* @param xTicksToDelay The amount of time, in tick periods, that
|
* @param xTicksToDelay The amount of time, in tick periods, that
|
||||||
|
@ -409,10 +409,10 @@ void vTaskDelayUntil( portTickType * const pxPreviousWakeTime, portTickType xTim
|
||||||
void vAFunction( void )
|
void vAFunction( void )
|
||||||
{
|
{
|
||||||
xTaskHandle xHandle;
|
xTaskHandle xHandle;
|
||||||
|
|
||||||
// Create a task, storing the handle.
|
// Create a task, storing the handle.
|
||||||
xTaskCreate( vTaskCode, "NAME", STACK_SIZE, NULL, tskIDLE_PRIORITY, &xHandle );
|
xTaskCreate( vTaskCode, "NAME", STACK_SIZE, NULL, tskIDLE_PRIORITY, &xHandle );
|
||||||
|
|
||||||
// ...
|
// ...
|
||||||
|
|
||||||
// Use the handle to obtain the priority of the created task.
|
// Use the handle to obtain the priority of the created task.
|
||||||
|
@ -459,7 +459,7 @@ unsigned portBASE_TYPE uxTaskPriorityGet( xTaskHandle pxTask );
|
||||||
void vAFunction( void )
|
void vAFunction( void )
|
||||||
{
|
{
|
||||||
xTaskHandle xHandle;
|
xTaskHandle xHandle;
|
||||||
|
|
||||||
// Create a task, storing the handle.
|
// Create a task, storing the handle.
|
||||||
xTaskCreate( vTaskCode, "NAME", STACK_SIZE, NULL, tskIDLE_PRIORITY, &xHandle );
|
xTaskCreate( vTaskCode, "NAME", STACK_SIZE, NULL, tskIDLE_PRIORITY, &xHandle );
|
||||||
|
|
||||||
|
@ -501,22 +501,22 @@ void vTaskPrioritySet( xTaskHandle pxTask, unsigned portBASE_TYPE uxNewPriority
|
||||||
void vAFunction( void )
|
void vAFunction( void )
|
||||||
{
|
{
|
||||||
xTaskHandle xHandle;
|
xTaskHandle xHandle;
|
||||||
|
|
||||||
// Create a task, storing the handle.
|
// Create a task, storing the handle.
|
||||||
xTaskCreate( vTaskCode, "NAME", STACK_SIZE, NULL, tskIDLE_PRIORITY, &xHandle );
|
xTaskCreate( vTaskCode, "NAME", STACK_SIZE, NULL, tskIDLE_PRIORITY, &xHandle );
|
||||||
|
|
||||||
// ...
|
// ...
|
||||||
|
|
||||||
// Use the handle to suspend the created task.
|
// Use the handle to suspend the created task.
|
||||||
vTaskSuspend( xHandle );
|
vTaskSuspend( xHandle );
|
||||||
|
|
||||||
// ...
|
// ...
|
||||||
|
|
||||||
// The created task will not run during this period, unless
|
// The created task will not run during this period, unless
|
||||||
// another task calls vTaskResume( xHandle ).
|
// another task calls vTaskResume( xHandle ).
|
||||||
|
|
||||||
//...
|
//...
|
||||||
|
|
||||||
|
|
||||||
// Suspend ourselves.
|
// Suspend ourselves.
|
||||||
vTaskSuspend( NULL );
|
vTaskSuspend( NULL );
|
||||||
|
@ -550,22 +550,22 @@ void vTaskSuspend( xTaskHandle pxTaskToSuspend );
|
||||||
void vAFunction( void )
|
void vAFunction( void )
|
||||||
{
|
{
|
||||||
xTaskHandle xHandle;
|
xTaskHandle xHandle;
|
||||||
|
|
||||||
// Create a task, storing the handle.
|
// Create a task, storing the handle.
|
||||||
xTaskCreate( vTaskCode, "NAME", STACK_SIZE, NULL, tskIDLE_PRIORITY, &xHandle );
|
xTaskCreate( vTaskCode, "NAME", STACK_SIZE, NULL, tskIDLE_PRIORITY, &xHandle );
|
||||||
|
|
||||||
// ...
|
// ...
|
||||||
|
|
||||||
// Use the handle to suspend the created task.
|
// Use the handle to suspend the created task.
|
||||||
vTaskSuspend( xHandle );
|
vTaskSuspend( xHandle );
|
||||||
|
|
||||||
// ...
|
// ...
|
||||||
|
|
||||||
// The created task will not run during this period, unless
|
// The created task will not run during this period, unless
|
||||||
// another task calls vTaskResume( xHandle ).
|
// another task calls vTaskResume( xHandle ).
|
||||||
|
|
||||||
//...
|
//...
|
||||||
|
|
||||||
|
|
||||||
// Resume the suspended task ourselves.
|
// Resume the suspended task ourselves.
|
||||||
vTaskResume( xHandle );
|
vTaskResume( xHandle );
|
||||||
|
@ -583,7 +583,7 @@ void vTaskResume( xTaskHandle pxTaskToResume );
|
||||||
* task. h
|
* task. h
|
||||||
* <pre>void xTaskResumeFromISR( xTaskHandle pxTaskToResume );</pre>
|
* <pre>void xTaskResumeFromISR( xTaskHandle pxTaskToResume );</pre>
|
||||||
*
|
*
|
||||||
* INCLUDE_xTaskResumeFromISR must be defined as 1 for this function to be
|
* INCLUDE_xTaskResumeFromISR must be defined as 1 for this function to be
|
||||||
* available. See the configuration section for more information.
|
* available. See the configuration section for more information.
|
||||||
*
|
*
|
||||||
* An implementation of vTaskResume() that can be called from within an ISR.
|
* An implementation of vTaskResume() that can be called from within an ISR.
|
||||||
|
@ -701,8 +701,8 @@ void vTaskEndScheduler( void );
|
||||||
* without risk of being swapped out until a call to xTaskResumeAll () has been
|
* without risk of being swapped out until a call to xTaskResumeAll () has been
|
||||||
* made.
|
* made.
|
||||||
*
|
*
|
||||||
* API functions that have the potential to cause a context switch (for example,
|
* API functions that have the potential to cause a context switch (for example,
|
||||||
* vTaskDelayUntil(), xQueueSend(), etc.) must not be called while the scheduler
|
* vTaskDelayUntil(), xQueueSend(), etc.) must not be called while the scheduler
|
||||||
* is suspended.
|
* is suspended.
|
||||||
*
|
*
|
||||||
* Example usage:
|
* Example usage:
|
||||||
|
@ -837,7 +837,7 @@ unsigned portBASE_TYPE uxTaskGetNumberOfTasks( void );
|
||||||
* task. h
|
* task. h
|
||||||
* <PRE>void vTaskList( portCHAR *pcWriteBuffer );</PRE>
|
* <PRE>void vTaskList( portCHAR *pcWriteBuffer );</PRE>
|
||||||
*
|
*
|
||||||
* configUSE_TRACE_FACILITY must be defined as 1 for this function to be
|
* configUSE_TRACE_FACILITY must be defined as 1 for this function to be
|
||||||
* available. See the configuration section for more information.
|
* available. See the configuration section for more information.
|
||||||
*
|
*
|
||||||
* NOTE: This function will disable interrupts for its duration. It is
|
* NOTE: This function will disable interrupts for its duration. It is
|
||||||
|
@ -865,12 +865,10 @@ void vTaskList( signed portCHAR *pcWriteBuffer );
|
||||||
*
|
*
|
||||||
* configGENERATE_RUN_TIME_STATS must be defined as 1 for this function
|
* configGENERATE_RUN_TIME_STATS must be defined as 1 for this function
|
||||||
* to be available. The application must also then provide definitions
|
* to be available. The application must also then provide definitions
|
||||||
* for portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() and
|
* for portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() and
|
||||||
* portGET_RUN_TIME_COUNTER_VALUE to configure a peripheral timer/counter
|
* portGET_RUN_TIME_COUNTER_VALUE to configure a peripheral timer/counter
|
||||||
* and return the timers current count value respectively. A 1uS timer
|
* and return the timers current count value respectively. The counter
|
||||||
* frequency is recommended for a 32bit peripheral counter - this will
|
* should be at least 10 times the frequency of the tick count.
|
||||||
* allow the statistics to be gathered over the first (approximately) 70
|
|
||||||
* minutes of execution.
|
|
||||||
*
|
*
|
||||||
* NOTE: This function will disable interrupts for its duration. It is
|
* NOTE: This function will disable interrupts for its duration. It is
|
||||||
* not intended for normal application runtime use but as a debug aid.
|
* not intended for normal application runtime use but as a debug aid.
|
||||||
|
@ -883,9 +881,9 @@ void vTaskList( signed portCHAR *pcWriteBuffer );
|
||||||
* task into a buffer, both as an absolute count value and as a percentage
|
* task into a buffer, both as an absolute count value and as a percentage
|
||||||
* of the total system execution time.
|
* of the total system execution time.
|
||||||
*
|
*
|
||||||
* @param pcWriteBuffer A buffer into which the execution times will be
|
* @param pcWriteBuffer A buffer into which the execution times will be
|
||||||
* written, in ascii form. This buffer is assumed to be large enough to
|
* written, in ascii form. This buffer is assumed to be large enough to
|
||||||
* contain the generated report. Approximately 40 bytes per task should
|
* contain the generated report. Approximately 40 bytes per task should
|
||||||
* be sufficient.
|
* be sufficient.
|
||||||
*
|
*
|
||||||
* \page vTaskGetRunTimeStats vTaskGetRunTimeStats
|
* \page vTaskGetRunTimeStats vTaskGetRunTimeStats
|
||||||
|
|
Loading…
Reference in a new issue