Other Parts Discussed in Thread: SYSBIOS, SEGGER
Tool/software: TI-RTOS
Hi,
I wanted to test zero latency interrupts by modifying the uartecho_DK_TM4C129X_TI_TivaTM4C129XNCZAD example project but I it keeps crashing as soon as I enable the zero latency functionality for the UART0 interrupt.
I modified the two following things to enable zero latency for the UART0 interrupt:
in DK_TM4C129X.c I set UART0 int priority to 2 << 5
const UARTTiva_HWAttrs uartTivaHWAttrs[DK_TM4C129X_UARTCOUNT] = { { .baseAddr = UART0_BASE, .intNum = INT_UART0, .intPriority = 2 << 5, .flowControl = UART_FLOWCONTROL_NONE, .ringBufPtr = uartTivaRingBuffer[0], .ringBufSize = sizeof(uartTivaRingBuffer[0]) } };
In uartecho.cfg I added:
m3Hwi.disablePriority = 96;
As soon as I applied those changes the program started crashing with the following output in CCS console:
This example does not attempt to minimize code or data footprint
Starting the UART Echo example
System provider is set to SysMin. Halt the target to view any SysMin contents in ROV.
FSR = 0x0000
HFSR = 0x40000000
DFSR = 0x0000000b
MMAR = 0x140f0530
BFAR = 0x140f0530
AFSR = 0x00000000
Terminating execution...
If I disable zero latency for UART0 int by changing its priority to 3 << 5 OR by changing m3Hwi.disablePriority to 64 everything works fine again.
What am I missing? Is there anything else that needs to be enabled/configured in order to use zero latency interrupts?
Below I attached the example project with my modifications.
Thank you,
Peter A.