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

C6678通过Socket与PC机传递数据,只能由core0进行吗?

各位专家、大神,

我的问题如题所述。写了一个程序,C6678作为server,PC作为client,用socket传递图像数据,C6678端在core0端运行正常,但是放到其他核运行全都死在了accept上,就是一直连不上。已经修改了之前的初始化配置,使得qmss_init();cppi_init()两个函数不管是哪个核,都运行。

请问真的是只有core0能运行socket连接吗???急等。

谢谢!

Adam Yao94020:

你要仔细看看核0的代码,看看有没有什么初始化函数是只在核0做的,

另外初始化系统的GEL文件是在哪个核调用的?

Feipng Li:

回复 Adam Yao94020:

你好,

不过我觉得这个跟GEL文件没有关系啊。反正初始化PHY那个步骤(SGMII嘛)都是通过了的。核0里面的程序,我觉得唯一有可能就是SRIO了,但是我去仔细的看,也没发现里面有用到什么东西啊。

其实调试的时候,我只是用仿真器连接了core0,里面并没加程序,然后把之前能在core0上运行的socket程序,加载到其他核,然后运行其他核的时候,就是卡死在了accept上。

我是记得有些外设,初始化必须在core0上做。但是具体使用的话,想socket是不是只能由core0来连就不了解了。

谢谢

Adam Yao94020:

回复 Feipng Li:

理论上外设的初始化和core没有绑定关系,如果core0的代码能初始化,而其他核不能初始化了,很有可能是虚实地址转换的时候对于其他核转换得不正确。

因为core0的虚实地址是一样的,而其他核的虚实地址不一样。

赞(0)
未经允许不得转载:TI中文支持网 » C6678通过Socket与PC机传递数据,只能由core0进行吗?
分享到: 更多 (0)