IMX6UL的3.14.38的内核源码中,对于串口的DMA配置,除了默认的debug口之外,其他的都是默认打开DMA的。 如果串口没有接硬件流控,如果使用DMA传输大量数据有可能会报DMA错误,可以去掉DMA功能配置 方法如下: 修改arch\arm\boot\dts\imx6ul.dtsi,以uart7为例: uart7: serial@02018000 { compatible = "fsl,imx6ul-uart", "fsl,imx6q-uart", "fsl,imx21-uart"; reg = <0x02018000 0x4000>; interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; clocks = <&clks IMX6UL_CLK_UART7_IPG>, <&clks IMX6UL_CLK_UART7_SERIAL>; clock-names = "ipg", "per"; //dmas = <&sdma 43 4 0>, <&sdma 44 4 0>; //dma-names = "rx", "tx"; status = "disabled"; }; 去掉红色部分即可,重新编译镜像,烧写替换即可 |
|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )
GMT+8, 2024-11-22 17:08
Powered by Discuz! X3.4
© 2001-2013 Comsenz Inc.