Part Number: AM6442
Other Parts Discussed in Thread: SYSCONFIG
Hi,
I am trying to set up an interrupt handler on AM64x R5F MCU but without success. This is the page I followed: https://software-dl.ti.com/mcu-plus-sdk/esd/AM64X/latest/exports/docs/api_guide_am64x/KERNEL_DPL_HWI_PAGE.html#autotoc_md2217
Suppose I would like to set up an interrupt handler for IEP0 pr1_sync0_out_pend.
First, I set up the "ICSSG1 INTC Internal Signals Mapping" in SysConfig GUI:

Second, I register the interrupt handler by calling RegisterISR() like below:
void my_handler(EnetMod_Handle hMod)
{
uintptr_t iep0Regs = (uintptr_t)hMod->virtAddr;
...
HWREG(iep0Regs + CSL_ICSS_PR1_IEP0_SLV_CMP_STATUS_REG) &= ~0x03U;
}
void RegisterISR(EnetMod_Handle hMod)
{
HwiP_Params hwiParams;
HwiP_Object hwiObj;
HwiP_Params_init(&hwiParams);
hwiParams.args = (void *)hMod;
hwiParams.callback = (HwiP_FxnCallback)my_handler;
hwiParams.eventId = 14;
hwiParams.intNum = 9;
hwiParams.isPulse = 1U; // pulse
hwiParams.priority = 9;
HwiP_construct(&hwiObj, &hwiParams);
}
However, the function my_handler() is not invoked.
Questions:
1. How to set up an interrupt handler on R5F core using AM64x MCU SDK? Is there anything I missed or did incorrectly?
2. It seems to me there is no API for the application to do this type of low level configuration. I need to add this code snippet in TI SDK source code library.
Is there an API that the application can use to set up an ISR (not to modify the code in the TI SDK)? Please recommend a way that fits in TI SDK's architecure.
Thank you for your help!







