导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    t113-s3开启多个串口dma问题

    其它全志芯片讨论区
    5
    19
    8181
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • Q
      qqqlb LV 6 最后由 编辑

      t113-s3开启一个串口的dma,使用正常。但是开启了2个或以上的串口dma的时候,就会报以下错误

      [ 30.010846] sun6i-dma 3002000.dma-controller: Failed to alloc lli memory
      [ 30.016372] uart uart2: get rx dma descriptor failed!
      [ 30.046740] sun6i-dma 3002000.dma-controller: Failed to alloc lli memory
      [ 30.049448] uart uart2: get rx dma descriptor failed!
      
      [ 52.331275] sun6i-dma 3002000.dma-controller: Failed to alloc lli memory
      [ 52.334034] uart uart4: get rx dma descriptor failed!
      [ 52.339180] sun6i-dma 3002000.dma-controller: Failed to alloc lli memory
      [ 52.341878] uart uart4: get rx dma descriptor failed!
      

      还有就是不开dma的时候,串口在460800及以上波特率就容易丢包,有oe产生。
      请问一下,有谁遇到过这些问题吗?可以怎么解决呢?

      P 1 条回复 最后回复 回复 引用 分享 0
      • aozima
        aozima LV 7 最后由 编辑

        DMA通道不够用了呗

        Q 1 条回复 最后回复 回复 引用 分享 0
        • Q
          qqqlb LV 6 @aozima 最后由 编辑

          @aozima 我在设备树把其它外设的dma关掉了,看了一下,应该是够了的

          C 1 条回复 最后回复 回复 引用 分享 0
          • C
            codedogejack123 LV 4 @qinlinbin 最后由 编辑

            @qinlinbin 我也遇到这个问题了,请问解决了吗?

            Q 1 条回复 最后回复 回复 引用 分享 0
            • Q
              qqqlb LV 6 @codedogejack123 最后由 编辑

              @codedogejack123 没有,只是把DMA_SERIAL_BUFFER_SIZE改成了2k,凑合着使用。假如你有解决方法,麻烦分享一下。

              C 1 条回复 最后回复 回复 引用 分享 0
              • C
                codedogejack123 LV 4 @qinlinbin 最后由 编辑

                @qinlinbin 我用的是longan的SDK,我把Tina SDK里面的sun6i-dma.c里面的内容替换到longan SDK相同文件后就没有这个报错了

                1 条回复 最后回复 回复 引用 分享 0
                • P
                  ppatb01 LV 4 最后由 编辑

                  @qinlinbin 您好,小白想请问一下t113的DMA如何打开以及使用呀

                  Q J 2 条回复 最后回复 回复 引用 分享 0
                  • Q
                    qqqlb LV 6 @ppatb01 最后由 编辑

                    @ppatb01 https://github.com/mangopi-sbc/aw-doc/tree/main/tina-doc

                    1 条回复 最后回复 回复 引用 分享 0
                    • J
                      Jeper LV 4 @ppatb01 最后由 编辑

                      @ppatb01 在驱动menuconfig中添加UART DMA的驱动
                      ac74900d-f044-488b-8c83-3802e8c2fe17-image.png 然后设备树里找到&uart的节点下,添加dma的通道信息a0d36f16-40be-49a1-913b-15e393bcf40b-image.png

                      P 1 条回复 最后回复 回复 引用 分享 0
                      • J
                        Jeper LV 4 最后由 xiaowenge 编辑

                        我也是用longan的SDK,开了3路DMA,但是没有这个报错
                        1a27ca80-a90f-4f0e-bc55-9f1aed809c8d-image.png

                        可以试试改一下DMA_SERIAL_BUFFER_SIZE大小,或许可以解决

                        1 条回复 最后回复 回复 引用 分享 0
                        • P
                          ppatb01 LV 4 @Jeper 最后由 编辑

                          @jeper 感谢感谢,那是需要写一些代码来运行吗,还有在打印信息中能否看到相关信息。

                          J 1 条回复 最后回复 回复 引用 分享 0
                          • J
                            Jeper LV 4 @ppatb01 最后由 编辑

                            @ppatb01 系统打印信息可以查看的到初始化成功,或者你可以在命令行dmesg | grep uart
                            97c11c0f-499c-4492-acd4-8d457d9c07fd-image.png

                            P 1 条回复 最后回复 回复 引用 分享 0
                            • P
                              ppatb01 LV 4 @Jeper 最后由 编辑

                              @jeper 加上了,请问为啥我这个rx获取失败呀4c0cf9e6-9eb4-41d0-972b-7f2ec18a79ed-1704787751827.png

                              J 1 条回复 最后回复 回复 引用 分享 0
                              • J
                                Jeper LV 4 @ppatb01 最后由 编辑

                                @ppatb01 在驱动drivers/tty/serial/sunxi-uart.c里改一下这个试试
                                3ce31866-139b-4f2f-81a3-3df85f771aa5-image.png
                                这个应该是全志官方的Bug

                                P 1 条回复 最后回复 回复 引用 分享 0
                                • P
                                  ppatb01 LV 4 @Jeper 最后由 编辑

                                  @jeper 可以了,感谢大佬,请问有什么测试代码这类的可以用来测试一下吗

                                  J 1 条回复 最后回复 回复 引用 分享 0
                                  • J
                                    Jeper LV 4 @ppatb01 最后由 编辑

                                    @ppatb01我也是用普通串口工具测试的,在驱动里添加打印信息,都能正常打印说明配置OK

                                    P 1 条回复 最后回复 回复 引用 分享 0
                                    • P
                                      ppatb01 LV 4 @Jeper 最后由 编辑

                                      @jeper 大佬,改了之后现在能看到打印信息,但是打印的时候会卡死在这个位置是为啥呀😖 7f887315-877d-4552-900e-2f0ddaf0356b-1705033240935.png

                                      J 1 条回复 最后回复 回复 引用 分享 0
                                      • J
                                        Jeper LV 4 @ppatb01 最后由 编辑

                                        @ppatb01 这个问题我也没有遇到过😓

                                        1 条回复 最后回复 回复 引用 分享 0
                                        • P
                                          ppatb01 LV 4 @qinlinbin 最后由 编辑

                                          @qinlinbin 您好,想请问一下可以分享一下串口DMA的测试程序嘛,十分感谢!

                                          1 条回复 最后回复 回复 引用 分享 0
                                          • 1 / 1
                                          • First post
                                            Last post

                                          Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

                                          行为准则 | 用户协议 | 隐私权政策