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

关于arm和dsp通信的例子在dvr-rdk平台下的冲突

我跑的是ARM/DSP/M3通信的DEMO v1/v2版,在DM8148上,停掉dvr-rdk驱动和应用,例子运行就正常。不停,例子就跑不起来。

怀疑是mailbox的冲突,因为demo中用到的是mailbox10/11做通讯用,又试了用mailbox0/1, mailbox2/3 ~~ mailbox8/9,都不行,冲突解决不了。

请问还有可能是其它地方有冲突么?应该怎么解决?

另外我浏览了代码,发现和mailbox number有关的地方如下,是否还有其它地方没有更改到,请帮忙确认:

一个是DM8148_interrupt/main.c 中的line9~11 line17~19,

#define MAILBOX_MESSAGE   (MAILBOX_BASE_ADDR+0x40+0x4*10)

#define MAILBOX_FIFOSTATUS    (MAILBOX_BASE_ADDR+0x80+0x4*10)

#define MAILBOX_MSGSTATUS   (MAILBOX_BASE_ADDR+0xc0+0x4*10)

 

#define MAILBOX_MESSAGE1   (MAILBOX_BASE_ADDR+0x40+0x4*11)

#define MAILBOX_FIFOSTATUS1    (MAILBOX_BASE_ADDR+0x80+0x4*11)

#define MAILBOX_MSGSTATUS1   (MAILBOX_BASE_ADDR+0xc0+0x4*11)

 

一个是mailbox_driver/dsp_mailbox.c中的mailbox_init()的line302~304 line310~312.

MAILBOX_MESSAGE = v_MAILBOX_BASE_ADDR+0x40+0x4*10;

MAILBOX_FIFOSTATUS  = v_MAILBOX_BASE_ADDR+0x80+0x4*10;

         MAILBOX_MSGSTATUS = v_MAILBOX_BASE_ADDR+0xc0+0x4*10;

 

MAILBOX_MESSAGE1 = v_MAILBOX_BASE_ADDR+0x40+0x4*11;

MAILBOX_FIFOSTATUS1  = v_MAILBOX_BASE_ADDR+0x80+0x4*11;

         MAILBOX_MSGSTATUS1 = v_MAILBOX_BASE_ADDR+0xc0+0x4*11;

Chris Meng:

你好,

RDK使用的syslink也使用了mailbox。我建议通过CCS或者是打印,在运行RDK时候读取mailbox的值,看哪些mailbox寄存器被修改了,就可以了解哪些被用了,然后看看是否是使用冲突的问题。

请问你们产品最终是否要使用RDK的架构,如果是,我建议你们用RDK里面有的link来做通信。

赞(0)
未经允许不得转载:TI中文支持网 » 关于arm和dsp通信的例子在dvr-rdk平台下的冲突
分享到: 更多 (0)