器件型号: TDA4VE-Q1
您好、
我将在 j721s2 C7x 上使用 TI 移植的 FreeRTOS (ti-processor-sdk-rtos-j721s2-evm-11_02_00_06)。 我目前正在检查它的性能。 我制作了一个小的测试文件,可以在一个循环中从 RTOS 任务中运行一个代码示例,也可以简单地从 main() 函数中的粗软件计时器中运行(完全没有操作系统)
在示例代码中 、#define NO_OS_TEST define 用于切换模式。
C71_1_MAIN_TEST.c
在没有操作系统的情况下、从 main() 函数运行测试代码大约 820 个周期。 在几小时的测试过程中、测试代码记录的最高周期计数为 869、在典型时间内大约为 50 个周期。
使用 FreeRTOS 任务时、示例代码将以 820 个周期运行、但经常出现延迟的直通、周期计数最终在 1800 到 2000 以上的任何范围内。
问题只是什么原因导致了这种情况、为什么? 可以避免吗? 我想使用 FreeRTOS 任务来进行高优先级、时间敏感型计算(优先级为 configMAX_PRIORITY - 1)、但似乎经常被其他任务超越。
谢谢、
马特