本人在调试ADSP-BF592的电路板时,配置的PPI控制方式为DMA中断方式,因为PPI控制的摄像头模块数据传输数据的速度实在太快,在DMA中断处理中没有大多的时间转移大量的数据,本人开辟了两片RAM区域,准备通过改变DMA配置中的DMA0_START_ADDR来改变所选择的区域,这样DMA中断的处理速度会大大加快。但是本人在调试时发现,只要一更改DMA配置,就会出现有部分混乱的数据产生。请教各位大侠,有没有什么好的解决办法~
DMA中断中的配置语句为:
if(St_ppi.u8PPIDMA_Ramflag == 0)
{
*pDMA0_START_ADDR = (void *)&St_ppi.u8PPIRec_cpu[0];
St_ppi.u8PPIDMA_Ramflag = 1;
ssync();
*pDMA0_CONFIG |= DMAEN; /* enable DMA for PPI */
}
else
{
*pDMA0_START_ADDR = (void *)&St_ppi.u8PPIRec[0];
St_ppi.u8PPIDMA_Ramflag = 0;
ssync();
*pDMA0_CONFIG |= DMAEN; /* enable DMA for PPI */
}