Part Number: TDA4VE-Q1
Hi,
I'm using the TI ported FreeRTOS (ti-processor-sdk-rtos-j721s2-evm-11_02_00_06) on a j721s2 C7x. I'm currently examining its performance. I've made a small test file that can run a code sample in a loop from within a RTOS task, or simply from a crude software timer in the main() function (with no OS at all)
In the sample code the #define NO_OS_TEST define is used to switch modes.
.c71_1_main_test.c
From the main() function without an OS the test code runs in about 820 cycles. Over the course of a several hours test the highest cycle count recorded for the test code is 869, roughly 50 cycles over the typical time.
Using the FreeRTOS task, the sample code will run in 820 cycles, but there are frequent run-throughs that get delayed and the cycle count ends up in a range of anywhere from 1800 to more than 2000.
Question is simply what is causing this and why? Can it be avoided? I want to use a FreeRTOS task for high priority, time sensitive calculations (priority is configMAX_PRIORITIES - 1) but it seems as if this task is getting supeceded by something else quite often.
Thanks,
Matt