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

c6678 ipc 程序烧录后多核同步无法通过

您好,

           我们是自己的板子上进行多核烧录,我们在norflash的0地址烧录了二次boot程序,在655360地址烧录了应用程序。时钟和DDR的初始化在二次boot程序里做的,然后二次boot程序把应用程序搬进核0,核0通过dma搬移到其他核,然后ipc中断通知。

      八核都起来后,我们首先让核0做一部分数据处理,其他核进入多核同步里,等待核0完成。然后再继续下一步。但是现在烧录进入以后,程序卡在多核同步里了。

   我们的多核同步就是基于ipc例程更改的,现在不知道为啥会卡。我们是通过往ddr某个地址写数来判断的,程序运行到多核同步前写个1,运行完写个2之类的。但是现在到1没到2。请教各位大神!

user4962317:

另外我们的程序如果直接load到板子里跑都是没问题的,所以现在也实在不知道为啥…

user4962317:

回复 user4962317:

再补充一下,我直接烧ipc例程,也是过不了多核通信。

Shine:

回复 user4962317:

请问您是通过notify event来同步到吗?如果是的话,建议直接写IPCGR来同步的。请参考下面的帖子。
e2e.ti.com/…/510108

user4962317:

回复 Shine:

您好,您的链接打开是个错误的网页,能否再发一次?

Shine:

回复 user4962317:

我这边可以啊,直接点链接进去。
e2e.ti.com/…/510108

user4962317:

回复 Shine:

您好,

         我仔细看了您推荐看的帖子,其实我的问题和帖子里的问题是一样的,都是烧录进去以后多核同步失败,但是我们的问题确实都没有得到解决。

        帖子里说notify send event函数要在ipc start以后才能使用,我们的确是在ipc start以后才使用的,我发现我的notifu send event是可以过的,返回的status是0,表示Notify S SUCCESS,但是接下来卡在了Semaphore pend函数里,也就是说虽然我发送了中断,但是各个核并没有收到。

 另外我烧录程序时,确实是通过直接写ipc寄存器来实现的,这个肯定是成功了,因为八核都起来了,只是在之后的多核通信里卡住了。

  我现在想直接用csl函数来替代notify send event,论坛里提供了一个IPC EXAMLE的压缩包例程,是使用csl来做ipc的,但是这个例程我在板子上无法正确运行,也是发不出中断。请问您能再提供一个例子来参考吗?谢谢!

赞(0)
未经允许不得转载:TI中文支持网 » c6678 ipc 程序烧录后多核同步无法通过
分享到: 更多 (0)