TI中文支持网
TI专业的中文技术问题搜集分享网站

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

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

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

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

3:launch一下,.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 语句。

我的CCS是CCS5.3;

Mcsdk版本号是:02.0102.06;

OMP版本号是: 1.01.03.02

yang cao1:

你的.ccxml文件里面后三个核加了gel文件么?

jian zong1:

回复 yang cao1:

你好,以前是没有加文件,现在我的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).

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

 

 

 

yang cao1:

回复 jian zong1:

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

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

jian zong1:

回复 yang cao1:

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

jian zong1:

回复 jian zong1:

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

Junye Wang:

回复 jian zong1:

您好!

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

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

wang zilong:

回复 Junye Wang:

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

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

希望能够帮到大家!

赞(0)
未经允许不得转载:TI中文支持网 » 请教在利用6678EVM板进行OpenMP编程学习时遇到的一个编程错误问题(附件详述)?
分享到: 更多 (0)