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.

OpenMp内存分配问题,欢迎围观。



    之前修改OpenMp例程的RSTC配置将内置扩展到2G。例程是可以跑了,因为例程的内存需求比较小,无需修改很多东西。但现在加入了我自己的算法后,内存需求暴增,包括代码段,堆栈段,动态分配等等。

     TI OpenMp的内存使用的有没一个比较详细的文档说明,比如说哪些段可以cache,哪些不能段cache,哪些是需要共享的。比如HeapOMP.localHeapSize ,HeapOMP.sharedHeapSize的作用,比如下图的Stack  存放在L2SRAM,代码是可以运行代码(例程代码),但后来增加了HeapOMP.localHeapSize ,HeapOMP.sharedHeapSize的大小,导致.localfar段存储段不够,然而我使用Program.sectMap[".localfar"]   = "ExternalBuf";这样的语句并没有起到作用,还是将其分配到L2SARM,后来我修改了RTSC配置,将stack分配到ExternalBuf(片外可cache),.localfar段才被分配到外存。结果是编译没有问题,运行就会挂掉,挂在前面多核OpenMp 环境的启动里面,Master核mian函数都没到。

    这仅仅是针对内存使用的一个例子,我相信后面还会有很多我之前没遇到的问题。

    我只是在MCSDK用户手册里面有看到过对内存的简短说明,但貌似那个文档不够,那个文档仅仅是针对例程的说明, e2e.ti也关注过相关的问答,还没找到一个比较清晰行之有效的的回答,请TI的工程师关注下解答下。