跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
折叠
品牌标识

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YTM32B1M系列
  4. DMA调试时ERS寄存器报配置错误问题

DMA调试时ERS寄存器报配置错误问题

已定时 已固定 已锁定 已移动 YTM32B1M系列
22 帖子 2 发布者 677 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • N 离线
    N 离线
    NorbertShi
    写于2024年11月7日 09:09 最后由 编辑
    #13

    您误解我意思了,我现在是之前要读4个寄存器,现在不用了,只读其中的一个寄存器,
    然后希望每次trigger DMA传送到缓存,然后DADDR自增指向缓存下一个地址。
    20个trigger一个循环。所以SOFF不设置
    但现在的配置测试出来就是看着像每次trigger后,DMA一次把同一个值全部写入了20个缓存

    F 1 条回复 最后回复 2024年11月7日 09:15
    0
    • F 离线
      F 离线
      Frank YunTu
      在 2024年11月7日 09:15 回复了 NorbertShi 最后由 编辑
      #14

      NorbertShi 那就是DMA搬移数据期间寄存器的值没有改变导致的。因为DMA的工作频率跟CORE_CLK一致,搬运20次,花费的时间是ns级的

      1 条回复 最后回复
      0
      • N 离线
        N 离线
        NorbertShi
        写于2024年11月7日 09:20 最后由 编辑
        #15

        那我每次触发后搬运完,不是应该要等待下一次触发才搬运么? 如果寄存器值没变,也没产生触发啊

        1 条回复 最后回复
        0
        • F 离线
          F 离线
          Frank YunTu
          写于2024年11月7日 09:38 最后由 编辑
          #16

          image.png STS寄存器你怎么清的呢,按照你的设计,估计是无法做到DMA trigger loop 一次就清除的。因此大概率会一直触发,直到20次。你应该配置trigger 次数为1次,在DMA完成中断回调里面统计次数,到20次后拿数据,同时修改目的地址到buff的首地址。

          1 条回复 最后回复
          0
          • N 离线
            N 离线
            NorbertShi
            写于2024年11月7日 09:55 最后由 编辑
            #17

            etimer模块触发DMA后读取了,还需要手动清除etimer的STS,否则会一直产生触发导致DMA重复复制。
            是这么理解的吧?

            1 条回复 最后回复
            0
            • N 离线
              N 离线
              NorbertShi
              写于2024年11月8日 01:31 最后由 编辑
              #18

              etimer的sts寄存器标志位是否有自动清除的设置,不然这样每次读取DMA还要中断来清除标志。

              F 1 条回复 最后回复 2024年11月8日 01:38
              0
              • F 离线
                F 离线
                Frank YunTu
                在 2024年11月8日 01:38 回复了 NorbertShi 最后由 编辑
                #19

                NorbertShi 没有

                1 条回复 最后回复
                0
                • N 离线
                  N 离线
                  NorbertShi
                  写于2024年11月11日 10:30 最后由 编辑
                  #20

                  在trigger loop时,如果设置了trigger count,执行到一半时,我想重置count,就是重新开始计数,需要如何操作?
                  这个您的说法是说修改TCNTRV寄存器 修改trigger count
                  那比如我并不想要修改count,只是想让DMA的trig 重置到初始状态。
                  就比如DMA trig计数 ,我设置的20次,然后到第8次,我希望将DMA的trig 重新从20开始递减。同时destination address 恢复到初始化时的地址。
                  这时候直接对TCNTRV寄存器重写一次值可以实现我的要求么? 还是需要其他的操作?

                  1 条回复 最后回复
                  0
                  • N 离线
                    N 离线
                    NorbertShi
                    写于2024年11月12日 02:14 最后由 编辑
                    #21

                    另外补充一些描述,比如我设置了DOFF = 4,然后transfer loop 每次触发后需要读取BCNT = 20,也就是5个u32数,然后trig loop = 10,就是trig 要循环10次。
                    然后trig 到第8次,transfer loop 执行到第3次,此时我希望DMA trig 重新从10开始,tranfer loop也重新复位开始。
                    此时要实现该操作是否就是再次写入TCNTRV寄存器一次trig cnt。

                    F 1 条回复 最后回复 2024年11月12日 02:33
                    0
                    • F 离线
                      F 离线
                      Frank YunTu
                      在 2024年11月12日 02:33 回复了 NorbertShi 最后由 编辑
                      #22

                      NorbertShi 不行,你需要先cancel掉当前传输,让DMA停下来,然后重新配置CTS。

                      1 条回复 最后回复
                      0

                      22/22

                      2024年11月12日 02:33

                    • 云途论坛规则/Yuntu Forum Rules

                      发帖前请查看

                    • YCT离线License申请流程

                      帮助没办法联网的电脑使用YCT

                    • YT CONFIG TOOL调查问卷

                      帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...

                    • demo
                      11
                      can
                      8
                      lin stack
                      5
                      yt-link
                      5
                      vscode
                      3
                      adc模块
                      2
                      i2c
                      2
                      uuid
                      2
                      Online Users
                      S
                      SoJiHong
                      10分钟之前
                      G
                      gaoSheng
                      21分钟之前
                      • 登录

                      • 登录或注册以进行搜索。
                      22 / 22
                      • 第一个帖子
                        22/22
                        最后一个帖子
                      0
                      • 版块
                      • 最新
                      • 标签
                      • 热门