zoukankan      html  css  js  c++  java
  • EDMA3随笔

    最近查DM814x上两个M3莫名其妙挂掉的问题查了将近两周,最后发现居然是各个模块的dma乱用引起的。

    A8上的音频mcasp用了两个dma通道……

    TI给的simcop里面imx实现的swosd又用了一串的dma通道……

    M3上面的cover业务又用了一个……

    后面dsp上加跑的算法又用了两个,然后就开始出现死机了,诶……

    查到最后,发现是有些模块的edma通道都用冲突了,dsp上算法用的qdma通道随便拿了几个paRamSet,tcc也完全随意指定的。

    记得以前开发648的时候,这些东西都是有约定的。

    这个DM814x是中途接手的项目,接手后忙着解决各种各样的bug,处理各种各样的需求,这些东西自己也没有留意,偶尔也有出现几次系统莫名奇怪挂了的问题,但是都没查出来,因为根本方向。

    这次算法再加上来之后,终于压垮了这头骆驼,呵呵,还好,终于问题暴露出来,也解决了。

    以后要注意,对于这种多核的Soc,特别是要注意dma通道的分配使用的情况。

    其实TI也有自己的edma3框架库,可惜的前面的人开发的时候根本没用这些东西,一群文盲干的事情啊。

    edma3:channel,emda,qdma,paRamSet,tcc,queue,tc

    上面这些都是需要注意的地方,特别是qdma,用的别人的tcc和paRamSet,要格外注意!!!!

  • 相关阅读:
    JS Map的使用
    C# 创建Windows服务
    Oracle 表空间不足解决办法
    C# 企业微信API开发(获取Token,给用户发送消息)
    企业微信API开发笔记
    css实现div不定宽高垂直水平居中解决方案
    前端面试题目大全(附答案)
    移动Web开发
    jquery 给iframe里的元素添加事件
    Jquery实现可拖动进度条demo
  • 原文地址:https://www.cnblogs.com/masky/p/3851997.html
Copyright © 2011-2022 走看看