Petit Alexandre

DMA problem

Discussion created by Petit Alexandre on Oct 27, 2006
Latest reply on Nov 3, 2006 by Petit Alexandre
Hi,
 
On the MCF5485, I initialize the FEC and DMA (with API_DMA given by freescale) to download file by TFTP (It's the frescale dbug application which is on my board, not the evb bord).
 
My code do this  :
 
board_dlio_init()
{
     // Initialize the Multi-channel DMA 
   MCD_initDma ((dmaRegs*)(MBAR_ADDRESS+0x8000),
                (void *)MCDAPI_START, // internal SDRAM 32KByte MBAR+10000
                MCD_COMM_PREFETCH_EN | MCD_RELOC_TASKS); //Relocate code in internal SDRAM
   //Enable interrupts in DMA and INTC
  dma_irq_enable(DMA_INTC_LVL, DMA_INTC_PRI);
 
               // Init FEC
....................................
 
               // Init DMA
              //Enable the multi-channel DMA tasks
              fec_rx_start(ch, (int8*)fecbd_get_start(ch,Rx)); // witch MCD_startDma
              fec_tx_start(ch, (int8*)fecbd_get_start(ch,Tx)); // witch MCD_startDma
 
               // start FEC   
 
        //Enable the Instruction Cache
        mcf5xxx_wr_cacr(0
           | MCF5XXX_CACR_IEC
           | MCF5XXX_CACR_ICINVA);
        
       // Enable interrupts level 7
      board_irq_enable();
}
 
after when I try to send a broadcast frame, I use the DMA_continu fonction and I have a bus error.
The DMA_continu function enable the ethernet send task in API_DMA
 
Have you got any suggestions.
 
Thanks
 
Alex_CF
 

Outcomes