每个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