FreeRTOS提供了一个灵活的机制,使得应用程序可以使用线程本地存储指针来读写线程本地存储。在文件FreeRTOSConfig.h中,宏configNUM_THREAD_LOCAL_STORAGE_POINTERS指定每个任务线程本地存储指针数组的大小。API函数vTaskSetThreadLocalStoragePointer()用于向指针数组中写入值,API函数pvTaskGetThreadLocalStoragePointer()用于从...
pvTaskGetThreadLocalStoragePointer() :获取线程本地存储指针 /***相关宏的配置***/ #define configNUM_THREAD_LOCAL_STORAGE_POINTERS 本地存储指针数组的大小 /***函数原型***/ 函数原型:void *pvTaskGetThreadLocalStoragePointer(TaskHandle_t xTaskToQuery, BaseType_t xIndex ) 传 入 值:xTaskToQuery...
也引入了TLSP(Thread Local Storage Pointers线程本地存储指针)机制,当任务删除时删除回调函数会被自动执行,这个函数用于释放被TLSP指向的内存区域 TLSP是指向TCB存储区的指针,它可以让每个任务都有自己独立的一套数据结构指针系统;SMP RTOS也提供了通过删除回调函数和TLSP执行的任务删除机制:当任务删除函数被调用,任务...
#define configNUM_THREAD_LOCAL_STORAGE_POINTERS 本地存储指针数组的大小 /***函数原型***/ 函数原型:void *pvTaskGetThreadLocalStoragePointer(TaskHandle_t xTaskToQuery, BaseType_t xIndex ) 传入值:xTaskToQuery 要获取线程本地存储指针的任务的任务句柄 xIndex 要获取的线程本地存储指针数组的索引 1. ...
*pvThreadLocalStoragePointers[ configNUM_THREAD_LOCAL_STORAGE_POINTERS ]; #endif #if( configGENERATE_RUN_TIME_STATS == 1 ) uint32_t ulRunTimeCounter; //用来记录任务运行总时间 #endif #if ( configUSE_NEWLIB_REENTRANT == 1 ) struct _reent xNewLib_reent; //定义一个newlib结构体变量#endif ...
*/#define configQUEUE_REGISTRY_SIZE10#define configUSE_QUEUE_SETS0#define configUSE_TIME_SLICING0#define configUSE_NEWLIB_REENTRANT0#define configENABLE_BACKWARD_COMPATIBILITY0#define configNUM_THREAD_LOCAL_STORAGE_POINTERS5/*Hook function related definitions. */#define configUSE_IDLE_HOOK0#define conf...
void *pvThreadLocalStoragePointers[configNUM_THREAD_LOCAL_STORAGE_POINTERS ]; #endif #if( configGENERATE_RUN_TIME_STATS == 1 ) uint32_t ulRunTimeCounter; /*记录任务在运行状态下执行的总时间*/ #endif #if ( configUSE_NEWLIB_REENTRANT == 1 ) ...
void*pvThreadLocalStoragePointers[configNUM_THREAD_LOCAL_STORAGE_POINTERS]; Note Newlib support has been included by popular demand, but is not used by the FreeRTOS maintainers themselves. FreeRTOS is not responsible for resulting newlib operation. User must be familiar with...
2.31 configNUM_THREAD_LOCAL_STORAGE_POINTERS 设置每个任务的线程本地存储指针数组大小。 后面会介绍。 2.32 configUSE_MINI_LIST_ITEM MiniListItem_t用于FreeRTOS列表中的开始和结束标记节点,ListItem_t用于FreeRTOS列表中的所有其他节点。当configUSE_MINI_LIST_ITEM设置为0时,minilisttem_t和ListItem_t都是相同的...
20、函数 GetThreadLocalStoragePointer() 此函数用于获取线程本地存储指针的值, 如果要使用此函数的话宏configNUM_THREAD_LOCAL_STORAGE_POINTERS 不能为 0。