使用的是imx6dq,bsp包3.0.35,测试串口2稳定性,2台机器一个发一个收;
发现奇怪问题:
打开dma功能后,收的数据比发的多;
关闭dma后,收的数据比发的少;
示波器确认cts/rts生效了;
配置如下:
static const struct imxuart_platform_data mx6q_sd_uart3_data __initconst = {
.flags = IMXUART_HAVE_RTSCTS , //| IMXUART_SDMA,
.dma_req_rx = MX6Q_DMA_REQ_UART3_RX,
.dma_req_tx = MX6Q_DMA_REQ_UART3_TX,
};
串口属性:
baudRate=1500000
byteSize=8
parity=0
stopBits=1
flowControl=2
飞思卡尔官网提供的3.0.35的BSP包关于uart的dma驱动程序是有问题的,我已经修改了bug,但是修改起来比较麻烦,建议大家使用3.10版本以上的BSP包,新的BSP包已修正bug,uart可进行dma收发
请问下,后面您是怎么解决的,有补丁包吗 |