查看: 5514|回复: 12

[MQX] K64 MQX EDMA模块使用方法,求解决(已解决)

[复制链接]
  • TA的每日心情
    无聊
    2018-9-20 10:55
  • 签到天数: 13 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    24

    主题

    1189

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1642
    最后登录
    2022-3-21
    发表于 2014-10-16 11:22:33 | 显示全部楼层 |阅读模式
    本帖最后由 FSL_TICS_ZP 于 2014-11-27 14:02 编辑

    我想在K64 MQX系统上 使用EDMA模块搬运UART 中断接收到的数据

    求各位能够大概说下EDMA使用和配置流程方法,多谢
    之前看了这个帖子,这个是KL系列DMA的使用 ,不是太明白 多谢了
    http://www.stmcu.org/bbs/article_1280_547383.html
    我知道答案 目前已有12人回答
    回复

    使用道具 举报

    该用户从未签到

    124

    主题

    3600

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5781
    最后登录
    1970-1-1
    发表于 2014-10-16 11:31:07 | 显示全部楼层
    你好,楼主!
    这是FSL培训文档,其中就有讲到eDMA,我想这对你来说应该会很有帮助。
    https://www.nxpic.org.cn/module/forum/thread-545542-1-1.html
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-9-20 10:55
  • 签到天数: 13 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    24

    主题

    1189

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1642
    最后登录
    2022-3-21
     楼主| 发表于 2014-10-16 12:50:23 | 显示全部楼层
    多谢多谢了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-9-20 10:55
  • 签到天数: 13 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    24

    主题

    1189

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1642
    最后登录
    2022-3-21
     楼主| 发表于 2014-10-16 13:21:24 | 显示全部楼层
    没有edma啊 这个链接里面怎么感觉有点迷糊呢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-9-20 10:55
  • 签到天数: 13 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    24

    主题

    1189

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1642
    最后登录
    2022-3-21
     楼主| 发表于 2014-10-16 13:32:58 | 显示全部楼层
    在以前的老网站上找到了https://www.eefocus.com/bbs/article_1280_545542.html
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    124

    主题

    3600

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5781
    最后登录
    1970-1-1
    发表于 2014-10-16 13:42:11 | 显示全部楼层
    星星-418393 发表于 2014-10-16 13:21
    没有edma啊 这个链接里面怎么感觉有点迷糊呢

    以前是有的,估计与非网网页改版的时候,没有把它完全的弄进来。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    124

    主题

    3600

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5781
    最后登录
    1970-1-1
    发表于 2014-10-16 13:48:12 | 显示全部楼层
    星星-418393 发表于 2014-10-16 13:32
    在以前的老网站上找到了https://www.eefocus.com/bbs/article_1280_545542.html

    那你就先参考老的网页中的eDMA内容吧。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-9-20 10:55
  • 签到天数: 13 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    24

    主题

    1189

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1642
    最后登录
    2022-3-21
     楼主| 发表于 2014-10-16 16:20:34 | 显示全部楼层
    请教个问题dma在MQX里有初始化
    之后以前我是uart 中断方式接收数据,现在我在DMA进行了以下操作

    unsigned char test[10] = {0};

    void dma(void)
    {
            DMA_TCD_STRUCT tcd;
            /* 使能UART发送中断或者DMA请求 */
            UART_C2_REG(UART4_BASE_PTR) |= UART_C2_TIE_MASK;
            /* 禁止发送中断,只使能DMA请求*/
            UART_C2_REG(UART4_BASE_PTR) &= ~UART_C2_TCIE_MASK;
             /* 打开UART发送的DMA请求 */  
            UART_C5_REG(UART4_BASE_PTR) |= UART_C5_TDMAS_MASK;  

            dma_tcd_mem2reg(&tcd, (void*)UART5_RWFIFO, 32, (void*)test, 5);
            DMA_ERQ |= (1 << 1);
    }

    为什么DMA不起作用呢!~我使用的是MQX dma_tcd_mem2reg的API 哪里有问题 我理解错了吗
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    124

    主题

    3600

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5781
    最后登录
    1970-1-1
    发表于 2014-10-16 16:39:32 | 显示全部楼层
    星星-418393 发表于 2014-10-16 16:20
    请教个问题dma在MQX里有初始化
    之后以前我是uart 中断方式接收数据,现在我在DMA进行了以下操作

    这个有点涉及MQX 函数的内容,我叫MQX工程师回答你吧,
    这样会让你更加明白。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-9-20 10:55
  • 签到天数: 13 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    24

    主题

    1189

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1642
    最后登录
    2022-3-21
     楼主| 发表于 2014-10-16 16:47:04 | 显示全部楼层
    那我超级感激你 多谢了啊

            dma_channel_setup(3, UART5_RWFIFO);
            dma_tcd_reg2mem(&tcd, (void*)UART5_RWFIFO, 32, (void*)test, 5);
            dma_request_enable(3);

    以前是使用中断方式接收数据 由于硬件FIFO256的限制 大数据包就会丢包 想用DMA搬运 我这么设置仍然中断可以收到数据DMA没起作用,EDMA在 bsp_enable_card 已经dma_init初始化了 我应该把串口中断关闭然后设置个水线启动DMA就可以 思路感觉是这样的,但是具体操作不清楚,请大侠帮忙指导下,不胜感激
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-22 10:24 , Processed in 0.105149 second(s), 30 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表