This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

dsp编程规范与cmd稳健配置



Hi:

         我使用omapl138 的dsp进行裸板开发,我发现一些算法编程容易出问题。

        例如:

         wxy[i+j*audioFrameLength] = audioInputData[n++];  会出错,改为 wxy3orderBuf[j*audioFrameLength+i] = audioInputData[n++];就好了

         再例如: 三重for循环程序运行出错,得不到理想结果,改为两重for循环,程序运行就ok了。

         我想知道有没有避免这些问题的编程规范的文档手册?

         还有一个问题:cmd文件配置memory。官方有没有介绍omapl138 的dsp如何进行配置以及详细介绍的说明文档。

         我发现code或者data放在不同的数据段会出现不同的运行结果,直接导致程序执行错误。

谢谢!

  • yan liu2 说:
     wxy[i+j*audioFrameLength] = audioInputData[n++];  会出错,改为 wxy3orderBuf[j*audioFrameLength+i] = audioInputData[n++];就好了

    我眼睛都快看花了,[i+j*audioFrameLength]跟[j*audioFrameLength+i] 不是一回事么, 但是这两个数组名不同。不确定你是故意改的名,还是调用的不同的数组。

    yan liu2 说:
             再例如: 三重for循环程序运行出错,得不到理想结果,改为两重for循环,程序运行就ok了。

    这只会影响到程序运行的效率,要看是系统实时性引入的问题的,还是算法本身的问题。

    yan liu2 说:
     我发现code或者data放在不同的数据段会出现不同的运行结果,直接导致程序执行错误。

    同上,片上内存与片外内存只影响效率。

  • Hi Tony Tang:

                问题已解决! 算法没有问题,是cmd文件配置问题。我之前把data段放在external_ram里面了,时钟周期受到影响,上面的问题出现的根本原因

    是算法在我的工程里面执行Mips过多导致的(到external_ram取数据太慢)。

                非常感谢你的回答。

                想问你一下,关于cmd配置规范的文档到哪里去download,或者你给发个链接也是可以的

    Thank you!

  • 如果说是CMD文件格式则参考spru186第7章,如果说是如何有效利用内存,则是将访问频率高的section放到片上内存。