打印
[i.MX]

imx6sx 串口 DMA发送问题

[复制链接]
1600|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dull_man|  楼主 | 2015-11-18 20:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
首先,发送和接收配置完都是可以工作的,只是现在对时间要求比较高,想问个问题。
简要代码如下:
desc->callback = dma_tx_callback;
desc->callback_param = sport;
dmaengine_submit(desc);
dma_async_issue_pending(chan);
经过上述的配置,指定callback函数,激活挂起队列,大部分的帧(每次近6-7个Byte一帧)发出去都能立马调用dma_tx_callback,但是偶尔会出现发送完大概要等2-3个Byte的时间,才调用callback, 因为现在我调完callback要立马做一件事,对时序要求较高。
现在是不清楚为什么偶尔会出现一帧发送完,不能立马调用callback的原因,是DMA阻塞,在等待呢?还是其他原因,我查看了下dma_chan->chan_id发送接收分别是0和1,不知道是否有人碰到过此类问题?

相关帖子

沙发
大苏牙| | 2015-11-18 20:57 | 只看该作者
没有碰到过类似问题啊,帮顶了

使用特权

评论回复
板凳
dull_man|  楼主 | 2015-11-19 08:57 | 只看该作者
大苏牙 发表于 2015-11-18 20:57
没有碰到过类似问题啊,帮顶了

感谢啊

使用特权

评论回复
地板
dull_man|  楼主 | 2015-11-19 08:58 | 只看该作者
不知道DMA是否存在优先级,之前用过的芯片有类似优先级的,但是昨天跟进去没有发现优先级相关的信息。

使用特权

评论回复
5
dull_man|  楼主 | 2015-11-19 13:40 | 只看该作者
寻求FAE

使用特权

评论回复
6
FSL_TICS_Rita| | 2015-11-19 16:18 | 只看该作者

你好,关于DMA这部分内容我个人不是很熟悉,不能给你更好的建议,你可以到飞思卡尔官网提交技术服务请求或者到英文的论坛上提问。

使用特权

评论回复
7
dull_man|  楼主 | 2015-11-19 18:22 | 只看该作者
FSL_TICS_Rita 发表于 2015-11-19 16:18
你好,关于DMA这部分内容我个人不是很熟悉,不能给你更好的建议,你可以到飞思卡尔官网提交技术服务请求 ...

好的,非常感谢

使用特权

评论回复
8
mini1986| | 2015-11-23 22:24 | 只看该作者
这个问题有点深了......

使用特权

评论回复
9
小狗爱吃骨头| | 2015-11-28 09:18 | 只看该作者
现在才明白串口也可以使用dma来发送啊

使用特权

评论回复
10
舒斯特尔| | 2015-11-28 15:53 | 只看该作者
这个问题有些深,我不是太懂,只能求助懂的ae了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

94

主题

176

帖子

0

粉丝