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.

TMS320C6657: 关于openmp的编译报错:ti.sysbios.BIOS: incompatible assignment to kernelHeapSection : ".kernel_heap"

Part Number: TMS320C6657

我在ccs6.1.1上尝试使用多核的openmp例程,按照downloads.ti.com/.../building_openmp_app.html

链接中进行操作

当我点击错误时,他会跳转到一个.xs文件,如下图

我在想是不是缺少一些必要文件,我目前下载了以下文件

我不清楚问题应该如何解决

或者TI有没有可编译执行的openmp例程让我参考一下?

  • 应该是OpenMP在多线程环境中对系统堆栈的要求引起的

  • 感谢回复,所以是需要在omp_config.cfg文件中改吗?还是其他的解决办法,能详细说说吗?

  • 您检查一下您的代码中是否有对内核堆进行的赋值或其他操作,尝试一下将这些与OpenMP兼容

  • 可能我在提问时没有表示清楚,我直接copy了hello.c和omp_config.cfg这两个文件,没有进行任何更改。我也不知道哪些部分是需要兼容的

    .c文件应该是没问题,代码如下,我看过别人好像也是这样的。

    我重新看了.cfg文件,内存部分没有add

    您的意思是不是在bios中的memory设置呢?

    很抱歉,我现在还处于学习阶段,可能没有理解您的意思,烦请您再看一下这个问题,感谢。

  • 您的意思是不是在bios中的memory设置呢?

    您查看一下BIOS的配置文件,查找一下和内存分配使用相关的设置,还要再确保一下内核堆的配置与OpenMP的要求相匹配。

    要将内核堆的配置添加到.cfg文件中,确保分配使用是与OpenMP兼容的

  • 我在这个页面做更改,之后rebuild就又变回原来的配置了,完全没用。

    我也试着改了.cfg的代码部分,但是报错行在上面和下面无关,我感觉不是这样做。

    我看了下图这个文档,也没有找到哪里要与openmp兼容的地方,是因为要看别的文档吗

    后来我改了下图中xdctools的版本号,ps:原来是3.31.0.24_core

    之后,错误变成了下图

    Description Resource Path Location Type
    Cannot read property "cfgScript" from undefined omp_config.cfg /openmp_teat2 Configuration Validation XDCTools Configuration Marker

    总之,我现在特别困惑,完全不知道从何处下手解决这些问题

  • Description Resource Path Location Type
    Cannot read property "cfgScript" from undefined omp_config.cfg /openmp_teat2 Configuration Validation XDCTools Configuration Marker

    你检查检查更改是否被正确提交并且被包含在重建的过程中。

    还有检查一下你的更改,确保语法和配置都是正确