Hi I am trying to get the BF70x to generate an interrupt when it has transmitted a dma package over UART1..
The positive: The data is being transmitted and the TFI bit is being set at the end in the UART_STAT register.
What I have so far to get a DMA interrupt:
1) initialized the event vector adi_int_InstallHandler( INTR_UART1_TXDMA, interruptFunction, NULL, True)
2) Configured the pADI_UART1_TXDMA with buffers and the following configuration bits set PDRF = 1, TRIG = 1, INT = 3, EN = 1
3) I have played around with different configuration ( TRIG=0, INT=0 or 1, PDRF = 0)
4) I have started the transmission by setting pADI_UART1->IMSK_SET = 2 ( or 0x22 to try out )
Nothing what I have tried causes my interruptFunction to be called.
I have other interrupts (for USB and timers ) that are working fine.
Can anyone point me in the direction to a reason why I do not get the UART TX DMA interrupt?
Please find the DMA based UART example code in the attachment. This code can be directly run on ADSP-BF707 Ez-kit. You can Comment/Uncomment the appropriate macro definitions to select the different DMA modes and UART0/UART1 Tx/Rx combination. Please use this code as a reference and modify as per your requirement. You can understand the working of the code from the comments embedded within.
Thank you very much for your help. Now I saw what my problem was.
My timer interrupt and USB interrupt was in another project, and there I did enable SEC Core Interface (SCI). I did not in my Uart project. I only enabled the System Event Controller (SEC)
After I enabled the core interface, everything worked perfect :)
Again thank you very much.