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

OMAPL138的arm端运行linux,dsp运行sys/bios,使用ipc,sys/link通信,dsp可以访问arm端的内存空间吗

OMAPL138的arm端运行linux,dsp运行sys/bios,使用ipc,sys/link通信,dsp可以访问arm端的内存空间吗?Arm程序定义一个比较大的缓存(20MB以上)接收pc下传的数据,将此缓存的地址,通过ipc、syslink的消息传输给dsp,DSP可以使用什么方法来访问Arm端的地址空间。由于DSP需要实时40us间隔随机访问该缓存,通过MessageQ等方式无法保证,希望能直接访问Arm内存直接提取所需要的数据。

Shine:

20MB数据的话,可以放在片外DDR2里,ARM准备好数据,发个中断给DSP去处理DDR2里的数据。 

Kevin Le82:

回复 Shine:

通知dsp处理方面没有问题,主要是arm和dsp都带系统,而且dsp端内存比较小,所以才使用arm端接收pc数据,目前问题是dsp端如何访问arm端的地址空间。直接将arm缓存的地址发送给dsp,dsp直接访问该地址应该不可以吧?操作系统都带内存管理的(可能存在物理、虚拟地址转换之类的)

Shine:

回复 Kevin Le82:

不能直接访问。通过SYSLINK, IPC的 sharedregion来访问。

http://processors.wiki.ti.com/index.php/SysLink_UserGuide#SharedRegion

Kevin Le82:

回复 Shine:

我也看到了这个shareRegion,觉得挺适合的,想使用动态的方式,将arm端的buffer添加上去,但是不知道具体怎样操作才能动态添加,使得arm端和dsp端都能访问。请问哪里有具体的例子呢?

Kevin Le82:

回复 Kevin Le82:

omapl138的arm端定义一个全局的变量char buf[20*1024*1024],怎样将buf的地址添加到shareRegion;同时怎样将这个地址(是否需要转换)在DSP端加到shareRegion的entry,然后dsp端怎样使用这个地址,希望有一个具体的例子。

赞(0)
未经允许不得转载:TI中文支持网 » OMAPL138的arm端运行linux,dsp运行sys/bios,使用ipc,sys/link通信,dsp可以访问arm端的内存空间吗
分享到: 更多 (0)