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

c6678 mcsdk的helloworld与openmp目录下的sgemm工程合并之后运行不了。

每个core都添加了gel,也去掉了reset状态后运行到main。load到dsp后就一直处于running状态,停下来发现如下图所示:

去掉勾选support openm就可以停在main函数入口,请教大神解答。

注释掉

/*
** Use this load to configure NDK 2.2 and above using RTSC. In previous versions of
** the NDK RTSC configuration was not supported and you should comment this out.
*/
//var Ndk = xdc.loadPackage('ti.ndk.config');
//var Global = xdc.useModule('ti.ndk.config.Global');

/*** This allows the heart beat (poll function) to be created but does not generate the stack threads**
** Look in the cdoc (help files) to see what CfgAddEntry items can be configured. We tell it NOT
** to create any stack threads (services) as we configure those ourselves in our Main Task
** thread hpdspuaStart.
*///Global.enableCodeGeneration = false;

这三行,将main函数改成openmp工程对应的main就可以跑openmp的运算,但是换成最终需要使用的网络main函数时编译显然也过不了,会提示错误:

undefined first referenced
symbol in file ——— —————-
CfgAddEntry ./helloWorld.obj
CfgFree ./helloWorld.obj
CfgNew ./helloWorld.obj
DaemonFree ./helloWorld.obj
NC_NetStart ./helloWorld.obj
NC_SystemClose ./helloWorld.obj
NC_SystemOpen ./helloWorld.obj
NDK_connect ./helloWorld.obj
NDK_recv ./helloWorld.obj
NDK_send ./helloWorld.obj
NDK_setsockopt ./helloWorld.obj
NDK_socket ./helloWorld.obj
_oscfg ./helloWorld.obj
fdClose ./helloWorld.obj
fdCloseSession ./helloWorld.obj
fdError ./helloWorld.obj
fdOpenSession ./helloWorld.obj
inet_addr ./helloWorld.obj

请问ti工程师,这是表示OPENMP库和NDK库有冲突吗?这个问题如何解决?

灰小子:

楼主看看这个资料,看是否有帮助
processors.wiki.ti.com/…/MCSDK_Image_Processing_Demonstration_Guide

Nancy Wang:

单独运行时都是可以的?会不会是合并之后堆栈大小问题引起的程序无法运行的情况。

fei lau:

回复 Nancy Wang:

请问是改tskNdkStackTest.stackSize吗?

fei lau:

回复 Nancy Wang:

为何在工程属性中勾选support openmp,load代码的时候就一直处于running状态?

fei lau:

回复 Nancy Wang:

我看从核1到7停在tomp_dispatch_once和queuepop

赞(0)
未经允许不得转载:TI中文支持网 » c6678 mcsdk的helloworld与openmp目录下的sgemm工程合并之后运行不了。
分享到: 更多 (0)