folks,
I set GPIO_EVENT as an interrupt (HWI_INT21 in .tcf file) with dispatcher
and encounter 40 micro seconds delay between the interrupt itself to the time the ISR is called.
does anyone know why? is it related to BIOS ?
Talmor
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
folks,
I set GPIO_EVENT as an interrupt (HWI_INT21 in .tcf file) with dispatcher
and encounter 40 micro seconds delay between the interrupt itself to the time the ISR is called.
does anyone know why? is it related to BIOS ?
Talmor
Talmor,
How are you measuring this delay? Do you consistently see the same latency?
Is it possible that interrupts are disabled at the time the interrupt is triggered, so the ISR cannot run immediately?
What is the CPU clock rate?
Scott
Talmor,
OK, thanks.
Are you immediately toggling another GPIO at the start of the ISR, and comparing the two on the scope?
And are you sure there is no interaction with other code or interrupts that may be causing a servicing delay?
Also, is it possibly an issue with the interrupt configuration of the GPIO, for example, rising versus falling edge triggered, so that the interrupt is not being triggered on the leading edge?
What did you do to reduce it from 40usec to 5 usec?
The HWI dispatcher latency is benchmarked with each DSP/BIOS release. See here for instructions on how to access them: http://processors.wiki.ti.com/index.php/Accessing_DSP/BIOS_and_SYS/BIOS_Benchmarks. I don’t know which release you are using, but for DSP/BIOS 5.41.12.40 the “HWI_dispatch: Interrupt prolog for calling C function” latency is133 cycles, which would be 1.1usec.
I see your other thread about not using the dispatcher at all - that will provide a good reference point for investigating this…
Scott