Part Number: EVMK2G
Dear experts,
for my work I am developping a bare metal code on the evaluation board EVMK2G that is loaded in the DSP C66x by means of the on-board debugger TI XDS2xxx.
I downloaded the ti-processor-sdk-rtos-k2g-evm-06.03.00.106-Windows-x86-Install.exe and I installed CCS10.2
Currently, I need to implement a NMI ISR, but my code does not work.
Here below the code I have written.
NRP = &isrNMI; //To write the ISR NMI address within the Nonmaskable Interrupt Return Pointer Register
// INTC initialization
gContext.numEvtEntries = (Uint16)C66X_COREPAC_EVENT_CNT;
gContext.eventhandlerRecord = gEventRecord;
(void)CSL_intcInit(&gContext);
(void)CSL_intcGlobalNmiEnable(); // To enable global NMI
// Next instructions unlock the KICK protecion of MMR
HW_WR_REG32((CSL_BOOT_CFG_REGS + CSL_BOOTCFG_KICK0 ),0x83e70b13);
HW_WR_REG32((CSL_BOOT_CFG_REGS + CSL_BOOTCFG_KICK1 ),0x95a4f1e0);
HW_WR_REG32((CSL_BOOT_CFG_REGS + CSL_BOOTCFG_NMIGR0 ),1); // To write ‘1’ within the NMI generation core 0 register
By means of the on-board debugger TI XDS2xxx I succesfully verified the setting of NMIE bit within the IER. However I can not verify the status of CSL_BOOTCFG_KICK0, CSL_BOOTCFG_KICK1 and CSL_BOOTCFG_NMIGR0 because in according with the TMR, the read operation returns always 0.
However, the ISR NMI is never triggered.
Please, could you tell me what is wrong in my code?
Best regards,
Graziano