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文件,然后就可以编译通过,正确运行了。
希望能够帮到大家!