Other Parts Discussed in Thread: SYSBIOS
Hello,
I am using the 66AK2G12 and my DSP interrupt service routine, PRUICSS_hwiIntHandler(), occasionally, is delayed to get serviced, e.g. ~25us after its interrupt signal occurs.
My configuration:
Tool/software: TI-RTOS
bios_6_46_05_55
processor_sdk_rtos_k2g_4_01_00_06
pdk_k2g_1_0_7
Code Composer Studio Version: 7.2.0.00013
System Analyzer (UIA 2.0.6.52)
38497784526 0 C66xx LM_begin: hwi: 0x8c2980, func: 0x86d16e, preThread: 2, intNum: 15, irp: 0x866d04 Start HWI PRUICSS_hwiIntHandler() 7477 SYSBIOS System Logger _ti.uia.events.UIAHWICtx ti.sysbios.family.c64p.Hwi 23098670716 9185664 8835438 2 15 8809732 0 0 0
...
38498315195 0 C66xx LM_begin: hwi: 0x8b0df8, func: 0x887700, preThread: 2, intNum: 14, irp: 0x867880 Start HWI ti_sysbios_knl_Clock_doTick__I() 7500 SYSBIOS System Logger _ti.uia.events.UIAHWICtx ti.sysbios.family.c64p.Hwi 23098989117 9113080 8943360 2 14 8812672 0 0 0
...
38498436541 0 C66xx LM_begin: hwi: 0x8b0df8, func: 0x887700, preThread: 2, intNum: 14, irp: 0x85f928 Start HWI ti_sysbios_knl_Clock_doTick__I() 7503 SYSBIOS System Logger _ti.uia.events.UIAHWICtx ti.sysbios.family.c64p.Hwi 23099061925 9113080 8943360 2 14 8780072 0 0 0
38498436941 0 C66xx LM_begin: hwi: 0x8c2980, func: 0x86d16e, preThread: 0, intNum: 15, irp: 0x87b716 Start HWI PRUICSS_hwiIntHandler() 7504 SYSBIOS System Logger _ti.uia.events.UIAHWICtx ti.sysbios.family.c64p.Hwi 23099062165 9185664 8835438 0 15 8894230 0 0 0
I asserted DSP here
1 38500286066 0 C66xx ERROR: [../src_pruss/pruicss_main.c:216] assertion failure<String @8ba4c4><String @8ba4c4> Log_L_error Info 0 ti.uia.loggers.LoggerStopMode.Instance#0 xdc.runtime.Log xdc.runtime.Main 23100171640 9159402 216 9121776 9151684 9151684 0 0 0
The interval between two HWI PRUICSS_hwiIntHandler() should be 614us ~ 635us based on its interrupt signal.
TI BIOS tickPeriod is running at 100us.
When PRUICSS_hwiIntHandler() is delayed more than 25us. E.g. 652us(=38498436941 ns - 38497784526 ns) the ti_sysbios_knl_Clock_doTick__I() is also running late by 21us, e.g. 121us (38498436541 ns - 38498315195 ns))
There are no other higher priority HW running. Why BIOS running both HW interrupts late?