Hello, I have been looking for a way how to measure actual execution time of a FreeRTOS task or interrupt service routine (ISR) on Zynq 7000 platform.
My first idea was to use the xTaskGetTickCount function call. The problem which I have found is that in case the ISR is executed the interrupts from the SCU timer (which is a FreeRTOS time base on Zynq 7000) are disabled i.e. the “tick counter” is not refreshed which results in wrong measurement.
Second idea which I had was to read the counter register of SCU timer (it is placed at the address 0xF8F00604) directly via the Xil_In32 function call. I have tried that on a task with 250 millisecond execution period but the results are weird.
My question is whether it is ever possible to use the SCU timer for this purposses and if so whether my way is correct? Respectively can anybody recommend me another way how to do that?