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

对于6678 NDK例程的疑问

6678 MCSDK中的ndk例程client中,为何程序必需要运行在core0上面。

我看了代码,有如下:

/* Initialize QMSS */
if (platform_get_coreid() == 0)
{
qmss_cfg.master_core = 1;
}
else
{
qmss_cfg.master_core = 0;
}

………………

/* Initialize CPPI */
if (platform_get_coreid() == 0)
{
cppi_cfg.master_core = 1;
}
else
{
cppi_cfg.master_core = 0;
}

为何必须这样初始化cppi和qmss。

Andy Yin1:

这是软件设计core0为master core,master core负责cppi及qmss的初始化,当然你可以修改代码任意core都可以作为master core进行资源初始化。

Yangjie Xie:

回复 Andy Yin1:

/* Initialize QMSS */ if (platform_get_coreid() == 0) { qmss_cfg.master_core = 1; } else { qmss_cfg.master_core = 1; }

…….

/* Initialize CPPI */

if (platform_get_coreid() == 0) { cppi_cfg.master_core = 1; } else {qmss_cfg.master_core = 1; }

我尝试了一下,不论哪一个核,qmss_cfg.master_core、qmss_cfg.master_core均设置为1,最后程序跑在core 1 上,console窗口可以打印出如下信息

[C66xx_1] QMSS successfully initialized CPPI successfully initialized PA successfully initialized

TCP/IP Stack Example ClientPASS successfully initialized Ethernet subsystem successfully initialized Ethernet eventId : 48 and vectId (Interrupt) : 7 Verify_Init: Expected 0 entry count for Queue number = 912, found 1 entriesVerify_Init: Expected 0 entry count for Queue number = 913, found 1 entriesRegistration of the EMAC Successful, waiting for link up ..Network Added: If-1:192.168.2.100Service Status: Telnet : Enabled : : 000Service Status: HTTP : Enabled : : 000

这个我觉得应该就表明DSP正确的运行了例程,但是我用电脑端的echoc进行测试的时候,发现电脑端总是显示echoc:failed connect(100060)的错误,应该就是说没有和DSP端建立socket连接。这是什么原因呢?是不是程序还有其他地方需要修改的地方。因为,我把相同的程序跑在core 0 上就没有任何问题。

赞(0)
未经允许不得转载:TI中文支持网 » 对于6678 NDK例程的疑问
分享到: 更多 (0)