This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

LPC3250 DMA Interrupt Help

New! LPC3250 DMA Interrupt Help
eswar g

Hi

I'm facing problum while configuration for GPDMA. I was unable to generate interrupt on DMA.
here I'm listing
1.I configured DMA Channel 0 for UART2 for 4 bytes trigger. But unable to get.

2.What that channel linked list register will do?

I have studied the data sheet. But unable to get these things.

Please help me

Here i'm attaching the GPDMA configuration what i did.

GPDMA_SOFT_BREQ |=0x00000100;           // HSUART 2 TX  Selected
        GPDMA_CH0_SRC    =HSU2_RX;      // Selecting Source address
        GPDMA_CH0_DEST   =(unsigned long)&Rx_Buffer_485[0];
        GPDMA_CH0_LLI    =0x00000000;
        GPDMA_CH0_CTRL   = 0x88009001;          // Terminal count interrupt and
                                                //transfer size 4byts(8bits wide)
        GPDMA_CH0_CFG    |=0x00001008;          // Peripheral to memory trnasaction
        GPDMA_CONFIG     |=0x00000001;          // Enable DMA Controller

Thanks
Eswar

Parents
  • Hi all

    I'm trying to transmit data through DMA. i was able to get interrupt and transfer the data.
    but the data was junk coming. Here is my configuration

             DMACLK_CTRL    |=0x00000001;           // enable all DMA Clocks
            GPDMA_CH0_SRC    =(unsigned long)Tx_Buffer_485[0];
            GPDMA_CH0_DEST   =0x40018000;              // HSUART2_TX address
            GPDMA_CH0_LLI    =0x00000000;
            GPDMA_CH0_CTRL       =0x85492002;    // 32 bit wide 8byte
    
    
            GPDMA_CONFIG     |=0x00000001;          // Enable DMA Controller
            GPDMA_CH0_CFG    |=0x000009C1;          // memory  to Peripheraltrnasaction
    

    i'm using HSUART2 to transfer data. Source is memory. and destination is HSUART2 Tx
    My source burst size is8 bytes
    destination burst size is 8 bytes
    Source and destination width is 32bit wide
    and transfer size is 2

            for(i=0;i<8;i++)
            {
                    Tx_Buffer_485[i]=0x38;
            }
    


    like above i filled the buffer.

    aim: Transfer the data of 8 bytes from pheripheral to memory.

    anyone can please help me on this configuration

    thanks
    eswar

Reply
  • Hi all

    I'm trying to transmit data through DMA. i was able to get interrupt and transfer the data.
    but the data was junk coming. Here is my configuration

             DMACLK_CTRL    |=0x00000001;           // enable all DMA Clocks
            GPDMA_CH0_SRC    =(unsigned long)Tx_Buffer_485[0];
            GPDMA_CH0_DEST   =0x40018000;              // HSUART2_TX address
            GPDMA_CH0_LLI    =0x00000000;
            GPDMA_CH0_CTRL       =0x85492002;    // 32 bit wide 8byte
    
    
            GPDMA_CONFIG     |=0x00000001;          // Enable DMA Controller
            GPDMA_CH0_CFG    |=0x000009C1;          // memory  to Peripheraltrnasaction
    

    i'm using HSUART2 to transfer data. Source is memory. and destination is HSUART2 Tx
    My source burst size is8 bytes
    destination burst size is 8 bytes
    Source and destination width is 32bit wide
    and transfer size is 2

            for(i=0;i<8;i++)
            {
                    Tx_Buffer_485[i]=0x38;
            }
    


    like above i filled the buffer.

    aim: Transfer the data of 8 bytes from pheripheral to memory.

    anyone can please help me on this configuration

    thanks
    eswar

Children