Other Parts Discussed in Thread: HALCOGEN
The enclosed example file illustrates two separate issues that I am experiencing using the TMS570LS31USB development kit.
The code configures the HET1 PWM0 to drive a 1kHz 5% duty cycle pulse on HET1_10. This in turn drives TG1 for a mibspi1 TX burst. DMA Ch0 is automatically triggered to move the RX buffer data into system RAM. The DMA FTCA interrupt is enabled and triggers VIM Ch 33 which runs T0_Cisr when this data transfer is complete.
Issue #1: The T0_Cisr routine is run successfully once. It then triggers a resetEntry() function. With a similar architecture, I have observed this T0_Cisr routine getting triggered three sequential times from a single mibspi1 TX event before triggering the resentEntry() function and locking up the processor. It appears that I am not properly servicing the VIM Ch3 interrupt, but I have been unable to identify what I am missing.
Issue #2 (unrelated to issue #1): When T0_Cisr runs, it triggers DMA Ch3 to load the SPI2 DAT1 TX register. The resulting loopback RX does not match the TX. It is as if I have not properly configured the DMA controller to coordinate with the SPI2 TX_DMA_REQ. I have reviewed and emulated the existing examples and postings but I have not been able to get the DMA TX/RX to work reliably using SPI2 (which is a traditional SPI, not a mibspi).
Please advise. Thank you for your time.