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

C6678中的omp问题

6678 demo板,CCS5.2,mcsdk_2_01_02_05

请问一下TI的工程师,我在image_processing例程里的main函数里加了一段

int index[8];

#pragma omp parallel for

for(i = 0;i < 8;i ++)

    index[i] = omp_get_thread_num();

for(i = 0;i < 8;i ++)

    printf("Number = %d\n",index[i]);

这一段的输出正常,Number =  0到7都有

但是我用hBegin  = TaskCreate(master_main_1,"master_main_1",OS_TASKPRINORM.0x2000,0,0,0)创建一个线程之后再运行omp输出就没有了,用仿真器调试的时候发现赋值好像有正常运行,但是omp返回时出了问题回不来了好像,是不是omp只能在主函数中调用,不能再线程里头调用?

还有一个问题就是我有一个工程,用7.4.0版本的编译器编译,在其中一个文件里头有几段omp的调用,老是出现

INTERNAL ERROR : D:\ti\c6000\bin\acpia6x.exe experienced a segmentation fault while processing file ***.cpp line 176

把***.cpp文件中的omp那段话去掉之后就能编译过也能正常运行

我后来换了一个编译器8.0.4编译能通过了,但是生成.out文件通过TFTP加载后程序只输出一行

phy port 0 init

程序并没有运行,这个不知道怎么回事,换编译器的时候代码都没有改动,单单只换了编译器的版本。

麻烦您有空看到的话能帮忙解决一下,谢谢您的指导。

Allen35065:

关于编译器omp的问题,建议你到英文论坛http://e2e.ti.com/support/development_tools/compiler/ 提出,谢谢。

赞(0)
未经允许不得转载:TI中文支持网 » C6678中的omp问题
分享到: 更多 (0)