pcTaskGetNametask.h
从任务的句柄中查找任务的名称。
xTaskGetHandletask.hTaskHandle_t xTaskGetHandle( const char *pcNameToQuery ); 从任务的名称中查找任务的句柄。 注意: 此函数需要较长的时间才能完成,并且只能 为每个任务调用一次。 一旦获得了一个任务的句柄, 它就可以被储存在本地以便重新使用。 必须在 FreeRTOSConfig.h 中将 INCLUDE_xTaskGetHandle 设置为 1,xTaskGetHandle() 才可用。
xTaskGetTickCounttask.hvolatile TickType_t xTaskGetTickCount( void ); 无法从 ISR 调用此函数。 使用 xTaskGetTickCountFromISR() 。
xTaskGetTickCountFromISRtask.hvolatile TickType_t xTaskGetTickCountFromISR( void ); xTaskGetTickCount() 的一个版本,可以从 ISR 中调用。
xTaskGetSchedulerStatetask.h
uxTaskGetNumberOfTaskstask.h
vTaskListtask.hvoid vTaskList( char *pcWriteBuffer ); configUSE_TRACE_FACILITY 和 configUSE_STATS_FORMATTING_FUNCTIONS 必须 在 FreeRTOSConfig.h 中定位为 1 ,才可使用此函数。 请参阅配置章节了解更多信息。 注意:此函数将在其持续时间内禁用中断。它不是作为 一种正常的应用程序运行时的工具,而是作为调试辅助工具。 vTaskList() 调用 uxTaskGetSystemState(), 然后 将 uxTaskGetSystemState() 生成的原始数据格式化为人类可读的 (ASCII) 表格, 显示每个任务的状态,包括任务的堆栈高水位线(高水位线数字越小, 任务越接近于溢出其堆栈)。 点击此处查看生成的输出示例。 在 ASCII 表中,以下字母用于表示任务的状态:
vTaskList() 是一个仅为方便起见而提供的实用程序函数。 它不是 不是内核的一部分。 请参阅 vTaskGetRunTimeStats() 以了解生成类似的运行时任务利用信息表 的实用函数。
vTaskStartTracetask.h
[该函数与旧版跟踪工具有关-在 FreeRTOSV7.1.0 中被删除-用户可能会发现较新的 Trace Hook 宏更容易使用,功能也更强大。] 启动 RTOS 内核活动跟踪。跟踪记录何时运行任务的标识。 跟踪文件以二进制格式存储。使用名为 convtrce.exe 的单独 DOS 实用程序将其转换为一个带制表符的文本文件-可以在电子表格中查看和绘制。
ulTaskEndTracetask.h
[该函数与旧版跟踪工具有关-在 FreeRTOSV7.1.0 中被删除-用户可能会发现较新的 Trace Hook 宏更容易使用,功能也更强大。] 停止 RTOS 内核活动跟踪。请参阅 vTaskStartTrace()。
vTaskGetRunTimeStatstask.hvoid vTaskGetRunTimeStats( char *pcWriteBuffer ); 有关此功能的完整说明,请参阅 运行时间统计 页面。 configGENERATE_RUN_TIME_STATS、configUSE_STATS_FORMATTING_FUNCTIONS 和 configSUPPORT_DYNAMIC_ALLOCATION 必须全部定义为 1,该函数才可用。该应用程序 还必须提供 portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() 和 portGET_RUN_TIME_COUNTER_VALUE 的定义, 以便分别配置外设定时器/计数器和返回定时器的当前计数值。计数器的频率应该至少是滴答计数的 10 倍。 注意:此函数将在其持续时间内禁用中断。 它不是作为正常的应用程序运行时的工具,而是作为调试辅助工具。 vTaskGetRunTimeStats() 调用 uxTaskGetSystemState(),然后将 uxTaskGetSystemState() 生成的原始数据格式化为 人类可读的 (ASCII) 表格,显示每个任务在运行状态下花费的时间(每个任务消耗了多少 CPU 时间)。 数据以 绝对值和百分比值的形式提供。 绝对值的分辨率取决于应用程序提供的运行时间统计时钟的频率。 vTaskGetRunTimeStats() 是一个仅为方便起见而提供的实用程序函数。 它不是内核的一部分。 请参阅 vTaskList() 了解生成每个任务状态信息的实用函数。
vTaskGetIdleRunTimeCountertask.hTickType_t xTaskGetIdleRunTimeCounter( void ); configGENERATE_RUN_TIME_STATS 和 INCLUDE_xTaskGetIdleTaskHandle 必须都定义为 1,该函数才可用。 然后, 该应用程序还必须提供 portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() 和 portGET_RUN_TIME_COUNTER_VALUE 的定义, 以分别配置外设的定时器/计数器和返回定时器的当前计数值。 建议确保定时器的频率至少是滴答计数的 10 倍。
ulTaskGetRunTimeCountertask.hconfigRUN_TIME_COUNTER_TYPE ulTaskGetRunTimeCounter( const TaskHandle_t xTask ); configUSE_APPLICATION_TASK_TAG 必须定义为 1,这些函数才可用。该应用程序还必须提供 portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() 和 portGET_RUN_TIME_COUNTER_VALUE () 的定义,以分别配置外设的定时器/计数器和返回定时器的当前计数值。计数器的频率应该至少是滴答计数的 10 倍 。 将 configGENERATE_RUN_TIME_STATS 设置为 1 将导致为每个任务存储总累计执行时间。ulTaskGetRunTimeCounter() 返回给定任务的总执行时间。
ulTaskGetRunTimePercenttask.hconfigRUN_TIME_COUNTER_TYPE ulTaskGetRunTimePercent( const TaskHandle_t xTask ); configUSE_APPLICATION_TASK_TAG 必须定义为 1,这些函数才可用。该应用程序还必须提供 portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() 和 portGET_RUN_TIME_COUNTER_VALUE () 的定义,以分别配置外设的定时器/计数器和返回定时器的当前计数值。计数器的频率应该至少是滴答计数的 10 倍 。 将 configGENERATE_RUN_TIME_STATS 设置为 1 将导致为每个任务存储总累计执行时间。ulTaskGetRunTimePercent() 返回给定任务所用 CPU 时间的百分比。
ulTaskGetIdleRunTimeCountertask.hconfigRUN_TIME_COUNTER_TYPE ulTaskGetIdleRunTimeCounter( void ); configUSE_APPLICATION_TASK_TAG 必须定义为 1,这些函数才可用。该应用程序还必须提供 portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() 和 portGET_RUN_TIME_COUNTER_VALUE () 的定义,以分别配置外设的定时器/计数器和返回定时器的当前计数值。计数器的频率应该至少是滴答计数的 10 倍 。 将 configGENERATE_RUN_TIME_STATS 设置为 1 将导致为每个任务存储总累计执行时间。ulTaskGetRunTimeCounter() 返回空闲任务的总执行时间。 请注意,只有在没有其他任务以空闲优先级执行、不使用无滴答空闲并且将 configIDLE_SHOULD_YIELD 设置为 0 的情况下, 空闲时间才能很好地反映系统中的闲置时间。
ulTaskGetIdleRunTimePercenttask.hconfigRUN_TIME_COUNTER_TYPE ulTaskGetIdleRunTimePercent( void ); configUSE_APPLICATION_TASK_TAG 必须定义为 1,这些函数才可用。该应用程序还必须提供 portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() 和 portGET_RUN_TIME_COUNTER_VALUE () 的定义,以分别配置外设的定时器/计数器和返回定时器的当前计数值。计数器的频率应该至少是滴答计数的 10 倍 。 将 configGENERATE_RUN_TIME_STATS 设置为 1 将导致为每个任务存储总累计执行时间。ulTaskGetIdleRunTimePercent() 返回空闲任务所用 CPU 时间的百分比。 请注意,只有在没有其他任务以空闲优先级执行、不使用无滴答空闲并且将 configIDLE_SHOULD_YIELD 设置为 0 的情况下, 空闲时间才能很好地反映系统中的闲置时间。
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.
|