某处理器SPI以master的角色从DM365的SPI(slave)读取图像数据,
DM365内部DMA负责数据从DDR到SPI端口的传送。
通过对每帧数据加CRC校验后测试发现,处理器收到的帧偶尔
出现校验错误,出现的概率与DM365的负荷大小和SPI时钟速率有关。
请问TI专家:上述现象可能的原因和对策?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
某处理器SPI以master的角色从DM365的SPI(slave)读取图像数据,
DM365内部DMA负责数据从DDR到SPI端口的传送。
通过对每帧数据加CRC校验后测试发现,处理器收到的帧偶尔
出现校验错误,出现的概率与DM365的负荷大小和SPI时钟速率有关。
请问TI专家:上述现象可能的原因和对策?
我还发现一个问题,在dm365.c下有个spi-resource可设置event_q,以及一个dm365_queue_priority_mapping[]。
dma文档说EventQueue0具有最高优先级,因此我把spi的event_q改成EVENTQ_0,然后dm365_queue_priority_mapping里面把eq0的优先级改成0,这样就是都最高优先级了。可是系统编码并发送数据的时候还是超时,裸奔spi发送数据就不会发现超时。
我的理解是,有图像编码时,spi-dma还是抢不过vpss-dma,导致到指定时间后还没有发送完毕,而裸奔就没有人跟spi抢dma,自然就发出去了。
那么到底怎么该这个优先级呢?