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.

请教在利用6678EVM板进行OpenMP编程学习时遇到的一个编程错误问题(附件详述)?



1打开CCS5.3,从FileàNewàProject,新建一个ccs工程,如下图填写

 ,点击Finish,建立一个用omp的多核例子工程“hello world example”。

2:编译工程,没有发现任何的错误。

3launch一下,.ccxml文件,连接目标板,然后把核0到核3,弄到一个group里。如下图所示:

4:点击Runàloadàload program ,把生成的.out文件下载到4个核里,点击完确定按钮之后,就出现下面的图,其中核0已经到了cint00,而其他的核一直都在running状态。

5:然后按F8,全速运行,可以看到下图中的控制台输出“ERROR: Ipc_start failed in OpenMP_masterTask”,

 

6:正确的结果是,在控制台会输出四条hello world 语句。

我的CCSCCS5.3;

Mcsdk版本号是:02.0102.06

OMP版本号是: 1.01.03.02

北理工求助-omp编程错误.doc
  • 你的.ccxml文件里面后三个核加了gel文件么?

  • 你好,以前是没有加文件,现在我的4个核都加了同一个gel文件,但load完成后,我点击运行按钮,它就一直运行,同时控制台没有输出预期的字符串;

    当我点击停止按钮后,核1到核3,都处于停止状态,但是核0,还是在running,;当我停止核0的时候,就有如下的错误信息:

    c66xx0: Trouble  Reading  Register  controlRegister_CSR:(Error —1202@0x41).  Device  core  is  hung.   The debugger will attempt  to  force the device to

    a ready state to recover debug control . Your applictions's state will be corrrupt . You should have limited access to memory  and registers, but you may need

    to reset the device to debug further .(Emulation package 5.0.872.0).

    请问,这个问题怎么解决,谢谢

     

     

     

  • 抱歉,我也没用过这个OpenMP,但我估计可能是核0跑飞了

    导致后三个核没有收到信息,以至于没有输出字符串。而核0跑飞了,使得ccs对他的控制无效,所以点停止按钮就没用了。你把板子重启多试几次看看。

  • TI的高级工程师们,麻烦回复下,opm例程无法运行,这个是什么问题???

  • TI的高级工程师们,麻烦回复下,opm例程无法运行,这个是什么问题???

  • 您好!

    看了您的附件,我现在在6678EVM板子上跑OMP的例程也遇到了和您一样的情况!

    不知道您当时是怎么解决的呢?谢谢!

  • 我也遇到了同样的问题,可喜的是现在已经得到解决,但是不一定适合大家,仅做参考。

    ccs版本v6,因为是X64机器,但是5.3以上应该也可以。之前运行OMP例程各种错,各种尝试后,发现在RTSC下xdc tools version改为最新,我的是3.23.2.47;c6000 compiler下打开OpenMP3.0支持选项,工程里删掉link.cmd文件,然后就可以编译通过,正确运行了。

    希望能够帮到大家!