mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-12-16 00:25:07 -05:00
Update task pool so tasks and timer are allocated statically.
This commit is contained in:
parent
1840d38abf
commit
7af8756c97
17 changed files with 102 additions and 1465 deletions
|
|
@ -255,7 +255,6 @@ typedef struct _taskPool
|
|||
int32_t priority; /**< @brief The priority for all task pool threads. */
|
||||
SemaphoreHandle_t dispatchSignal; /**< @brief The synchronization object on which threads are waiting for incoming jobs. */
|
||||
StaticSemaphore_t dispatchSignalBuffer; /**< @brief The semaphore buffer. */
|
||||
SemaphoreHandle_t startStopSignal; /**< @brief The synchronization object for threads to signal start and stop condition. */
|
||||
StaticSemaphore_t startStopSignalBuffer; /**< @brief The semaphore buffer. */
|
||||
TimerHandle_t timer; /**< @brief The timer for deferred jobs. */
|
||||
StaticTimer_t timerBuffer; /**< @brief The timer buffer. */
|
||||
|
|
|
|||
|
|
@ -235,12 +235,12 @@ typedef struct IotTaskPoolJobStorage
|
|||
/**
|
||||
* @ingroup taskpool_datatypes_handles
|
||||
* @brief Opaque handle of a Task Pool Job.
|
||||
*
|
||||
*
|
||||
* This type identifies a Task Pool Job instance, which is valid after a successful call
|
||||
* to @ref taskpool_function_createjob or @ref taskpool_function_createrecyclablejob.
|
||||
*
|
||||
* A call to @ref taskpool_function_recyclejob or @ref taskpool_function_destroyrecyclablejob makes a
|
||||
* task pool job handle invalid. Once @ref taskpool_function_recyclejob or
|
||||
* A call to @ref taskpool_function_recyclejob or @ref taskpool_function_destroyrecyclablejob makes a
|
||||
* task pool job handle invalid. Once @ref taskpool_function_recyclejob or
|
||||
* @ref taskpool_function_destroyrecyclablejob returns, the task job handle should no longer be used.
|
||||
*
|
||||
* @initializer{IotTaskPoolJob_t,IOT_TASKPOOL_JOB_INITIALIZER}
|
||||
|
|
@ -325,21 +325,21 @@ typedef struct IotTaskPoolInfo
|
|||
*/
|
||||
/* @[define_taskpool_initializers] */
|
||||
/** @brief Initializer for a small #IotTaskPoolInfo_t. */
|
||||
#define IOT_TASKPOOL_INFO_INITIALIZER_SMALL { .minThreads = 1, .maxThreads = 1, .stackSize = IOT_THREAD_DEFAULT_STACK_SIZE, .priority = IOT_THREAD_DEFAULT_PRIORITY }
|
||||
#define IOT_TASKPOOL_INFO_INITIALIZER_SMALL { .minThreads = 1, .maxThreads = 1, .stackSize = IOT_THREAD_DEFAULT_STACK_SIZE, .priority = IOT_THREAD_DEFAULT_PRIORITY }
|
||||
/** @brief Initializer for a medium #IotTaskPoolInfo_t. */
|
||||
#define IOT_TASKPOOL_INFO_INITIALIZER_MEDIUM { .minThreads = 1, .maxThreads = 2, .stackSize = IOT_THREAD_DEFAULT_STACK_SIZE, .priority = IOT_THREAD_DEFAULT_PRIORITY }
|
||||
#define IOT_TASKPOOL_INFO_INITIALIZER_MEDIUM { .minThreads = 1, .maxThreads = 2, .stackSize = IOT_THREAD_DEFAULT_STACK_SIZE, .priority = IOT_THREAD_DEFAULT_PRIORITY }
|
||||
/** @brief Initializer for a large #IotTaskPoolInfo_t. */
|
||||
#define IOT_TASKPOOL_INFO_INITIALIZER_LARGE { .minThreads = 2, .maxThreads = 3, .stackSize = IOT_THREAD_DEFAULT_STACK_SIZE, .priority = IOT_THREAD_DEFAULT_PRIORITY }
|
||||
#define IOT_TASKPOOL_INFO_INITIALIZER_LARGE { .minThreads = 2, .maxThreads = 3, .stackSize = IOT_THREAD_DEFAULT_STACK_SIZE, .priority = IOT_THREAD_DEFAULT_PRIORITY }
|
||||
/** @brief Initializer for a very large #IotTaskPoolInfo_t. */
|
||||
#define IOT_TASKPOOL_INFO_INITIALIZER_XLARGE { .minThreads = 2, .maxThreads = 4, .stackSize = IOT_THREAD_DEFAULT_STACK_SIZE, .priority = IOT_THREAD_DEFAULT_PRIORITY }
|
||||
#define IOT_TASKPOOL_INFO_INITIALIZER_XLARGE { .minThreads = 2, .maxThreads = 4, .stackSize = IOT_THREAD_DEFAULT_STACK_SIZE, .priority = IOT_THREAD_DEFAULT_PRIORITY }
|
||||
/** @brief Initializer for a typical #IotTaskPoolInfo_t. */
|
||||
#define IOT_TASKPOOL_INFO_INITIALIZER IOT_TASKPOOL_INFO_INITIALIZER_MEDIUM
|
||||
/** @brief Initializer for a #IotTaskPool_t. */
|
||||
#define IOT_TASKPOOL_INITIALIZER NULL
|
||||
#define IOT_TASKPOOL_INITIALIZER NULL
|
||||
/** @brief Initializer for a #IotTaskPoolJobStorage_t. */
|
||||
#define IOT_TASKPOOL_JOB_STORAGE_INITIALIZER { { NULL, NULL }, NULL, NULL, 0, IOT_TASKPOOL_STATUS_UNDEFINED }
|
||||
#define IOT_TASKPOOL_JOB_STORAGE_INITIALIZER { { NULL, NULL }, NULL, NULL, 0, IOT_TASKPOOL_STATUS_UNDEFINED }
|
||||
/** @brief Initializer for a #IotTaskPoolJob_t. */
|
||||
#define IOT_TASKPOOL_JOB_INITIALIZER NULL
|
||||
#define IOT_TASKPOOL_JOB_INITIALIZER NULL
|
||||
/* @[define_taskpool_initializers] */
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue