[求助]BF518基于描述符的DMA传输问题
最近在用BF518这款DSP做网络传输,其中用到基于描述符的DMA传输,输出采用DMA2通道。
//以太网帧头格式
ADI_ETHER_FRAME_BUFFER dma12={
16,
{0xff,0xff,0xff,0xff,0xff,0xff},
{0x00,0x24,0x8c,0xf8,0x05,0xb4},
{0x0800}
};
//DMA描述符
DMA_DESCRIPTOR dma2={NULL,&dma12,0x758b,16};
*pDMA2_NEXT_DESC_PTR=&dma2;
*pDMA2_X_COUNT=16;
*pDMA2_X_MODIFY=4;
register_handler(ik_ivg11, EMAC_TX_ISR);
*pSIC_IMASK0 |= 0x40000000;
*pSIC_IAR3 &= 0xf0f0ffff;
*pSIC_IAR3 |=(4<<24);
*pIMASK |=(1<<11);
*pDMA2_CONFIG=0x758b;
*pEMAC_OPMODE |=0x10000;
我是这样编程的,可是查询DMA2_IRQ_STATUS寄存器的最后一位,始终是1,没有改变过,并且我的产生中断函数
EX_INTERRUPT_HANDLER(EMAC_TX_ISR)
{
printf("TX is completed\n");
}也没有执行,请问这是怎么回事?