配置uart5使用dma收包,速率921600使用轮询和中断收包时是ok的。
且dma驱动功能正常,can和spi的dma收发可以使用正常
关闭uart5中断后,根据手册21.4.1.1.2 FIFOs and DMA Settings 配置为FIFO使能,
SCR[7]TRIG_GRANU1=0使用FCR[7:6]RX_FIFO_TRIG的触发lev,lev值设置为56B;
设置为mode1模式:SCR[0]MODE_CTL=1,SCR[2:1]MODE_2=1;
dma配置:uart5使用交叉映射的chl12(mux event 0x44e10f9c=0x1),rxFifo从RHR寄存器读取。
Acnt与lev值相同使用56B,为持续收包设置link跳转到相同配置的param32(原始rsv的)
paramSet:chl=12,opt=0x10c000,src=0x481aa000,dst=0x82f01000,Acnt=56,Bcnt=10,Ccnt1;
srcBid=0,dstBid=56,srcCid=0,dstCid=56,link=0x4400,BcntRld=0;
即dma rx ParamSet:8010c000,481aa000,a0038,82f01000,380000,4400,380000,1;
手册看dmaReq应该是达到阈值自动触发:
a DMA request is generated when the RX FIFO reaches its threshold level defined in the
trigger level register (UARTi.UART_TLR)
当前测试来包期间dma的param所有参数没有变化,bcnt没有递减,收不到包
麻烦帮看一下是uart配置问题导致没产生request还是dma param不对导致没响应?
多谢!