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/ 提出,谢谢。