I'm modifying a fairly mature DSP project which uses the SPI port (1) to communicate with another device, where the DSP is the master. The current implementation polls the SPI peripheral for TX buffer empty, and RX buffer full, but I'd like to modify it to be interrupt driven. I have read, and followed the information in sprufm4i.pdf for setting up the SPI interrupts. I can verify the interrupts occuring properly in the SPIFLG, and the INTVEC1 registers. According to this document the SPI peripheral should generate SPINT1 (interrupt). (Figure 1). The system currently has several other interrupts mapped to the Interrupt Controller, for EVT1, including the HPI, and a GPIO interrupt which all seem to work properly. In spruh77.pdf, Table 3-1, it lists SPI1_INT as event 43, one of the events that triggers the EVT1 interrupt as well. I unmasked event 43 (I tried unmasking all the events except the timer), but it still won't hit my breakpoint in the Interrupt Service Routine. (Breakpoint hit for HPI interrupt, and GPIO interrupt, so interrupts are enabled, not masked). Is the SPINT1 signal described in sprufm4i.pdf the same signal as event 43 described in the Megamodule in spruh77.pdf? Any idea why I can't seem to get the SPI1 interrupt to work?
I have successfully implemented a similar scheme with both McBsp and I2C on a 6482 DSP, and never had this much trouble before.