Coding a new project on the AM5728, DSP core, TI-RTOS.
XDCtools: 3.31.2.38
IPC: 3.41.0.08
SYS?BIOS: 6.45.0.19
am57xxPDK: 1.0.1
I am adding code to support interrupts from GPIO. When I run the GPIO_LedBlink_evmAM572x_C66xExampleProject it works as I expect. I added an interrupt driven input from the front panel button.
When I add the same exact functionality to my real project, which includes MessageQ to talk to an ARM processor it no longer works. I am not getting the interrupt from the button as I expect.
I have narrowed down the problem to the call to ti_sdo_ipc_family_vayu_NotifySetup_Module_startup__E(). When this function is called the CTRL_CORE_DSP1_IRQ_56_57 register (located at 0x4A002978) is being written to. The default value for this register is 0x001A0019 which is what the GPIO interrupt needs to work, but it is being written with 0x00F90125 by the NotifySetup function. If I manually change the register back to 0x001A0019 then my GPIO interrupt works as desired.
So, I guess my question is why is NotifySetup overwriting the GPIO interrupt xbar setting and what can I do to fix it?